aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.classpath10
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.gitignore4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.project40
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.settings/org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguage.prefs28
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/META-INF/MANIFEST.MF21
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/build.properties9
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FAMTerminator.java52
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/Function.java61
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionType.java241
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalArchitectureFactory.java96
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalArchitectureModel.java42
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalArchitecturePackage.java949
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalData.java83
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalElement.java109
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalInput.java42
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalInterface.java73
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalOutput.java42
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/InformationLink.java81
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FAMTerminatorImpl.java196
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionImpl.java191
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalArchitectureFactoryImpl.java213
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalArchitectureModelImpl.java152
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalArchitecturePackageImpl.java574
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalDataImpl.java275
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalElementImpl.java318
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalInputImpl.java165
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalInterfaceImpl.java243
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalOutputImpl.java165
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/InformationLinkImpl.java285
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/util/FunctionalArchitectureAdapterFactory.java265
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/util/FunctionalArchitectureSwitch.java282
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/model/FAM.aird620
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/model/FAM.ecore68
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/model/FAM.genmodel49
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/plugin.properties4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/plugin.xml28
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/queries/hu/bme/mit/inf/dslreasoner/domains/transima/fam/patterns/pattern.vql114
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.classpath10
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.gitignore4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.project40
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF20
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/build.properties5
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/CompositeElement.java42
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Entry.java17
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Pseudostate.java17
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Region.java42
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/RegularState.java17
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/State.java17
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Statechart.java17
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Synchronization.java17
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Transition.java81
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Vertex.java63
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/YakindummFactory.java87
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/YakindummPackage.java840
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/CompositeElementImpl.java152
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/EntryImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/PseudostateImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/RegionImpl.java152
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/RegularStateImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/StateImpl.java183
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/StatechartImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/SynchronizationImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/TransitionImpl.java284
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/VertexImpl.java206
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummFactoryImpl.java150
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummPackageImpl.java428
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/util/YakindummAdapterFactory.java282
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/util/YakindummSwitch.java309
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.aird1167
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.ecore30
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.genmodel31
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindumm class diagram.pdfbin0 -> 105380 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindumm class diagram.svg350
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.properties4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql196
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.classpath9
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.gitignore4
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.project34
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/META-INF/MANIFEST.MF23
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/build.properties10
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/Ecore2logicannotationsFactory.java69
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/Ecore2logicannotationsPackage.java473
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/InverseRelationAssertion.java79
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/LowerMultiplicityAssertion.java49
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/MultiplicityAssertion.java51
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/UpperMultiplicityAssertion.java49
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/Ecore2logicannotationsFactoryImpl.java128
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/Ecore2logicannotationsPackageImpl.java301
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/InverseRelationAssertionImpl.java216
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/LowerMultiplicityAssertionImpl.java162
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/MultiplicityAssertionImpl.java156
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/UpperMultiplicityAssertionImpl.java162
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/util/Ecore2logicannotationsAdapterFactory.java213
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/util/Ecore2logicannotationsSwitch.java216
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.aird527
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.ecore21
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.genmodel22
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/plugin.properties4
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/plugin.xml17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/AttributeMapper.xtend119
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/ContainmentMapper.xtend133
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EClassMapper.xtend53
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EEnumMapper.xtend60
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend154
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/Ecore2Logic.xtend98
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/.classpath11
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/.gitignore4
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/.project40
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/.settings/org.eclipse.incquery.patternlanguage.emf.EMFPatternLanguage.prefs29
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/.settings/org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguage.prefs29
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/META-INF/MANIFEST.MF35
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/build.properties11
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/And.java40
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Assertion.java99
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/AtomicTerm.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/BoolLiteral.java49
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/BoolOperation.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/BoolTypeReference.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/ComplexTypeReference.java49
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Constant.java71
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/ConstantDeclaration.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/ConstantDefinition.java76
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/DefinedElement.java43
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Distinct.java40
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Divison.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Equals.java76
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Exists.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Forall.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Function.java87
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/FunctionDeclaration.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/FunctionDefinition.java94
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/IfThenElse.java103
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Iff.java76
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Impl.java76
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/InstanceOf.java75
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/IntLiteral.java49
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/IntOperation.java76
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/IntTypeReference.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/LessOrEqualThan.java76
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/LessThan.java76
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/LogiclanguageFactory.java393
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/LogiclanguagePackage.java4830
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Minus.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Mod.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/MoreOrEqualThan.java76
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/MoreThan.java76
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Multiply.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Not.java49
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Or.java40
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Plus.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/PrimitiveRelation.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/PrimitiveTypeReference.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/QuantifiedExpression.java67
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RealLiteral.java50
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RealTypeReference.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Relation.java60
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RelationDeclaration.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RelationDefinition.java94
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/SymbolicDeclaration.java48
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/SymbolicValue.java67
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Term.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TermDescription.java18
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Type.java115
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TypeDeclaration.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TypeDefinition.java69
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TypeDescriptor.java18
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TypeReference.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/UnknownBecauseUninterpreted.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Variable.java49
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/AndImpl.java150
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/AssertionImpl.java303
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/AtomicTermImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/BoolLiteralImpl.java162
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/BoolOperationImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/BoolTypeReferenceImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ComplexTypeReferenceImpl.java156
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ConstantDeclarationImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ConstantDefinitionImpl.java236
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ConstantImpl.java233
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/DefinedElementImpl.java161
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/DistinctImpl.java150
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/DivisonImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/EqualsImpl.java241
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ExistsImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ForallImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/FunctionDeclarationImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/FunctionDefinitionImpl.java278
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/FunctionImpl.java273
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IfThenElseImpl.java307
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IffImpl.java241
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ImplImpl.java241
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/InstanceOfImpl.java242
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IntLiteralImpl.java162
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IntOperationImpl.java241
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IntTypeReferenceImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LessOrEqualThanImpl.java241
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LessThanImpl.java241
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LogiclanguageFactoryImpl.java524
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LogiclanguagePackageImpl.java2032
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/MinusImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ModImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/MoreOrEqualThanImpl.java241
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/MoreThanImpl.java241
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/MultiplyImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/NotImpl.java175
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/OrImpl.java150
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/PlusImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/PrimitiveRelationImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/PrimitiveTypeReferenceImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/QuantifiedExpressionImpl.java220
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RealLiteralImpl.java164
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RealTypeReferenceImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RelationDeclarationImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RelationDefinitionImpl.java280
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RelationImpl.java204
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/SymbolicDeclarationImpl.java161
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/SymbolicValueImpl.java214
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TermImpl.java39
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TypeDeclarationImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TypeDefinitionImpl.java225
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TypeImpl.java325
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TypeReferenceImpl.java39
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/UnknownBecauseUninterpretedImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/VariableImpl.java175
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/util/LogiclanguageAdapterFactory.java1092
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/util/LogiclanguageSwitch.java1374
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/Annotation.java18
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/AssertionAnnotation.java52
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/ConstantAnnotation.java52
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/ContainmentHierarchy.java108
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/FunctionAnnotation.java52
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/LogicProblem.java168
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/LogicproblemFactory.java96
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/LogicproblemPackage.java867
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/RelationAnnotation.java52
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/AnnotationImpl.java39
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/AssertionAnnotationImpl.java211
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/ConstantAnnotationImpl.java211
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/ContainmentHierarchyImpl.java270
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/FunctionAnnotationImpl.java211
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/LogicProblemImpl.java411
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/LogicproblemFactoryImpl.java161
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/LogicproblemPackageImpl.java490
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/RelationAnnotationImpl.java211
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/util/LogicproblemAdapterFactory.java228
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/util/LogicproblemSwitch.java240
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/ErrorResult.java49
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/InconsistencyResult.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/InsuficientResourcesResult.java49
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/IntStatisticEntry.java49
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/LogicResult.java124
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/LogicresultFactory.java114
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/LogicresultPackage.java1353
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/ModelResult.java76
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/RealStatisticEntry.java49
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/StatisticEntry.java50
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/Statistics.java126
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/StringStatisticEntry.java50
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/UndecidableResult.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/UnknownResult.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/ErrorResultImpl.java162
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/InconsistencyResultImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/InsuficientResourcesResultImpl.java162
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/IntStatisticEntryImpl.java162
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/LogicResultImpl.java346
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/LogicresultFactoryImpl.java183
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/LogicresultPackageImpl.java602
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/ModelResultImpl.java216
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/RealStatisticEntryImpl.java162
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/StatisticEntryImpl.java163
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/StatisticsImpl.java330
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/StringStatisticEntryImpl.java162
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/UndecidableResultImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/UnknownResultImpl.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/util/LogicresultAdapterFactory.java318
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/util/LogicresultSwitch.java353
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/Types_and_Type_References.pdfbin0 -> 125052 bytes
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/Types_and_Type_References.svg388
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/Constants, Functions and Relations.pngbin0 -> 40680 bytes
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/Types and Type References.pngbin0 -> 22742 bytes
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/logicproblem.pngbin0 -> 26236 bytes
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/logicresult class diagram.pngbin0 -> 27116 bytes
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/neighbourhoodrepresentation class diagram.pngbin0 -> 36296 bytes
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.aird9603
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore203
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.genmodel232
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.aird612
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore49
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logicresult.aird740
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logicresult.ecore55
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/patterns/hu/bme/mit/inf/dslreasoner/logic/model/patterns/typeUtil.vql167
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/plugin.properties4
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/plugin.xml27
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicModelInterpretation.xtend102
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicProblemBuilder.xtend563
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend47
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicStructureBuilder.xtend407
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/TracedLogicProblem.xtend26
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/TracedOutput.xtend6
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/VariableContext.xtend33
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/consistencychecker/TypeConsistencyChecker.xtend75
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2CSV.xtend89
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2Print.xtend23
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/util/CollectionsUtil.xtend82
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/util/LogicProblemBuilder_AdvancedConstructs.xtend71
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/util/SetWithCustomEquivalence.xtend103
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/util/visualisation/Interpretation2Gml.xtend5
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/FileSystemWorkspace.xtend74
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/ProjectWorkspace.xtend105
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/ReasonerWorkspace.xtend100
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.classpath9
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.gitignore4
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.project34
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/META-INF/MANIFEST.MF25
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/build.properties10
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/DefinedByDerivedFeature.java50
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransfomedViatraQuery.java50
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransformedViatraWellformednessConstraint.java50
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsFactory.java60
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsPackage.java343
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/DefinedByDerivedFeatureImpl.java158
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransfomedViatraQueryImpl.java161
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransformedViatraWellformednessConstraintImpl.java158
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsFactoryImpl.java117
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsPackageImpl.java256
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsAdapterFactory.java214
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsSwitch.java207
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.aird394
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.ecore16
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.genmodel16
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/plugin.properties4
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/plugin.xml17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Constraint2Logic.xtend217
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend317
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.classpath11
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.gitignore4
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.project40
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.settings/org.eclipse.incquery.patternlanguage.emf.EMFPatternLanguage.prefs29
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.settings/org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguage.prefs29
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/META-INF/MANIFEST.MF26
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/build.properties10
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/plugin.properties4
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/plugin.xml21
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/queries/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/queries/signatureQueries.vql17
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/queries/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/queries/typeQueries.vql85
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/AlloyAnalyzerConfiguration.xtend32
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/AlloySolver.xtend72
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Alloy2LogicMapper.xtend48
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyHandler.xtend145
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyModelInterpretation.xtend331
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper.xtend467
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapperTrace.xtend49
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_ConstantMapper.xtend43
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_Containment.xtend260
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_FunctionMapper.xtend87
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_RelationMapper.xtend111
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_Support.xtend207
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper.xtend16
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper_FilteredTypes.xtend268
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper_Horizontal.xtend_old428
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper_InheritanceAndHorizontal.xtend50
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/unused/AlloyModelInterpretation.xtend_212
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/unused/FunctionWithTimeout.xtend_40
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/unused/Logic2AlloyApiMapper.xtend_345
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/unused/oldTypes74
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.classpath9
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.gitignore4
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.project34
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/META-INF/MANIFEST.MF27
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/build.properties6
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/plugin.xml398
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/plugin.xml_gen425
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/AlloyLanguageUiModule.java15
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/contentassist/AlloyLanguageProposalProvider.xtend12
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/labeling/AlloyLanguageDescriptionLabelProvider.xtend24
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/labeling/AlloyLanguageLabelProvider.xtend29
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/outline/AlloyLanguageOutlineTreeProvider.xtend13
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/quickfix/AlloyLanguageQuickfixProvider.xtend26
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.classpath9
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.gitignore4
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.launch/Generate Language Infrastructure (hu.bme.mit.inf.dslreasoner.alloy.language).launch18
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.project34
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/META-INF/MANIFEST.MF37
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/build.properties7
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/model/generated/AlloyLanguage.ecore267
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/model/generated/AlloyLanguage.genmodel206
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/plugin.xml16
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/plugin.xml_gen16
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/AlloyLanguage.xtext149
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/AlloyLanguageRuntimeModule.java11
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/AlloyLanguageStandaloneSetup.java16
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/GenerateAlloyLanguage.mwe2133
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/formatting/AlloyLanguageFormatter.xtend96
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/generator/AlloyLanguageGenerator.xtend24
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/scoping/AlloyLanguageScopeProvider.xtend81
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/validation/AlloyLanguageValidator.xtend24
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.classpath9
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.gitignore4
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.project34
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/META-INF/MANIFEST.MF27
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/build.properties6
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/plugin.xml398
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/plugin.xml_gen398
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/SmtLanguageUiModule.java15
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/contentassist/SmtLanguageProposalProvider.xtend12
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/labeling/SmtLanguageDescriptionLabelProvider.xtend24
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/labeling/SmtLanguageLabelProvider.xtend29
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/outline/SmtLanguageOutlineTreeProvider.xtend13
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/quickfix/SmtLanguageQuickfixProvider.xtend26
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.classpath9
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.gitignore4
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.launch/Generate Language Infrastructure (hu.bme.mit.inf.dslreasoner.smt.language).launch17
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.project34
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/META-INF/MANIFEST.MF37
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/build.properties7
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/model/generated/SmtLanguage.ecore304
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/model/generated/SmtLanguage.genmodel238
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/plugin.xml16
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/plugin.xml_gen16
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/GenerateSmtLanguage.mwe2133
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/SmtLanguage.xtext222
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/SmtLanguageRuntimeModule.java11
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/SmtLanguageStandaloneSetup.java16
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/formatting/SmtLanguageFormatter.xtend34
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/generator/SmtLanguageGenerator.xtend24
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/scoping/SmtLanguageScopeProvider.xtend138
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/validation/SmtLanguageValidator.xtend24
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/.classpath8
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/.gitignore4
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/.project34
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/META-INF/MANIFEST.MF12
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/build.properties5
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SMT_TypeMapperInterpretation.xtend36
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapper.xtend1055
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapperTrace.xtend23
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapper_UnfoldingSupport.xtend33
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper.xtend38
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypes.xtend501
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypesSimple.xtend_463
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_Horizontal.xtend63
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/SMTSolver.xtend49
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Smt2LogicMapper.xtend71
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/SmtModelInterpretation.xtend167
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/SmtSolverConfiguration.xtend9
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/TransformedSubterm.xtend183
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/TypeDescriptor.xtend44
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/builder/SmtModelQueryEngine.xtend314
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/builder/SmtSolverHandler.xtend64
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.classpath11
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.gitignore4
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.project40
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.settings/org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguage.prefs27
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/META-INF/MANIFEST.MF26
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/build.properties9
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/patterns/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/queries/TypeAnalysis.vql223
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/plugin.xml14
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/Modality.java22
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/ModelGenerationMethodProvider.xtend78
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/MultiplicityGoalConstraintCalculator.xtend46
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/TypeAnalysis.xtend92
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/ContainmentIndexer.xtend41
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend194
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeRefinementGenerator.xtend102
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/InvalidIndexer.xtend53
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternGenerator.xtend244
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternProvider.xtend96
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RelationDeclarationIndexer.xtend154
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RelationDefinitionIndexer.xtend185
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RelationRefinementGenerator.xtend93
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RepairGenerator.xtend18
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexer.xtend16
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexerWithPreliminaryTypeAnalysis.xtend97
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeRefinementGenerator.xtend95
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeRefinementWithPreliminaryTypeAnalysis.xtend105
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/UnfinishedIndexer.xtend85
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/GoalConstraintProvider.xtend18
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend209
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend89
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/.classpath8
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/.gitignore4
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/.project34
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/META-INF/MANIFEST.MF15
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/build.properties4
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/InstanceModel2Logic.xtend21
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/InstanceModel2PartialInterpretation.xtend130
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/PartialInterpretation2Logic.xtend146
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.classpath9
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.gitignore2
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.project34
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/META-INF/MANIFEST.MF27
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/build.properties10
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/BinaryElementRelationLink.java77
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/NaryRelationLink.java40
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/NaryRelationLinkElement.java50
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialConstantInterpretation.java52
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialFunctionInterpretation.java52
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialInterpretation.java251
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialRelationInterpretation.java126
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialTypeInterpratation.java88
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialinterpretationFactory.java114
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialinterpretationPackage.java1237
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/RelationLink.java18
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/UnaryElementRelationLink.java50
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/BinaryElementRelationLinkImpl.java217
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/NaryRelationLinkElementImpl.java163
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/NaryRelationLinkImpl.java150
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialConstantInterpretationImpl.java158
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialFunctionInterpretationImpl.java158
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialInterpretationImpl.java619
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialRelationInterpretationImpl.java337
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialTypeInterpratationImpl.java231
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationFactoryImpl.java183
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationPackageImpl.java635
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/RelationLinkImpl.java39
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/UnaryElementRelationLinkImpl.java157
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/util/PartialinterpretationAdapterFactory.java282
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/util/PartialinterpretationSwitch.java302
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.aird2710
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.ecore76
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.genmodel49
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/plugin.properties4
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/plugin.xml17
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend112
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Descriptor.xtend214
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/FurtherNodeDescriptorWithEquivalenceCounter.xtend16
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/NeighbourhoodWithTraces.xtend11
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend25
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2ImmutableTypeLattice.xtend24
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2ImmutableTypeLatticeWithEquivalenceCounter.xtend56
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2NeighbourhoodRepresentation.xtend345
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/IdentifierBasedStateCoderFactory.xtend129
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend206
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/visualisation/PartialInterpretation2Gml.xtend136
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/.classpath9
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/.gitignore2
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/.project34
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/META-INF/MANIFEST.MF23
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/build.properties5
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ModelGenerationMethodBasedGlobalConstraint.xtend11
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend205
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend42
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/diversity/StateCodeCoverageComparator.xtend8
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java372
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ModelGenerationCompositeObjective.xtend85
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend30
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ScopeObjective.xtend41
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionStoreWithCopy.xtend35
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionStoreWithDiversityDescriptor.xtend77
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedMultiplicityObjective.xtend37
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedWFObjective.xtend56
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/WF2ObjectiveConverter.xtend36
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.run/.gitignore4
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.run/.project34
574 files changed, 87983 insertions, 0 deletions
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.classpath b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.classpath
new file mode 100644
index 00000000..0271bab1
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.classpath
@@ -0,0 +1,10 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="ecore-gen"/>
4 <classpathentry kind="src" path="queries"/>
5 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
6 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
7 <classpathentry kind="src" path="src"/>
8 <classpathentry kind="src" path="src-gen/"/>
9 <classpathentry kind="output" path="bin"/>
10</classpath>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.gitignore
new file mode 100644
index 00000000..8ae4e44d
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.gitignore
@@ -0,0 +1,4 @@
1/bin/
2/src-gen/
3/vql-gen/
4/xtend-gen/
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.project b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.project
new file mode 100644
index 00000000..112eddf3
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.project
@@ -0,0 +1,40 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.domains.transima.fam</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.viatra.query.tooling.ui.projectbuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.jdt.core.javabuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.ManifestBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 <buildCommand>
29 <name>org.eclipse.pde.SchemaBuilder</name>
30 <arguments>
31 </arguments>
32 </buildCommand>
33 </buildSpec>
34 <natures>
35 <nature>org.eclipse.pde.PluginNature</nature>
36 <nature>org.eclipse.jdt.core.javanature</nature>
37 <nature>org.eclipse.viatra.query.projectnature</nature>
38 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
39 </natures>
40</projectDescription>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.settings/org.eclipse.jdt.core.prefs b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.settings/org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguage.prefs b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.settings/org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguage.prefs
new file mode 100644
index 00000000..0416e0e4
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/.settings/org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguage.prefs
@@ -0,0 +1,28 @@
1BuilderConfiguration.is_project_specific=true
2autobuilding=true
3eclipse.preferences.version=1
4generateGeneratedAnnotation=false
5generateSuppressWarnings=true
6generatedAnnotationComment=
7includeDateInGenerated=false
8org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguage.useProjectSettings=true
9outlet.DEFAULT_OUTPUT.cleanDirectory=false
10outlet.DEFAULT_OUTPUT.cleanupDerived=true
11outlet.DEFAULT_OUTPUT.createDirectory=true
12outlet.DEFAULT_OUTPUT.derived=true
13outlet.DEFAULT_OUTPUT.directory=./src-gen
14outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
15outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
16outlet.DEFAULT_OUTPUT.keepLocalHistory=true
17outlet.DEFAULT_OUTPUT.override=true
18outlet.DEFAULT_OUTPUT.sourceFolder.ecore-gen.directory=
19outlet.DEFAULT_OUTPUT.sourceFolder.ecore-gen.ignore=
20outlet.DEFAULT_OUTPUT.sourceFolder.queries.directory=
21outlet.DEFAULT_OUTPUT.sourceFolder.queries.ignore=
22outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=
23outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.ignore=
24outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=
25outlet.DEFAULT_OUTPUT.sourceFolder.src.ignore=
26outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=
27targetJavaVersion=JAVA5
28useJavaCompilerCompliance=true
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/META-INF/MANIFEST.MF b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..84fd9aac
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: %pluginName
4Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.domains.transima.fam;singleton:=true
5Bundle-Version: 1.0.0.qualifier
6Bundle-ClassPath: .
7Bundle-Vendor: %providerName
8Bundle-Localization: plugin
9Export-Package: hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture,
10 hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl,
11 hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.util,
12 hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns,
13 hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.util
14Require-Bundle: org.eclipse.viatra.addon.querybasedfeatures.runtime,
15 org.eclipse.viatra.query.runtime,
16 org.eclipse.core.runtime,
17 org.eclipse.emf.ecore;visibility:=reexport,
18 com.google.guava;bundle-version="15.0.0"
19Bundle-RequiredExecutionEnvironment: JavaSE-1.8
20Bundle-ActivationPolicy: lazy
21Import-Package: org.apache.log4j
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/build.properties b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/build.properties
new file mode 100644
index 00000000..447f580d
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/build.properties
@@ -0,0 +1,9 @@
1bin.includes = .,\
2 model/,\
3 META-INF/,\
4 plugin.xml,\
5 plugin.properties
6jars.compile.order = .
7source.. = ecore-gen/,\
8 src-gen/
9output.. = bin/
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FAMTerminator.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FAMTerminator.java
new file mode 100644
index 00000000..c573d14e
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FAMTerminator.java
@@ -0,0 +1,52 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>FAM Terminator</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FAMTerminator#getData <em>Data</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFAMTerminator()
20 * @model
21 * @generated
22 */
23public interface FAMTerminator extends EObject {
24 /**
25 * Returns the value of the '<em><b>Data</b></em>' container reference.
26 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData#getTerminator <em>Terminator</em>}'.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Data</em>' container reference isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Data</em>' container reference.
34 * @see #setData(FunctionalData)
35 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFAMTerminator_Data()
36 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData#getTerminator
37 * @model opposite="terminator" transient="false"
38 * @generated
39 */
40 FunctionalData getData();
41
42 /**
43 * Sets the value of the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FAMTerminator#getData <em>Data</em>}' container reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Data</em>' container reference.
47 * @see #getData()
48 * @generated
49 */
50 void setData(FunctionalData value);
51
52} // FAMTerminator
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/Function.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/Function.java
new file mode 100644
index 00000000..52c4bcd2
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/Function.java
@@ -0,0 +1,61 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Function</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.Function#getSubElements <em>Sub Elements</em>}</li>
17 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.Function#getType <em>Type</em>}</li>
18 * </ul>
19 *
20 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunction()
21 * @model
22 * @generated
23 */
24public interface Function extends FunctionalElement {
25 /**
26 * Returns the value of the '<em><b>Sub Elements</b></em>' containment reference list.
27 * The list contents are of type {@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement}.
28 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement#getParent <em>Parent</em>}'.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Sub Elements</em>' containment reference list isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Sub Elements</em>' containment reference list.
36 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunction_SubElements()
37 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement#getParent
38 * @model opposite="parent" containment="true"
39 * @generated
40 */
41 EList<FunctionalElement> getSubElements();
42
43 /**
44 * Returns the value of the '<em><b>Type</b></em>' attribute.
45 * The literals are from the enumeration {@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionType}.
46 * <!-- begin-user-doc -->
47 * <p>
48 * If the meaning of the '<em>Type</em>' attribute isn't clear,
49 * there really should be more of a description here...
50 * </p>
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Type</em>' attribute.
53 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionType
54 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunction_Type()
55 * @model required="true" transient="true" changeable="false" volatile="true" derived="true"
56 * annotation="org.eclipse.viatra.query.querybasedfeature patternFQN='hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.type'"
57 * @generated
58 */
59 FunctionType getType();
60
61} // Function
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionType.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionType.java
new file mode 100644
index 00000000..e0bee9bc
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionType.java
@@ -0,0 +1,241 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture;
4
5import java.util.Arrays;
6import java.util.Collections;
7import java.util.List;
8
9import org.eclipse.emf.common.util.Enumerator;
10
11/**
12 * <!-- begin-user-doc -->
13 * A representation of the literals of the enumeration '<em><b>Function Type</b></em>',
14 * and utility methods for working with them.
15 * <!-- end-user-doc -->
16 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunctionType()
17 * @model
18 * @generated
19 */
20public enum FunctionType implements Enumerator {
21 /**
22 * The '<em><b>Root</b></em>' literal object.
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @see #ROOT_VALUE
26 * @generated
27 * @ordered
28 */
29 ROOT(0, "Root", "Root"),
30
31 /**
32 * The '<em><b>Intermediate</b></em>' literal object.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #INTERMEDIATE_VALUE
36 * @generated
37 * @ordered
38 */
39 INTERMEDIATE(1, "Intermediate", "Intermediate"),
40
41 /**
42 * The '<em><b>Leaf</b></em>' literal object.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #LEAF_VALUE
46 * @generated
47 * @ordered
48 */
49 LEAF(2, "Leaf", "Leaf");
50
51 /**
52 * The '<em><b>Root</b></em>' literal value.
53 * <!-- begin-user-doc -->
54 * <p>
55 * If the meaning of '<em><b>Root</b></em>' literal object isn't clear,
56 * there really should be more of a description here...
57 * </p>
58 * <!-- end-user-doc -->
59 * @see #ROOT
60 * @model name="Root"
61 * @generated
62 * @ordered
63 */
64 public static final int ROOT_VALUE = 0;
65
66 /**
67 * The '<em><b>Intermediate</b></em>' literal value.
68 * <!-- begin-user-doc -->
69 * <p>
70 * If the meaning of '<em><b>Intermediate</b></em>' literal object isn't clear,
71 * there really should be more of a description here...
72 * </p>
73 * <!-- end-user-doc -->
74 * @see #INTERMEDIATE
75 * @model name="Intermediate"
76 * @generated
77 * @ordered
78 */
79 public static final int INTERMEDIATE_VALUE = 1;
80
81 /**
82 * The '<em><b>Leaf</b></em>' literal value.
83 * <!-- begin-user-doc -->
84 * <p>
85 * If the meaning of '<em><b>Leaf</b></em>' literal object isn't clear,
86 * there really should be more of a description here...
87 * </p>
88 * <!-- end-user-doc -->
89 * @see #LEAF
90 * @model name="Leaf"
91 * @generated
92 * @ordered
93 */
94 public static final int LEAF_VALUE = 2;
95
96 /**
97 * An array of all the '<em><b>Function Type</b></em>' enumerators.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 private static final FunctionType[] VALUES_ARRAY =
103 new FunctionType[] {
104 ROOT,
105 INTERMEDIATE,
106 LEAF,
107 };
108
109 /**
110 * A public read-only list of all the '<em><b>Function Type</b></em>' enumerators.
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 public static final List<FunctionType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
116
117 /**
118 * Returns the '<em><b>Function Type</b></em>' literal with the specified literal value.
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @param literal the literal.
122 * @return the matching enumerator or <code>null</code>.
123 * @generated
124 */
125 public static FunctionType get(String literal) {
126 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
127 FunctionType result = VALUES_ARRAY[i];
128 if (result.toString().equals(literal)) {
129 return result;
130 }
131 }
132 return null;
133 }
134
135 /**
136 * Returns the '<em><b>Function Type</b></em>' literal with the specified name.
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @param name the name.
140 * @return the matching enumerator or <code>null</code>.
141 * @generated
142 */
143 public static FunctionType getByName(String name) {
144 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
145 FunctionType result = VALUES_ARRAY[i];
146 if (result.getName().equals(name)) {
147 return result;
148 }
149 }
150 return null;
151 }
152
153 /**
154 * Returns the '<em><b>Function Type</b></em>' literal with the specified integer value.
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @param value the integer value.
158 * @return the matching enumerator or <code>null</code>.
159 * @generated
160 */
161 public static FunctionType get(int value) {
162 switch (value) {
163 case ROOT_VALUE: return ROOT;
164 case INTERMEDIATE_VALUE: return INTERMEDIATE;
165 case LEAF_VALUE: return LEAF;
166 }
167 return null;
168 }
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 private final int value;
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 private final String name;
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 private final String literal;
190
191 /**
192 * Only this class can construct instances.
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 private FunctionType(int value, String name, String literal) {
198 this.value = value;
199 this.name = name;
200 this.literal = literal;
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 public int getValue() {
209 return value;
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 public String getName() {
218 return name;
219 }
220
221 /**
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 */
226 public String getLiteral() {
227 return literal;
228 }
229
230 /**
231 * Returns the literal value of the enumerator, which is its string representation.
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public String toString() {
238 return literal;
239 }
240
241} //FunctionType
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalArchitectureFactory.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalArchitectureFactory.java
new file mode 100644
index 00000000..8eac8435
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalArchitectureFactory.java
@@ -0,0 +1,96 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture;
4
5import org.eclipse.emf.ecore.EFactory;
6
7/**
8 * <!-- begin-user-doc -->
9 * The <b>Factory</b> for the model.
10 * It provides a create method for each non-abstract class of the model.
11 * <!-- end-user-doc -->
12 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage
13 * @generated
14 */
15public interface FunctionalArchitectureFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 FunctionalArchitectureFactory eINSTANCE = hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitectureFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>Model</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>Model</em>'.
29 * @generated
30 */
31 FunctionalArchitectureModel createFunctionalArchitectureModel();
32
33 /**
34 * Returns a new object of class '<em>Function</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Function</em>'.
38 * @generated
39 */
40 Function createFunction();
41
42 /**
43 * Returns a new object of class '<em>FAM Terminator</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>FAM Terminator</em>'.
47 * @generated
48 */
49 FAMTerminator createFAMTerminator();
50
51 /**
52 * Returns a new object of class '<em>Information Link</em>'.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return a new object of class '<em>Information Link</em>'.
56 * @generated
57 */
58 InformationLink createInformationLink();
59
60 /**
61 * Returns a new object of class '<em>Functional Interface</em>'.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return a new object of class '<em>Functional Interface</em>'.
65 * @generated
66 */
67 FunctionalInterface createFunctionalInterface();
68
69 /**
70 * Returns a new object of class '<em>Functional Input</em>'.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @return a new object of class '<em>Functional Input</em>'.
74 * @generated
75 */
76 FunctionalInput createFunctionalInput();
77
78 /**
79 * Returns a new object of class '<em>Functional Output</em>'.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @return a new object of class '<em>Functional Output</em>'.
83 * @generated
84 */
85 FunctionalOutput createFunctionalOutput();
86
87 /**
88 * Returns the package supported by this factory.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @return the package supported by this factory.
92 * @generated
93 */
94 FunctionalArchitecturePackage getFunctionalArchitecturePackage();
95
96} //FunctionalArchitectureFactory
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalArchitectureModel.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalArchitectureModel.java
new file mode 100644
index 00000000..d786d403
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalArchitectureModel.java
@@ -0,0 +1,42 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Model</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitectureModel#getRootElements <em>Root Elements</em>}</li>
19 * </ul>
20 *
21 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunctionalArchitectureModel()
22 * @model
23 * @generated
24 */
25public interface FunctionalArchitectureModel extends EObject {
26 /**
27 * Returns the value of the '<em><b>Root Elements</b></em>' containment reference list.
28 * The list contents are of type {@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement}.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Root Elements</em>' containment reference list isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Root Elements</em>' containment reference list.
36 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunctionalArchitectureModel_RootElements()
37 * @model containment="true"
38 * @generated
39 */
40 EList<FunctionalElement> getRootElements();
41
42} // FunctionalArchitectureModel
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalArchitecturePackage.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalArchitecturePackage.java
new file mode 100644
index 00000000..41e64cb4
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalArchitecturePackage.java
@@ -0,0 +1,949 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture;
4
5import org.eclipse.emf.ecore.EAttribute;
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EEnum;
8import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.EReference;
10
11/**
12 * <!-- begin-user-doc -->
13 * The <b>Package</b> for the model.
14 * It contains accessors for the meta objects to represent
15 * <ul>
16 * <li>each class,</li>
17 * <li>each feature of each class,</li>
18 * <li>each enum,</li>
19 * <li>and each data type</li>
20 * </ul>
21 * <!-- end-user-doc -->
22 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitectureFactory
23 * @model kind="package"
24 * annotation="http://www.eclipse.org/emf/2002/Ecore settingDelegates='org.eclipse.viatra.query.querybasedfeature'"
25 * @generated
26 */
27public interface FunctionalArchitecturePackage extends EPackage {
28 /**
29 * The package name.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 String eNAME = "FunctionalArchitecture";
35
36 /**
37 * The package namespace URI.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @generated
41 */
42 String eNS_URI = "FAM";
43
44 /**
45 * The package namespace name.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 String eNS_PREFIX = "fam";
51
52 /**
53 * The singleton instance of the package.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 FunctionalArchitecturePackage eINSTANCE = hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl.init();
59
60 /**
61 * The meta object id for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalElementImpl <em>Functional Element</em>}' class.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalElementImpl
65 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFunctionalElement()
66 * @generated
67 */
68 int FUNCTIONAL_ELEMENT = 0;
69
70 /**
71 * The feature id for the '<em><b>Interface</b></em>' containment reference.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 * @ordered
76 */
77 int FUNCTIONAL_ELEMENT__INTERFACE = 0;
78
79 /**
80 * The feature id for the '<em><b>Model</b></em>' reference.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 * @ordered
85 */
86 int FUNCTIONAL_ELEMENT__MODEL = 1;
87
88 /**
89 * The feature id for the '<em><b>Parent</b></em>' container reference.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 * @ordered
94 */
95 int FUNCTIONAL_ELEMENT__PARENT = 2;
96
97 /**
98 * The number of structural features of the '<em>Functional Element</em>' class.
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 * @ordered
103 */
104 int FUNCTIONAL_ELEMENT_FEATURE_COUNT = 3;
105
106 /**
107 * The meta object id for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitectureModelImpl <em>Model</em>}' class.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitectureModelImpl
111 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFunctionalArchitectureModel()
112 * @generated
113 */
114 int FUNCTIONAL_ARCHITECTURE_MODEL = 1;
115
116 /**
117 * The feature id for the '<em><b>Root Elements</b></em>' containment reference list.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 * @ordered
122 */
123 int FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS = 0;
124
125 /**
126 * The number of structural features of the '<em>Model</em>' class.
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 * @ordered
131 */
132 int FUNCTIONAL_ARCHITECTURE_MODEL_FEATURE_COUNT = 1;
133
134 /**
135 * The meta object id for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionImpl <em>Function</em>}' class.
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionImpl
139 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFunction()
140 * @generated
141 */
142 int FUNCTION = 2;
143
144 /**
145 * The feature id for the '<em><b>Interface</b></em>' containment reference.
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 * @ordered
150 */
151 int FUNCTION__INTERFACE = FUNCTIONAL_ELEMENT__INTERFACE;
152
153 /**
154 * The feature id for the '<em><b>Model</b></em>' reference.
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 * @ordered
159 */
160 int FUNCTION__MODEL = FUNCTIONAL_ELEMENT__MODEL;
161
162 /**
163 * The feature id for the '<em><b>Parent</b></em>' container reference.
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 * @ordered
168 */
169 int FUNCTION__PARENT = FUNCTIONAL_ELEMENT__PARENT;
170
171 /**
172 * The feature id for the '<em><b>Sub Elements</b></em>' containment reference list.
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 * @ordered
177 */
178 int FUNCTION__SUB_ELEMENTS = FUNCTIONAL_ELEMENT_FEATURE_COUNT + 0;
179
180 /**
181 * The feature id for the '<em><b>Type</b></em>' attribute.
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 * @ordered
186 */
187 int FUNCTION__TYPE = FUNCTIONAL_ELEMENT_FEATURE_COUNT + 1;
188
189 /**
190 * The number of structural features of the '<em>Function</em>' class.
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 * @ordered
195 */
196 int FUNCTION_FEATURE_COUNT = FUNCTIONAL_ELEMENT_FEATURE_COUNT + 2;
197
198 /**
199 * The meta object id for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FAMTerminatorImpl <em>FAM Terminator</em>}' class.
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FAMTerminatorImpl
203 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFAMTerminator()
204 * @generated
205 */
206 int FAM_TERMINATOR = 3;
207
208 /**
209 * The feature id for the '<em><b>Data</b></em>' container reference.
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 * @ordered
214 */
215 int FAM_TERMINATOR__DATA = 0;
216
217 /**
218 * The number of structural features of the '<em>FAM Terminator</em>' class.
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 * @ordered
223 */
224 int FAM_TERMINATOR_FEATURE_COUNT = 1;
225
226 /**
227 * The meta object id for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.InformationLinkImpl <em>Information Link</em>}' class.
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.InformationLinkImpl
231 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getInformationLink()
232 * @generated
233 */
234 int INFORMATION_LINK = 4;
235
236 /**
237 * The feature id for the '<em><b>From</b></em>' container reference.
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @generated
241 * @ordered
242 */
243 int INFORMATION_LINK__FROM = 0;
244
245 /**
246 * The feature id for the '<em><b>To</b></em>' reference.
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 * @ordered
251 */
252 int INFORMATION_LINK__TO = 1;
253
254 /**
255 * The number of structural features of the '<em>Information Link</em>' class.
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 * @ordered
260 */
261 int INFORMATION_LINK_FEATURE_COUNT = 2;
262
263 /**
264 * The meta object id for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalInterfaceImpl <em>Functional Interface</em>}' class.
265 * <!-- begin-user-doc -->
266 * <!-- end-user-doc -->
267 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalInterfaceImpl
268 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFunctionalInterface()
269 * @generated
270 */
271 int FUNCTIONAL_INTERFACE = 5;
272
273 /**
274 * The feature id for the '<em><b>Data</b></em>' containment reference list.
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @generated
278 * @ordered
279 */
280 int FUNCTIONAL_INTERFACE__DATA = 0;
281
282 /**
283 * The feature id for the '<em><b>Element</b></em>' container reference.
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 * @ordered
288 */
289 int FUNCTIONAL_INTERFACE__ELEMENT = 1;
290
291 /**
292 * The number of structural features of the '<em>Functional Interface</em>' class.
293 * <!-- begin-user-doc -->
294 * <!-- end-user-doc -->
295 * @generated
296 * @ordered
297 */
298 int FUNCTIONAL_INTERFACE_FEATURE_COUNT = 2;
299
300 /**
301 * The meta object id for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalDataImpl <em>Functional Data</em>}' class.
302 * <!-- begin-user-doc -->
303 * <!-- end-user-doc -->
304 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalDataImpl
305 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFunctionalData()
306 * @generated
307 */
308 int FUNCTIONAL_DATA = 8;
309
310 /**
311 * The feature id for the '<em><b>Terminator</b></em>' containment reference.
312 * <!-- begin-user-doc -->
313 * <!-- end-user-doc -->
314 * @generated
315 * @ordered
316 */
317 int FUNCTIONAL_DATA__TERMINATOR = 0;
318
319 /**
320 * The feature id for the '<em><b>Interface</b></em>' container reference.
321 * <!-- begin-user-doc -->
322 * <!-- end-user-doc -->
323 * @generated
324 * @ordered
325 */
326 int FUNCTIONAL_DATA__INTERFACE = 1;
327
328 /**
329 * The number of structural features of the '<em>Functional Data</em>' class.
330 * <!-- begin-user-doc -->
331 * <!-- end-user-doc -->
332 * @generated
333 * @ordered
334 */
335 int FUNCTIONAL_DATA_FEATURE_COUNT = 2;
336
337 /**
338 * The meta object id for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalInputImpl <em>Functional Input</em>}' class.
339 * <!-- begin-user-doc -->
340 * <!-- end-user-doc -->
341 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalInputImpl
342 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFunctionalInput()
343 * @generated
344 */
345 int FUNCTIONAL_INPUT = 6;
346
347 /**
348 * The feature id for the '<em><b>Terminator</b></em>' containment reference.
349 * <!-- begin-user-doc -->
350 * <!-- end-user-doc -->
351 * @generated
352 * @ordered
353 */
354 int FUNCTIONAL_INPUT__TERMINATOR = FUNCTIONAL_DATA__TERMINATOR;
355
356 /**
357 * The feature id for the '<em><b>Interface</b></em>' container reference.
358 * <!-- begin-user-doc -->
359 * <!-- end-user-doc -->
360 * @generated
361 * @ordered
362 */
363 int FUNCTIONAL_INPUT__INTERFACE = FUNCTIONAL_DATA__INTERFACE;
364
365 /**
366 * The feature id for the '<em><b>Incoming Links</b></em>' reference list.
367 * <!-- begin-user-doc -->
368 * <!-- end-user-doc -->
369 * @generated
370 * @ordered
371 */
372 int FUNCTIONAL_INPUT__INCOMING_LINKS = FUNCTIONAL_DATA_FEATURE_COUNT + 0;
373
374 /**
375 * The number of structural features of the '<em>Functional Input</em>' class.
376 * <!-- begin-user-doc -->
377 * <!-- end-user-doc -->
378 * @generated
379 * @ordered
380 */
381 int FUNCTIONAL_INPUT_FEATURE_COUNT = FUNCTIONAL_DATA_FEATURE_COUNT + 1;
382
383 /**
384 * The meta object id for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalOutputImpl <em>Functional Output</em>}' class.
385 * <!-- begin-user-doc -->
386 * <!-- end-user-doc -->
387 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalOutputImpl
388 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFunctionalOutput()
389 * @generated
390 */
391 int FUNCTIONAL_OUTPUT = 7;
392
393 /**
394 * The feature id for the '<em><b>Terminator</b></em>' containment reference.
395 * <!-- begin-user-doc -->
396 * <!-- end-user-doc -->
397 * @generated
398 * @ordered
399 */
400 int FUNCTIONAL_OUTPUT__TERMINATOR = FUNCTIONAL_DATA__TERMINATOR;
401
402 /**
403 * The feature id for the '<em><b>Interface</b></em>' container reference.
404 * <!-- begin-user-doc -->
405 * <!-- end-user-doc -->
406 * @generated
407 * @ordered
408 */
409 int FUNCTIONAL_OUTPUT__INTERFACE = FUNCTIONAL_DATA__INTERFACE;
410
411 /**
412 * The feature id for the '<em><b>Outgoing Links</b></em>' containment reference list.
413 * <!-- begin-user-doc -->
414 * <!-- end-user-doc -->
415 * @generated
416 * @ordered
417 */
418 int FUNCTIONAL_OUTPUT__OUTGOING_LINKS = FUNCTIONAL_DATA_FEATURE_COUNT + 0;
419
420 /**
421 * The number of structural features of the '<em>Functional Output</em>' class.
422 * <!-- begin-user-doc -->
423 * <!-- end-user-doc -->
424 * @generated
425 * @ordered
426 */
427 int FUNCTIONAL_OUTPUT_FEATURE_COUNT = FUNCTIONAL_DATA_FEATURE_COUNT + 1;
428
429 /**
430 * The meta object id for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionType <em>Function Type</em>}' enum.
431 * <!-- begin-user-doc -->
432 * <!-- end-user-doc -->
433 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionType
434 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFunctionType()
435 * @generated
436 */
437 int FUNCTION_TYPE = 9;
438
439
440 /**
441 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement <em>Functional Element</em>}'.
442 * <!-- begin-user-doc -->
443 * <!-- end-user-doc -->
444 * @return the meta object for class '<em>Functional Element</em>'.
445 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement
446 * @generated
447 */
448 EClass getFunctionalElement();
449
450 /**
451 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement#getInterface <em>Interface</em>}'.
452 * <!-- begin-user-doc -->
453 * <!-- end-user-doc -->
454 * @return the meta object for the containment reference '<em>Interface</em>'.
455 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement#getInterface()
456 * @see #getFunctionalElement()
457 * @generated
458 */
459 EReference getFunctionalElement_Interface();
460
461 /**
462 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement#getModel <em>Model</em>}'.
463 * <!-- begin-user-doc -->
464 * <!-- end-user-doc -->
465 * @return the meta object for the reference '<em>Model</em>'.
466 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement#getModel()
467 * @see #getFunctionalElement()
468 * @generated
469 */
470 EReference getFunctionalElement_Model();
471
472 /**
473 * Returns the meta object for the container reference '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement#getParent <em>Parent</em>}'.
474 * <!-- begin-user-doc -->
475 * <!-- end-user-doc -->
476 * @return the meta object for the container reference '<em>Parent</em>'.
477 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement#getParent()
478 * @see #getFunctionalElement()
479 * @generated
480 */
481 EReference getFunctionalElement_Parent();
482
483 /**
484 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitectureModel <em>Model</em>}'.
485 * <!-- begin-user-doc -->
486 * <!-- end-user-doc -->
487 * @return the meta object for class '<em>Model</em>'.
488 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitectureModel
489 * @generated
490 */
491 EClass getFunctionalArchitectureModel();
492
493 /**
494 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitectureModel#getRootElements <em>Root Elements</em>}'.
495 * <!-- begin-user-doc -->
496 * <!-- end-user-doc -->
497 * @return the meta object for the containment reference list '<em>Root Elements</em>'.
498 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitectureModel#getRootElements()
499 * @see #getFunctionalArchitectureModel()
500 * @generated
501 */
502 EReference getFunctionalArchitectureModel_RootElements();
503
504 /**
505 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.Function <em>Function</em>}'.
506 * <!-- begin-user-doc -->
507 * <!-- end-user-doc -->
508 * @return the meta object for class '<em>Function</em>'.
509 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.Function
510 * @generated
511 */
512 EClass getFunction();
513
514 /**
515 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.Function#getSubElements <em>Sub Elements</em>}'.
516 * <!-- begin-user-doc -->
517 * <!-- end-user-doc -->
518 * @return the meta object for the containment reference list '<em>Sub Elements</em>'.
519 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.Function#getSubElements()
520 * @see #getFunction()
521 * @generated
522 */
523 EReference getFunction_SubElements();
524
525 /**
526 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.Function#getType <em>Type</em>}'.
527 * <!-- begin-user-doc -->
528 * <!-- end-user-doc -->
529 * @return the meta object for the attribute '<em>Type</em>'.
530 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.Function#getType()
531 * @see #getFunction()
532 * @generated
533 */
534 EAttribute getFunction_Type();
535
536 /**
537 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FAMTerminator <em>FAM Terminator</em>}'.
538 * <!-- begin-user-doc -->
539 * <!-- end-user-doc -->
540 * @return the meta object for class '<em>FAM Terminator</em>'.
541 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FAMTerminator
542 * @generated
543 */
544 EClass getFAMTerminator();
545
546 /**
547 * Returns the meta object for the container reference '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FAMTerminator#getData <em>Data</em>}'.
548 * <!-- begin-user-doc -->
549 * <!-- end-user-doc -->
550 * @return the meta object for the container reference '<em>Data</em>'.
551 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FAMTerminator#getData()
552 * @see #getFAMTerminator()
553 * @generated
554 */
555 EReference getFAMTerminator_Data();
556
557 /**
558 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink <em>Information Link</em>}'.
559 * <!-- begin-user-doc -->
560 * <!-- end-user-doc -->
561 * @return the meta object for class '<em>Information Link</em>'.
562 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink
563 * @generated
564 */
565 EClass getInformationLink();
566
567 /**
568 * Returns the meta object for the container reference '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink#getFrom <em>From</em>}'.
569 * <!-- begin-user-doc -->
570 * <!-- end-user-doc -->
571 * @return the meta object for the container reference '<em>From</em>'.
572 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink#getFrom()
573 * @see #getInformationLink()
574 * @generated
575 */
576 EReference getInformationLink_From();
577
578 /**
579 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink#getTo <em>To</em>}'.
580 * <!-- begin-user-doc -->
581 * <!-- end-user-doc -->
582 * @return the meta object for the reference '<em>To</em>'.
583 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink#getTo()
584 * @see #getInformationLink()
585 * @generated
586 */
587 EReference getInformationLink_To();
588
589 /**
590 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface <em>Functional Interface</em>}'.
591 * <!-- begin-user-doc -->
592 * <!-- end-user-doc -->
593 * @return the meta object for class '<em>Functional Interface</em>'.
594 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface
595 * @generated
596 */
597 EClass getFunctionalInterface();
598
599 /**
600 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface#getData <em>Data</em>}'.
601 * <!-- begin-user-doc -->
602 * <!-- end-user-doc -->
603 * @return the meta object for the containment reference list '<em>Data</em>'.
604 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface#getData()
605 * @see #getFunctionalInterface()
606 * @generated
607 */
608 EReference getFunctionalInterface_Data();
609
610 /**
611 * Returns the meta object for the container reference '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface#getElement <em>Element</em>}'.
612 * <!-- begin-user-doc -->
613 * <!-- end-user-doc -->
614 * @return the meta object for the container reference '<em>Element</em>'.
615 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface#getElement()
616 * @see #getFunctionalInterface()
617 * @generated
618 */
619 EReference getFunctionalInterface_Element();
620
621 /**
622 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInput <em>Functional Input</em>}'.
623 * <!-- begin-user-doc -->
624 * <!-- end-user-doc -->
625 * @return the meta object for class '<em>Functional Input</em>'.
626 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInput
627 * @generated
628 */
629 EClass getFunctionalInput();
630
631 /**
632 * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInput#getIncomingLinks <em>Incoming Links</em>}'.
633 * <!-- begin-user-doc -->
634 * <!-- end-user-doc -->
635 * @return the meta object for the reference list '<em>Incoming Links</em>'.
636 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInput#getIncomingLinks()
637 * @see #getFunctionalInput()
638 * @generated
639 */
640 EReference getFunctionalInput_IncomingLinks();
641
642 /**
643 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalOutput <em>Functional Output</em>}'.
644 * <!-- begin-user-doc -->
645 * <!-- end-user-doc -->
646 * @return the meta object for class '<em>Functional Output</em>'.
647 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalOutput
648 * @generated
649 */
650 EClass getFunctionalOutput();
651
652 /**
653 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalOutput#getOutgoingLinks <em>Outgoing Links</em>}'.
654 * <!-- begin-user-doc -->
655 * <!-- end-user-doc -->
656 * @return the meta object for the containment reference list '<em>Outgoing Links</em>'.
657 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalOutput#getOutgoingLinks()
658 * @see #getFunctionalOutput()
659 * @generated
660 */
661 EReference getFunctionalOutput_OutgoingLinks();
662
663 /**
664 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData <em>Functional Data</em>}'.
665 * <!-- begin-user-doc -->
666 * <!-- end-user-doc -->
667 * @return the meta object for class '<em>Functional Data</em>'.
668 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData
669 * @generated
670 */
671 EClass getFunctionalData();
672
673 /**
674 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData#getTerminator <em>Terminator</em>}'.
675 * <!-- begin-user-doc -->
676 * <!-- end-user-doc -->
677 * @return the meta object for the containment reference '<em>Terminator</em>'.
678 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData#getTerminator()
679 * @see #getFunctionalData()
680 * @generated
681 */
682 EReference getFunctionalData_Terminator();
683
684 /**
685 * Returns the meta object for the container reference '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData#getInterface <em>Interface</em>}'.
686 * <!-- begin-user-doc -->
687 * <!-- end-user-doc -->
688 * @return the meta object for the container reference '<em>Interface</em>'.
689 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData#getInterface()
690 * @see #getFunctionalData()
691 * @generated
692 */
693 EReference getFunctionalData_Interface();
694
695 /**
696 * Returns the meta object for enum '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionType <em>Function Type</em>}'.
697 * <!-- begin-user-doc -->
698 * <!-- end-user-doc -->
699 * @return the meta object for enum '<em>Function Type</em>'.
700 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionType
701 * @generated
702 */
703 EEnum getFunctionType();
704
705 /**
706 * Returns the factory that creates the instances of the model.
707 * <!-- begin-user-doc -->
708 * <!-- end-user-doc -->
709 * @return the factory that creates the instances of the model.
710 * @generated
711 */
712 FunctionalArchitectureFactory getFunctionalArchitectureFactory();
713
714 /**
715 * <!-- begin-user-doc -->
716 * Defines literals for the meta objects that represent
717 * <ul>
718 * <li>each class,</li>
719 * <li>each feature of each class,</li>
720 * <li>each enum,</li>
721 * <li>and each data type</li>
722 * </ul>
723 * <!-- end-user-doc -->
724 * @generated
725 */
726 interface Literals {
727 /**
728 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalElementImpl <em>Functional Element</em>}' class.
729 * <!-- begin-user-doc -->
730 * <!-- end-user-doc -->
731 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalElementImpl
732 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFunctionalElement()
733 * @generated
734 */
735 EClass FUNCTIONAL_ELEMENT = eINSTANCE.getFunctionalElement();
736
737 /**
738 * The meta object literal for the '<em><b>Interface</b></em>' containment reference feature.
739 * <!-- begin-user-doc -->
740 * <!-- end-user-doc -->
741 * @generated
742 */
743 EReference FUNCTIONAL_ELEMENT__INTERFACE = eINSTANCE.getFunctionalElement_Interface();
744
745 /**
746 * The meta object literal for the '<em><b>Model</b></em>' reference feature.
747 * <!-- begin-user-doc -->
748 * <!-- end-user-doc -->
749 * @generated
750 */
751 EReference FUNCTIONAL_ELEMENT__MODEL = eINSTANCE.getFunctionalElement_Model();
752
753 /**
754 * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
755 * <!-- begin-user-doc -->
756 * <!-- end-user-doc -->
757 * @generated
758 */
759 EReference FUNCTIONAL_ELEMENT__PARENT = eINSTANCE.getFunctionalElement_Parent();
760
761 /**
762 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitectureModelImpl <em>Model</em>}' class.
763 * <!-- begin-user-doc -->
764 * <!-- end-user-doc -->
765 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitectureModelImpl
766 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFunctionalArchitectureModel()
767 * @generated
768 */
769 EClass FUNCTIONAL_ARCHITECTURE_MODEL = eINSTANCE.getFunctionalArchitectureModel();
770
771 /**
772 * The meta object literal for the '<em><b>Root Elements</b></em>' containment reference list feature.
773 * <!-- begin-user-doc -->
774 * <!-- end-user-doc -->
775 * @generated
776 */
777 EReference FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS = eINSTANCE.getFunctionalArchitectureModel_RootElements();
778
779 /**
780 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionImpl <em>Function</em>}' class.
781 * <!-- begin-user-doc -->
782 * <!-- end-user-doc -->
783 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionImpl
784 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFunction()
785 * @generated
786 */
787 EClass FUNCTION = eINSTANCE.getFunction();
788
789 /**
790 * The meta object literal for the '<em><b>Sub Elements</b></em>' containment reference list feature.
791 * <!-- begin-user-doc -->
792 * <!-- end-user-doc -->
793 * @generated
794 */
795 EReference FUNCTION__SUB_ELEMENTS = eINSTANCE.getFunction_SubElements();
796
797 /**
798 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
799 * <!-- begin-user-doc -->
800 * <!-- end-user-doc -->
801 * @generated
802 */
803 EAttribute FUNCTION__TYPE = eINSTANCE.getFunction_Type();
804
805 /**
806 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FAMTerminatorImpl <em>FAM Terminator</em>}' class.
807 * <!-- begin-user-doc -->
808 * <!-- end-user-doc -->
809 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FAMTerminatorImpl
810 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFAMTerminator()
811 * @generated
812 */
813 EClass FAM_TERMINATOR = eINSTANCE.getFAMTerminator();
814
815 /**
816 * The meta object literal for the '<em><b>Data</b></em>' container reference feature.
817 * <!-- begin-user-doc -->
818 * <!-- end-user-doc -->
819 * @generated
820 */
821 EReference FAM_TERMINATOR__DATA = eINSTANCE.getFAMTerminator_Data();
822
823 /**
824 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.InformationLinkImpl <em>Information Link</em>}' class.
825 * <!-- begin-user-doc -->
826 * <!-- end-user-doc -->
827 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.InformationLinkImpl
828 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getInformationLink()
829 * @generated
830 */
831 EClass INFORMATION_LINK = eINSTANCE.getInformationLink();
832
833 /**
834 * The meta object literal for the '<em><b>From</b></em>' container reference feature.
835 * <!-- begin-user-doc -->
836 * <!-- end-user-doc -->
837 * @generated
838 */
839 EReference INFORMATION_LINK__FROM = eINSTANCE.getInformationLink_From();
840
841 /**
842 * The meta object literal for the '<em><b>To</b></em>' reference feature.
843 * <!-- begin-user-doc -->
844 * <!-- end-user-doc -->
845 * @generated
846 */
847 EReference INFORMATION_LINK__TO = eINSTANCE.getInformationLink_To();
848
849 /**
850 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalInterfaceImpl <em>Functional Interface</em>}' class.
851 * <!-- begin-user-doc -->
852 * <!-- end-user-doc -->
853 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalInterfaceImpl
854 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFunctionalInterface()
855 * @generated
856 */
857 EClass FUNCTIONAL_INTERFACE = eINSTANCE.getFunctionalInterface();
858
859 /**
860 * The meta object literal for the '<em><b>Data</b></em>' containment reference list feature.
861 * <!-- begin-user-doc -->
862 * <!-- end-user-doc -->
863 * @generated
864 */
865 EReference FUNCTIONAL_INTERFACE__DATA = eINSTANCE.getFunctionalInterface_Data();
866
867 /**
868 * The meta object literal for the '<em><b>Element</b></em>' container reference feature.
869 * <!-- begin-user-doc -->
870 * <!-- end-user-doc -->
871 * @generated
872 */
873 EReference FUNCTIONAL_INTERFACE__ELEMENT = eINSTANCE.getFunctionalInterface_Element();
874
875 /**
876 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalInputImpl <em>Functional Input</em>}' class.
877 * <!-- begin-user-doc -->
878 * <!-- end-user-doc -->
879 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalInputImpl
880 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFunctionalInput()
881 * @generated
882 */
883 EClass FUNCTIONAL_INPUT = eINSTANCE.getFunctionalInput();
884
885 /**
886 * The meta object literal for the '<em><b>Incoming Links</b></em>' reference list feature.
887 * <!-- begin-user-doc -->
888 * <!-- end-user-doc -->
889 * @generated
890 */
891 EReference FUNCTIONAL_INPUT__INCOMING_LINKS = eINSTANCE.getFunctionalInput_IncomingLinks();
892
893 /**
894 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalOutputImpl <em>Functional Output</em>}' class.
895 * <!-- begin-user-doc -->
896 * <!-- end-user-doc -->
897 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalOutputImpl
898 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFunctionalOutput()
899 * @generated
900 */
901 EClass FUNCTIONAL_OUTPUT = eINSTANCE.getFunctionalOutput();
902
903 /**
904 * The meta object literal for the '<em><b>Outgoing Links</b></em>' containment reference list feature.
905 * <!-- begin-user-doc -->
906 * <!-- end-user-doc -->
907 * @generated
908 */
909 EReference FUNCTIONAL_OUTPUT__OUTGOING_LINKS = eINSTANCE.getFunctionalOutput_OutgoingLinks();
910
911 /**
912 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalDataImpl <em>Functional Data</em>}' class.
913 * <!-- begin-user-doc -->
914 * <!-- end-user-doc -->
915 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalDataImpl
916 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFunctionalData()
917 * @generated
918 */
919 EClass FUNCTIONAL_DATA = eINSTANCE.getFunctionalData();
920
921 /**
922 * The meta object literal for the '<em><b>Terminator</b></em>' containment reference feature.
923 * <!-- begin-user-doc -->
924 * <!-- end-user-doc -->
925 * @generated
926 */
927 EReference FUNCTIONAL_DATA__TERMINATOR = eINSTANCE.getFunctionalData_Terminator();
928
929 /**
930 * The meta object literal for the '<em><b>Interface</b></em>' container reference feature.
931 * <!-- begin-user-doc -->
932 * <!-- end-user-doc -->
933 * @generated
934 */
935 EReference FUNCTIONAL_DATA__INTERFACE = eINSTANCE.getFunctionalData_Interface();
936
937 /**
938 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionType <em>Function Type</em>}' enum.
939 * <!-- begin-user-doc -->
940 * <!-- end-user-doc -->
941 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionType
942 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitecturePackageImpl#getFunctionType()
943 * @generated
944 */
945 EEnum FUNCTION_TYPE = eINSTANCE.getFunctionType();
946
947 }
948
949} //FunctionalArchitecturePackage
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalData.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalData.java
new file mode 100644
index 00000000..91bd82b0
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalData.java
@@ -0,0 +1,83 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Functional Data</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData#getTerminator <em>Terminator</em>}</li>
19 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData#getInterface <em>Interface</em>}</li>
20 * </ul>
21 *
22 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunctionalData()
23 * @model abstract="true"
24 * @generated
25 */
26public interface FunctionalData extends EObject {
27 /**
28 * Returns the value of the '<em><b>Terminator</b></em>' containment reference.
29 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FAMTerminator#getData <em>Data</em>}'.
30 * <!-- begin-user-doc -->
31 * <p>
32 * If the meaning of the '<em>Terminator</em>' containment reference list isn't clear,
33 * there really should be more of a description here...
34 * </p>
35 * <!-- end-user-doc -->
36 * @return the value of the '<em>Terminator</em>' containment reference.
37 * @see #setTerminator(FAMTerminator)
38 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunctionalData_Terminator()
39 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FAMTerminator#getData
40 * @model opposite="data" containment="true"
41 * @generated
42 */
43 FAMTerminator getTerminator();
44
45 /**
46 * Sets the value of the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData#getTerminator <em>Terminator</em>}' containment reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @param value the new value of the '<em>Terminator</em>' containment reference.
50 * @see #getTerminator()
51 * @generated
52 */
53 void setTerminator(FAMTerminator value);
54
55 /**
56 * Returns the value of the '<em><b>Interface</b></em>' container reference.
57 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface#getData <em>Data</em>}'.
58 * <!-- begin-user-doc -->
59 * <p>
60 * If the meaning of the '<em>Interface</em>' container reference isn't clear,
61 * there really should be more of a description here...
62 * </p>
63 * <!-- end-user-doc -->
64 * @return the value of the '<em>Interface</em>' container reference.
65 * @see #setInterface(FunctionalInterface)
66 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunctionalData_Interface()
67 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface#getData
68 * @model opposite="data" transient="false"
69 * @generated
70 */
71 FunctionalInterface getInterface();
72
73 /**
74 * Sets the value of the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData#getInterface <em>Interface</em>}' container reference.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @param value the new value of the '<em>Interface</em>' container reference.
78 * @see #getInterface()
79 * @generated
80 */
81 void setInterface(FunctionalInterface value);
82
83} // FunctionalData
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalElement.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalElement.java
new file mode 100644
index 00000000..953f1d26
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalElement.java
@@ -0,0 +1,109 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Functional Element</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement#getInterface <em>Interface</em>}</li>
17 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement#getModel <em>Model</em>}</li>
18 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement#getParent <em>Parent</em>}</li>
19 * </ul>
20 *
21 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunctionalElement()
22 * @model abstract="true"
23 * @generated
24 */
25public interface FunctionalElement extends EObject {
26 /**
27 * Returns the value of the '<em><b>Interface</b></em>' containment reference.
28 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface#getElement <em>Element</em>}'.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Interface</em>' containment reference isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Interface</em>' containment reference.
36 * @see #setInterface(FunctionalInterface)
37 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunctionalElement_Interface()
38 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface#getElement
39 * @model opposite="element" containment="true"
40 * @generated
41 */
42 FunctionalInterface getInterface();
43
44 /**
45 * Sets the value of the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement#getInterface <em>Interface</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @param value the new value of the '<em>Interface</em>' containment reference.
49 * @see #getInterface()
50 * @generated
51 */
52 void setInterface(FunctionalInterface value);
53
54 /**
55 * Returns the value of the '<em><b>Model</b></em>' reference.
56 * <!-- begin-user-doc -->
57 * <p>
58 * If the meaning of the '<em>Model</em>' reference isn't clear,
59 * there really should be more of a description here...
60 * </p>
61 * <!-- end-user-doc -->
62 * @return the value of the '<em>Model</em>' reference.
63 * @see #setModel(FunctionalArchitectureModel)
64 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunctionalElement_Model()
65 * @model required="true" transient="true" volatile="true" derived="true"
66 * annotation="org.eclipse.viatra.query.querybasedfeature patternFQN='hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.model'"
67 * @generated
68 */
69 FunctionalArchitectureModel getModel();
70
71 /**
72 * Sets the value of the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement#getModel <em>Model</em>}' reference.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @param value the new value of the '<em>Model</em>' reference.
76 * @see #getModel()
77 * @generated
78 */
79 void setModel(FunctionalArchitectureModel value);
80
81 /**
82 * Returns the value of the '<em><b>Parent</b></em>' container reference.
83 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.Function#getSubElements <em>Sub Elements</em>}'.
84 * <!-- begin-user-doc -->
85 * <p>
86 * If the meaning of the '<em>Parent</em>' container reference isn't clear,
87 * there really should be more of a description here...
88 * </p>
89 * <!-- end-user-doc -->
90 * @return the value of the '<em>Parent</em>' container reference.
91 * @see #setParent(Function)
92 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunctionalElement_Parent()
93 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.Function#getSubElements
94 * @model opposite="subElements" transient="false"
95 * @generated
96 */
97 Function getParent();
98
99 /**
100 * Sets the value of the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement#getParent <em>Parent</em>}' container reference.
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @param value the new value of the '<em>Parent</em>' container reference.
104 * @see #getParent()
105 * @generated
106 */
107 void setParent(Function value);
108
109} // FunctionalElement
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalInput.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalInput.java
new file mode 100644
index 00000000..4a82c0d0
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalInput.java
@@ -0,0 +1,42 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Functional Input</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInput#getIncomingLinks <em>Incoming Links</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunctionalInput()
20 * @model
21 * @generated
22 */
23public interface FunctionalInput extends FunctionalData {
24 /**
25 * Returns the value of the '<em><b>Incoming Links</b></em>' reference list.
26 * The list contents are of type {@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink}.
27 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink#getTo <em>To</em>}'.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Incoming Links</em>' reference list isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Incoming Links</em>' reference list.
35 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunctionalInput_IncomingLinks()
36 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink#getTo
37 * @model opposite="to"
38 * @generated
39 */
40 EList<InformationLink> getIncomingLinks();
41
42} // FunctionalInput
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalInterface.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalInterface.java
new file mode 100644
index 00000000..e5b8fe48
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalInterface.java
@@ -0,0 +1,73 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Functional Interface</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface#getData <em>Data</em>}</li>
19 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface#getElement <em>Element</em>}</li>
20 * </ul>
21 *
22 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunctionalInterface()
23 * @model
24 * @generated
25 */
26public interface FunctionalInterface extends EObject {
27 /**
28 * Returns the value of the '<em><b>Data</b></em>' containment reference list.
29 * The list contents are of type {@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData}.
30 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData#getInterface <em>Interface</em>}'.
31 * <!-- begin-user-doc -->
32 * <p>
33 * If the meaning of the '<em>Data</em>' containment reference list isn't clear,
34 * there really should be more of a description here...
35 * </p>
36 * <!-- end-user-doc -->
37 * @return the value of the '<em>Data</em>' containment reference list.
38 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunctionalInterface_Data()
39 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData#getInterface
40 * @model opposite="interface" containment="true"
41 * @generated
42 */
43 EList<FunctionalData> getData();
44
45 /**
46 * Returns the value of the '<em><b>Element</b></em>' container reference.
47 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement#getInterface <em>Interface</em>}'.
48 * <!-- begin-user-doc -->
49 * <p>
50 * If the meaning of the '<em>Element</em>' container reference isn't clear,
51 * there really should be more of a description here...
52 * </p>
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Element</em>' container reference.
55 * @see #setElement(FunctionalElement)
56 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunctionalInterface_Element()
57 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement#getInterface
58 * @model opposite="interface" transient="false"
59 * @generated
60 */
61 FunctionalElement getElement();
62
63 /**
64 * Sets the value of the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface#getElement <em>Element</em>}' container reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Element</em>' container reference.
68 * @see #getElement()
69 * @generated
70 */
71 void setElement(FunctionalElement value);
72
73} // FunctionalInterface
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalOutput.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalOutput.java
new file mode 100644
index 00000000..3a56b1dd
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/FunctionalOutput.java
@@ -0,0 +1,42 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Functional Output</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalOutput#getOutgoingLinks <em>Outgoing Links</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunctionalOutput()
20 * @model
21 * @generated
22 */
23public interface FunctionalOutput extends FunctionalData {
24 /**
25 * Returns the value of the '<em><b>Outgoing Links</b></em>' containment reference list.
26 * The list contents are of type {@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink}.
27 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink#getFrom <em>From</em>}'.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Outgoing Links</em>' containment reference list isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Outgoing Links</em>' containment reference list.
35 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getFunctionalOutput_OutgoingLinks()
36 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink#getFrom
37 * @model opposite="from" containment="true"
38 * @generated
39 */
40 EList<InformationLink> getOutgoingLinks();
41
42} // FunctionalOutput
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/InformationLink.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/InformationLink.java
new file mode 100644
index 00000000..29d452c3
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/InformationLink.java
@@ -0,0 +1,81 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Information Link</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink#getFrom <em>From</em>}</li>
17 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink#getTo <em>To</em>}</li>
18 * </ul>
19 *
20 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getInformationLink()
21 * @model
22 * @generated
23 */
24public interface InformationLink extends EObject {
25 /**
26 * Returns the value of the '<em><b>From</b></em>' container reference.
27 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalOutput#getOutgoingLinks <em>Outgoing Links</em>}'.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>From</em>' container reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>From</em>' container reference.
35 * @see #setFrom(FunctionalOutput)
36 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getInformationLink_From()
37 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalOutput#getOutgoingLinks
38 * @model opposite="outgoingLinks" transient="false"
39 * @generated
40 */
41 FunctionalOutput getFrom();
42
43 /**
44 * Sets the value of the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink#getFrom <em>From</em>}' container reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>From</em>' container reference.
48 * @see #getFrom()
49 * @generated
50 */
51 void setFrom(FunctionalOutput value);
52
53 /**
54 * Returns the value of the '<em><b>To</b></em>' reference.
55 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInput#getIncomingLinks <em>Incoming Links</em>}'.
56 * <!-- begin-user-doc -->
57 * <p>
58 * If the meaning of the '<em>To</em>' reference isn't clear,
59 * there really should be more of a description here...
60 * </p>
61 * <!-- end-user-doc -->
62 * @return the value of the '<em>To</em>' reference.
63 * @see #setTo(FunctionalInput)
64 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#getInformationLink_To()
65 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInput#getIncomingLinks
66 * @model opposite="IncomingLinks" required="true"
67 * @generated
68 */
69 FunctionalInput getTo();
70
71 /**
72 * Sets the value of the '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink#getTo <em>To</em>}' reference.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @param value the new value of the '<em>To</em>' reference.
76 * @see #getTo()
77 * @generated
78 */
79 void setTo(FunctionalInput value);
80
81} // InformationLink
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FAMTerminatorImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FAMTerminatorImpl.java
new file mode 100644
index 00000000..b13fbde7
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FAMTerminatorImpl.java
@@ -0,0 +1,196 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl;
4
5import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FAMTerminator;
6import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage;
7import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17
18import org.eclipse.emf.ecore.util.EcoreUtil;
19
20/**
21 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>FAM Terminator</b></em>'.
23 * <!-- end-user-doc -->
24 * <p>
25 * The following features are implemented:
26 * </p>
27 * <ul>
28 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FAMTerminatorImpl#getData <em>Data</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class FAMTerminatorImpl extends MinimalEObjectImpl.Container implements FAMTerminator {
34 /**
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @generated
38 */
39 protected FAMTerminatorImpl() {
40 super();
41 }
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 @Override
49 protected EClass eStaticClass() {
50 return FunctionalArchitecturePackage.Literals.FAM_TERMINATOR;
51 }
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 public FunctionalData getData() {
59 if (eContainerFeatureID() != FunctionalArchitecturePackage.FAM_TERMINATOR__DATA) return null;
60 return (FunctionalData)eInternalContainer();
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 public NotificationChain basicSetData(FunctionalData newData, NotificationChain msgs) {
69 msgs = eBasicSetContainer((InternalEObject)newData, FunctionalArchitecturePackage.FAM_TERMINATOR__DATA, msgs);
70 return msgs;
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 public void setData(FunctionalData newData) {
79 if (newData != eInternalContainer() || (eContainerFeatureID() != FunctionalArchitecturePackage.FAM_TERMINATOR__DATA && newData != null)) {
80 if (EcoreUtil.isAncestor(this, newData))
81 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
82 NotificationChain msgs = null;
83 if (eInternalContainer() != null)
84 msgs = eBasicRemoveFromContainer(msgs);
85 if (newData != null)
86 msgs = ((InternalEObject)newData).eInverseAdd(this, FunctionalArchitecturePackage.FUNCTIONAL_DATA__TERMINATOR, FunctionalData.class, msgs);
87 msgs = basicSetData(newData, msgs);
88 if (msgs != null) msgs.dispatch();
89 }
90 else if (eNotificationRequired())
91 eNotify(new ENotificationImpl(this, Notification.SET, FunctionalArchitecturePackage.FAM_TERMINATOR__DATA, newData, newData));
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
101 switch (featureID) {
102 case FunctionalArchitecturePackage.FAM_TERMINATOR__DATA:
103 if (eInternalContainer() != null)
104 msgs = eBasicRemoveFromContainer(msgs);
105 return basicSetData((FunctionalData)otherEnd, msgs);
106 }
107 return super.eInverseAdd(otherEnd, featureID, msgs);
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
117 switch (featureID) {
118 case FunctionalArchitecturePackage.FAM_TERMINATOR__DATA:
119 return basicSetData(null, msgs);
120 }
121 return super.eInverseRemove(otherEnd, featureID, msgs);
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
131 switch (eContainerFeatureID()) {
132 case FunctionalArchitecturePackage.FAM_TERMINATOR__DATA:
133 return eInternalContainer().eInverseRemove(this, FunctionalArchitecturePackage.FUNCTIONAL_DATA__TERMINATOR, FunctionalData.class, msgs);
134 }
135 return super.eBasicRemoveFromContainerFeature(msgs);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public Object eGet(int featureID, boolean resolve, boolean coreType) {
145 switch (featureID) {
146 case FunctionalArchitecturePackage.FAM_TERMINATOR__DATA:
147 return getData();
148 }
149 return super.eGet(featureID, resolve, coreType);
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 @Override
158 public void eSet(int featureID, Object newValue) {
159 switch (featureID) {
160 case FunctionalArchitecturePackage.FAM_TERMINATOR__DATA:
161 setData((FunctionalData)newValue);
162 return;
163 }
164 super.eSet(featureID, newValue);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public void eUnset(int featureID) {
174 switch (featureID) {
175 case FunctionalArchitecturePackage.FAM_TERMINATOR__DATA:
176 setData((FunctionalData)null);
177 return;
178 }
179 super.eUnset(featureID);
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @Override
188 public boolean eIsSet(int featureID) {
189 switch (featureID) {
190 case FunctionalArchitecturePackage.FAM_TERMINATOR__DATA:
191 return getData() != null;
192 }
193 return super.eIsSet(featureID);
194 }
195
196} //FAMTerminatorImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionImpl.java
new file mode 100644
index 00000000..1b447c38
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionImpl.java
@@ -0,0 +1,191 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl;
4
5import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.Function;
6import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionType;
7import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage;
8import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement;
9
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.NotificationChain;
13
14import org.eclipse.emf.common.util.EList;
15
16import org.eclipse.emf.ecore.EClass;
17import org.eclipse.emf.ecore.EStructuralFeature;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
21import org.eclipse.emf.ecore.util.InternalEList;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Function</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionImpl#getSubElements <em>Sub Elements</em>}</li>
32 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionImpl#getType <em>Type</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class FunctionImpl extends FunctionalElementImpl implements Function {
38 /**
39 * The cached value of the '{@link #getSubElements() <em>Sub Elements</em>}' containment reference list.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getSubElements()
43 * @generated
44 * @ordered
45 */
46 protected EList<FunctionalElement> subElements;
47
48 /**
49 * The cached setting delegate for the '{@link #getType() <em>Type</em>}' attribute.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @see #getType()
53 * @generated
54 * @ordered
55 */
56 protected EStructuralFeature.Internal.SettingDelegate TYPE__ESETTING_DELEGATE = ((EStructuralFeature.Internal)FunctionalArchitecturePackage.Literals.FUNCTION__TYPE).getSettingDelegate();
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 protected FunctionImpl() {
64 super();
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 @Override
73 protected EClass eStaticClass() {
74 return FunctionalArchitecturePackage.Literals.FUNCTION;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public EList<FunctionalElement> getSubElements() {
83 if (subElements == null) {
84 subElements = new EObjectContainmentWithInverseEList<FunctionalElement>(FunctionalElement.class, this, FunctionalArchitecturePackage.FUNCTION__SUB_ELEMENTS, FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__PARENT);
85 }
86 return subElements;
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 public FunctionType getType() {
95 return (FunctionType)TYPE__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false);
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 @SuppressWarnings("unchecked")
104 @Override
105 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
106 switch (featureID) {
107 case FunctionalArchitecturePackage.FUNCTION__SUB_ELEMENTS:
108 return ((InternalEList<InternalEObject>)(InternalEList<?>)getSubElements()).basicAdd(otherEnd, msgs);
109 }
110 return super.eInverseAdd(otherEnd, featureID, msgs);
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 @Override
119 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
120 switch (featureID) {
121 case FunctionalArchitecturePackage.FUNCTION__SUB_ELEMENTS:
122 return ((InternalEList<?>)getSubElements()).basicRemove(otherEnd, msgs);
123 }
124 return super.eInverseRemove(otherEnd, featureID, msgs);
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 @Override
133 public Object eGet(int featureID, boolean resolve, boolean coreType) {
134 switch (featureID) {
135 case FunctionalArchitecturePackage.FUNCTION__SUB_ELEMENTS:
136 return getSubElements();
137 case FunctionalArchitecturePackage.FUNCTION__TYPE:
138 return getType();
139 }
140 return super.eGet(featureID, resolve, coreType);
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 @SuppressWarnings("unchecked")
149 @Override
150 public void eSet(int featureID, Object newValue) {
151 switch (featureID) {
152 case FunctionalArchitecturePackage.FUNCTION__SUB_ELEMENTS:
153 getSubElements().clear();
154 getSubElements().addAll((Collection<? extends FunctionalElement>)newValue);
155 return;
156 }
157 super.eSet(featureID, newValue);
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 @Override
166 public void eUnset(int featureID) {
167 switch (featureID) {
168 case FunctionalArchitecturePackage.FUNCTION__SUB_ELEMENTS:
169 getSubElements().clear();
170 return;
171 }
172 super.eUnset(featureID);
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public boolean eIsSet(int featureID) {
182 switch (featureID) {
183 case FunctionalArchitecturePackage.FUNCTION__SUB_ELEMENTS:
184 return subElements != null && !subElements.isEmpty();
185 case FunctionalArchitecturePackage.FUNCTION__TYPE:
186 return TYPE__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);
187 }
188 return super.eIsSet(featureID);
189 }
190
191} //FunctionImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalArchitectureFactoryImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalArchitectureFactoryImpl.java
new file mode 100644
index 00000000..b47f7c58
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalArchitectureFactoryImpl.java
@@ -0,0 +1,213 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl;
4
5import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.*;
6import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.EDataType;
10import org.eclipse.emf.ecore.EObject;
11import org.eclipse.emf.ecore.EPackage;
12
13import org.eclipse.emf.ecore.impl.EFactoryImpl;
14
15import org.eclipse.emf.ecore.plugin.EcorePlugin;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model <b>Factory</b>.
20 * <!-- end-user-doc -->
21 * @generated
22 */
23public class FunctionalArchitectureFactoryImpl extends EFactoryImpl implements FunctionalArchitectureFactory {
24 /**
25 * Creates the default factory implementation.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @generated
29 */
30 public static FunctionalArchitectureFactory init() {
31 try {
32 FunctionalArchitectureFactory theFunctionalArchitectureFactory = (FunctionalArchitectureFactory)EPackage.Registry.INSTANCE.getEFactory(FunctionalArchitecturePackage.eNS_URI);
33 if (theFunctionalArchitectureFactory != null) {
34 return theFunctionalArchitectureFactory;
35 }
36 }
37 catch (Exception exception) {
38 EcorePlugin.INSTANCE.log(exception);
39 }
40 return new FunctionalArchitectureFactoryImpl();
41 }
42
43 /**
44 * Creates an instance of the factory.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @generated
48 */
49 public FunctionalArchitectureFactoryImpl() {
50 super();
51 }
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 @Override
59 public EObject create(EClass eClass) {
60 switch (eClass.getClassifierID()) {
61 case FunctionalArchitecturePackage.FUNCTIONAL_ARCHITECTURE_MODEL: return createFunctionalArchitectureModel();
62 case FunctionalArchitecturePackage.FUNCTION: return createFunction();
63 case FunctionalArchitecturePackage.FAM_TERMINATOR: return createFAMTerminator();
64 case FunctionalArchitecturePackage.INFORMATION_LINK: return createInformationLink();
65 case FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE: return createFunctionalInterface();
66 case FunctionalArchitecturePackage.FUNCTIONAL_INPUT: return createFunctionalInput();
67 case FunctionalArchitecturePackage.FUNCTIONAL_OUTPUT: return createFunctionalOutput();
68 default:
69 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
70 }
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 @Override
79 public Object createFromString(EDataType eDataType, String initialValue) {
80 switch (eDataType.getClassifierID()) {
81 case FunctionalArchitecturePackage.FUNCTION_TYPE:
82 return createFunctionTypeFromString(eDataType, initialValue);
83 default:
84 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
85 }
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 @Override
94 public String convertToString(EDataType eDataType, Object instanceValue) {
95 switch (eDataType.getClassifierID()) {
96 case FunctionalArchitecturePackage.FUNCTION_TYPE:
97 return convertFunctionTypeToString(eDataType, instanceValue);
98 default:
99 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
100 }
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 public FunctionalArchitectureModel createFunctionalArchitectureModel() {
109 FunctionalArchitectureModelImpl functionalArchitectureModel = new FunctionalArchitectureModelImpl();
110 return functionalArchitectureModel;
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public Function createFunction() {
119 FunctionImpl function = new FunctionImpl();
120 return function;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public FAMTerminator createFAMTerminator() {
129 FAMTerminatorImpl famTerminator = new FAMTerminatorImpl();
130 return famTerminator;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public InformationLink createInformationLink() {
139 InformationLinkImpl informationLink = new InformationLinkImpl();
140 return informationLink;
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 public FunctionalInterface createFunctionalInterface() {
149 FunctionalInterfaceImpl functionalInterface = new FunctionalInterfaceImpl();
150 return functionalInterface;
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 public FunctionalInput createFunctionalInput() {
159 FunctionalInputImpl functionalInput = new FunctionalInputImpl();
160 return functionalInput;
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 public FunctionalOutput createFunctionalOutput() {
169 FunctionalOutputImpl functionalOutput = new FunctionalOutputImpl();
170 return functionalOutput;
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 public FunctionType createFunctionTypeFromString(EDataType eDataType, String initialValue) {
179 FunctionType result = FunctionType.get(initialValue);
180 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
181 return result;
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 public String convertFunctionTypeToString(EDataType eDataType, Object instanceValue) {
190 return instanceValue == null ? null : instanceValue.toString();
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 public FunctionalArchitecturePackage getFunctionalArchitecturePackage() {
199 return (FunctionalArchitecturePackage)getEPackage();
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @deprecated
206 * @generated
207 */
208 @Deprecated
209 public static FunctionalArchitecturePackage getPackage() {
210 return FunctionalArchitecturePackage.eINSTANCE;
211 }
212
213} //FunctionalArchitectureFactoryImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalArchitectureModelImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalArchitectureModelImpl.java
new file mode 100644
index 00000000..1f5f8232
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalArchitectureModelImpl.java
@@ -0,0 +1,152 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl;
4
5import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitectureModel;
6import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage;
7import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
19
20import org.eclipse.emf.ecore.util.EObjectContainmentEList;
21import org.eclipse.emf.ecore.util.InternalEList;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Model</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalArchitectureModelImpl#getRootElements <em>Root Elements</em>}</li>
32 * </ul>
33 *
34 * @generated
35 */
36public class FunctionalArchitectureModelImpl extends MinimalEObjectImpl.Container implements FunctionalArchitectureModel {
37 /**
38 * The cached value of the '{@link #getRootElements() <em>Root Elements</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getRootElements()
42 * @generated
43 * @ordered
44 */
45 protected EList<FunctionalElement> rootElements;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected FunctionalArchitectureModelImpl() {
53 super();
54 }
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 @Override
62 protected EClass eStaticClass() {
63 return FunctionalArchitecturePackage.Literals.FUNCTIONAL_ARCHITECTURE_MODEL;
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 public EList<FunctionalElement> getRootElements() {
72 if (rootElements == null) {
73 rootElements = new EObjectContainmentEList<FunctionalElement>(FunctionalElement.class, this, FunctionalArchitecturePackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS);
74 }
75 return rootElements;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
85 switch (featureID) {
86 case FunctionalArchitecturePackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS:
87 return ((InternalEList<?>)getRootElements()).basicRemove(otherEnd, msgs);
88 }
89 return super.eInverseRemove(otherEnd, featureID, msgs);
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public Object eGet(int featureID, boolean resolve, boolean coreType) {
99 switch (featureID) {
100 case FunctionalArchitecturePackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS:
101 return getRootElements();
102 }
103 return super.eGet(featureID, resolve, coreType);
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @SuppressWarnings("unchecked")
112 @Override
113 public void eSet(int featureID, Object newValue) {
114 switch (featureID) {
115 case FunctionalArchitecturePackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS:
116 getRootElements().clear();
117 getRootElements().addAll((Collection<? extends FunctionalElement>)newValue);
118 return;
119 }
120 super.eSet(featureID, newValue);
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 @Override
129 public void eUnset(int featureID) {
130 switch (featureID) {
131 case FunctionalArchitecturePackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS:
132 getRootElements().clear();
133 return;
134 }
135 super.eUnset(featureID);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public boolean eIsSet(int featureID) {
145 switch (featureID) {
146 case FunctionalArchitecturePackage.FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS:
147 return rootElements != null && !rootElements.isEmpty();
148 }
149 return super.eIsSet(featureID);
150 }
151
152} //FunctionalArchitectureModelImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalArchitecturePackageImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalArchitecturePackageImpl.java
new file mode 100644
index 00000000..564e54c0
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalArchitecturePackageImpl.java
@@ -0,0 +1,574 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl;
4
5import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FAMTerminator;
6import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.Function;
7import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionType;
8import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitectureFactory;
9import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitectureModel;
10import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage;
11import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData;
12import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement;
13import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInput;
14import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface;
15import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalOutput;
16import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink;
17
18import org.eclipse.emf.ecore.EAttribute;
19import org.eclipse.emf.ecore.EClass;
20import org.eclipse.emf.ecore.EEnum;
21import org.eclipse.emf.ecore.EPackage;
22import org.eclipse.emf.ecore.EReference;
23
24import org.eclipse.emf.ecore.impl.EPackageImpl;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model <b>Package</b>.
29 * <!-- end-user-doc -->
30 * @generated
31 */
32public class FunctionalArchitecturePackageImpl extends EPackageImpl implements FunctionalArchitecturePackage {
33 /**
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @generated
37 */
38 private EClass functionalElementEClass = null;
39
40 /**
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @generated
44 */
45 private EClass functionalArchitectureModelEClass = null;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 private EClass functionEClass = null;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 private EClass famTerminatorEClass = null;
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 private EClass informationLinkEClass = null;
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 private EClass functionalInterfaceEClass = null;
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 private EClass functionalInputEClass = null;
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 private EClass functionalOutputEClass = null;
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 private EClass functionalDataEClass = null;
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 private EEnum functionTypeEEnum = null;
102
103 /**
104 * Creates an instance of the model <b>Package</b>, registered with
105 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
106 * package URI value.
107 * <p>Note: the correct way to create the package is via the static
108 * factory method {@link #init init()}, which also performs
109 * initialization of the package, or returns the registered package,
110 * if one already exists.
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @see org.eclipse.emf.ecore.EPackage.Registry
114 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage#eNS_URI
115 * @see #init()
116 * @generated
117 */
118 private FunctionalArchitecturePackageImpl() {
119 super(eNS_URI, FunctionalArchitectureFactory.eINSTANCE);
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 private static boolean isInited = false;
128
129 /**
130 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
131 *
132 * <p>This method is used to initialize {@link FunctionalArchitecturePackage#eINSTANCE} when that field is accessed.
133 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @see #eNS_URI
137 * @see #createPackageContents()
138 * @see #initializePackageContents()
139 * @generated
140 */
141 public static FunctionalArchitecturePackage init() {
142 if (isInited) return (FunctionalArchitecturePackage)EPackage.Registry.INSTANCE.getEPackage(FunctionalArchitecturePackage.eNS_URI);
143
144 // Obtain or create and register package
145 FunctionalArchitecturePackageImpl theFunctionalArchitecturePackage = (FunctionalArchitecturePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof FunctionalArchitecturePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new FunctionalArchitecturePackageImpl());
146
147 isInited = true;
148
149 // Create package meta-data objects
150 theFunctionalArchitecturePackage.createPackageContents();
151
152 // Initialize created meta-data
153 theFunctionalArchitecturePackage.initializePackageContents();
154
155 // Mark meta-data to indicate it can't be changed
156 theFunctionalArchitecturePackage.freeze();
157
158
159 // Update the registry and return the package
160 EPackage.Registry.INSTANCE.put(FunctionalArchitecturePackage.eNS_URI, theFunctionalArchitecturePackage);
161 return theFunctionalArchitecturePackage;
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 public EClass getFunctionalElement() {
170 return functionalElementEClass;
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 public EReference getFunctionalElement_Interface() {
179 return (EReference)functionalElementEClass.getEStructuralFeatures().get(0);
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 public EReference getFunctionalElement_Model() {
188 return (EReference)functionalElementEClass.getEStructuralFeatures().get(1);
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 public EReference getFunctionalElement_Parent() {
197 return (EReference)functionalElementEClass.getEStructuralFeatures().get(2);
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 public EClass getFunctionalArchitectureModel() {
206 return functionalArchitectureModelEClass;
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 public EReference getFunctionalArchitectureModel_RootElements() {
215 return (EReference)functionalArchitectureModelEClass.getEStructuralFeatures().get(0);
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 public EClass getFunction() {
224 return functionEClass;
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 public EReference getFunction_SubElements() {
233 return (EReference)functionEClass.getEStructuralFeatures().get(0);
234 }
235
236 /**
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 */
241 public EAttribute getFunction_Type() {
242 return (EAttribute)functionEClass.getEStructuralFeatures().get(1);
243 }
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 public EClass getFAMTerminator() {
251 return famTerminatorEClass;
252 }
253
254 /**
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @generated
258 */
259 public EReference getFAMTerminator_Data() {
260 return (EReference)famTerminatorEClass.getEStructuralFeatures().get(0);
261 }
262
263 /**
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @generated
267 */
268 public EClass getInformationLink() {
269 return informationLinkEClass;
270 }
271
272 /**
273 * <!-- begin-user-doc -->
274 * <!-- end-user-doc -->
275 * @generated
276 */
277 public EReference getInformationLink_From() {
278 return (EReference)informationLinkEClass.getEStructuralFeatures().get(0);
279 }
280
281 /**
282 * <!-- begin-user-doc -->
283 * <!-- end-user-doc -->
284 * @generated
285 */
286 public EReference getInformationLink_To() {
287 return (EReference)informationLinkEClass.getEStructuralFeatures().get(1);
288 }
289
290 /**
291 * <!-- begin-user-doc -->
292 * <!-- end-user-doc -->
293 * @generated
294 */
295 public EClass getFunctionalInterface() {
296 return functionalInterfaceEClass;
297 }
298
299 /**
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 */
304 public EReference getFunctionalInterface_Data() {
305 return (EReference)functionalInterfaceEClass.getEStructuralFeatures().get(0);
306 }
307
308 /**
309 * <!-- begin-user-doc -->
310 * <!-- end-user-doc -->
311 * @generated
312 */
313 public EReference getFunctionalInterface_Element() {
314 return (EReference)functionalInterfaceEClass.getEStructuralFeatures().get(1);
315 }
316
317 /**
318 * <!-- begin-user-doc -->
319 * <!-- end-user-doc -->
320 * @generated
321 */
322 public EClass getFunctionalInput() {
323 return functionalInputEClass;
324 }
325
326 /**
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @generated
330 */
331 public EReference getFunctionalInput_IncomingLinks() {
332 return (EReference)functionalInputEClass.getEStructuralFeatures().get(0);
333 }
334
335 /**
336 * <!-- begin-user-doc -->
337 * <!-- end-user-doc -->
338 * @generated
339 */
340 public EClass getFunctionalOutput() {
341 return functionalOutputEClass;
342 }
343
344 /**
345 * <!-- begin-user-doc -->
346 * <!-- end-user-doc -->
347 * @generated
348 */
349 public EReference getFunctionalOutput_OutgoingLinks() {
350 return (EReference)functionalOutputEClass.getEStructuralFeatures().get(0);
351 }
352
353 /**
354 * <!-- begin-user-doc -->
355 * <!-- end-user-doc -->
356 * @generated
357 */
358 public EClass getFunctionalData() {
359 return functionalDataEClass;
360 }
361
362 /**
363 * <!-- begin-user-doc -->
364 * <!-- end-user-doc -->
365 * @generated
366 */
367 public EReference getFunctionalData_Terminator() {
368 return (EReference)functionalDataEClass.getEStructuralFeatures().get(0);
369 }
370
371 /**
372 * <!-- begin-user-doc -->
373 * <!-- end-user-doc -->
374 * @generated
375 */
376 public EReference getFunctionalData_Interface() {
377 return (EReference)functionalDataEClass.getEStructuralFeatures().get(1);
378 }
379
380 /**
381 * <!-- begin-user-doc -->
382 * <!-- end-user-doc -->
383 * @generated
384 */
385 public EEnum getFunctionType() {
386 return functionTypeEEnum;
387 }
388
389 /**
390 * <!-- begin-user-doc -->
391 * <!-- end-user-doc -->
392 * @generated
393 */
394 public FunctionalArchitectureFactory getFunctionalArchitectureFactory() {
395 return (FunctionalArchitectureFactory)getEFactoryInstance();
396 }
397
398 /**
399 * <!-- begin-user-doc -->
400 * <!-- end-user-doc -->
401 * @generated
402 */
403 private boolean isCreated = false;
404
405 /**
406 * Creates the meta-model objects for the package. This method is
407 * guarded to have no affect on any invocation but its first.
408 * <!-- begin-user-doc -->
409 * <!-- end-user-doc -->
410 * @generated
411 */
412 public void createPackageContents() {
413 if (isCreated) return;
414 isCreated = true;
415
416 // Create classes and their features
417 functionalElementEClass = createEClass(FUNCTIONAL_ELEMENT);
418 createEReference(functionalElementEClass, FUNCTIONAL_ELEMENT__INTERFACE);
419 createEReference(functionalElementEClass, FUNCTIONAL_ELEMENT__MODEL);
420 createEReference(functionalElementEClass, FUNCTIONAL_ELEMENT__PARENT);
421
422 functionalArchitectureModelEClass = createEClass(FUNCTIONAL_ARCHITECTURE_MODEL);
423 createEReference(functionalArchitectureModelEClass, FUNCTIONAL_ARCHITECTURE_MODEL__ROOT_ELEMENTS);
424
425 functionEClass = createEClass(FUNCTION);
426 createEReference(functionEClass, FUNCTION__SUB_ELEMENTS);
427 createEAttribute(functionEClass, FUNCTION__TYPE);
428
429 famTerminatorEClass = createEClass(FAM_TERMINATOR);
430 createEReference(famTerminatorEClass, FAM_TERMINATOR__DATA);
431
432 informationLinkEClass = createEClass(INFORMATION_LINK);
433 createEReference(informationLinkEClass, INFORMATION_LINK__FROM);
434 createEReference(informationLinkEClass, INFORMATION_LINK__TO);
435
436 functionalInterfaceEClass = createEClass(FUNCTIONAL_INTERFACE);
437 createEReference(functionalInterfaceEClass, FUNCTIONAL_INTERFACE__DATA);
438 createEReference(functionalInterfaceEClass, FUNCTIONAL_INTERFACE__ELEMENT);
439
440 functionalInputEClass = createEClass(FUNCTIONAL_INPUT);
441 createEReference(functionalInputEClass, FUNCTIONAL_INPUT__INCOMING_LINKS);
442
443 functionalOutputEClass = createEClass(FUNCTIONAL_OUTPUT);
444 createEReference(functionalOutputEClass, FUNCTIONAL_OUTPUT__OUTGOING_LINKS);
445
446 functionalDataEClass = createEClass(FUNCTIONAL_DATA);
447 createEReference(functionalDataEClass, FUNCTIONAL_DATA__TERMINATOR);
448 createEReference(functionalDataEClass, FUNCTIONAL_DATA__INTERFACE);
449
450 // Create enums
451 functionTypeEEnum = createEEnum(FUNCTION_TYPE);
452 }
453
454 /**
455 * <!-- begin-user-doc -->
456 * <!-- end-user-doc -->
457 * @generated
458 */
459 private boolean isInitialized = false;
460
461 /**
462 * Complete the initialization of the package and its meta-model. This
463 * method is guarded to have no affect on any invocation but its first.
464 * <!-- begin-user-doc -->
465 * <!-- end-user-doc -->
466 * @generated
467 */
468 public void initializePackageContents() {
469 if (isInitialized) return;
470 isInitialized = true;
471
472 // Initialize package
473 setName(eNAME);
474 setNsPrefix(eNS_PREFIX);
475 setNsURI(eNS_URI);
476
477 // Create type parameters
478
479 // Set bounds for type parameters
480
481 // Add supertypes to classes
482 functionEClass.getESuperTypes().add(this.getFunctionalElement());
483 functionalInputEClass.getESuperTypes().add(this.getFunctionalData());
484 functionalOutputEClass.getESuperTypes().add(this.getFunctionalData());
485
486 // Initialize classes and features; add operations and parameters
487 initEClass(functionalElementEClass, FunctionalElement.class, "FunctionalElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
488 initEReference(getFunctionalElement_Interface(), this.getFunctionalInterface(), this.getFunctionalInterface_Element(), "interface", null, 0, 1, FunctionalElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
489 initEReference(getFunctionalElement_Model(), this.getFunctionalArchitectureModel(), null, "model", null, 1, 1, FunctionalElement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
490 initEReference(getFunctionalElement_Parent(), this.getFunction(), this.getFunction_SubElements(), "parent", null, 0, 1, FunctionalElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
491
492 initEClass(functionalArchitectureModelEClass, FunctionalArchitectureModel.class, "FunctionalArchitectureModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
493 initEReference(getFunctionalArchitectureModel_RootElements(), this.getFunctionalElement(), null, "rootElements", null, 0, -1, FunctionalArchitectureModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
494
495 initEClass(functionEClass, Function.class, "Function", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
496 initEReference(getFunction_SubElements(), this.getFunctionalElement(), this.getFunctionalElement_Parent(), "subElements", null, 0, -1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
497 initEAttribute(getFunction_Type(), this.getFunctionType(), "type", null, 1, 1, Function.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
498
499 initEClass(famTerminatorEClass, FAMTerminator.class, "FAMTerminator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
500 initEReference(getFAMTerminator_Data(), this.getFunctionalData(), this.getFunctionalData_Terminator(), "data", null, 0, 1, FAMTerminator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
501
502 initEClass(informationLinkEClass, InformationLink.class, "InformationLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
503 initEReference(getInformationLink_From(), this.getFunctionalOutput(), this.getFunctionalOutput_OutgoingLinks(), "from", null, 0, 1, InformationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
504 initEReference(getInformationLink_To(), this.getFunctionalInput(), this.getFunctionalInput_IncomingLinks(), "to", null, 1, 1, InformationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
505
506 initEClass(functionalInterfaceEClass, FunctionalInterface.class, "FunctionalInterface", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
507 initEReference(getFunctionalInterface_Data(), this.getFunctionalData(), this.getFunctionalData_Interface(), "data", null, 0, -1, FunctionalInterface.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
508 initEReference(getFunctionalInterface_Element(), this.getFunctionalElement(), this.getFunctionalElement_Interface(), "element", null, 0, 1, FunctionalInterface.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
509
510 initEClass(functionalInputEClass, FunctionalInput.class, "FunctionalInput", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
511 initEReference(getFunctionalInput_IncomingLinks(), this.getInformationLink(), this.getInformationLink_To(), "IncomingLinks", null, 0, -1, FunctionalInput.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
512
513 initEClass(functionalOutputEClass, FunctionalOutput.class, "FunctionalOutput", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
514 initEReference(getFunctionalOutput_OutgoingLinks(), this.getInformationLink(), this.getInformationLink_From(), "outgoingLinks", null, 0, -1, FunctionalOutput.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
515
516 initEClass(functionalDataEClass, FunctionalData.class, "FunctionalData", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
517 initEReference(getFunctionalData_Terminator(), this.getFAMTerminator(), this.getFAMTerminator_Data(), "terminator", null, 0, 1, FunctionalData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
518 initEReference(getFunctionalData_Interface(), this.getFunctionalInterface(), this.getFunctionalInterface_Data(), "interface", null, 0, 1, FunctionalData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
519
520 // Initialize enums and add enum literals
521 initEEnum(functionTypeEEnum, FunctionType.class, "FunctionType");
522 addEEnumLiteral(functionTypeEEnum, FunctionType.ROOT);
523 addEEnumLiteral(functionTypeEEnum, FunctionType.INTERMEDIATE);
524 addEEnumLiteral(functionTypeEEnum, FunctionType.LEAF);
525
526 // Create resource
527 createResource(eNS_URI);
528
529 // Create annotations
530 // http://www.eclipse.org/emf/2002/Ecore
531 createEcoreAnnotations();
532 // org.eclipse.viatra.query.querybasedfeature
533 createOrgAnnotations();
534 }
535
536 /**
537 * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
538 * <!-- begin-user-doc -->
539 * <!-- end-user-doc -->
540 * @generated
541 */
542 protected void createEcoreAnnotations() {
543 String source = "http://www.eclipse.org/emf/2002/Ecore";
544 addAnnotation
545 (this,
546 source,
547 new String[] {
548 "settingDelegates", "org.eclipse.viatra.query.querybasedfeature"
549 });
550 }
551
552 /**
553 * Initializes the annotations for <b>org.eclipse.viatra.query.querybasedfeature</b>.
554 * <!-- begin-user-doc -->
555 * <!-- end-user-doc -->
556 * @generated
557 */
558 protected void createOrgAnnotations() {
559 String source = "org.eclipse.viatra.query.querybasedfeature";
560 addAnnotation
561 (getFunctionalElement_Model(),
562 source,
563 new String[] {
564 "patternFQN", "hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.model"
565 });
566 addAnnotation
567 (getFunction_Type(),
568 source,
569 new String[] {
570 "patternFQN", "hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.type"
571 });
572 }
573
574} //FunctionalArchitecturePackageImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalDataImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalDataImpl.java
new file mode 100644
index 00000000..8c04ed53
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalDataImpl.java
@@ -0,0 +1,275 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl;
4
5import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FAMTerminator;
6import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage;
7import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData;
8import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface;
9
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.impl.ENotificationImpl;
21import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
22
23import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
24import org.eclipse.emf.ecore.util.EcoreUtil;
25import org.eclipse.emf.ecore.util.InternalEList;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model object '<em><b>Functional Data</b></em>'.
30 * <!-- end-user-doc -->
31 * <p>
32 * The following features are implemented:
33 * </p>
34 * <ul>
35 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalDataImpl#getTerminator <em>Terminator</em>}</li>
36 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalDataImpl#getInterface <em>Interface</em>}</li>
37 * </ul>
38 *
39 * @generated
40 */
41public abstract class FunctionalDataImpl extends MinimalEObjectImpl.Container implements FunctionalData {
42 /**
43 * The cached value of the '{@link #getTerminator() <em>Terminator</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getTerminator()
47 * @generated
48 * @ordered
49 */
50 protected FAMTerminator terminator;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected FunctionalDataImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return FunctionalArchitecturePackage.Literals.FUNCTIONAL_DATA;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public FAMTerminator getTerminator() {
77 return terminator;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public NotificationChain basicSetTerminator(FAMTerminator newTerminator, NotificationChain msgs) {
86 FAMTerminator oldTerminator = terminator;
87 terminator = newTerminator;
88 if (eNotificationRequired()) {
89 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FunctionalArchitecturePackage.FUNCTIONAL_DATA__TERMINATOR, oldTerminator, newTerminator);
90 if (msgs == null) msgs = notification; else msgs.add(notification);
91 }
92 return msgs;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 public void setTerminator(FAMTerminator newTerminator) {
101 if (newTerminator != terminator) {
102 NotificationChain msgs = null;
103 if (terminator != null)
104 msgs = ((InternalEObject)terminator).eInverseRemove(this, FunctionalArchitecturePackage.FAM_TERMINATOR__DATA, FAMTerminator.class, msgs);
105 if (newTerminator != null)
106 msgs = ((InternalEObject)newTerminator).eInverseAdd(this, FunctionalArchitecturePackage.FAM_TERMINATOR__DATA, FAMTerminator.class, msgs);
107 msgs = basicSetTerminator(newTerminator, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, FunctionalArchitecturePackage.FUNCTIONAL_DATA__TERMINATOR, newTerminator, newTerminator));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 public FunctionalInterface getInterface() {
120 if (eContainerFeatureID() != FunctionalArchitecturePackage.FUNCTIONAL_DATA__INTERFACE) return null;
121 return (FunctionalInterface)eInternalContainer();
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 public NotificationChain basicSetInterface(FunctionalInterface newInterface, NotificationChain msgs) {
130 msgs = eBasicSetContainer((InternalEObject)newInterface, FunctionalArchitecturePackage.FUNCTIONAL_DATA__INTERFACE, msgs);
131 return msgs;
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 public void setInterface(FunctionalInterface newInterface) {
140 if (newInterface != eInternalContainer() || (eContainerFeatureID() != FunctionalArchitecturePackage.FUNCTIONAL_DATA__INTERFACE && newInterface != null)) {
141 if (EcoreUtil.isAncestor(this, newInterface))
142 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
143 NotificationChain msgs = null;
144 if (eInternalContainer() != null)
145 msgs = eBasicRemoveFromContainer(msgs);
146 if (newInterface != null)
147 msgs = ((InternalEObject)newInterface).eInverseAdd(this, FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__DATA, FunctionalInterface.class, msgs);
148 msgs = basicSetInterface(newInterface, msgs);
149 if (msgs != null) msgs.dispatch();
150 }
151 else if (eNotificationRequired())
152 eNotify(new ENotificationImpl(this, Notification.SET, FunctionalArchitecturePackage.FUNCTIONAL_DATA__INTERFACE, newInterface, newInterface));
153 }
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 @SuppressWarnings("unchecked")
161 @Override
162 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
163 switch (featureID) {
164 case FunctionalArchitecturePackage.FUNCTIONAL_DATA__TERMINATOR:
165 if (terminator != null)
166 msgs = ((InternalEObject)terminator).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FunctionalArchitecturePackage.FUNCTIONAL_DATA__TERMINATOR, null, msgs);
167 return basicSetTerminator((FAMTerminator)otherEnd, msgs);
168 case FunctionalArchitecturePackage.FUNCTIONAL_DATA__INTERFACE:
169 if (eInternalContainer() != null)
170 msgs = eBasicRemoveFromContainer(msgs);
171 return basicSetInterface((FunctionalInterface)otherEnd, msgs);
172 }
173 return super.eInverseAdd(otherEnd, featureID, msgs);
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 @Override
182 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
183 switch (featureID) {
184 case FunctionalArchitecturePackage.FUNCTIONAL_DATA__TERMINATOR:
185 return basicSetTerminator(null, msgs);
186 case FunctionalArchitecturePackage.FUNCTIONAL_DATA__INTERFACE:
187 return basicSetInterface(null, msgs);
188 }
189 return super.eInverseRemove(otherEnd, featureID, msgs);
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 @Override
198 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
199 switch (eContainerFeatureID()) {
200 case FunctionalArchitecturePackage.FUNCTIONAL_DATA__INTERFACE:
201 return eInternalContainer().eInverseRemove(this, FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__DATA, FunctionalInterface.class, msgs);
202 }
203 return super.eBasicRemoveFromContainerFeature(msgs);
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public Object eGet(int featureID, boolean resolve, boolean coreType) {
213 switch (featureID) {
214 case FunctionalArchitecturePackage.FUNCTIONAL_DATA__TERMINATOR:
215 return getTerminator();
216 case FunctionalArchitecturePackage.FUNCTIONAL_DATA__INTERFACE:
217 return getInterface();
218 }
219 return super.eGet(featureID, resolve, coreType);
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @SuppressWarnings("unchecked")
228 @Override
229 public void eSet(int featureID, Object newValue) {
230 switch (featureID) {
231 case FunctionalArchitecturePackage.FUNCTIONAL_DATA__TERMINATOR:
232 setTerminator((FAMTerminator)newValue);
233 return;
234 case FunctionalArchitecturePackage.FUNCTIONAL_DATA__INTERFACE:
235 setInterface((FunctionalInterface)newValue);
236 return;
237 }
238 super.eSet(featureID, newValue);
239 }
240
241 /**
242 * <!-- begin-user-doc -->
243 * <!-- end-user-doc -->
244 * @generated
245 */
246 @Override
247 public void eUnset(int featureID) {
248 switch (featureID) {
249 case FunctionalArchitecturePackage.FUNCTIONAL_DATA__TERMINATOR:
250 setTerminator((FAMTerminator)null);
251 return;
252 case FunctionalArchitecturePackage.FUNCTIONAL_DATA__INTERFACE:
253 setInterface((FunctionalInterface)null);
254 return;
255 }
256 super.eUnset(featureID);
257 }
258
259 /**
260 * <!-- begin-user-doc -->
261 * <!-- end-user-doc -->
262 * @generated
263 */
264 @Override
265 public boolean eIsSet(int featureID) {
266 switch (featureID) {
267 case FunctionalArchitecturePackage.FUNCTIONAL_DATA__TERMINATOR:
268 return terminator != null;
269 case FunctionalArchitecturePackage.FUNCTIONAL_DATA__INTERFACE:
270 return getInterface() != null;
271 }
272 return super.eIsSet(featureID);
273 }
274
275} //FunctionalDataImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalElementImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalElementImpl.java
new file mode 100644
index 00000000..69d24ae1
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalElementImpl.java
@@ -0,0 +1,318 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl;
4
5import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.Function;
6import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitectureModel;
7import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage;
8import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement;
9import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface;
10
11import org.eclipse.emf.common.notify.Notification;
12import org.eclipse.emf.common.notify.NotificationChain;
13
14import org.eclipse.emf.ecore.EClass;
15import org.eclipse.emf.ecore.EStructuralFeature;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.impl.ENotificationImpl;
19import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
20
21import org.eclipse.emf.ecore.util.EcoreUtil;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Functional Element</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalElementImpl#getInterface <em>Interface</em>}</li>
32 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalElementImpl#getModel <em>Model</em>}</li>
33 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalElementImpl#getParent <em>Parent</em>}</li>
34 * </ul>
35 *
36 * @generated
37 */
38public abstract class FunctionalElementImpl extends MinimalEObjectImpl.Container implements FunctionalElement {
39 /**
40 * The cached value of the '{@link #getInterface() <em>Interface</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getInterface()
44 * @generated
45 * @ordered
46 */
47 protected FunctionalInterface interface_;
48
49 /**
50 * The cached setting delegate for the '{@link #getModel() <em>Model</em>}' reference.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #getModel()
54 * @generated
55 * @ordered
56 */
57 protected EStructuralFeature.Internal.SettingDelegate MODEL__ESETTING_DELEGATE = ((EStructuralFeature.Internal)FunctionalArchitecturePackage.Literals.FUNCTIONAL_ELEMENT__MODEL).getSettingDelegate();
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 protected FunctionalElementImpl() {
65 super();
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 protected EClass eStaticClass() {
75 return FunctionalArchitecturePackage.Literals.FUNCTIONAL_ELEMENT;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public FunctionalInterface getInterface() {
84 return interface_;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public NotificationChain basicSetInterface(FunctionalInterface newInterface, NotificationChain msgs) {
93 FunctionalInterface oldInterface = interface_;
94 interface_ = newInterface;
95 if (eNotificationRequired()) {
96 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE, oldInterface, newInterface);
97 if (msgs == null) msgs = notification; else msgs.add(notification);
98 }
99 return msgs;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public void setInterface(FunctionalInterface newInterface) {
108 if (newInterface != interface_) {
109 NotificationChain msgs = null;
110 if (interface_ != null)
111 msgs = ((InternalEObject)interface_).eInverseRemove(this, FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT, FunctionalInterface.class, msgs);
112 if (newInterface != null)
113 msgs = ((InternalEObject)newInterface).eInverseAdd(this, FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT, FunctionalInterface.class, msgs);
114 msgs = basicSetInterface(newInterface, msgs);
115 if (msgs != null) msgs.dispatch();
116 }
117 else if (eNotificationRequired())
118 eNotify(new ENotificationImpl(this, Notification.SET, FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE, newInterface, newInterface));
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 public FunctionalArchitectureModel getModel() {
127 return (FunctionalArchitectureModel)MODEL__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 public FunctionalArchitectureModel basicGetModel() {
136 return (FunctionalArchitectureModel)MODEL__ESETTING_DELEGATE.dynamicGet(this, null, 0, false, false);
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 public void setModel(FunctionalArchitectureModel newModel) {
145 MODEL__ESETTING_DELEGATE.dynamicSet(this, null, 0, newModel);
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 public Function getParent() {
154 if (eContainerFeatureID() != FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__PARENT) return null;
155 return (Function)eInternalContainer();
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 public NotificationChain basicSetParent(Function newParent, NotificationChain msgs) {
164 msgs = eBasicSetContainer((InternalEObject)newParent, FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__PARENT, msgs);
165 return msgs;
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 public void setParent(Function newParent) {
174 if (newParent != eInternalContainer() || (eContainerFeatureID() != FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__PARENT && newParent != null)) {
175 if (EcoreUtil.isAncestor(this, newParent))
176 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
177 NotificationChain msgs = null;
178 if (eInternalContainer() != null)
179 msgs = eBasicRemoveFromContainer(msgs);
180 if (newParent != null)
181 msgs = ((InternalEObject)newParent).eInverseAdd(this, FunctionalArchitecturePackage.FUNCTION__SUB_ELEMENTS, Function.class, msgs);
182 msgs = basicSetParent(newParent, msgs);
183 if (msgs != null) msgs.dispatch();
184 }
185 else if (eNotificationRequired())
186 eNotify(new ENotificationImpl(this, Notification.SET, FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__PARENT, newParent, newParent));
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
196 switch (featureID) {
197 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE:
198 if (interface_ != null)
199 msgs = ((InternalEObject)interface_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE, null, msgs);
200 return basicSetInterface((FunctionalInterface)otherEnd, msgs);
201 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__PARENT:
202 if (eInternalContainer() != null)
203 msgs = eBasicRemoveFromContainer(msgs);
204 return basicSetParent((Function)otherEnd, msgs);
205 }
206 return super.eInverseAdd(otherEnd, featureID, msgs);
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 @Override
215 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
216 switch (featureID) {
217 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE:
218 return basicSetInterface(null, msgs);
219 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__PARENT:
220 return basicSetParent(null, msgs);
221 }
222 return super.eInverseRemove(otherEnd, featureID, msgs);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
232 switch (eContainerFeatureID()) {
233 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__PARENT:
234 return eInternalContainer().eInverseRemove(this, FunctionalArchitecturePackage.FUNCTION__SUB_ELEMENTS, Function.class, msgs);
235 }
236 return super.eBasicRemoveFromContainerFeature(msgs);
237 }
238
239 /**
240 * <!-- begin-user-doc -->
241 * <!-- end-user-doc -->
242 * @generated
243 */
244 @Override
245 public Object eGet(int featureID, boolean resolve, boolean coreType) {
246 switch (featureID) {
247 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE:
248 return getInterface();
249 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__MODEL:
250 if (resolve) return getModel();
251 return basicGetModel();
252 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__PARENT:
253 return getParent();
254 }
255 return super.eGet(featureID, resolve, coreType);
256 }
257
258 /**
259 * <!-- begin-user-doc -->
260 * <!-- end-user-doc -->
261 * @generated
262 */
263 @Override
264 public void eSet(int featureID, Object newValue) {
265 switch (featureID) {
266 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE:
267 setInterface((FunctionalInterface)newValue);
268 return;
269 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__MODEL:
270 setModel((FunctionalArchitectureModel)newValue);
271 return;
272 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__PARENT:
273 setParent((Function)newValue);
274 return;
275 }
276 super.eSet(featureID, newValue);
277 }
278
279 /**
280 * <!-- begin-user-doc -->
281 * <!-- end-user-doc -->
282 * @generated
283 */
284 @Override
285 public void eUnset(int featureID) {
286 switch (featureID) {
287 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE:
288 setInterface((FunctionalInterface)null);
289 return;
290 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__MODEL:
291 setModel((FunctionalArchitectureModel)null);
292 return;
293 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__PARENT:
294 setParent((Function)null);
295 return;
296 }
297 super.eUnset(featureID);
298 }
299
300 /**
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 */
305 @Override
306 public boolean eIsSet(int featureID) {
307 switch (featureID) {
308 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE:
309 return interface_ != null;
310 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__MODEL:
311 return MODEL__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);
312 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__PARENT:
313 return getParent() != null;
314 }
315 return super.eIsSet(featureID);
316 }
317
318} //FunctionalElementImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalInputImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalInputImpl.java
new file mode 100644
index 00000000..5dbd0b31
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalInputImpl.java
@@ -0,0 +1,165 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl;
4
5import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage;
6import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInput;
7import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Functional Input</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalInputImpl#getIncomingLinks <em>Incoming Links</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class FunctionalInputImpl extends FunctionalDataImpl implements FunctionalInput {
35 /**
36 * The cached value of the '{@link #getIncomingLinks() <em>Incoming Links</em>}' reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getIncomingLinks()
40 * @generated
41 * @ordered
42 */
43 protected EList<InformationLink> incomingLinks;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected FunctionalInputImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return FunctionalArchitecturePackage.Literals.FUNCTIONAL_INPUT;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public EList<InformationLink> getIncomingLinks() {
70 if (incomingLinks == null) {
71 incomingLinks = new EObjectWithInverseResolvingEList<InformationLink>(InformationLink.class, this, FunctionalArchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS, FunctionalArchitecturePackage.INFORMATION_LINK__TO);
72 }
73 return incomingLinks;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @SuppressWarnings("unchecked")
82 @Override
83 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
84 switch (featureID) {
85 case FunctionalArchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
86 return ((InternalEList<InternalEObject>)(InternalEList<?>)getIncomingLinks()).basicAdd(otherEnd, msgs);
87 }
88 return super.eInverseAdd(otherEnd, featureID, msgs);
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
98 switch (featureID) {
99 case FunctionalArchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
100 return ((InternalEList<?>)getIncomingLinks()).basicRemove(otherEnd, msgs);
101 }
102 return super.eInverseRemove(otherEnd, featureID, msgs);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public Object eGet(int featureID, boolean resolve, boolean coreType) {
112 switch (featureID) {
113 case FunctionalArchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
114 return getIncomingLinks();
115 }
116 return super.eGet(featureID, resolve, coreType);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @SuppressWarnings("unchecked")
125 @Override
126 public void eSet(int featureID, Object newValue) {
127 switch (featureID) {
128 case FunctionalArchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
129 getIncomingLinks().clear();
130 getIncomingLinks().addAll((Collection<? extends InformationLink>)newValue);
131 return;
132 }
133 super.eSet(featureID, newValue);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public void eUnset(int featureID) {
143 switch (featureID) {
144 case FunctionalArchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
145 getIncomingLinks().clear();
146 return;
147 }
148 super.eUnset(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public boolean eIsSet(int featureID) {
158 switch (featureID) {
159 case FunctionalArchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS:
160 return incomingLinks != null && !incomingLinks.isEmpty();
161 }
162 return super.eIsSet(featureID);
163 }
164
165} //FunctionalInputImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalInterfaceImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalInterfaceImpl.java
new file mode 100644
index 00000000..68c85b5b
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalInterfaceImpl.java
@@ -0,0 +1,243 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl;
4
5import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage;
6import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData;
7import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement;
8import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface;
9
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.impl.ENotificationImpl;
21import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
22
23import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
24import org.eclipse.emf.ecore.util.EcoreUtil;
25import org.eclipse.emf.ecore.util.InternalEList;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model object '<em><b>Functional Interface</b></em>'.
30 * <!-- end-user-doc -->
31 * <p>
32 * The following features are implemented:
33 * </p>
34 * <ul>
35 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalInterfaceImpl#getData <em>Data</em>}</li>
36 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalInterfaceImpl#getElement <em>Element</em>}</li>
37 * </ul>
38 *
39 * @generated
40 */
41public class FunctionalInterfaceImpl extends MinimalEObjectImpl.Container implements FunctionalInterface {
42 /**
43 * The cached value of the '{@link #getData() <em>Data</em>}' containment reference list.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getData()
47 * @generated
48 * @ordered
49 */
50 protected EList<FunctionalData> data;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected FunctionalInterfaceImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return FunctionalArchitecturePackage.Literals.FUNCTIONAL_INTERFACE;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public EList<FunctionalData> getData() {
77 if (data == null) {
78 data = new EObjectContainmentWithInverseEList<FunctionalData>(FunctionalData.class, this, FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__DATA, FunctionalArchitecturePackage.FUNCTIONAL_DATA__INTERFACE);
79 }
80 return data;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 public FunctionalElement getElement() {
89 if (eContainerFeatureID() != FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT) return null;
90 return (FunctionalElement)eInternalContainer();
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 public NotificationChain basicSetElement(FunctionalElement newElement, NotificationChain msgs) {
99 msgs = eBasicSetContainer((InternalEObject)newElement, FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT, msgs);
100 return msgs;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 public void setElement(FunctionalElement newElement) {
109 if (newElement != eInternalContainer() || (eContainerFeatureID() != FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT && newElement != null)) {
110 if (EcoreUtil.isAncestor(this, newElement))
111 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
112 NotificationChain msgs = null;
113 if (eInternalContainer() != null)
114 msgs = eBasicRemoveFromContainer(msgs);
115 if (newElement != null)
116 msgs = ((InternalEObject)newElement).eInverseAdd(this, FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE, FunctionalElement.class, msgs);
117 msgs = basicSetElement(newElement, msgs);
118 if (msgs != null) msgs.dispatch();
119 }
120 else if (eNotificationRequired())
121 eNotify(new ENotificationImpl(this, Notification.SET, FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT, newElement, newElement));
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @SuppressWarnings("unchecked")
130 @Override
131 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
132 switch (featureID) {
133 case FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__DATA:
134 return ((InternalEList<InternalEObject>)(InternalEList<?>)getData()).basicAdd(otherEnd, msgs);
135 case FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT:
136 if (eInternalContainer() != null)
137 msgs = eBasicRemoveFromContainer(msgs);
138 return basicSetElement((FunctionalElement)otherEnd, msgs);
139 }
140 return super.eInverseAdd(otherEnd, featureID, msgs);
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 @Override
149 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
150 switch (featureID) {
151 case FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__DATA:
152 return ((InternalEList<?>)getData()).basicRemove(otherEnd, msgs);
153 case FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT:
154 return basicSetElement(null, msgs);
155 }
156 return super.eInverseRemove(otherEnd, featureID, msgs);
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @Override
165 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
166 switch (eContainerFeatureID()) {
167 case FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT:
168 return eInternalContainer().eInverseRemove(this, FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT__INTERFACE, FunctionalElement.class, msgs);
169 }
170 return super.eBasicRemoveFromContainerFeature(msgs);
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public Object eGet(int featureID, boolean resolve, boolean coreType) {
180 switch (featureID) {
181 case FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__DATA:
182 return getData();
183 case FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT:
184 return getElement();
185 }
186 return super.eGet(featureID, resolve, coreType);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @SuppressWarnings("unchecked")
195 @Override
196 public void eSet(int featureID, Object newValue) {
197 switch (featureID) {
198 case FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__DATA:
199 getData().clear();
200 getData().addAll((Collection<? extends FunctionalData>)newValue);
201 return;
202 case FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT:
203 setElement((FunctionalElement)newValue);
204 return;
205 }
206 super.eSet(featureID, newValue);
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 @Override
215 public void eUnset(int featureID) {
216 switch (featureID) {
217 case FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__DATA:
218 getData().clear();
219 return;
220 case FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT:
221 setElement((FunctionalElement)null);
222 return;
223 }
224 super.eUnset(featureID);
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public boolean eIsSet(int featureID) {
234 switch (featureID) {
235 case FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__DATA:
236 return data != null && !data.isEmpty();
237 case FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE__ELEMENT:
238 return getElement() != null;
239 }
240 return super.eIsSet(featureID);
241 }
242
243} //FunctionalInterfaceImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalOutputImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalOutputImpl.java
new file mode 100644
index 00000000..6c59d003
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/FunctionalOutputImpl.java
@@ -0,0 +1,165 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl;
4
5import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage;
6import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalOutput;
7import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Functional Output</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.FunctionalOutputImpl#getOutgoingLinks <em>Outgoing Links</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class FunctionalOutputImpl extends FunctionalDataImpl implements FunctionalOutput {
35 /**
36 * The cached value of the '{@link #getOutgoingLinks() <em>Outgoing Links</em>}' containment reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getOutgoingLinks()
40 * @generated
41 * @ordered
42 */
43 protected EList<InformationLink> outgoingLinks;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected FunctionalOutputImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return FunctionalArchitecturePackage.Literals.FUNCTIONAL_OUTPUT;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public EList<InformationLink> getOutgoingLinks() {
70 if (outgoingLinks == null) {
71 outgoingLinks = new EObjectContainmentWithInverseEList<InformationLink>(InformationLink.class, this, FunctionalArchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS, FunctionalArchitecturePackage.INFORMATION_LINK__FROM);
72 }
73 return outgoingLinks;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @SuppressWarnings("unchecked")
82 @Override
83 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
84 switch (featureID) {
85 case FunctionalArchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
86 return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutgoingLinks()).basicAdd(otherEnd, msgs);
87 }
88 return super.eInverseAdd(otherEnd, featureID, msgs);
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
98 switch (featureID) {
99 case FunctionalArchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
100 return ((InternalEList<?>)getOutgoingLinks()).basicRemove(otherEnd, msgs);
101 }
102 return super.eInverseRemove(otherEnd, featureID, msgs);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public Object eGet(int featureID, boolean resolve, boolean coreType) {
112 switch (featureID) {
113 case FunctionalArchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
114 return getOutgoingLinks();
115 }
116 return super.eGet(featureID, resolve, coreType);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @SuppressWarnings("unchecked")
125 @Override
126 public void eSet(int featureID, Object newValue) {
127 switch (featureID) {
128 case FunctionalArchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
129 getOutgoingLinks().clear();
130 getOutgoingLinks().addAll((Collection<? extends InformationLink>)newValue);
131 return;
132 }
133 super.eSet(featureID, newValue);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public void eUnset(int featureID) {
143 switch (featureID) {
144 case FunctionalArchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
145 getOutgoingLinks().clear();
146 return;
147 }
148 super.eUnset(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public boolean eIsSet(int featureID) {
158 switch (featureID) {
159 case FunctionalArchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS:
160 return outgoingLinks != null && !outgoingLinks.isEmpty();
161 }
162 return super.eIsSet(featureID);
163 }
164
165} //FunctionalOutputImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/InformationLinkImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/InformationLinkImpl.java
new file mode 100644
index 00000000..136162f6
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/impl/InformationLinkImpl.java
@@ -0,0 +1,285 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl;
4
5import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage;
6import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInput;
7import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalOutput;
8import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
18
19import org.eclipse.emf.ecore.util.EcoreUtil;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Information Link</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.InformationLinkImpl#getFrom <em>From</em>}</li>
30 * <li>{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.impl.InformationLinkImpl#getTo <em>To</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class InformationLinkImpl extends MinimalEObjectImpl.Container implements InformationLink {
36 /**
37 * The cached value of the '{@link #getTo() <em>To</em>}' reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getTo()
41 * @generated
42 * @ordered
43 */
44 protected FunctionalInput to;
45
46 /**
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 protected InformationLinkImpl() {
52 super();
53 }
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 @Override
61 protected EClass eStaticClass() {
62 return FunctionalArchitecturePackage.Literals.INFORMATION_LINK;
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 public FunctionalOutput getFrom() {
71 if (eContainerFeatureID() != FunctionalArchitecturePackage.INFORMATION_LINK__FROM) return null;
72 return (FunctionalOutput)eInternalContainer();
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public NotificationChain basicSetFrom(FunctionalOutput newFrom, NotificationChain msgs) {
81 msgs = eBasicSetContainer((InternalEObject)newFrom, FunctionalArchitecturePackage.INFORMATION_LINK__FROM, msgs);
82 return msgs;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 public void setFrom(FunctionalOutput newFrom) {
91 if (newFrom != eInternalContainer() || (eContainerFeatureID() != FunctionalArchitecturePackage.INFORMATION_LINK__FROM && newFrom != null)) {
92 if (EcoreUtil.isAncestor(this, newFrom))
93 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
94 NotificationChain msgs = null;
95 if (eInternalContainer() != null)
96 msgs = eBasicRemoveFromContainer(msgs);
97 if (newFrom != null)
98 msgs = ((InternalEObject)newFrom).eInverseAdd(this, FunctionalArchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS, FunctionalOutput.class, msgs);
99 msgs = basicSetFrom(newFrom, msgs);
100 if (msgs != null) msgs.dispatch();
101 }
102 else if (eNotificationRequired())
103 eNotify(new ENotificationImpl(this, Notification.SET, FunctionalArchitecturePackage.INFORMATION_LINK__FROM, newFrom, newFrom));
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 public FunctionalInput getTo() {
112 if (to != null && to.eIsProxy()) {
113 InternalEObject oldTo = (InternalEObject)to;
114 to = (FunctionalInput)eResolveProxy(oldTo);
115 if (to != oldTo) {
116 if (eNotificationRequired())
117 eNotify(new ENotificationImpl(this, Notification.RESOLVE, FunctionalArchitecturePackage.INFORMATION_LINK__TO, oldTo, to));
118 }
119 }
120 return to;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public FunctionalInput basicGetTo() {
129 return to;
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 public NotificationChain basicSetTo(FunctionalInput newTo, NotificationChain msgs) {
138 FunctionalInput oldTo = to;
139 to = newTo;
140 if (eNotificationRequired()) {
141 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FunctionalArchitecturePackage.INFORMATION_LINK__TO, oldTo, newTo);
142 if (msgs == null) msgs = notification; else msgs.add(notification);
143 }
144 return msgs;
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 public void setTo(FunctionalInput newTo) {
153 if (newTo != to) {
154 NotificationChain msgs = null;
155 if (to != null)
156 msgs = ((InternalEObject)to).eInverseRemove(this, FunctionalArchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS, FunctionalInput.class, msgs);
157 if (newTo != null)
158 msgs = ((InternalEObject)newTo).eInverseAdd(this, FunctionalArchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS, FunctionalInput.class, msgs);
159 msgs = basicSetTo(newTo, msgs);
160 if (msgs != null) msgs.dispatch();
161 }
162 else if (eNotificationRequired())
163 eNotify(new ENotificationImpl(this, Notification.SET, FunctionalArchitecturePackage.INFORMATION_LINK__TO, newTo, newTo));
164 }
165
166 /**
167 * <!-- begin-user-doc -->
168 * <!-- end-user-doc -->
169 * @generated
170 */
171 @Override
172 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
173 switch (featureID) {
174 case FunctionalArchitecturePackage.INFORMATION_LINK__FROM:
175 if (eInternalContainer() != null)
176 msgs = eBasicRemoveFromContainer(msgs);
177 return basicSetFrom((FunctionalOutput)otherEnd, msgs);
178 case FunctionalArchitecturePackage.INFORMATION_LINK__TO:
179 if (to != null)
180 msgs = ((InternalEObject)to).eInverseRemove(this, FunctionalArchitecturePackage.FUNCTIONAL_INPUT__INCOMING_LINKS, FunctionalInput.class, msgs);
181 return basicSetTo((FunctionalInput)otherEnd, msgs);
182 }
183 return super.eInverseAdd(otherEnd, featureID, msgs);
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 @Override
192 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
193 switch (featureID) {
194 case FunctionalArchitecturePackage.INFORMATION_LINK__FROM:
195 return basicSetFrom(null, msgs);
196 case FunctionalArchitecturePackage.INFORMATION_LINK__TO:
197 return basicSetTo(null, msgs);
198 }
199 return super.eInverseRemove(otherEnd, featureID, msgs);
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 @Override
208 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
209 switch (eContainerFeatureID()) {
210 case FunctionalArchitecturePackage.INFORMATION_LINK__FROM:
211 return eInternalContainer().eInverseRemove(this, FunctionalArchitecturePackage.FUNCTIONAL_OUTPUT__OUTGOING_LINKS, FunctionalOutput.class, msgs);
212 }
213 return super.eBasicRemoveFromContainerFeature(msgs);
214 }
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 @Override
222 public Object eGet(int featureID, boolean resolve, boolean coreType) {
223 switch (featureID) {
224 case FunctionalArchitecturePackage.INFORMATION_LINK__FROM:
225 return getFrom();
226 case FunctionalArchitecturePackage.INFORMATION_LINK__TO:
227 if (resolve) return getTo();
228 return basicGetTo();
229 }
230 return super.eGet(featureID, resolve, coreType);
231 }
232
233 /**
234 * <!-- begin-user-doc -->
235 * <!-- end-user-doc -->
236 * @generated
237 */
238 @Override
239 public void eSet(int featureID, Object newValue) {
240 switch (featureID) {
241 case FunctionalArchitecturePackage.INFORMATION_LINK__FROM:
242 setFrom((FunctionalOutput)newValue);
243 return;
244 case FunctionalArchitecturePackage.INFORMATION_LINK__TO:
245 setTo((FunctionalInput)newValue);
246 return;
247 }
248 super.eSet(featureID, newValue);
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 @Override
257 public void eUnset(int featureID) {
258 switch (featureID) {
259 case FunctionalArchitecturePackage.INFORMATION_LINK__FROM:
260 setFrom((FunctionalOutput)null);
261 return;
262 case FunctionalArchitecturePackage.INFORMATION_LINK__TO:
263 setTo((FunctionalInput)null);
264 return;
265 }
266 super.eUnset(featureID);
267 }
268
269 /**
270 * <!-- begin-user-doc -->
271 * <!-- end-user-doc -->
272 * @generated
273 */
274 @Override
275 public boolean eIsSet(int featureID) {
276 switch (featureID) {
277 case FunctionalArchitecturePackage.INFORMATION_LINK__FROM:
278 return getFrom() != null;
279 case FunctionalArchitecturePackage.INFORMATION_LINK__TO:
280 return to != null;
281 }
282 return super.eIsSet(featureID);
283 }
284
285} //InformationLinkImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/util/FunctionalArchitectureAdapterFactory.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/util/FunctionalArchitectureAdapterFactory.java
new file mode 100644
index 00000000..83edda47
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/util/FunctionalArchitectureAdapterFactory.java
@@ -0,0 +1,265 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.util;
4
5import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.*;
6import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface;
7
8import org.eclipse.emf.common.notify.Adapter;
9import org.eclipse.emf.common.notify.Notifier;
10
11import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
12
13import org.eclipse.emf.ecore.EObject;
14
15/**
16 * <!-- begin-user-doc -->
17 * The <b>Adapter Factory</b> for the model.
18 * It provides an adapter <code>createXXX</code> method for each class of the model.
19 * <!-- end-user-doc -->
20 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage
21 * @generated
22 */
23public class FunctionalArchitectureAdapterFactory extends AdapterFactoryImpl {
24 /**
25 * The cached model package.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @generated
29 */
30 protected static FunctionalArchitecturePackage modelPackage;
31
32 /**
33 * Creates an instance of the adapter factory.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @generated
37 */
38 public FunctionalArchitectureAdapterFactory() {
39 if (modelPackage == null) {
40 modelPackage = FunctionalArchitecturePackage.eINSTANCE;
41 }
42 }
43
44 /**
45 * Returns whether this factory is applicable for the type of the object.
46 * <!-- begin-user-doc -->
47 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
48 * <!-- end-user-doc -->
49 * @return whether this factory is applicable for the type of the object.
50 * @generated
51 */
52 @Override
53 public boolean isFactoryForType(Object object) {
54 if (object == modelPackage) {
55 return true;
56 }
57 if (object instanceof EObject) {
58 return ((EObject)object).eClass().getEPackage() == modelPackage;
59 }
60 return false;
61 }
62
63 /**
64 * The switch that delegates to the <code>createXXX</code> methods.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 protected FunctionalArchitectureSwitch<Adapter> modelSwitch =
70 new FunctionalArchitectureSwitch<Adapter>() {
71 @Override
72 public Adapter caseFunctionalElement(FunctionalElement object) {
73 return createFunctionalElementAdapter();
74 }
75 @Override
76 public Adapter caseFunctionalArchitectureModel(FunctionalArchitectureModel object) {
77 return createFunctionalArchitectureModelAdapter();
78 }
79 @Override
80 public Adapter caseFunction(Function object) {
81 return createFunctionAdapter();
82 }
83 @Override
84 public Adapter caseFAMTerminator(FAMTerminator object) {
85 return createFAMTerminatorAdapter();
86 }
87 @Override
88 public Adapter caseInformationLink(InformationLink object) {
89 return createInformationLinkAdapter();
90 }
91 @Override
92 public Adapter caseFunctionalInterface(FunctionalInterface object) {
93 return createFunctionalInterfaceAdapter();
94 }
95 @Override
96 public Adapter caseFunctionalInput(FunctionalInput object) {
97 return createFunctionalInputAdapter();
98 }
99 @Override
100 public Adapter caseFunctionalOutput(FunctionalOutput object) {
101 return createFunctionalOutputAdapter();
102 }
103 @Override
104 public Adapter caseFunctionalData(FunctionalData object) {
105 return createFunctionalDataAdapter();
106 }
107 @Override
108 public Adapter defaultCase(EObject object) {
109 return createEObjectAdapter();
110 }
111 };
112
113 /**
114 * Creates an adapter for the <code>target</code>.
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @param target the object to adapt.
118 * @return the adapter for the <code>target</code>.
119 * @generated
120 */
121 @Override
122 public Adapter createAdapter(Notifier target) {
123 return modelSwitch.doSwitch((EObject)target);
124 }
125
126
127 /**
128 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement <em>Functional Element</em>}'.
129 * <!-- begin-user-doc -->
130 * This default implementation returns null so that we can easily ignore cases;
131 * it's useful to ignore a case when inheritance will catch all the cases anyway.
132 * <!-- end-user-doc -->
133 * @return the new adapter.
134 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalElement
135 * @generated
136 */
137 public Adapter createFunctionalElementAdapter() {
138 return null;
139 }
140
141 /**
142 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitectureModel <em>Model</em>}'.
143 * <!-- begin-user-doc -->
144 * This default implementation returns null so that we can easily ignore cases;
145 * it's useful to ignore a case when inheritance will catch all the cases anyway.
146 * <!-- end-user-doc -->
147 * @return the new adapter.
148 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitectureModel
149 * @generated
150 */
151 public Adapter createFunctionalArchitectureModelAdapter() {
152 return null;
153 }
154
155 /**
156 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.Function <em>Function</em>}'.
157 * <!-- begin-user-doc -->
158 * This default implementation returns null so that we can easily ignore cases;
159 * it's useful to ignore a case when inheritance will catch all the cases anyway.
160 * <!-- end-user-doc -->
161 * @return the new adapter.
162 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.Function
163 * @generated
164 */
165 public Adapter createFunctionAdapter() {
166 return null;
167 }
168
169 /**
170 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FAMTerminator <em>FAM Terminator</em>}'.
171 * <!-- begin-user-doc -->
172 * This default implementation returns null so that we can easily ignore cases;
173 * it's useful to ignore a case when inheritance will catch all the cases anyway.
174 * <!-- end-user-doc -->
175 * @return the new adapter.
176 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FAMTerminator
177 * @generated
178 */
179 public Adapter createFAMTerminatorAdapter() {
180 return null;
181 }
182
183 /**
184 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink <em>Information Link</em>}'.
185 * <!-- begin-user-doc -->
186 * This default implementation returns null so that we can easily ignore cases;
187 * it's useful to ignore a case when inheritance will catch all the cases anyway.
188 * <!-- end-user-doc -->
189 * @return the new adapter.
190 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.InformationLink
191 * @generated
192 */
193 public Adapter createInformationLinkAdapter() {
194 return null;
195 }
196
197 /**
198 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface <em>Functional Interface</em>}'.
199 * <!-- begin-user-doc -->
200 * This default implementation returns null so that we can easily ignore cases;
201 * it's useful to ignore a case when inheritance will catch all the cases anyway.
202 * <!-- end-user-doc -->
203 * @return the new adapter.
204 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface
205 * @generated
206 */
207 public Adapter createFunctionalInterfaceAdapter() {
208 return null;
209 }
210
211 /**
212 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInput <em>Functional Input</em>}'.
213 * <!-- begin-user-doc -->
214 * This default implementation returns null so that we can easily ignore cases;
215 * it's useful to ignore a case when inheritance will catch all the cases anyway.
216 * <!-- end-user-doc -->
217 * @return the new adapter.
218 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInput
219 * @generated
220 */
221 public Adapter createFunctionalInputAdapter() {
222 return null;
223 }
224
225 /**
226 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalOutput <em>Functional Output</em>}'.
227 * <!-- begin-user-doc -->
228 * This default implementation returns null so that we can easily ignore cases;
229 * it's useful to ignore a case when inheritance will catch all the cases anyway.
230 * <!-- end-user-doc -->
231 * @return the new adapter.
232 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalOutput
233 * @generated
234 */
235 public Adapter createFunctionalOutputAdapter() {
236 return null;
237 }
238
239 /**
240 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData <em>Functional Data</em>}'.
241 * <!-- begin-user-doc -->
242 * This default implementation returns null so that we can easily ignore cases;
243 * it's useful to ignore a case when inheritance will catch all the cases anyway.
244 * <!-- end-user-doc -->
245 * @return the new adapter.
246 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalData
247 * @generated
248 */
249 public Adapter createFunctionalDataAdapter() {
250 return null;
251 }
252
253 /**
254 * Creates a new adapter for the default case.
255 * <!-- begin-user-doc -->
256 * This default implementation returns null.
257 * <!-- end-user-doc -->
258 * @return the new adapter.
259 * @generated
260 */
261 public Adapter createEObjectAdapter() {
262 return null;
263 }
264
265} //FunctionalArchitectureAdapterFactory
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/util/FunctionalArchitectureSwitch.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/util/FunctionalArchitectureSwitch.java
new file mode 100644
index 00000000..1eeafa21
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen/hu/bme/mit/inf/dslreasomer/domains/transima/fam/FunctionalArchitecture/util/FunctionalArchitectureSwitch.java
@@ -0,0 +1,282 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.util;
4
5import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.*;
6import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalInterface;
7
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage;
10
11import org.eclipse.emf.ecore.util.Switch;
12
13/**
14 * <!-- begin-user-doc -->
15 * The <b>Switch</b> for the model's inheritance hierarchy.
16 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
17 * to invoke the <code>caseXXX</code> method for each class of the model,
18 * starting with the actual class of the object
19 * and proceeding up the inheritance hierarchy
20 * until a non-null result is returned,
21 * which is the result of the switch.
22 * <!-- end-user-doc -->
23 * @see hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage
24 * @generated
25 */
26public class FunctionalArchitectureSwitch<T> extends Switch<T> {
27 /**
28 * The cached model package
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 protected static FunctionalArchitecturePackage modelPackage;
34
35 /**
36 * Creates an instance of the switch.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @generated
40 */
41 public FunctionalArchitectureSwitch() {
42 if (modelPackage == null) {
43 modelPackage = FunctionalArchitecturePackage.eINSTANCE;
44 }
45 }
46
47 /**
48 * Checks whether this is a switch for the given package.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @param ePackage the package in question.
52 * @return whether this is a switch for the given package.
53 * @generated
54 */
55 @Override
56 protected boolean isSwitchFor(EPackage ePackage) {
57 return ePackage == modelPackage;
58 }
59
60 /**
61 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return the first non-null result returned by a <code>caseXXX</code> call.
65 * @generated
66 */
67 @Override
68 protected T doSwitch(int classifierID, EObject theEObject) {
69 switch (classifierID) {
70 case FunctionalArchitecturePackage.FUNCTIONAL_ELEMENT: {
71 FunctionalElement functionalElement = (FunctionalElement)theEObject;
72 T result = caseFunctionalElement(functionalElement);
73 if (result == null) result = defaultCase(theEObject);
74 return result;
75 }
76 case FunctionalArchitecturePackage.FUNCTIONAL_ARCHITECTURE_MODEL: {
77 FunctionalArchitectureModel functionalArchitectureModel = (FunctionalArchitectureModel)theEObject;
78 T result = caseFunctionalArchitectureModel(functionalArchitectureModel);
79 if (result == null) result = defaultCase(theEObject);
80 return result;
81 }
82 case FunctionalArchitecturePackage.FUNCTION: {
83 Function function = (Function)theEObject;
84 T result = caseFunction(function);
85 if (result == null) result = caseFunctionalElement(function);
86 if (result == null) result = defaultCase(theEObject);
87 return result;
88 }
89 case FunctionalArchitecturePackage.FAM_TERMINATOR: {
90 FAMTerminator famTerminator = (FAMTerminator)theEObject;
91 T result = caseFAMTerminator(famTerminator);
92 if (result == null) result = defaultCase(theEObject);
93 return result;
94 }
95 case FunctionalArchitecturePackage.INFORMATION_LINK: {
96 InformationLink informationLink = (InformationLink)theEObject;
97 T result = caseInformationLink(informationLink);
98 if (result == null) result = defaultCase(theEObject);
99 return result;
100 }
101 case FunctionalArchitecturePackage.FUNCTIONAL_INTERFACE: {
102 FunctionalInterface functionalInterface = (FunctionalInterface)theEObject;
103 T result = caseFunctionalInterface(functionalInterface);
104 if (result == null) result = defaultCase(theEObject);
105 return result;
106 }
107 case FunctionalArchitecturePackage.FUNCTIONAL_INPUT: {
108 FunctionalInput functionalInput = (FunctionalInput)theEObject;
109 T result = caseFunctionalInput(functionalInput);
110 if (result == null) result = caseFunctionalData(functionalInput);
111 if (result == null) result = defaultCase(theEObject);
112 return result;
113 }
114 case FunctionalArchitecturePackage.FUNCTIONAL_OUTPUT: {
115 FunctionalOutput functionalOutput = (FunctionalOutput)theEObject;
116 T result = caseFunctionalOutput(functionalOutput);
117 if (result == null) result = caseFunctionalData(functionalOutput);
118 if (result == null) result = defaultCase(theEObject);
119 return result;
120 }
121 case FunctionalArchitecturePackage.FUNCTIONAL_DATA: {
122 FunctionalData functionalData = (FunctionalData)theEObject;
123 T result = caseFunctionalData(functionalData);
124 if (result == null) result = defaultCase(theEObject);
125 return result;
126 }
127 default: return defaultCase(theEObject);
128 }
129 }
130
131 /**
132 * Returns the result of interpreting the object as an instance of '<em>Functional Element</em>'.
133 * <!-- begin-user-doc -->
134 * This implementation returns null;
135 * returning a non-null result will terminate the switch.
136 * <!-- end-user-doc -->
137 * @param object the target of the switch.
138 * @return the result of interpreting the object as an instance of '<em>Functional Element</em>'.
139 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
140 * @generated
141 */
142 public T caseFunctionalElement(FunctionalElement object) {
143 return null;
144 }
145
146 /**
147 * Returns the result of interpreting the object as an instance of '<em>Model</em>'.
148 * <!-- begin-user-doc -->
149 * This implementation returns null;
150 * returning a non-null result will terminate the switch.
151 * <!-- end-user-doc -->
152 * @param object the target of the switch.
153 * @return the result of interpreting the object as an instance of '<em>Model</em>'.
154 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
155 * @generated
156 */
157 public T caseFunctionalArchitectureModel(FunctionalArchitectureModel object) {
158 return null;
159 }
160
161 /**
162 * Returns the result of interpreting the object as an instance of '<em>Function</em>'.
163 * <!-- begin-user-doc -->
164 * This implementation returns null;
165 * returning a non-null result will terminate the switch.
166 * <!-- end-user-doc -->
167 * @param object the target of the switch.
168 * @return the result of interpreting the object as an instance of '<em>Function</em>'.
169 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
170 * @generated
171 */
172 public T caseFunction(Function object) {
173 return null;
174 }
175
176 /**
177 * Returns the result of interpreting the object as an instance of '<em>FAM Terminator</em>'.
178 * <!-- begin-user-doc -->
179 * This implementation returns null;
180 * returning a non-null result will terminate the switch.
181 * <!-- end-user-doc -->
182 * @param object the target of the switch.
183 * @return the result of interpreting the object as an instance of '<em>FAM Terminator</em>'.
184 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
185 * @generated
186 */
187 public T caseFAMTerminator(FAMTerminator object) {
188 return null;
189 }
190
191 /**
192 * Returns the result of interpreting the object as an instance of '<em>Information Link</em>'.
193 * <!-- begin-user-doc -->
194 * This implementation returns null;
195 * returning a non-null result will terminate the switch.
196 * <!-- end-user-doc -->
197 * @param object the target of the switch.
198 * @return the result of interpreting the object as an instance of '<em>Information Link</em>'.
199 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
200 * @generated
201 */
202 public T caseInformationLink(InformationLink object) {
203 return null;
204 }
205
206 /**
207 * Returns the result of interpreting the object as an instance of '<em>Functional Interface</em>'.
208 * <!-- begin-user-doc -->
209 * This implementation returns null;
210 * returning a non-null result will terminate the switch.
211 * <!-- end-user-doc -->
212 * @param object the target of the switch.
213 * @return the result of interpreting the object as an instance of '<em>Functional Interface</em>'.
214 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
215 * @generated
216 */
217 public T caseFunctionalInterface(FunctionalInterface object) {
218 return null;
219 }
220
221 /**
222 * Returns the result of interpreting the object as an instance of '<em>Functional Input</em>'.
223 * <!-- begin-user-doc -->
224 * This implementation returns null;
225 * returning a non-null result will terminate the switch.
226 * <!-- end-user-doc -->
227 * @param object the target of the switch.
228 * @return the result of interpreting the object as an instance of '<em>Functional Input</em>'.
229 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
230 * @generated
231 */
232 public T caseFunctionalInput(FunctionalInput object) {
233 return null;
234 }
235
236 /**
237 * Returns the result of interpreting the object as an instance of '<em>Functional Output</em>'.
238 * <!-- begin-user-doc -->
239 * This implementation returns null;
240 * returning a non-null result will terminate the switch.
241 * <!-- end-user-doc -->
242 * @param object the target of the switch.
243 * @return the result of interpreting the object as an instance of '<em>Functional Output</em>'.
244 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
245 * @generated
246 */
247 public T caseFunctionalOutput(FunctionalOutput object) {
248 return null;
249 }
250
251 /**
252 * Returns the result of interpreting the object as an instance of '<em>Functional Data</em>'.
253 * <!-- begin-user-doc -->
254 * This implementation returns null;
255 * returning a non-null result will terminate the switch.
256 * <!-- end-user-doc -->
257 * @param object the target of the switch.
258 * @return the result of interpreting the object as an instance of '<em>Functional Data</em>'.
259 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
260 * @generated
261 */
262 public T caseFunctionalData(FunctionalData object) {
263 return null;
264 }
265
266 /**
267 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
268 * <!-- begin-user-doc -->
269 * This implementation returns null;
270 * returning a non-null result will terminate the switch, but this is the last case anyway.
271 * <!-- end-user-doc -->
272 * @param object the target of the switch.
273 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
274 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
275 * @generated
276 */
277 @Override
278 public T defaultCase(EObject object) {
279 return null;
280 }
281
282} //FunctionalArchitectureSwitch
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/model/FAM.aird b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/model/FAM.aird
new file mode 100644
index 00000000..a80d022f
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/model/FAM.aird
@@ -0,0 +1,620 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<viewpoint:DAnalysis xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style" xmi:id="_k0NJ4OydEea9M--3ql7TdQ" selectedViews="_lN-70OydEea9M--3ql7TdQ _lOMXMOydEea9M--3ql7TdQ _lOQooOydEea9M--3ql7TdQ _lOeEAOydEea9M--3ql7TdQ" version="10.1.0.201509162000">
3 <semanticResources>FAM.ecore</semanticResources>
4 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_lN-70OydEea9M--3ql7TdQ">
5 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_nOZUYOydEea9M--3ql7TdQ" name="FunctionalArchitecture class diagram">
6 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_nOZ7cOydEea9M--3ql7TdQ" source="DANNOTATION_CUSTOMIZATION_KEY">
7 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_nOZ7ceydEea9M--3ql7TdQ">
8 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_HOc-QOyjEea9M--3ql7TdQ" sourceArrow="FillDiamond" routingStyle="manhattan">
9 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
10 <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_HOc-QeyjEea9M--3ql7TdQ" showIcon="false" labelExpression="service:renderEOpposite">
11 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
12 </beginLabelStyleDescription>
13 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_HOc-QuyjEea9M--3ql7TdQ" showIcon="false" labelExpression="service:render">
14 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
15 </endLabelStyleDescription>
16 </computedStyleDescriptions>
17 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_tra50OyrEea9M--3ql7TdQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan">
18 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
19 <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_tra50eyrEea9M--3ql7TdQ" showIcon="false" labelExpression="service:renderEOpposite">
20 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
21 </beginLabelStyleDescription>
22 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_tra50uyrEea9M--3ql7TdQ" showIcon="false" labelExpression="service:render">
23 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
24 </endLabelStyleDescription>
25 </computedStyleDescriptions>
26 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_VSJW8OytEea9M--3ql7TdQ" sourceArrow="FillDiamond" routingStyle="manhattan">
27 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
28 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_VSJW8eytEea9M--3ql7TdQ" showIcon="false" labelExpression="service:render">
29 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
30 </centerLabelStyleDescription>
31 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_VSJW8uytEea9M--3ql7TdQ" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
32 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
33 </endLabelStyleDescription>
34 </computedStyleDescriptions>
35 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_Gm8tcO7UEea19YBiZCUo9w" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
36 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
37 <labelFormat>bold</labelFormat>
38 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
39 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
40 </computedStyleDescriptions>
41 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_L1yC0O8hEea19YBiZCUo9w" routingStyle="manhattan">
42 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
43 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_L1yC0e8hEea19YBiZCUo9w" showIcon="false" labelExpression="service:render">
44 <labelFormat>bold</labelFormat>
45 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
46 </centerLabelStyleDescription>
47 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_L1yC0u8hEea19YBiZCUo9w" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
48 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
49 </endLabelStyleDescription>
50 </computedStyleDescriptions>
51 </data>
52 </ownedAnnotationEntries>
53 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_nO7f4OydEea9M--3ql7TdQ" source="GMF_DIAGRAMS">
54 <data xmi:type="notation:Diagram" xmi:id="_nO7f4eydEea9M--3ql7TdQ" type="Sirius" element="_nOZUYOydEea9M--3ql7TdQ" measurementUnit="Pixel">
55 <children xmi:type="notation:Node" xmi:id="_qaYIMOydEea9M--3ql7TdQ" type="2003" element="_qaFNQOydEea9M--3ql7TdQ">
56 <children xmi:type="notation:Node" xmi:id="_qaZWUOydEea9M--3ql7TdQ" type="5007"/>
57 <children xmi:type="notation:Node" xmi:id="_qacZoOydEea9M--3ql7TdQ" type="7004">
58 <styles xmi:type="notation:SortingStyle" xmi:id="_qacZoeydEea9M--3ql7TdQ"/>
59 <styles xmi:type="notation:FilteringStyle" xmi:id="_qacZouydEea9M--3ql7TdQ"/>
60 </children>
61 <styles xmi:type="notation:ShapeStyle" xmi:id="_qaYIMeydEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
62 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qaYIMuydEea9M--3ql7TdQ" x="110" y="135" width="120" height="35"/>
63 </children>
64 <children xmi:type="notation:Node" xmi:id="_t-ST0OydEea9M--3ql7TdQ" type="2003" element="_t-LmIOydEea9M--3ql7TdQ">
65 <children xmi:type="notation:Node" xmi:id="_t-S64OydEea9M--3ql7TdQ" type="5007"/>
66 <children xmi:type="notation:Node" xmi:id="_t-S64eydEea9M--3ql7TdQ" type="7004">
67 <styles xmi:type="notation:SortingStyle" xmi:id="_t-S64uydEea9M--3ql7TdQ"/>
68 <styles xmi:type="notation:FilteringStyle" xmi:id="_t-S64-ydEea9M--3ql7TdQ"/>
69 </children>
70 <styles xmi:type="notation:ShapeStyle" xmi:id="_t-ST0eydEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
71 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t-ST0uydEea9M--3ql7TdQ" x="85" y="65" width="188" height="37"/>
72 </children>
73 <children xmi:type="notation:Node" xmi:id="_9HlOMOydEea9M--3ql7TdQ" type="2003" element="_9Ha2IOydEea9M--3ql7TdQ">
74 <children xmi:type="notation:Node" xmi:id="_9HlOM-ydEea9M--3ql7TdQ" type="5007"/>
75 <children xmi:type="notation:Node" xmi:id="_9Hl1QOydEea9M--3ql7TdQ" type="7004">
76 <children xmi:type="notation:Node" xmi:id="_GnMlEO7UEea19YBiZCUo9w" type="3010" element="_Gm8GYO7UEea19YBiZCUo9w">
77 <styles xmi:type="notation:FontStyle" xmi:id="_GnMlEe7UEea19YBiZCUo9w" fontColor="7490599" fontName="Segoe UI" fontHeight="8" bold="true"/>
78 <layoutConstraint xmi:type="notation:Location" xmi:id="_GnMlEu7UEea19YBiZCUo9w"/>
79 </children>
80 <styles xmi:type="notation:SortingStyle" xmi:id="_9Hl1QeydEea9M--3ql7TdQ"/>
81 <styles xmi:type="notation:FilteringStyle" xmi:id="_9Hl1QuydEea9M--3ql7TdQ"/>
82 </children>
83 <styles xmi:type="notation:ShapeStyle" xmi:id="_9HlOMeydEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
84 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9HlOMuydEea9M--3ql7TdQ" x="140" y="210" width="188" height="53"/>
85 </children>
86 <children xmi:type="notation:Node" xmi:id="_BJC4gOyeEea9M--3ql7TdQ" type="2003" element="_BI5ukOyeEea9M--3ql7TdQ">
87 <children xmi:type="notation:Node" xmi:id="_BJDfkOyeEea9M--3ql7TdQ" type="5007"/>
88 <children xmi:type="notation:Node" xmi:id="_BJEGoOyeEea9M--3ql7TdQ" type="7004">
89 <styles xmi:type="notation:SortingStyle" xmi:id="_BJEGoeyeEea9M--3ql7TdQ"/>
90 <styles xmi:type="notation:FilteringStyle" xmi:id="_BJEGouyeEea9M--3ql7TdQ"/>
91 </children>
92 <styles xmi:type="notation:ShapeStyle" xmi:id="_BJC4geyeEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
93 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BJC4guyeEea9M--3ql7TdQ" x="790" y="135" width="120" height="28"/>
94 </children>
95 <children xmi:type="notation:Node" xmi:id="_CgIAMOyeEea9M--3ql7TdQ" type="2003" element="_CgBSgOyeEea9M--3ql7TdQ">
96 <children xmi:type="notation:Node" xmi:id="_CgInQOyeEea9M--3ql7TdQ" type="5007"/>
97 <children xmi:type="notation:Node" xmi:id="_CgInQeyeEea9M--3ql7TdQ" type="7004">
98 <styles xmi:type="notation:SortingStyle" xmi:id="_CgInQuyeEea9M--3ql7TdQ"/>
99 <styles xmi:type="notation:FilteringStyle" xmi:id="_CgInQ-yeEea9M--3ql7TdQ"/>
100 </children>
101 <styles xmi:type="notation:ShapeStyle" xmi:id="_CgIAMeyeEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
102 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CgIAMuyeEea9M--3ql7TdQ" x="560" y="210" width="120" height="18"/>
103 </children>
104 <children xmi:type="notation:Node" xmi:id="_D7Uy4OyeEea9M--3ql7TdQ" type="2003" element="_D7MQAOyeEea9M--3ql7TdQ">
105 <children xmi:type="notation:Node" xmi:id="_D7VZ8OyeEea9M--3ql7TdQ" type="5007"/>
106 <children xmi:type="notation:Node" xmi:id="_D7VZ8eyeEea9M--3ql7TdQ" type="7004">
107 <styles xmi:type="notation:SortingStyle" xmi:id="_D7VZ8uyeEea9M--3ql7TdQ"/>
108 <styles xmi:type="notation:FilteringStyle" xmi:id="_D7VZ8-yeEea9M--3ql7TdQ"/>
109 </children>
110 <styles xmi:type="notation:ShapeStyle" xmi:id="_D7Uy4eyeEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
111 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D7Uy4uyeEea9M--3ql7TdQ" x="330" y="135" width="128" height="8"/>
112 </children>
113 <children xmi:type="notation:Node" xmi:id="_EmQe4OyhEea9M--3ql7TdQ" type="2003" element="_EmHU8OyhEea9M--3ql7TdQ">
114 <children xmi:type="notation:Node" xmi:id="_EmRF8OyhEea9M--3ql7TdQ" type="5007"/>
115 <children xmi:type="notation:Node" xmi:id="_EmRtAOyhEea9M--3ql7TdQ" type="7004">
116 <styles xmi:type="notation:SortingStyle" xmi:id="_EmRtAeyhEea9M--3ql7TdQ"/>
117 <styles xmi:type="notation:FilteringStyle" xmi:id="_EmRtAuyhEea9M--3ql7TdQ"/>
118 </children>
119 <styles xmi:type="notation:ShapeStyle" xmi:id="_EmQe4eyhEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
120 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EmQe4uyhEea9M--3ql7TdQ" x="795" y="200" width="120" height="28"/>
121 </children>
122 <children xmi:type="notation:Node" xmi:id="_VQCUkOyhEea9M--3ql7TdQ" type="2003" element="_VP5KoOyhEea9M--3ql7TdQ">
123 <children xmi:type="notation:Node" xmi:id="_VQCUk-yhEea9M--3ql7TdQ" type="5007"/>
124 <children xmi:type="notation:Node" xmi:id="_VQCUlOyhEea9M--3ql7TdQ" type="7004">
125 <styles xmi:type="notation:SortingStyle" xmi:id="_VQCUleyhEea9M--3ql7TdQ"/>
126 <styles xmi:type="notation:FilteringStyle" xmi:id="_VQCUluyhEea9M--3ql7TdQ"/>
127 </children>
128 <styles xmi:type="notation:ShapeStyle" xmi:id="_VQCUkeyhEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
129 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VQCUkuyhEea9M--3ql7TdQ" x="334" y="210" width="120" height="28"/>
130 </children>
131 <children xmi:type="notation:Node" xmi:id="_Xs6msOyhEea9M--3ql7TdQ" type="2003" element="_Xsw1sOyhEea9M--3ql7TdQ">
132 <children xmi:type="notation:Node" xmi:id="_Xs7NwOyhEea9M--3ql7TdQ" type="5007"/>
133 <children xmi:type="notation:Node" xmi:id="_Xs7NweyhEea9M--3ql7TdQ" type="7004">
134 <styles xmi:type="notation:SortingStyle" xmi:id="_Xs7NwuyhEea9M--3ql7TdQ"/>
135 <styles xmi:type="notation:FilteringStyle" xmi:id="_Xs7Nw-yhEea9M--3ql7TdQ"/>
136 </children>
137 <styles xmi:type="notation:ShapeStyle" xmi:id="_Xs6mseyhEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
138 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xs6msuyhEea9M--3ql7TdQ" x="555" y="135" width="120" height="35"/>
139 </children>
140 <children xmi:type="notation:Node" xmi:id="_uWMNwOyuEea9M--3ql7TdQ" type="2003" element="_uV89MOyuEea9M--3ql7TdQ">
141 <children xmi:type="notation:Node" xmi:id="_uWMNw-yuEea9M--3ql7TdQ" type="5007"/>
142 <children xmi:type="notation:Node" xmi:id="_uWMNxOyuEea9M--3ql7TdQ" type="7004">
143 <children xmi:type="notation:Node" xmi:id="_vFgx4OyuEea9M--3ql7TdQ" type="3010" element="_vFTWgOyuEea9M--3ql7TdQ">
144 <styles xmi:type="notation:FontStyle" xmi:id="_vFgx4eyuEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
145 <layoutConstraint xmi:type="notation:Location" xmi:id="_vFgx4uyuEea9M--3ql7TdQ"/>
146 </children>
147 <children xmi:type="notation:Node" xmi:id="_wO3moOyuEea9M--3ql7TdQ" type="3010" element="_wOvDwOyuEea9M--3ql7TdQ">
148 <styles xmi:type="notation:FontStyle" xmi:id="_wO3moeyuEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
149 <layoutConstraint xmi:type="notation:Location" xmi:id="_wO3mouyuEea9M--3ql7TdQ"/>
150 </children>
151 <children xmi:type="notation:Node" xmi:id="_xKlA8OyuEea9M--3ql7TdQ" type="3010" element="_xKb3AOyuEea9M--3ql7TdQ">
152 <styles xmi:type="notation:FontStyle" xmi:id="_xKlA8eyuEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
153 <layoutConstraint xmi:type="notation:Location" xmi:id="_xKlA8uyuEea9M--3ql7TdQ"/>
154 </children>
155 <styles xmi:type="notation:SortingStyle" xmi:id="_uWMNxeyuEea9M--3ql7TdQ"/>
156 <styles xmi:type="notation:FilteringStyle" xmi:id="_uWMNxuyuEea9M--3ql7TdQ"/>
157 </children>
158 <styles xmi:type="notation:ShapeStyle" xmi:id="_uWMNweyuEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
159 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uWMNwuyuEea9M--3ql7TdQ" x="35" y="184" width="98" height="79"/>
160 </children>
161 <styles xmi:type="notation:DiagramStyle" xmi:id="_nO7f4uydEea9M--3ql7TdQ"/>
162 <edges xmi:type="notation:Edge" xmi:id="_ZGXF4OyhEea9M--3ql7TdQ" type="4001" element="_ZGEyAOyhEea9M--3ql7TdQ" source="_EmQe4OyhEea9M--3ql7TdQ" target="_Xs6msOyhEea9M--3ql7TdQ">
163 <children xmi:type="notation:Node" xmi:id="_ZGYUAOyhEea9M--3ql7TdQ" type="6001">
164 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZGYUAeyhEea9M--3ql7TdQ" y="-10"/>
165 </children>
166 <children xmi:type="notation:Node" xmi:id="_ZGY7EOyhEea9M--3ql7TdQ" type="6002">
167 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZGY7EeyhEea9M--3ql7TdQ" y="10"/>
168 </children>
169 <children xmi:type="notation:Node" xmi:id="_ZGZiIOyhEea9M--3ql7TdQ" type="6003">
170 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZGZiIeyhEea9M--3ql7TdQ" y="10"/>
171 </children>
172 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ZGXF4eyhEea9M--3ql7TdQ" routing="Tree"/>
173 <styles xmi:type="notation:FontStyle" xmi:id="_ZGXF4uyhEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
174 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZGXF4-yhEea9M--3ql7TdQ" points="[0, 0, -71, 91]$[71, -91, 0, 0]"/>
175 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZGbXUOyhEea9M--3ql7TdQ" id="(0.5,0.0)"/>
176 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZGb-YOyhEea9M--3ql7TdQ" id="(0.5,-0.48484848484848486)"/>
177 </edges>
178 <edges xmi:type="notation:Edge" xmi:id="_ZdX3sOyhEea9M--3ql7TdQ" type="4001" element="_ZdLDYOyhEea9M--3ql7TdQ" source="_VQCUkOyhEea9M--3ql7TdQ" target="_Xs6msOyhEea9M--3ql7TdQ">
179 <children xmi:type="notation:Node" xmi:id="_ZdYewOyhEea9M--3ql7TdQ" type="6001">
180 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZdYeweyhEea9M--3ql7TdQ" y="-10"/>
181 </children>
182 <children xmi:type="notation:Node" xmi:id="_ZdYewuyhEea9M--3ql7TdQ" type="6002">
183 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZdYew-yhEea9M--3ql7TdQ" y="10"/>
184 </children>
185 <children xmi:type="notation:Node" xmi:id="_ZdYexOyhEea9M--3ql7TdQ" type="6003">
186 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZdYexeyhEea9M--3ql7TdQ" y="10"/>
187 </children>
188 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ZdX3seyhEea9M--3ql7TdQ" routing="Tree"/>
189 <styles xmi:type="notation:FontStyle" xmi:id="_ZdX3suyhEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
190 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZdX3s-yhEea9M--3ql7TdQ" points="[0, 0, 97, 42]$[-97, -42, 0, 0]"/>
191 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZdZF0OyhEea9M--3ql7TdQ" id="(0.7372881355932204,0.0)"/>
192 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZdZF0eyhEea9M--3ql7TdQ" id="(0.5,-0.48484848484848486)"/>
193 </edges>
194 <edges xmi:type="notation:Edge" xmi:id="_v742sOyiEea9M--3ql7TdQ" type="4001" element="_v7l7wOyiEea9M--3ql7TdQ" source="_VQCUkOyhEea9M--3ql7TdQ" target="_CgIAMOyeEea9M--3ql7TdQ">
195 <children xmi:type="notation:Node" xmi:id="_v75dwOyiEea9M--3ql7TdQ" type="6001">
196 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v75dweyiEea9M--3ql7TdQ" y="-10"/>
197 </children>
198 <children xmi:type="notation:Node" xmi:id="_v76E0OyiEea9M--3ql7TdQ" type="6002">
199 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v76E0eyiEea9M--3ql7TdQ" x="12" y="15"/>
200 </children>
201 <children xmi:type="notation:Node" xmi:id="_v76E0uyiEea9M--3ql7TdQ" type="6003">
202 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v76E0-yiEea9M--3ql7TdQ" x="-34" y="-10"/>
203 </children>
204 <styles xmi:type="notation:ConnectorStyle" xmi:id="_v742seyiEea9M--3ql7TdQ" routing="Rectilinear"/>
205 <styles xmi:type="notation:FontStyle" xmi:id="_v742suyiEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
206 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_v742s-yiEea9M--3ql7TdQ" points="[0, 4, -173, 19]$[108, 4, -65, 19]"/>
207 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v76E1OyiEea9M--3ql7TdQ" id="(1.0,0.38461538461538464)"/>
208 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v76E1eyiEea9M--3ql7TdQ" id="(0.5508474576271186,0.0)"/>
209 </edges>
210 <edges xmi:type="notation:Edge" xmi:id="_JlixcOyjEea9M--3ql7TdQ" type="4001" element="_JlTg4OyjEea9M--3ql7TdQ" source="_EmQe4OyhEea9M--3ql7TdQ" target="_CgIAMOyeEea9M--3ql7TdQ">
211 <children xmi:type="notation:Node" xmi:id="_JlixdOyjEea9M--3ql7TdQ" type="6001">
212 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JlixdeyjEea9M--3ql7TdQ" y="10"/>
213 </children>
214 <children xmi:type="notation:Node" xmi:id="_JlixduyjEea9M--3ql7TdQ" type="6002">
215 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jlixd-yjEea9M--3ql7TdQ" y="-10"/>
216 </children>
217 <children xmi:type="notation:Node" xmi:id="_JljYgOyjEea9M--3ql7TdQ" type="6003">
218 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JljYgeyjEea9M--3ql7TdQ" x="-31" y="13"/>
219 </children>
220 <styles xmi:type="notation:ConnectorStyle" xmi:id="_JlixceyjEea9M--3ql7TdQ" routing="Rectilinear"/>
221 <styles xmi:type="notation:FontStyle" xmi:id="_JlixcuyjEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
222 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jlixc-yjEea9M--3ql7TdQ" points="[-59, 10, 176, 0]$[-176, 10, 59, 0]"/>
223 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JllNsOyjEea9M--3ql7TdQ" id="(0.5,0.5)"/>
224 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JllNseyjEea9M--3ql7TdQ" id="(0.5,0.5)"/>
225 </edges>
226 <edges xmi:type="notation:Edge" xmi:id="_vx5iUOykEea9M--3ql7TdQ" type="4001" element="_vxn1gOykEea9M--3ql7TdQ" source="_BJC4gOyeEea9M--3ql7TdQ" target="_Xs6msOyhEea9M--3ql7TdQ">
227 <children xmi:type="notation:Node" xmi:id="_vx6JYOykEea9M--3ql7TdQ" type="6001">
228 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vx6JYeykEea9M--3ql7TdQ" x="14" y="-10"/>
229 </children>
230 <children xmi:type="notation:Node" xmi:id="_vx6JYuykEea9M--3ql7TdQ" type="6002">
231 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vx6JY-ykEea9M--3ql7TdQ" x="29" y="12"/>
232 </children>
233 <children xmi:type="notation:Node" xmi:id="_vx6JZOykEea9M--3ql7TdQ" type="6003">
234 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vx6JZeykEea9M--3ql7TdQ" x="-9" y="-9"/>
235 </children>
236 <styles xmi:type="notation:ConnectorStyle" xmi:id="_vx5iUeykEea9M--3ql7TdQ" routing="Rectilinear"/>
237 <styles xmi:type="notation:FontStyle" xmi:id="_vx5iUuykEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
238 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vx5iU-ykEea9M--3ql7TdQ" points="[-59, 4, 176, 5]$[-176, 4, 59, 5]"/>
239 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vx6wcOykEea9M--3ql7TdQ" id="(0.5,0.5)"/>
240 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vx6wceykEea9M--3ql7TdQ" id="(0.5,0.4857142857142857)"/>
241 </edges>
242 <edges xmi:type="notation:Edge" xmi:id="_znqS8OykEea9M--3ql7TdQ" type="4001" element="_znYmIOykEea9M--3ql7TdQ" source="_D7Uy4OyeEea9M--3ql7TdQ" target="_Xs6msOyhEea9M--3ql7TdQ">
243 <children xmi:type="notation:Node" xmi:id="_znq6AOykEea9M--3ql7TdQ" type="6001">
244 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_znq6AeykEea9M--3ql7TdQ" x="38" y="-10"/>
245 </children>
246 <children xmi:type="notation:Node" xmi:id="_znq6AuykEea9M--3ql7TdQ" type="6002">
247 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_znq6A-ykEea9M--3ql7TdQ" x="25" y="13"/>
248 </children>
249 <children xmi:type="notation:Node" xmi:id="_znq6BOykEea9M--3ql7TdQ" type="6003">
250 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_znq6BeykEea9M--3ql7TdQ" x="-16" y="-13"/>
251 </children>
252 <styles xmi:type="notation:ConnectorStyle" xmi:id="_znqS8eykEea9M--3ql7TdQ" routing="Rectilinear"/>
253 <styles xmi:type="notation:FontStyle" xmi:id="_znqS8uykEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
254 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_znqS8-ykEea9M--3ql7TdQ" points="[0, 0, -99, 0]$[99, 0, 0, 0]"/>
255 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_znrhEOykEea9M--3ql7TdQ" id="(1.0,0.48717948717948717)"/>
256 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_znrhEeykEea9M--3ql7TdQ" id="(0.0,0.48717948717948717)"/>
257 </edges>
258 <edges xmi:type="notation:Edge" xmi:id="_6qPEMOysEea9M--3ql7TdQ" type="4001" element="_6qEFEOysEea9M--3ql7TdQ" source="_qaYIMOydEea9M--3ql7TdQ" target="_D7Uy4OyeEea9M--3ql7TdQ">
259 <children xmi:type="notation:Node" xmi:id="_6qPrQOysEea9M--3ql7TdQ" type="6001">
260 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6qPrQeysEea9M--3ql7TdQ" x="8" y="-10"/>
261 </children>
262 <children xmi:type="notation:Node" xmi:id="_6qPrQuysEea9M--3ql7TdQ" type="6002">
263 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6qPrQ-ysEea9M--3ql7TdQ" x="26" y="13"/>
264 </children>
265 <children xmi:type="notation:Node" xmi:id="_6qPrROysEea9M--3ql7TdQ" type="6003">
266 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6qPrReysEea9M--3ql7TdQ" x="-24" y="-13"/>
267 </children>
268 <styles xmi:type="notation:ConnectorStyle" xmi:id="_6qPEMeysEea9M--3ql7TdQ" routing="Rectilinear"/>
269 <styles xmi:type="notation:FontStyle" xmi:id="_6qPEMuysEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
270 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6qPEM-ysEea9M--3ql7TdQ" points="[0, -29, -102, -29]$[102, -29, 0, -29]"/>
271 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6qPrRuysEea9M--3ql7TdQ" id="(1.0,1.0)"/>
272 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6qPrR-ysEea9M--3ql7TdQ" id="(0.0,1.0)"/>
273 </edges>
274 <edges xmi:type="notation:Edge" xmi:id="_NAb_cOytEea9M--3ql7TdQ" type="4001" element="_NARAUOytEea9M--3ql7TdQ" source="_9HlOMOydEea9M--3ql7TdQ" target="_qaYIMOydEea9M--3ql7TdQ">
275 <children xmi:type="notation:Node" xmi:id="_NAb_dOytEea9M--3ql7TdQ" type="6001">
276 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NAb_deytEea9M--3ql7TdQ" x="-4"/>
277 </children>
278 <children xmi:type="notation:Node" xmi:id="_NAcmgOytEea9M--3ql7TdQ" type="6002">
279 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NAcmgeytEea9M--3ql7TdQ" y="-10"/>
280 </children>
281 <children xmi:type="notation:Node" xmi:id="_NAcmguytEea9M--3ql7TdQ" type="6003">
282 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NAcmg-ytEea9M--3ql7TdQ" x="-2" y="10"/>
283 </children>
284 <styles xmi:type="notation:ConnectorStyle" xmi:id="_NAb_ceytEea9M--3ql7TdQ" routing="Tree"/>
285 <styles xmi:type="notation:FontStyle" xmi:id="_NAb_cuytEea9M--3ql7TdQ" fontName="Segoe UI" fontHeight="8"/>
286 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NAb_c-ytEea9M--3ql7TdQ" points="[0, -39, 29, 56]$[0, -39, 29, 56]$[-30, -39, -1, 56]$[-30, -75, -1, 20]"/>
287 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NAcmhOytEea9M--3ql7TdQ" id="(0.3118279569892473,0.7647058823529411)"/>
288 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NAcmheytEea9M--3ql7TdQ" id="(0.5,0.5)"/>
289 </edges>
290 <edges xmi:type="notation:Edge" xmi:id="_SWca0OytEea9M--3ql7TdQ" type="4001" element="_SWSCwOytEea9M--3ql7TdQ" source="_t-ST0OydEea9M--3ql7TdQ" target="_qaYIMOydEea9M--3ql7TdQ">
291 <children xmi:type="notation:Node" xmi:id="_SWca1OytEea9M--3ql7TdQ" type="6001">
292 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SWca1eytEea9M--3ql7TdQ" x="-4" y="51"/>
293 </children>
294 <children xmi:type="notation:Node" xmi:id="_SWca1uytEea9M--3ql7TdQ" type="6002">
295 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SWca1-ytEea9M--3ql7TdQ" x="78" y="-10"/>
296 </children>
297 <children xmi:type="notation:Node" xmi:id="_SWca2OytEea9M--3ql7TdQ" type="6003">
298 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SWca2eytEea9M--3ql7TdQ" x="14" y="-10"/>
299 </children>
300 <styles xmi:type="notation:ConnectorStyle" xmi:id="_SWca0eytEea9M--3ql7TdQ" routing="Rectilinear"/>
301 <styles xmi:type="notation:FontStyle" xmi:id="_SWca0uytEea9M--3ql7TdQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
302 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SWca0-ytEea9M--3ql7TdQ" points="[-103, 19, 13, -31]$[-103, 50, 13, 0]"/>
303 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SWdB4OytEea9M--3ql7TdQ" id="(1.0,0.5128205128205128)"/>
304 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SWdB4eytEea9M--3ql7TdQ" id="(0.3813559322033898,0.0)"/>
305 </edges>
306 <edges xmi:type="notation:Edge" xmi:id="_GT_1QOywEea9M--3ql7TdQ" type="4001" element="_GT02IOywEea9M--3ql7TdQ" source="_qaYIMOydEea9M--3ql7TdQ" target="_t-ST0OydEea9M--3ql7TdQ">
307 <children xmi:type="notation:Node" xmi:id="_GT_1ROywEea9M--3ql7TdQ" type="6001">
308 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GT_1ReywEea9M--3ql7TdQ" x="1" y="42" width="126" height="17"/>
309 </children>
310 <children xmi:type="notation:Node" xmi:id="_GUAcUOywEea9M--3ql7TdQ" type="6002">
311 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GUAcUeywEea9M--3ql7TdQ" x="24" y="-10"/>
312 </children>
313 <children xmi:type="notation:Node" xmi:id="_GUAcUuywEea9M--3ql7TdQ" type="6003">
314 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GUAcU-ywEea9M--3ql7TdQ" x="-71" y="-9"/>
315 </children>
316 <styles xmi:type="notation:ConnectorStyle" xmi:id="_GT_1QeywEea9M--3ql7TdQ" routing="Rectilinear"/>
317 <styles xmi:type="notation:FontStyle" xmi:id="_GT_1QuywEea9M--3ql7TdQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
318 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GT_1Q-ywEea9M--3ql7TdQ" points="[0, -55, -85, -14]$[161, -55, 76, -14]"/>
319 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GUAcVOywEea9M--3ql7TdQ" id="(0.0,0.2564102564102564)"/>
320 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GUAcVeywEea9M--3ql7TdQ" id="(0.5913978494623656,1.0)"/>
321 </edges>
322 <edges xmi:type="notation:Edge" xmi:id="_ZsWiwO6tEea19YBiZCUo9w" type="4001" element="_ZrxT8O6tEea19YBiZCUo9w" source="_9HlOMOydEea9M--3ql7TdQ" target="_qaYIMOydEea9M--3ql7TdQ">
323 <children xmi:type="notation:Node" xmi:id="_Zsd3gO6tEea19YBiZCUo9w" type="6001">
324 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Zsd3ge6tEea19YBiZCUo9w" y="-10"/>
325 </children>
326 <children xmi:type="notation:Node" xmi:id="_ZsfFoO6tEea19YBiZCUo9w" type="6002">
327 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZsfFoe6tEea19YBiZCUo9w" x="4" y="40"/>
328 </children>
329 <children xmi:type="notation:Node" xmi:id="_ZsfssO6tEea19YBiZCUo9w" type="6003">
330 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Zsfsse6tEea19YBiZCUo9w" x="-6" y="55"/>
331 </children>
332 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ZsWiwe6tEea19YBiZCUo9w" routing="Rectilinear"/>
333 <styles xmi:type="notation:FontStyle" xmi:id="_ZsWiwu6tEea19YBiZCUo9w" fontName="Segoe UI" fontHeight="8"/>
334 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZsWiw-6tEea19YBiZCUo9w" points="[0, 0, 21, 36]$[0, -36, 21, 0]"/>
335 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZsgTwO6tEea19YBiZCUo9w" id="(0.2688172043010753,0.0)"/>
336 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZsgTwe6tEea19YBiZCUo9w" id="(0.5,1.0)"/>
337 </edges>
338 </data>
339 </ownedAnnotationEntries>
340 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_qaFNQOydEea9M--3ql7TdQ" name="FunctionalElement" tooltipText="" outgoingEdges="_6qEFEOysEea9M--3ql7TdQ _GT02IOywEea9M--3ql7TdQ" incomingEdges="_NARAUOytEea9M--3ql7TdQ _SWSCwOytEea9M--3ql7TdQ _ZrxT8O6tEea19YBiZCUo9w" width="12" height="10">
341 <target xmi:type="ecore:EClass" href="FAM.ecore#//FunctionalElement"/>
342 <semanticElements xmi:type="ecore:EClass" href="FAM.ecore#//FunctionalElement"/>
343 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
344 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
345 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
346 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7r_Z8OydEea9M--3ql7TdQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
347 <labelFormat>italic</labelFormat>
348 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
349 </ownedStyle>
350 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
351 </ownedDiagramElements>
352 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_t-LmIOydEea9M--3ql7TdQ" name="FunctionalArchitectureModel" tooltipText="" outgoingEdges="_SWSCwOytEea9M--3ql7TdQ" incomingEdges="_GT02IOywEea9M--3ql7TdQ" width="12" height="10">
353 <target xmi:type="ecore:EClass" href="FAM.ecore#//FunctionalArchitectureModel"/>
354 <semanticElements xmi:type="ecore:EClass" href="FAM.ecore#//FunctionalArchitectureModel"/>
355 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
356 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
357 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
358 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_t-MNMOydEea9M--3ql7TdQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
359 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
360 </ownedStyle>
361 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
362 </ownedDiagramElements>
363 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_9Ha2IOydEea9M--3ql7TdQ" name="Function" tooltipText="" outgoingEdges="_NARAUOytEea9M--3ql7TdQ _ZrxT8O6tEea19YBiZCUo9w" width="12" height="10">
364 <target xmi:type="ecore:EClass" href="FAM.ecore#//Function"/>
365 <semanticElements xmi:type="ecore:EClass" href="FAM.ecore#//Function"/>
366 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
367 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
368 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
369 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7IrzYOyvEea9M--3ql7TdQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
370 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
371 </ownedStyle>
372 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
373 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_Gm8GYO7UEea19YBiZCUo9w" name="/type : FunctionType = Root" tooltipText="">
374 <target xmi:type="ecore:EAttribute" href="FAM.ecore#//Function/type"/>
375 <semanticElements xmi:type="ecore:EAttribute" href="FAM.ecore#//Function/type"/>
376 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_Gm97kO7UEea19YBiZCUo9w" labelColor="39,76,114" labelAlignment="LEFT" description="_Gm8tcO7UEea19YBiZCUo9w">
377 <labelFormat>bold</labelFormat>
378 </ownedStyle>
379 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
380 </ownedElements>
381 </ownedDiagramElements>
382 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_BI5ukOyeEea9M--3ql7TdQ" name="FAMTerminator" tooltipText="" outgoingEdges="_vxn1gOykEea9M--3ql7TdQ" width="12" height="10">
383 <target xmi:type="ecore:EClass" href="FAM.ecore#//FAMTerminator"/>
384 <semanticElements xmi:type="ecore:EClass" href="FAM.ecore#//FAMTerminator"/>
385 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
386 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
387 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
388 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_trOFgOyrEea9M--3ql7TdQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
389 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
390 </ownedStyle>
391 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
392 </ownedDiagramElements>
393 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_CgBSgOyeEea9M--3ql7TdQ" name="InformationLink" tooltipText="" incomingEdges="_v7l7wOyiEea9M--3ql7TdQ _JlTg4OyjEea9M--3ql7TdQ" width="12" height="10">
394 <target xmi:type="ecore:EClass" href="FAM.ecore#//InformationLink"/>
395 <semanticElements xmi:type="ecore:EClass" href="FAM.ecore#//InformationLink"/>
396 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
397 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
398 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
399 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_CgB5kOyeEea9M--3ql7TdQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
400 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
401 </ownedStyle>
402 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
403 </ownedDiagramElements>
404 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_D7MQAOyeEea9M--3ql7TdQ" name="FunctionalInterface" tooltipText="" outgoingEdges="_znYmIOykEea9M--3ql7TdQ" incomingEdges="_6qEFEOysEea9M--3ql7TdQ" width="12" height="10">
405 <target xmi:type="ecore:EClass" href="FAM.ecore#//FunctionalInterface"/>
406 <semanticElements xmi:type="ecore:EClass" href="FAM.ecore#//FunctionalInterface"/>
407 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
408 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
409 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
410 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_D7M3EOyeEea9M--3ql7TdQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
411 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
412 </ownedStyle>
413 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
414 </ownedDiagramElements>
415 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_EmHU8OyhEea9M--3ql7TdQ" name="FunctionalInput" tooltipText="" outgoingEdges="_ZGEyAOyhEea9M--3ql7TdQ _JlTg4OyjEea9M--3ql7TdQ" width="12" height="10">
416 <target xmi:type="ecore:EClass" href="FAM.ecore#//FunctionalInput"/>
417 <semanticElements xmi:type="ecore:EClass" href="FAM.ecore#//FunctionalInput"/>
418 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
419 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
420 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
421 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_EmH8AOyhEea9M--3ql7TdQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
422 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
423 </ownedStyle>
424 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
425 </ownedDiagramElements>
426 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_VP5KoOyhEea9M--3ql7TdQ" name="FunctionalOutput" tooltipText="" outgoingEdges="_ZdLDYOyhEea9M--3ql7TdQ _v7l7wOyiEea9M--3ql7TdQ" width="12" height="10">
427 <target xmi:type="ecore:EClass" href="FAM.ecore#//FunctionalOutput"/>
428 <semanticElements xmi:type="ecore:EClass" href="FAM.ecore#//FunctionalOutput"/>
429 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
430 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
431 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
432 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_VP5xsOyhEea9M--3ql7TdQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
433 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
434 </ownedStyle>
435 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
436 </ownedDiagramElements>
437 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_Xsw1sOyhEea9M--3ql7TdQ" name="FunctionalData" tooltipText="" incomingEdges="_ZGEyAOyhEea9M--3ql7TdQ _ZdLDYOyhEea9M--3ql7TdQ _vxn1gOykEea9M--3ql7TdQ _znYmIOykEea9M--3ql7TdQ" width="12" height="10">
438 <target xmi:type="ecore:EClass" href="FAM.ecore#//FunctionalData"/>
439 <semanticElements xmi:type="ecore:EClass" href="FAM.ecore#//FunctionalData"/>
440 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
441 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
442 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
443 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_jw25sOyhEea9M--3ql7TdQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
444 <labelFormat>italic</labelFormat>
445 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
446 </ownedStyle>
447 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
448 </ownedDiagramElements>
449 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_ZGEyAOyhEea9M--3ql7TdQ" sourceNode="_EmHU8OyhEea9M--3ql7TdQ" targetNode="_Xsw1sOyhEea9M--3ql7TdQ">
450 <target xmi:type="ecore:EClass" href="FAM.ecore#//FunctionalInput"/>
451 <semanticElements xmi:type="ecore:EGenericType" href="FAM.ecore#//FunctionalInput/@eGenericSuperTypes.0"/>
452 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_ZGH1UOyhEea9M--3ql7TdQ" targetArrow="InputClosedArrow" routingStyle="tree">
453 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
454 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_ZGH1UeyhEea9M--3ql7TdQ" showIcon="false">
455 <labelFormat>italic</labelFormat>
456 </beginLabelStyle>
457 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_ZGH1UuyhEea9M--3ql7TdQ" showIcon="false"/>
458 </ownedStyle>
459 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
460 </ownedDiagramElements>
461 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_ZdLDYOyhEea9M--3ql7TdQ" sourceNode="_VP5KoOyhEea9M--3ql7TdQ" targetNode="_Xsw1sOyhEea9M--3ql7TdQ">
462 <target xmi:type="ecore:EClass" href="FAM.ecore#//FunctionalOutput"/>
463 <semanticElements xmi:type="ecore:EGenericType" href="FAM.ecore#//FunctionalOutput/@eGenericSuperTypes.0"/>
464 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_ZdLqcOyhEea9M--3ql7TdQ" targetArrow="InputClosedArrow" routingStyle="tree">
465 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
466 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_ZdLqceyhEea9M--3ql7TdQ" showIcon="false">
467 <labelFormat>italic</labelFormat>
468 </beginLabelStyle>
469 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_ZdLqcuyhEea9M--3ql7TdQ" showIcon="false"/>
470 </ownedStyle>
471 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
472 </ownedDiagramElements>
473 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_v7l7wOyiEea9M--3ql7TdQ" sourceNode="_VP5KoOyhEea9M--3ql7TdQ" targetNode="_CgBSgOyeEea9M--3ql7TdQ" beginLabel="[0..1] from" endLabel="[0..*] outgoingLinks">
474 <target xmi:type="ecore:EReference" href="FAM.ecore#//FunctionalOutput/outgoingLinks"/>
475 <semanticElements xmi:type="ecore:EReference" href="FAM.ecore#//InformationLink/from"/>
476 <semanticElements xmi:type="ecore:EReference" href="FAM.ecore#//FunctionalOutput/outgoingLinks"/>
477 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_HOc-Q-yjEea9M--3ql7TdQ" description="_HOc-QOyjEea9M--3ql7TdQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
478 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_HOc-ROyjEea9M--3ql7TdQ" showIcon="false"/>
479 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_HOc-ReyjEea9M--3ql7TdQ" showIcon="false"/>
480 </ownedStyle>
481 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
482 </ownedDiagramElements>
483 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_JlTg4OyjEea9M--3ql7TdQ" sourceNode="_EmHU8OyhEea9M--3ql7TdQ" targetNode="_CgBSgOyeEea9M--3ql7TdQ" beginLabel="[1..1] to" endLabel="[0..*] IncomingLinks">
484 <target xmi:type="ecore:EReference" href="FAM.ecore#//FunctionalInput/IncomingLinks"/>
485 <semanticElements xmi:type="ecore:EReference" href="FAM.ecore#//FunctionalInput/IncomingLinks"/>
486 <semanticElements xmi:type="ecore:EReference" href="FAM.ecore#//InformationLink/to"/>
487 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_JlUH8OyjEea9M--3ql7TdQ" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0">
488 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style"/>
489 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_JlUH8eyjEea9M--3ql7TdQ" showIcon="false"/>
490 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_JlUH8uyjEea9M--3ql7TdQ" showIcon="false"/>
491 </ownedStyle>
492 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
493 </ownedDiagramElements>
494 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_vxn1gOykEea9M--3ql7TdQ" sourceNode="_BI5ukOyeEea9M--3ql7TdQ" targetNode="_Xsw1sOyhEea9M--3ql7TdQ" beginLabel="[0..1] terminator" endLabel="[0..1] data">
495 <target xmi:type="ecore:EReference" href="FAM.ecore#//FAMTerminator/data"/>
496 <semanticElements xmi:type="ecore:EReference" href="FAM.ecore#//FAMTerminator/data"/>
497 <semanticElements xmi:type="ecore:EReference" href="FAM.ecore#//FunctionalData/terminator"/>
498 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_trbg4OyrEea9M--3ql7TdQ" description="_tra50OyrEea9M--3ql7TdQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
499 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_trbg4eyrEea9M--3ql7TdQ" showIcon="false"/>
500 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_trbg4uyrEea9M--3ql7TdQ" showIcon="false"/>
501 </ownedStyle>
502 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
503 </ownedDiagramElements>
504 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_znYmIOykEea9M--3ql7TdQ" sourceNode="_D7MQAOyeEea9M--3ql7TdQ" targetNode="_Xsw1sOyhEea9M--3ql7TdQ" beginLabel="[0..1] interface" endLabel="[0..*] data">
505 <target xmi:type="ecore:EReference" href="FAM.ecore#//FunctionalInterface/data"/>
506 <semanticElements xmi:type="ecore:EReference" href="FAM.ecore#//FunctionalInterface/data"/>
507 <semanticElements xmi:type="ecore:EReference" href="FAM.ecore#//FunctionalData/interface"/>
508 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_trcvAOyrEea9M--3ql7TdQ" description="_HOc-QOyjEea9M--3ql7TdQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
509 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_trcvAeyrEea9M--3ql7TdQ" showIcon="false"/>
510 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_trcvAuyrEea9M--3ql7TdQ" showIcon="false"/>
511 </ownedStyle>
512 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
513 </ownedDiagramElements>
514 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_6qEFEOysEea9M--3ql7TdQ" sourceNode="_qaFNQOydEea9M--3ql7TdQ" targetNode="_D7MQAOyeEea9M--3ql7TdQ" beginLabel="[0..1] element" endLabel="[0..1] interface">
515 <target xmi:type="ecore:EReference" href="FAM.ecore#//FunctionalElement/interface"/>
516 <semanticElements xmi:type="ecore:EReference" href="FAM.ecore#//FunctionalInterface/element"/>
517 <semanticElements xmi:type="ecore:EReference" href="FAM.ecore#//FunctionalElement/interface"/>
518 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_LFlcUOytEea9M--3ql7TdQ" description="_HOc-QOyjEea9M--3ql7TdQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
519 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_LFlcUeytEea9M--3ql7TdQ" showIcon="false"/>
520 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_LFlcUuytEea9M--3ql7TdQ" showIcon="false"/>
521 </ownedStyle>
522 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
523 </ownedDiagramElements>
524 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_NARAUOytEea9M--3ql7TdQ" sourceNode="_9Ha2IOydEea9M--3ql7TdQ" targetNode="_qaFNQOydEea9M--3ql7TdQ">
525 <target xmi:type="ecore:EClass" href="FAM.ecore#//Function"/>
526 <semanticElements xmi:type="ecore:EGenericType" href="FAM.ecore#//Function/@eGenericSuperTypes.0"/>
527 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7IwE0OyvEea9M--3ql7TdQ" targetArrow="InputClosedArrow" routingStyle="tree">
528 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
529 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7IwE0eyvEea9M--3ql7TdQ" showIcon="false">
530 <labelFormat>italic</labelFormat>
531 </beginLabelStyle>
532 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7IwE0uyvEea9M--3ql7TdQ" showIcon="false"/>
533 </ownedStyle>
534 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
535 </ownedDiagramElements>
536 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_SWSCwOytEea9M--3ql7TdQ" name="[0..*] rootElements" sourceNode="_t-LmIOydEea9M--3ql7TdQ" targetNode="_qaFNQOydEea9M--3ql7TdQ">
537 <target xmi:type="ecore:EReference" href="FAM.ecore#//FunctionalArchitectureModel/rootElements"/>
538 <semanticElements xmi:type="ecore:EReference" href="FAM.ecore#//FunctionalArchitectureModel/rootElements"/>
539 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_VSJW8-ytEea9M--3ql7TdQ" description="_VSJW8OytEea9M--3ql7TdQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
540 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_VSJW9OytEea9M--3ql7TdQ" showIcon="false"/>
541 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_VSJW9eytEea9M--3ql7TdQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
542 </ownedStyle>
543 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
544 </ownedDiagramElements>
545 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_uV89MOyuEea9M--3ql7TdQ" name="FunctionType" tooltipText="" width="12" height="10">
546 <target xmi:type="ecore:EEnum" href="FAM.ecore#//FunctionType"/>
547 <semanticElements xmi:type="ecore:EEnum" href="FAM.ecore#//FunctionType"/>
548 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
549 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
550 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
551 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_uV9kQOyuEea9M--3ql7TdQ" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="221,236,202">
552 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@style"/>
553 </ownedStyle>
554 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']"/>
555 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_vFTWgOyuEea9M--3ql7TdQ" name="Root" tooltipText="">
556 <target xmi:type="ecore:EEnumLiteral" href="FAM.ecore#//FunctionType/Root"/>
557 <semanticElements xmi:type="ecore:EEnumLiteral" href="FAM.ecore#//FunctionType/Root"/>
558 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_vFVLsOyuEea9M--3ql7TdQ" labelAlignment="LEFT">
559 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
560 </ownedStyle>
561 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
562 </ownedElements>
563 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_wOvDwOyuEea9M--3ql7TdQ" name="Intermediate" tooltipText="">
564 <target xmi:type="ecore:EEnumLiteral" href="FAM.ecore#//FunctionType/Intermediate"/>
565 <semanticElements xmi:type="ecore:EEnumLiteral" href="FAM.ecore#//FunctionType/Intermediate"/>
566 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_wOvDweyuEea9M--3ql7TdQ" labelAlignment="LEFT">
567 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
568 </ownedStyle>
569 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
570 </ownedElements>
571 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_xKb3AOyuEea9M--3ql7TdQ" name="Leaf" tooltipText="">
572 <target xmi:type="ecore:EEnumLiteral" href="FAM.ecore#//FunctionType/Leaf"/>
573 <semanticElements xmi:type="ecore:EEnumLiteral" href="FAM.ecore#//FunctionType/Leaf"/>
574 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_xKceEOyuEea9M--3ql7TdQ" labelAlignment="LEFT">
575 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
576 </ownedStyle>
577 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
578 </ownedElements>
579 </ownedDiagramElements>
580 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_GT02IOywEea9M--3ql7TdQ" name="[1..1] /model" sourceNode="_qaFNQOydEea9M--3ql7TdQ" targetNode="_t-LmIOydEea9M--3ql7TdQ">
581 <target xmi:type="ecore:EReference" href="FAM.ecore#//FunctionalElement/model"/>
582 <semanticElements xmi:type="ecore:EReference" href="FAM.ecore#//FunctionalElement/model"/>
583 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_L1yp4O8hEea19YBiZCUo9w" description="_L1yC0O8hEea19YBiZCUo9w" routingStyle="manhattan" strokeColor="114,159,207">
584 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_L1yp4e8hEea19YBiZCUo9w" showIcon="false" labelColor="39,76,114">
585 <labelFormat>bold</labelFormat>
586 </centerLabelStyle>
587 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_L1yp4u8hEea19YBiZCUo9w" labelSize="6" showIcon="false" labelColor="39,76,114"/>
588 </ownedStyle>
589 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
590 </ownedDiagramElements>
591 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_ZrxT8O6tEea19YBiZCUo9w" sourceNode="_9Ha2IOydEea9M--3ql7TdQ" targetNode="_qaFNQOydEea9M--3ql7TdQ" beginLabel="[0..1] parent" endLabel="[0..*] subElements">
592 <target xmi:type="ecore:EReference" href="FAM.ecore#//Function/subElements"/>
593 <semanticElements xmi:type="ecore:EReference" href="FAM.ecore#//FunctionalElement/parent"/>
594 <semanticElements xmi:type="ecore:EReference" href="FAM.ecore#//Function/subElements"/>
595 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bjcnQO6tEea19YBiZCUo9w" description="_HOc-QOyjEea9M--3ql7TdQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
596 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_bjcnQe6tEea19YBiZCUo9w" showIcon="false"/>
597 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bjcnQu6tEea19YBiZCUo9w" showIcon="false"/>
598 </ownedStyle>
599 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
600 </ownedDiagramElements>
601 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
602 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_nOZ7dOydEea9M--3ql7TdQ"/>
603 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
604 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
605 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
606 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
607 <target xmi:type="ecore:EPackage" href="FAM.ecore#/"/>
608 </ownedRepresentations>
609 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
610 </ownedViews>
611 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_lOMXMOydEea9M--3ql7TdQ">
612 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
613 </ownedViews>
614 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_lOQooOydEea9M--3ql7TdQ">
615 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
616 </ownedViews>
617 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_lOeEAOydEea9M--3ql7TdQ">
618 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
619 </ownedViews>
620</viewpoint:DAnalysis>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/model/FAM.ecore b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/model/FAM.ecore
new file mode 100644
index 00000000..521624cb
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/model/FAM.ecore
@@ -0,0 +1,68 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="FunctionalArchitecture" nsURI="FAM" nsPrefix="fam">
4 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
5 <details key="settingDelegates" value="org.eclipse.viatra.query.querybasedfeature"/>
6 </eAnnotations>
7 <eClassifiers xsi:type="ecore:EClass" name="FunctionalElement" abstract="true">
8 <eStructuralFeatures xsi:type="ecore:EReference" name="interface" eType="#//FunctionalInterface"
9 containment="true" eOpposite="#//FunctionalInterface/element"/>
10 <eStructuralFeatures xsi:type="ecore:EReference" name="model" lowerBound="1" eType="#//FunctionalArchitectureModel"
11 volatile="true" transient="true" derived="true">
12 <eAnnotations source="org.eclipse.viatra.query.querybasedfeature">
13 <details key="patternFQN" value="hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.model"/>
14 </eAnnotations>
15 </eStructuralFeatures>
16 <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//Function"
17 eOpposite="#//Function/subElements"/>
18 </eClassifiers>
19 <eClassifiers xsi:type="ecore:EClass" name="FunctionalArchitectureModel">
20 <eStructuralFeatures xsi:type="ecore:EReference" name="rootElements" upperBound="-1"
21 eType="#//FunctionalElement" containment="true"/>
22 </eClassifiers>
23 <eClassifiers xsi:type="ecore:EClass" name="Function" eSuperTypes="#//FunctionalElement">
24 <eStructuralFeatures xsi:type="ecore:EReference" name="subElements" upperBound="-1"
25 eType="#//FunctionalElement" containment="true" eOpposite="#//FunctionalElement/parent"/>
26 <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="#//FunctionType"
27 changeable="false" volatile="true" transient="true" derived="true">
28 <eAnnotations source="org.eclipse.viatra.query.querybasedfeature">
29 <details key="patternFQN" value="hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.type"/>
30 </eAnnotations>
31 </eStructuralFeatures>
32 </eClassifiers>
33 <eClassifiers xsi:type="ecore:EClass" name="FAMTerminator">
34 <eStructuralFeatures xsi:type="ecore:EReference" name="data" eType="#//FunctionalData"
35 eOpposite="#//FunctionalData/terminator"/>
36 </eClassifiers>
37 <eClassifiers xsi:type="ecore:EClass" name="InformationLink">
38 <eStructuralFeatures xsi:type="ecore:EReference" name="from" eType="#//FunctionalOutput"
39 eOpposite="#//FunctionalOutput/outgoingLinks"/>
40 <eStructuralFeatures xsi:type="ecore:EReference" name="to" lowerBound="1" eType="#//FunctionalInput"
41 eOpposite="#//FunctionalInput/IncomingLinks"/>
42 </eClassifiers>
43 <eClassifiers xsi:type="ecore:EClass" name="FunctionalInterface">
44 <eStructuralFeatures xsi:type="ecore:EReference" name="data" upperBound="-1" eType="#//FunctionalData"
45 containment="true" eOpposite="#//FunctionalData/interface"/>
46 <eStructuralFeatures xsi:type="ecore:EReference" name="element" eType="#//FunctionalElement"
47 eOpposite="#//FunctionalElement/interface"/>
48 </eClassifiers>
49 <eClassifiers xsi:type="ecore:EClass" name="FunctionalInput" eSuperTypes="#//FunctionalData">
50 <eStructuralFeatures xsi:type="ecore:EReference" name="IncomingLinks" upperBound="-1"
51 eType="#//InformationLink" eOpposite="#//InformationLink/to"/>
52 </eClassifiers>
53 <eClassifiers xsi:type="ecore:EClass" name="FunctionalOutput" eSuperTypes="#//FunctionalData">
54 <eStructuralFeatures xsi:type="ecore:EReference" name="outgoingLinks" upperBound="-1"
55 eType="#//InformationLink" containment="true" eOpposite="#//InformationLink/from"/>
56 </eClassifiers>
57 <eClassifiers xsi:type="ecore:EClass" name="FunctionalData" abstract="true">
58 <eStructuralFeatures xsi:type="ecore:EReference" name="terminator" eType="#//FAMTerminator"
59 containment="true" eOpposite="#//FAMTerminator/data"/>
60 <eStructuralFeatures xsi:type="ecore:EReference" name="interface" eType="#//FunctionalInterface"
61 eOpposite="#//FunctionalInterface/data"/>
62 </eClassifiers>
63 <eClassifiers xsi:type="ecore:EEnum" name="FunctionType">
64 <eLiterals name="Root"/>
65 <eLiterals name="Intermediate" value="1"/>
66 <eLiterals name="Leaf" value="2"/>
67 </eClassifiers>
68</ecore:EPackage>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/model/FAM.genmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/model/FAM.genmodel
new file mode 100644
index 00000000..2fc02ec8
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/model/FAM.genmodel
@@ -0,0 +1,49 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3 xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/hu.bme.mit.inf.dslreasoner.domains.transima.fam/ecore-gen"
4 modelPluginID="hu.bme.mit.inf.dslreasoner.domains.transima.fam" forceOverwrite="true"
5 modelName="FAM" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
6 importerID="org.eclipse.emf.importer.ecore" complianceLevel="6.0" copyrightFields="false">
7 <foreignModel>FAM.ecore</foreignModel>
8 <genPackages prefix="FunctionalArchitecture" basePackage="hu.bme.mit.inf.dslreasomer.domains.transima.fam"
9 disposableProviderFactory="true" ecorePackage="FAM.ecore#/">
10 <genEnums typeSafeEnumCompatible="false" ecoreEnum="FAM.ecore#//FunctionType">
11 <genEnumLiterals ecoreEnumLiteral="FAM.ecore#//FunctionType/Root"/>
12 <genEnumLiterals ecoreEnumLiteral="FAM.ecore#//FunctionType/Intermediate"/>
13 <genEnumLiterals ecoreEnumLiteral="FAM.ecore#//FunctionType/Leaf"/>
14 </genEnums>
15 <genClasses image="false" ecoreClass="FAM.ecore#//FunctionalElement">
16 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FAM.ecore#//FunctionalElement/interface"/>
17 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference FAM.ecore#//FunctionalElement/model"/>
18 <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference FAM.ecore#//FunctionalElement/parent"/>
19 </genClasses>
20 <genClasses ecoreClass="FAM.ecore#//FunctionalArchitectureModel">
21 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FAM.ecore#//FunctionalArchitectureModel/rootElements"/>
22 </genClasses>
23 <genClasses ecoreClass="FAM.ecore#//Function">
24 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FAM.ecore#//Function/subElements"/>
25 <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute FAM.ecore#//Function/type"/>
26 </genClasses>
27 <genClasses ecoreClass="FAM.ecore#//FAMTerminator">
28 <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference FAM.ecore#//FAMTerminator/data"/>
29 </genClasses>
30 <genClasses ecoreClass="FAM.ecore#//InformationLink">
31 <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference FAM.ecore#//InformationLink/from"/>
32 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference FAM.ecore#//InformationLink/to"/>
33 </genClasses>
34 <genClasses ecoreClass="FAM.ecore#//FunctionalInterface">
35 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FAM.ecore#//FunctionalInterface/data"/>
36 <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference FAM.ecore#//FunctionalInterface/element"/>
37 </genClasses>
38 <genClasses ecoreClass="FAM.ecore#//FunctionalInput">
39 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference FAM.ecore#//FunctionalInput/IncomingLinks"/>
40 </genClasses>
41 <genClasses ecoreClass="FAM.ecore#//FunctionalOutput">
42 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FAM.ecore#//FunctionalOutput/outgoingLinks"/>
43 </genClasses>
44 <genClasses image="false" ecoreClass="FAM.ecore#//FunctionalData">
45 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FAM.ecore#//FunctionalData/terminator"/>
46 <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference FAM.ecore#//FunctionalData/interface"/>
47 </genClasses>
48 </genPackages>
49</genmodel:GenModel>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/plugin.properties b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/plugin.properties
new file mode 100644
index 00000000..58c2dbb6
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/plugin.properties
@@ -0,0 +1,4 @@
1#
2
3pluginName = FAM Model
4providerName = www.example.org
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/plugin.xml b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/plugin.xml
new file mode 100644
index 00000000..ba289eaa
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/plugin.xml
@@ -0,0 +1,28 @@
1<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.0"?><!--
2--><plugin>
3 <extension id="extension.derived.hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.model" point="org.eclipse.viatra.query.runtime.base.wellbehaving.derived.features">
4 <wellbehaving-derived-feature classifier-name="FunctionalElement" feature-name="model" package-nsUri="FAM"/>
5 </extension>
6 <extension id="extension.derived.hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.type" point="org.eclipse.viatra.query.runtime.base.wellbehaving.derived.features">
7 <wellbehaving-derived-feature classifier-name="Function" feature-name="type" package-nsUri="FAM"/>
8 </extension>
9 <extension id="hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.Pattern" point="org.eclipse.viatra.query.runtime.queryspecification">
10 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.Pattern" id="hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.Pattern">
11 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.terminatorAndInformation"/>
12 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.type"/>
13 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.rootElements"/>
14 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.parent"/>
15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.model"/>
16 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.hasRoot"/>
17 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.hasInt"/>
18 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.hasLeaf"/>
19 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.noRoot"/>
20 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.noInt"/>
21 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.noLeaf"/>
22 </group>
23 </extension>
24 <extension point="org.eclipse.emf.ecore.generated_package">
25 <!-- @generated FAM -->
26 <package class="hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage" genModel="model/FAM.genmodel" uri="FAM"/>
27 </extension>
28</plugin>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/queries/hu/bme/mit/inf/dslreasoner/domains/transima/fam/patterns/pattern.vql b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/queries/hu/bme/mit/inf/dslreasoner/domains/transima/fam/patterns/pattern.vql
new file mode 100644
index 00000000..60df0bef
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.transima.fam/queries/hu/bme/mit/inf/dslreasoner/domains/transima/fam/patterns/pattern.vql
@@ -0,0 +1,114 @@
1package hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns
2
3import epackage "FAM";
4
5@Constraint(message="terminatorAndInformation", severity="error", key={T})
6pattern terminatorAndInformation(T : FAMTerminator, I : InformationLink) = {
7 FunctionalOutput.outgoingLinks(Out,I);
8 FunctionalOutput.terminator(Out,T);
9} or {
10 InformationLink.to(I,In);
11 FunctionalInput.terminator(In,T);
12}
13
14@QueryBasedFeature
15pattern type(This : Function, Target : FunctionType) = {
16 find rootElements(_Model, This);
17 Target == FunctionType::Root;
18} or {
19 neg find parent(_Child, This);
20 neg find rootElements(_Model, This);
21 Target == FunctionType::Leaf;
22} or {
23 find parent(This, _Par);
24 find parent(_Child, This);
25 Target == FunctionType::Intermediate;
26}
27
28pattern rootElements(Model: FunctionalArchitectureModel, Root : Function) = {
29 FunctionalArchitectureModel.rootElements(Model, Root);
30}
31
32pattern parent(Func : Function, Par : Function) = {
33 Function.parent(Func, Par);
34}
35
36@QueryBasedFeature
37pattern model(This:FunctionalElement, Target: FunctionalArchitectureModel) {
38 FunctionalElement(This);
39 FunctionalArchitectureModel(Target);
40}
41
42pattern hasRoot(F : Function) {
43 find rootElements(_Model, F);
44}
45pattern hasInt(F : Function) {
46 neg find parent(_Child, F);
47 neg find rootElements(_Model, F);
48}
49pattern hasLeaf(F : Function) {
50 find parent(F, _Par);
51 find parent(_Child, F);
52}
53
54@Constraint(message="noRoot", severity="error", key={fam})
55pattern noRoot(fam: FunctionalArchitectureModel) {
56 FunctionalArchitectureModel(fam);
57 neg find hasRoot(_);
58}
59@Constraint(message="noIntermediate", severity="error", key={fam})
60pattern noInt(fam: FunctionalArchitectureModel) {
61 FunctionalArchitectureModel(fam);
62 neg find hasInt(_);
63}
64@Constraint(message="noLeaf", severity="error", key={fam})
65pattern noLeaf(fam: FunctionalArchitectureModel) {
66 FunctionalArchitectureModel(fam);
67 neg find hasLeaf(_);
68}
69
70
71/*
72@QueryBasedFeature
73pattern model(This : FunctionalElement, Target : FunctionalArchitectureModel) = {
74 find parent+(This, Parent);
75 find rootElements(Target, Parent);
76} or {
77 find rootElements(Target, This);
78}
79
80pattern interfaceData(FI : FunctionalInterface, FD : FunctionalData) = {
81 FunctionalInterface.data(FI, FD);
82}
83
84@QueryBasedFeature
85pattern inputs(This : FunctionalInterface, Target : FunctionalInput) = {
86 find interfaceData(This, Target);
87}
88
89@QueryBasedFeature
90pattern outputs(This : FunctionalInterface, Target : FunctionalOutput) = {
91 find interfaceData(This, Target);
92}
93
94@QueryBasedFeature
95pattern outgoingLinks(This : FunctionalElement, Target : InformationLink) = {
96 FunctionalElement.interface.outputs(This, Output);
97 InformationLink.from(Target, Output);
98}
99
100@QueryBasedFeature
101pattern incomingLinks(This : FunctionalElement, Target : InformationLink) = {
102 FunctionalElement.interface.inputs(This, Input);
103 InformationLink.to(Target, Input);
104}
105
106@QueryBasedFeature
107pattern connects(This : FunctionalElement, Target : FunctionalElement) = {
108 FunctionalElement.outgoingLinks(This,Link);
109 FunctionalElement.incomingLinks(Target,Link);
110}*/
111
112/*pattern frequency(a: Function, b : EInt) {
113 Function.minimumFrequency(a,b);
114}*/
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.classpath b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.classpath
new file mode 100644
index 00000000..e97c71bb
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.classpath
@@ -0,0 +1,10 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="ecore-gen"/>
4 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
5 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
6 <classpathentry kind="src" path="src"/>
7 <classpathentry kind="src" path="queries"/>
8 <classpathentry kind="src" path="src-gen/"/>
9 <classpathentry kind="output" path="bin"/>
10</classpath>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.gitignore
new file mode 100644
index 00000000..8ae4e44d
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.gitignore
@@ -0,0 +1,4 @@
1/bin/
2/src-gen/
3/vql-gen/
4/xtend-gen/
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.project b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.project
new file mode 100644
index 00000000..0f806852
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.project
@@ -0,0 +1,40 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.viatra.query.tooling.ui.projectbuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.jdt.core.javabuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.ManifestBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 <buildCommand>
29 <name>org.eclipse.pde.SchemaBuilder</name>
30 <arguments>
31 </arguments>
32 </buildCommand>
33 </buildSpec>
34 <natures>
35 <nature>org.eclipse.pde.PluginNature</nature>
36 <nature>org.eclipse.jdt.core.javanature</nature>
37 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
38 <nature>org.eclipse.viatra.query.projectnature</nature>
39 </natures>
40</projectDescription>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.settings/org.eclipse.jdt.core.prefs b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..38e11091
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: %pluginName
4Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph;singleton:=true
5Bundle-Version: 1.0.0.qualifier
6Bundle-ClassPath: .
7Bundle-Vendor: %providerName
8Bundle-Localization: plugin
9Export-Package: hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm,
10 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl,
11 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.util,
12 hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu,
13 hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.util
14Require-Bundle: org.eclipse.viatra.query.runtime,
15 org.eclipse.core.runtime,
16 org.eclipse.emf.ecore;visibility:=reexport,
17 com.google.guava;bundle-version="15.0.0"
18Bundle-RequiredExecutionEnvironment: JavaSE-1.8
19Bundle-ActivationPolicy: lazy
20Import-Package: org.apache.log4j
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/build.properties b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/build.properties
new file mode 100644
index 00000000..aed85a48
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/build.properties
@@ -0,0 +1,5 @@
1bin.includes = META-INF/,\
2 .
3source.. = src/,\
4 src-gen/
5output.. = bin/
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/CompositeElement.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/CompositeElement.java
new file mode 100644
index 00000000..9d9cde17
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/CompositeElement.java
@@ -0,0 +1,42 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Composite Element</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.CompositeElement#getRegions <em>Regions</em>}</li>
19 * </ul>
20 *
21 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getCompositeElement()
22 * @model abstract="true"
23 * @generated
24 */
25public interface CompositeElement extends EObject {
26 /**
27 * Returns the value of the '<em><b>Regions</b></em>' containment reference list.
28 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Region}.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Regions</em>' containment reference list isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Regions</em>' containment reference list.
36 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getCompositeElement_Regions()
37 * @model containment="true"
38 * @generated
39 */
40 EList<Region> getRegions();
41
42} // CompositeElement
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Entry.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Entry.java
new file mode 100644
index 00000000..de8cdb07
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Entry.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Entry</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getEntry()
13 * @model
14 * @generated
15 */
16public interface Entry extends Pseudostate {
17} // Entry
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Pseudostate.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Pseudostate.java
new file mode 100644
index 00000000..e02dccff
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Pseudostate.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Pseudostate</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getPseudostate()
13 * @model abstract="true"
14 * @generated
15 */
16public interface Pseudostate extends Vertex {
17} // Pseudostate
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Region.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Region.java
new file mode 100644
index 00000000..38dbd377
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Region.java
@@ -0,0 +1,42 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Region</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Region#getVertices <em>Vertices</em>}</li>
19 * </ul>
20 *
21 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getRegion()
22 * @model
23 * @generated
24 */
25public interface Region extends EObject {
26 /**
27 * Returns the value of the '<em><b>Vertices</b></em>' containment reference list.
28 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex}.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Vertices</em>' containment reference list isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Vertices</em>' containment reference list.
36 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getRegion_Vertices()
37 * @model containment="true" ordered="false"
38 * @generated
39 */
40 EList<Vertex> getVertices();
41
42} // Region
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/RegularState.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/RegularState.java
new file mode 100644
index 00000000..e71b7371
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/RegularState.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Regular State</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getRegularState()
13 * @model abstract="true"
14 * @generated
15 */
16public interface RegularState extends Vertex {
17} // RegularState
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/State.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/State.java
new file mode 100644
index 00000000..c01ea937
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/State.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>State</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getState()
13 * @model
14 * @generated
15 */
16public interface State extends RegularState, CompositeElement {
17} // State
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Statechart.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Statechart.java
new file mode 100644
index 00000000..b5950903
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Statechart.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Statechart</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getStatechart()
13 * @model
14 * @generated
15 */
16public interface Statechart extends CompositeElement {
17} // Statechart
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Synchronization.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Synchronization.java
new file mode 100644
index 00000000..0206a4fe
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Synchronization.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Synchronization</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getSynchronization()
13 * @model
14 * @generated
15 */
16public interface Synchronization extends Pseudostate {
17} // Synchronization
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Transition.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Transition.java
new file mode 100644
index 00000000..a27e46e8
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Transition.java
@@ -0,0 +1,81 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Transition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition#getTarget <em>Target</em>}</li>
17 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition#getSource <em>Source</em>}</li>
18 * </ul>
19 *
20 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getTransition()
21 * @model
22 * @generated
23 */
24public interface Transition extends EObject {
25 /**
26 * Returns the value of the '<em><b>Target</b></em>' reference.
27 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex#getIncomingTransitions <em>Incoming Transitions</em>}'.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Target</em>' reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Target</em>' reference.
35 * @see #setTarget(Vertex)
36 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getTransition_Target()
37 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex#getIncomingTransitions
38 * @model opposite="incomingTransitions" required="true" ordered="false"
39 * @generated
40 */
41 Vertex getTarget();
42
43 /**
44 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition#getTarget <em>Target</em>}' reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Target</em>' reference.
48 * @see #getTarget()
49 * @generated
50 */
51 void setTarget(Vertex value);
52
53 /**
54 * Returns the value of the '<em><b>Source</b></em>' container reference.
55 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex#getOutgoingTransitions <em>Outgoing Transitions</em>}'.
56 * <!-- begin-user-doc -->
57 * <p>
58 * If the meaning of the '<em>Source</em>' container reference isn't clear,
59 * there really should be more of a description here...
60 * </p>
61 * <!-- end-user-doc -->
62 * @return the value of the '<em>Source</em>' container reference.
63 * @see #setSource(Vertex)
64 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getTransition_Source()
65 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex#getOutgoingTransitions
66 * @model opposite="outgoingTransitions" required="true" transient="false" ordered="false"
67 * @generated
68 */
69 Vertex getSource();
70
71 /**
72 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition#getSource <em>Source</em>}' container reference.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @param value the new value of the '<em>Source</em>' container reference.
76 * @see #getSource()
77 * @generated
78 */
79 void setSource(Vertex value);
80
81} // Transition
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Vertex.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Vertex.java
new file mode 100644
index 00000000..777cbd74
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Vertex.java
@@ -0,0 +1,63 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Vertex</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex#getIncomingTransitions <em>Incoming Transitions</em>}</li>
19 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex#getOutgoingTransitions <em>Outgoing Transitions</em>}</li>
20 * </ul>
21 *
22 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getVertex()
23 * @model abstract="true"
24 * @generated
25 */
26public interface Vertex extends EObject {
27 /**
28 * Returns the value of the '<em><b>Incoming Transitions</b></em>' reference list.
29 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition}.
30 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition#getTarget <em>Target</em>}'.
31 * <!-- begin-user-doc -->
32 * <p>
33 * If the meaning of the '<em>Incoming Transitions</em>' reference list isn't clear,
34 * there really should be more of a description here...
35 * </p>
36 * <!-- end-user-doc -->
37 * @return the value of the '<em>Incoming Transitions</em>' reference list.
38 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getVertex_IncomingTransitions()
39 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition#getTarget
40 * @model opposite="target" ordered="false"
41 * @generated
42 */
43 EList<Transition> getIncomingTransitions();
44
45 /**
46 * Returns the value of the '<em><b>Outgoing Transitions</b></em>' containment reference list.
47 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition}.
48 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition#getSource <em>Source</em>}'.
49 * <!-- begin-user-doc -->
50 * <p>
51 * If the meaning of the '<em>Outgoing Transitions</em>' containment reference list isn't clear,
52 * there really should be more of a description here...
53 * </p>
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Outgoing Transitions</em>' containment reference list.
56 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getVertex_OutgoingTransitions()
57 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition#getSource
58 * @model opposite="source" containment="true" ordered="false"
59 * @generated
60 */
61 EList<Transition> getOutgoingTransitions();
62
63} // Vertex
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/YakindummFactory.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/YakindummFactory.java
new file mode 100644
index 00000000..51751f8c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/YakindummFactory.java
@@ -0,0 +1,87 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm;
4
5import org.eclipse.emf.ecore.EFactory;
6
7/**
8 * <!-- begin-user-doc -->
9 * The <b>Factory</b> for the model.
10 * It provides a create method for each non-abstract class of the model.
11 * <!-- end-user-doc -->
12 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage
13 * @generated
14 */
15public interface YakindummFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 YakindummFactory eINSTANCE = hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>Region</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>Region</em>'.
29 * @generated
30 */
31 Region createRegion();
32
33 /**
34 * Returns a new object of class '<em>Transition</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Transition</em>'.
38 * @generated
39 */
40 Transition createTransition();
41
42 /**
43 * Returns a new object of class '<em>Statechart</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>Statechart</em>'.
47 * @generated
48 */
49 Statechart createStatechart();
50
51 /**
52 * Returns a new object of class '<em>Entry</em>'.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return a new object of class '<em>Entry</em>'.
56 * @generated
57 */
58 Entry createEntry();
59
60 /**
61 * Returns a new object of class '<em>Synchronization</em>'.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return a new object of class '<em>Synchronization</em>'.
65 * @generated
66 */
67 Synchronization createSynchronization();
68
69 /**
70 * Returns a new object of class '<em>State</em>'.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @return a new object of class '<em>State</em>'.
74 * @generated
75 */
76 State createState();
77
78 /**
79 * Returns the package supported by this factory.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @return the package supported by this factory.
83 * @generated
84 */
85 YakindummPackage getYakindummPackage();
86
87} //YakindummFactory
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/YakindummPackage.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/YakindummPackage.java
new file mode 100644
index 00000000..01f62588
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/YakindummPackage.java
@@ -0,0 +1,840 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm;
4
5import org.eclipse.emf.ecore.EClass;
6import org.eclipse.emf.ecore.EPackage;
7import org.eclipse.emf.ecore.EReference;
8
9/**
10 * <!-- begin-user-doc -->
11 * The <b>Package</b> for the model.
12 * It contains accessors for the meta objects to represent
13 * <ul>
14 * <li>each class,</li>
15 * <li>each feature of each class,</li>
16 * <li>each operation of each class,</li>
17 * <li>each enum,</li>
18 * <li>and each data type</li>
19 * </ul>
20 * <!-- end-user-doc -->
21 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummFactory
22 * @model kind="package"
23 * @generated
24 */
25public interface YakindummPackage extends EPackage {
26 /**
27 * The package name.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 String eNAME = "yakindumm";
33
34 /**
35 * The package namespace URI.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 String eNS_URI = "hu.bme.mit.inf.yakindumm";
41
42 /**
43 * The package namespace name.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 String eNS_PREFIX = "hu.bme.mit.inf.yakindumm";
49
50 /**
51 * The singleton instance of the package.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 YakindummPackage eINSTANCE = hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl.init();
57
58 /**
59 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.VertexImpl <em>Vertex</em>}' class.
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.VertexImpl
63 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getVertex()
64 * @generated
65 */
66 int VERTEX = 1;
67
68 /**
69 * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 * @ordered
74 */
75 int VERTEX__INCOMING_TRANSITIONS = 0;
76
77 /**
78 * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list.
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 * @ordered
83 */
84 int VERTEX__OUTGOING_TRANSITIONS = 1;
85
86 /**
87 * The number of structural features of the '<em>Vertex</em>' class.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 * @ordered
92 */
93 int VERTEX_FEATURE_COUNT = 2;
94
95 /**
96 * The number of operations of the '<em>Vertex</em>' class.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 * @ordered
101 */
102 int VERTEX_OPERATION_COUNT = 0;
103
104 /**
105 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.PseudostateImpl <em>Pseudostate</em>}' class.
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.PseudostateImpl
109 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getPseudostate()
110 * @generated
111 */
112 int PSEUDOSTATE = 0;
113
114 /**
115 * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list.
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 * @ordered
120 */
121 int PSEUDOSTATE__INCOMING_TRANSITIONS = VERTEX__INCOMING_TRANSITIONS;
122
123 /**
124 * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list.
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 * @ordered
129 */
130 int PSEUDOSTATE__OUTGOING_TRANSITIONS = VERTEX__OUTGOING_TRANSITIONS;
131
132 /**
133 * The number of structural features of the '<em>Pseudostate</em>' class.
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 * @ordered
138 */
139 int PSEUDOSTATE_FEATURE_COUNT = VERTEX_FEATURE_COUNT + 0;
140
141 /**
142 * The number of operations of the '<em>Pseudostate</em>' class.
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 * @ordered
147 */
148 int PSEUDOSTATE_OPERATION_COUNT = VERTEX_OPERATION_COUNT + 0;
149
150 /**
151 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.RegionImpl <em>Region</em>}' class.
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.RegionImpl
155 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getRegion()
156 * @generated
157 */
158 int REGION = 2;
159
160 /**
161 * The feature id for the '<em><b>Vertices</b></em>' containment reference list.
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 * @ordered
166 */
167 int REGION__VERTICES = 0;
168
169 /**
170 * The number of structural features of the '<em>Region</em>' class.
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 * @ordered
175 */
176 int REGION_FEATURE_COUNT = 1;
177
178 /**
179 * The number of operations of the '<em>Region</em>' class.
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 * @ordered
184 */
185 int REGION_OPERATION_COUNT = 0;
186
187 /**
188 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.TransitionImpl <em>Transition</em>}' class.
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.TransitionImpl
192 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getTransition()
193 * @generated
194 */
195 int TRANSITION = 3;
196
197 /**
198 * The feature id for the '<em><b>Target</b></em>' reference.
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated
202 * @ordered
203 */
204 int TRANSITION__TARGET = 0;
205
206 /**
207 * The feature id for the '<em><b>Source</b></em>' container reference.
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 * @ordered
212 */
213 int TRANSITION__SOURCE = 1;
214
215 /**
216 * The number of structural features of the '<em>Transition</em>' class.
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 * @ordered
221 */
222 int TRANSITION_FEATURE_COUNT = 2;
223
224 /**
225 * The number of operations of the '<em>Transition</em>' class.
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 * @ordered
230 */
231 int TRANSITION_OPERATION_COUNT = 0;
232
233 /**
234 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.CompositeElementImpl <em>Composite Element</em>}' class.
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.CompositeElementImpl
238 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getCompositeElement()
239 * @generated
240 */
241 int COMPOSITE_ELEMENT = 9;
242
243 /**
244 * The feature id for the '<em><b>Regions</b></em>' containment reference list.
245 * <!-- begin-user-doc -->
246 * <!-- end-user-doc -->
247 * @generated
248 * @ordered
249 */
250 int COMPOSITE_ELEMENT__REGIONS = 0;
251
252 /**
253 * The number of structural features of the '<em>Composite Element</em>' class.
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 * @ordered
258 */
259 int COMPOSITE_ELEMENT_FEATURE_COUNT = 1;
260
261 /**
262 * The number of operations of the '<em>Composite Element</em>' class.
263 * <!-- begin-user-doc -->
264 * <!-- end-user-doc -->
265 * @generated
266 * @ordered
267 */
268 int COMPOSITE_ELEMENT_OPERATION_COUNT = 0;
269
270 /**
271 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.StatechartImpl <em>Statechart</em>}' class.
272 * <!-- begin-user-doc -->
273 * <!-- end-user-doc -->
274 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.StatechartImpl
275 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getStatechart()
276 * @generated
277 */
278 int STATECHART = 4;
279
280 /**
281 * The feature id for the '<em><b>Regions</b></em>' containment reference list.
282 * <!-- begin-user-doc -->
283 * <!-- end-user-doc -->
284 * @generated
285 * @ordered
286 */
287 int STATECHART__REGIONS = COMPOSITE_ELEMENT__REGIONS;
288
289 /**
290 * The number of structural features of the '<em>Statechart</em>' class.
291 * <!-- begin-user-doc -->
292 * <!-- end-user-doc -->
293 * @generated
294 * @ordered
295 */
296 int STATECHART_FEATURE_COUNT = COMPOSITE_ELEMENT_FEATURE_COUNT + 0;
297
298 /**
299 * The number of operations of the '<em>Statechart</em>' class.
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 * @ordered
304 */
305 int STATECHART_OPERATION_COUNT = COMPOSITE_ELEMENT_OPERATION_COUNT + 0;
306
307 /**
308 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.EntryImpl <em>Entry</em>}' class.
309 * <!-- begin-user-doc -->
310 * <!-- end-user-doc -->
311 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.EntryImpl
312 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getEntry()
313 * @generated
314 */
315 int ENTRY = 5;
316
317 /**
318 * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list.
319 * <!-- begin-user-doc -->
320 * <!-- end-user-doc -->
321 * @generated
322 * @ordered
323 */
324 int ENTRY__INCOMING_TRANSITIONS = PSEUDOSTATE__INCOMING_TRANSITIONS;
325
326 /**
327 * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list.
328 * <!-- begin-user-doc -->
329 * <!-- end-user-doc -->
330 * @generated
331 * @ordered
332 */
333 int ENTRY__OUTGOING_TRANSITIONS = PSEUDOSTATE__OUTGOING_TRANSITIONS;
334
335 /**
336 * The number of structural features of the '<em>Entry</em>' class.
337 * <!-- begin-user-doc -->
338 * <!-- end-user-doc -->
339 * @generated
340 * @ordered
341 */
342 int ENTRY_FEATURE_COUNT = PSEUDOSTATE_FEATURE_COUNT + 0;
343
344 /**
345 * The number of operations of the '<em>Entry</em>' class.
346 * <!-- begin-user-doc -->
347 * <!-- end-user-doc -->
348 * @generated
349 * @ordered
350 */
351 int ENTRY_OPERATION_COUNT = PSEUDOSTATE_OPERATION_COUNT + 0;
352
353 /**
354 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.SynchronizationImpl <em>Synchronization</em>}' class.
355 * <!-- begin-user-doc -->
356 * <!-- end-user-doc -->
357 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.SynchronizationImpl
358 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getSynchronization()
359 * @generated
360 */
361 int SYNCHRONIZATION = 6;
362
363 /**
364 * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list.
365 * <!-- begin-user-doc -->
366 * <!-- end-user-doc -->
367 * @generated
368 * @ordered
369 */
370 int SYNCHRONIZATION__INCOMING_TRANSITIONS = PSEUDOSTATE__INCOMING_TRANSITIONS;
371
372 /**
373 * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list.
374 * <!-- begin-user-doc -->
375 * <!-- end-user-doc -->
376 * @generated
377 * @ordered
378 */
379 int SYNCHRONIZATION__OUTGOING_TRANSITIONS = PSEUDOSTATE__OUTGOING_TRANSITIONS;
380
381 /**
382 * The number of structural features of the '<em>Synchronization</em>' class.
383 * <!-- begin-user-doc -->
384 * <!-- end-user-doc -->
385 * @generated
386 * @ordered
387 */
388 int SYNCHRONIZATION_FEATURE_COUNT = PSEUDOSTATE_FEATURE_COUNT + 0;
389
390 /**
391 * The number of operations of the '<em>Synchronization</em>' class.
392 * <!-- begin-user-doc -->
393 * <!-- end-user-doc -->
394 * @generated
395 * @ordered
396 */
397 int SYNCHRONIZATION_OPERATION_COUNT = PSEUDOSTATE_OPERATION_COUNT + 0;
398
399 /**
400 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.RegularStateImpl <em>Regular State</em>}' class.
401 * <!-- begin-user-doc -->
402 * <!-- end-user-doc -->
403 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.RegularStateImpl
404 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getRegularState()
405 * @generated
406 */
407 int REGULAR_STATE = 8;
408
409 /**
410 * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list.
411 * <!-- begin-user-doc -->
412 * <!-- end-user-doc -->
413 * @generated
414 * @ordered
415 */
416 int REGULAR_STATE__INCOMING_TRANSITIONS = VERTEX__INCOMING_TRANSITIONS;
417
418 /**
419 * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list.
420 * <!-- begin-user-doc -->
421 * <!-- end-user-doc -->
422 * @generated
423 * @ordered
424 */
425 int REGULAR_STATE__OUTGOING_TRANSITIONS = VERTEX__OUTGOING_TRANSITIONS;
426
427 /**
428 * The number of structural features of the '<em>Regular State</em>' class.
429 * <!-- begin-user-doc -->
430 * <!-- end-user-doc -->
431 * @generated
432 * @ordered
433 */
434 int REGULAR_STATE_FEATURE_COUNT = VERTEX_FEATURE_COUNT + 0;
435
436 /**
437 * The number of operations of the '<em>Regular State</em>' class.
438 * <!-- begin-user-doc -->
439 * <!-- end-user-doc -->
440 * @generated
441 * @ordered
442 */
443 int REGULAR_STATE_OPERATION_COUNT = VERTEX_OPERATION_COUNT + 0;
444
445 /**
446 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.StateImpl <em>State</em>}' class.
447 * <!-- begin-user-doc -->
448 * <!-- end-user-doc -->
449 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.StateImpl
450 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getState()
451 * @generated
452 */
453 int STATE = 7;
454
455 /**
456 * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list.
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @generated
460 * @ordered
461 */
462 int STATE__INCOMING_TRANSITIONS = REGULAR_STATE__INCOMING_TRANSITIONS;
463
464 /**
465 * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list.
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @generated
469 * @ordered
470 */
471 int STATE__OUTGOING_TRANSITIONS = REGULAR_STATE__OUTGOING_TRANSITIONS;
472
473 /**
474 * The feature id for the '<em><b>Regions</b></em>' containment reference list.
475 * <!-- begin-user-doc -->
476 * <!-- end-user-doc -->
477 * @generated
478 * @ordered
479 */
480 int STATE__REGIONS = REGULAR_STATE_FEATURE_COUNT + 0;
481
482 /**
483 * The number of structural features of the '<em>State</em>' class.
484 * <!-- begin-user-doc -->
485 * <!-- end-user-doc -->
486 * @generated
487 * @ordered
488 */
489 int STATE_FEATURE_COUNT = REGULAR_STATE_FEATURE_COUNT + 1;
490
491 /**
492 * The number of operations of the '<em>State</em>' class.
493 * <!-- begin-user-doc -->
494 * <!-- end-user-doc -->
495 * @generated
496 * @ordered
497 */
498 int STATE_OPERATION_COUNT = REGULAR_STATE_OPERATION_COUNT + 0;
499
500
501 /**
502 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Pseudostate <em>Pseudostate</em>}'.
503 * <!-- begin-user-doc -->
504 * <!-- end-user-doc -->
505 * @return the meta object for class '<em>Pseudostate</em>'.
506 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Pseudostate
507 * @generated
508 */
509 EClass getPseudostate();
510
511 /**
512 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex <em>Vertex</em>}'.
513 * <!-- begin-user-doc -->
514 * <!-- end-user-doc -->
515 * @return the meta object for class '<em>Vertex</em>'.
516 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex
517 * @generated
518 */
519 EClass getVertex();
520
521 /**
522 * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex#getIncomingTransitions <em>Incoming Transitions</em>}'.
523 * <!-- begin-user-doc -->
524 * <!-- end-user-doc -->
525 * @return the meta object for the reference list '<em>Incoming Transitions</em>'.
526 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex#getIncomingTransitions()
527 * @see #getVertex()
528 * @generated
529 */
530 EReference getVertex_IncomingTransitions();
531
532 /**
533 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex#getOutgoingTransitions <em>Outgoing Transitions</em>}'.
534 * <!-- begin-user-doc -->
535 * <!-- end-user-doc -->
536 * @return the meta object for the containment reference list '<em>Outgoing Transitions</em>'.
537 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex#getOutgoingTransitions()
538 * @see #getVertex()
539 * @generated
540 */
541 EReference getVertex_OutgoingTransitions();
542
543 /**
544 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Region <em>Region</em>}'.
545 * <!-- begin-user-doc -->
546 * <!-- end-user-doc -->
547 * @return the meta object for class '<em>Region</em>'.
548 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Region
549 * @generated
550 */
551 EClass getRegion();
552
553 /**
554 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Region#getVertices <em>Vertices</em>}'.
555 * <!-- begin-user-doc -->
556 * <!-- end-user-doc -->
557 * @return the meta object for the containment reference list '<em>Vertices</em>'.
558 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Region#getVertices()
559 * @see #getRegion()
560 * @generated
561 */
562 EReference getRegion_Vertices();
563
564 /**
565 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition <em>Transition</em>}'.
566 * <!-- begin-user-doc -->
567 * <!-- end-user-doc -->
568 * @return the meta object for class '<em>Transition</em>'.
569 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition
570 * @generated
571 */
572 EClass getTransition();
573
574 /**
575 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition#getTarget <em>Target</em>}'.
576 * <!-- begin-user-doc -->
577 * <!-- end-user-doc -->
578 * @return the meta object for the reference '<em>Target</em>'.
579 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition#getTarget()
580 * @see #getTransition()
581 * @generated
582 */
583 EReference getTransition_Target();
584
585 /**
586 * Returns the meta object for the container reference '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition#getSource <em>Source</em>}'.
587 * <!-- begin-user-doc -->
588 * <!-- end-user-doc -->
589 * @return the meta object for the container reference '<em>Source</em>'.
590 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition#getSource()
591 * @see #getTransition()
592 * @generated
593 */
594 EReference getTransition_Source();
595
596 /**
597 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Statechart <em>Statechart</em>}'.
598 * <!-- begin-user-doc -->
599 * <!-- end-user-doc -->
600 * @return the meta object for class '<em>Statechart</em>'.
601 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Statechart
602 * @generated
603 */
604 EClass getStatechart();
605
606 /**
607 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Entry <em>Entry</em>}'.
608 * <!-- begin-user-doc -->
609 * <!-- end-user-doc -->
610 * @return the meta object for class '<em>Entry</em>'.
611 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Entry
612 * @generated
613 */
614 EClass getEntry();
615
616 /**
617 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Synchronization <em>Synchronization</em>}'.
618 * <!-- begin-user-doc -->
619 * <!-- end-user-doc -->
620 * @return the meta object for class '<em>Synchronization</em>'.
621 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Synchronization
622 * @generated
623 */
624 EClass getSynchronization();
625
626 /**
627 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.State <em>State</em>}'.
628 * <!-- begin-user-doc -->
629 * <!-- end-user-doc -->
630 * @return the meta object for class '<em>State</em>'.
631 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.State
632 * @generated
633 */
634 EClass getState();
635
636 /**
637 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.RegularState <em>Regular State</em>}'.
638 * <!-- begin-user-doc -->
639 * <!-- end-user-doc -->
640 * @return the meta object for class '<em>Regular State</em>'.
641 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.RegularState
642 * @generated
643 */
644 EClass getRegularState();
645
646 /**
647 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.CompositeElement <em>Composite Element</em>}'.
648 * <!-- begin-user-doc -->
649 * <!-- end-user-doc -->
650 * @return the meta object for class '<em>Composite Element</em>'.
651 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.CompositeElement
652 * @generated
653 */
654 EClass getCompositeElement();
655
656 /**
657 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.CompositeElement#getRegions <em>Regions</em>}'.
658 * <!-- begin-user-doc -->
659 * <!-- end-user-doc -->
660 * @return the meta object for the containment reference list '<em>Regions</em>'.
661 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.CompositeElement#getRegions()
662 * @see #getCompositeElement()
663 * @generated
664 */
665 EReference getCompositeElement_Regions();
666
667 /**
668 * Returns the factory that creates the instances of the model.
669 * <!-- begin-user-doc -->
670 * <!-- end-user-doc -->
671 * @return the factory that creates the instances of the model.
672 * @generated
673 */
674 YakindummFactory getYakindummFactory();
675
676 /**
677 * <!-- begin-user-doc -->
678 * Defines literals for the meta objects that represent
679 * <ul>
680 * <li>each class,</li>
681 * <li>each feature of each class,</li>
682 * <li>each operation of each class,</li>
683 * <li>each enum,</li>
684 * <li>and each data type</li>
685 * </ul>
686 * <!-- end-user-doc -->
687 * @generated
688 */
689 interface Literals {
690 /**
691 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.PseudostateImpl <em>Pseudostate</em>}' class.
692 * <!-- begin-user-doc -->
693 * <!-- end-user-doc -->
694 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.PseudostateImpl
695 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getPseudostate()
696 * @generated
697 */
698 EClass PSEUDOSTATE = eINSTANCE.getPseudostate();
699
700 /**
701 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.VertexImpl <em>Vertex</em>}' class.
702 * <!-- begin-user-doc -->
703 * <!-- end-user-doc -->
704 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.VertexImpl
705 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getVertex()
706 * @generated
707 */
708 EClass VERTEX = eINSTANCE.getVertex();
709
710 /**
711 * The meta object literal for the '<em><b>Incoming Transitions</b></em>' reference list feature.
712 * <!-- begin-user-doc -->
713 * <!-- end-user-doc -->
714 * @generated
715 */
716 EReference VERTEX__INCOMING_TRANSITIONS = eINSTANCE.getVertex_IncomingTransitions();
717
718 /**
719 * The meta object literal for the '<em><b>Outgoing Transitions</b></em>' containment reference list feature.
720 * <!-- begin-user-doc -->
721 * <!-- end-user-doc -->
722 * @generated
723 */
724 EReference VERTEX__OUTGOING_TRANSITIONS = eINSTANCE.getVertex_OutgoingTransitions();
725
726 /**
727 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.RegionImpl <em>Region</em>}' class.
728 * <!-- begin-user-doc -->
729 * <!-- end-user-doc -->
730 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.RegionImpl
731 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getRegion()
732 * @generated
733 */
734 EClass REGION = eINSTANCE.getRegion();
735
736 /**
737 * The meta object literal for the '<em><b>Vertices</b></em>' containment reference list feature.
738 * <!-- begin-user-doc -->
739 * <!-- end-user-doc -->
740 * @generated
741 */
742 EReference REGION__VERTICES = eINSTANCE.getRegion_Vertices();
743
744 /**
745 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.TransitionImpl <em>Transition</em>}' class.
746 * <!-- begin-user-doc -->
747 * <!-- end-user-doc -->
748 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.TransitionImpl
749 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getTransition()
750 * @generated
751 */
752 EClass TRANSITION = eINSTANCE.getTransition();
753
754 /**
755 * The meta object literal for the '<em><b>Target</b></em>' reference feature.
756 * <!-- begin-user-doc -->
757 * <!-- end-user-doc -->
758 * @generated
759 */
760 EReference TRANSITION__TARGET = eINSTANCE.getTransition_Target();
761
762 /**
763 * The meta object literal for the '<em><b>Source</b></em>' container reference feature.
764 * <!-- begin-user-doc -->
765 * <!-- end-user-doc -->
766 * @generated
767 */
768 EReference TRANSITION__SOURCE = eINSTANCE.getTransition_Source();
769
770 /**
771 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.StatechartImpl <em>Statechart</em>}' class.
772 * <!-- begin-user-doc -->
773 * <!-- end-user-doc -->
774 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.StatechartImpl
775 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getStatechart()
776 * @generated
777 */
778 EClass STATECHART = eINSTANCE.getStatechart();
779
780 /**
781 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.EntryImpl <em>Entry</em>}' class.
782 * <!-- begin-user-doc -->
783 * <!-- end-user-doc -->
784 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.EntryImpl
785 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getEntry()
786 * @generated
787 */
788 EClass ENTRY = eINSTANCE.getEntry();
789
790 /**
791 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.SynchronizationImpl <em>Synchronization</em>}' class.
792 * <!-- begin-user-doc -->
793 * <!-- end-user-doc -->
794 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.SynchronizationImpl
795 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getSynchronization()
796 * @generated
797 */
798 EClass SYNCHRONIZATION = eINSTANCE.getSynchronization();
799
800 /**
801 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.StateImpl <em>State</em>}' class.
802 * <!-- begin-user-doc -->
803 * <!-- end-user-doc -->
804 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.StateImpl
805 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getState()
806 * @generated
807 */
808 EClass STATE = eINSTANCE.getState();
809
810 /**
811 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.RegularStateImpl <em>Regular State</em>}' class.
812 * <!-- begin-user-doc -->
813 * <!-- end-user-doc -->
814 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.RegularStateImpl
815 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getRegularState()
816 * @generated
817 */
818 EClass REGULAR_STATE = eINSTANCE.getRegularState();
819
820 /**
821 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.CompositeElementImpl <em>Composite Element</em>}' class.
822 * <!-- begin-user-doc -->
823 * <!-- end-user-doc -->
824 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.CompositeElementImpl
825 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getCompositeElement()
826 * @generated
827 */
828 EClass COMPOSITE_ELEMENT = eINSTANCE.getCompositeElement();
829
830 /**
831 * The meta object literal for the '<em><b>Regions</b></em>' containment reference list feature.
832 * <!-- begin-user-doc -->
833 * <!-- end-user-doc -->
834 * @generated
835 */
836 EReference COMPOSITE_ELEMENT__REGIONS = eINSTANCE.getCompositeElement_Regions();
837
838 }
839
840} //YakindummPackage
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/CompositeElementImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/CompositeElementImpl.java
new file mode 100644
index 00000000..0e298b95
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/CompositeElementImpl.java
@@ -0,0 +1,152 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.CompositeElement;
6import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Region;
7import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
19
20import org.eclipse.emf.ecore.util.EObjectContainmentEList;
21import org.eclipse.emf.ecore.util.InternalEList;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Composite Element</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.CompositeElementImpl#getRegions <em>Regions</em>}</li>
32 * </ul>
33 *
34 * @generated
35 */
36public abstract class CompositeElementImpl extends MinimalEObjectImpl.Container implements CompositeElement {
37 /**
38 * The cached value of the '{@link #getRegions() <em>Regions</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getRegions()
42 * @generated
43 * @ordered
44 */
45 protected EList<Region> regions;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected CompositeElementImpl() {
53 super();
54 }
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 @Override
62 protected EClass eStaticClass() {
63 return YakindummPackage.Literals.COMPOSITE_ELEMENT;
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 public EList<Region> getRegions() {
72 if (regions == null) {
73 regions = new EObjectContainmentEList<Region>(Region.class, this, YakindummPackage.COMPOSITE_ELEMENT__REGIONS);
74 }
75 return regions;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
85 switch (featureID) {
86 case YakindummPackage.COMPOSITE_ELEMENT__REGIONS:
87 return ((InternalEList<?>)getRegions()).basicRemove(otherEnd, msgs);
88 }
89 return super.eInverseRemove(otherEnd, featureID, msgs);
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public Object eGet(int featureID, boolean resolve, boolean coreType) {
99 switch (featureID) {
100 case YakindummPackage.COMPOSITE_ELEMENT__REGIONS:
101 return getRegions();
102 }
103 return super.eGet(featureID, resolve, coreType);
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @SuppressWarnings("unchecked")
112 @Override
113 public void eSet(int featureID, Object newValue) {
114 switch (featureID) {
115 case YakindummPackage.COMPOSITE_ELEMENT__REGIONS:
116 getRegions().clear();
117 getRegions().addAll((Collection<? extends Region>)newValue);
118 return;
119 }
120 super.eSet(featureID, newValue);
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 @Override
129 public void eUnset(int featureID) {
130 switch (featureID) {
131 case YakindummPackage.COMPOSITE_ELEMENT__REGIONS:
132 getRegions().clear();
133 return;
134 }
135 super.eUnset(featureID);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public boolean eIsSet(int featureID) {
145 switch (featureID) {
146 case YakindummPackage.COMPOSITE_ELEMENT__REGIONS:
147 return regions != null && !regions.isEmpty();
148 }
149 return super.eIsSet(featureID);
150 }
151
152} //CompositeElementImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/EntryImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/EntryImpl.java
new file mode 100644
index 00000000..35003e0d
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/EntryImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Entry;
6import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Entry</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class EntryImpl extends PseudostateImpl implements Entry {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected EntryImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return YakindummPackage.Literals.ENTRY;
35 }
36
37} //EntryImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/PseudostateImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/PseudostateImpl.java
new file mode 100644
index 00000000..ac2c0058
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/PseudostateImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Pseudostate;
6import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Pseudostate</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class PseudostateImpl extends VertexImpl implements Pseudostate {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected PseudostateImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return YakindummPackage.Literals.PSEUDOSTATE;
35 }
36
37} //PseudostateImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/RegionImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/RegionImpl.java
new file mode 100644
index 00000000..232e5ab6
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/RegionImpl.java
@@ -0,0 +1,152 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Region;
6import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex;
7import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
19
20import org.eclipse.emf.ecore.util.EObjectContainmentEList;
21import org.eclipse.emf.ecore.util.InternalEList;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Region</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.RegionImpl#getVertices <em>Vertices</em>}</li>
32 * </ul>
33 *
34 * @generated
35 */
36public class RegionImpl extends MinimalEObjectImpl.Container implements Region {
37 /**
38 * The cached value of the '{@link #getVertices() <em>Vertices</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getVertices()
42 * @generated
43 * @ordered
44 */
45 protected EList<Vertex> vertices;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected RegionImpl() {
53 super();
54 }
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 @Override
62 protected EClass eStaticClass() {
63 return YakindummPackage.Literals.REGION;
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 public EList<Vertex> getVertices() {
72 if (vertices == null) {
73 vertices = new EObjectContainmentEList<Vertex>(Vertex.class, this, YakindummPackage.REGION__VERTICES);
74 }
75 return vertices;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
85 switch (featureID) {
86 case YakindummPackage.REGION__VERTICES:
87 return ((InternalEList<?>)getVertices()).basicRemove(otherEnd, msgs);
88 }
89 return super.eInverseRemove(otherEnd, featureID, msgs);
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public Object eGet(int featureID, boolean resolve, boolean coreType) {
99 switch (featureID) {
100 case YakindummPackage.REGION__VERTICES:
101 return getVertices();
102 }
103 return super.eGet(featureID, resolve, coreType);
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @SuppressWarnings("unchecked")
112 @Override
113 public void eSet(int featureID, Object newValue) {
114 switch (featureID) {
115 case YakindummPackage.REGION__VERTICES:
116 getVertices().clear();
117 getVertices().addAll((Collection<? extends Vertex>)newValue);
118 return;
119 }
120 super.eSet(featureID, newValue);
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 @Override
129 public void eUnset(int featureID) {
130 switch (featureID) {
131 case YakindummPackage.REGION__VERTICES:
132 getVertices().clear();
133 return;
134 }
135 super.eUnset(featureID);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public boolean eIsSet(int featureID) {
145 switch (featureID) {
146 case YakindummPackage.REGION__VERTICES:
147 return vertices != null && !vertices.isEmpty();
148 }
149 return super.eIsSet(featureID);
150 }
151
152} //RegionImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/RegularStateImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/RegularStateImpl.java
new file mode 100644
index 00000000..a7069bcb
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/RegularStateImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.RegularState;
6import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Regular State</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class RegularStateImpl extends VertexImpl implements RegularState {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected RegularStateImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return YakindummPackage.Literals.REGULAR_STATE;
35 }
36
37} //RegularStateImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/StateImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/StateImpl.java
new file mode 100644
index 00000000..6da0caec
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/StateImpl.java
@@ -0,0 +1,183 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.CompositeElement;
6import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Region;
7import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.State;
8import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage;
9
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.NotificationChain;
13
14import org.eclipse.emf.common.util.EList;
15
16import org.eclipse.emf.ecore.EClass;
17import org.eclipse.emf.ecore.InternalEObject;
18
19import org.eclipse.emf.ecore.util.EObjectContainmentEList;
20import org.eclipse.emf.ecore.util.InternalEList;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model object '<em><b>State</b></em>'.
25 * <!-- end-user-doc -->
26 * <p>
27 * The following features are implemented:
28 * </p>
29 * <ul>
30 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.StateImpl#getRegions <em>Regions</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class StateImpl extends RegularStateImpl implements State {
36 /**
37 * The cached value of the '{@link #getRegions() <em>Regions</em>}' containment reference list.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getRegions()
41 * @generated
42 * @ordered
43 */
44 protected EList<Region> regions;
45
46 /**
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 protected StateImpl() {
52 super();
53 }
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 @Override
61 protected EClass eStaticClass() {
62 return YakindummPackage.Literals.STATE;
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 public EList<Region> getRegions() {
71 if (regions == null) {
72 regions = new EObjectContainmentEList<Region>(Region.class, this, YakindummPackage.STATE__REGIONS);
73 }
74 return regions;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 @Override
83 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
84 switch (featureID) {
85 case YakindummPackage.STATE__REGIONS:
86 return ((InternalEList<?>)getRegions()).basicRemove(otherEnd, msgs);
87 }
88 return super.eInverseRemove(otherEnd, featureID, msgs);
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public Object eGet(int featureID, boolean resolve, boolean coreType) {
98 switch (featureID) {
99 case YakindummPackage.STATE__REGIONS:
100 return getRegions();
101 }
102 return super.eGet(featureID, resolve, coreType);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @SuppressWarnings("unchecked")
111 @Override
112 public void eSet(int featureID, Object newValue) {
113 switch (featureID) {
114 case YakindummPackage.STATE__REGIONS:
115 getRegions().clear();
116 getRegions().addAll((Collection<? extends Region>)newValue);
117 return;
118 }
119 super.eSet(featureID, newValue);
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public void eUnset(int featureID) {
129 switch (featureID) {
130 case YakindummPackage.STATE__REGIONS:
131 getRegions().clear();
132 return;
133 }
134 super.eUnset(featureID);
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public boolean eIsSet(int featureID) {
144 switch (featureID) {
145 case YakindummPackage.STATE__REGIONS:
146 return regions != null && !regions.isEmpty();
147 }
148 return super.eIsSet(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
158 if (baseClass == CompositeElement.class) {
159 switch (derivedFeatureID) {
160 case YakindummPackage.STATE__REGIONS: return YakindummPackage.COMPOSITE_ELEMENT__REGIONS;
161 default: return -1;
162 }
163 }
164 return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
174 if (baseClass == CompositeElement.class) {
175 switch (baseFeatureID) {
176 case YakindummPackage.COMPOSITE_ELEMENT__REGIONS: return YakindummPackage.STATE__REGIONS;
177 default: return -1;
178 }
179 }
180 return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
181 }
182
183} //StateImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/StatechartImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/StatechartImpl.java
new file mode 100644
index 00000000..74a1388e
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/StatechartImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Statechart;
6import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Statechart</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class StatechartImpl extends CompositeElementImpl implements Statechart {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected StatechartImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return YakindummPackage.Literals.STATECHART;
35 }
36
37} //StatechartImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/SynchronizationImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/SynchronizationImpl.java
new file mode 100644
index 00000000..2a08ccb3
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/SynchronizationImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Synchronization;
6import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Synchronization</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class SynchronizationImpl extends PseudostateImpl implements Synchronization {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected SynchronizationImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return YakindummPackage.Literals.SYNCHRONIZATION;
35 }
36
37} //SynchronizationImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/TransitionImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/TransitionImpl.java
new file mode 100644
index 00000000..ff957869
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/TransitionImpl.java
@@ -0,0 +1,284 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition;
6import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex;
7import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17
18import org.eclipse.emf.ecore.util.EcoreUtil;
19
20/**
21 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>Transition</b></em>'.
23 * <!-- end-user-doc -->
24 * <p>
25 * The following features are implemented:
26 * </p>
27 * <ul>
28 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.TransitionImpl#getTarget <em>Target</em>}</li>
29 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.TransitionImpl#getSource <em>Source</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class TransitionImpl extends MinimalEObjectImpl.Container implements Transition {
35 /**
36 * The cached value of the '{@link #getTarget() <em>Target</em>}' reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getTarget()
40 * @generated
41 * @ordered
42 */
43 protected Vertex target;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected TransitionImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return YakindummPackage.Literals.TRANSITION;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public Vertex getTarget() {
70 if (target != null && target.eIsProxy()) {
71 InternalEObject oldTarget = (InternalEObject)target;
72 target = (Vertex)eResolveProxy(oldTarget);
73 if (target != oldTarget) {
74 if (eNotificationRequired())
75 eNotify(new ENotificationImpl(this, Notification.RESOLVE, YakindummPackage.TRANSITION__TARGET, oldTarget, target));
76 }
77 }
78 return target;
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 public Vertex basicGetTarget() {
87 return target;
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 public NotificationChain basicSetTarget(Vertex newTarget, NotificationChain msgs) {
96 Vertex oldTarget = target;
97 target = newTarget;
98 if (eNotificationRequired()) {
99 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, YakindummPackage.TRANSITION__TARGET, oldTarget, newTarget);
100 if (msgs == null) msgs = notification; else msgs.add(notification);
101 }
102 return msgs;
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 public void setTarget(Vertex newTarget) {
111 if (newTarget != target) {
112 NotificationChain msgs = null;
113 if (target != null)
114 msgs = ((InternalEObject)target).eInverseRemove(this, YakindummPackage.VERTEX__INCOMING_TRANSITIONS, Vertex.class, msgs);
115 if (newTarget != null)
116 msgs = ((InternalEObject)newTarget).eInverseAdd(this, YakindummPackage.VERTEX__INCOMING_TRANSITIONS, Vertex.class, msgs);
117 msgs = basicSetTarget(newTarget, msgs);
118 if (msgs != null) msgs.dispatch();
119 }
120 else if (eNotificationRequired())
121 eNotify(new ENotificationImpl(this, Notification.SET, YakindummPackage.TRANSITION__TARGET, newTarget, newTarget));
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 public Vertex getSource() {
130 if (eContainerFeatureID() != YakindummPackage.TRANSITION__SOURCE) return null;
131 return (Vertex)eInternalContainer();
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 public NotificationChain basicSetSource(Vertex newSource, NotificationChain msgs) {
140 msgs = eBasicSetContainer((InternalEObject)newSource, YakindummPackage.TRANSITION__SOURCE, msgs);
141 return msgs;
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 public void setSource(Vertex newSource) {
150 if (newSource != eInternalContainer() || (eContainerFeatureID() != YakindummPackage.TRANSITION__SOURCE && newSource != null)) {
151 if (EcoreUtil.isAncestor(this, newSource))
152 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
153 NotificationChain msgs = null;
154 if (eInternalContainer() != null)
155 msgs = eBasicRemoveFromContainer(msgs);
156 if (newSource != null)
157 msgs = ((InternalEObject)newSource).eInverseAdd(this, YakindummPackage.VERTEX__OUTGOING_TRANSITIONS, Vertex.class, msgs);
158 msgs = basicSetSource(newSource, msgs);
159 if (msgs != null) msgs.dispatch();
160 }
161 else if (eNotificationRequired())
162 eNotify(new ENotificationImpl(this, Notification.SET, YakindummPackage.TRANSITION__SOURCE, newSource, newSource));
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 @Override
171 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
172 switch (featureID) {
173 case YakindummPackage.TRANSITION__TARGET:
174 if (target != null)
175 msgs = ((InternalEObject)target).eInverseRemove(this, YakindummPackage.VERTEX__INCOMING_TRANSITIONS, Vertex.class, msgs);
176 return basicSetTarget((Vertex)otherEnd, msgs);
177 case YakindummPackage.TRANSITION__SOURCE:
178 if (eInternalContainer() != null)
179 msgs = eBasicRemoveFromContainer(msgs);
180 return basicSetSource((Vertex)otherEnd, msgs);
181 }
182 return super.eInverseAdd(otherEnd, featureID, msgs);
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 @Override
191 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
192 switch (featureID) {
193 case YakindummPackage.TRANSITION__TARGET:
194 return basicSetTarget(null, msgs);
195 case YakindummPackage.TRANSITION__SOURCE:
196 return basicSetSource(null, msgs);
197 }
198 return super.eInverseRemove(otherEnd, featureID, msgs);
199 }
200
201 /**
202 * <!-- begin-user-doc -->
203 * <!-- end-user-doc -->
204 * @generated
205 */
206 @Override
207 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
208 switch (eContainerFeatureID()) {
209 case YakindummPackage.TRANSITION__SOURCE:
210 return eInternalContainer().eInverseRemove(this, YakindummPackage.VERTEX__OUTGOING_TRANSITIONS, Vertex.class, msgs);
211 }
212 return super.eBasicRemoveFromContainerFeature(msgs);
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public Object eGet(int featureID, boolean resolve, boolean coreType) {
222 switch (featureID) {
223 case YakindummPackage.TRANSITION__TARGET:
224 if (resolve) return getTarget();
225 return basicGetTarget();
226 case YakindummPackage.TRANSITION__SOURCE:
227 return getSource();
228 }
229 return super.eGet(featureID, resolve, coreType);
230 }
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 @Override
238 public void eSet(int featureID, Object newValue) {
239 switch (featureID) {
240 case YakindummPackage.TRANSITION__TARGET:
241 setTarget((Vertex)newValue);
242 return;
243 case YakindummPackage.TRANSITION__SOURCE:
244 setSource((Vertex)newValue);
245 return;
246 }
247 super.eSet(featureID, newValue);
248 }
249
250 /**
251 * <!-- begin-user-doc -->
252 * <!-- end-user-doc -->
253 * @generated
254 */
255 @Override
256 public void eUnset(int featureID) {
257 switch (featureID) {
258 case YakindummPackage.TRANSITION__TARGET:
259 setTarget((Vertex)null);
260 return;
261 case YakindummPackage.TRANSITION__SOURCE:
262 setSource((Vertex)null);
263 return;
264 }
265 super.eUnset(featureID);
266 }
267
268 /**
269 * <!-- begin-user-doc -->
270 * <!-- end-user-doc -->
271 * @generated
272 */
273 @Override
274 public boolean eIsSet(int featureID) {
275 switch (featureID) {
276 case YakindummPackage.TRANSITION__TARGET:
277 return target != null;
278 case YakindummPackage.TRANSITION__SOURCE:
279 return getSource() != null;
280 }
281 return super.eIsSet(featureID);
282 }
283
284} //TransitionImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/VertexImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/VertexImpl.java
new file mode 100644
index 00000000..13df20ee
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/VertexImpl.java
@@ -0,0 +1,206 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition;
6import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex;
7import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
19
20import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
21import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
22import org.eclipse.emf.ecore.util.InternalEList;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Vertex</b></em>'.
27 * <!-- end-user-doc -->
28 * <p>
29 * The following features are implemented:
30 * </p>
31 * <ul>
32 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.VertexImpl#getIncomingTransitions <em>Incoming Transitions</em>}</li>
33 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.VertexImpl#getOutgoingTransitions <em>Outgoing Transitions</em>}</li>
34 * </ul>
35 *
36 * @generated
37 */
38public abstract class VertexImpl extends MinimalEObjectImpl.Container implements Vertex {
39 /**
40 * The cached value of the '{@link #getIncomingTransitions() <em>Incoming Transitions</em>}' reference list.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getIncomingTransitions()
44 * @generated
45 * @ordered
46 */
47 protected EList<Transition> incomingTransitions;
48
49 /**
50 * The cached value of the '{@link #getOutgoingTransitions() <em>Outgoing Transitions</em>}' containment reference list.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #getOutgoingTransitions()
54 * @generated
55 * @ordered
56 */
57 protected EList<Transition> outgoingTransitions;
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 protected VertexImpl() {
65 super();
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 protected EClass eStaticClass() {
75 return YakindummPackage.Literals.VERTEX;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public EList<Transition> getIncomingTransitions() {
84 if (incomingTransitions == null) {
85 incomingTransitions = new EObjectWithInverseResolvingEList<Transition>(Transition.class, this, YakindummPackage.VERTEX__INCOMING_TRANSITIONS, YakindummPackage.TRANSITION__TARGET);
86 }
87 return incomingTransitions;
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 public EList<Transition> getOutgoingTransitions() {
96 if (outgoingTransitions == null) {
97 outgoingTransitions = new EObjectContainmentWithInverseEList<Transition>(Transition.class, this, YakindummPackage.VERTEX__OUTGOING_TRANSITIONS, YakindummPackage.TRANSITION__SOURCE);
98 }
99 return outgoingTransitions;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 @SuppressWarnings("unchecked")
108 @Override
109 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
110 switch (featureID) {
111 case YakindummPackage.VERTEX__INCOMING_TRANSITIONS:
112 return ((InternalEList<InternalEObject>)(InternalEList<?>)getIncomingTransitions()).basicAdd(otherEnd, msgs);
113 case YakindummPackage.VERTEX__OUTGOING_TRANSITIONS:
114 return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutgoingTransitions()).basicAdd(otherEnd, msgs);
115 }
116 return super.eInverseAdd(otherEnd, featureID, msgs);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
126 switch (featureID) {
127 case YakindummPackage.VERTEX__INCOMING_TRANSITIONS:
128 return ((InternalEList<?>)getIncomingTransitions()).basicRemove(otherEnd, msgs);
129 case YakindummPackage.VERTEX__OUTGOING_TRANSITIONS:
130 return ((InternalEList<?>)getOutgoingTransitions()).basicRemove(otherEnd, msgs);
131 }
132 return super.eInverseRemove(otherEnd, featureID, msgs);
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public Object eGet(int featureID, boolean resolve, boolean coreType) {
142 switch (featureID) {
143 case YakindummPackage.VERTEX__INCOMING_TRANSITIONS:
144 return getIncomingTransitions();
145 case YakindummPackage.VERTEX__OUTGOING_TRANSITIONS:
146 return getOutgoingTransitions();
147 }
148 return super.eGet(featureID, resolve, coreType);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @SuppressWarnings("unchecked")
157 @Override
158 public void eSet(int featureID, Object newValue) {
159 switch (featureID) {
160 case YakindummPackage.VERTEX__INCOMING_TRANSITIONS:
161 getIncomingTransitions().clear();
162 getIncomingTransitions().addAll((Collection<? extends Transition>)newValue);
163 return;
164 case YakindummPackage.VERTEX__OUTGOING_TRANSITIONS:
165 getOutgoingTransitions().clear();
166 getOutgoingTransitions().addAll((Collection<? extends Transition>)newValue);
167 return;
168 }
169 super.eSet(featureID, newValue);
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 @Override
178 public void eUnset(int featureID) {
179 switch (featureID) {
180 case YakindummPackage.VERTEX__INCOMING_TRANSITIONS:
181 getIncomingTransitions().clear();
182 return;
183 case YakindummPackage.VERTEX__OUTGOING_TRANSITIONS:
184 getOutgoingTransitions().clear();
185 return;
186 }
187 super.eUnset(featureID);
188 }
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 @Override
196 public boolean eIsSet(int featureID) {
197 switch (featureID) {
198 case YakindummPackage.VERTEX__INCOMING_TRANSITIONS:
199 return incomingTransitions != null && !incomingTransitions.isEmpty();
200 case YakindummPackage.VERTEX__OUTGOING_TRANSITIONS:
201 return outgoingTransitions != null && !outgoingTransitions.isEmpty();
202 }
203 return super.eIsSet(featureID);
204 }
205
206} //VertexImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummFactoryImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummFactoryImpl.java
new file mode 100644
index 00000000..3578e66a
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummFactoryImpl.java
@@ -0,0 +1,150 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.*;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage;
10
11import org.eclipse.emf.ecore.impl.EFactoryImpl;
12
13import org.eclipse.emf.ecore.plugin.EcorePlugin;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model <b>Factory</b>.
18 * <!-- end-user-doc -->
19 * @generated
20 */
21public class YakindummFactoryImpl extends EFactoryImpl implements YakindummFactory {
22 /**
23 * Creates the default factory implementation.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @generated
27 */
28 public static YakindummFactory init() {
29 try {
30 YakindummFactory theYakindummFactory = (YakindummFactory)EPackage.Registry.INSTANCE.getEFactory(YakindummPackage.eNS_URI);
31 if (theYakindummFactory != null) {
32 return theYakindummFactory;
33 }
34 }
35 catch (Exception exception) {
36 EcorePlugin.INSTANCE.log(exception);
37 }
38 return new YakindummFactoryImpl();
39 }
40
41 /**
42 * Creates an instance of the factory.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 public YakindummFactoryImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 public EObject create(EClass eClass) {
58 switch (eClass.getClassifierID()) {
59 case YakindummPackage.REGION: return createRegion();
60 case YakindummPackage.TRANSITION: return createTransition();
61 case YakindummPackage.STATECHART: return createStatechart();
62 case YakindummPackage.ENTRY: return createEntry();
63 case YakindummPackage.SYNCHRONIZATION: return createSynchronization();
64 case YakindummPackage.STATE: return createState();
65 default:
66 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
67 }
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 public Region createRegion() {
76 RegionImpl region = new RegionImpl();
77 return region;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public Transition createTransition() {
86 TransitionImpl transition = new TransitionImpl();
87 return transition;
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 public Statechart createStatechart() {
96 StatechartImpl statechart = new StatechartImpl();
97 return statechart;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public Entry createEntry() {
106 EntryImpl entry = new EntryImpl();
107 return entry;
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 public Synchronization createSynchronization() {
116 SynchronizationImpl synchronization = new SynchronizationImpl();
117 return synchronization;
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 public State createState() {
126 StateImpl state = new StateImpl();
127 return state;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 public YakindummPackage getYakindummPackage() {
136 return (YakindummPackage)getEPackage();
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @deprecated
143 * @generated
144 */
145 @Deprecated
146 public static YakindummPackage getPackage() {
147 return YakindummPackage.eINSTANCE;
148 }
149
150} //YakindummFactoryImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummPackageImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummPackageImpl.java
new file mode 100644
index 00000000..2d8abfab
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummPackageImpl.java
@@ -0,0 +1,428 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.CompositeElement;
6import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Entry;
7import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Pseudostate;
8import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Region;
9import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.RegularState;
10import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.State;
11import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Statechart;
12import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Synchronization;
13import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition;
14import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex;
15import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummFactory;
16import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage;
17
18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.emf.ecore.EPackage;
20import org.eclipse.emf.ecore.EReference;
21
22import org.eclipse.emf.ecore.impl.EPackageImpl;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model <b>Package</b>.
27 * <!-- end-user-doc -->
28 * @generated
29 */
30public class YakindummPackageImpl extends EPackageImpl implements YakindummPackage {
31 /**
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @generated
35 */
36 private EClass pseudostateEClass = null;
37
38 /**
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @generated
42 */
43 private EClass vertexEClass = null;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 private EClass regionEClass = null;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 private EClass transitionEClass = null;
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 private EClass statechartEClass = null;
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 private EClass entryEClass = null;
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 private EClass synchronizationEClass = null;
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 private EClass stateEClass = null;
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 private EClass regularStateEClass = null;
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 private EClass compositeElementEClass = null;
100
101 /**
102 * Creates an instance of the model <b>Package</b>, registered with
103 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
104 * package URI value.
105 * <p>Note: the correct way to create the package is via the static
106 * factory method {@link #init init()}, which also performs
107 * initialization of the package, or returns the registered package,
108 * if one already exists.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @see org.eclipse.emf.ecore.EPackage.Registry
112 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#eNS_URI
113 * @see #init()
114 * @generated
115 */
116 private YakindummPackageImpl() {
117 super(eNS_URI, YakindummFactory.eINSTANCE);
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 private static boolean isInited = false;
126
127 /**
128 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
129 *
130 * <p>This method is used to initialize {@link YakindummPackage#eINSTANCE} when that field is accessed.
131 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @see #eNS_URI
135 * @see #createPackageContents()
136 * @see #initializePackageContents()
137 * @generated
138 */
139 public static YakindummPackage init() {
140 if (isInited) return (YakindummPackage)EPackage.Registry.INSTANCE.getEPackage(YakindummPackage.eNS_URI);
141
142 // Obtain or create and register package
143 YakindummPackageImpl theYakindummPackage = (YakindummPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof YakindummPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new YakindummPackageImpl());
144
145 isInited = true;
146
147 // Create package meta-data objects
148 theYakindummPackage.createPackageContents();
149
150 // Initialize created meta-data
151 theYakindummPackage.initializePackageContents();
152
153 // Mark meta-data to indicate it can't be changed
154 theYakindummPackage.freeze();
155
156
157 // Update the registry and return the package
158 EPackage.Registry.INSTANCE.put(YakindummPackage.eNS_URI, theYakindummPackage);
159 return theYakindummPackage;
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 public EClass getPseudostate() {
168 return pseudostateEClass;
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 public EClass getVertex() {
177 return vertexEClass;
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 public EReference getVertex_IncomingTransitions() {
186 return (EReference)vertexEClass.getEStructuralFeatures().get(0);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 public EReference getVertex_OutgoingTransitions() {
195 return (EReference)vertexEClass.getEStructuralFeatures().get(1);
196 }
197
198 /**
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated
202 */
203 public EClass getRegion() {
204 return regionEClass;
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 public EReference getRegion_Vertices() {
213 return (EReference)regionEClass.getEStructuralFeatures().get(0);
214 }
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 public EClass getTransition() {
222 return transitionEClass;
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 public EReference getTransition_Target() {
231 return (EReference)transitionEClass.getEStructuralFeatures().get(0);
232 }
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 public EReference getTransition_Source() {
240 return (EReference)transitionEClass.getEStructuralFeatures().get(1);
241 }
242
243 /**
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @generated
247 */
248 public EClass getStatechart() {
249 return statechartEClass;
250 }
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 public EClass getEntry() {
258 return entryEClass;
259 }
260
261 /**
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @generated
265 */
266 public EClass getSynchronization() {
267 return synchronizationEClass;
268 }
269
270 /**
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @generated
274 */
275 public EClass getState() {
276 return stateEClass;
277 }
278
279 /**
280 * <!-- begin-user-doc -->
281 * <!-- end-user-doc -->
282 * @generated
283 */
284 public EClass getRegularState() {
285 return regularStateEClass;
286 }
287
288 /**
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @generated
292 */
293 public EClass getCompositeElement() {
294 return compositeElementEClass;
295 }
296
297 /**
298 * <!-- begin-user-doc -->
299 * <!-- end-user-doc -->
300 * @generated
301 */
302 public EReference getCompositeElement_Regions() {
303 return (EReference)compositeElementEClass.getEStructuralFeatures().get(0);
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 public YakindummFactory getYakindummFactory() {
312 return (YakindummFactory)getEFactoryInstance();
313 }
314
315 /**
316 * <!-- begin-user-doc -->
317 * <!-- end-user-doc -->
318 * @generated
319 */
320 private boolean isCreated = false;
321
322 /**
323 * Creates the meta-model objects for the package. This method is
324 * guarded to have no affect on any invocation but its first.
325 * <!-- begin-user-doc -->
326 * <!-- end-user-doc -->
327 * @generated
328 */
329 public void createPackageContents() {
330 if (isCreated) return;
331 isCreated = true;
332
333 // Create classes and their features
334 pseudostateEClass = createEClass(PSEUDOSTATE);
335
336 vertexEClass = createEClass(VERTEX);
337 createEReference(vertexEClass, VERTEX__INCOMING_TRANSITIONS);
338 createEReference(vertexEClass, VERTEX__OUTGOING_TRANSITIONS);
339
340 regionEClass = createEClass(REGION);
341 createEReference(regionEClass, REGION__VERTICES);
342
343 transitionEClass = createEClass(TRANSITION);
344 createEReference(transitionEClass, TRANSITION__TARGET);
345 createEReference(transitionEClass, TRANSITION__SOURCE);
346
347 statechartEClass = createEClass(STATECHART);
348
349 entryEClass = createEClass(ENTRY);
350
351 synchronizationEClass = createEClass(SYNCHRONIZATION);
352
353 stateEClass = createEClass(STATE);
354
355 regularStateEClass = createEClass(REGULAR_STATE);
356
357 compositeElementEClass = createEClass(COMPOSITE_ELEMENT);
358 createEReference(compositeElementEClass, COMPOSITE_ELEMENT__REGIONS);
359 }
360
361 /**
362 * <!-- begin-user-doc -->
363 * <!-- end-user-doc -->
364 * @generated
365 */
366 private boolean isInitialized = false;
367
368 /**
369 * Complete the initialization of the package and its meta-model. This
370 * method is guarded to have no affect on any invocation but its first.
371 * <!-- begin-user-doc -->
372 * <!-- end-user-doc -->
373 * @generated
374 */
375 public void initializePackageContents() {
376 if (isInitialized) return;
377 isInitialized = true;
378
379 // Initialize package
380 setName(eNAME);
381 setNsPrefix(eNS_PREFIX);
382 setNsURI(eNS_URI);
383
384 // Create type parameters
385
386 // Set bounds for type parameters
387
388 // Add supertypes to classes
389 pseudostateEClass.getESuperTypes().add(this.getVertex());
390 statechartEClass.getESuperTypes().add(this.getCompositeElement());
391 entryEClass.getESuperTypes().add(this.getPseudostate());
392 synchronizationEClass.getESuperTypes().add(this.getPseudostate());
393 stateEClass.getESuperTypes().add(this.getRegularState());
394 stateEClass.getESuperTypes().add(this.getCompositeElement());
395 regularStateEClass.getESuperTypes().add(this.getVertex());
396
397 // Initialize classes, features, and operations; add parameters
398 initEClass(pseudostateEClass, Pseudostate.class, "Pseudostate", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
399
400 initEClass(vertexEClass, Vertex.class, "Vertex", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
401 initEReference(getVertex_IncomingTransitions(), this.getTransition(), this.getTransition_Target(), "incomingTransitions", null, 0, -1, Vertex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
402 initEReference(getVertex_OutgoingTransitions(), this.getTransition(), this.getTransition_Source(), "outgoingTransitions", null, 0, -1, Vertex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
403
404 initEClass(regionEClass, Region.class, "Region", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
405 initEReference(getRegion_Vertices(), this.getVertex(), null, "vertices", null, 0, -1, Region.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
406
407 initEClass(transitionEClass, Transition.class, "Transition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
408 initEReference(getTransition_Target(), this.getVertex(), this.getVertex_IncomingTransitions(), "target", null, 1, 1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
409 initEReference(getTransition_Source(), this.getVertex(), this.getVertex_OutgoingTransitions(), "source", null, 1, 1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
410
411 initEClass(statechartEClass, Statechart.class, "Statechart", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
412
413 initEClass(entryEClass, Entry.class, "Entry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
414
415 initEClass(synchronizationEClass, Synchronization.class, "Synchronization", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
416
417 initEClass(stateEClass, State.class, "State", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
418
419 initEClass(regularStateEClass, RegularState.class, "RegularState", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
420
421 initEClass(compositeElementEClass, CompositeElement.class, "CompositeElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
422 initEReference(getCompositeElement_Regions(), this.getRegion(), null, "regions", null, 0, -1, CompositeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
423
424 // Create resource
425 createResource(eNS_URI);
426 }
427
428} //YakindummPackageImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/util/YakindummAdapterFactory.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/util/YakindummAdapterFactory.java
new file mode 100644
index 00000000..06393ef6
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/util/YakindummAdapterFactory.java
@@ -0,0 +1,282 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.util;
4
5import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.*;
6
7import org.eclipse.emf.common.notify.Adapter;
8import org.eclipse.emf.common.notify.Notifier;
9
10import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
11
12import org.eclipse.emf.ecore.EObject;
13
14/**
15 * <!-- begin-user-doc -->
16 * The <b>Adapter Factory</b> for the model.
17 * It provides an adapter <code>createXXX</code> method for each class of the model.
18 * <!-- end-user-doc -->
19 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage
20 * @generated
21 */
22public class YakindummAdapterFactory extends AdapterFactoryImpl {
23 /**
24 * The cached model package.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 protected static YakindummPackage modelPackage;
30
31 /**
32 * Creates an instance of the adapter factory.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 public YakindummAdapterFactory() {
38 if (modelPackage == null) {
39 modelPackage = YakindummPackage.eINSTANCE;
40 }
41 }
42
43 /**
44 * Returns whether this factory is applicable for the type of the object.
45 * <!-- begin-user-doc -->
46 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
47 * <!-- end-user-doc -->
48 * @return whether this factory is applicable for the type of the object.
49 * @generated
50 */
51 @Override
52 public boolean isFactoryForType(Object object) {
53 if (object == modelPackage) {
54 return true;
55 }
56 if (object instanceof EObject) {
57 return ((EObject)object).eClass().getEPackage() == modelPackage;
58 }
59 return false;
60 }
61
62 /**
63 * The switch that delegates to the <code>createXXX</code> methods.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected YakindummSwitch<Adapter> modelSwitch =
69 new YakindummSwitch<Adapter>() {
70 @Override
71 public Adapter casePseudostate(Pseudostate object) {
72 return createPseudostateAdapter();
73 }
74 @Override
75 public Adapter caseVertex(Vertex object) {
76 return createVertexAdapter();
77 }
78 @Override
79 public Adapter caseRegion(Region object) {
80 return createRegionAdapter();
81 }
82 @Override
83 public Adapter caseTransition(Transition object) {
84 return createTransitionAdapter();
85 }
86 @Override
87 public Adapter caseStatechart(Statechart object) {
88 return createStatechartAdapter();
89 }
90 @Override
91 public Adapter caseEntry(Entry object) {
92 return createEntryAdapter();
93 }
94 @Override
95 public Adapter caseSynchronization(Synchronization object) {
96 return createSynchronizationAdapter();
97 }
98 @Override
99 public Adapter caseState(State object) {
100 return createStateAdapter();
101 }
102 @Override
103 public Adapter caseRegularState(RegularState object) {
104 return createRegularStateAdapter();
105 }
106 @Override
107 public Adapter caseCompositeElement(CompositeElement object) {
108 return createCompositeElementAdapter();
109 }
110 @Override
111 public Adapter defaultCase(EObject object) {
112 return createEObjectAdapter();
113 }
114 };
115
116 /**
117 * Creates an adapter for the <code>target</code>.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @param target the object to adapt.
121 * @return the adapter for the <code>target</code>.
122 * @generated
123 */
124 @Override
125 public Adapter createAdapter(Notifier target) {
126 return modelSwitch.doSwitch((EObject)target);
127 }
128
129
130 /**
131 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Pseudostate <em>Pseudostate</em>}'.
132 * <!-- begin-user-doc -->
133 * This default implementation returns null so that we can easily ignore cases;
134 * it's useful to ignore a case when inheritance will catch all the cases anyway.
135 * <!-- end-user-doc -->
136 * @return the new adapter.
137 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Pseudostate
138 * @generated
139 */
140 public Adapter createPseudostateAdapter() {
141 return null;
142 }
143
144 /**
145 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex <em>Vertex</em>}'.
146 * <!-- begin-user-doc -->
147 * This default implementation returns null so that we can easily ignore cases;
148 * it's useful to ignore a case when inheritance will catch all the cases anyway.
149 * <!-- end-user-doc -->
150 * @return the new adapter.
151 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex
152 * @generated
153 */
154 public Adapter createVertexAdapter() {
155 return null;
156 }
157
158 /**
159 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Region <em>Region</em>}'.
160 * <!-- begin-user-doc -->
161 * This default implementation returns null so that we can easily ignore cases;
162 * it's useful to ignore a case when inheritance will catch all the cases anyway.
163 * <!-- end-user-doc -->
164 * @return the new adapter.
165 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Region
166 * @generated
167 */
168 public Adapter createRegionAdapter() {
169 return null;
170 }
171
172 /**
173 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition <em>Transition</em>}'.
174 * <!-- begin-user-doc -->
175 * This default implementation returns null so that we can easily ignore cases;
176 * it's useful to ignore a case when inheritance will catch all the cases anyway.
177 * <!-- end-user-doc -->
178 * @return the new adapter.
179 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Transition
180 * @generated
181 */
182 public Adapter createTransitionAdapter() {
183 return null;
184 }
185
186 /**
187 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Statechart <em>Statechart</em>}'.
188 * <!-- begin-user-doc -->
189 * This default implementation returns null so that we can easily ignore cases;
190 * it's useful to ignore a case when inheritance will catch all the cases anyway.
191 * <!-- end-user-doc -->
192 * @return the new adapter.
193 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Statechart
194 * @generated
195 */
196 public Adapter createStatechartAdapter() {
197 return null;
198 }
199
200 /**
201 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Entry <em>Entry</em>}'.
202 * <!-- begin-user-doc -->
203 * This default implementation returns null so that we can easily ignore cases;
204 * it's useful to ignore a case when inheritance will catch all the cases anyway.
205 * <!-- end-user-doc -->
206 * @return the new adapter.
207 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Entry
208 * @generated
209 */
210 public Adapter createEntryAdapter() {
211 return null;
212 }
213
214 /**
215 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Synchronization <em>Synchronization</em>}'.
216 * <!-- begin-user-doc -->
217 * This default implementation returns null so that we can easily ignore cases;
218 * it's useful to ignore a case when inheritance will catch all the cases anyway.
219 * <!-- end-user-doc -->
220 * @return the new adapter.
221 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Synchronization
222 * @generated
223 */
224 public Adapter createSynchronizationAdapter() {
225 return null;
226 }
227
228 /**
229 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.State <em>State</em>}'.
230 * <!-- begin-user-doc -->
231 * This default implementation returns null so that we can easily ignore cases;
232 * it's useful to ignore a case when inheritance will catch all the cases anyway.
233 * <!-- end-user-doc -->
234 * @return the new adapter.
235 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.State
236 * @generated
237 */
238 public Adapter createStateAdapter() {
239 return null;
240 }
241
242 /**
243 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.RegularState <em>Regular State</em>}'.
244 * <!-- begin-user-doc -->
245 * This default implementation returns null so that we can easily ignore cases;
246 * it's useful to ignore a case when inheritance will catch all the cases anyway.
247 * <!-- end-user-doc -->
248 * @return the new adapter.
249 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.RegularState
250 * @generated
251 */
252 public Adapter createRegularStateAdapter() {
253 return null;
254 }
255
256 /**
257 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.CompositeElement <em>Composite Element</em>}'.
258 * <!-- begin-user-doc -->
259 * This default implementation returns null so that we can easily ignore cases;
260 * it's useful to ignore a case when inheritance will catch all the cases anyway.
261 * <!-- end-user-doc -->
262 * @return the new adapter.
263 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.CompositeElement
264 * @generated
265 */
266 public Adapter createCompositeElementAdapter() {
267 return null;
268 }
269
270 /**
271 * Creates a new adapter for the default case.
272 * <!-- begin-user-doc -->
273 * This default implementation returns null.
274 * <!-- end-user-doc -->
275 * @return the new adapter.
276 * @generated
277 */
278 public Adapter createEObjectAdapter() {
279 return null;
280 }
281
282} //YakindummAdapterFactory
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/util/YakindummSwitch.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/util/YakindummSwitch.java
new file mode 100644
index 00000000..269486fb
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/util/YakindummSwitch.java
@@ -0,0 +1,309 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.util;
4
5import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.*;
6
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EPackage;
9
10import org.eclipse.emf.ecore.util.Switch;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Switch</b> for the model's inheritance hierarchy.
15 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
16 * to invoke the <code>caseXXX</code> method for each class of the model,
17 * starting with the actual class of the object
18 * and proceeding up the inheritance hierarchy
19 * until a non-null result is returned,
20 * which is the result of the switch.
21 * <!-- end-user-doc -->
22 * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage
23 * @generated
24 */
25public class YakindummSwitch<T> extends Switch<T> {
26 /**
27 * The cached model package
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 protected static YakindummPackage modelPackage;
33
34 /**
35 * Creates an instance of the switch.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 public YakindummSwitch() {
41 if (modelPackage == null) {
42 modelPackage = YakindummPackage.eINSTANCE;
43 }
44 }
45
46 /**
47 * Checks whether this is a switch for the given package.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @param ePackage the package in question.
51 * @return whether this is a switch for the given package.
52 * @generated
53 */
54 @Override
55 protected boolean isSwitchFor(EPackage ePackage) {
56 return ePackage == modelPackage;
57 }
58
59 /**
60 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @return the first non-null result returned by a <code>caseXXX</code> call.
64 * @generated
65 */
66 @Override
67 protected T doSwitch(int classifierID, EObject theEObject) {
68 switch (classifierID) {
69 case YakindummPackage.PSEUDOSTATE: {
70 Pseudostate pseudostate = (Pseudostate)theEObject;
71 T result = casePseudostate(pseudostate);
72 if (result == null) result = caseVertex(pseudostate);
73 if (result == null) result = defaultCase(theEObject);
74 return result;
75 }
76 case YakindummPackage.VERTEX: {
77 Vertex vertex = (Vertex)theEObject;
78 T result = caseVertex(vertex);
79 if (result == null) result = defaultCase(theEObject);
80 return result;
81 }
82 case YakindummPackage.REGION: {
83 Region region = (Region)theEObject;
84 T result = caseRegion(region);
85 if (result == null) result = defaultCase(theEObject);
86 return result;
87 }
88 case YakindummPackage.TRANSITION: {
89 Transition transition = (Transition)theEObject;
90 T result = caseTransition(transition);
91 if (result == null) result = defaultCase(theEObject);
92 return result;
93 }
94 case YakindummPackage.STATECHART: {
95 Statechart statechart = (Statechart)theEObject;
96 T result = caseStatechart(statechart);
97 if (result == null) result = caseCompositeElement(statechart);
98 if (result == null) result = defaultCase(theEObject);
99 return result;
100 }
101 case YakindummPackage.ENTRY: {
102 Entry entry = (Entry)theEObject;
103 T result = caseEntry(entry);
104 if (result == null) result = casePseudostate(entry);
105 if (result == null) result = caseVertex(entry);
106 if (result == null) result = defaultCase(theEObject);
107 return result;
108 }
109 case YakindummPackage.SYNCHRONIZATION: {
110 Synchronization synchronization = (Synchronization)theEObject;
111 T result = caseSynchronization(synchronization);
112 if (result == null) result = casePseudostate(synchronization);
113 if (result == null) result = caseVertex(synchronization);
114 if (result == null) result = defaultCase(theEObject);
115 return result;
116 }
117 case YakindummPackage.STATE: {
118 State state = (State)theEObject;
119 T result = caseState(state);
120 if (result == null) result = caseRegularState(state);
121 if (result == null) result = caseCompositeElement(state);
122 if (result == null) result = caseVertex(state);
123 if (result == null) result = defaultCase(theEObject);
124 return result;
125 }
126 case YakindummPackage.REGULAR_STATE: {
127 RegularState regularState = (RegularState)theEObject;
128 T result = caseRegularState(regularState);
129 if (result == null) result = caseVertex(regularState);
130 if (result == null) result = defaultCase(theEObject);
131 return result;
132 }
133 case YakindummPackage.COMPOSITE_ELEMENT: {
134 CompositeElement compositeElement = (CompositeElement)theEObject;
135 T result = caseCompositeElement(compositeElement);
136 if (result == null) result = defaultCase(theEObject);
137 return result;
138 }
139 default: return defaultCase(theEObject);
140 }
141 }
142
143 /**
144 * Returns the result of interpreting the object as an instance of '<em>Pseudostate</em>'.
145 * <!-- begin-user-doc -->
146 * This implementation returns null;
147 * returning a non-null result will terminate the switch.
148 * <!-- end-user-doc -->
149 * @param object the target of the switch.
150 * @return the result of interpreting the object as an instance of '<em>Pseudostate</em>'.
151 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
152 * @generated
153 */
154 public T casePseudostate(Pseudostate object) {
155 return null;
156 }
157
158 /**
159 * Returns the result of interpreting the object as an instance of '<em>Vertex</em>'.
160 * <!-- begin-user-doc -->
161 * This implementation returns null;
162 * returning a non-null result will terminate the switch.
163 * <!-- end-user-doc -->
164 * @param object the target of the switch.
165 * @return the result of interpreting the object as an instance of '<em>Vertex</em>'.
166 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
167 * @generated
168 */
169 public T caseVertex(Vertex object) {
170 return null;
171 }
172
173 /**
174 * Returns the result of interpreting the object as an instance of '<em>Region</em>'.
175 * <!-- begin-user-doc -->
176 * This implementation returns null;
177 * returning a non-null result will terminate the switch.
178 * <!-- end-user-doc -->
179 * @param object the target of the switch.
180 * @return the result of interpreting the object as an instance of '<em>Region</em>'.
181 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
182 * @generated
183 */
184 public T caseRegion(Region object) {
185 return null;
186 }
187
188 /**
189 * Returns the result of interpreting the object as an instance of '<em>Transition</em>'.
190 * <!-- begin-user-doc -->
191 * This implementation returns null;
192 * returning a non-null result will terminate the switch.
193 * <!-- end-user-doc -->
194 * @param object the target of the switch.
195 * @return the result of interpreting the object as an instance of '<em>Transition</em>'.
196 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
197 * @generated
198 */
199 public T caseTransition(Transition object) {
200 return null;
201 }
202
203 /**
204 * Returns the result of interpreting the object as an instance of '<em>Statechart</em>'.
205 * <!-- begin-user-doc -->
206 * This implementation returns null;
207 * returning a non-null result will terminate the switch.
208 * <!-- end-user-doc -->
209 * @param object the target of the switch.
210 * @return the result of interpreting the object as an instance of '<em>Statechart</em>'.
211 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
212 * @generated
213 */
214 public T caseStatechart(Statechart object) {
215 return null;
216 }
217
218 /**
219 * Returns the result of interpreting the object as an instance of '<em>Entry</em>'.
220 * <!-- begin-user-doc -->
221 * This implementation returns null;
222 * returning a non-null result will terminate the switch.
223 * <!-- end-user-doc -->
224 * @param object the target of the switch.
225 * @return the result of interpreting the object as an instance of '<em>Entry</em>'.
226 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
227 * @generated
228 */
229 public T caseEntry(Entry object) {
230 return null;
231 }
232
233 /**
234 * Returns the result of interpreting the object as an instance of '<em>Synchronization</em>'.
235 * <!-- begin-user-doc -->
236 * This implementation returns null;
237 * returning a non-null result will terminate the switch.
238 * <!-- end-user-doc -->
239 * @param object the target of the switch.
240 * @return the result of interpreting the object as an instance of '<em>Synchronization</em>'.
241 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
242 * @generated
243 */
244 public T caseSynchronization(Synchronization object) {
245 return null;
246 }
247
248 /**
249 * Returns the result of interpreting the object as an instance of '<em>State</em>'.
250 * <!-- begin-user-doc -->
251 * This implementation returns null;
252 * returning a non-null result will terminate the switch.
253 * <!-- end-user-doc -->
254 * @param object the target of the switch.
255 * @return the result of interpreting the object as an instance of '<em>State</em>'.
256 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
257 * @generated
258 */
259 public T caseState(State object) {
260 return null;
261 }
262
263 /**
264 * Returns the result of interpreting the object as an instance of '<em>Regular State</em>'.
265 * <!-- begin-user-doc -->
266 * This implementation returns null;
267 * returning a non-null result will terminate the switch.
268 * <!-- end-user-doc -->
269 * @param object the target of the switch.
270 * @return the result of interpreting the object as an instance of '<em>Regular State</em>'.
271 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
272 * @generated
273 */
274 public T caseRegularState(RegularState object) {
275 return null;
276 }
277
278 /**
279 * Returns the result of interpreting the object as an instance of '<em>Composite Element</em>'.
280 * <!-- begin-user-doc -->
281 * This implementation returns null;
282 * returning a non-null result will terminate the switch.
283 * <!-- end-user-doc -->
284 * @param object the target of the switch.
285 * @return the result of interpreting the object as an instance of '<em>Composite Element</em>'.
286 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
287 * @generated
288 */
289 public T caseCompositeElement(CompositeElement object) {
290 return null;
291 }
292
293 /**
294 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
295 * <!-- begin-user-doc -->
296 * This implementation returns null;
297 * returning a non-null result will terminate the switch, but this is the last case anyway.
298 * <!-- end-user-doc -->
299 * @param object the target of the switch.
300 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
301 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
302 * @generated
303 */
304 @Override
305 public T defaultCase(EObject object) {
306 return null;
307 }
308
309} //YakindummSwitch
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.aird b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.aird
new file mode 100644
index 00000000..544c3d4e
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.aird
@@ -0,0 +1,1167 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<viewpoint:DAnalysis xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style" xmi:id="_4BLrgG6uEeaxlsDSOll0vg" selectedViews="_4C5iwG6uEeaxlsDSOll0vg _4DCFoG6uEeaxlsDSOll0vg _4DHlMG6uEeaxlsDSOll0vg _4DO58G6uEeaxlsDSOll0vg" version="10.1.0.201509162000">
3 <semanticResources>yakindu_simplified.ecore</semanticResources>
4 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_4C5iwG6uEeaxlsDSOll0vg">
5 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_427AsG6uEeaxlsDSOll0vg" name="yakindumm class diagram">
6 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_427AsW6uEeaxlsDSOll0vg" source="DANNOTATION_CUSTOMIZATION_KEY">
7 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_427Asm6uEeaxlsDSOll0vg">
8 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_5T20UG6uEeaxlsDSOll0vg" sourceArrow="FillDiamond" routingStyle="manhattan">
9 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
10 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_5T20UW6uEeaxlsDSOll0vg" showIcon="false" labelExpression="service:render">
11 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
12 </centerLabelStyleDescription>
13 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_5T20Um6uEeaxlsDSOll0vg" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
14 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
15 </endLabelStyleDescription>
16 </computedStyleDescriptions>
17 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_5T8T4W6uEeaxlsDSOll0vg" sourceArrow="FillDiamond" routingStyle="manhattan">
18 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
19 <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_5T8T4m6uEeaxlsDSOll0vg" showIcon="false" labelExpression="service:renderEOpposite">
20 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
21 </beginLabelStyleDescription>
22 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_5T8T426uEeaxlsDSOll0vg" showIcon="false" labelExpression="service:render">
23 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
24 </endLabelStyleDescription>
25 </computedStyleDescriptions>
26 </data>
27 </ownedAnnotationEntries>
28 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_427Atm6uEeaxlsDSOll0vg" source="GMF_DIAGRAMS">
29 <data xmi:type="notation:Diagram" xmi:id="_427At26uEeaxlsDSOll0vg" type="Sirius" element="_427AsG6uEeaxlsDSOll0vg" measurementUnit="Pixel">
30 <children xmi:type="notation:Node" xmi:id="_5T-JEG6uEeaxlsDSOll0vg" type="2003" element="_5Tox4G6uEeaxlsDSOll0vg">
31 <children xmi:type="notation:Node" xmi:id="_5T-JE26uEeaxlsDSOll0vg" type="5007"/>
32 <children xmi:type="notation:Node" xmi:id="_5T-JFG6uEeaxlsDSOll0vg" type="7004">
33 <styles xmi:type="notation:SortingStyle" xmi:id="_5T-JFW6uEeaxlsDSOll0vg"/>
34 <styles xmi:type="notation:FilteringStyle" xmi:id="_5T-JFm6uEeaxlsDSOll0vg"/>
35 </children>
36 <styles xmi:type="notation:ShapeStyle" xmi:id="_5T-JEW6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8" italic="true"/>
37 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5T-JEm6uEeaxlsDSOll0vg" x="380" y="570" height="28"/>
38 </children>
39 <children xmi:type="notation:Node" xmi:id="_5T-JF26uEeaxlsDSOll0vg" type="2003" element="_5TqAAG6uEeaxlsDSOll0vg">
40 <children xmi:type="notation:Node" xmi:id="_5T-wIG6uEeaxlsDSOll0vg" type="5007"/>
41 <children xmi:type="notation:Node" xmi:id="_5T-wIW6uEeaxlsDSOll0vg" type="7004">
42 <styles xmi:type="notation:SortingStyle" xmi:id="_5T-wIm6uEeaxlsDSOll0vg"/>
43 <styles xmi:type="notation:FilteringStyle" xmi:id="_5T-wI26uEeaxlsDSOll0vg"/>
44 </children>
45 <styles xmi:type="notation:ShapeStyle" xmi:id="_5T-JGG6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8" bold="true" italic="true" fillColor="10265827"/>
46 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5T-JGW6uEeaxlsDSOll0vg" x="625" y="505" height="28"/>
47 </children>
48 <children xmi:type="notation:Node" xmi:id="_5T-wJG6uEeaxlsDSOll0vg" type="2003" element="_5TqnEW6uEeaxlsDSOll0vg">
49 <children xmi:type="notation:Node" xmi:id="_5T_XMG6uEeaxlsDSOll0vg" type="5007"/>
50 <children xmi:type="notation:Node" xmi:id="_5T_XMW6uEeaxlsDSOll0vg" type="7004">
51 <styles xmi:type="notation:SortingStyle" xmi:id="_5T_XMm6uEeaxlsDSOll0vg"/>
52 <styles xmi:type="notation:FilteringStyle" xmi:id="_5T_XM26uEeaxlsDSOll0vg"/>
53 </children>
54 <styles xmi:type="notation:ShapeStyle" xmi:id="_5T-wJW6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8"/>
55 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5T-wJm6uEeaxlsDSOll0vg" x="818" y="505" height="28"/>
56 </children>
57 <children xmi:type="notation:Node" xmi:id="_5T_XNG6uEeaxlsDSOll0vg" type="2003" element="_5TrOIW6uEeaxlsDSOll0vg">
58 <children xmi:type="notation:Node" xmi:id="_5T_-QG6uEeaxlsDSOll0vg" type="5007"/>
59 <children xmi:type="notation:Node" xmi:id="_5T_-QW6uEeaxlsDSOll0vg" type="7004">
60 <styles xmi:type="notation:SortingStyle" xmi:id="_5T_-Qm6uEeaxlsDSOll0vg"/>
61 <styles xmi:type="notation:FilteringStyle" xmi:id="_5T_-Q26uEeaxlsDSOll0vg"/>
62 </children>
63 <styles xmi:type="notation:ShapeStyle" xmi:id="_5T_XNW6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8" bold="true" fillColor="10265827"/>
64 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5T_XNm6uEeaxlsDSOll0vg" x="290" y="505" height="28"/>
65 </children>
66 <children xmi:type="notation:Node" xmi:id="_5UAlUG6uEeaxlsDSOll0vg" type="2003" element="_5TscQG6uEeaxlsDSOll0vg">
67 <children xmi:type="notation:Node" xmi:id="_5UBMYG6uEeaxlsDSOll0vg" type="5007"/>
68 <children xmi:type="notation:Node" xmi:id="_5UBzcG6uEeaxlsDSOll0vg" type="7004">
69 <styles xmi:type="notation:SortingStyle" xmi:id="_5UBzcW6uEeaxlsDSOll0vg"/>
70 <styles xmi:type="notation:FilteringStyle" xmi:id="_5UBzcm6uEeaxlsDSOll0vg"/>
71 </children>
72 <styles xmi:type="notation:ShapeStyle" xmi:id="_5UAlUW6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8"/>
73 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UAlUm6uEeaxlsDSOll0vg" x="818" y="635" height="28"/>
74 </children>
75 <children xmi:type="notation:Node" xmi:id="_5UBzc26uEeaxlsDSOll0vg" type="2003" element="_5TtqYG6uEeaxlsDSOll0vg">
76 <children xmi:type="notation:Node" xmi:id="_5UBzdm6uEeaxlsDSOll0vg" type="5007"/>
77 <children xmi:type="notation:Node" xmi:id="_5UCagG6uEeaxlsDSOll0vg" type="7004">
78 <styles xmi:type="notation:SortingStyle" xmi:id="_5UCagW6uEeaxlsDSOll0vg"/>
79 <styles xmi:type="notation:FilteringStyle" xmi:id="_5UCagm6uEeaxlsDSOll0vg"/>
80 </children>
81 <styles xmi:type="notation:ShapeStyle" xmi:id="_5UBzdG6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8"/>
82 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UBzdW6uEeaxlsDSOll0vg" x="295" y="635" height="28"/>
83 </children>
84 <children xmi:type="notation:Node" xmi:id="_5UCag26uEeaxlsDSOll0vg" type="2003" element="_5TuRcW6uEeaxlsDSOll0vg">
85 <children xmi:type="notation:Node" xmi:id="_5UCahm6uEeaxlsDSOll0vg" type="5007"/>
86 <children xmi:type="notation:Node" xmi:id="_5UCah26uEeaxlsDSOll0vg" type="7004">
87 <styles xmi:type="notation:SortingStyle" xmi:id="_5UCaiG6uEeaxlsDSOll0vg"/>
88 <styles xmi:type="notation:FilteringStyle" xmi:id="_5UCaiW6uEeaxlsDSOll0vg"/>
89 </children>
90 <styles xmi:type="notation:ShapeStyle" xmi:id="_5UCahG6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8" bold="true" fillColor="10265827"/>
91 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UCahW6uEeaxlsDSOll0vg" x="465" y="635" height="28"/>
92 </children>
93 <children xmi:type="notation:Node" xmi:id="_5UCaim6uEeaxlsDSOll0vg" type="2003" element="_5TvfkG6uEeaxlsDSOll0vg">
94 <children xmi:type="notation:Node" xmi:id="_5UDBkG6uEeaxlsDSOll0vg" type="5007"/>
95 <children xmi:type="notation:Node" xmi:id="_5UDBkW6uEeaxlsDSOll0vg" type="7004">
96 <styles xmi:type="notation:SortingStyle" xmi:id="_5UDBkm6uEeaxlsDSOll0vg"/>
97 <styles xmi:type="notation:FilteringStyle" xmi:id="_5UDBk26uEeaxlsDSOll0vg"/>
98 </children>
99 <styles xmi:type="notation:ShapeStyle" xmi:id="_5UCai26uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8"/>
100 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UCajG6uEeaxlsDSOll0vg" x="635" y="635" height="28"/>
101 </children>
102 <children xmi:type="notation:Node" xmi:id="_5UDBlG6uEeaxlsDSOll0vg" type="2003" element="_5TwGoG6uEeaxlsDSOll0vg">
103 <children xmi:type="notation:Node" xmi:id="_5UDBl26uEeaxlsDSOll0vg" type="5007"/>
104 <children xmi:type="notation:Node" xmi:id="_5UDooG6uEeaxlsDSOll0vg" type="7004">
105 <styles xmi:type="notation:SortingStyle" xmi:id="_5UDooW6uEeaxlsDSOll0vg"/>
106 <styles xmi:type="notation:FilteringStyle" xmi:id="_5UDoom6uEeaxlsDSOll0vg"/>
107 </children>
108 <styles xmi:type="notation:ShapeStyle" xmi:id="_5UDBlW6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8" italic="true"/>
109 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UDBlm6uEeaxlsDSOll0vg" x="635" y="570" height="28"/>
110 </children>
111 <children xmi:type="notation:Node" xmi:id="_5UDoo26uEeaxlsDSOll0vg" type="2003" element="_5TwGom6uEeaxlsDSOll0vg">
112 <children xmi:type="notation:Node" xmi:id="_5UDopm6uEeaxlsDSOll0vg" type="5007"/>
113 <children xmi:type="notation:Node" xmi:id="_5UDop26uEeaxlsDSOll0vg" type="7004">
114 <styles xmi:type="notation:SortingStyle" xmi:id="_5UDoqG6uEeaxlsDSOll0vg"/>
115 <styles xmi:type="notation:FilteringStyle" xmi:id="_5UDoqW6uEeaxlsDSOll0vg"/>
116 </children>
117 <styles xmi:type="notation:ShapeStyle" xmi:id="_5UDopG6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8" italic="true"/>
118 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UDopW6uEeaxlsDSOll0vg" x="818" y="570" height="28"/>
119 </children>
120 <styles xmi:type="notation:DiagramStyle" xmi:id="_427AuG6uEeaxlsDSOll0vg"/>
121 <edges xmi:type="notation:Edge" xmi:id="_5UEPsG6uEeaxlsDSOll0vg" type="4001" element="_5T2NQG6uEeaxlsDSOll0vg" source="_5T-wJG6uEeaxlsDSOll0vg" target="_5T-JF26uEeaxlsDSOll0vg">
122 <children xmi:type="notation:Node" xmi:id="_5UE2wG6uEeaxlsDSOll0vg" type="6001">
123 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UE2wW6uEeaxlsDSOll0vg" x="-2" y="13"/>
124 </children>
125 <children xmi:type="notation:Node" xmi:id="_5UE2wm6uEeaxlsDSOll0vg" type="6002">
126 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UE2w26uEeaxlsDSOll0vg" x="10" y="-10"/>
127 </children>
128 <children xmi:type="notation:Node" xmi:id="_5UE2xG6uEeaxlsDSOll0vg" type="6003">
129 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UE2xW6uEeaxlsDSOll0vg" x="1" y="-10"/>
130 </children>
131 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5UEPsW6uEeaxlsDSOll0vg" routing="Rectilinear"/>
132 <styles xmi:type="notation:FontStyle" xmi:id="_5UEPsm6uEeaxlsDSOll0vg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
133 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5UEPs26uEeaxlsDSOll0vg" points="[-59, 19, 134, -128]$[-134, 19, 59, -128]"/>
134 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UE2xm6uEeaxlsDSOll0vg" id="(0.5,0.0)"/>
135 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UE2x26uEeaxlsDSOll0vg" id="(0.5,3.769230769230769)"/>
136 </edges>
137 <edges xmi:type="notation:Edge" xmi:id="_5UE2yG6uEeaxlsDSOll0vg" type="4001" element="_5T3bYG6uEeaxlsDSOll0vg" source="_5UDoo26uEeaxlsDSOll0vg" target="_5T-wJG6uEeaxlsDSOll0vg">
138 <children xmi:type="notation:Node" xmi:id="_5UFd0G6uEeaxlsDSOll0vg" type="6001">
139 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UFd0W6uEeaxlsDSOll0vg" x="1" y="36"/>
140 </children>
141 <children xmi:type="notation:Node" xmi:id="_5UGE4G6uEeaxlsDSOll0vg" type="6002">
142 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UGE4W6uEeaxlsDSOll0vg" x="7" y="10"/>
143 </children>
144 <children xmi:type="notation:Node" xmi:id="_5UGE4m6uEeaxlsDSOll0vg" type="6003">
145 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UGE426uEeaxlsDSOll0vg" x="-2" y="10"/>
146 </children>
147 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5UE2yW6uEeaxlsDSOll0vg" routing="Rectilinear"/>
148 <styles xmi:type="notation:FontStyle" xmi:id="_5UE2ym6uEeaxlsDSOll0vg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
149 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5UE2y26uEeaxlsDSOll0vg" points="[-37, 0, -37, -82]$[-37, -26, -37, -108]"/>
150 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UGE5G6uEeaxlsDSOll0vg" id="(0.5,0.0)"/>
151 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UGE5W6uEeaxlsDSOll0vg" id="(0.5,3.769230769230769)"/>
152 </edges>
153 <edges xmi:type="notation:Edge" xmi:id="_5UGr-G6uEeaxlsDSOll0vg" type="4001" element="_5T4pgG6uEeaxlsDSOll0vg" source="_5T-JEG6uEeaxlsDSOll0vg" target="_5T-JF26uEeaxlsDSOll0vg">
154 <children xmi:type="notation:Node" xmi:id="_5UHTAG6uEeaxlsDSOll0vg" type="6001">
155 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UHTAW6uEeaxlsDSOll0vg" x="5" y="-10"/>
156 </children>
157 <children xmi:type="notation:Node" xmi:id="_5UHTAm6uEeaxlsDSOll0vg" type="6002">
158 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UHTA26uEeaxlsDSOll0vg" x="3" y="10"/>
159 </children>
160 <children xmi:type="notation:Node" xmi:id="_5UHTBG6uEeaxlsDSOll0vg" type="6003">
161 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UHTBW6uEeaxlsDSOll0vg" x="7" y="10"/>
162 </children>
163 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5UGr-W6uEeaxlsDSOll0vg" routing="Tree"/>
164 <styles xmi:type="notation:FontStyle" xmi:id="_5UGr-m6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8"/>
165 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5UGr-26uEeaxlsDSOll0vg" points="[0, 0, -135, -92]$[0, -5, -135, -97]$[136, -5, 1, -97]$[136, -16, 1, -108]"/>
166 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UHTBm6uEeaxlsDSOll0vg" id="(0.5,0.0)"/>
167 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UHTB26uEeaxlsDSOll0vg" id="(0.5,3.769230769230769)"/>
168 </edges>
169 <edges xmi:type="notation:Edge" xmi:id="_5UHTCG6uEeaxlsDSOll0vg" type="4001" element="_5T5Qk26uEeaxlsDSOll0vg" source="_5UAlUG6uEeaxlsDSOll0vg" target="_5UDoo26uEeaxlsDSOll0vg">
170 <children xmi:type="notation:Node" xmi:id="_5UH6EG6uEeaxlsDSOll0vg" type="6001">
171 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UH6EW6uEeaxlsDSOll0vg" x="1" y="3"/>
172 </children>
173 <children xmi:type="notation:Node" xmi:id="_5UH6Em6uEeaxlsDSOll0vg" type="6002">
174 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UH6E26uEeaxlsDSOll0vg" x="-2" y="10"/>
175 </children>
176 <children xmi:type="notation:Node" xmi:id="_5UH6FG6uEeaxlsDSOll0vg" type="6003">
177 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UH6FW6uEeaxlsDSOll0vg" x="-12" y="22"/>
178 </children>
179 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5UHTCW6uEeaxlsDSOll0vg" routing="Tree"/>
180 <styles xmi:type="notation:FontStyle" xmi:id="_5UHTCm6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8"/>
181 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5UHTC26uEeaxlsDSOll0vg" points="[0, 0, 0, -82]$[0, -10, 0, -92]$[-12, -10, -12, -92]$[-12, -26, -12, -108]"/>
182 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UH6Fm6uEeaxlsDSOll0vg" id="(0.5,0.0)"/>
183 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UH6F26uEeaxlsDSOll0vg" id="(0.5,3.769230769230769)"/>
184 </edges>
185 <edges xmi:type="notation:Edge" xmi:id="_5UIhIG6uEeaxlsDSOll0vg" type="4001" element="_5T53oG6uEeaxlsDSOll0vg" source="_5UBzc26uEeaxlsDSOll0vg" target="_5T-JEG6uEeaxlsDSOll0vg">
186 <children xmi:type="notation:Node" xmi:id="_5UIhJG6uEeaxlsDSOll0vg" type="6001">
187 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UIhJW6uEeaxlsDSOll0vg" y="-10"/>
188 </children>
189 <children xmi:type="notation:Node" xmi:id="_5UIhJm6uEeaxlsDSOll0vg" type="6002">
190 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UIhJ26uEeaxlsDSOll0vg" y="10"/>
191 </children>
192 <children xmi:type="notation:Node" xmi:id="_5UIhKG6uEeaxlsDSOll0vg" type="6003">
193 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UIhKW6uEeaxlsDSOll0vg" y="10"/>
194 </children>
195 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5UIhIW6uEeaxlsDSOll0vg" routing="Tree"/>
196 <styles xmi:type="notation:FontStyle" xmi:id="_5UIhIm6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8"/>
197 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5UIhI26uEeaxlsDSOll0vg" points="[0, 0, -105, 60]$[105, -60, 0, 0]"/>
198 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UJIMG6uEeaxlsDSOll0vg" id="(0.5,0.0)"/>
199 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UJIMW6uEeaxlsDSOll0vg" id="(0.5,3.769230769230769)"/>
200 </edges>
201 <edges xmi:type="notation:Edge" xmi:id="_5UJIMm6uEeaxlsDSOll0vg" type="4001" element="_5T53pG6uEeaxlsDSOll0vg" source="_5UCag26uEeaxlsDSOll0vg" target="_5T-JEG6uEeaxlsDSOll0vg">
202 <children xmi:type="notation:Node" xmi:id="_5UJINm6uEeaxlsDSOll0vg" type="6001">
203 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UJIN26uEeaxlsDSOll0vg" y="-10"/>
204 </children>
205 <children xmi:type="notation:Node" xmi:id="_5UJIOG6uEeaxlsDSOll0vg" type="6002">
206 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UJIOW6uEeaxlsDSOll0vg" y="10"/>
207 </children>
208 <children xmi:type="notation:Node" xmi:id="_5UJIOm6uEeaxlsDSOll0vg" type="6003">
209 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UJIO26uEeaxlsDSOll0vg" y="10"/>
210 </children>
211 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5UJIM26uEeaxlsDSOll0vg" routing="Tree"/>
212 <styles xmi:type="notation:FontStyle" xmi:id="_5UJING6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8"/>
213 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5UJINW6uEeaxlsDSOll0vg" points="[0, 0, 75, 60]$[-75, -60, 0, 0]"/>
214 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UJvQG6uEeaxlsDSOll0vg" id="(0.5,0.0)"/>
215 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UJvQW6uEeaxlsDSOll0vg" id="(0.5,3.769230769230769)"/>
216 </edges>
217 <edges xmi:type="notation:Edge" xmi:id="_5UJvQm6uEeaxlsDSOll0vg" type="4001" element="_5T6esG6uEeaxlsDSOll0vg" source="_5UCaim6uEeaxlsDSOll0vg" target="_5UDBlG6uEeaxlsDSOll0vg">
218 <children xmi:type="notation:Node" xmi:id="_5UJvRm6uEeaxlsDSOll0vg" type="6001">
219 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UJvR26uEeaxlsDSOll0vg" x="-5" y="5"/>
220 </children>
221 <children xmi:type="notation:Node" xmi:id="_5UJvSG6uEeaxlsDSOll0vg" type="6002">
222 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UJvSW6uEeaxlsDSOll0vg" x="-3" y="10"/>
223 </children>
224 <children xmi:type="notation:Node" xmi:id="_5UJvSm6uEeaxlsDSOll0vg" type="6003">
225 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UJvS26uEeaxlsDSOll0vg" x="3" y="10"/>
226 </children>
227 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5UJvQ26uEeaxlsDSOll0vg" routing="Tree"/>
228 <styles xmi:type="notation:FontStyle" xmi:id="_5UJvRG6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8"/>
229 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5UJvRW6uEeaxlsDSOll0vg" points="[0, 0, 0, -82]$[0, -10, 0, -92]$[-22, -10, -22, -92]$[-22, -26, -22, -108]"/>
230 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UKWUG6uEeaxlsDSOll0vg" id="(0.5,0.0)"/>
231 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UKWUW6uEeaxlsDSOll0vg" id="(0.5,3.769230769230769)"/>
232 </edges>
233 <edges xmi:type="notation:Edge" xmi:id="_5UKWUm6uEeaxlsDSOll0vg" type="4001" element="_5T6etG6uEeaxlsDSOll0vg" source="_5UCaim6uEeaxlsDSOll0vg" target="_5UDoo26uEeaxlsDSOll0vg">
234 <children xmi:type="notation:Node" xmi:id="_5UKWVm6uEeaxlsDSOll0vg" type="6001">
235 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UKWV26uEeaxlsDSOll0vg" x="-28" y="-10"/>
236 </children>
237 <children xmi:type="notation:Node" xmi:id="_5UKWWG6uEeaxlsDSOll0vg" type="6002">
238 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UKWWW6uEeaxlsDSOll0vg" x="-4" y="8"/>
239 </children>
240 <children xmi:type="notation:Node" xmi:id="_5UKWWm6uEeaxlsDSOll0vg" type="6003">
241 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UKWW26uEeaxlsDSOll0vg" x="-3" y="10"/>
242 </children>
243 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5UKWU26uEeaxlsDSOll0vg" routing="Tree"/>
244 <styles xmi:type="notation:FontStyle" xmi:id="_5UKWVG6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8"/>
245 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5UKWVW6uEeaxlsDSOll0vg" points="[0, 0, -145, -82]$[0, -10, -145, -92]$[118, -10, -27, -92]$[118, -26, -27, -108]"/>
246 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UKWXG6uEeaxlsDSOll0vg" id="(0.5,0.0)"/>
247 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UKWXW6uEeaxlsDSOll0vg" id="(0.5,3.769230769230769)"/>
248 </edges>
249 <edges xmi:type="notation:Edge" xmi:id="_5UKWXm6uEeaxlsDSOll0vg" type="4001" element="_5T7Fw26uEeaxlsDSOll0vg" source="_5UDBlG6uEeaxlsDSOll0vg" target="_5T-JF26uEeaxlsDSOll0vg">
250 <children xmi:type="notation:Node" xmi:id="_5UK9YG6uEeaxlsDSOll0vg" type="6001">
251 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UK9YW6uEeaxlsDSOll0vg" y="-10"/>
252 </children>
253 <children xmi:type="notation:Node" xmi:id="_5UK9Ym6uEeaxlsDSOll0vg" type="6002">
254 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UK9Y26uEeaxlsDSOll0vg" y="10"/>
255 </children>
256 <children xmi:type="notation:Node" xmi:id="_5UK9ZG6uEeaxlsDSOll0vg" type="6003">
257 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UK9ZW6uEeaxlsDSOll0vg" y="10"/>
258 </children>
259 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5UKWX26uEeaxlsDSOll0vg" routing="Tree"/>
260 <styles xmi:type="notation:FontStyle" xmi:id="_5UKWYG6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8"/>
261 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5UKWYW6uEeaxlsDSOll0vg" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
262 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UK9Zm6uEeaxlsDSOll0vg" id="(0.5,0.0)"/>
263 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5UK9Z26uEeaxlsDSOll0vg" id="(0.5,3.769230769230769)"/>
264 </edges>
265 <edges xmi:type="notation:Edge" xmi:id="_5UK9aG6uEeaxlsDSOll0vg" type="4001" element="_5T7s0G6uEeaxlsDSOll0vg" source="_5T-JF26uEeaxlsDSOll0vg" target="_5T_XNG6uEeaxlsDSOll0vg">
266 <children xmi:type="notation:Node" xmi:id="_5UK9bG6uEeaxlsDSOll0vg" type="6001">
267 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UK9bW6uEeaxlsDSOll0vg" x="-5" y="10"/>
268 </children>
269 <children xmi:type="notation:Node" xmi:id="_5UK9bm6uEeaxlsDSOll0vg" type="6002">
270 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UK9b26uEeaxlsDSOll0vg" x="-2" y="-11"/>
271 </children>
272 <children xmi:type="notation:Node" xmi:id="_5UK9cG6uEeaxlsDSOll0vg" type="6003">
273 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UK9cW6uEeaxlsDSOll0vg" x="-33" y="-11"/>
274 </children>
275 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5UK9aW6uEeaxlsDSOll0vg" routing="Rectilinear" lineColor="10265827"/>
276 <styles xmi:type="notation:FontStyle" xmi:id="_5UK9am6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8"/>
277 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5UK9a26uEeaxlsDSOll0vg" points="[-59, 30, 276, -117]$[-276, 30, 59, -117]"/>
278 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5ULkcG6uEeaxlsDSOll0vg" id="(0.5,0.0)"/>
279 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5ULkcW6uEeaxlsDSOll0vg" id="(0.5,3.769230769230769)"/>
280 </edges>
281 <edges xmi:type="notation:Edge" xmi:id="_5ULkcm6uEeaxlsDSOll0vg" type="4001" element="_5T8T4G6uEeaxlsDSOll0vg" source="_5T-JF26uEeaxlsDSOll0vg" target="_5T_XNG6uEeaxlsDSOll0vg">
282 <children xmi:type="notation:Node" xmi:id="_5ULkdm6uEeaxlsDSOll0vg" type="6001">
283 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5ULkd26uEeaxlsDSOll0vg" x="-5" y="10"/>
284 </children>
285 <children xmi:type="notation:Node" xmi:id="_5ULkeG6uEeaxlsDSOll0vg" type="6002">
286 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5ULkeW6uEeaxlsDSOll0vg" x="-1" y="9"/>
287 </children>
288 <children xmi:type="notation:Node" xmi:id="_5ULkem6uEeaxlsDSOll0vg" type="6003">
289 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5ULke26uEeaxlsDSOll0vg" x="-34" y="9"/>
290 </children>
291 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5ULkc26uEeaxlsDSOll0vg" routing="Rectilinear" lineColor="10265827"/>
292 <styles xmi:type="notation:FontStyle" xmi:id="_5ULkdG6uEeaxlsDSOll0vg" fontName="Segoe UI" fontHeight="8"/>
293 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5ULkdW6uEeaxlsDSOll0vg" points="[-59, 10, 276, -137]$[-276, 10, 59, -137]"/>
294 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5ULkfG6uEeaxlsDSOll0vg" id="(0.5,0.0)"/>
295 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5ULkfW6uEeaxlsDSOll0vg" id="(0.5,3.769230769230769)"/>
296 </edges>
297 </data>
298 </ownedAnnotationEntries>
299 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_5Tox4G6uEeaxlsDSOll0vg" name="Pseudostate" tooltipText="" outgoingEdges="_5T4pgG6uEeaxlsDSOll0vg" incomingEdges="_5T53oG6uEeaxlsDSOll0vg _5T53pG6uEeaxlsDSOll0vg" width="12" height="10">
300 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Pseudostate"/>
301 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Pseudostate"/>
302 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
303 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
304 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
305 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_5TpY8G6uEeaxlsDSOll0vg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
306 <labelFormat>italic</labelFormat>
307 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
308 </ownedStyle>
309 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
310 </ownedDiagramElements>
311 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_5TqAAG6uEeaxlsDSOll0vg" name="Vertex" tooltipText="" outgoingEdges="_5T7s0G6uEeaxlsDSOll0vg _5T8T4G6uEeaxlsDSOll0vg" incomingEdges="_5T2NQG6uEeaxlsDSOll0vg _5T4pgG6uEeaxlsDSOll0vg _5T7Fw26uEeaxlsDSOll0vg" width="12" height="10">
312 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Vertex"/>
313 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Vertex"/>
314 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
315 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
316 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
317 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_5TqnEG6uEeaxlsDSOll0vg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" backgroundColor="227,164,156" foregroundColor="227,164,156">
318 <customFeatures>labelFormat</customFeatures>
319 <customFeatures>backgroundColor</customFeatures>
320 <customFeatures>foregroundColor</customFeatures>
321 <labelFormat>italic</labelFormat>
322 <labelFormat>bold</labelFormat>
323 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
324 </ownedStyle>
325 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
326 </ownedDiagramElements>
327 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_5TqnEW6uEeaxlsDSOll0vg" name="Region" tooltipText="" outgoingEdges="_5T2NQG6uEeaxlsDSOll0vg" incomingEdges="_5T3bYG6uEeaxlsDSOll0vg" width="12" height="10">
328 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Region"/>
329 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Region"/>
330 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
331 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
332 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
333 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_5TrOIG6uEeaxlsDSOll0vg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
334 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
335 </ownedStyle>
336 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
337 </ownedDiagramElements>
338 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_5TrOIW6uEeaxlsDSOll0vg" name="Transition" tooltipText="" incomingEdges="_5T7s0G6uEeaxlsDSOll0vg _5T8T4G6uEeaxlsDSOll0vg" width="12" height="10">
339 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Transition"/>
340 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Transition"/>
341 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
342 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
343 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
344 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_5Tr1MG6uEeaxlsDSOll0vg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="227,164,156" foregroundColor="227,164,156">
345 <customFeatures>labelFormat</customFeatures>
346 <customFeatures>backgroundColor</customFeatures>
347 <customFeatures>foregroundColor</customFeatures>
348 <labelFormat>bold</labelFormat>
349 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
350 </ownedStyle>
351 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
352 </ownedDiagramElements>
353 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_5TscQG6uEeaxlsDSOll0vg" name="Statechart" tooltipText="" outgoingEdges="_5T5Qk26uEeaxlsDSOll0vg" width="12" height="10">
354 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Statechart"/>
355 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Statechart"/>
356 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
357 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
358 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
359 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_5TscQW6uEeaxlsDSOll0vg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
360 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
361 </ownedStyle>
362 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
363 </ownedDiagramElements>
364 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_5TtqYG6uEeaxlsDSOll0vg" name="Entry" tooltipText="" outgoingEdges="_5T53oG6uEeaxlsDSOll0vg" width="12" height="10">
365 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Entry"/>
366 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Entry"/>
367 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
368 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
369 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
370 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_5TuRcG6uEeaxlsDSOll0vg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
371 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
372 </ownedStyle>
373 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
374 </ownedDiagramElements>
375 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_5TuRcW6uEeaxlsDSOll0vg" name="Synchronization" tooltipText="" outgoingEdges="_5T53pG6uEeaxlsDSOll0vg" width="12" height="10">
376 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Synchronization"/>
377 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Synchronization"/>
378 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
379 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
380 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
381 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_5Tu4gG6uEeaxlsDSOll0vg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="227,164,156" foregroundColor="227,164,156">
382 <customFeatures>labelFormat</customFeatures>
383 <customFeatures>backgroundColor</customFeatures>
384 <customFeatures>foregroundColor</customFeatures>
385 <labelFormat>bold</labelFormat>
386 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
387 </ownedStyle>
388 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
389 </ownedDiagramElements>
390 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_5TvfkG6uEeaxlsDSOll0vg" name="State" tooltipText="" outgoingEdges="_5T6esG6uEeaxlsDSOll0vg _5T6etG6uEeaxlsDSOll0vg" width="12" height="10">
391 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//State"/>
392 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//State"/>
393 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
394 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
395 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
396 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_5TvfkW6uEeaxlsDSOll0vg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
397 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
398 </ownedStyle>
399 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
400 </ownedDiagramElements>
401 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_5TwGoG6uEeaxlsDSOll0vg" name="RegularState" tooltipText="" outgoingEdges="_5T7Fw26uEeaxlsDSOll0vg" incomingEdges="_5T6esG6uEeaxlsDSOll0vg" width="12" height="10">
402 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//RegularState"/>
403 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//RegularState"/>
404 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
405 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
406 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
407 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_5TwGoW6uEeaxlsDSOll0vg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
408 <labelFormat>italic</labelFormat>
409 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
410 </ownedStyle>
411 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
412 </ownedDiagramElements>
413 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_5TwGom6uEeaxlsDSOll0vg" name="CompositeElement" tooltipText="" outgoingEdges="_5T3bYG6uEeaxlsDSOll0vg" incomingEdges="_5T5Qk26uEeaxlsDSOll0vg _5T6etG6uEeaxlsDSOll0vg" width="12" height="10">
414 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//CompositeElement"/>
415 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//CompositeElement"/>
416 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
417 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
418 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
419 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_5TwtsG6uEeaxlsDSOll0vg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
420 <labelFormat>italic</labelFormat>
421 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
422 </ownedStyle>
423 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
424 </ownedDiagramElements>
425 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5T2NQG6uEeaxlsDSOll0vg" name="[0..*] vertices" sourceNode="_5TqnEW6uEeaxlsDSOll0vg" targetNode="_5TqAAG6uEeaxlsDSOll0vg">
426 <target xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//Region/vertices"/>
427 <semanticElements xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//Region/vertices"/>
428 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5T20U26uEeaxlsDSOll0vg" description="_5T20UG6uEeaxlsDSOll0vg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
429 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_5T20VG6uEeaxlsDSOll0vg" showIcon="false">
430 <customFeatures>labelSize</customFeatures>
431 </centerLabelStyle>
432 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_5T20VW6uEeaxlsDSOll0vg" showIcon="false" labelColor="39,76,114">
433 <customFeatures>labelSize</customFeatures>
434 </endLabelStyle>
435 </ownedStyle>
436 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
437 </ownedDiagramElements>
438 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5T3bYG6uEeaxlsDSOll0vg" name="[0..*] regions" sourceNode="_5TwGom6uEeaxlsDSOll0vg" targetNode="_5TqnEW6uEeaxlsDSOll0vg">
439 <target xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//CompositeElement/regions"/>
440 <semanticElements xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//CompositeElement/regions"/>
441 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5T4CcG6uEeaxlsDSOll0vg" description="_5T20UG6uEeaxlsDSOll0vg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
442 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_5T4CcW6uEeaxlsDSOll0vg" showIcon="false">
443 <customFeatures>labelSize</customFeatures>
444 </centerLabelStyle>
445 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_5T4Ccm6uEeaxlsDSOll0vg" showIcon="false" labelColor="39,76,114">
446 <customFeatures>labelSize</customFeatures>
447 </endLabelStyle>
448 </ownedStyle>
449 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
450 </ownedDiagramElements>
451 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5T4pgG6uEeaxlsDSOll0vg" sourceNode="_5Tox4G6uEeaxlsDSOll0vg" targetNode="_5TqAAG6uEeaxlsDSOll0vg">
452 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Pseudostate"/>
453 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//Pseudostate/@eGenericSuperTypes.0"/>
454 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5T5QkG6uEeaxlsDSOll0vg" targetArrow="InputClosedArrow" routingStyle="tree">
455 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
456 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_5T5QkW6uEeaxlsDSOll0vg" showIcon="false">
457 <labelFormat>italic</labelFormat>
458 </beginLabelStyle>
459 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_5T5Qkm6uEeaxlsDSOll0vg" showIcon="false"/>
460 </ownedStyle>
461 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
462 </ownedDiagramElements>
463 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5T5Qk26uEeaxlsDSOll0vg" sourceNode="_5TscQG6uEeaxlsDSOll0vg" targetNode="_5TwGom6uEeaxlsDSOll0vg">
464 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Statechart"/>
465 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//Statechart/@eGenericSuperTypes.0"/>
466 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5T5QlG6uEeaxlsDSOll0vg" targetArrow="InputClosedArrow" routingStyle="tree">
467 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
468 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_5T5QlW6uEeaxlsDSOll0vg" showIcon="false">
469 <labelFormat>italic</labelFormat>
470 </beginLabelStyle>
471 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_5T5Qlm6uEeaxlsDSOll0vg" showIcon="false"/>
472 </ownedStyle>
473 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
474 </ownedDiagramElements>
475 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5T53oG6uEeaxlsDSOll0vg" sourceNode="_5TtqYG6uEeaxlsDSOll0vg" targetNode="_5Tox4G6uEeaxlsDSOll0vg">
476 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Entry"/>
477 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//Entry/@eGenericSuperTypes.0"/>
478 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5T53oW6uEeaxlsDSOll0vg" targetArrow="InputClosedArrow" routingStyle="tree">
479 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
480 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_5T53om6uEeaxlsDSOll0vg" showIcon="false">
481 <labelFormat>italic</labelFormat>
482 </beginLabelStyle>
483 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_5T53o26uEeaxlsDSOll0vg" showIcon="false"/>
484 </ownedStyle>
485 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
486 </ownedDiagramElements>
487 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5T53pG6uEeaxlsDSOll0vg" sourceNode="_5TuRcW6uEeaxlsDSOll0vg" targetNode="_5Tox4G6uEeaxlsDSOll0vg">
488 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Synchronization"/>
489 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//Synchronization/@eGenericSuperTypes.0"/>
490 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5T53pW6uEeaxlsDSOll0vg" targetArrow="InputClosedArrow" routingStyle="tree">
491 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
492 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_5T53pm6uEeaxlsDSOll0vg" showIcon="false">
493 <labelFormat>italic</labelFormat>
494 </beginLabelStyle>
495 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_5T53p26uEeaxlsDSOll0vg" showIcon="false"/>
496 </ownedStyle>
497 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
498 </ownedDiagramElements>
499 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5T6esG6uEeaxlsDSOll0vg" sourceNode="_5TvfkG6uEeaxlsDSOll0vg" targetNode="_5TwGoG6uEeaxlsDSOll0vg">
500 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//State"/>
501 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//State/@eGenericSuperTypes.0"/>
502 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//State/@eGenericSuperTypes.1"/>
503 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5T6esW6uEeaxlsDSOll0vg" targetArrow="InputClosedArrow" routingStyle="tree">
504 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
505 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_5T6esm6uEeaxlsDSOll0vg" showIcon="false">
506 <labelFormat>italic</labelFormat>
507 </beginLabelStyle>
508 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_5T6es26uEeaxlsDSOll0vg" showIcon="false"/>
509 </ownedStyle>
510 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
511 </ownedDiagramElements>
512 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5T6etG6uEeaxlsDSOll0vg" sourceNode="_5TvfkG6uEeaxlsDSOll0vg" targetNode="_5TwGom6uEeaxlsDSOll0vg">
513 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//State"/>
514 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//State/@eGenericSuperTypes.0"/>
515 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//State/@eGenericSuperTypes.1"/>
516 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5T7FwG6uEeaxlsDSOll0vg" targetArrow="InputClosedArrow" routingStyle="tree">
517 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
518 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_5T7FwW6uEeaxlsDSOll0vg" showIcon="false">
519 <labelFormat>italic</labelFormat>
520 </beginLabelStyle>
521 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_5T7Fwm6uEeaxlsDSOll0vg" showIcon="false"/>
522 </ownedStyle>
523 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
524 </ownedDiagramElements>
525 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5T7Fw26uEeaxlsDSOll0vg" sourceNode="_5TwGoG6uEeaxlsDSOll0vg" targetNode="_5TqAAG6uEeaxlsDSOll0vg">
526 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//RegularState"/>
527 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//RegularState/@eGenericSuperTypes.0"/>
528 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5T7FxG6uEeaxlsDSOll0vg" targetArrow="InputClosedArrow" routingStyle="tree">
529 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
530 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_5T7FxW6uEeaxlsDSOll0vg" showIcon="false">
531 <labelFormat>italic</labelFormat>
532 </beginLabelStyle>
533 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_5T7Fxm6uEeaxlsDSOll0vg" showIcon="false"/>
534 </ownedStyle>
535 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
536 </ownedDiagramElements>
537 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5T7s0G6uEeaxlsDSOll0vg" sourceNode="_5TqAAG6uEeaxlsDSOll0vg" targetNode="_5TrOIW6uEeaxlsDSOll0vg" beginLabel="[1..1] target" endLabel="[0..*] incomingTransitions">
538 <target xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//Vertex/incomingTransitions"/>
539 <semanticElements xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//Vertex/incomingTransitions"/>
540 <semanticElements xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//Transition/target"/>
541 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5T7s0W6uEeaxlsDSOll0vg" sourceArrow="InputArrow" size="3" routingStyle="manhattan" strokeColor="227,164,156">
542 <customFeatures>strokeColor</customFeatures>
543 <customFeatures>size</customFeatures>
544 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style"/>
545 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_5T7s0m6uEeaxlsDSOll0vg" showIcon="false">
546 <customFeatures>labelFormat</customFeatures>
547 </beginLabelStyle>
548 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_5T7s026uEeaxlsDSOll0vg" showIcon="false">
549 <customFeatures>labelFormat</customFeatures>
550 </endLabelStyle>
551 </ownedStyle>
552 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
553 </ownedDiagramElements>
554 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5T8T4G6uEeaxlsDSOll0vg" sourceNode="_5TqAAG6uEeaxlsDSOll0vg" targetNode="_5TrOIW6uEeaxlsDSOll0vg" beginLabel="[0..1] source" endLabel="[0..*] outgoingTransitions">
555 <target xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//Vertex/outgoingTransitions"/>
556 <semanticElements xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//Vertex/outgoingTransitions"/>
557 <semanticElements xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//Transition/source"/>
558 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5T8T5G6uEeaxlsDSOll0vg" description="_5T8T4W6uEeaxlsDSOll0vg" sourceArrow="FillDiamond" size="3" routingStyle="manhattan" strokeColor="227,164,156">
559 <customFeatures>strokeColor</customFeatures>
560 <customFeatures>size</customFeatures>
561 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_5T8T5W6uEeaxlsDSOll0vg" showIcon="false">
562 <customFeatures>labelFormat</customFeatures>
563 </beginLabelStyle>
564 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_5T8T5m6uEeaxlsDSOll0vg" showIcon="false">
565 <customFeatures>labelFormat</customFeatures>
566 </endLabelStyle>
567 </ownedStyle>
568 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
569 </ownedDiagramElements>
570 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
571 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_427AtW6uEeaxlsDSOll0vg"/>
572 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
573 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
574 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
575 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
576 <target xmi:type="ecore:EPackage" href="yakindu_simplified.ecore#/"/>
577 </ownedRepresentations>
578 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_XL-bgDJrEeePYJD6fP7hdw" name="onecol">
579 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_XL_CkDJrEeePYJD6fP7hdw" source="DANNOTATION_CUSTOMIZATION_KEY">
580 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_XL_CkTJrEeePYJD6fP7hdw">
581 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_XL_CkjJrEeePYJD6fP7hdw" sourceArrow="FillDiamond" routingStyle="manhattan">
582 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
583 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_XL_CkzJrEeePYJD6fP7hdw" showIcon="false" labelExpression="service:render">
584 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
585 </centerLabelStyleDescription>
586 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_XL_ClDJrEeePYJD6fP7hdw" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
587 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
588 </endLabelStyleDescription>
589 </computedStyleDescriptions>
590 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_XL_ClTJrEeePYJD6fP7hdw" sourceArrow="FillDiamond" routingStyle="manhattan">
591 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
592 <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_XL_CljJrEeePYJD6fP7hdw" showIcon="false" labelExpression="service:renderEOpposite">
593 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
594 </beginLabelStyleDescription>
595 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_XL_ClzJrEeePYJD6fP7hdw" showIcon="false" labelExpression="service:render">
596 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
597 </endLabelStyleDescription>
598 </computedStyleDescriptions>
599 </data>
600 </ownedAnnotationEntries>
601 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_XL_CmDJrEeePYJD6fP7hdw" source="GMF_DIAGRAMS">
602 <data xmi:type="notation:Diagram" xmi:id="_XL_CmTJrEeePYJD6fP7hdw" type="Sirius" element="_XL-bgDJrEeePYJD6fP7hdw" measurementUnit="Pixel">
603 <children xmi:type="notation:Node" xmi:id="_XL_CmjJrEeePYJD6fP7hdw" type="2003" element="_XL_p9jJrEeePYJD6fP7hdw">
604 <children xmi:type="notation:Node" xmi:id="_XL_CmzJrEeePYJD6fP7hdw" type="5007"/>
605 <children xmi:type="notation:Node" xmi:id="_XL_CnDJrEeePYJD6fP7hdw" type="7004">
606 <styles xmi:type="notation:SortingStyle" xmi:id="_XL_CnTJrEeePYJD6fP7hdw"/>
607 <styles xmi:type="notation:FilteringStyle" xmi:id="_XL_CnjJrEeePYJD6fP7hdw"/>
608 </children>
609 <styles xmi:type="notation:ShapeStyle" xmi:id="_XL_CnzJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8" italic="true"/>
610 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_CoDJrEeePYJD6fP7hdw" x="460" y="570" width="102" height="28"/>
611 </children>
612 <children xmi:type="notation:Node" xmi:id="_XL_CoTJrEeePYJD6fP7hdw" type="2003" element="_XL_p-DJrEeePYJD6fP7hdw">
613 <children xmi:type="notation:Node" xmi:id="_XL_CojJrEeePYJD6fP7hdw" type="5007"/>
614 <children xmi:type="notation:Node" xmi:id="_XL_CozJrEeePYJD6fP7hdw" type="7004">
615 <styles xmi:type="notation:SortingStyle" xmi:id="_XL_CpDJrEeePYJD6fP7hdw"/>
616 <styles xmi:type="notation:FilteringStyle" xmi:id="_XL_CpTJrEeePYJD6fP7hdw"/>
617 </children>
618 <styles xmi:type="notation:ShapeStyle" xmi:id="_XL_CpjJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8" italic="true"/>
619 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_CpzJrEeePYJD6fP7hdw" x="635" y="505" width="90" height="28"/>
620 </children>
621 <children xmi:type="notation:Node" xmi:id="_XL_CqDJrEeePYJD6fP7hdw" type="2003" element="_XL_p-jJrEeePYJD6fP7hdw">
622 <children xmi:type="notation:Node" xmi:id="_XL_CqTJrEeePYJD6fP7hdw" type="5007"/>
623 <children xmi:type="notation:Node" xmi:id="_XL_CqjJrEeePYJD6fP7hdw" type="7004">
624 <styles xmi:type="notation:SortingStyle" xmi:id="_XL_CqzJrEeePYJD6fP7hdw"/>
625 <styles xmi:type="notation:FilteringStyle" xmi:id="_XL_CrDJrEeePYJD6fP7hdw"/>
626 </children>
627 <styles xmi:type="notation:ShapeStyle" xmi:id="_XL_CrTJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8"/>
628 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_CrjJrEeePYJD6fP7hdw" x="762" y="505" width="93" height="28"/>
629 </children>
630 <children xmi:type="notation:Node" xmi:id="_XL_CrzJrEeePYJD6fP7hdw" type="2003" element="_XL_p_DJrEeePYJD6fP7hdw">
631 <children xmi:type="notation:Node" xmi:id="_XL_CsDJrEeePYJD6fP7hdw" type="5007"/>
632 <children xmi:type="notation:Node" xmi:id="_XL_CsTJrEeePYJD6fP7hdw" type="7004">
633 <styles xmi:type="notation:SortingStyle" xmi:id="_XL_CsjJrEeePYJD6fP7hdw"/>
634 <styles xmi:type="notation:FilteringStyle" xmi:id="_XL_CszJrEeePYJD6fP7hdw"/>
635 </children>
636 <styles xmi:type="notation:ShapeStyle" xmi:id="_XL_CtDJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8"/>
637 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_CtTJrEeePYJD6fP7hdw" x="460" y="505" width="90" height="28"/>
638 </children>
639 <children xmi:type="notation:Node" xmi:id="_XL_CtjJrEeePYJD6fP7hdw" type="2003" element="_XL_p_jJrEeePYJD6fP7hdw">
640 <children xmi:type="notation:Node" xmi:id="_XL_CtzJrEeePYJD6fP7hdw" type="5007"/>
641 <children xmi:type="notation:Node" xmi:id="_XL_CuDJrEeePYJD6fP7hdw" type="7004">
642 <styles xmi:type="notation:SortingStyle" xmi:id="_XL_CuTJrEeePYJD6fP7hdw"/>
643 <styles xmi:type="notation:FilteringStyle" xmi:id="_XL_CujJrEeePYJD6fP7hdw"/>
644 </children>
645 <styles xmi:type="notation:ShapeStyle" xmi:id="_XL_CuzJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8"/>
646 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_CvDJrEeePYJD6fP7hdw" x="765" y="635" width="88" height="28"/>
647 </children>
648 <children xmi:type="notation:Node" xmi:id="_XL_CvTJrEeePYJD6fP7hdw" type="2003" element="_XL_qADJrEeePYJD6fP7hdw">
649 <children xmi:type="notation:Node" xmi:id="_XL_CvjJrEeePYJD6fP7hdw" type="5007"/>
650 <children xmi:type="notation:Node" xmi:id="_XL_CvzJrEeePYJD6fP7hdw" type="7004">
651 <styles xmi:type="notation:SortingStyle" xmi:id="_XL_CwDJrEeePYJD6fP7hdw"/>
652 <styles xmi:type="notation:FilteringStyle" xmi:id="_XL_CwTJrEeePYJD6fP7hdw"/>
653 </children>
654 <styles xmi:type="notation:ShapeStyle" xmi:id="_XL_CwjJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8"/>
655 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_CwzJrEeePYJD6fP7hdw" x="460" y="635" width="77" height="28"/>
656 </children>
657 <children xmi:type="notation:Node" xmi:id="_XL_CxDJrEeePYJD6fP7hdw" type="2003" element="_XL_qAjJrEeePYJD6fP7hdw">
658 <children xmi:type="notation:Node" xmi:id="_XL_CxTJrEeePYJD6fP7hdw" type="5007"/>
659 <children xmi:type="notation:Node" xmi:id="_XL_CxjJrEeePYJD6fP7hdw" type="7004">
660 <styles xmi:type="notation:SortingStyle" xmi:id="_XL_CxzJrEeePYJD6fP7hdw"/>
661 <styles xmi:type="notation:FilteringStyle" xmi:id="_XL_CyDJrEeePYJD6fP7hdw"/>
662 </children>
663 <styles xmi:type="notation:ShapeStyle" xmi:id="_XL_CyTJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8"/>
664 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_CyjJrEeePYJD6fP7hdw" x="545" y="635" height="28"/>
665 </children>
666 <children xmi:type="notation:Node" xmi:id="_XL_CyzJrEeePYJD6fP7hdw" type="2003" element="_XL_qBDJrEeePYJD6fP7hdw">
667 <children xmi:type="notation:Node" xmi:id="_XL_CzDJrEeePYJD6fP7hdw" type="5007"/>
668 <children xmi:type="notation:Node" xmi:id="_XL_CzTJrEeePYJD6fP7hdw" type="7004">
669 <styles xmi:type="notation:SortingStyle" xmi:id="_XL_CzjJrEeePYJD6fP7hdw"/>
670 <styles xmi:type="notation:FilteringStyle" xmi:id="_XL_CzzJrEeePYJD6fP7hdw"/>
671 </children>
672 <styles xmi:type="notation:ShapeStyle" xmi:id="_XL_C0DJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8"/>
673 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_C0TJrEeePYJD6fP7hdw" x="675" y="635" width="80" height="28"/>
674 </children>
675 <children xmi:type="notation:Node" xmi:id="_XL_C0jJrEeePYJD6fP7hdw" type="2003" element="_XL_qBjJrEeePYJD6fP7hdw">
676 <children xmi:type="notation:Node" xmi:id="_XL_C0zJrEeePYJD6fP7hdw" type="5007"/>
677 <children xmi:type="notation:Node" xmi:id="_XL_C1DJrEeePYJD6fP7hdw" type="7004">
678 <styles xmi:type="notation:SortingStyle" xmi:id="_XL_C1TJrEeePYJD6fP7hdw"/>
679 <styles xmi:type="notation:FilteringStyle" xmi:id="_XL_C1jJrEeePYJD6fP7hdw"/>
680 </children>
681 <styles xmi:type="notation:ShapeStyle" xmi:id="_XL_C1zJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8" italic="true"/>
682 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_C2DJrEeePYJD6fP7hdw" x="605" y="570" width="105" height="28"/>
683 </children>
684 <children xmi:type="notation:Node" xmi:id="_XL_C2TJrEeePYJD6fP7hdw" type="2003" element="_XL_qCDJrEeePYJD6fP7hdw">
685 <children xmi:type="notation:Node" xmi:id="_XL_C2jJrEeePYJD6fP7hdw" type="5007"/>
686 <children xmi:type="notation:Node" xmi:id="_XL_C2zJrEeePYJD6fP7hdw" type="7004">
687 <styles xmi:type="notation:SortingStyle" xmi:id="_XL_C3DJrEeePYJD6fP7hdw"/>
688 <styles xmi:type="notation:FilteringStyle" xmi:id="_XL_C3TJrEeePYJD6fP7hdw"/>
689 </children>
690 <styles xmi:type="notation:ShapeStyle" xmi:id="_XL_C3jJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8" italic="true"/>
691 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_C3zJrEeePYJD6fP7hdw" x="733" y="570" height="28"/>
692 </children>
693 <styles xmi:type="notation:DiagramStyle" xmi:id="_XL_C4DJrEeePYJD6fP7hdw"/>
694 <edges xmi:type="notation:Edge" xmi:id="_XL_C4TJrEeePYJD6fP7hdw" type="4001" element="_XL_qCjJrEeePYJD6fP7hdw" source="_XL_CqDJrEeePYJD6fP7hdw" target="_XL_CoTJrEeePYJD6fP7hdw">
695 <children xmi:type="notation:Node" xmi:id="_XL_C4jJrEeePYJD6fP7hdw" type="6001">
696 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_C4zJrEeePYJD6fP7hdw" x="3" y="28"/>
697 </children>
698 <children xmi:type="notation:Node" xmi:id="_XL_C5DJrEeePYJD6fP7hdw" type="6002">
699 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_C5TJrEeePYJD6fP7hdw" x="-2" y="-10"/>
700 </children>
701 <children xmi:type="notation:Node" xmi:id="_XL_C5jJrEeePYJD6fP7hdw" type="6003">
702 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_C5zJrEeePYJD6fP7hdw" x="-24" y="-10"/>
703 </children>
704 <styles xmi:type="notation:ConnectorStyle" xmi:id="_XL_C6DJrEeePYJD6fP7hdw" routing="Rectilinear"/>
705 <styles xmi:type="notation:FontStyle" xmi:id="_XL_C6TJrEeePYJD6fP7hdw" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
706 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XL_C6jJrEeePYJD6fP7hdw" points="[-59, 19, 98, -128]$[-98, 19, 59, -128]"/>
707 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_C6zJrEeePYJD6fP7hdw" id="(0.6483516483516483,0.0)"/>
708 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_C7DJrEeePYJD6fP7hdw" id="(0.32954545454545453,3.769230769230769)"/>
709 </edges>
710 <edges xmi:type="notation:Edge" xmi:id="_XL_C7TJrEeePYJD6fP7hdw" type="4001" element="_XL_qDjJrEeePYJD6fP7hdw" source="_XL_C2TJrEeePYJD6fP7hdw" target="_XL_CqDJrEeePYJD6fP7hdw">
711 <children xmi:type="notation:Node" xmi:id="_XL_C7jJrEeePYJD6fP7hdw" type="6001">
712 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_C7zJrEeePYJD6fP7hdw" x="1" y="40"/>
713 </children>
714 <children xmi:type="notation:Node" xmi:id="_XL_C8DJrEeePYJD6fP7hdw" type="6002">
715 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_C8TJrEeePYJD6fP7hdw" x="-10"/>
716 </children>
717 <children xmi:type="notation:Node" xmi:id="_XL_C8jJrEeePYJD6fP7hdw" type="6003">
718 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_C8zJrEeePYJD6fP7hdw" x="-7" y="-5"/>
719 </children>
720 <styles xmi:type="notation:ConnectorStyle" xmi:id="_XL_C9DJrEeePYJD6fP7hdw" routing="Rectilinear"/>
721 <styles xmi:type="notation:FontStyle" xmi:id="_XL_C9TJrEeePYJD6fP7hdw" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
722 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XL_C9jJrEeePYJD6fP7hdw" points="[-14, 0, -43, -82]$[-14, -26, -43, -108]"/>
723 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_C9zJrEeePYJD6fP7hdw" id="(0.5,0.0)"/>
724 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_C-DJrEeePYJD6fP7hdw" id="(0.6483516483516483,3.769230769230769)"/>
725 </edges>
726 <edges xmi:type="notation:Edge" xmi:id="_XL_C-TJrEeePYJD6fP7hdw" type="4001" element="_XL_qEjJrEeePYJD6fP7hdw" source="_XL_CmjJrEeePYJD6fP7hdw" target="_XL_CoTJrEeePYJD6fP7hdw">
727 <children xmi:type="notation:Node" xmi:id="_XL_C-jJrEeePYJD6fP7hdw" type="6001">
728 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_C-zJrEeePYJD6fP7hdw" x="5" y="-10"/>
729 </children>
730 <children xmi:type="notation:Node" xmi:id="_XL_C_DJrEeePYJD6fP7hdw" type="6002">
731 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_C_TJrEeePYJD6fP7hdw" x="3" y="10"/>
732 </children>
733 <children xmi:type="notation:Node" xmi:id="_XL_C_jJrEeePYJD6fP7hdw" type="6003">
734 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_C_zJrEeePYJD6fP7hdw" x="7" y="10"/>
735 </children>
736 <styles xmi:type="notation:ConnectorStyle" xmi:id="_XL_DADJrEeePYJD6fP7hdw" routing="Tree"/>
737 <styles xmi:type="notation:FontStyle" xmi:id="_XL_DATJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8"/>
738 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XL_DAjJrEeePYJD6fP7hdw" points="[0, 0, -135, -92]$[0, -5, -135, -97]$[136, -5, 1, -97]$[136, -16, 1, -108]"/>
739 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_DAzJrEeePYJD6fP7hdw" id="(0.41,0.0)"/>
740 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_DBDJrEeePYJD6fP7hdw" id="(0.32954545454545453,3.769230769230769)"/>
741 </edges>
742 <edges xmi:type="notation:Edge" xmi:id="_XL_DBTJrEeePYJD6fP7hdw" type="4001" element="_XL_qFjJrEeePYJD6fP7hdw" source="_XL_CtjJrEeePYJD6fP7hdw" target="_XL_C2TJrEeePYJD6fP7hdw">
743 <children xmi:type="notation:Node" xmi:id="_XL_DBjJrEeePYJD6fP7hdw" type="6001">
744 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_DBzJrEeePYJD6fP7hdw" x="-3"/>
745 </children>
746 <children xmi:type="notation:Node" xmi:id="_XL_DCDJrEeePYJD6fP7hdw" type="6002">
747 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_DCTJrEeePYJD6fP7hdw" x="7" y="10"/>
748 </children>
749 <children xmi:type="notation:Node" xmi:id="_XL_DCjJrEeePYJD6fP7hdw" type="6003">
750 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_DCzJrEeePYJD6fP7hdw" x="-21"/>
751 </children>
752 <styles xmi:type="notation:ConnectorStyle" xmi:id="_XL_DDDJrEeePYJD6fP7hdw" routing="Tree"/>
753 <styles xmi:type="notation:FontStyle" xmi:id="_XL_DDTJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8"/>
754 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XL_DDjJrEeePYJD6fP7hdw" points="[0, 0, 32, -82]$[0, -10, 32, -92]$[-1, -10, 31, -92]$[-1, -26, 31, -108]"/>
755 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_poDJrEeePYJD6fP7hdw" id="(0.686046511627907,0.0)"/>
756 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_poTJrEeePYJD6fP7hdw" id="(0.5,3.769230769230769)"/>
757 </edges>
758 <edges xmi:type="notation:Edge" xmi:id="_XL_pojJrEeePYJD6fP7hdw" type="4001" element="_XL_qGjJrEeePYJD6fP7hdw" source="_XL_CvTJrEeePYJD6fP7hdw" target="_XL_CmjJrEeePYJD6fP7hdw">
759 <children xmi:type="notation:Node" xmi:id="_XL_pozJrEeePYJD6fP7hdw" type="6001">
760 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_ppDJrEeePYJD6fP7hdw" y="-10"/>
761 </children>
762 <children xmi:type="notation:Node" xmi:id="_XL_ppTJrEeePYJD6fP7hdw" type="6002">
763 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_ppjJrEeePYJD6fP7hdw" y="10"/>
764 </children>
765 <children xmi:type="notation:Node" xmi:id="_XL_ppzJrEeePYJD6fP7hdw" type="6003">
766 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_pqDJrEeePYJD6fP7hdw" y="10"/>
767 </children>
768 <styles xmi:type="notation:ConnectorStyle" xmi:id="_XL_pqTJrEeePYJD6fP7hdw" routing="Tree"/>
769 <styles xmi:type="notation:FontStyle" xmi:id="_XL_pqjJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8"/>
770 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XL_pqzJrEeePYJD6fP7hdw" points="[0, 0, -105, 60]$[105, -60, 0, 0]"/>
771 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_prDJrEeePYJD6fP7hdw" id="(0.21333333333333335,0.0)"/>
772 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_prTJrEeePYJD6fP7hdw" id="(0.41,3.769230769230769)"/>
773 </edges>
774 <edges xmi:type="notation:Edge" xmi:id="_XL_prjJrEeePYJD6fP7hdw" type="4001" element="_XL_qHjJrEeePYJD6fP7hdw" source="_XL_CxDJrEeePYJD6fP7hdw" target="_XL_CmjJrEeePYJD6fP7hdw">
775 <children xmi:type="notation:Node" xmi:id="_XL_przJrEeePYJD6fP7hdw" type="6001">
776 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_psDJrEeePYJD6fP7hdw" y="-10"/>
777 </children>
778 <children xmi:type="notation:Node" xmi:id="_XL_psTJrEeePYJD6fP7hdw" type="6002">
779 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_psjJrEeePYJD6fP7hdw" y="10"/>
780 </children>
781 <children xmi:type="notation:Node" xmi:id="_XL_pszJrEeePYJD6fP7hdw" type="6003">
782 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_ptDJrEeePYJD6fP7hdw" y="10"/>
783 </children>
784 <styles xmi:type="notation:ConnectorStyle" xmi:id="_XL_ptTJrEeePYJD6fP7hdw" routing="Tree"/>
785 <styles xmi:type="notation:FontStyle" xmi:id="_XL_ptjJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8"/>
786 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XL_ptzJrEeePYJD6fP7hdw" points="[0, 0, 75, 60]$[-75, -60, 0, 0]"/>
787 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_puDJrEeePYJD6fP7hdw" id="(0.5,0.0)"/>
788 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_puTJrEeePYJD6fP7hdw" id="(0.41,3.769230769230769)"/>
789 </edges>
790 <edges xmi:type="notation:Edge" xmi:id="_XL_pujJrEeePYJD6fP7hdw" type="4001" element="_XL_qIjJrEeePYJD6fP7hdw" source="_XL_CyzJrEeePYJD6fP7hdw" target="_XL_C0jJrEeePYJD6fP7hdw">
791 <children xmi:type="notation:Node" xmi:id="_XL_puzJrEeePYJD6fP7hdw" type="6001">
792 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_pvDJrEeePYJD6fP7hdw" x="7" y="5"/>
793 </children>
794 <children xmi:type="notation:Node" xmi:id="_XL_pvTJrEeePYJD6fP7hdw" type="6002">
795 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_pvjJrEeePYJD6fP7hdw" y="10"/>
796 </children>
797 <children xmi:type="notation:Node" xmi:id="_XL_pvzJrEeePYJD6fP7hdw" type="6003">
798 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_pwDJrEeePYJD6fP7hdw" y="6"/>
799 </children>
800 <styles xmi:type="notation:ConnectorStyle" xmi:id="_XL_pwTJrEeePYJD6fP7hdw" routing="Tree"/>
801 <styles xmi:type="notation:FontStyle" xmi:id="_XL_pwjJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8"/>
802 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XL_pwzJrEeePYJD6fP7hdw" points="[0, 0, 45, -82]$[0, -10, 45, -92]$[-46, -10, -1, -92]$[-46, -26, -1, -108]"/>
803 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_pxDJrEeePYJD6fP7hdw" id="(0.24358974358974358,0.0)"/>
804 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_pxTJrEeePYJD6fP7hdw" id="(0.42718446601941745,3.769230769230769)"/>
805 </edges>
806 <edges xmi:type="notation:Edge" xmi:id="_XL_pxjJrEeePYJD6fP7hdw" type="4001" element="_XL_qJjJrEeePYJD6fP7hdw" source="_XL_CyzJrEeePYJD6fP7hdw" target="_XL_C2TJrEeePYJD6fP7hdw">
807 <children xmi:type="notation:Node" xmi:id="_XL_pxzJrEeePYJD6fP7hdw" type="6001">
808 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_pyDJrEeePYJD6fP7hdw" x="-37" y="-10"/>
809 </children>
810 <children xmi:type="notation:Node" xmi:id="_XL_pyTJrEeePYJD6fP7hdw" type="6002">
811 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_pyjJrEeePYJD6fP7hdw" x="-7" y="8"/>
812 </children>
813 <children xmi:type="notation:Node" xmi:id="_XL_pyzJrEeePYJD6fP7hdw" type="6003">
814 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_pzDJrEeePYJD6fP7hdw" y="-7"/>
815 </children>
816 <styles xmi:type="notation:ConnectorStyle" xmi:id="_XL_pzTJrEeePYJD6fP7hdw" routing="Tree"/>
817 <styles xmi:type="notation:FontStyle" xmi:id="_XL_pzjJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8"/>
818 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XL_pzzJrEeePYJD6fP7hdw" points="[0, 0, -81, 29]$[0, -10, -81, 19]$[71, -10, -10, 19]$[71, -26, -10, 3]"/>
819 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_p0DJrEeePYJD6fP7hdw" id="(0.24358974358974358,0.0)"/>
820 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_p0TJrEeePYJD6fP7hdw" id="(0.35833333333333334,0.926829268292683)"/>
821 </edges>
822 <edges xmi:type="notation:Edge" xmi:id="_XL_p0jJrEeePYJD6fP7hdw" type="4001" element="_XL_qKjJrEeePYJD6fP7hdw" source="_XL_C0jJrEeePYJD6fP7hdw" target="_XL_CoTJrEeePYJD6fP7hdw">
823 <children xmi:type="notation:Node" xmi:id="_XL_p0zJrEeePYJD6fP7hdw" type="6001">
824 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_p1DJrEeePYJD6fP7hdw" x="7" y="-13"/>
825 </children>
826 <children xmi:type="notation:Node" xmi:id="_XL_p1TJrEeePYJD6fP7hdw" type="6002">
827 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_p1jJrEeePYJD6fP7hdw" x="6" y="2"/>
828 </children>
829 <children xmi:type="notation:Node" xmi:id="_XL_p1zJrEeePYJD6fP7hdw" type="6003">
830 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_p2DJrEeePYJD6fP7hdw" x="3" y="10"/>
831 </children>
832 <styles xmi:type="notation:ConnectorStyle" xmi:id="_XL_p2TJrEeePYJD6fP7hdw" routing="Tree"/>
833 <styles xmi:type="notation:FontStyle" xmi:id="_XL_p2jJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8"/>
834 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XL_p2zJrEeePYJD6fP7hdw" points="[0, 0, -15, -82]$[0, -5, -15, -87]$[36, -5, 21, -87]$[36, -26, 21, -108]"/>
835 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_p3DJrEeePYJD6fP7hdw" id="(0.42718446601941745,0.0)"/>
836 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_p3TJrEeePYJD6fP7hdw" id="(0.32954545454545453,3.769230769230769)"/>
837 </edges>
838 <edges xmi:type="notation:Edge" xmi:id="_XL_p3jJrEeePYJD6fP7hdw" type="4001" element="_XL_qLjJrEeePYJD6fP7hdw" source="_XL_CoTJrEeePYJD6fP7hdw" target="_XL_CrzJrEeePYJD6fP7hdw">
839 <children xmi:type="notation:Node" xmi:id="_XL_p3zJrEeePYJD6fP7hdw" type="6001">
840 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_p4DJrEeePYJD6fP7hdw" x="19" y="10"/>
841 </children>
842 <children xmi:type="notation:Node" xmi:id="_XL_p4TJrEeePYJD6fP7hdw" type="6002">
843 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_p4jJrEeePYJD6fP7hdw" x="-22" y="-14"/>
844 </children>
845 <children xmi:type="notation:Node" xmi:id="_XL_p4zJrEeePYJD6fP7hdw" type="6003">
846 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_p5DJrEeePYJD6fP7hdw" x="20" y="-14"/>
847 </children>
848 <styles xmi:type="notation:ConnectorStyle" xmi:id="_XL_p5TJrEeePYJD6fP7hdw" routing="Rectilinear" lineColor="0"/>
849 <styles xmi:type="notation:FontStyle" xmi:id="_XL_p5jJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8"/>
850 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XL_p5zJrEeePYJD6fP7hdw" points="[-29, 30, 146, -117]$[-116, 30, 59, -117]"/>
851 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_p6DJrEeePYJD6fP7hdw" id="(0.32954545454545453,0.0)"/>
852 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_p6TJrEeePYJD6fP7hdw" id="(0.32954545454545453,3.769230769230769)"/>
853 </edges>
854 <edges xmi:type="notation:Edge" xmi:id="_XL_p6jJrEeePYJD6fP7hdw" type="4001" element="_XL_qMjJrEeePYJD6fP7hdw" source="_XL_CoTJrEeePYJD6fP7hdw" target="_XL_CrzJrEeePYJD6fP7hdw">
855 <children xmi:type="notation:Node" xmi:id="_XL_p6zJrEeePYJD6fP7hdw" type="6001">
856 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_p7DJrEeePYJD6fP7hdw" x="19" y="10"/>
857 </children>
858 <children xmi:type="notation:Node" xmi:id="_XL_p7TJrEeePYJD6fP7hdw" type="6002">
859 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_p7jJrEeePYJD6fP7hdw" x="-23" y="19"/>
860 </children>
861 <children xmi:type="notation:Node" xmi:id="_XL_p7zJrEeePYJD6fP7hdw" type="6003">
862 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XL_p8DJrEeePYJD6fP7hdw" x="20" y="19"/>
863 </children>
864 <styles xmi:type="notation:ConnectorStyle" xmi:id="_XL_p8TJrEeePYJD6fP7hdw" routing="Rectilinear" lineColor="0"/>
865 <styles xmi:type="notation:FontStyle" xmi:id="_XL_p8jJrEeePYJD6fP7hdw" fontName="Segoe UI" fontHeight="8"/>
866 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XL_p8zJrEeePYJD6fP7hdw" points="[-29, 10, 146, -137]$[-116, 10, 59, -137]"/>
867 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_p9DJrEeePYJD6fP7hdw" id="(0.32954545454545453,0.0)"/>
868 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XL_p9TJrEeePYJD6fP7hdw" id="(0.32954545454545453,3.769230769230769)"/>
869 </edges>
870 </data>
871 </ownedAnnotationEntries>
872 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_XL_p9jJrEeePYJD6fP7hdw" name="Pseudostate" tooltipText="" outgoingEdges="_XL_qEjJrEeePYJD6fP7hdw" incomingEdges="_XL_qGjJrEeePYJD6fP7hdw _XL_qHjJrEeePYJD6fP7hdw" width="12" height="10">
873 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Pseudostate"/>
874 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Pseudostate"/>
875 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
876 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
877 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
878 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_XL_p9zJrEeePYJD6fP7hdw" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
879 <labelFormat>italic</labelFormat>
880 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
881 </ownedStyle>
882 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
883 </ownedDiagramElements>
884 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_XL_p-DJrEeePYJD6fP7hdw" name="Vertex" tooltipText="" outgoingEdges="_XL_qLjJrEeePYJD6fP7hdw _XL_qMjJrEeePYJD6fP7hdw" incomingEdges="_XL_qCjJrEeePYJD6fP7hdw _XL_qEjJrEeePYJD6fP7hdw _XL_qKjJrEeePYJD6fP7hdw" width="12" height="10">
885 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Vertex"/>
886 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Vertex"/>
887 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
888 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
889 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
890 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_XL_p-TJrEeePYJD6fP7hdw" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="255,255,255">
891 <customFeatures>labelFormat</customFeatures>
892 <customFeatures>backgroundColor</customFeatures>
893 <customFeatures>foregroundColor</customFeatures>
894 <labelFormat>italic</labelFormat>
895 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
896 </ownedStyle>
897 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
898 </ownedDiagramElements>
899 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_XL_p-jJrEeePYJD6fP7hdw" name="Region" tooltipText="" outgoingEdges="_XL_qCjJrEeePYJD6fP7hdw" incomingEdges="_XL_qDjJrEeePYJD6fP7hdw" width="12" height="10">
900 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Region"/>
901 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Region"/>
902 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
903 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
904 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
905 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_XL_p-zJrEeePYJD6fP7hdw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,255,255">
906 <customFeatures>backgroundColor</customFeatures>
907 <customFeatures>foregroundColor</customFeatures>
908 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
909 </ownedStyle>
910 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
911 </ownedDiagramElements>
912 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_XL_p_DJrEeePYJD6fP7hdw" name="Transition" tooltipText="" incomingEdges="_XL_qLjJrEeePYJD6fP7hdw _XL_qMjJrEeePYJD6fP7hdw" width="12" height="10">
913 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Transition"/>
914 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Transition"/>
915 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
916 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
917 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
918 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_XL_p_TJrEeePYJD6fP7hdw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,255,255">
919 <customFeatures>labelFormat</customFeatures>
920 <customFeatures>backgroundColor</customFeatures>
921 <customFeatures>foregroundColor</customFeatures>
922 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
923 </ownedStyle>
924 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
925 </ownedDiagramElements>
926 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_XL_p_jJrEeePYJD6fP7hdw" name="Statechart" tooltipText="" outgoingEdges="_XL_qFjJrEeePYJD6fP7hdw" width="12" height="10">
927 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Statechart"/>
928 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Statechart"/>
929 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
930 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
931 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
932 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_XL_p_zJrEeePYJD6fP7hdw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,255,255">
933 <customFeatures>backgroundColor</customFeatures>
934 <customFeatures>foregroundColor</customFeatures>
935 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
936 </ownedStyle>
937 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
938 </ownedDiagramElements>
939 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_XL_qADJrEeePYJD6fP7hdw" name="Entry" tooltipText="" outgoingEdges="_XL_qGjJrEeePYJD6fP7hdw" width="12" height="10">
940 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Entry"/>
941 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Entry"/>
942 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
943 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
944 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
945 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_XL_qATJrEeePYJD6fP7hdw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,255,255">
946 <customFeatures>backgroundColor</customFeatures>
947 <customFeatures>foregroundColor</customFeatures>
948 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
949 </ownedStyle>
950 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
951 </ownedDiagramElements>
952 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_XL_qAjJrEeePYJD6fP7hdw" name="Synchronization" tooltipText="" outgoingEdges="_XL_qHjJrEeePYJD6fP7hdw" width="12" height="10">
953 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Synchronization"/>
954 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Synchronization"/>
955 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
956 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
957 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
958 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_XL_qAzJrEeePYJD6fP7hdw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,255,255">
959 <customFeatures>labelFormat</customFeatures>
960 <customFeatures>backgroundColor</customFeatures>
961 <customFeatures>foregroundColor</customFeatures>
962 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
963 </ownedStyle>
964 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
965 </ownedDiagramElements>
966 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_XL_qBDJrEeePYJD6fP7hdw" name="State" tooltipText="" outgoingEdges="_XL_qIjJrEeePYJD6fP7hdw _XL_qJjJrEeePYJD6fP7hdw" width="12" height="10">
967 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//State"/>
968 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//State"/>
969 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
970 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
971 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
972 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_XL_qBTJrEeePYJD6fP7hdw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,255,255">
973 <customFeatures>backgroundColor</customFeatures>
974 <customFeatures>foregroundColor</customFeatures>
975 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
976 </ownedStyle>
977 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
978 </ownedDiagramElements>
979 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_XL_qBjJrEeePYJD6fP7hdw" name="RegularState" tooltipText="" outgoingEdges="_XL_qKjJrEeePYJD6fP7hdw" incomingEdges="_XL_qIjJrEeePYJD6fP7hdw" width="12" height="10">
980 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//RegularState"/>
981 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//RegularState"/>
982 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
983 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
984 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
985 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_XL_qBzJrEeePYJD6fP7hdw" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
986 <labelFormat>italic</labelFormat>
987 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
988 </ownedStyle>
989 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
990 </ownedDiagramElements>
991 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_XL_qCDJrEeePYJD6fP7hdw" name="CompositeElement" tooltipText="" outgoingEdges="_XL_qDjJrEeePYJD6fP7hdw" incomingEdges="_XL_qFjJrEeePYJD6fP7hdw _XL_qJjJrEeePYJD6fP7hdw" width="12" height="10">
992 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//CompositeElement"/>
993 <semanticElements xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//CompositeElement"/>
994 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
995 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
996 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
997 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_XL_qCTJrEeePYJD6fP7hdw" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
998 <labelFormat>italic</labelFormat>
999 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
1000 </ownedStyle>
1001 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1002 </ownedDiagramElements>
1003 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_XL_qCjJrEeePYJD6fP7hdw" name="[0..*] vertices" sourceNode="_XL_p-jJrEeePYJD6fP7hdw" targetNode="_XL_p-DJrEeePYJD6fP7hdw">
1004 <target xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//Region/vertices"/>
1005 <semanticElements xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//Region/vertices"/>
1006 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XL_qCzJrEeePYJD6fP7hdw" description="_XL_CkjJrEeePYJD6fP7hdw" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1007 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_XL_qDDJrEeePYJD6fP7hdw" showIcon="false">
1008 <customFeatures>labelSize</customFeatures>
1009 </centerLabelStyle>
1010 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_XL_qDTJrEeePYJD6fP7hdw" showIcon="false" labelColor="39,76,114">
1011 <customFeatures>labelSize</customFeatures>
1012 </endLabelStyle>
1013 </ownedStyle>
1014 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1015 </ownedDiagramElements>
1016 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_XL_qDjJrEeePYJD6fP7hdw" name="[0..*] regions" sourceNode="_XL_qCDJrEeePYJD6fP7hdw" targetNode="_XL_p-jJrEeePYJD6fP7hdw">
1017 <target xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//CompositeElement/regions"/>
1018 <semanticElements xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//CompositeElement/regions"/>
1019 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XL_qDzJrEeePYJD6fP7hdw" description="_XL_CkjJrEeePYJD6fP7hdw" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1020 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_XL_qEDJrEeePYJD6fP7hdw" showIcon="false">
1021 <customFeatures>labelSize</customFeatures>
1022 </centerLabelStyle>
1023 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_XL_qETJrEeePYJD6fP7hdw" showIcon="false" labelColor="39,76,114">
1024 <customFeatures>labelSize</customFeatures>
1025 </endLabelStyle>
1026 </ownedStyle>
1027 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1028 </ownedDiagramElements>
1029 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_XL_qEjJrEeePYJD6fP7hdw" sourceNode="_XL_p9jJrEeePYJD6fP7hdw" targetNode="_XL_p-DJrEeePYJD6fP7hdw">
1030 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Pseudostate"/>
1031 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//Pseudostate/@eGenericSuperTypes.0"/>
1032 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XL_qEzJrEeePYJD6fP7hdw" targetArrow="InputClosedArrow" routingStyle="tree">
1033 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1034 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XL_qFDJrEeePYJD6fP7hdw" showIcon="false">
1035 <labelFormat>italic</labelFormat>
1036 </beginLabelStyle>
1037 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_XL_qFTJrEeePYJD6fP7hdw" showIcon="false"/>
1038 </ownedStyle>
1039 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1040 </ownedDiagramElements>
1041 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_XL_qFjJrEeePYJD6fP7hdw" sourceNode="_XL_p_jJrEeePYJD6fP7hdw" targetNode="_XL_qCDJrEeePYJD6fP7hdw">
1042 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Statechart"/>
1043 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//Statechart/@eGenericSuperTypes.0"/>
1044 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XL_qFzJrEeePYJD6fP7hdw" targetArrow="InputClosedArrow" routingStyle="tree">
1045 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1046 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XL_qGDJrEeePYJD6fP7hdw" showIcon="false">
1047 <labelFormat>italic</labelFormat>
1048 </beginLabelStyle>
1049 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_XL_qGTJrEeePYJD6fP7hdw" showIcon="false"/>
1050 </ownedStyle>
1051 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1052 </ownedDiagramElements>
1053 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_XL_qGjJrEeePYJD6fP7hdw" sourceNode="_XL_qADJrEeePYJD6fP7hdw" targetNode="_XL_p9jJrEeePYJD6fP7hdw">
1054 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Entry"/>
1055 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//Entry/@eGenericSuperTypes.0"/>
1056 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XL_qGzJrEeePYJD6fP7hdw" targetArrow="InputClosedArrow" routingStyle="tree">
1057 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1058 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XL_qHDJrEeePYJD6fP7hdw" showIcon="false">
1059 <labelFormat>italic</labelFormat>
1060 </beginLabelStyle>
1061 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_XL_qHTJrEeePYJD6fP7hdw" showIcon="false"/>
1062 </ownedStyle>
1063 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1064 </ownedDiagramElements>
1065 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_XL_qHjJrEeePYJD6fP7hdw" sourceNode="_XL_qAjJrEeePYJD6fP7hdw" targetNode="_XL_p9jJrEeePYJD6fP7hdw">
1066 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//Synchronization"/>
1067 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//Synchronization/@eGenericSuperTypes.0"/>
1068 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XL_qHzJrEeePYJD6fP7hdw" targetArrow="InputClosedArrow" routingStyle="tree">
1069 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1070 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XL_qIDJrEeePYJD6fP7hdw" showIcon="false">
1071 <labelFormat>italic</labelFormat>
1072 </beginLabelStyle>
1073 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_XL_qITJrEeePYJD6fP7hdw" showIcon="false"/>
1074 </ownedStyle>
1075 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1076 </ownedDiagramElements>
1077 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_XL_qIjJrEeePYJD6fP7hdw" sourceNode="_XL_qBDJrEeePYJD6fP7hdw" targetNode="_XL_qBjJrEeePYJD6fP7hdw">
1078 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//State"/>
1079 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//State/@eGenericSuperTypes.0"/>
1080 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//State/@eGenericSuperTypes.1"/>
1081 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XL_qIzJrEeePYJD6fP7hdw" targetArrow="InputClosedArrow" routingStyle="tree">
1082 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1083 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XL_qJDJrEeePYJD6fP7hdw" showIcon="false">
1084 <labelFormat>italic</labelFormat>
1085 </beginLabelStyle>
1086 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_XL_qJTJrEeePYJD6fP7hdw" showIcon="false"/>
1087 </ownedStyle>
1088 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1089 </ownedDiagramElements>
1090 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_XL_qJjJrEeePYJD6fP7hdw" sourceNode="_XL_qBDJrEeePYJD6fP7hdw" targetNode="_XL_qCDJrEeePYJD6fP7hdw">
1091 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//State"/>
1092 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//State/@eGenericSuperTypes.0"/>
1093 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//State/@eGenericSuperTypes.1"/>
1094 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XL_qJzJrEeePYJD6fP7hdw" targetArrow="InputClosedArrow" routingStyle="tree">
1095 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1096 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XL_qKDJrEeePYJD6fP7hdw" showIcon="false">
1097 <labelFormat>italic</labelFormat>
1098 </beginLabelStyle>
1099 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_XL_qKTJrEeePYJD6fP7hdw" showIcon="false"/>
1100 </ownedStyle>
1101 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1102 </ownedDiagramElements>
1103 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_XL_qKjJrEeePYJD6fP7hdw" sourceNode="_XL_qBjJrEeePYJD6fP7hdw" targetNode="_XL_p-DJrEeePYJD6fP7hdw">
1104 <target xmi:type="ecore:EClass" href="yakindu_simplified.ecore#//RegularState"/>
1105 <semanticElements xmi:type="ecore:EGenericType" href="yakindu_simplified.ecore#//RegularState/@eGenericSuperTypes.0"/>
1106 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XL_qKzJrEeePYJD6fP7hdw" targetArrow="InputClosedArrow" routingStyle="tree">
1107 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1108 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XL_qLDJrEeePYJD6fP7hdw" showIcon="false">
1109 <labelFormat>italic</labelFormat>
1110 </beginLabelStyle>
1111 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_XL_qLTJrEeePYJD6fP7hdw" showIcon="false"/>
1112 </ownedStyle>
1113 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1114 </ownedDiagramElements>
1115 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_XL_qLjJrEeePYJD6fP7hdw" sourceNode="_XL_p-DJrEeePYJD6fP7hdw" targetNode="_XL_p_DJrEeePYJD6fP7hdw" beginLabel="[1..1] target" endLabel="[0..*] incomingTransitions">
1116 <target xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//Vertex/incomingTransitions"/>
1117 <semanticElements xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//Vertex/incomingTransitions"/>
1118 <semanticElements xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//Transition/target"/>
1119 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XL_qLzJrEeePYJD6fP7hdw" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0">
1120 <customFeatures>strokeColor</customFeatures>
1121 <customFeatures>size</customFeatures>
1122 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style"/>
1123 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XL_qMDJrEeePYJD6fP7hdw" showIcon="false">
1124 <customFeatures>labelFormat</customFeatures>
1125 </beginLabelStyle>
1126 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_XL_qMTJrEeePYJD6fP7hdw" showIcon="false">
1127 <customFeatures>labelFormat</customFeatures>
1128 </endLabelStyle>
1129 </ownedStyle>
1130 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
1131 </ownedDiagramElements>
1132 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_XL_qMjJrEeePYJD6fP7hdw" sourceNode="_XL_p-DJrEeePYJD6fP7hdw" targetNode="_XL_p_DJrEeePYJD6fP7hdw" beginLabel="[0..1] source" endLabel="[0..*] outgoingTransitions">
1133 <target xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//Vertex/outgoingTransitions"/>
1134 <semanticElements xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//Vertex/outgoingTransitions"/>
1135 <semanticElements xmi:type="ecore:EReference" href="yakindu_simplified.ecore#//Transition/source"/>
1136 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XL_qMzJrEeePYJD6fP7hdw" description="_XL_ClTJrEeePYJD6fP7hdw" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1137 <customFeatures>strokeColor</customFeatures>
1138 <customFeatures>size</customFeatures>
1139 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XL_qNDJrEeePYJD6fP7hdw" showIcon="false">
1140 <customFeatures>labelFormat</customFeatures>
1141 </beginLabelStyle>
1142 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_XL_qNTJrEeePYJD6fP7hdw" showIcon="false">
1143 <customFeatures>labelFormat</customFeatures>
1144 </endLabelStyle>
1145 </ownedStyle>
1146 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
1147 </ownedDiagramElements>
1148 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
1149 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_XL_qNjJrEeePYJD6fP7hdw"/>
1150 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
1151 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
1152 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
1153 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
1154 <target xmi:type="ecore:EPackage" href="yakindu_simplified.ecore#/"/>
1155 </ownedRepresentations>
1156 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
1157 </ownedViews>
1158 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_4DCFoG6uEeaxlsDSOll0vg">
1159 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
1160 </ownedViews>
1161 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_4DHlMG6uEeaxlsDSOll0vg">
1162 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
1163 </ownedViews>
1164 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_4DO58G6uEeaxlsDSOll0vg">
1165 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
1166 </ownedViews>
1167</viewpoint:DAnalysis>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.ecore b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.ecore
new file mode 100644
index 00000000..109ec1a7
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.ecore
@@ -0,0 +1,30 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="yakindumm" nsURI="hu.bme.mit.inf.yakindumm" nsPrefix="hu.bme.mit.inf.yakindumm">
4 <eClassifiers xsi:type="ecore:EClass" name="Pseudostate" abstract="true" eSuperTypes="#//Vertex"/>
5 <eClassifiers xsi:type="ecore:EClass" name="Vertex" abstract="true">
6 <eStructuralFeatures xsi:type="ecore:EReference" name="incomingTransitions" ordered="false"
7 upperBound="-1" eType="#//Transition" eOpposite="#//Transition/target"/>
8 <eStructuralFeatures xsi:type="ecore:EReference" name="outgoingTransitions" ordered="false"
9 upperBound="-1" eType="#//Transition" containment="true" eOpposite="#//Transition/source"/>
10 </eClassifiers>
11 <eClassifiers xsi:type="ecore:EClass" name="Region">
12 <eStructuralFeatures xsi:type="ecore:EReference" name="vertices" ordered="false"
13 upperBound="-1" eType="#//Vertex" containment="true"/>
14 </eClassifiers>
15 <eClassifiers xsi:type="ecore:EClass" name="Transition">
16 <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
17 lowerBound="1" eType="#//Vertex" eOpposite="#//Vertex/incomingTransitions"/>
18 <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
19 eType="#//Vertex" eOpposite="#//Vertex/outgoingTransitions"/>
20 </eClassifiers>
21 <eClassifiers xsi:type="ecore:EClass" name="Statechart" eSuperTypes="#//CompositeElement"/>
22 <eClassifiers xsi:type="ecore:EClass" name="Entry" eSuperTypes="#//Pseudostate"/>
23 <eClassifiers xsi:type="ecore:EClass" name="Synchronization" eSuperTypes="#//Pseudostate"/>
24 <eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//RegularState #//CompositeElement"/>
25 <eClassifiers xsi:type="ecore:EClass" name="RegularState" abstract="true" eSuperTypes="#//Vertex"/>
26 <eClassifiers xsi:type="ecore:EClass" name="CompositeElement" abstract="true">
27 <eStructuralFeatures xsi:type="ecore:EReference" name="regions" upperBound="-1"
28 eType="#//Region" containment="true"/>
29 </eClassifiers>
30</ecore:EPackage>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.genmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.genmodel
new file mode 100644
index 00000000..e894efb8
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.genmodel
@@ -0,0 +1,31 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3 xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen"
4 modelPluginID="hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph" modelName="Yakindu_simplified"
5 rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" importerID="org.eclipse.emf.importer.ecore"
6 complianceLevel="8.0" copyrightFields="false" operationReflection="true" importOrganizing="true">
7 <foreignModel>yakindu_simplified.ecore</foreignModel>
8 <genPackages prefix="Yakindumm" basePackage="hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph"
9 disposableProviderFactory="true" ecorePackage="yakindu_simplified.ecore#/">
10 <genClasses image="false" ecoreClass="yakindu_simplified.ecore#//Pseudostate"/>
11 <genClasses image="false" ecoreClass="yakindu_simplified.ecore#//Vertex">
12 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference yakindu_simplified.ecore#//Vertex/incomingTransitions"/>
13 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference yakindu_simplified.ecore#//Vertex/outgoingTransitions"/>
14 </genClasses>
15 <genClasses ecoreClass="yakindu_simplified.ecore#//Region">
16 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference yakindu_simplified.ecore#//Region/vertices"/>
17 </genClasses>
18 <genClasses ecoreClass="yakindu_simplified.ecore#//Transition">
19 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference yakindu_simplified.ecore#//Transition/target"/>
20 <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference yakindu_simplified.ecore#//Transition/source"/>
21 </genClasses>
22 <genClasses ecoreClass="yakindu_simplified.ecore#//Statechart"/>
23 <genClasses ecoreClass="yakindu_simplified.ecore#//Entry"/>
24 <genClasses ecoreClass="yakindu_simplified.ecore#//Synchronization"/>
25 <genClasses ecoreClass="yakindu_simplified.ecore#//State"/>
26 <genClasses image="false" ecoreClass="yakindu_simplified.ecore#//RegularState"/>
27 <genClasses image="false" ecoreClass="yakindu_simplified.ecore#//CompositeElement">
28 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference yakindu_simplified.ecore#//CompositeElement/regions"/>
29 </genClasses>
30 </genPackages>
31</genmodel:GenModel>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindumm class diagram.pdf b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindumm class diagram.pdf
new file mode 100644
index 00000000..f271de98
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindumm class diagram.pdf
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindumm class diagram.svg b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindumm class diagram.svg
new file mode 100644
index 00000000..ec1eec69
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindumm class diagram.svg
@@ -0,0 +1,350 @@
1<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-dasharray="none" shape-rendering="auto" font-family="'Dialog'" width="668" text-rendering="auto" fill-opacity="1" contentScriptType="text/ecmascript" color-interpolation="auto" color-rendering="auto" preserveAspectRatio="xMidYMid meet" font-size="12" viewBox="0 0 668 209" fill="black" stroke="black" image-rendering="auto" stroke-miterlimit="10" zoomAndPan="magnify" version="1.0" stroke-linecap="square" stroke-linejoin="miter" contentStyleType="text/css" font-style="normal" height="209" stroke-width="1" stroke-dashoffset="0" font-weight="normal" stroke-opacity="1">
2<!--Generated by the Batik Graphics2D SVG Generator-->
3<defs id="genericDefs"/>
4<g>
5<defs id="defs1">
6<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
7<path d="M99 92 L221 92 L221 135 L99 135 L99 92 Z"/>
8</clipPath>
9<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
10<path d="M99 92 L219 92 L219 133 L99 133 L99 92 Z"/>
11</clipPath>
12<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
13<path d="M120 97 L197 97 L197 115 L120 115 L120 97 Z"/>
14</clipPath>
15<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
16<path d="M120 97 L199 97 L199 115 L120 115 L120 97 Z"/>
17</clipPath>
18<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
19<path d="M100 118 L218 118 L218 132 L100 132 L100 118 Z"/>
20</clipPath>
21<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
22<path d="M344 27 L466 27 L466 70 L344 70 L344 27 Z"/>
23</clipPath>
24<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
25<path d="M344 27 L464 27 L464 68 L344 68 L344 27 Z"/>
26</clipPath>
27<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
28<path d="M378 32 L429 32 L429 50 L378 50 L378 32 Z"/>
29</clipPath>
30<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
31<path d="M378 32 L431 32 L431 50 L378 50 L378 32 Z"/>
32</clipPath>
33<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
34<path d="M345 53 L463 53 L463 67 L345 67 L345 53 Z"/>
35</clipPath>
36<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
37<path d="M537 27 L659 27 L659 70 L537 70 L537 27 Z"/>
38</clipPath>
39<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
40<path d="M537 27 L657 27 L657 68 L537 68 L537 27 Z"/>
41</clipPath>
42<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
43<path d="M568 32 L626 32 L626 50 L568 50 L568 32 Z"/>
44</clipPath>
45<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
46<path d="M568 32 L629 32 L629 50 L568 50 L568 32 Z"/>
47</clipPath>
48<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
49<path d="M538 53 L656 53 L656 67 L538 67 L538 53 Z"/>
50</clipPath>
51<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
52<path d="M9 27 L131 27 L131 70 L9 70 L9 27 Z"/>
53</clipPath>
54<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
55<path d="M9 27 L129 27 L129 68 L9 68 L9 27 Z"/>
56</clipPath>
57<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
58<path d="M33 32 L104 32 L104 50 L33 50 L33 32 Z"/>
59</clipPath>
60<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
61<path d="M33 32 L106 32 L106 50 L33 50 L33 32 Z"/>
62</clipPath>
63<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
64<path d="M10 53 L128 53 L128 67 L10 67 L10 53 Z"/>
65</clipPath>
66<clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
67<path d="M537 157 L659 157 L659 200 L537 200 L537 157 Z"/>
68</clipPath>
69<clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
70<path d="M537 157 L657 157 L657 198 L537 198 L537 157 Z"/>
71</clipPath>
72<clipPath clipPathUnits="userSpaceOnUse" id="clipPath23">
73<path d="M560 162 L633 162 L633 180 L560 180 L560 162 Z"/>
74</clipPath>
75<clipPath clipPathUnits="userSpaceOnUse" id="clipPath24">
76<path d="M560 162 L635 162 L635 180 L560 180 L560 162 Z"/>
77</clipPath>
78<clipPath clipPathUnits="userSpaceOnUse" id="clipPath25">
79<path d="M538 183 L656 183 L656 197 L538 197 L538 183 Z"/>
80</clipPath>
81<clipPath clipPathUnits="userSpaceOnUse" id="clipPath26">
82<path d="M14 157 L136 157 L136 200 L14 200 L14 157 Z"/>
83</clipPath>
84<clipPath clipPathUnits="userSpaceOnUse" id="clipPath27">
85<path d="M14 157 L134 157 L134 198 L14 198 L14 157 Z"/>
86</clipPath>
87<clipPath clipPathUnits="userSpaceOnUse" id="clipPath28">
88<path d="M50 162 L97 162 L97 180 L50 180 L50 162 Z"/>
89</clipPath>
90<clipPath clipPathUnits="userSpaceOnUse" id="clipPath29">
91<path d="M50 162 L99 162 L99 180 L50 180 L50 162 Z"/>
92</clipPath>
93<clipPath clipPathUnits="userSpaceOnUse" id="clipPath30">
94<path d="M15 183 L133 183 L133 197 L15 197 L15 183 Z"/>
95</clipPath>
96<clipPath clipPathUnits="userSpaceOnUse" id="clipPath31">
97<path d="M184 157 L306 157 L306 200 L184 200 L184 157 Z"/>
98</clipPath>
99<clipPath clipPathUnits="userSpaceOnUse" id="clipPath32">
100<path d="M184 157 L304 157 L304 198 L184 198 L184 157 Z"/>
101</clipPath>
102<clipPath clipPathUnits="userSpaceOnUse" id="clipPath33">
103<path d="M192 162 L296 162 L296 180 L192 180 L192 162 Z"/>
104</clipPath>
105<clipPath clipPathUnits="userSpaceOnUse" id="clipPath34">
106<path d="M192 162 L298 162 L298 180 L192 180 L192 162 Z"/>
107</clipPath>
108<clipPath clipPathUnits="userSpaceOnUse" id="clipPath35">
109<path d="M185 183 L303 183 L303 197 L185 197 L185 183 Z"/>
110</clipPath>
111<clipPath clipPathUnits="userSpaceOnUse" id="clipPath36">
112<path d="M354 157 L476 157 L476 200 L354 200 L354 157 Z"/>
113</clipPath>
114<clipPath clipPathUnits="userSpaceOnUse" id="clipPath37">
115<path d="M354 157 L474 157 L474 198 L354 198 L354 157 Z"/>
116</clipPath>
117<clipPath clipPathUnits="userSpaceOnUse" id="clipPath38">
118<path d="M390 162 L437 162 L437 180 L390 180 L390 162 Z"/>
119</clipPath>
120<clipPath clipPathUnits="userSpaceOnUse" id="clipPath39">
121<path d="M390 162 L439 162 L439 180 L390 180 L390 162 Z"/>
122</clipPath>
123<clipPath clipPathUnits="userSpaceOnUse" id="clipPath40">
124<path d="M355 183 L473 183 L473 197 L355 197 L355 183 Z"/>
125</clipPath>
126<clipPath clipPathUnits="userSpaceOnUse" id="clipPath41">
127<path d="M354 92 L476 92 L476 135 L354 135 L354 92 Z"/>
128</clipPath>
129<clipPath clipPathUnits="userSpaceOnUse" id="clipPath42">
130<path d="M354 92 L474 92 L474 133 L354 133 L354 92 Z"/>
131</clipPath>
132<clipPath clipPathUnits="userSpaceOnUse" id="clipPath43">
133<path d="M373 97 L454 97 L454 115 L373 115 L373 97 Z"/>
134</clipPath>
135<clipPath clipPathUnits="userSpaceOnUse" id="clipPath44">
136<path d="M373 97 L456 97 L456 115 L373 115 L373 97 Z"/>
137</clipPath>
138<clipPath clipPathUnits="userSpaceOnUse" id="clipPath45">
139<path d="M355 118 L473 118 L473 132 L355 132 L355 118 Z"/>
140</clipPath>
141<clipPath clipPathUnits="userSpaceOnUse" id="clipPath46">
142<path d="M537 92 L659 92 L659 135 L537 135 L537 92 Z"/>
143</clipPath>
144<clipPath clipPathUnits="userSpaceOnUse" id="clipPath47">
145<path d="M537 92 L657 92 L657 133 L537 133 L537 92 Z"/>
146</clipPath>
147<clipPath clipPathUnits="userSpaceOnUse" id="clipPath48">
148<path d="M543 97 L651 97 L651 115 L543 115 L543 97 Z"/>
149</clipPath>
150<clipPath clipPathUnits="userSpaceOnUse" id="clipPath49">
151<path d="M543 97 L653 97 L653 115 L543 115 L543 97 Z"/>
152</clipPath>
153<clipPath clipPathUnits="userSpaceOnUse" id="clipPath50">
154<path d="M538 118 L656 118 L656 132 L538 132 L538 118 Z"/>
155</clipPath>
156<clipPath clipPathUnits="userSpaceOnUse" id="clipPath51">
157<path d="M-1 -1 L669 -1 L669 210 L-1 210 L-1 -1 Z"/>
158</clipPath>
159<clipPath clipPathUnits="userSpaceOnUse" id="clipPath52">
160<path d="M469 27 L537 27 L537 42 L469 42 L469 27 Z"/>
161</clipPath>
162<clipPath clipPathUnits="userSpaceOnUse" id="clipPath53">
163<path d="M525 43 L540 43 L540 52 L525 52 L525 43 Z"/>
164</clipPath>
165<clipPath clipPathUnits="userSpaceOnUse" id="clipPath54">
166<path d="M462 43 L472 43 L472 52 L462 52 L462 43 Z"/>
167</clipPath>
168<clipPath clipPathUnits="userSpaceOnUse" id="clipPath55">
169<path d="M563 72 L632 72 L632 87 L563 87 L563 72 Z"/>
170</clipPath>
171<clipPath clipPathUnits="userSpaceOnUse" id="clipPath56">
172<path d="M556 80 L565 80 L565 95 L556 95 L556 80 Z"/>
173</clipPath>
174<clipPath clipPathUnits="userSpaceOnUse" id="clipPath57">
175<path d="M556 66 L565 66 L565 76 L556 76 L556 66 Z"/>
176</clipPath>
177<clipPath clipPathUnits="userSpaceOnUse" id="clipPath58">
178<path d="M400 66 L411 66 L411 77 L400 77 L400 66 Z"/>
179</clipPath>
180<clipPath clipPathUnits="userSpaceOnUse" id="clipPath59">
181<path d="M565 131 L576 131 L576 142 L565 142 L565 131 Z"/>
182</clipPath>
183<clipPath clipPathUnits="userSpaceOnUse" id="clipPath60">
184<path d="M155 131 L166 131 L166 142 L155 142 L155 131 Z"/>
185</clipPath>
186<clipPath clipPathUnits="userSpaceOnUse" id="clipPath61">
187<path d="M387 131 L398 131 L398 142 L387 142 L387 131 Z"/>
188</clipPath>
189<clipPath clipPathUnits="userSpaceOnUse" id="clipPath62">
190<path d="M284 62 L346 62 L346 77 L284 77 L284 62 Z"/>
191</clipPath>
192<clipPath clipPathUnits="userSpaceOnUse" id="clipPath63">
193<path d="M129 62 L262 62 L262 77 L129 77 L129 62 Z"/>
194</clipPath>
195<clipPath clipPathUnits="userSpaceOnUse" id="clipPath64">
196<path d="M337 54 L347 54 L347 63 L337 63 L337 54 Z"/>
197</clipPath>
198<clipPath clipPathUnits="userSpaceOnUse" id="clipPath65">
199<path d="M127 54 L137 54 L137 63 L127 63 L127 54 Z"/>
200</clipPath>
201<clipPath clipPathUnits="userSpaceOnUse" id="clipPath66">
202<path d="M282 22 L347 22 L347 37 L282 37 L282 22 Z"/>
203</clipPath>
204<clipPath clipPathUnits="userSpaceOnUse" id="clipPath67">
205<path d="M129 22 L263 22 L263 37 L129 37 L129 22 Z"/>
206</clipPath>
207<clipPath clipPathUnits="userSpaceOnUse" id="clipPath68">
208<path d="M332 34 L347 34 L347 43 L332 43 L332 34 Z"/>
209</clipPath>
210<clipPath clipPathUnits="userSpaceOnUse" id="clipPath69">
211<path d="M127 34 L137 34 L137 43 L127 43 L127 34 Z"/>
212</clipPath>
213</defs>
214<g font-size="11" fill="rgb(131,122,133)" font-family="'Segoe UI'" stroke-linejoin="round" font-style="italic" stroke="rgb(131,122,133)" stroke-width="0" stroke-miterlimit="0">
215<rect x="101" y="94" clip-path="url(#clipPath1)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
216<rect x="102" y="95" clip-path="url(#clipPath1)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
217<rect x="100" y="93" clip-path="url(#clipPath2)" fill="white" width="118" rx="4" ry="4" height="39" stroke="none"/>
218</g>
219<g stroke-linecap="butt" font-size="11" fill="rgb(125,125,125)" font-family="'Segoe UI'" font-style="italic" stroke="rgb(125,125,125)" stroke-width="1.1">
220<rect x="100" y="93" clip-path="url(#clipPath2)" fill="none" width="117" rx="4" ry="4" height="38"/>
221<image x="121" y="98" clip-path="url(#clipPath3)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA2UlEQVR42mP8//8/&#13;&#10;AyWABUQwMjKimAI0lJFYAxgh6lFdATSQYW6NPk5NSc0XGFFcANMEtR1MR9cuwqp5&#13;&#10;aXMcpheQNRIC/9B8h9MF//+zMjDC1P6HeZaB4c9f7IEIDzhYgK5cMA2rC/78Z0I1&#13;&#10;AD3E+0pNGLJa5uL0wrSaEyh8JnQFv/8y4Q0DdHkWdAW//jKC/Q/xDmYYgOTxGvAb&#13;&#10;qKC7bzVEE7YwIGjAPyaGquIAnF5oLNxJIAz+EQiDfwTC4A+BMCDohb/AeC7OysTp&#13;&#10;AmYmAi6YNPsAIynZGQCn3VpKGCzVQQAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/>
222<text x="140" y="111" clip-path="url(#clipPath4)" fill="black" stroke="none" xml:space="preserve">Pseudostate</text>
223<line clip-path="url(#clipPath5)" fill="none" x1="101" x2="217" y1="119" y2="119"/>
224<rect x="346" y="29" clip-path="url(#clipPath6)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
225<rect x="347" y="30" clip-path="url(#clipPath6)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
226<rect x="345" y="28" clip-path="url(#clipPath7)" fill="white" width="118" rx="4" ry="4" height="39" stroke="none"/>
227<rect x="345" y="28" clip-path="url(#clipPath7)" fill="none" width="117" rx="4" ry="4" height="38"/>
228<image x="379" y="33" clip-path="url(#clipPath8)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA2UlEQVR42mP8//8/&#13;&#10;AyWABUQwMjKimAI0lJFYAxgh6lFdATSQYW6NPk5NSc0XGFFcANMEtR1MR9cuwqp5&#13;&#10;aXMcpheQNRIC/9B8h9MF//+zMjDC1P6HeZaB4c9f7IEIDzhYgK5cMA2rC/78Z0I1&#13;&#10;AD3E+0pNGLJa5uL0wrSaEyh8JnQFv/8y4Q0DdHkWdAW//jKC/Q/xDmYYgOTxGvAb&#13;&#10;qKC7bzVEE7YwIGjAPyaGquIAnF5oLNxJIAz+EQiDfwTC4A+BMCDohb/AeC7OysTp&#13;&#10;AmYmAi6YNPsAIynZGQCn3VpKGCzVQQAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/>
229<text x="398" y="46" clip-path="url(#clipPath9)" fill="black" stroke="none" xml:space="preserve">Vertex</text>
230<line clip-path="url(#clipPath10)" fill="none" x1="346" x2="462" y1="54" y2="54"/>
231<rect x="539" y="29" clip-path="url(#clipPath11)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
232<rect x="540" y="30" clip-path="url(#clipPath11)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
233<rect x="538" y="28" clip-path="url(#clipPath12)" fill="white" width="118" rx="4" ry="4" height="39" stroke="none"/>
234<rect x="538" y="28" clip-path="url(#clipPath12)" fill="none" width="117" rx="4" ry="4" height="38" stroke="black"/>
235<image stroke="black" width="16" xlink:show="embed" xlink:type="simple" fill="black" clip-path="url(#clipPath13)" preserveAspectRatio="none" height="16" font-style="normal" x="569" y="33" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAtElEQVR42mNgGGjA&#13;&#10;iC4wt0b/PyFNyS0X4fpYsCmIrl2EU/PS5jgUPhO6gn//GfHaji6P4YI/fxkY/v9n&#13;&#10;hfgPpvY/1LP/IfL4DfjPxLBqwTQGXAEBksdrwO9/TAzhiak4vTCt5gT+MPj9lwlv&#13;&#10;GKDLY7jg119GvGEAksfvBaCC7r7VDLgC4Q9BA4BhUFUcgNMLjYU7CYTBPwJh8I+J&#13;&#10;UDpgJJAOCHjhLzCei7MycbqAmYmJurkRAGS/RaNk4/qhAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
236<text x="588" y="46" clip-path="url(#clipPath14)" fill="black" font-style="normal" stroke="none" xml:space="preserve">Region</text>
237<line clip-path="url(#clipPath15)" fill="none" x1="539" x2="655" y1="54" y2="54" stroke="black"/>
238<rect x="11" y="29" clip-path="url(#clipPath16)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
239<rect x="12" y="30" clip-path="url(#clipPath16)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
240<rect x="10" y="28" clip-path="url(#clipPath17)" fill="white" width="118" rx="4" ry="4" height="39" stroke="none"/>
241<rect x="10" y="28" clip-path="url(#clipPath17)" fill="none" width="117" rx="4" ry="4" height="38" stroke="black"/>
242<image stroke="black" width="16" xlink:show="embed" xlink:type="simple" fill="black" clip-path="url(#clipPath18)" preserveAspectRatio="none" height="16" font-style="normal" x="34" y="33" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAtElEQVR42mNgGGjA&#13;&#10;iC4wt0b/PyFNyS0X4fpYsCmIrl2EU/PS5jgUPhO6gn//GfHaji6P4YI/fxkY/v9n&#13;&#10;hfgPpvY/1LP/IfL4DfjPxLBqwTQGXAEBksdrwO9/TAzhiak4vTCt5gT+MPj9lwlv&#13;&#10;GKDLY7jg119GvGEAksfvBaCC7r7VDLgC4Q9BA4BhUFUcgNMLjYU7CYTBPwJh8I+J&#13;&#10;UDpgJJAOCHjhLzCei7MycbqAmYmJurkRAGS/RaNk4/qhAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
243<text x="53" y="46" clip-path="url(#clipPath19)" fill="black" font-style="normal" stroke="none" xml:space="preserve">Transition</text>
244<line clip-path="url(#clipPath20)" fill="none" x1="11" x2="127" y1="54" y2="54" stroke="black"/>
245<rect x="539" y="159" clip-path="url(#clipPath21)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
246<rect x="540" y="160" clip-path="url(#clipPath21)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
247<rect x="538" y="158" clip-path="url(#clipPath22)" fill="white" width="118" rx="4" ry="4" height="39" stroke="none"/>
248<rect x="538" y="158" clip-path="url(#clipPath22)" fill="none" width="117" rx="4" ry="4" height="38" stroke="black"/>
249<image stroke="black" width="16" xlink:show="embed" xlink:type="simple" fill="black" clip-path="url(#clipPath23)" preserveAspectRatio="none" height="16" font-style="normal" x="561" y="163" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAtElEQVR42mNgGGjA&#13;&#10;iC4wt0b/PyFNyS0X4fpYsCmIrl2EU/PS5jgUPhO6gn//GfHaji6P4YI/fxkY/v9n&#13;&#10;hfgPpvY/1LP/IfL4DfjPxLBqwTQGXAEBksdrwO9/TAzhiak4vTCt5gT+MPj9lwlv&#13;&#10;GKDLY7jg119GvGEAksfvBaCC7r7VDLgC4Q9BA4BhUFUcgNMLjYU7CYTBPwJh8I+J&#13;&#10;UDpgJJAOCHjhLzCei7MycbqAmYmJurkRAGS/RaNk4/qhAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
250<text x="580" y="176" clip-path="url(#clipPath24)" fill="black" font-style="normal" stroke="none" xml:space="preserve">Statechart</text>
251<line clip-path="url(#clipPath25)" fill="none" x1="539" x2="655" y1="184" y2="184" stroke="black"/>
252<rect x="16" y="159" clip-path="url(#clipPath26)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
253<rect x="17" y="160" clip-path="url(#clipPath26)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
254<rect x="15" y="158" clip-path="url(#clipPath27)" fill="white" width="118" rx="4" ry="4" height="39" stroke="none"/>
255<rect x="15" y="158" clip-path="url(#clipPath27)" fill="none" width="117" rx="4" ry="4" height="38" stroke="black"/>
256<image stroke="black" width="16" xlink:show="embed" xlink:type="simple" fill="black" clip-path="url(#clipPath28)" preserveAspectRatio="none" height="16" font-style="normal" x="51" y="163" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAtElEQVR42mNgGGjA&#13;&#10;iC4wt0b/PyFNyS0X4fpYsCmIrl2EU/PS5jgUPhO6gn//GfHaji6P4YI/fxkY/v9n&#13;&#10;hfgPpvY/1LP/IfL4DfjPxLBqwTQGXAEBksdrwO9/TAzhiak4vTCt5gT+MPj9lwlv&#13;&#10;GKDLY7jg119GvGEAksfvBaCC7r7VDLgC4Q9BA4BhUFUcgNMLjYU7CYTBPwJh8I+J&#13;&#10;UDpgJJAOCHjhLzCei7MycbqAmYmJurkRAGS/RaNk4/qhAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
257<text x="70" y="176" clip-path="url(#clipPath29)" fill="black" font-style="normal" stroke="none" xml:space="preserve">Entry</text>
258<line clip-path="url(#clipPath30)" fill="none" x1="16" x2="132" y1="184" y2="184" stroke="black"/>
259<rect x="186" y="159" clip-path="url(#clipPath31)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
260<rect x="187" y="160" clip-path="url(#clipPath31)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
261<rect x="185" y="158" clip-path="url(#clipPath32)" fill="white" width="118" rx="4" ry="4" height="39" stroke="none"/>
262<rect x="185" y="158" clip-path="url(#clipPath32)" fill="none" width="117" rx="4" ry="4" height="38" stroke="black"/>
263<image stroke="black" width="16" xlink:show="embed" xlink:type="simple" fill="black" clip-path="url(#clipPath33)" preserveAspectRatio="none" height="16" font-style="normal" x="193" y="163" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAtElEQVR42mNgGGjA&#13;&#10;iC4wt0b/PyFNyS0X4fpYsCmIrl2EU/PS5jgUPhO6gn//GfHaji6P4YI/fxkY/v9n&#13;&#10;hfgPpvY/1LP/IfL4DfjPxLBqwTQGXAEBksdrwO9/TAzhiak4vTCt5gT+MPj9lwlv&#13;&#10;GKDLY7jg119GvGEAksfvBaCC7r7VDLgC4Q9BA4BhUFUcgNMLjYU7CYTBPwJh8I+J&#13;&#10;UDpgJJAOCHjhLzCei7MycbqAmYmJurkRAGS/RaNk4/qhAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
264<text x="212" y="176" clip-path="url(#clipPath34)" fill="black" font-style="normal" stroke="none" xml:space="preserve">Synchronization</text>
265<line clip-path="url(#clipPath35)" fill="none" x1="186" x2="302" y1="184" y2="184" stroke="black"/>
266<rect x="356" y="159" clip-path="url(#clipPath36)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
267<rect x="357" y="160" clip-path="url(#clipPath36)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
268<rect x="355" y="158" clip-path="url(#clipPath37)" fill="white" width="118" rx="4" ry="4" height="39" stroke="none"/>
269<rect x="355" y="158" clip-path="url(#clipPath37)" fill="none" width="117" rx="4" ry="4" height="38" stroke="black"/>
270<image stroke="black" width="16" xlink:show="embed" xlink:type="simple" fill="black" clip-path="url(#clipPath38)" preserveAspectRatio="none" height="16" font-style="normal" x="391" y="163" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAtElEQVR42mNgGGjA&#13;&#10;iC4wt0b/PyFNyS0X4fpYsCmIrl2EU/PS5jgUPhO6gn//GfHaji6P4YI/fxkY/v9n&#13;&#10;hfgPpvY/1LP/IfL4DfjPxLBqwTQGXAEBksdrwO9/TAzhiak4vTCt5gT+MPj9lwlv&#13;&#10;GKDLY7jg119GvGEAksfvBaCC7r7VDLgC4Q9BA4BhUFUcgNMLjYU7CYTBPwJh8I+J&#13;&#10;UDpgJJAOCHjhLzCei7MycbqAmYmJurkRAGS/RaNk4/qhAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
271<text x="410" y="176" clip-path="url(#clipPath39)" fill="black" font-style="normal" stroke="none" xml:space="preserve">State</text>
272<line clip-path="url(#clipPath40)" fill="none" x1="356" x2="472" y1="184" y2="184" stroke="black"/>
273<rect x="356" y="94" clip-path="url(#clipPath41)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
274<rect x="357" y="95" clip-path="url(#clipPath41)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
275<rect x="355" y="93" clip-path="url(#clipPath42)" fill="white" width="118" rx="4" ry="4" height="39" stroke="none"/>
276<rect x="355" y="93" clip-path="url(#clipPath42)" fill="none" width="117" rx="4" ry="4" height="38"/>
277<image x="374" y="98" clip-path="url(#clipPath43)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA2UlEQVR42mP8//8/&#13;&#10;AyWABUQwMjKimAI0lJFYAxgh6lFdATSQYW6NPk5NSc0XGFFcANMEtR1MR9cuwqp5&#13;&#10;aXMcpheQNRIC/9B8h9MF//+zMjDC1P6HeZaB4c9f7IEIDzhYgK5cMA2rC/78Z0I1&#13;&#10;AD3E+0pNGLJa5uL0wrSaEyh8JnQFv/8y4Q0DdHkWdAW//jKC/Q/xDmYYgOTxGvAb&#13;&#10;qKC7bzVEE7YwIGjAPyaGquIAnF5oLNxJIAz+EQiDfwTC4A+BMCDohb/AeC7OysTp&#13;&#10;AmYmAi6YNPsAIynZGQCn3VpKGCzVQQAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/>
278<text x="393" y="111" clip-path="url(#clipPath44)" fill="black" stroke="none" xml:space="preserve">RegularState</text>
279<line clip-path="url(#clipPath45)" fill="none" x1="356" x2="472" y1="119" y2="119"/>
280<rect x="539" y="94" clip-path="url(#clipPath46)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
281<rect x="540" y="95" clip-path="url(#clipPath46)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
282<rect x="538" y="93" clip-path="url(#clipPath47)" fill="white" width="118" rx="4" ry="4" height="39" stroke="none"/>
283<rect x="538" y="93" clip-path="url(#clipPath47)" fill="none" width="117" rx="4" ry="4" height="38"/>
284<image x="544" y="98" clip-path="url(#clipPath48)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA2UlEQVR42mP8//8/&#13;&#10;AyWABUQwMjKimAI0lJFYAxgh6lFdATSQYW6NPk5NSc0XGFFcANMEtR1MR9cuwqp5&#13;&#10;aXMcpheQNRIC/9B8h9MF//+zMjDC1P6HeZaB4c9f7IEIDzhYgK5cMA2rC/78Z0I1&#13;&#10;AD3E+0pNGLJa5uL0wrSaEyh8JnQFv/8y4Q0DdHkWdAW//jKC/Q/xDmYYgOTxGvAb&#13;&#10;qKC7bzVEE7YwIGjAPyaGquIAnF5oLNxJIAz+EQiDfwTC4A+BMCDohb/AeC7OysTp&#13;&#10;AmYmAi6YNPsAIynZGQCn3VpKGCzVQQAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/>
285<text x="563" y="111" clip-path="url(#clipPath49)" fill="black" stroke="none" xml:space="preserve">CompositeElement</text>
286<line clip-path="url(#clipPath50)" fill="none" x1="539" x2="655" y1="119" y2="119"/>
287<line clip-path="url(#clipPath51)" fill="none" x1="538" x2="463" y1="47" y2="47" stroke="black"/>
288<text x="470" y="40" clip-path="url(#clipPath52)" fill="black" font-style="normal" stroke="none" xml:space="preserve">[0..*] vertices</text>
289<polygon fill="black" clip-path="url(#clipPath53)" points=" 538 47 532 50 526 47 532 44" stroke="none"/>
290<polygon fill="none" clip-path="url(#clipPath53)" points=" 538 47 532 50 526 47 532 44" stroke="black"/>
291<line clip-path="url(#clipPath54)" fill="none" x1="470" x2="463" y1="44" y2="47" stroke="black"/>
292<line clip-path="url(#clipPath54)" fill="none" x1="463" x2="470" y1="47" y2="50" stroke="black"/>
293<line clip-path="url(#clipPath51)" fill="none" x1="560" x2="560" y1="93" y2="67" stroke="black"/>
294<text x="564" y="85" clip-path="url(#clipPath55)" fill="black" font-style="normal" stroke="none" xml:space="preserve">[0..*] regions</text>
295<polygon fill="black" clip-path="url(#clipPath56)" points=" 560 93 557 87 560 81 563 87" stroke="none"/>
296<polygon fill="none" clip-path="url(#clipPath56)" points=" 560 93 557 87 560 81 563 87" stroke="black"/>
297<line clip-path="url(#clipPath57)" fill="none" x1="563" x2="560" y1="74" y2="67" stroke="black"/>
298<line clip-path="url(#clipPath57)" fill="none" x1="560" x2="557" y1="67" y2="74" stroke="black"/>
299<line clip-path="url(#clipPath51)" fill="none" x1="159" x2="159" y1="93" y2="85" stroke="rgb(136,136,136)"/>
300<line clip-path="url(#clipPath51)" fill="none" x1="159" x2="405" y1="85" y2="85" stroke="rgb(136,136,136)"/>
301<line clip-path="url(#clipPath51)" fill="none" x1="405" x2="405" y1="85" y2="67" stroke="rgb(136,136,136)"/>
302<polygon fill="white" clip-path="url(#clipPath58)" points=" 405 67 409 75 401 75" stroke="none"/>
303<polygon fill="none" clip-path="url(#clipPath58)" points=" 405 67 409 75 401 75" stroke="rgb(136,136,136)"/>
304<line clip-path="url(#clipPath51)" fill="none" x1="597" x2="597" y1="158" y2="148" stroke="rgb(136,136,136)"/>
305<line clip-path="url(#clipPath51)" fill="none" x1="597" x2="570" y1="148" y2="148" stroke="rgb(136,136,136)"/>
306<line clip-path="url(#clipPath51)" fill="none" x1="570" x2="570" y1="148" y2="132" stroke="rgb(136,136,136)"/>
307<polygon fill="white" clip-path="url(#clipPath59)" points=" 570 132 574 140 566 140" stroke="none"/>
308<polygon fill="none" clip-path="url(#clipPath59)" points=" 570 132 574 140 566 140" stroke="rgb(136,136,136)"/>
309<line clip-path="url(#clipPath51)" fill="none" x1="74" x2="74" y1="158" y2="150" stroke="rgb(136,136,136)"/>
310<line clip-path="url(#clipPath51)" fill="none" x1="74" x2="160" y1="150" y2="150" stroke="rgb(136,136,136)"/>
311<line clip-path="url(#clipPath51)" fill="none" x1="160" x2="160" y1="150" y2="132" stroke="rgb(136,136,136)"/>
312<polygon fill="white" clip-path="url(#clipPath60)" points=" 160 132 164 140 156 140" stroke="none"/>
313<polygon fill="none" clip-path="url(#clipPath60)" points=" 160 132 164 140 156 140" stroke="rgb(136,136,136)"/>
314<line clip-path="url(#clipPath51)" fill="none" x1="244" x2="244" y1="158" y2="150" stroke="rgb(136,136,136)"/>
315<line clip-path="url(#clipPath51)" fill="none" x1="244" x2="160" y1="150" y2="150" stroke="rgb(136,136,136)"/>
316<line clip-path="url(#clipPath51)" fill="none" x1="160" x2="160" y1="150" y2="132" stroke="rgb(136,136,136)"/>
317<polygon fill="white" clip-path="url(#clipPath60)" points=" 160 132 164 140 156 140" stroke="none"/>
318<polygon fill="none" clip-path="url(#clipPath60)" points=" 160 132 164 140 156 140" stroke="rgb(136,136,136)"/>
319<line clip-path="url(#clipPath51)" fill="none" x1="414" x2="414" y1="158" y2="148" stroke="rgb(136,136,136)"/>
320<line clip-path="url(#clipPath51)" fill="none" x1="414" x2="392" y1="148" y2="148" stroke="rgb(136,136,136)"/>
321<line clip-path="url(#clipPath51)" fill="none" x1="392" x2="392" y1="148" y2="132" stroke="rgb(136,136,136)"/>
322<polygon fill="white" clip-path="url(#clipPath61)" points=" 392 132 396 140 388 140" stroke="none"/>
323<polygon fill="none" clip-path="url(#clipPath61)" points=" 392 132 396 140 388 140" stroke="rgb(136,136,136)"/>
324<line clip-path="url(#clipPath51)" fill="none" x1="414" x2="414" y1="158" y2="148" stroke="rgb(136,136,136)"/>
325<line clip-path="url(#clipPath51)" fill="none" x1="414" x2="570" y1="148" y2="148" stroke="rgb(136,136,136)"/>
326<line clip-path="url(#clipPath51)" fill="none" x1="570" x2="570" y1="148" y2="132" stroke="rgb(136,136,136)"/>
327<polygon fill="white" clip-path="url(#clipPath59)" points=" 570 132 574 140 566 140" stroke="none"/>
328<polygon fill="none" clip-path="url(#clipPath59)" points=" 570 132 574 140 566 140" stroke="rgb(136,136,136)"/>
329<line clip-path="url(#clipPath51)" fill="none" x1="414" x2="414" y1="93" y2="85" stroke="rgb(136,136,136)"/>
330<line clip-path="url(#clipPath51)" fill="none" x1="414" x2="405" y1="85" y2="85" stroke="rgb(136,136,136)"/>
331<line clip-path="url(#clipPath51)" fill="none" x1="405" x2="405" y1="85" y2="67" stroke="rgb(136,136,136)"/>
332<polygon fill="white" clip-path="url(#clipPath58)" points=" 405 67 409 75 401 75" stroke="none"/>
333<polygon fill="none" clip-path="url(#clipPath58)" points=" 405 67 409 75 401 75" stroke="rgb(136,136,136)"/>
334<line clip-path="url(#clipPath51)" fill="none" x1="345" x2="128" y1="58" y2="58" stroke="black"/>
335<text x="285" y="75" clip-path="url(#clipPath62)" fill="black" font-style="normal" stroke="none" xml:space="preserve">[1..1] target</text>
336<text x="130" y="75" clip-path="url(#clipPath63)" fill="black" font-style="normal" stroke="none" xml:space="preserve">[0..*] incomingTransitions</text>
337<line clip-path="url(#clipPath64)" fill="none" x1="338" x2="345" y1="61" y2="58" stroke="black"/>
338<line clip-path="url(#clipPath64)" fill="none" x1="345" x2="338" y1="58" y2="55" stroke="black"/>
339<line clip-path="url(#clipPath65)" fill="none" x1="135" x2="128" y1="55" y2="58" stroke="black"/>
340<line clip-path="url(#clipPath65)" fill="none" x1="128" x2="135" y1="58" y2="61" stroke="black"/>
341<line clip-path="url(#clipPath51)" fill="none" x1="345" x2="128" y1="38" y2="38" stroke="black"/>
342<text x="283" y="35" clip-path="url(#clipPath66)" fill="black" font-style="normal" stroke="none" xml:space="preserve">[1..1] source</text>
343<text x="130" y="35" clip-path="url(#clipPath67)" fill="black" font-style="normal" stroke="none" xml:space="preserve">[0..*] outgoingTransitions</text>
344<polygon fill="black" clip-path="url(#clipPath68)" points=" 345 38 339 41 333 38 339 35" stroke="none"/>
345<polygon fill="none" clip-path="url(#clipPath68)" points=" 345 38 339 41 333 38 339 35" stroke="black"/>
346<line clip-path="url(#clipPath69)" fill="none" x1="135" x2="128" y1="35" y2="38" stroke="black"/>
347<line clip-path="url(#clipPath69)" fill="none" x1="128" x2="135" y1="38" y2="41" stroke="black"/>
348</g>
349</g>
350</svg>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.properties b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.properties
new file mode 100644
index 00000000..5984cf1c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.properties
@@ -0,0 +1,4 @@
1#
2
3pluginName = Yakindu_simplified Model
4providerName = www.example.org
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml
new file mode 100644
index 00000000..1ec8a6ec
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml
@@ -0,0 +1,37 @@
1<?xml version="1.0" encoding="UTF-8"?><plugin>
2 <extension id="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.Patterns" point="org.eclipse.viatra.query.runtime.queryspecification">
3 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.Patterns" id="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.Patterns">
4 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.entryInRegion"/>
5 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.noEntryInRegion"/>
6 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.multipleEntryInRegion"/>
7 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.transition"/>
8 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.incomingToEntry"/>
9 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.noOutgoingTransitionFromEntry"/>
10 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.multipleTransitionFromEntry"/>
11 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.hasNoOutgoing"/>
12 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.hasNoIncoming"/>
13 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.StateInRegion"/>
14 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.SynchronizedIncomingInSameRegion"/>
15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.noStateInRegion"/>
16 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.notSynchronizingStates"/>
17 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.hasMultipleOutgoingTrainsition"/>
18 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.hasMultipleIncomingTrainsition"/>
19 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.SynchronizedRegionsAreNotSiblings"/>
20 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.child"/>
21 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.SynchronizedRegionDoesNotHaveMultipleRegions"/>
22 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.hasMultipleRegions"/>
23 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.synchThree"/>
24 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.twoSynch"/>
25 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.synch"/>
26 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.noSynch"/>
27 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.noSynch1"/>
28 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.noSynch2"/>
29 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.noSynch3"/>
30 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.noSynch4"/>
31 </group>
32 </extension>
33 <extension point="org.eclipse.emf.ecore.generated_package">
34 <!-- @generated yakindu_simplified -->
35 <package class="hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage" genModel="model/yakindu_simplified.genmodel" uri="hu.bme.mit.inf.yakindumm"/>
36 </extension>
37</plugin>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql
new file mode 100644
index 00000000..a4c3125d
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql
@@ -0,0 +1,196 @@
1package hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu
2
3import epackage "hu.bme.mit.inf.yakindumm"
4
5pattern entryInRegion(r1 : Region, e1 : Entry) {
6 Region.vertices(r1, e1);
7}
8
9@Constraint(severity="error", message="error", key = {r1})
10pattern noEntryInRegion(r1 : Region) {
11 neg find entryInRegion(r1, _);
12}
13
14@Constraint(severity="error", message="error", key = {r})
15pattern multipleEntryInRegion(r : Region) {
16 find entryInRegion(r, e1);
17 find entryInRegion(r, e2);
18 e1 != e2;
19}
20
21pattern transition(t : Transition, src : Vertex, trg : Vertex) {
22 Transition.source(t, src);
23 Transition.target(t, trg);
24}
25
26@Constraint(severity="error", message="error", key = {e})
27pattern incomingToEntry(t : Transition, e : Entry) {
28 find transition(t, _, e);
29}
30
31@Constraint(severity="error", message="error", key = {e})
32pattern noOutgoingTransitionFromEntry(e : Entry) {
33 neg find transition(_, e, _);
34}
35
36@Constraint(severity="error", message="error", key = {e})
37pattern multipleTransitionFromEntry(e : Entry, t1 : Transition, t2: Transition) {
38 Entry.outgoingTransitions(e,t1);
39 Entry.outgoingTransitions(e,t2);
40 t1!=t2;
41}
42
43@Constraint(severity="error", message="error", key = {s})
44pattern hasNoOutgoing(s : Synchronization) {
45 neg find transition(_, s, _);
46}
47
48@Constraint(severity="error", message="error", key = {s})
49pattern hasNoIncoming(s : Synchronization) {
50 neg find transition(_, _, s);
51}
52
53pattern StateInRegion(region: Region, state: State) {
54 Region.vertices(region,state);
55}
56
57@Constraint(severity="error", message="error", key = {s})
58pattern SynchronizedIncomingInSameRegion(s : Synchronization, v1 : Vertex, v2 : Vertex) {
59 find transition(t1, v1, s);
60 find transition(t2, v2, s);
61 t1!=t2;
62 Region.vertices(r, v1);
63 Region.vertices(r, v2);
64} or {
65 find transition(t1, s, v1);
66 find transition(t2, s, v2);
67 t1!=t2;
68 Region.vertices(r, v1);
69 Region.vertices(r, v2);
70}
71
72@Constraint(severity="error", message="error", key = {region})
73pattern noStateInRegion(region: Region) {
74 neg find StateInRegion(region,_);
75}
76
77@Constraint(severity="error", message="error", key = {s})
78pattern notSynchronizingStates(s : Synchronization) {
79 neg find hasMultipleOutgoingTrainsition(s);
80 neg find hasMultipleIncomingTrainsition(s);
81}
82
83pattern hasMultipleOutgoingTrainsition(v : Synchronization) {
84 find transition(_, v, trg1);
85 find transition(_, v, trg2);
86 trg1 != trg2;
87}
88
89pattern hasMultipleIncomingTrainsition(v : Synchronization) {
90 find transition(_, src1, v);
91 find transition(_, src2, v);
92 src1 != src2;
93}
94
95@Constraint(severity="error", message="error", key = {s})
96pattern SynchronizedRegionsAreNotSiblings(s : Synchronization, v1 : Vertex, v2 : Vertex) {
97 find transition(_, v1, s);
98 find transition(_, v2, s);
99 CompositeElement.regions.vertices(r1, v1);
100 CompositeElement.regions.vertices(r2, v2);
101 r1 != r2;
102} or {
103 find transition(_, s, v1);
104 find transition(_, s, v2);
105 CompositeElement.regions.vertices(r1, v1);
106 CompositeElement.regions.vertices(r2, v2);
107 r1 != r2;
108}
109
110///////////////////////////////
111// Extra
112//
113//@Constraint(severity="error", message="error", key = {s})
114//pattern SynchronizedRegionDoesNotHaveParent(s : Synchronization, v : Vertex) {
115// find transition(_, v, s);
116// neg find child(_,v);
117//} or {
118// find transition(_, s, v);
119// neg find child(_,v);
120//}
121
122pattern child(parent: CompositeElement, child: Vertex) {
123 CompositeElement.regions.vertices(parent, child);
124}
125
126@Constraint(severity="error", message="error", key = {s})
127pattern SynchronizedRegionDoesNotHaveMultipleRegions(s : Synchronization, v : Vertex) {
128 find transition(_, v, s);
129 find child(c,v);
130 neg find hasMultipleRegions(c);
131} or {
132 find transition(_, s, v);
133 find child(c,v);
134 neg find hasMultipleRegions(c);
135}
136
137
138pattern hasMultipleRegions(composite: CompositeElement) {
139 CompositeElement.regions(composite,region1);
140 CompositeElement.regions(composite,region2);
141 region1 != region2;
142}
143
144// multiplicity constraints
145@Constraint(severity="error", message="error", key = {s})
146pattern synchThree(s: Synchronization) {
147 Transition.target(t1,s);
148 Transition.target(t2,s);
149 Transition.target(t3,s);
150 t1!=t2;
151 t2!=t3;
152 t1!=t3;
153} or {
154 Transition.source(t1,s);
155 Transition.source(t2,s);
156 Transition.source(t3,s);
157 t1!=t2;
158 t2!=t3;
159 t1!=t3;
160}
161
162@Constraint(severity="error", message="error", key = {s1,s2})
163pattern twoSynch(s1 : Synchronization, s2 : Synchronization) {
164 Synchronization(s1);
165 Synchronization(s2);
166 s1 != s2;
167}
168
169pattern synch(s:Synchronization) {
170 Synchronization(s);
171}
172@Constraint(severity="error", message="error", key = {s})
173pattern noSynch(s:Statechart) {
174 Statechart(s);
175 neg find synch(_);
176}
177@Constraint(severity="error", message="error", key = {s})
178pattern noSynch1(s:Statechart) {
179 Statechart(s);
180 neg find synch(_);
181}
182@Constraint(severity="error", message="error", key = {s})
183pattern noSynch2(s:Statechart) {
184 Statechart(s);
185 neg find synch(_);
186}
187@Constraint(severity="error", message="error", key = {s})
188pattern noSynch3(s:Statechart) {
189 Statechart(s);
190 neg find synch(_);
191}
192@Constraint(severity="error", message="error", key = {s})
193pattern noSynch4(s:Statechart) {
194 Statechart(s);
195 neg find synch(_);
196} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.classpath b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.classpath
new file mode 100644
index 00000000..a7a95045
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.classpath
@@ -0,0 +1,9 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="ecore-gen"/>
4 <classpathentry kind="src" path="xtend-gen"/>
5 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
6 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
7 <classpathentry kind="src" path="src"/>
8 <classpathentry kind="output" path="bin"/>
9</classpath>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.gitignore b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.gitignore
new file mode 100644
index 00000000..8ae4e44d
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.gitignore
@@ -0,0 +1,4 @@
1/bin/
2/src-gen/
3/vql-gen/
4/xtend-gen/
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.project b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.project
new file mode 100644
index 00000000..94e33330
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.ecore2logic</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.jdt.core.javabuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.ManifestBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.SchemaBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.pde.PluginNature</nature>
31 <nature>org.eclipse.jdt.core.javanature</nature>
32 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.settings/org.eclipse.core.resources.prefs b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..4824b802
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
1eclipse.preferences.version=1
2encoding/<project>=UTF-8
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.settings/org.eclipse.jdt.core.prefs b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/META-INF/MANIFEST.MF b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..f38f6fee
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/META-INF/MANIFEST.MF
@@ -0,0 +1,23 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: %pluginName
4Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.ecore2logic;singleton:=true
5Bundle-Version: 1.0.0.qualifier
6Bundle-ClassPath: .
7Bundle-Vendor: %providerName
8Bundle-Localization: plugin
9Bundle-RequiredExecutionEnvironment: JavaSE-1.8
10Require-Bundle: com.google.guava,
11 org.eclipse.xtext.xbase.lib,
12 org.eclipse.xtend.lib,
13 org.eclipse.xtend.lib.macro,
14 org.eclipse.core.runtime,
15 org.eclipse.emf.ecore;visibility:=reexport,
16 hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0";visibility:=reexport,
17 org.eclipse.emf;bundle-version="2.6.0"
18Bundle-ActivationPolicy: lazy
19Export-Package: hu.bme.mit.inf.dslreasoner.ecore2logic,
20 hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations,
21 hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl,
22 hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.util
23
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/build.properties b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/build.properties
new file mode 100644
index 00000000..72399047
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/build.properties
@@ -0,0 +1,10 @@
1#
2
3bin.includes = .,\
4 model/,\
5 META-INF/,\
6 plugin.xml,\
7 plugin.properties
8jars.compile.order = .
9source.. = ecore-gen/
10output.. = bin/
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/Ecore2logicannotationsFactory.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/Ecore2logicannotationsFactory.java
new file mode 100644
index 00000000..d2781936
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/Ecore2logicannotationsFactory.java
@@ -0,0 +1,69 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations;
4
5import org.eclipse.emf.ecore.EFactory;
6
7/**
8 * <!-- begin-user-doc -->
9 * The <b>Factory</b> for the model.
10 * It provides a create method for each non-abstract class of the model.
11 * <!-- end-user-doc -->
12 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage
13 * @generated
14 */
15public interface Ecore2logicannotationsFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 Ecore2logicannotationsFactory eINSTANCE = hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>Multiplicity Assertion</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>Multiplicity Assertion</em>'.
29 * @generated
30 */
31 MultiplicityAssertion createMultiplicityAssertion();
32
33 /**
34 * Returns a new object of class '<em>Inverse Relation Assertion</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Inverse Relation Assertion</em>'.
38 * @generated
39 */
40 InverseRelationAssertion createInverseRelationAssertion();
41
42 /**
43 * Returns a new object of class '<em>Lower Multiplicity Assertion</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>Lower Multiplicity Assertion</em>'.
47 * @generated
48 */
49 LowerMultiplicityAssertion createLowerMultiplicityAssertion();
50
51 /**
52 * Returns a new object of class '<em>Upper Multiplicity Assertion</em>'.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return a new object of class '<em>Upper Multiplicity Assertion</em>'.
56 * @generated
57 */
58 UpperMultiplicityAssertion createUpperMultiplicityAssertion();
59
60 /**
61 * Returns the package supported by this factory.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return the package supported by this factory.
65 * @generated
66 */
67 Ecore2logicannotationsPackage getEcore2logicannotationsPackage();
68
69} //Ecore2logicannotationsFactory
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/Ecore2logicannotationsPackage.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/Ecore2logicannotationsPackage.java
new file mode 100644
index 00000000..b53edc84
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/Ecore2logicannotationsPackage.java
@@ -0,0 +1,473 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
6
7import org.eclipse.emf.ecore.EAttribute;
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.EPackage;
10import org.eclipse.emf.ecore.EReference;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Package</b> for the model.
15 * It contains accessors for the meta objects to represent
16 * <ul>
17 * <li>each class,</li>
18 * <li>each feature of each class,</li>
19 * <li>each operation of each class,</li>
20 * <li>each enum,</li>
21 * <li>and each data type</li>
22 * </ul>
23 * <!-- end-user-doc -->
24 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsFactory
25 * @model kind="package"
26 * @generated
27 */
28public interface Ecore2logicannotationsPackage extends EPackage {
29 /**
30 * The package name.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 String eNAME = "ecore2logicannotations";
36
37 /**
38 * The package namespace URI.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @generated
42 */
43 String eNS_URI = "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/ecore2logicannotation";
44
45 /**
46 * The package namespace name.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 String eNS_PREFIX = "ecore2logicannotations";
52
53 /**
54 * The singleton instance of the package.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 Ecore2logicannotationsPackage eINSTANCE = hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl.init();
60
61 /**
62 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.MultiplicityAssertionImpl <em>Multiplicity Assertion</em>}' class.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.MultiplicityAssertionImpl
66 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl#getMultiplicityAssertion()
67 * @generated
68 */
69 int MULTIPLICITY_ASSERTION = 0;
70
71 /**
72 * The feature id for the '<em><b>Target</b></em>' reference.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 * @ordered
77 */
78 int MULTIPLICITY_ASSERTION__TARGET = LogicproblemPackage.ASSERTION_ANNOTATION__TARGET;
79
80 /**
81 * The feature id for the '<em><b>Relation</b></em>' reference.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 * @ordered
86 */
87 int MULTIPLICITY_ASSERTION__RELATION = LogicproblemPackage.ASSERTION_ANNOTATION_FEATURE_COUNT + 0;
88
89 /**
90 * The number of structural features of the '<em>Multiplicity Assertion</em>' class.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 * @ordered
95 */
96 int MULTIPLICITY_ASSERTION_FEATURE_COUNT = LogicproblemPackage.ASSERTION_ANNOTATION_FEATURE_COUNT + 1;
97
98 /**
99 * The number of operations of the '<em>Multiplicity Assertion</em>' class.
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 * @ordered
104 */
105 int MULTIPLICITY_ASSERTION_OPERATION_COUNT = LogicproblemPackage.ASSERTION_ANNOTATION_OPERATION_COUNT + 0;
106
107 /**
108 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.InverseRelationAssertionImpl <em>Inverse Relation Assertion</em>}' class.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.InverseRelationAssertionImpl
112 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl#getInverseRelationAssertion()
113 * @generated
114 */
115 int INVERSE_RELATION_ASSERTION = 1;
116
117 /**
118 * The feature id for the '<em><b>Target</b></em>' reference.
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 * @ordered
123 */
124 int INVERSE_RELATION_ASSERTION__TARGET = LogicproblemPackage.ASSERTION_ANNOTATION__TARGET;
125
126 /**
127 * The feature id for the '<em><b>Inverse A</b></em>' reference.
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 * @ordered
132 */
133 int INVERSE_RELATION_ASSERTION__INVERSE_A = LogicproblemPackage.ASSERTION_ANNOTATION_FEATURE_COUNT + 0;
134
135 /**
136 * The feature id for the '<em><b>Inverse B</b></em>' reference.
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 * @ordered
141 */
142 int INVERSE_RELATION_ASSERTION__INVERSE_B = LogicproblemPackage.ASSERTION_ANNOTATION_FEATURE_COUNT + 1;
143
144 /**
145 * The number of structural features of the '<em>Inverse Relation Assertion</em>' class.
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 * @ordered
150 */
151 int INVERSE_RELATION_ASSERTION_FEATURE_COUNT = LogicproblemPackage.ASSERTION_ANNOTATION_FEATURE_COUNT + 2;
152
153 /**
154 * The number of operations of the '<em>Inverse Relation Assertion</em>' class.
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 * @ordered
159 */
160 int INVERSE_RELATION_ASSERTION_OPERATION_COUNT = LogicproblemPackage.ASSERTION_ANNOTATION_OPERATION_COUNT + 0;
161
162 /**
163 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.LowerMultiplicityAssertionImpl <em>Lower Multiplicity Assertion</em>}' class.
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.LowerMultiplicityAssertionImpl
167 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl#getLowerMultiplicityAssertion()
168 * @generated
169 */
170 int LOWER_MULTIPLICITY_ASSERTION = 2;
171
172 /**
173 * The feature id for the '<em><b>Target</b></em>' reference.
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 * @ordered
178 */
179 int LOWER_MULTIPLICITY_ASSERTION__TARGET = MULTIPLICITY_ASSERTION__TARGET;
180
181 /**
182 * The feature id for the '<em><b>Relation</b></em>' reference.
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 * @ordered
187 */
188 int LOWER_MULTIPLICITY_ASSERTION__RELATION = MULTIPLICITY_ASSERTION__RELATION;
189
190 /**
191 * The feature id for the '<em><b>Lower</b></em>' attribute.
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 * @ordered
196 */
197 int LOWER_MULTIPLICITY_ASSERTION__LOWER = MULTIPLICITY_ASSERTION_FEATURE_COUNT + 0;
198
199 /**
200 * The number of structural features of the '<em>Lower Multiplicity Assertion</em>' class.
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 * @ordered
205 */
206 int LOWER_MULTIPLICITY_ASSERTION_FEATURE_COUNT = MULTIPLICITY_ASSERTION_FEATURE_COUNT + 1;
207
208 /**
209 * The number of operations of the '<em>Lower Multiplicity Assertion</em>' class.
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 * @ordered
214 */
215 int LOWER_MULTIPLICITY_ASSERTION_OPERATION_COUNT = MULTIPLICITY_ASSERTION_OPERATION_COUNT + 0;
216
217 /**
218 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.UpperMultiplicityAssertionImpl <em>Upper Multiplicity Assertion</em>}' class.
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.UpperMultiplicityAssertionImpl
222 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl#getUpperMultiplicityAssertion()
223 * @generated
224 */
225 int UPPER_MULTIPLICITY_ASSERTION = 3;
226
227 /**
228 * The feature id for the '<em><b>Target</b></em>' reference.
229 * <!-- begin-user-doc -->
230 * <!-- end-user-doc -->
231 * @generated
232 * @ordered
233 */
234 int UPPER_MULTIPLICITY_ASSERTION__TARGET = MULTIPLICITY_ASSERTION__TARGET;
235
236 /**
237 * The feature id for the '<em><b>Relation</b></em>' reference.
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @generated
241 * @ordered
242 */
243 int UPPER_MULTIPLICITY_ASSERTION__RELATION = MULTIPLICITY_ASSERTION__RELATION;
244
245 /**
246 * The feature id for the '<em><b>Upper</b></em>' attribute.
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 * @ordered
251 */
252 int UPPER_MULTIPLICITY_ASSERTION__UPPER = MULTIPLICITY_ASSERTION_FEATURE_COUNT + 0;
253
254 /**
255 * The number of structural features of the '<em>Upper Multiplicity Assertion</em>' class.
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 * @ordered
260 */
261 int UPPER_MULTIPLICITY_ASSERTION_FEATURE_COUNT = MULTIPLICITY_ASSERTION_FEATURE_COUNT + 1;
262
263 /**
264 * The number of operations of the '<em>Upper Multiplicity Assertion</em>' class.
265 * <!-- begin-user-doc -->
266 * <!-- end-user-doc -->
267 * @generated
268 * @ordered
269 */
270 int UPPER_MULTIPLICITY_ASSERTION_OPERATION_COUNT = MULTIPLICITY_ASSERTION_OPERATION_COUNT + 0;
271
272
273 /**
274 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion <em>Multiplicity Assertion</em>}'.
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @return the meta object for class '<em>Multiplicity Assertion</em>'.
278 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion
279 * @generated
280 */
281 EClass getMultiplicityAssertion();
282
283 /**
284 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion#getRelation <em>Relation</em>}'.
285 * <!-- begin-user-doc -->
286 * <!-- end-user-doc -->
287 * @return the meta object for the reference '<em>Relation</em>'.
288 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion#getRelation()
289 * @see #getMultiplicityAssertion()
290 * @generated
291 */
292 EReference getMultiplicityAssertion_Relation();
293
294 /**
295 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion <em>Inverse Relation Assertion</em>}'.
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @return the meta object for class '<em>Inverse Relation Assertion</em>'.
299 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion
300 * @generated
301 */
302 EClass getInverseRelationAssertion();
303
304 /**
305 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion#getInverseA <em>Inverse A</em>}'.
306 * <!-- begin-user-doc -->
307 * <!-- end-user-doc -->
308 * @return the meta object for the reference '<em>Inverse A</em>'.
309 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion#getInverseA()
310 * @see #getInverseRelationAssertion()
311 * @generated
312 */
313 EReference getInverseRelationAssertion_InverseA();
314
315 /**
316 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion#getInverseB <em>Inverse B</em>}'.
317 * <!-- begin-user-doc -->
318 * <!-- end-user-doc -->
319 * @return the meta object for the reference '<em>Inverse B</em>'.
320 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion#getInverseB()
321 * @see #getInverseRelationAssertion()
322 * @generated
323 */
324 EReference getInverseRelationAssertion_InverseB();
325
326 /**
327 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion <em>Lower Multiplicity Assertion</em>}'.
328 * <!-- begin-user-doc -->
329 * <!-- end-user-doc -->
330 * @return the meta object for class '<em>Lower Multiplicity Assertion</em>'.
331 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion
332 * @generated
333 */
334 EClass getLowerMultiplicityAssertion();
335
336 /**
337 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion#getLower <em>Lower</em>}'.
338 * <!-- begin-user-doc -->
339 * <!-- end-user-doc -->
340 * @return the meta object for the attribute '<em>Lower</em>'.
341 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion#getLower()
342 * @see #getLowerMultiplicityAssertion()
343 * @generated
344 */
345 EAttribute getLowerMultiplicityAssertion_Lower();
346
347 /**
348 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion <em>Upper Multiplicity Assertion</em>}'.
349 * <!-- begin-user-doc -->
350 * <!-- end-user-doc -->
351 * @return the meta object for class '<em>Upper Multiplicity Assertion</em>'.
352 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion
353 * @generated
354 */
355 EClass getUpperMultiplicityAssertion();
356
357 /**
358 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion#getUpper <em>Upper</em>}'.
359 * <!-- begin-user-doc -->
360 * <!-- end-user-doc -->
361 * @return the meta object for the attribute '<em>Upper</em>'.
362 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion#getUpper()
363 * @see #getUpperMultiplicityAssertion()
364 * @generated
365 */
366 EAttribute getUpperMultiplicityAssertion_Upper();
367
368 /**
369 * Returns the factory that creates the instances of the model.
370 * <!-- begin-user-doc -->
371 * <!-- end-user-doc -->
372 * @return the factory that creates the instances of the model.
373 * @generated
374 */
375 Ecore2logicannotationsFactory getEcore2logicannotationsFactory();
376
377 /**
378 * <!-- begin-user-doc -->
379 * Defines literals for the meta objects that represent
380 * <ul>
381 * <li>each class,</li>
382 * <li>each feature of each class,</li>
383 * <li>each operation of each class,</li>
384 * <li>each enum,</li>
385 * <li>and each data type</li>
386 * </ul>
387 * <!-- end-user-doc -->
388 * @generated
389 */
390 interface Literals {
391 /**
392 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.MultiplicityAssertionImpl <em>Multiplicity Assertion</em>}' class.
393 * <!-- begin-user-doc -->
394 * <!-- end-user-doc -->
395 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.MultiplicityAssertionImpl
396 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl#getMultiplicityAssertion()
397 * @generated
398 */
399 EClass MULTIPLICITY_ASSERTION = eINSTANCE.getMultiplicityAssertion();
400
401 /**
402 * The meta object literal for the '<em><b>Relation</b></em>' reference feature.
403 * <!-- begin-user-doc -->
404 * <!-- end-user-doc -->
405 * @generated
406 */
407 EReference MULTIPLICITY_ASSERTION__RELATION = eINSTANCE.getMultiplicityAssertion_Relation();
408
409 /**
410 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.InverseRelationAssertionImpl <em>Inverse Relation Assertion</em>}' class.
411 * <!-- begin-user-doc -->
412 * <!-- end-user-doc -->
413 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.InverseRelationAssertionImpl
414 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl#getInverseRelationAssertion()
415 * @generated
416 */
417 EClass INVERSE_RELATION_ASSERTION = eINSTANCE.getInverseRelationAssertion();
418
419 /**
420 * The meta object literal for the '<em><b>Inverse A</b></em>' reference feature.
421 * <!-- begin-user-doc -->
422 * <!-- end-user-doc -->
423 * @generated
424 */
425 EReference INVERSE_RELATION_ASSERTION__INVERSE_A = eINSTANCE.getInverseRelationAssertion_InverseA();
426
427 /**
428 * The meta object literal for the '<em><b>Inverse B</b></em>' reference feature.
429 * <!-- begin-user-doc -->
430 * <!-- end-user-doc -->
431 * @generated
432 */
433 EReference INVERSE_RELATION_ASSERTION__INVERSE_B = eINSTANCE.getInverseRelationAssertion_InverseB();
434
435 /**
436 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.LowerMultiplicityAssertionImpl <em>Lower Multiplicity Assertion</em>}' class.
437 * <!-- begin-user-doc -->
438 * <!-- end-user-doc -->
439 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.LowerMultiplicityAssertionImpl
440 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl#getLowerMultiplicityAssertion()
441 * @generated
442 */
443 EClass LOWER_MULTIPLICITY_ASSERTION = eINSTANCE.getLowerMultiplicityAssertion();
444
445 /**
446 * The meta object literal for the '<em><b>Lower</b></em>' attribute feature.
447 * <!-- begin-user-doc -->
448 * <!-- end-user-doc -->
449 * @generated
450 */
451 EAttribute LOWER_MULTIPLICITY_ASSERTION__LOWER = eINSTANCE.getLowerMultiplicityAssertion_Lower();
452
453 /**
454 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.UpperMultiplicityAssertionImpl <em>Upper Multiplicity Assertion</em>}' class.
455 * <!-- begin-user-doc -->
456 * <!-- end-user-doc -->
457 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.UpperMultiplicityAssertionImpl
458 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl#getUpperMultiplicityAssertion()
459 * @generated
460 */
461 EClass UPPER_MULTIPLICITY_ASSERTION = eINSTANCE.getUpperMultiplicityAssertion();
462
463 /**
464 * The meta object literal for the '<em><b>Upper</b></em>' attribute feature.
465 * <!-- begin-user-doc -->
466 * <!-- end-user-doc -->
467 * @generated
468 */
469 EAttribute UPPER_MULTIPLICITY_ASSERTION__UPPER = eINSTANCE.getUpperMultiplicityAssertion_Upper();
470
471 }
472
473} //Ecore2logicannotationsPackage
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/InverseRelationAssertion.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/InverseRelationAssertion.java
new file mode 100644
index 00000000..cbe8deef
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/InverseRelationAssertion.java
@@ -0,0 +1,79 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation;
6
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Inverse Relation Assertion</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion#getInverseA <em>Inverse A</em>}</li>
19 * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion#getInverseB <em>Inverse B</em>}</li>
20 * </ul>
21 *
22 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getInverseRelationAssertion()
23 * @model
24 * @generated
25 */
26public interface InverseRelationAssertion extends AssertionAnnotation {
27 /**
28 * Returns the value of the '<em><b>Inverse A</b></em>' reference.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Inverse A</em>' reference isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Inverse A</em>' reference.
36 * @see #setInverseA(Relation)
37 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getInverseRelationAssertion_InverseA()
38 * @model required="true"
39 * @generated
40 */
41 Relation getInverseA();
42
43 /**
44 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion#getInverseA <em>Inverse A</em>}' reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Inverse A</em>' reference.
48 * @see #getInverseA()
49 * @generated
50 */
51 void setInverseA(Relation value);
52
53 /**
54 * Returns the value of the '<em><b>Inverse B</b></em>' reference.
55 * <!-- begin-user-doc -->
56 * <p>
57 * If the meaning of the '<em>Inverse B</em>' reference isn't clear,
58 * there really should be more of a description here...
59 * </p>
60 * <!-- end-user-doc -->
61 * @return the value of the '<em>Inverse B</em>' reference.
62 * @see #setInverseB(Relation)
63 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getInverseRelationAssertion_InverseB()
64 * @model required="true"
65 * @generated
66 */
67 Relation getInverseB();
68
69 /**
70 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion#getInverseB <em>Inverse B</em>}' reference.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @param value the new value of the '<em>Inverse B</em>' reference.
74 * @see #getInverseB()
75 * @generated
76 */
77 void setInverseB(Relation value);
78
79} // InverseRelationAssertion
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/LowerMultiplicityAssertion.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/LowerMultiplicityAssertion.java
new file mode 100644
index 00000000..d9a06c64
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/LowerMultiplicityAssertion.java
@@ -0,0 +1,49 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Lower Multiplicity Assertion</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion#getLower <em>Lower</em>}</li>
16 * </ul>
17 *
18 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getLowerMultiplicityAssertion()
19 * @model
20 * @generated
21 */
22public interface LowerMultiplicityAssertion extends MultiplicityAssertion {
23 /**
24 * Returns the value of the '<em><b>Lower</b></em>' attribute.
25 * <!-- begin-user-doc -->
26 * <p>
27 * If the meaning of the '<em>Lower</em>' attribute isn't clear,
28 * there really should be more of a description here...
29 * </p>
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Lower</em>' attribute.
32 * @see #setLower(int)
33 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getLowerMultiplicityAssertion_Lower()
34 * @model required="true"
35 * @generated
36 */
37 int getLower();
38
39 /**
40 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion#getLower <em>Lower</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Lower</em>' attribute.
44 * @see #getLower()
45 * @generated
46 */
47 void setLower(int value);
48
49} // LowerMultiplicityAssertion
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/MultiplicityAssertion.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/MultiplicityAssertion.java
new file mode 100644
index 00000000..d937a97c
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/MultiplicityAssertion.java
@@ -0,0 +1,51 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Multiplicity Assertion</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion#getRelation <em>Relation</em>}</li>
18 * </ul>
19 *
20 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getMultiplicityAssertion()
21 * @model
22 * @generated
23 */
24public interface MultiplicityAssertion extends AssertionAnnotation {
25
26 /**
27 * Returns the value of the '<em><b>Relation</b></em>' reference.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Relation</em>' reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Relation</em>' reference.
35 * @see #setRelation(Relation)
36 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getMultiplicityAssertion_Relation()
37 * @model required="true"
38 * @generated
39 */
40 Relation getRelation();
41
42 /**
43 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion#getRelation <em>Relation</em>}' reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Relation</em>' reference.
47 * @see #getRelation()
48 * @generated
49 */
50 void setRelation(Relation value);
51} // MultiplicityAssertion
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/UpperMultiplicityAssertion.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/UpperMultiplicityAssertion.java
new file mode 100644
index 00000000..095ab187
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/UpperMultiplicityAssertion.java
@@ -0,0 +1,49 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Upper Multiplicity Assertion</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion#getUpper <em>Upper</em>}</li>
16 * </ul>
17 *
18 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getUpperMultiplicityAssertion()
19 * @model
20 * @generated
21 */
22public interface UpperMultiplicityAssertion extends MultiplicityAssertion {
23 /**
24 * Returns the value of the '<em><b>Upper</b></em>' attribute.
25 * <!-- begin-user-doc -->
26 * <p>
27 * If the meaning of the '<em>Upper</em>' attribute isn't clear,
28 * there really should be more of a description here...
29 * </p>
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Upper</em>' attribute.
32 * @see #setUpper(int)
33 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getUpperMultiplicityAssertion_Upper()
34 * @model required="true"
35 * @generated
36 */
37 int getUpper();
38
39 /**
40 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion#getUpper <em>Upper</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Upper</em>' attribute.
44 * @see #getUpper()
45 * @generated
46 */
47 void setUpper(int value);
48
49} // UpperMultiplicityAssertion
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/Ecore2logicannotationsFactoryImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/Ecore2logicannotationsFactoryImpl.java
new file mode 100644
index 00000000..1693c2aa
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/Ecore2logicannotationsFactoryImpl.java
@@ -0,0 +1,128 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl;
4
5import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.*;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage;
10
11import org.eclipse.emf.ecore.impl.EFactoryImpl;
12
13import org.eclipse.emf.ecore.plugin.EcorePlugin;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model <b>Factory</b>.
18 * <!-- end-user-doc -->
19 * @generated
20 */
21public class Ecore2logicannotationsFactoryImpl extends EFactoryImpl implements Ecore2logicannotationsFactory {
22 /**
23 * Creates the default factory implementation.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @generated
27 */
28 public static Ecore2logicannotationsFactory init() {
29 try {
30 Ecore2logicannotationsFactory theEcore2logicannotationsFactory = (Ecore2logicannotationsFactory)EPackage.Registry.INSTANCE.getEFactory(Ecore2logicannotationsPackage.eNS_URI);
31 if (theEcore2logicannotationsFactory != null) {
32 return theEcore2logicannotationsFactory;
33 }
34 }
35 catch (Exception exception) {
36 EcorePlugin.INSTANCE.log(exception);
37 }
38 return new Ecore2logicannotationsFactoryImpl();
39 }
40
41 /**
42 * Creates an instance of the factory.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 public Ecore2logicannotationsFactoryImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 public EObject create(EClass eClass) {
58 switch (eClass.getClassifierID()) {
59 case Ecore2logicannotationsPackage.MULTIPLICITY_ASSERTION: return createMultiplicityAssertion();
60 case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION: return createInverseRelationAssertion();
61 case Ecore2logicannotationsPackage.LOWER_MULTIPLICITY_ASSERTION: return createLowerMultiplicityAssertion();
62 case Ecore2logicannotationsPackage.UPPER_MULTIPLICITY_ASSERTION: return createUpperMultiplicityAssertion();
63 default:
64 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
65 }
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 public MultiplicityAssertion createMultiplicityAssertion() {
74 MultiplicityAssertionImpl multiplicityAssertion = new MultiplicityAssertionImpl();
75 return multiplicityAssertion;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public InverseRelationAssertion createInverseRelationAssertion() {
84 InverseRelationAssertionImpl inverseRelationAssertion = new InverseRelationAssertionImpl();
85 return inverseRelationAssertion;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public LowerMultiplicityAssertion createLowerMultiplicityAssertion() {
94 LowerMultiplicityAssertionImpl lowerMultiplicityAssertion = new LowerMultiplicityAssertionImpl();
95 return lowerMultiplicityAssertion;
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 public UpperMultiplicityAssertion createUpperMultiplicityAssertion() {
104 UpperMultiplicityAssertionImpl upperMultiplicityAssertion = new UpperMultiplicityAssertionImpl();
105 return upperMultiplicityAssertion;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 public Ecore2logicannotationsPackage getEcore2logicannotationsPackage() {
114 return (Ecore2logicannotationsPackage)getEPackage();
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @deprecated
121 * @generated
122 */
123 @Deprecated
124 public static Ecore2logicannotationsPackage getPackage() {
125 return Ecore2logicannotationsPackage.eINSTANCE;
126 }
127
128} //Ecore2logicannotationsFactoryImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/Ecore2logicannotationsPackageImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/Ecore2logicannotationsPackageImpl.java
new file mode 100644
index 00000000..33f94c36
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/Ecore2logicannotationsPackageImpl.java
@@ -0,0 +1,301 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl;
4
5import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsFactory;
6import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage;
7import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion;
8import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion;
9import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion;
10import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion;
11
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
13
14import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
15
16import org.eclipse.emf.ecore.EAttribute;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.EPackage;
19import org.eclipse.emf.ecore.EReference;
20
21import org.eclipse.emf.ecore.impl.EPackageImpl;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model <b>Package</b>.
26 * <!-- end-user-doc -->
27 * @generated
28 */
29public class Ecore2logicannotationsPackageImpl extends EPackageImpl implements Ecore2logicannotationsPackage {
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 private EClass multiplicityAssertionEClass = null;
36
37 /**
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @generated
41 */
42 private EClass inverseRelationAssertionEClass = null;
43
44 /**
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @generated
48 */
49 private EClass lowerMultiplicityAssertionEClass = null;
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 private EClass upperMultiplicityAssertionEClass = null;
57
58 /**
59 * Creates an instance of the model <b>Package</b>, registered with
60 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
61 * package URI value.
62 * <p>Note: the correct way to create the package is via the static
63 * factory method {@link #init init()}, which also performs
64 * initialization of the package, or returns the registered package,
65 * if one already exists.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @see org.eclipse.emf.ecore.EPackage.Registry
69 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#eNS_URI
70 * @see #init()
71 * @generated
72 */
73 private Ecore2logicannotationsPackageImpl() {
74 super(eNS_URI, Ecore2logicannotationsFactory.eINSTANCE);
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 private static boolean isInited = false;
83
84 /**
85 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
86 *
87 * <p>This method is used to initialize {@link Ecore2logicannotationsPackage#eINSTANCE} when that field is accessed.
88 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @see #eNS_URI
92 * @see #createPackageContents()
93 * @see #initializePackageContents()
94 * @generated
95 */
96 public static Ecore2logicannotationsPackage init() {
97 if (isInited) return (Ecore2logicannotationsPackage)EPackage.Registry.INSTANCE.getEPackage(Ecore2logicannotationsPackage.eNS_URI);
98
99 // Obtain or create and register package
100 Ecore2logicannotationsPackageImpl theEcore2logicannotationsPackage = (Ecore2logicannotationsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof Ecore2logicannotationsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new Ecore2logicannotationsPackageImpl());
101
102 isInited = true;
103
104 // Initialize simple dependencies
105 LogiclanguagePackage.eINSTANCE.eClass();
106 LogicproblemPackage.eINSTANCE.eClass();
107
108 // Create package meta-data objects
109 theEcore2logicannotationsPackage.createPackageContents();
110
111 // Initialize created meta-data
112 theEcore2logicannotationsPackage.initializePackageContents();
113
114 // Mark meta-data to indicate it can't be changed
115 theEcore2logicannotationsPackage.freeze();
116
117
118 // Update the registry and return the package
119 EPackage.Registry.INSTANCE.put(Ecore2logicannotationsPackage.eNS_URI, theEcore2logicannotationsPackage);
120 return theEcore2logicannotationsPackage;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public EClass getMultiplicityAssertion() {
129 return multiplicityAssertionEClass;
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 public EReference getMultiplicityAssertion_Relation() {
138 return (EReference)multiplicityAssertionEClass.getEStructuralFeatures().get(0);
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 public EClass getInverseRelationAssertion() {
147 return inverseRelationAssertionEClass;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public EReference getInverseRelationAssertion_InverseA() {
156 return (EReference)inverseRelationAssertionEClass.getEStructuralFeatures().get(0);
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 public EReference getInverseRelationAssertion_InverseB() {
165 return (EReference)inverseRelationAssertionEClass.getEStructuralFeatures().get(1);
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 public EClass getLowerMultiplicityAssertion() {
174 return lowerMultiplicityAssertionEClass;
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 public EAttribute getLowerMultiplicityAssertion_Lower() {
183 return (EAttribute)lowerMultiplicityAssertionEClass.getEStructuralFeatures().get(0);
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 public EClass getUpperMultiplicityAssertion() {
192 return upperMultiplicityAssertionEClass;
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 public EAttribute getUpperMultiplicityAssertion_Upper() {
201 return (EAttribute)upperMultiplicityAssertionEClass.getEStructuralFeatures().get(0);
202 }
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 public Ecore2logicannotationsFactory getEcore2logicannotationsFactory() {
210 return (Ecore2logicannotationsFactory)getEFactoryInstance();
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 private boolean isCreated = false;
219
220 /**
221 * Creates the meta-model objects for the package. This method is
222 * guarded to have no affect on any invocation but its first.
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 public void createPackageContents() {
228 if (isCreated) return;
229 isCreated = true;
230
231 // Create classes and their features
232 multiplicityAssertionEClass = createEClass(MULTIPLICITY_ASSERTION);
233 createEReference(multiplicityAssertionEClass, MULTIPLICITY_ASSERTION__RELATION);
234
235 inverseRelationAssertionEClass = createEClass(INVERSE_RELATION_ASSERTION);
236 createEReference(inverseRelationAssertionEClass, INVERSE_RELATION_ASSERTION__INVERSE_A);
237 createEReference(inverseRelationAssertionEClass, INVERSE_RELATION_ASSERTION__INVERSE_B);
238
239 lowerMultiplicityAssertionEClass = createEClass(LOWER_MULTIPLICITY_ASSERTION);
240 createEAttribute(lowerMultiplicityAssertionEClass, LOWER_MULTIPLICITY_ASSERTION__LOWER);
241
242 upperMultiplicityAssertionEClass = createEClass(UPPER_MULTIPLICITY_ASSERTION);
243 createEAttribute(upperMultiplicityAssertionEClass, UPPER_MULTIPLICITY_ASSERTION__UPPER);
244 }
245
246 /**
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 */
251 private boolean isInitialized = false;
252
253 /**
254 * Complete the initialization of the package and its meta-model. This
255 * method is guarded to have no affect on any invocation but its first.
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 public void initializePackageContents() {
261 if (isInitialized) return;
262 isInitialized = true;
263
264 // Initialize package
265 setName(eNAME);
266 setNsPrefix(eNS_PREFIX);
267 setNsURI(eNS_URI);
268
269 // Obtain other dependent packages
270 LogicproblemPackage theLogicproblemPackage = (LogicproblemPackage)EPackage.Registry.INSTANCE.getEPackage(LogicproblemPackage.eNS_URI);
271 LogiclanguagePackage theLogiclanguagePackage = (LogiclanguagePackage)EPackage.Registry.INSTANCE.getEPackage(LogiclanguagePackage.eNS_URI);
272
273 // Create type parameters
274
275 // Set bounds for type parameters
276
277 // Add supertypes to classes
278 multiplicityAssertionEClass.getESuperTypes().add(theLogicproblemPackage.getAssertionAnnotation());
279 inverseRelationAssertionEClass.getESuperTypes().add(theLogicproblemPackage.getAssertionAnnotation());
280 lowerMultiplicityAssertionEClass.getESuperTypes().add(this.getMultiplicityAssertion());
281 upperMultiplicityAssertionEClass.getESuperTypes().add(this.getMultiplicityAssertion());
282
283 // Initialize classes, features, and operations; add parameters
284 initEClass(multiplicityAssertionEClass, MultiplicityAssertion.class, "MultiplicityAssertion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
285 initEReference(getMultiplicityAssertion_Relation(), theLogiclanguagePackage.getRelation(), null, "relation", null, 1, 1, MultiplicityAssertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
286
287 initEClass(inverseRelationAssertionEClass, InverseRelationAssertion.class, "InverseRelationAssertion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
288 initEReference(getInverseRelationAssertion_InverseA(), theLogiclanguagePackage.getRelation(), null, "inverseA", null, 1, 1, InverseRelationAssertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
289 initEReference(getInverseRelationAssertion_InverseB(), theLogiclanguagePackage.getRelation(), null, "inverseB", null, 1, 1, InverseRelationAssertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
290
291 initEClass(lowerMultiplicityAssertionEClass, LowerMultiplicityAssertion.class, "LowerMultiplicityAssertion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
292 initEAttribute(getLowerMultiplicityAssertion_Lower(), ecorePackage.getEInt(), "lower", null, 1, 1, LowerMultiplicityAssertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
293
294 initEClass(upperMultiplicityAssertionEClass, UpperMultiplicityAssertion.class, "UpperMultiplicityAssertion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
295 initEAttribute(getUpperMultiplicityAssertion_Upper(), ecorePackage.getEInt(), "upper", null, 1, 1, UpperMultiplicityAssertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
296
297 // Create resource
298 createResource(eNS_URI);
299 }
300
301} //Ecore2logicannotationsPackageImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/InverseRelationAssertionImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/InverseRelationAssertionImpl.java
new file mode 100644
index 00000000..a2eb9157
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/InverseRelationAssertionImpl.java
@@ -0,0 +1,216 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl;
4
5import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage;
6import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion;
7
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation;
9
10import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.AssertionAnnotationImpl;
11import org.eclipse.emf.common.notify.Notification;
12import org.eclipse.emf.ecore.EClass;
13
14import org.eclipse.emf.ecore.InternalEObject;
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Inverse Relation Assertion</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.InverseRelationAssertionImpl#getInverseA <em>Inverse A</em>}</li>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.InverseRelationAssertionImpl#getInverseB <em>Inverse B</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class InverseRelationAssertionImpl extends AssertionAnnotationImpl implements InverseRelationAssertion {
32 /**
33 * The cached value of the '{@link #getInverseA() <em>Inverse A</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getInverseA()
37 * @generated
38 * @ordered
39 */
40 protected Relation inverseA;
41 /**
42 * The cached value of the '{@link #getInverseB() <em>Inverse B</em>}' reference.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getInverseB()
46 * @generated
47 * @ordered
48 */
49 protected Relation inverseB;
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected InverseRelationAssertionImpl() {
56 super();
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 @Override
65 protected EClass eStaticClass() {
66 return Ecore2logicannotationsPackage.Literals.INVERSE_RELATION_ASSERTION;
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 public Relation getInverseA() {
75 if (inverseA != null && inverseA.eIsProxy()) {
76 InternalEObject oldInverseA = (InternalEObject)inverseA;
77 inverseA = (Relation)eResolveProxy(oldInverseA);
78 if (inverseA != oldInverseA) {
79 if (eNotificationRequired())
80 eNotify(new ENotificationImpl(this, Notification.RESOLVE, Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_A, oldInverseA, inverseA));
81 }
82 }
83 return inverseA;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public Relation basicGetInverseA() {
92 return inverseA;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 public void setInverseA(Relation newInverseA) {
101 Relation oldInverseA = inverseA;
102 inverseA = newInverseA;
103 if (eNotificationRequired())
104 eNotify(new ENotificationImpl(this, Notification.SET, Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_A, oldInverseA, inverseA));
105 }
106
107 /**
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @generated
111 */
112 public Relation getInverseB() {
113 if (inverseB != null && inverseB.eIsProxy()) {
114 InternalEObject oldInverseB = (InternalEObject)inverseB;
115 inverseB = (Relation)eResolveProxy(oldInverseB);
116 if (inverseB != oldInverseB) {
117 if (eNotificationRequired())
118 eNotify(new ENotificationImpl(this, Notification.RESOLVE, Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_B, oldInverseB, inverseB));
119 }
120 }
121 return inverseB;
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 public Relation basicGetInverseB() {
130 return inverseB;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public void setInverseB(Relation newInverseB) {
139 Relation oldInverseB = inverseB;
140 inverseB = newInverseB;
141 if (eNotificationRequired())
142 eNotify(new ENotificationImpl(this, Notification.SET, Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_B, oldInverseB, inverseB));
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public Object eGet(int featureID, boolean resolve, boolean coreType) {
152 switch (featureID) {
153 case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_A:
154 if (resolve) return getInverseA();
155 return basicGetInverseA();
156 case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_B:
157 if (resolve) return getInverseB();
158 return basicGetInverseB();
159 }
160 return super.eGet(featureID, resolve, coreType);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @SuppressWarnings("unchecked")
169 @Override
170 public void eSet(int featureID, Object newValue) {
171 switch (featureID) {
172 case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_A:
173 setInverseA((Relation)newValue);
174 return;
175 case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_B:
176 setInverseB((Relation)newValue);
177 return;
178 }
179 super.eSet(featureID, newValue);
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @Override
188 public void eUnset(int featureID) {
189 switch (featureID) {
190 case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_A:
191 setInverseA((Relation)null);
192 return;
193 case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_B:
194 setInverseB((Relation)null);
195 return;
196 }
197 super.eUnset(featureID);
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public boolean eIsSet(int featureID) {
207 switch (featureID) {
208 case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_A:
209 return inverseA != null;
210 case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_B:
211 return inverseB != null;
212 }
213 return super.eIsSet(featureID);
214 }
215
216} //InverseRelationAssertionImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/LowerMultiplicityAssertionImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/LowerMultiplicityAssertionImpl.java
new file mode 100644
index 00000000..bc0cffc8
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/LowerMultiplicityAssertionImpl.java
@@ -0,0 +1,162 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl;
4
5import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage;
6import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Lower Multiplicity Assertion</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.LowerMultiplicityAssertionImpl#getLower <em>Lower</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class LowerMultiplicityAssertionImpl extends MultiplicityAssertionImpl implements LowerMultiplicityAssertion {
28 /**
29 * The default value of the '{@link #getLower() <em>Lower</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getLower()
33 * @generated
34 * @ordered
35 */
36 protected static final int LOWER_EDEFAULT = 0;
37
38 /**
39 * The cached value of the '{@link #getLower() <em>Lower</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getLower()
43 * @generated
44 * @ordered
45 */
46 protected int lower = LOWER_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected LowerMultiplicityAssertionImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return Ecore2logicannotationsPackage.Literals.LOWER_MULTIPLICITY_ASSERTION;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public int getLower() {
73 return lower;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setLower(int newLower) {
82 int oldLower = lower;
83 lower = newLower;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, Ecore2logicannotationsPackage.LOWER_MULTIPLICITY_ASSERTION__LOWER, oldLower, lower));
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 @Override
94 public Object eGet(int featureID, boolean resolve, boolean coreType) {
95 switch (featureID) {
96 case Ecore2logicannotationsPackage.LOWER_MULTIPLICITY_ASSERTION__LOWER:
97 return getLower();
98 }
99 return super.eGet(featureID, resolve, coreType);
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 @Override
108 public void eSet(int featureID, Object newValue) {
109 switch (featureID) {
110 case Ecore2logicannotationsPackage.LOWER_MULTIPLICITY_ASSERTION__LOWER:
111 setLower((Integer)newValue);
112 return;
113 }
114 super.eSet(featureID, newValue);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public void eUnset(int featureID) {
124 switch (featureID) {
125 case Ecore2logicannotationsPackage.LOWER_MULTIPLICITY_ASSERTION__LOWER:
126 setLower(LOWER_EDEFAULT);
127 return;
128 }
129 super.eUnset(featureID);
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public boolean eIsSet(int featureID) {
139 switch (featureID) {
140 case Ecore2logicannotationsPackage.LOWER_MULTIPLICITY_ASSERTION__LOWER:
141 return lower != LOWER_EDEFAULT;
142 }
143 return super.eIsSet(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public String toString() {
153 if (eIsProxy()) return super.toString();
154
155 StringBuffer result = new StringBuffer(super.toString());
156 result.append(" (lower: ");
157 result.append(lower);
158 result.append(')');
159 return result.toString();
160 }
161
162} //LowerMultiplicityAssertionImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/MultiplicityAssertionImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/MultiplicityAssertionImpl.java
new file mode 100644
index 00000000..b5dafe5c
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/MultiplicityAssertionImpl.java
@@ -0,0 +1,156 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl;
4
5import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage;
6import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion;
7
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation;
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.AssertionAnnotationImpl;
10
11import org.eclipse.emf.common.notify.Notification;
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14import org.eclipse.emf.ecore.impl.ENotificationImpl;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Multiplicity Assertion</b></em>'.
19 * <!-- end-user-doc -->
20 * <p>
21 * The following features are implemented:
22 * </p>
23 * <ul>
24 * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.MultiplicityAssertionImpl#getRelation <em>Relation</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class MultiplicityAssertionImpl extends AssertionAnnotationImpl implements MultiplicityAssertion {
30 /**
31 * The cached value of the '{@link #getRelation() <em>Relation</em>}' reference.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getRelation()
35 * @generated
36 * @ordered
37 */
38 protected Relation relation;
39
40 /**
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @generated
44 */
45 protected MultiplicityAssertionImpl() {
46 super();
47 }
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 @Override
55 protected EClass eStaticClass() {
56 return Ecore2logicannotationsPackage.Literals.MULTIPLICITY_ASSERTION;
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 public Relation getRelation() {
65 if (relation != null && relation.eIsProxy()) {
66 InternalEObject oldRelation = (InternalEObject)relation;
67 relation = (Relation)eResolveProxy(oldRelation);
68 if (relation != oldRelation) {
69 if (eNotificationRequired())
70 eNotify(new ENotificationImpl(this, Notification.RESOLVE, Ecore2logicannotationsPackage.MULTIPLICITY_ASSERTION__RELATION, oldRelation, relation));
71 }
72 }
73 return relation;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public Relation basicGetRelation() {
82 return relation;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 public void setRelation(Relation newRelation) {
91 Relation oldRelation = relation;
92 relation = newRelation;
93 if (eNotificationRequired())
94 eNotify(new ENotificationImpl(this, Notification.SET, Ecore2logicannotationsPackage.MULTIPLICITY_ASSERTION__RELATION, oldRelation, relation));
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public Object eGet(int featureID, boolean resolve, boolean coreType) {
104 switch (featureID) {
105 case Ecore2logicannotationsPackage.MULTIPLICITY_ASSERTION__RELATION:
106 if (resolve) return getRelation();
107 return basicGetRelation();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue) {
119 switch (featureID) {
120 case Ecore2logicannotationsPackage.MULTIPLICITY_ASSERTION__RELATION:
121 setRelation((Relation)newValue);
122 return;
123 }
124 super.eSet(featureID, newValue);
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 @Override
133 public void eUnset(int featureID) {
134 switch (featureID) {
135 case Ecore2logicannotationsPackage.MULTIPLICITY_ASSERTION__RELATION:
136 setRelation((Relation)null);
137 return;
138 }
139 super.eUnset(featureID);
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public boolean eIsSet(int featureID) {
149 switch (featureID) {
150 case Ecore2logicannotationsPackage.MULTIPLICITY_ASSERTION__RELATION:
151 return relation != null;
152 }
153 return super.eIsSet(featureID);
154 }
155
156} //MultiplicityAssertionImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/UpperMultiplicityAssertionImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/UpperMultiplicityAssertionImpl.java
new file mode 100644
index 00000000..f7f39f4e
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/UpperMultiplicityAssertionImpl.java
@@ -0,0 +1,162 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl;
4
5import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage;
6import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Upper Multiplicity Assertion</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.UpperMultiplicityAssertionImpl#getUpper <em>Upper</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class UpperMultiplicityAssertionImpl extends MultiplicityAssertionImpl implements UpperMultiplicityAssertion {
28 /**
29 * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getUpper()
33 * @generated
34 * @ordered
35 */
36 protected static final int UPPER_EDEFAULT = 0;
37
38 /**
39 * The cached value of the '{@link #getUpper() <em>Upper</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getUpper()
43 * @generated
44 * @ordered
45 */
46 protected int upper = UPPER_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected UpperMultiplicityAssertionImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return Ecore2logicannotationsPackage.Literals.UPPER_MULTIPLICITY_ASSERTION;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public int getUpper() {
73 return upper;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setUpper(int newUpper) {
82 int oldUpper = upper;
83 upper = newUpper;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, Ecore2logicannotationsPackage.UPPER_MULTIPLICITY_ASSERTION__UPPER, oldUpper, upper));
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 @Override
94 public Object eGet(int featureID, boolean resolve, boolean coreType) {
95 switch (featureID) {
96 case Ecore2logicannotationsPackage.UPPER_MULTIPLICITY_ASSERTION__UPPER:
97 return getUpper();
98 }
99 return super.eGet(featureID, resolve, coreType);
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 @Override
108 public void eSet(int featureID, Object newValue) {
109 switch (featureID) {
110 case Ecore2logicannotationsPackage.UPPER_MULTIPLICITY_ASSERTION__UPPER:
111 setUpper((Integer)newValue);
112 return;
113 }
114 super.eSet(featureID, newValue);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public void eUnset(int featureID) {
124 switch (featureID) {
125 case Ecore2logicannotationsPackage.UPPER_MULTIPLICITY_ASSERTION__UPPER:
126 setUpper(UPPER_EDEFAULT);
127 return;
128 }
129 super.eUnset(featureID);
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public boolean eIsSet(int featureID) {
139 switch (featureID) {
140 case Ecore2logicannotationsPackage.UPPER_MULTIPLICITY_ASSERTION__UPPER:
141 return upper != UPPER_EDEFAULT;
142 }
143 return super.eIsSet(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public String toString() {
153 if (eIsProxy()) return super.toString();
154
155 StringBuffer result = new StringBuffer(super.toString());
156 result.append(" (upper: ");
157 result.append(upper);
158 result.append(')');
159 return result.toString();
160 }
161
162} //UpperMultiplicityAssertionImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/util/Ecore2logicannotationsAdapterFactory.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/util/Ecore2logicannotationsAdapterFactory.java
new file mode 100644
index 00000000..38b4f411
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/util/Ecore2logicannotationsAdapterFactory.java
@@ -0,0 +1,213 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.util;
4
5import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.*;
6
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation;
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation;
9
10import org.eclipse.emf.common.notify.Adapter;
11import org.eclipse.emf.common.notify.Notifier;
12
13import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
14
15import org.eclipse.emf.ecore.EObject;
16
17/**
18 * <!-- begin-user-doc -->
19 * The <b>Adapter Factory</b> for the model.
20 * It provides an adapter <code>createXXX</code> method for each class of the model.
21 * <!-- end-user-doc -->
22 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage
23 * @generated
24 */
25public class Ecore2logicannotationsAdapterFactory extends AdapterFactoryImpl {
26 /**
27 * The cached model package.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 protected static Ecore2logicannotationsPackage modelPackage;
33
34 /**
35 * Creates an instance of the adapter factory.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 public Ecore2logicannotationsAdapterFactory() {
41 if (modelPackage == null) {
42 modelPackage = Ecore2logicannotationsPackage.eINSTANCE;
43 }
44 }
45
46 /**
47 * Returns whether this factory is applicable for the type of the object.
48 * <!-- begin-user-doc -->
49 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
50 * <!-- end-user-doc -->
51 * @return whether this factory is applicable for the type of the object.
52 * @generated
53 */
54 @Override
55 public boolean isFactoryForType(Object object) {
56 if (object == modelPackage) {
57 return true;
58 }
59 if (object instanceof EObject) {
60 return ((EObject)object).eClass().getEPackage() == modelPackage;
61 }
62 return false;
63 }
64
65 /**
66 * The switch that delegates to the <code>createXXX</code> methods.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 protected Ecore2logicannotationsSwitch<Adapter> modelSwitch =
72 new Ecore2logicannotationsSwitch<Adapter>() {
73 @Override
74 public Adapter caseMultiplicityAssertion(MultiplicityAssertion object) {
75 return createMultiplicityAssertionAdapter();
76 }
77 @Override
78 public Adapter caseInverseRelationAssertion(InverseRelationAssertion object) {
79 return createInverseRelationAssertionAdapter();
80 }
81 @Override
82 public Adapter caseLowerMultiplicityAssertion(LowerMultiplicityAssertion object) {
83 return createLowerMultiplicityAssertionAdapter();
84 }
85 @Override
86 public Adapter caseUpperMultiplicityAssertion(UpperMultiplicityAssertion object) {
87 return createUpperMultiplicityAssertionAdapter();
88 }
89 @Override
90 public Adapter caseAnnotation(Annotation object) {
91 return createAnnotationAdapter();
92 }
93 @Override
94 public Adapter caseAssertionAnnotation(AssertionAnnotation object) {
95 return createAssertionAnnotationAdapter();
96 }
97 @Override
98 public Adapter defaultCase(EObject object) {
99 return createEObjectAdapter();
100 }
101 };
102
103 /**
104 * Creates an adapter for the <code>target</code>.
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @param target the object to adapt.
108 * @return the adapter for the <code>target</code>.
109 * @generated
110 */
111 @Override
112 public Adapter createAdapter(Notifier target) {
113 return modelSwitch.doSwitch((EObject)target);
114 }
115
116
117 /**
118 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion <em>Multiplicity Assertion</em>}'.
119 * <!-- begin-user-doc -->
120 * This default implementation returns null so that we can easily ignore cases;
121 * it's useful to ignore a case when inheritance will catch all the cases anyway.
122 * <!-- end-user-doc -->
123 * @return the new adapter.
124 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion
125 * @generated
126 */
127 public Adapter createMultiplicityAssertionAdapter() {
128 return null;
129 }
130
131 /**
132 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion <em>Inverse Relation Assertion</em>}'.
133 * <!-- begin-user-doc -->
134 * This default implementation returns null so that we can easily ignore cases;
135 * it's useful to ignore a case when inheritance will catch all the cases anyway.
136 * <!-- end-user-doc -->
137 * @return the new adapter.
138 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion
139 * @generated
140 */
141 public Adapter createInverseRelationAssertionAdapter() {
142 return null;
143 }
144
145 /**
146 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion <em>Lower Multiplicity Assertion</em>}'.
147 * <!-- begin-user-doc -->
148 * This default implementation returns null so that we can easily ignore cases;
149 * it's useful to ignore a case when inheritance will catch all the cases anyway.
150 * <!-- end-user-doc -->
151 * @return the new adapter.
152 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion
153 * @generated
154 */
155 public Adapter createLowerMultiplicityAssertionAdapter() {
156 return null;
157 }
158
159 /**
160 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion <em>Upper Multiplicity Assertion</em>}'.
161 * <!-- begin-user-doc -->
162 * This default implementation returns null so that we can easily ignore cases;
163 * it's useful to ignore a case when inheritance will catch all the cases anyway.
164 * <!-- end-user-doc -->
165 * @return the new adapter.
166 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion
167 * @generated
168 */
169 public Adapter createUpperMultiplicityAssertionAdapter() {
170 return null;
171 }
172
173 /**
174 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation <em>Annotation</em>}'.
175 * <!-- begin-user-doc -->
176 * This default implementation returns null so that we can easily ignore cases;
177 * it's useful to ignore a case when inheritance will catch all the cases anyway.
178 * <!-- end-user-doc -->
179 * @return the new adapter.
180 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation
181 * @generated
182 */
183 public Adapter createAnnotationAdapter() {
184 return null;
185 }
186
187 /**
188 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation <em>Assertion Annotation</em>}'.
189 * <!-- begin-user-doc -->
190 * This default implementation returns null so that we can easily ignore cases;
191 * it's useful to ignore a case when inheritance will catch all the cases anyway.
192 * <!-- end-user-doc -->
193 * @return the new adapter.
194 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation
195 * @generated
196 */
197 public Adapter createAssertionAnnotationAdapter() {
198 return null;
199 }
200
201 /**
202 * Creates a new adapter for the default case.
203 * <!-- begin-user-doc -->
204 * This default implementation returns null.
205 * <!-- end-user-doc -->
206 * @return the new adapter.
207 * @generated
208 */
209 public Adapter createEObjectAdapter() {
210 return null;
211 }
212
213} //Ecore2logicannotationsAdapterFactory
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/util/Ecore2logicannotationsSwitch.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/util/Ecore2logicannotationsSwitch.java
new file mode 100644
index 00000000..06d3fe84
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/util/Ecore2logicannotationsSwitch.java
@@ -0,0 +1,216 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.util;
4
5import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.*;
6
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation;
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation;
9
10import org.eclipse.emf.ecore.EObject;
11import org.eclipse.emf.ecore.EPackage;
12
13import org.eclipse.emf.ecore.util.Switch;
14
15/**
16 * <!-- begin-user-doc -->
17 * The <b>Switch</b> for the model's inheritance hierarchy.
18 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
19 * to invoke the <code>caseXXX</code> method for each class of the model,
20 * starting with the actual class of the object
21 * and proceeding up the inheritance hierarchy
22 * until a non-null result is returned,
23 * which is the result of the switch.
24 * <!-- end-user-doc -->
25 * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage
26 * @generated
27 */
28public class Ecore2logicannotationsSwitch<T> extends Switch<T> {
29 /**
30 * The cached model package
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 protected static Ecore2logicannotationsPackage modelPackage;
36
37 /**
38 * Creates an instance of the switch.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @generated
42 */
43 public Ecore2logicannotationsSwitch() {
44 if (modelPackage == null) {
45 modelPackage = Ecore2logicannotationsPackage.eINSTANCE;
46 }
47 }
48
49 /**
50 * Checks whether this is a switch for the given package.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @param ePackage the package in question.
54 * @return whether this is a switch for the given package.
55 * @generated
56 */
57 @Override
58 protected boolean isSwitchFor(EPackage ePackage) {
59 return ePackage == modelPackage;
60 }
61
62 /**
63 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @return the first non-null result returned by a <code>caseXXX</code> call.
67 * @generated
68 */
69 @Override
70 protected T doSwitch(int classifierID, EObject theEObject) {
71 switch (classifierID) {
72 case Ecore2logicannotationsPackage.MULTIPLICITY_ASSERTION: {
73 MultiplicityAssertion multiplicityAssertion = (MultiplicityAssertion)theEObject;
74 T result = caseMultiplicityAssertion(multiplicityAssertion);
75 if (result == null) result = caseAssertionAnnotation(multiplicityAssertion);
76 if (result == null) result = caseAnnotation(multiplicityAssertion);
77 if (result == null) result = defaultCase(theEObject);
78 return result;
79 }
80 case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION: {
81 InverseRelationAssertion inverseRelationAssertion = (InverseRelationAssertion)theEObject;
82 T result = caseInverseRelationAssertion(inverseRelationAssertion);
83 if (result == null) result = caseAssertionAnnotation(inverseRelationAssertion);
84 if (result == null) result = caseAnnotation(inverseRelationAssertion);
85 if (result == null) result = defaultCase(theEObject);
86 return result;
87 }
88 case Ecore2logicannotationsPackage.LOWER_MULTIPLICITY_ASSERTION: {
89 LowerMultiplicityAssertion lowerMultiplicityAssertion = (LowerMultiplicityAssertion)theEObject;
90 T result = caseLowerMultiplicityAssertion(lowerMultiplicityAssertion);
91 if (result == null) result = caseMultiplicityAssertion(lowerMultiplicityAssertion);
92 if (result == null) result = caseAssertionAnnotation(lowerMultiplicityAssertion);
93 if (result == null) result = caseAnnotation(lowerMultiplicityAssertion);
94 if (result == null) result = defaultCase(theEObject);
95 return result;
96 }
97 case Ecore2logicannotationsPackage.UPPER_MULTIPLICITY_ASSERTION: {
98 UpperMultiplicityAssertion upperMultiplicityAssertion = (UpperMultiplicityAssertion)theEObject;
99 T result = caseUpperMultiplicityAssertion(upperMultiplicityAssertion);
100 if (result == null) result = caseMultiplicityAssertion(upperMultiplicityAssertion);
101 if (result == null) result = caseAssertionAnnotation(upperMultiplicityAssertion);
102 if (result == null) result = caseAnnotation(upperMultiplicityAssertion);
103 if (result == null) result = defaultCase(theEObject);
104 return result;
105 }
106 default: return defaultCase(theEObject);
107 }
108 }
109
110 /**
111 * Returns the result of interpreting the object as an instance of '<em>Multiplicity Assertion</em>'.
112 * <!-- begin-user-doc -->
113 * This implementation returns null;
114 * returning a non-null result will terminate the switch.
115 * <!-- end-user-doc -->
116 * @param object the target of the switch.
117 * @return the result of interpreting the object as an instance of '<em>Multiplicity Assertion</em>'.
118 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
119 * @generated
120 */
121 public T caseMultiplicityAssertion(MultiplicityAssertion object) {
122 return null;
123 }
124
125 /**
126 * Returns the result of interpreting the object as an instance of '<em>Inverse Relation Assertion</em>'.
127 * <!-- begin-user-doc -->
128 * This implementation returns null;
129 * returning a non-null result will terminate the switch.
130 * <!-- end-user-doc -->
131 * @param object the target of the switch.
132 * @return the result of interpreting the object as an instance of '<em>Inverse Relation Assertion</em>'.
133 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
134 * @generated
135 */
136 public T caseInverseRelationAssertion(InverseRelationAssertion object) {
137 return null;
138 }
139
140 /**
141 * Returns the result of interpreting the object as an instance of '<em>Lower Multiplicity Assertion</em>'.
142 * <!-- begin-user-doc -->
143 * This implementation returns null;
144 * returning a non-null result will terminate the switch.
145 * <!-- end-user-doc -->
146 * @param object the target of the switch.
147 * @return the result of interpreting the object as an instance of '<em>Lower Multiplicity Assertion</em>'.
148 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
149 * @generated
150 */
151 public T caseLowerMultiplicityAssertion(LowerMultiplicityAssertion object) {
152 return null;
153 }
154
155 /**
156 * Returns the result of interpreting the object as an instance of '<em>Upper Multiplicity Assertion</em>'.
157 * <!-- begin-user-doc -->
158 * This implementation returns null;
159 * returning a non-null result will terminate the switch.
160 * <!-- end-user-doc -->
161 * @param object the target of the switch.
162 * @return the result of interpreting the object as an instance of '<em>Upper Multiplicity Assertion</em>'.
163 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
164 * @generated
165 */
166 public T caseUpperMultiplicityAssertion(UpperMultiplicityAssertion object) {
167 return null;
168 }
169
170 /**
171 * Returns the result of interpreting the object as an instance of '<em>Annotation</em>'.
172 * <!-- begin-user-doc -->
173 * This implementation returns null;
174 * returning a non-null result will terminate the switch.
175 * <!-- end-user-doc -->
176 * @param object the target of the switch.
177 * @return the result of interpreting the object as an instance of '<em>Annotation</em>'.
178 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
179 * @generated
180 */
181 public T caseAnnotation(Annotation object) {
182 return null;
183 }
184
185 /**
186 * Returns the result of interpreting the object as an instance of '<em>Assertion Annotation</em>'.
187 * <!-- begin-user-doc -->
188 * This implementation returns null;
189 * returning a non-null result will terminate the switch.
190 * <!-- end-user-doc -->
191 * @param object the target of the switch.
192 * @return the result of interpreting the object as an instance of '<em>Assertion Annotation</em>'.
193 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
194 * @generated
195 */
196 public T caseAssertionAnnotation(AssertionAnnotation object) {
197 return null;
198 }
199
200 /**
201 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
202 * <!-- begin-user-doc -->
203 * This implementation returns null;
204 * returning a non-null result will terminate the switch, but this is the last case anyway.
205 * <!-- end-user-doc -->
206 * @param object the target of the switch.
207 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
208 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
209 * @generated
210 */
211 @Override
212 public T defaultCase(EObject object) {
213 return null;
214 }
215
216} //Ecore2logicannotationsSwitch
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.aird b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.aird
new file mode 100644
index 00000000..2336933d
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.aird
@@ -0,0 +1,527 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<viewpoint:DAnalysis xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style" xmi:id="_8ji8MMArEeaaj7sYFz2QKg" selectedViews="_8mY00MArEeaaj7sYFz2QKg _8mhXsMArEeaaj7sYFz2QKg _8mrIsMArEeaaj7sYFz2QKg _8mydcMArEeaaj7sYFz2QKg" version="10.1.0.201509162000">
3 <semanticResources>ecore2logicannotations.ecore</semanticResources>
4 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore</semanticResources>
5 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore</semanticResources>
6 <semanticResources>http://www.eclipse.org/emf/2002/Ecore</semanticResources>
7 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_8mY00MArEeaaj7sYFz2QKg">
8 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_9rgp0MArEeaaj7sYFz2QKg" name="ecore2logicannotations class diagram">
9 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_9rgp0cArEeaaj7sYFz2QKg" source="DANNOTATION_CUSTOMIZATION_KEY">
10 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_9rgp0sArEeaaj7sYFz2QKg">
11 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_DwMwIcAsEeaaj7sYFz2QKg" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
12 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
13 <labelFormat>bold</labelFormat>
14 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
15 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
16 </computedStyleDescriptions>
17 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_DwN-QMAsEeaaj7sYFz2QKg" routingStyle="manhattan">
18 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
19 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_DwN-QcAsEeaaj7sYFz2QKg" showIcon="false" labelExpression="service:render">
20 <labelFormat>bold</labelFormat>
21 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
22 </centerLabelStyleDescription>
23 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_DwN-QsAsEeaaj7sYFz2QKg" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
24 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
25 </endLabelStyleDescription>
26 </computedStyleDescriptions>
27 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_XIVCYMDwEea_b6UyFzv22g" sourceArrow="InputArrow" routingStyle="manhattan">
28 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
29 <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_XIVCYcDwEea_b6UyFzv22g" showIcon="false" labelExpression="service:renderEOpposite">
30 <labelFormat>bold</labelFormat>
31 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
32 </beginLabelStyleDescription>
33 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_XIVCYsDwEea_b6UyFzv22g" showIcon="false" labelExpression="service:render">
34 <labelFormat>bold</labelFormat>
35 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
36 </endLabelStyleDescription>
37 </computedStyleDescriptions>
38 </data>
39 </ownedAnnotationEntries>
40 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_9rjtIMArEeaaj7sYFz2QKg" source="GMF_DIAGRAMS">
41 <data xmi:type="notation:Diagram" xmi:id="_9rjtIcArEeaaj7sYFz2QKg" type="Sirius" element="_9rgp0MArEeaaj7sYFz2QKg" measurementUnit="Pixel">
42 <children xmi:type="notation:Node" xmi:id="_-SNdcMArEeaaj7sYFz2QKg" type="2003" element="_-SH94MArEeaaj7sYFz2QKg">
43 <children xmi:type="notation:Node" xmi:id="_-SOEgMArEeaaj7sYFz2QKg" type="5007"/>
44 <children xmi:type="notation:Node" xmi:id="_-SOrkMArEeaaj7sYFz2QKg" type="7004">
45 <styles xmi:type="notation:SortingStyle" xmi:id="_-SOrkcArEeaaj7sYFz2QKg"/>
46 <styles xmi:type="notation:FilteringStyle" xmi:id="_-SOrksArEeaaj7sYFz2QKg"/>
47 </children>
48 <styles xmi:type="notation:ShapeStyle" xmi:id="_-SNdccArEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
49 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-SNdcsArEeaaj7sYFz2QKg" x="100" y="180"/>
50 </children>
51 <children xmi:type="notation:Node" xmi:id="_-5TSoMArEeaaj7sYFz2QKg" type="2003" element="_-5OaIMArEeaaj7sYFz2QKg">
52 <children xmi:type="notation:Node" xmi:id="_-5T5sMArEeaaj7sYFz2QKg" type="5007"/>
53 <children xmi:type="notation:Node" xmi:id="_-5T5scArEeaaj7sYFz2QKg" type="7004">
54 <styles xmi:type="notation:SortingStyle" xmi:id="_-5T5ssArEeaaj7sYFz2QKg"/>
55 <styles xmi:type="notation:FilteringStyle" xmi:id="_-5T5s8ArEeaaj7sYFz2QKg"/>
56 </children>
57 <styles xmi:type="notation:ShapeStyle" xmi:id="_-5TSocArEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
58 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5TSosArEeaaj7sYFz2QKg" x="260" y="15"/>
59 </children>
60 <children xmi:type="notation:Node" xmi:id="_ABlJUMAsEeaaj7sYFz2QKg" type="2003" element="_ABfpwMAsEeaaj7sYFz2QKg">
61 <children xmi:type="notation:Node" xmi:id="_ABlwYMAsEeaaj7sYFz2QKg" type="5007"/>
62 <children xmi:type="notation:Node" xmi:id="_ABlwYcAsEeaaj7sYFz2QKg" type="7004">
63 <styles xmi:type="notation:SortingStyle" xmi:id="_ABlwYsAsEeaaj7sYFz2QKg"/>
64 <styles xmi:type="notation:FilteringStyle" xmi:id="_ABlwY8AsEeaaj7sYFz2QKg"/>
65 </children>
66 <styles xmi:type="notation:ShapeStyle" xmi:id="_ABlJUcAsEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
67 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ABlJUsAsEeaaj7sYFz2QKg" x="520" y="180" width="168" height="100"/>
68 </children>
69 <children xmi:type="notation:Node" xmi:id="_DwQagMAsEeaaj7sYFz2QKg" type="2003" element="_DwH3oMAsEeaaj7sYFz2QKg">
70 <children xmi:type="notation:Node" xmi:id="_DwRBkMAsEeaaj7sYFz2QKg" type="5007"/>
71 <children xmi:type="notation:Node" xmi:id="_DwRBkcAsEeaaj7sYFz2QKg" type="7004">
72 <children xmi:type="notation:Node" xmi:id="_DwRBlMAsEeaaj7sYFz2QKg" type="3010" element="_DwMwIMAsEeaaj7sYFz2QKg">
73 <styles xmi:type="notation:FontStyle" xmi:id="_DwRBlcAsEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" bold="true"/>
74 <layoutConstraint xmi:type="notation:Location" xmi:id="_DwRBlsAsEeaaj7sYFz2QKg"/>
75 </children>
76 <styles xmi:type="notation:SortingStyle" xmi:id="_DwRBksAsEeaaj7sYFz2QKg"/>
77 <styles xmi:type="notation:FilteringStyle" xmi:id="_DwRBk8AsEeaaj7sYFz2QKg"/>
78 </children>
79 <styles xmi:type="notation:ShapeStyle" xmi:id="_DwQagcAsEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
80 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DwQagsAsEeaaj7sYFz2QKg" x="500" y="15"/>
81 </children>
82 <children xmi:type="notation:Node" xmi:id="_Cu2ycMAtEeaaj7sYFz2QKg" type="2003" element="_CuwEwMAtEeaaj7sYFz2QKg">
83 <children xmi:type="notation:Node" xmi:id="_Cu2yc8AtEeaaj7sYFz2QKg" type="5007"/>
84 <children xmi:type="notation:Node" xmi:id="_Cu2ydMAtEeaaj7sYFz2QKg" type="7004">
85 <children xmi:type="notation:Node" xmi:id="_GeXKEMAtEeaaj7sYFz2QKg" type="3010" element="_JJ28cMAsEeaaj7sYFz2QKg">
86 <styles xmi:type="notation:FontStyle" xmi:id="_GeXKEcAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" bold="true"/>
87 <layoutConstraint xmi:type="notation:Location" xmi:id="_GeXKEsAtEeaaj7sYFz2QKg"/>
88 </children>
89 <styles xmi:type="notation:SortingStyle" xmi:id="_Cu2ydcAtEeaaj7sYFz2QKg"/>
90 <styles xmi:type="notation:FilteringStyle" xmi:id="_Cu2ydsAtEeaaj7sYFz2QKg"/>
91 </children>
92 <styles xmi:type="notation:ShapeStyle" xmi:id="_Cu2yccAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
93 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cu2ycsAtEeaaj7sYFz2QKg" x="25" y="330" width="120" height="100"/>
94 </children>
95 <children xmi:type="notation:Node" xmi:id="_EQinoMAtEeaaj7sYFz2QKg" type="2003" element="_EQaEwMAtEeaaj7sYFz2QKg">
96 <children xmi:type="notation:Node" xmi:id="_EQjOsMAtEeaaj7sYFz2QKg" type="5007"/>
97 <children xmi:type="notation:Node" xmi:id="_EQjOscAtEeaaj7sYFz2QKg" type="7004">
98 <children xmi:type="notation:Node" xmi:id="_GLWugMAtEeaaj7sYFz2QKg" type="3010" element="_KDnO8MAsEeaaj7sYFz2QKg">
99 <styles xmi:type="notation:FontStyle" xmi:id="_GLWugcAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" bold="true"/>
100 <layoutConstraint xmi:type="notation:Location" xmi:id="_GLWugsAtEeaaj7sYFz2QKg"/>
101 </children>
102 <styles xmi:type="notation:SortingStyle" xmi:id="_EQjOssAtEeaaj7sYFz2QKg"/>
103 <styles xmi:type="notation:FilteringStyle" xmi:id="_EQjOs8AtEeaaj7sYFz2QKg"/>
104 </children>
105 <styles xmi:type="notation:ShapeStyle" xmi:id="_EQinocAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
106 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EQinosAtEeaaj7sYFz2QKg" x="163" y="330" width="120" height="100"/>
107 </children>
108 <children xmi:type="notation:Node" xmi:id="_LJwiMMAtEeaaj7sYFz2QKg" type="2003" element="_LJomYMAtEeaaj7sYFz2QKg">
109 <children xmi:type="notation:Node" xmi:id="_LJwiM8AtEeaaj7sYFz2QKg" type="5007"/>
110 <children xmi:type="notation:Node" xmi:id="_LJxJQMAtEeaaj7sYFz2QKg" type="7004">
111 <styles xmi:type="notation:SortingStyle" xmi:id="_LJxJQcAtEeaaj7sYFz2QKg"/>
112 <styles xmi:type="notation:FilteringStyle" xmi:id="_LJxJQsAtEeaaj7sYFz2QKg"/>
113 </children>
114 <styles xmi:type="notation:ShapeStyle" xmi:id="_LJwiMcAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
115 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJwiMsAtEeaaj7sYFz2QKg" x="280" y="-150"/>
116 </children>
117 <children xmi:type="notation:Node" xmi:id="_OgZt4MAtEeaaj7sYFz2QKg" type="2003" element="_OgM5kMAtEeaaj7sYFz2QKg">
118 <children xmi:type="notation:Node" xmi:id="_OgZt48AtEeaaj7sYFz2QKg" type="5007"/>
119 <children xmi:type="notation:Node" xmi:id="_OgZt5MAtEeaaj7sYFz2QKg" type="7004">
120 <styles xmi:type="notation:SortingStyle" xmi:id="_OgZt5cAtEeaaj7sYFz2QKg"/>
121 <styles xmi:type="notation:FilteringStyle" xmi:id="_OgZt5sAtEeaaj7sYFz2QKg"/>
122 </children>
123 <styles xmi:type="notation:ShapeStyle" xmi:id="_OgZt4cAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" italic="true"/>
124 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OgZt4sAtEeaaj7sYFz2QKg" x="315" y="180"/>
125 </children>
126 <styles xmi:type="notation:DiagramStyle" xmi:id="_9rjtIsArEeaaj7sYFz2QKg"/>
127 <edges xmi:type="notation:Edge" xmi:id="_-5VH0MArEeaaj7sYFz2QKg" type="4001" element="_-5SEgcArEeaaj7sYFz2QKg" source="_-SNdcMArEeaaj7sYFz2QKg" target="_-5TSoMArEeaaj7sYFz2QKg">
128 <children xmi:type="notation:Node" xmi:id="_-5Vu4MArEeaaj7sYFz2QKg" type="6001">
129 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5Vu4cArEeaaj7sYFz2QKg" y="-10"/>
130 </children>
131 <children xmi:type="notation:Node" xmi:id="_-5Vu4sArEeaaj7sYFz2QKg" type="6002">
132 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5Vu48ArEeaaj7sYFz2QKg" y="10"/>
133 </children>
134 <children xmi:type="notation:Node" xmi:id="_-5Vu5MArEeaaj7sYFz2QKg" type="6003">
135 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5Vu5cArEeaaj7sYFz2QKg" y="10"/>
136 </children>
137 <styles xmi:type="notation:ConnectorStyle" xmi:id="_-5VH0cArEeaaj7sYFz2QKg" routing="Tree"/>
138 <styles xmi:type="notation:FontStyle" xmi:id="_-5VH0sArEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
139 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-5VH08ArEeaaj7sYFz2QKg" points="[210, 135, 210, 135]$[0, 0, 0, 0]"/>
140 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-5WV8MArEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
141 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-5WV8cArEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
142 </edges>
143 <edges xmi:type="notation:Edge" xmi:id="_u58dgMAsEeaaj7sYFz2QKg" type="4001" element="_u5ysgMAsEeaaj7sYFz2QKg" source="_ABlJUMAsEeaaj7sYFz2QKg" target="_-5TSoMArEeaaj7sYFz2QKg">
144 <children xmi:type="notation:Node" xmi:id="_u58dhMAsEeaaj7sYFz2QKg" type="6001">
145 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u59EkMAsEeaaj7sYFz2QKg" y="-10"/>
146 </children>
147 <children xmi:type="notation:Node" xmi:id="_u59EkcAsEeaaj7sYFz2QKg" type="6002">
148 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u59EksAsEeaaj7sYFz2QKg" y="10"/>
149 </children>
150 <children xmi:type="notation:Node" xmi:id="_u59Ek8AsEeaaj7sYFz2QKg" type="6003">
151 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u59ElMAsEeaaj7sYFz2QKg" y="10"/>
152 </children>
153 <styles xmi:type="notation:ConnectorStyle" xmi:id="_u58dgcAsEeaaj7sYFz2QKg" routing="Tree"/>
154 <styles xmi:type="notation:FontStyle" xmi:id="_u58dgsAsEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
155 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_u58dg8AsEeaaj7sYFz2QKg" points="[0, 0, 101, 67]$[-101, -67, 0, 0]"/>
156 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_u59ElcAsEeaaj7sYFz2QKg" id="(0.8132530120481928,0.0)"/>
157 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_u59ElsAsEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
158 </edges>
159 <edges xmi:type="notation:Edge" xmi:id="_HR0nUMAtEeaaj7sYFz2QKg" type="4001" element="_HRrdYMAtEeaaj7sYFz2QKg" source="_Cu2ycMAtEeaaj7sYFz2QKg" target="_-SNdcMArEeaaj7sYFz2QKg">
160 <children xmi:type="notation:Node" xmi:id="_HR1OYMAtEeaaj7sYFz2QKg" type="6001">
161 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HR1OYcAtEeaaj7sYFz2QKg" y="-10"/>
162 </children>
163 <children xmi:type="notation:Node" xmi:id="_HR1OYsAtEeaaj7sYFz2QKg" type="6002">
164 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HR1OY8AtEeaaj7sYFz2QKg" y="10"/>
165 </children>
166 <children xmi:type="notation:Node" xmi:id="_HR1OZMAtEeaaj7sYFz2QKg" type="6003">
167 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HR1OZcAtEeaaj7sYFz2QKg" y="10"/>
168 </children>
169 <styles xmi:type="notation:ConnectorStyle" xmi:id="_HR0nUcAtEeaaj7sYFz2QKg" routing="Tree"/>
170 <styles xmi:type="notation:FontStyle" xmi:id="_HR0nUsAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
171 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HR0nU8AtEeaaj7sYFz2QKg" points="[0, 0, -35, 52]$[35, -52, 0, 0]"/>
172 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HR1OZsAtEeaaj7sYFz2QKg" id="(0.635593220338983,0.0)"/>
173 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HR1OZ8AtEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
174 </edges>
175 <edges xmi:type="notation:Edge" xmi:id="_HuNoYMAtEeaaj7sYFz2QKg" type="4001" element="_HuEecMAtEeaaj7sYFz2QKg" source="_EQinoMAtEeaaj7sYFz2QKg" target="_-SNdcMArEeaaj7sYFz2QKg">
176 <children xmi:type="notation:Node" xmi:id="_HuNoZMAtEeaaj7sYFz2QKg" type="6001">
177 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HuNoZcAtEeaaj7sYFz2QKg" y="-10"/>
178 </children>
179 <children xmi:type="notation:Node" xmi:id="_HuNoZsAtEeaaj7sYFz2QKg" type="6002">
180 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HuNoZ8AtEeaaj7sYFz2QKg" y="10"/>
181 </children>
182 <children xmi:type="notation:Node" xmi:id="_HuNoaMAtEeaaj7sYFz2QKg" type="6003">
183 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HuNoacAtEeaaj7sYFz2QKg" y="10"/>
184 </children>
185 <styles xmi:type="notation:ConnectorStyle" xmi:id="_HuNoYcAtEeaaj7sYFz2QKg" routing="Tree"/>
186 <styles xmi:type="notation:FontStyle" xmi:id="_HuNoYsAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
187 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HuNoY8AtEeaaj7sYFz2QKg" points="[0, 0, 112, 52]$[-112, -52, 0, 0]"/>
188 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HuNoasAtEeaaj7sYFz2QKg" id="(0.5,0.0)"/>
189 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HuNoa8AtEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
190 </edges>
191 <edges xmi:type="notation:Edge" xmi:id="_LJyXYMAtEeaaj7sYFz2QKg" type="4001" element="_LJutAMAtEeaaj7sYFz2QKg" source="_-5TSoMArEeaaj7sYFz2QKg" target="_LJwiMMAtEeaaj7sYFz2QKg">
192 <children xmi:type="notation:Node" xmi:id="_LJyXZMAtEeaaj7sYFz2QKg" type="6001">
193 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJyXZcAtEeaaj7sYFz2QKg" y="-10"/>
194 </children>
195 <children xmi:type="notation:Node" xmi:id="_LJyXZsAtEeaaj7sYFz2QKg" type="6002">
196 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJyXZ8AtEeaaj7sYFz2QKg" y="10"/>
197 </children>
198 <children xmi:type="notation:Node" xmi:id="_LJyXaMAtEeaaj7sYFz2QKg" type="6003">
199 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJyXacAtEeaaj7sYFz2QKg" y="10"/>
200 </children>
201 <styles xmi:type="notation:ConnectorStyle" xmi:id="_LJyXYcAtEeaaj7sYFz2QKg" routing="Tree"/>
202 <styles xmi:type="notation:FontStyle" xmi:id="_LJyXYsAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
203 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LJyXY8AtEeaaj7sYFz2QKg" points="[260, 15, 260, 15]$[0, 0, 0, 0]"/>
204 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LJzlgMAtEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
205 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LJzlgcAtEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
206 </edges>
207 <edges xmi:type="notation:Edge" xmi:id="_QkxZYMAtEeaaj7sYFz2QKg" type="4001" element="_Qko2gMAtEeaaj7sYFz2QKg" source="_ABlJUMAsEeaaj7sYFz2QKg" target="_OgZt4MAtEeaaj7sYFz2QKg">
208 <children xmi:type="notation:Node" xmi:id="_QkxZZMAtEeaaj7sYFz2QKg" type="6001">
209 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QkxZZcAtEeaaj7sYFz2QKg" x="1" y="12"/>
210 </children>
211 <children xmi:type="notation:Node" xmi:id="_QkxZZsAtEeaaj7sYFz2QKg" type="6002">
212 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QkxZZ8AtEeaaj7sYFz2QKg" y="-10"/>
213 </children>
214 <children xmi:type="notation:Node" xmi:id="_QkxZaMAtEeaaj7sYFz2QKg" type="6003">
215 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QkxZacAtEeaaj7sYFz2QKg" y="-10"/>
216 </children>
217 <styles xmi:type="notation:ConnectorStyle" xmi:id="_QkxZYcAtEeaaj7sYFz2QKg" routing="Rectilinear"/>
218 <styles xmi:type="notation:FontStyle" xmi:id="_QkxZYsAtEeaaj7sYFz2QKg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
219 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QkxZY8AtEeaaj7sYFz2QKg" points="[-166, 30, 205, 30]$[-253, 30, 118, 30]"/>
220 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QkyAcMAtEeaaj7sYFz2QKg" id="(1.0,0.0)"/>
221 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QkyAccAtEeaaj7sYFz2QKg" id="(0.0,0.0)"/>
222 </edges>
223 <edges xmi:type="notation:Edge" xmi:id="_wTbfUMA0Eeaaj7sYFz2QKg" type="4001" element="_wTP5IMA0Eeaaj7sYFz2QKg" source="_-SNdcMArEeaaj7sYFz2QKg" target="_OgZt4MAtEeaaj7sYFz2QKg">
224 <children xmi:type="notation:Node" xmi:id="_wTbfVMA0Eeaaj7sYFz2QKg" type="6001">
225 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wTbfVcA0Eeaaj7sYFz2QKg" x="-2" y="-12"/>
226 </children>
227 <children xmi:type="notation:Node" xmi:id="_wTbfVsA0Eeaaj7sYFz2QKg" type="6002">
228 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wTbfV8A0Eeaaj7sYFz2QKg" x="21" y="10"/>
229 </children>
230 <children xmi:type="notation:Node" xmi:id="_wTcGYMA0Eeaaj7sYFz2QKg" type="6003">
231 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wTcGYcA0Eeaaj7sYFz2QKg" y="10"/>
232 </children>
233 <styles xmi:type="notation:ConnectorStyle" xmi:id="_wTbfUcA0Eeaaj7sYFz2QKg" routing="Rectilinear"/>
234 <styles xmi:type="notation:FontStyle" xmi:id="_wTbfUsA0Eeaaj7sYFz2QKg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
235 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wTbfU8A0Eeaaj7sYFz2QKg" points="[0, 20, -124, 60]$[89, 20, -35, 60]"/>
236 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wTcGYsA0Eeaaj7sYFz2QKg" id="(1.0,0.40816326530612246)"/>
237 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wTcGY8A0Eeaaj7sYFz2QKg" id="(0.2966101694915254,0.0)"/>
238 </edges>
239 <edges xmi:type="notation:Edge" xmi:id="_D6-y0MDnEea_b6UyFzv22g" type="4001" element="_D6viQMDnEea_b6UyFzv22g" source="_ABlJUMAsEeaaj7sYFz2QKg" target="_OgZt4MAtEeaaj7sYFz2QKg">
240 <children xmi:type="notation:Node" xmi:id="_D6_Z4MDnEea_b6UyFzv22g" type="6001">
241 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D6_Z4cDnEea_b6UyFzv22g" y="-6"/>
242 </children>
243 <children xmi:type="notation:Node" xmi:id="_D6_Z4sDnEea_b6UyFzv22g" type="6002">
244 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D6_Z48DnEea_b6UyFzv22g" x="1" y="10"/>
245 </children>
246 <children xmi:type="notation:Node" xmi:id="_D6_Z5MDnEea_b6UyFzv22g" type="6003">
247 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D6_Z5cDnEea_b6UyFzv22g" x="-2" y="10"/>
248 </children>
249 <styles xmi:type="notation:ConnectorStyle" xmi:id="_D6-y0cDnEea_b6UyFzv22g" routing="Rectilinear"/>
250 <styles xmi:type="notation:FontStyle" xmi:id="_D6-y0sDnEea_b6UyFzv22g" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
251 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D6-y08DnEea_b6UyFzv22g" points="[0, 0, 87, 10]$[-87, 0, 0, 10]"/>
252 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D6_Z5sDnEea_b6UyFzv22g" id="(0.0,0.8673469387755102)"/>
253 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D7AA8MDnEea_b6UyFzv22g" id="(1.0,0.7653061224489796)"/>
254 </edges>
255 <edges xmi:type="notation:Edge" xmi:id="_NpFP0MDnEea_b6UyFzv22g" type="4001" element="_NozjAMDnEea_b6UyFzv22g" source="_-5TSoMArEeaaj7sYFz2QKg" target="_DwQagMAsEeaaj7sYFz2QKg">
256 <children xmi:type="notation:Node" xmi:id="_NpFP1MDnEea_b6UyFzv22g" type="6001">
257 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NpFP1cDnEea_b6UyFzv22g" y="-10"/>
258 </children>
259 <children xmi:type="notation:Node" xmi:id="_NpF24MDnEea_b6UyFzv22g" type="6002">
260 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NpF24cDnEea_b6UyFzv22g" y="10"/>
261 </children>
262 <children xmi:type="notation:Node" xmi:id="_NpF24sDnEea_b6UyFzv22g" type="6003">
263 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NpF248DnEea_b6UyFzv22g" y="10"/>
264 </children>
265 <styles xmi:type="notation:ConnectorStyle" xmi:id="_NpFP0cDnEea_b6UyFzv22g" routing="Rectilinear"/>
266 <styles xmi:type="notation:FontStyle" xmi:id="_NpFP0sDnEea_b6UyFzv22g" fontName="Segoe UI" fontHeight="8" bold="true"/>
267 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NpFP08DnEea_b6UyFzv22g" points="[260, 15, 260, 15]$[500, 15, 500, 15]"/>
268 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NpF25MDnEea_b6UyFzv22g" id="(0.5,0.5)"/>
269 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NpF25cDnEea_b6UyFzv22g" id="(0.5,0.5)"/>
270 </edges>
271 </data>
272 </ownedAnnotationEntries>
273 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_-SH94MArEeaaj7sYFz2QKg" name="MultiplicityAssertion" tooltipText="" outgoingEdges="_-5SEgcArEeaaj7sYFz2QKg _wTP5IMA0Eeaaj7sYFz2QKg" incomingEdges="_HRrdYMAtEeaaj7sYFz2QKg _HuEecMAtEeaaj7sYFz2QKg" width="12" height="10">
274 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//MultiplicityAssertion"/>
275 <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//MultiplicityAssertion"/>
276 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
277 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
278 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
279 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_BQSisMAtEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
280 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
281 </ownedStyle>
282 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
283 </ownedDiagramElements>
284 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_-5OaIMArEeaaj7sYFz2QKg" name="AssertionAnnotation" tooltipText="" outgoingEdges="_LJutAMAtEeaaj7sYFz2QKg _NozjAMDnEea_b6UyFzv22g" incomingEdges="_-5SEgcArEeaaj7sYFz2QKg _u5ysgMAsEeaaj7sYFz2QKg" width="12" height="10">
285 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
286 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
287 <decorations xmi:type="viewpoint:Decoration" xmi:id="_-5SEgMArEeaaj7sYFz2QKg">
288 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
289 </decorations>
290 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
291 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
292 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
293 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_XIPi0MDwEea_b6UyFzv22g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
294 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
295 </ownedStyle>
296 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
297 </ownedDiagramElements>
298 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_-5SEgcArEeaaj7sYFz2QKg" sourceNode="_-SH94MArEeaaj7sYFz2QKg" targetNode="_-5OaIMArEeaaj7sYFz2QKg">
299 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//MultiplicityAssertion"/>
300 <semanticElements xmi:type="ecore:EGenericType" href="ecore2logicannotations.ecore#//MultiplicityAssertion/@eGenericSuperTypes.0"/>
301 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_BQWNEMAtEeaaj7sYFz2QKg" targetArrow="InputClosedArrow" routingStyle="tree">
302 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
303 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_BQWNEcAtEeaaj7sYFz2QKg" showIcon="false">
304 <labelFormat>italic</labelFormat>
305 </beginLabelStyle>
306 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_BQWNEsAtEeaaj7sYFz2QKg" showIcon="false"/>
307 </ownedStyle>
308 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
309 </ownedDiagramElements>
310 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ABfpwMAsEeaaj7sYFz2QKg" name="InverseRelationAssertion" tooltipText="" outgoingEdges="_u5ysgMAsEeaaj7sYFz2QKg _Qko2gMAtEeaaj7sYFz2QKg _D6viQMDnEea_b6UyFzv22g" width="12" height="10">
311 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//InverseRelationAssertion"/>
312 <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//InverseRelationAssertion"/>
313 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
314 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
315 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
316 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ABfpwcAsEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
317 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
318 </ownedStyle>
319 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
320 </ownedDiagramElements>
321 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_DwH3oMAsEeaaj7sYFz2QKg" name="Assertion" tooltipText="" incomingEdges="_NozjAMDnEea_b6UyFzv22g" width="12" height="10">
322 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion"/>
323 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion"/>
324 <decorations xmi:type="viewpoint:Decoration" xmi:id="_DwNXMMAsEeaaj7sYFz2QKg">
325 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
326 </decorations>
327 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
328 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
329 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
330 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_DwH3ocAsEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
331 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
332 </ownedStyle>
333 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
334 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_DwMwIMAsEeaaj7sYFz2QKg" name="name : EString" tooltipText="">
335 <target xmi:type="ecore:EAttribute" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion/name"/>
336 <semanticElements xmi:type="ecore:EAttribute" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion/name"/>
337 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_DwMwIsAsEeaaj7sYFz2QKg" labelAlignment="LEFT" description="_DwMwIcAsEeaaj7sYFz2QKg">
338 <labelFormat>bold</labelFormat>
339 </ownedStyle>
340 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
341 </ownedElements>
342 </ownedDiagramElements>
343 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_u5ysgMAsEeaaj7sYFz2QKg" sourceNode="_ABfpwMAsEeaaj7sYFz2QKg" targetNode="_-5OaIMArEeaaj7sYFz2QKg">
344 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//InverseRelationAssertion"/>
345 <semanticElements xmi:type="ecore:EGenericType" href="ecore2logicannotations.ecore#//InverseRelationAssertion/@eGenericSuperTypes.0"/>
346 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_u5zTkMAsEeaaj7sYFz2QKg" targetArrow="InputClosedArrow" routingStyle="tree">
347 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
348 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_u5zTkcAsEeaaj7sYFz2QKg" showIcon="false">
349 <labelFormat>italic</labelFormat>
350 </beginLabelStyle>
351 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_u5zTksAsEeaaj7sYFz2QKg" showIcon="false"/>
352 </ownedStyle>
353 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
354 </ownedDiagramElements>
355 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_CuwEwMAtEeaaj7sYFz2QKg" name="LowerMultiplicityAssertion" tooltipText="" outgoingEdges="_HRrdYMAtEeaaj7sYFz2QKg" width="12" height="10">
356 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion"/>
357 <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion"/>
358 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
359 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
360 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
361 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_CuwEwcAtEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
362 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
363 </ownedStyle>
364 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
365 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_JJ28cMAsEeaaj7sYFz2QKg" name="lower : EInt" tooltipText="">
366 <target xmi:type="ecore:EAttribute" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion/lower"/>
367 <semanticElements xmi:type="ecore:EAttribute" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion/lower"/>
368 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_Alvw4MAtEeaaj7sYFz2QKg" labelAlignment="LEFT" description="_DwMwIcAsEeaaj7sYFz2QKg">
369 <labelFormat>bold</labelFormat>
370 </ownedStyle>
371 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
372 </ownedElements>
373 </ownedDiagramElements>
374 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_EQaEwMAtEeaaj7sYFz2QKg" name="UpperMultiplicityAssertion" tooltipText="" outgoingEdges="_HuEecMAtEeaaj7sYFz2QKg" width="12" height="10">
375 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion"/>
376 <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion"/>
377 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
378 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
379 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
380 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_EQar0MAtEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
381 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
382 </ownedStyle>
383 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
384 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_KDnO8MAsEeaaj7sYFz2QKg" name="upper : EInt" tooltipText="">
385 <target xmi:type="ecore:EAttribute" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion/upper"/>
386 <semanticElements xmi:type="ecore:EAttribute" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion/upper"/>
387 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_F2B-wMAtEeaaj7sYFz2QKg" labelAlignment="LEFT" description="_DwMwIcAsEeaaj7sYFz2QKg">
388 <labelFormat>bold</labelFormat>
389 </ownedStyle>
390 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
391 </ownedElements>
392 </ownedDiagramElements>
393 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_HRrdYMAtEeaaj7sYFz2QKg" sourceNode="_CuwEwMAtEeaaj7sYFz2QKg" targetNode="_-SH94MArEeaaj7sYFz2QKg">
394 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion"/>
395 <semanticElements xmi:type="ecore:EGenericType" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion/@eGenericSuperTypes.0"/>
396 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_HRsEcMAtEeaaj7sYFz2QKg" targetArrow="InputClosedArrow" routingStyle="tree">
397 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
398 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_HRsEccAtEeaaj7sYFz2QKg" showIcon="false">
399 <labelFormat>italic</labelFormat>
400 </beginLabelStyle>
401 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_HRsEcsAtEeaaj7sYFz2QKg" showIcon="false"/>
402 </ownedStyle>
403 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
404 </ownedDiagramElements>
405 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_HuEecMAtEeaaj7sYFz2QKg" sourceNode="_EQaEwMAtEeaaj7sYFz2QKg" targetNode="_-SH94MArEeaaj7sYFz2QKg">
406 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion"/>
407 <semanticElements xmi:type="ecore:EGenericType" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion/@eGenericSuperTypes.0"/>
408 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_HuEeccAtEeaaj7sYFz2QKg" targetArrow="InputClosedArrow" routingStyle="tree">
409 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
410 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_HuEecsAtEeaaj7sYFz2QKg" showIcon="false">
411 <labelFormat>italic</labelFormat>
412 </beginLabelStyle>
413 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_HuEec8AtEeaaj7sYFz2QKg" showIcon="false"/>
414 </ownedStyle>
415 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
416 </ownedDiagramElements>
417 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_LJomYMAtEeaaj7sYFz2QKg" name="Annotation" tooltipText="" incomingEdges="_LJutAMAtEeaaj7sYFz2QKg" width="12" height="10">
418 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//Annotation"/>
419 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//Annotation"/>
420 <decorations xmi:type="viewpoint:Decoration" xmi:id="_LJte4MAtEeaaj7sYFz2QKg">
421 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
422 </decorations>
423 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
424 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
425 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
426 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_LJomYcAtEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
427 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
428 </ownedStyle>
429 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
430 </ownedDiagramElements>
431 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_LJutAMAtEeaaj7sYFz2QKg" sourceNode="_-5OaIMArEeaaj7sYFz2QKg" targetNode="_LJomYMAtEeaaj7sYFz2QKg">
432 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
433 <semanticElements xmi:type="ecore:EGenericType" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/@eGenericSuperTypes.0"/>
434 <decorations xmi:type="viewpoint:Decoration" xmi:id="_QknoYMAtEeaaj7sYFz2QKg">
435 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
436 </decorations>
437 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XIT0QMDwEea_b6UyFzv22g" targetArrow="InputClosedArrow" routingStyle="tree">
438 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
439 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XIUbUMDwEea_b6UyFzv22g" showIcon="false">
440 <labelFormat>italic</labelFormat>
441 </beginLabelStyle>
442 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_XIUbUcDwEea_b6UyFzv22g" showIcon="false"/>
443 </ownedStyle>
444 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
445 </ownedDiagramElements>
446 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_OgM5kMAtEeaaj7sYFz2QKg" name="Relation" tooltipText="" incomingEdges="_Qko2gMAtEeaaj7sYFz2QKg _wTP5IMA0Eeaaj7sYFz2QKg _D6viQMDnEea_b6UyFzv22g" width="12" height="10">
447 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/>
448 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/>
449 <decorations xmi:type="viewpoint:Decoration" xmi:id="_OgTnQMAtEeaaj7sYFz2QKg">
450 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
451 </decorations>
452 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
453 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
454 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
455 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_OgNgoMAtEeaaj7sYFz2QKg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
456 <labelFormat>italic</labelFormat>
457 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
458 </ownedStyle>
459 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
460 </ownedDiagramElements>
461 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Qko2gMAtEeaaj7sYFz2QKg" name="[1..1] inverseA" sourceNode="_ABfpwMAsEeaaj7sYFz2QKg" targetNode="_OgM5kMAtEeaaj7sYFz2QKg">
462 <target xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//InverseRelationAssertion/inverseA"/>
463 <semanticElements xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//InverseRelationAssertion/inverseA"/>
464 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_UKs-QMAtEeaaj7sYFz2QKg" description="_DwN-QMAsEeaaj7sYFz2QKg" routingStyle="manhattan" strokeColor="0,0,0">
465 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_UKs-QcAtEeaaj7sYFz2QKg" showIcon="false">
466 <labelFormat>bold</labelFormat>
467 </centerLabelStyle>
468 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_UKs-QsAtEeaaj7sYFz2QKg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
469 </ownedStyle>
470 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
471 </ownedDiagramElements>
472 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_wTP5IMA0Eeaaj7sYFz2QKg" name="[1..1] relation" sourceNode="_-SH94MArEeaaj7sYFz2QKg" targetNode="_OgM5kMAtEeaaj7sYFz2QKg">
473 <target xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//MultiplicityAssertion/relation"/>
474 <semanticElements xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//MultiplicityAssertion/relation"/>
475 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_x7xWIMA0Eeaaj7sYFz2QKg" description="_DwN-QMAsEeaaj7sYFz2QKg" routingStyle="manhattan" strokeColor="0,0,0">
476 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_x7xWIcA0Eeaaj7sYFz2QKg" showIcon="false">
477 <labelFormat>bold</labelFormat>
478 </centerLabelStyle>
479 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_x7xWIsA0Eeaaj7sYFz2QKg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
480 </ownedStyle>
481 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
482 </ownedDiagramElements>
483 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_D6viQMDnEea_b6UyFzv22g" name="[1..1] inverseB" sourceNode="_ABfpwMAsEeaaj7sYFz2QKg" targetNode="_OgM5kMAtEeaaj7sYFz2QKg">
484 <target xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//InverseRelationAssertion/inverseB"/>
485 <semanticElements xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//InverseRelationAssertion/inverseB"/>
486 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_F6Fj0MDnEea_b6UyFzv22g" description="_DwN-QMAsEeaaj7sYFz2QKg" routingStyle="manhattan" strokeColor="0,0,0">
487 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_F6Fj0cDnEea_b6UyFzv22g" showIcon="false">
488 <labelFormat>bold</labelFormat>
489 </centerLabelStyle>
490 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_F6Fj0sDnEea_b6UyFzv22g" labelSize="6" showIcon="false" labelColor="39,76,114"/>
491 </ownedStyle>
492 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
493 </ownedDiagramElements>
494 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_NozjAMDnEea_b6UyFzv22g" sourceNode="_-5OaIMArEeaaj7sYFz2QKg" targetNode="_DwH3oMAsEeaaj7sYFz2QKg" beginLabel="[0..*] annotations" endLabel="[1..1] target">
495 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/target"/>
496 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion/annotations"/>
497 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/target"/>
498 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XIVpcMDwEea_b6UyFzv22g" description="_XIVCYMDwEea_b6UyFzv22g" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0">
499 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XIVpccDwEea_b6UyFzv22g" showIcon="false">
500 <labelFormat>bold</labelFormat>
501 </beginLabelStyle>
502 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_XIVpcsDwEea_b6UyFzv22g" showIcon="false">
503 <labelFormat>bold</labelFormat>
504 </endLabelStyle>
505 </ownedStyle>
506 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
507 </ownedDiagramElements>
508 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
509 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_9rgp1cArEeaaj7sYFz2QKg"/>
510 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
511 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
512 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
513 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
514 <target xmi:type="ecore:EPackage" href="ecore2logicannotations.ecore#/"/>
515 </ownedRepresentations>
516 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
517 </ownedViews>
518 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_8mhXsMArEeaaj7sYFz2QKg">
519 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
520 </ownedViews>
521 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_8mrIsMArEeaaj7sYFz2QKg">
522 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
523 </ownedViews>
524 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_8mydcMArEeaaj7sYFz2QKg">
525 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
526 </ownedViews>
527</viewpoint:DAnalysis>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.ecore b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.ecore
new file mode 100644
index 00000000..99c70059
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.ecore
@@ -0,0 +1,21 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="ecore2logicannotations" nsURI="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/ecore2logicannotation"
4 nsPrefix="ecore2logicannotations">
5 <eClassifiers xsi:type="ecore:EClass" name="MultiplicityAssertion" eSuperTypes="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation">
6 <eStructuralFeatures xsi:type="ecore:EReference" name="relation" lowerBound="1"
7 eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/>
8 </eClassifiers>
9 <eClassifiers xsi:type="ecore:EClass" name="InverseRelationAssertion" eSuperTypes="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation">
10 <eStructuralFeatures xsi:type="ecore:EReference" name="inverseA" lowerBound="1"
11 eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/>
12 <eStructuralFeatures xsi:type="ecore:EReference" name="inverseB" lowerBound="1"
13 eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/>
14 </eClassifiers>
15 <eClassifiers xsi:type="ecore:EClass" name="LowerMultiplicityAssertion" eSuperTypes="#//MultiplicityAssertion">
16 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
17 </eClassifiers>
18 <eClassifiers xsi:type="ecore:EClass" name="UpperMultiplicityAssertion" eSuperTypes="#//MultiplicityAssertion">
19 <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
20 </eClassifiers>
21</ecore:EPackage>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.genmodel b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.genmodel
new file mode 100644
index 00000000..39176118
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.genmodel
@@ -0,0 +1,22 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3 xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen"
4 modelPluginID="hu.bme.mit.inf.dslreasoner.ecore2logic" modelName="Ecore2logicannotations"
5 rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" importerID="org.eclipse.emf.importer.ecore"
6 complianceLevel="8.0" copyrightFields="false" usedGenPackages="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.genmodel#//logiclanguage ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.genmodel#//logicproblem"
7 operationReflection="true" importOrganizing="true">
8 <foreignModel>ecore2logicannotations.ecore</foreignModel>
9 <genPackages prefix="Ecore2logicannotations" basePackage="hu.bme.mit.inf.dslreasoner.ecore2logic"
10 disposableProviderFactory="true" ecorePackage="ecore2logicannotations.ecore#/">
11 <genClasses ecoreClass="ecore2logicannotations.ecore#//MultiplicityAssertion"/>
12 <genClasses ecoreClass="ecore2logicannotations.ecore#//InverseRelationAssertion">
13 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ecore2logicannotations.ecore#//InverseRelationAssertion/inverses"/>
14 </genClasses>
15 <genClasses ecoreClass="ecore2logicannotations.ecore#//LowerMultiplicityAssertion">
16 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ecore2logicannotations.ecore#//LowerMultiplicityAssertion/lower"/>
17 </genClasses>
18 <genClasses ecoreClass="ecore2logicannotations.ecore#//UpperMultiplicityAssertion">
19 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ecore2logicannotations.ecore#//UpperMultiplicityAssertion/upper"/>
20 </genClasses>
21 </genPackages>
22</genmodel:GenModel>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/plugin.properties b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/plugin.properties
new file mode 100644
index 00000000..dba79bb4
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/plugin.properties
@@ -0,0 +1,4 @@
1#
2
3pluginName = Ecore2logicannotations Model
4providerName = www.example.org
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/plugin.xml b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/plugin.xml
new file mode 100644
index 00000000..cd13faaa
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/plugin.xml
@@ -0,0 +1,17 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3
4<!--
5-->
6
7<plugin>
8
9 <extension point="org.eclipse.emf.ecore.generated_package">
10 <!-- @generated ecore2logicannotations -->
11 <package
12 uri="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/ecore2logicannotation"
13 class="hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage"
14 genModel="model/ecore2logicannotations.genmodel"/>
15 </extension>
16
17</plugin>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/AttributeMapper.xtend b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/AttributeMapper.xtend
new file mode 100644
index 00000000..ebf49196
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/AttributeMapper.xtend
@@ -0,0 +1,119 @@
1package hu.bme.mit.inf.dslreasoner.ecore2logic
2
3import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsFactory
4import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDescriptor
10import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
11import java.util.HashMap
12import java.util.Map
13import org.eclipse.emf.ecore.EAttribute
14import org.eclipse.emf.ecore.EEnum
15
16interface EAttributeMapper {
17 def void transformEAttributes(Ecore2Logic_Trace trace, LogicProblem logicProblem, Iterable<EAttribute> attributes)
18 def Term IsAttributeValue(Ecore2Logic_Trace trace, TermDescription object, TermDescription value, EAttribute attribute)
19 def RelationDeclaration relationOfAttribute(Ecore2Logic_Trace trace, EAttribute attribute)
20 def TypeDescriptor TypeOfRange(Ecore2Logic_Trace trace, EAttribute attribute)
21}
22
23class EAttributeMapper_RelationsOverTypes_Trace implements Trace<EAttributeMapper_RelationsOverTypes>{
24 public var Map<EAttribute, RelationDeclaration> indicators = new HashMap
25 public var Map<EAttribute, Assertion> typeCompliance = new HashMap
26 public var Map<EAttribute, Assertion> lowerMultiplicity = new HashMap
27 public var Map<EAttribute, Assertion> upperMultiplicity = new HashMap
28}
29
30class EAttributeMapper_RelationsOverTypes implements EAttributeMapper {
31 protected val extension LogicProblemBuilder builder = new LogicProblemBuilder
32 val extension Ecore2logicannotationsFactory builder2 = Ecore2logicannotationsFactory.eINSTANCE
33 protected val extension EClassMapper classMapper
34 protected val extension EEnumMapper enumMapper;
35
36 public new(EClassMapper classMapper, EEnumMapper enumMapper) {
37 this.enumMapper = enumMapper
38 this.classMapper = classMapper
39 }
40
41 public override transformEAttributes(Ecore2Logic_Trace trace, LogicProblem logicProblem, Iterable<EAttribute> attributes) {
42 val attributeMapperTrace = new EAttributeMapper_RelationsOverTypes_Trace
43 trace.attributeMapperTrace = attributeMapperTrace
44
45 for(attribute : attributes) {
46 val sourceType = trace.TypeofEClass(attribute.EContainingClass)
47 val rangeType = trace.TypeOfRange(attribute)
48
49 // relations
50 val indicator = '''inAttribute «attribute.name» «attribute.EContainingClass.name»'''.RelationDeclaration(sourceType,rangeType)
51
52 logicProblem.add(indicator)
53 attributeMapperTrace.indicators.put(attribute,indicator)
54
55 // lower multiplicity
56 var Assertion lowerMultiplicity = null
57 if(attribute.lowerBound != 0) {
58 lowerMultiplicity = '''lowerMultiplicity «attribute.name» «attribute.EContainingClass.name»'''.Assertion(
59 Forall[
60 val source = addVar('''src''', sourceType)
61 Exists[ context |
62 val targets = (1 .. attribute.lowerBound).map[context.addVar('''trg «it»''', rangeType)].toList
63 val attributeValue = And(targets.map[IsAttributeValue(trace, source, it, attribute)])
64 if(targets.size > 1) return Distinct(targets) && attributeValue
65 else return attributeValue
66 ]
67 ]
68 )
69 val annotation = createLowerMultiplicityAssertion => [
70 it.lower = attribute.lowerBound
71 it.relation = indicator
72 ]
73 logicProblem.add(lowerMultiplicity)
74 logicProblem.annotations += annotation
75 lowerMultiplicity.annotations +=annotation
76 }
77 attributeMapperTrace.lowerMultiplicity.put(attribute,lowerMultiplicity)
78
79 var Assertion upperMultiplicity = null
80 if(attribute.upperBound > 0) {
81 upperMultiplicity = '''upperMultiplicity «attribute.name» «attribute.EContainingClass.name»'''.Assertion(
82 Forall[ context |
83 val source = context.addVar('''src''', sourceType)
84 val targets = (1 .. attribute.upperBound+1).map[context.addVar('''trg «it»''', rangeType)].toList
85 And(targets.map[IsAttributeValue(trace, source, it, attribute)]) => ! Distinct(targets)
86 ])
87
88 val annotation = createUpperMultiplicityAssertion => [
89 it.upper = attribute.upperBound
90 it.relation = indicator
91 ]
92
93 logicProblem.add(upperMultiplicity)
94 logicProblem.annotations += annotation
95 upperMultiplicity.annotations += annotation
96 }
97 attributeMapperTrace.upperMultiplicity.put(attribute,upperMultiplicity)
98 }
99 }
100
101 def asTrace(Trace<? extends EAttributeMapper> trace) { return trace as EAttributeMapper_RelationsOverTypes_Trace}
102
103 override IsAttributeValue(Ecore2Logic_Trace trace, TermDescription object, TermDescription value, EAttribute attribute) {
104 trace.attributeMapperTrace.asTrace.indicators.get(attribute).call(object,value)
105 }
106
107 override TypeDescriptor TypeOfRange(Ecore2Logic_Trace trace, EAttribute attribute) {
108 if(attribute.EType instanceof EEnum) return enumMapper.TypeofEEnum(trace,attribute.EType as EEnum)
109 else if(attribute.EType.name.equals("EInt")) return LogicInt
110 else if(attribute.EType.name.equals("EBoolean")) return LogicBool
111 else if(attribute.EType.name.equals("EDouble") ||
112 attribute.EType.name.equals("EFloat")) return LogicReal
113 else throw new UnsupportedOperationException('''Unsupported attribute type: «attribute.EType.name»''')
114 }
115
116 override relationOfAttribute(Ecore2Logic_Trace trace, EAttribute attribute) {
117 trace.attributeMapperTrace.asTrace.indicators.get(attribute)
118 }
119} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/ContainmentMapper.xtend b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/ContainmentMapper.xtend
new file mode 100644
index 00000000..492be59f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/ContainmentMapper.xtend
@@ -0,0 +1,133 @@
1package hu.bme.mit.inf.dslreasoner.ecore2logic
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
6import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
7import org.eclipse.emf.ecore.EReference
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion
9
10interface ContainmentMapper {
11 def void transformContainment(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> references, boolean singleRoot);
12}
13
14class ContainmentMapper_ReferenceConjuction_Trace implements Trace<ContainmentMapper_ReferenceConjuction> {
15 public var Constant root;
16 public var Relation contains
17 public var Assertion containsDefinition;
18 public var Assertion rootIsNotContained;
19 public var Assertion everithingElseContained;
20 public var Assertion notContainedByMore;
21}
22
23class ContainmentMapper_ReferenceConjuction implements ContainmentMapper{
24 val extension LogicProblemBuilder builder = new LogicProblemBuilder
25 val extension EClassMapper classMapper;
26 val extension EReferenceMapper referenceMapper
27 val int containmentAcyclicityApproximationLevel;
28
29 public new(EClassMapper classMapper, EReferenceMapper referenceMapper, int containmentAcyclicityApproximationLevel) {
30 this.classMapper = classMapper
31 this.referenceMapper = referenceMapper
32 this.containmentAcyclicityApproximationLevel = containmentAcyclicityApproximationLevel
33 }
34
35 override transformContainment(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> references, boolean singleRoot) {
36 val allClasses = classMapper.allClassesInScope(trace).map[classMapper.TypeofEClass(trace,it)]
37 val containmentRelation = references.filter[isContainment].map[referenceMapper.relationOfReference(trace,it)]
38 val containmentHierarchy = ContainmentHierarchy(allClasses,#[],containmentRelation,null)
39 problem.add(containmentHierarchy)
40 }
41}
42
43/*val containmentMapperTrace = new ContainmentMapper_ReferenceConjuction_Trace
44 trace.containmentMapperTrace = containmentMapperTrace
45
46 val containment = references.filter[containment]
47
48 val contains = problem.add(RelationDeclaration('''contains''', getType(trace,references),getType(trace,references)))
49 containmentMapperTrace.contains = contains
50 containmentMapperTrace.containsDefinition = problem.add(Assertion('''containsDefinition''',
51 Forall[
52 val parent = addVar("parent",getType(trace,references))
53 val child = addVar("child",getType(trace,references))
54 contains.call(parent,child) <=> Or(containment.map[IsInReference(trace,parent,child,it)])
55 ]
56 ))
57
58
59
60 containmentMapperTrace.notContainedByMore = problem.add(Assertion('''notContainedByMore''',
61 Forall[
62 val child = addVar('''child''',getType(trace,references))
63 val parent1 = addVar('''parent 1''',getType(trace,references))
64 val parent2 = addVar('''parent 2''',getType(trace,references))
65 (contains.call(parent1,child) && contains.call(parent2,child)) => (parent1 == parent2)
66 ]
67 ))
68
69 (2..containmentAcyclicityApproximationLevel).forEach[problem.add(getAcyclicityConstraint(trace,references,it))]
70
71 if (singleRoot) {
72 val root = problem.add(ConstantDeclaration('''root''', getType(trace, references)))
73 containmentMapperTrace.root = root
74
75 containmentMapperTrace.rootIsNotContained = problem.add(
76 Assertion(
77 '''rootIsNotContained''',
78 Forall[
79 val parent = addVar("parent", getType(trace, references))
80 !contains.call(parent, root)
81 ]
82 ))
83
84 containmentMapperTrace.everithingElseContained = problem.add(
85 Assertion(
86 '''nonrootIsContained''',
87 Forall[
88 val child = addVar("child", getType(trace, references))
89 (child != root) => Exists[
90 val parent = addVar("parent", getType(trace, references))
91 contains.call(parent, child)
92 ]
93 ]
94 ))
95 }*/
96
97
98// def asTrace(Trace<? extends ContainmentMapper> trace) { trace as ContainmentMapper_ReferenceConjuction_Trace }
99//
100// def getAcyclicityConstraint(Ecore2Logic_Trace trace, Iterable<EReference> references,int circleSize) {
101// val newTrace = trace.containmentMapperTrace.asTrace
102// //val newTrace2 = trace.containmentMapperTrace as ContainmentMapper_ReferenceConjuction_Trace // ???
103//
104// Forall[context |
105// val elements = (0..circleSize).map[context.addVar(getType(trace,references))].toList
106// !(And((0..circleSize-1).map[newTrace.contains.call(elements.get(it),elements.get(it+1))]) &&
107// newTrace.contains.call(elements.last,elements.head))
108// ]
109// }
110//
111// def private getType(Ecore2Logic_Trace trace, Iterable<EReference> references) {
112// trace.TypeofEClass(references.head.EContainingClass)
113// }
114
115 /*// This type is contained -> (From this type -> By those references)
116 val Map<TypeDescriptor,Map<TypeDescriptor,Set<EReference>>> typeContainedBy = new HashMap
117 for(reference: references.filter[containment]) {
118 val sourceType = TypeofEClass(classMapperTrace, reference.EContainingClass)
119 val targetType = TypeofEClass(classMapperTrace, reference.EType as EClass)
120 if(typeContainedBy.containsKey(targetType)) {
121 val m = typeContainedBy.get(targetType)
122 if(m.containsKey(sourceType)) {
123 m.get(sourceType).add(reference)
124 } else {
125 m.put(sourceType,new HashSet => [add(reference)])
126 }
127 } else { // initialise the collection
128 val Map<TypeDescriptor,Set<EReference>> m = new HashMap
129 m.put(sourceType,new HashSet => [add(reference)])
130 typeContainedBy.put(targetType,m)
131 }
132 }*/
133 // Only one type \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EClassMapper.xtend b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EClassMapper.xtend
new file mode 100644
index 00000000..3949749b
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EClassMapper.xtend
@@ -0,0 +1,53 @@
1package hu.bme.mit.inf.dslreasoner.ecore2logic
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
6import java.util.Map
7import org.eclipse.emf.ecore.EClass
8import java.util.HashMap
9
10interface EClassMapper {
11 def void transformEClasses(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EClass> classes, int numberOfObjects, EcoreMetamodelDescriptor metamodelDescriptor)
12 def Iterable<EClass> allClassesInScope(Ecore2Logic_Trace trace)
13 def Type TypeofEClass(Ecore2Logic_Trace trace, EClass type)
14}
15
16class EClassMapper_AllElementAsObject_Trace implements Trace<EClassMapper_AllElementAsObject>{
17 public var Map<EClass, Type> typeMap = new HashMap;
18}
19
20class EClassMapper_AllElementAsObject implements EClassMapper{
21 val extension LogicProblemBuilder builder = new LogicProblemBuilder
22
23 override transformEClasses(Ecore2Logic_Trace trace, LogicProblem problem,
24 Iterable<EClass> classes, int numberOfObjects, EcoreMetamodelDescriptor metamodelDescriptor
25 ) {
26 val classMapperTrace = new EClassMapper_AllElementAsObject_Trace
27 trace.classMapperTrace = classMapperTrace
28 for(c:classes) {
29 val logicType = problem.add(TypeDeclaration('''class «c.name»''',c.isAbstract || c.isInterface))
30 classMapperTrace.typeMap.put(c,logicType)
31 }
32 for(c:classes) {
33 for(s : c.ESuperTypes) {
34 Supertype(classMapperTrace.typeMap.get(c),classMapperTrace.typeMap.get(s))
35 }
36 }
37 }
38
39 def asTrace(Trace<? extends EClassMapper> o) { o as EClassMapper_AllElementAsObject_Trace }
40
41 override TypeofEClass(Ecore2Logic_Trace trace, EClass type) {
42 val typeMap = trace.classMapperTrace.asTrace.typeMap
43 if(typeMap.containsKey(type)) {
44 typeMap.get(type)
45 } else {
46 throw new IllegalArgumentException('''Class «type.name» is not translated to logic!''')
47 }
48 }
49
50 override allClassesInScope(Ecore2Logic_Trace trace) {
51 trace.classMapperTrace.asTrace.typeMap.keySet
52 }
53}
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EEnumMapper.xtend b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EEnumMapper.xtend
new file mode 100644
index 00000000..eb7e9e44
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EEnumMapper.xtend
@@ -0,0 +1,60 @@
1package hu.bme.mit.inf.dslreasoner.ecore2logic
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
8import java.util.ArrayList
9import java.util.HashMap
10import java.util.Map
11import org.eclipse.emf.common.util.Enumerator
12import org.eclipse.emf.ecore.EEnum
13
14import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
15
16interface EEnumMapper {
17 def void transformEEnums(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EEnum> enums,Ecore2LogicConfiguration config)
18 def Type TypeofEEnum(Ecore2Logic_Trace trace, EEnum type)
19 def TermDescription Literal(Ecore2Logic_Trace trace, Enumerator literal)
20}
21
22class EEnumMapper_PredefinedClasses_Trace implements Trace<EEnumMapper_PredefinedClasses>{
23 public var Map<EEnum, Type> enums
24
25 public var Map<Enumerator,DefinedElement> literals
26}
27
28class EEnumMapper_PredefinedClasses implements EEnumMapper {
29 val extension LogicProblemBuilder builder = new LogicProblemBuilder
30
31 override transformEEnums(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EEnum> enums, Ecore2LogicConfiguration config) {
32 val enumTrace = new EEnumMapper_PredefinedClasses_Trace
33 trace.enumMapperTrace = enumTrace
34 enumTrace.enums = new HashMap
35 enumTrace.literals = new HashMap
36
37 for(enum : enums) {
38 val l = new ArrayList<DefinedElement>(enum.ELiterals.size)
39 for(literal : enum.ELiterals.map[instance]) {
40 val element = Element('''«literal.name» «enum.name»''')
41 l+=element
42 enumTrace.literals.put(literal,element)
43 }
44 val type = TypeDefinition('''enum «enum.name»''',false,l)
45 problem.add(type)
46 enumTrace.enums.put(enum,type)
47 }
48
49 }
50
51 private def asTrace(Trace<? extends EEnumMapper> o) { o as EEnumMapper_PredefinedClasses_Trace }
52
53 override TypeofEEnum(Ecore2Logic_Trace trace, EEnum type) {
54 trace.enumMapperTrace.asTrace.enums.get(type)
55 }
56
57 override Literal(Ecore2Logic_Trace trace, Enumerator literal) {
58 literal.lookup(trace.enumMapperTrace.asTrace.literals)
59 }
60} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend
new file mode 100644
index 00000000..e5de6584
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend
@@ -0,0 +1,154 @@
1package hu.bme.mit.inf.dslreasoner.ecore2logic
2
3import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsFactory
4import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
10import java.util.HashMap
11import java.util.Map
12import org.eclipse.emf.ecore.EClass
13import org.eclipse.emf.ecore.EReference
14
15interface EReferenceMapper{
16 def void transformEReferences(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> classes);
17 def Term IsInReference(Ecore2Logic_Trace trace, TermDescription source, TermDescription target, EReference type)
18 def RelationDeclaration relationOfReference(Ecore2Logic_Trace trace, EReference reference)
19}
20
21class EReferenceMapper_RelationsOverTypes_Trace implements Trace<EReferenceMapper_RelationsOverTypes> {
22 public var Map<EReference, RelationDeclaration> indicators;
23 public var Map<EReference, Assertion> typeCompliance
24 public var Map<EReference, Assertion> lowerMultiplicity
25 public var Map<EReference, Assertion> upperMultiplicity
26 public var Map<EReference, Assertion> inverseEdges
27}
28
29class EReferenceMapper_RelationsOverTypes implements EReferenceMapper{
30 val extension LogicProblemBuilder builder = new LogicProblemBuilder
31 val extension Ecore2logicannotationsFactory builder2 = Ecore2logicannotationsFactory.eINSTANCE
32 val extension EClassMapper classMapper;
33
34 public new(EClassMapper classMapper) {
35 this.classMapper = classMapper
36 }
37
38 def asTrace(Trace<? extends EReferenceMapper> o) { o as EReferenceMapper_RelationsOverTypes_Trace }
39
40 override transformEReferences(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> references) {
41 val newTrace = new EReferenceMapper_RelationsOverTypes_Trace
42 trace.referenceMapperTrace = newTrace
43 trace.createIndicatorDeclarations(problem,references)
44 trace.createMultiplicityConstraints(problem,references)
45 trace.createInverseReferenceConstraints(problem,references)
46 }
47
48 def protected void createIndicatorDeclarations(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> references) {
49 trace.referenceMapperTrace.asTrace.indicators = new HashMap
50 for(reference : references) {
51 val relation = problem.add(RelationDeclaration(
52 '''inreference «reference.name» «reference.EContainingClass.name»''',
53 TypeofEClass(trace,reference.EContainingClass),
54 TypeofEClass(trace,reference.EType as EClass)))
55 trace.referenceMapperTrace.asTrace.indicators.put(reference,relation as RelationDeclaration)
56 }
57 }
58
59 def void createMultiplicityConstraints(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> references) {
60 trace.referenceMapperTrace.asTrace.lowerMultiplicity = new HashMap
61 trace.referenceMapperTrace.asTrace.upperMultiplicity = new HashMap
62
63 for(reference : references) {
64 val sourceType = reference.EContainingClass
65 val targetType = reference.EType as EClass
66 val lower = reference.lowerBound
67 val upper = reference.upperBound
68
69 if (lower > 0) {
70 val assertion = Assertion('''lowerMultiplicity «reference.name» «sourceType.name»''',
71 Forall[
72 val source = addVar('''src''', trace.TypeofEClass(sourceType))
73 Exists[ context |
74 val targets = (1 .. lower).map[
75 context.addVar('''trg «it»''', trace.TypeofEClass(targetType))].toList
76 val inReference = And(targets.map[IsInReference(trace, source, it, reference)])
77 if(targets.size > 1) return Distinct(targets) && inReference
78 else return inReference
79 ]
80 ]
81 )
82 val annotation = createLowerMultiplicityAssertion => [
83 it.lower = lower
84 it.relation = trace.referenceMapperTrace.asTrace.indicators.get(reference)
85 ]
86
87 problem.add(assertion)
88 problem.annotations += annotation
89 assertion.annotations +=annotation
90 trace.referenceMapperTrace.asTrace.lowerMultiplicity.put(reference,assertion)
91 }
92 else trace.referenceMapperTrace.asTrace.lowerMultiplicity.put(reference,null)
93
94 if(upper != -1) {
95 val assertion = Assertion('''upperMultiplicity «reference.name» «sourceType.name»''',
96 Forall[ context |
97 val source = context.addVar('''src''', trace.TypeofEClass(sourceType))
98 val targets = (1 .. upper+1).map[
99 context.addVar('''trg «it»''', trace.TypeofEClass(targetType))].toList
100 And(targets.map[IsInReference(trace, source, it, reference)]) => ! Distinct(targets)
101 ])
102 val annotation = createUpperMultiplicityAssertion => [
103 it.upper = upper
104 it.relation = trace.referenceMapperTrace.asTrace.indicators.get(reference)
105 ]
106
107 problem.add(assertion)
108 problem.annotations += annotation
109 assertion.annotations += annotation
110 trace.referenceMapperTrace.asTrace.lowerMultiplicity.put(reference,assertion)
111 }
112 else trace.referenceMapperTrace.asTrace.upperMultiplicity.put(reference,null)
113 }
114 }
115
116 def createInverseReferenceConstraints(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> references) {
117 trace.referenceMapperTrace.asTrace.inverseEdges = new HashMap
118 for(reference : references) {
119 if(reference.EOpposite!=null) {
120 val opposite = reference.EOpposite
121 if(trace.referenceMapperTrace.asTrace.inverseEdges.containsKey(opposite)) {
122 trace.referenceMapperTrace.asTrace.inverseEdges.put(reference,trace.referenceMapperTrace.asTrace.inverseEdges.get(opposite))
123 } else {
124 val sourceType = reference.EContainingClass
125 val targetType = reference.EType as EClass
126 val assertion = Assertion('''oppositeReference «reference.name» «sourceType.name»''',
127 Forall[
128 val src = addVar('''src''', trace.TypeofEClass(sourceType))
129 val trg = addVar('''trg''', trace.TypeofEClass(targetType))
130 IsInReference(trace,src,trg,reference) <=> IsInReference(trace,trg,src,opposite)
131 ]
132 )
133 problem.add(assertion)
134 trace.referenceMapperTrace.asTrace.inverseEdges.put(reference,assertion)
135 val annotation = createInverseRelationAssertion => [
136 it.target = assertion
137 it.inverseA = trace.referenceMapperTrace.asTrace.indicators.get(reference)
138 it.inverseB = trace.referenceMapperTrace.asTrace.indicators.get(reference.EOpposite)
139 ]
140 problem.annotations += annotation
141 }
142 }
143 else trace.referenceMapperTrace.asTrace.inverseEdges.put(reference,null)
144 }
145 }
146
147 override IsInReference(Ecore2Logic_Trace trace, TermDescription source, TermDescription target, EReference type) {
148 trace.referenceMapperTrace.asTrace.indicators.get(type).call(source,target)
149 }
150
151 override relationOfReference(Ecore2Logic_Trace trace, EReference reference) {
152 trace.referenceMapperTrace.asTrace.indicators.get(reference)
153 }
154} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/Ecore2Logic.xtend b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/Ecore2Logic.xtend
new file mode 100644
index 00000000..cae489e3
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/Ecore2Logic.xtend
@@ -0,0 +1,98 @@
1package hu.bme.mit.inf.dslreasoner.ecore2logic
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
4import java.util.List
5import org.eclipse.emf.ecore.EAttribute
6import org.eclipse.emf.ecore.EClass
7import org.eclipse.emf.ecore.EEnum
8import org.eclipse.emf.ecore.EEnumLiteral
9import org.eclipse.emf.ecore.EReference
10import org.eclipse.xtend.lib.annotations.Data
11import org.eclipse.xtend.lib.annotations.Delegate
12import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput
13import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
14import java.util.Set
15import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy
16
17@Data class EcoreMetamodelDescriptor {
18 val List<EClass> classes;
19 val Set<EClass> concretised;
20 val boolean isEObjectConcretised;
21 val List<EEnum> enums;
22 val List<EEnumLiteral> literals;
23 val List<EReference> references;
24 val List<EAttribute> attributes;
25
26 def isConcretised(EClass clazz) {concretised.contains(clazz)}
27}
28
29interface Trace<Mapper> {}
30
31class Ecore2Logic_Trace implements Trace<Ecore2Logic> {
32 public var ContainmentHierarchy containmentHierarchy;
33 public var Trace<? extends EClassMapper> classMapperTrace
34 public var Trace<? extends EEnumMapper> enumMapperTrace
35 public var Trace<? extends EReferenceMapper> referenceMapperTrace
36 public var Trace<? extends ContainmentMapper> containmentMapperTrace
37 public var Trace<? extends EAttributeMapper> attributeMapperTrace
38}
39
40class Ecore2LogicConfiguration {
41 var public boolean singleRoot = true
42 var public int numberOfObjects = -1
43 public static val Undefined = -1
44}
45
46class Ecore2LogicScope {
47 public static val int Unlimited = -1
48 public var numberOfObjects = Unlimited
49}
50
51class Ecore2Logic implements EClassMapper, EEnumMapper, EReferenceMapper, ContainmentMapper, EAttributeMapper {
52 @Delegate protected val EClassMapper classMapper
53 @Delegate protected val EEnumMapper enumMapper
54 @Delegate protected val EReferenceMapper referenceMapper
55 @Delegate protected val ContainmentMapper containmentMapper
56 @Delegate protected val EAttributeMapper attributeMapper
57
58 public new() {
59 this.classMapper = new EClassMapper_AllElementAsObject
60 this.enumMapper = new EEnumMapper_PredefinedClasses
61 this.referenceMapper = new EReferenceMapper_RelationsOverTypes(this.classMapper)
62 this.containmentMapper = new ContainmentMapper_ReferenceConjuction(this.classMapper, this.referenceMapper,0)
63 this.attributeMapper = new EAttributeMapper_RelationsOverTypes(this.classMapper, this.enumMapper)
64 }
65
66 public new(
67 EClassMapper classMapper,
68 EEnumMapper enumMapper,
69 EReferenceMapper referenceMapper,
70 ContainmentMapper containmentMapper,
71 EAttributeMapper attributeMapper)
72 {
73 if(classMapper === null || enumMapper === null || referenceMapper === null || containmentMapper === null ||
74 attributeMapper === null) {
75 throw new IllegalArgumentException('''The mappers should not be null!''')
76 }
77
78 this.classMapper = classMapper
79 this.enumMapper = enumMapper
80 this.referenceMapper = referenceMapper
81 this.containmentMapper = containmentMapper
82 this.attributeMapper = attributeMapper
83 }
84
85 def public TracedOutput<LogicProblem,Ecore2Logic_Trace> transformMetamodel(EcoreMetamodelDescriptor metamodel, Ecore2LogicConfiguration config) {
86
87
88 val Ecore2Logic_Trace trace = new Ecore2Logic_Trace
89 val LogicProblem problem = (new LogicProblemBuilder).createProblem
90 transformEClasses(trace,problem,metamodel.classes,config.numberOfObjects,metamodel)
91 transformEEnums(trace,problem,metamodel.enums,config)
92 transformEReferences(trace,problem,metamodel.references)
93 transformContainment(trace,problem,metamodel.references, config.singleRoot)
94 transformEAttributes(trace,problem,metamodel.attributes)
95
96 return new TracedOutput(problem,trace)
97 }
98}
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.classpath b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.classpath
new file mode 100644
index 00000000..e84a3295
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.classpath
@@ -0,0 +1,11 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="ecore-gen"/>
4 <classpathentry kind="src" path="xtend-gen"/>
5 <classpathentry kind="src" path="patterns"/>
6 <classpathentry kind="src" path="vql-gen"/>
7 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
8 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
9 <classpathentry kind="src" path="src"/>
10 <classpathentry kind="output" path="bin"/>
11</classpath>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.gitignore b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.gitignore
new file mode 100644
index 00000000..8ae4e44d
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.gitignore
@@ -0,0 +1,4 @@
1/bin/
2/src-gen/
3/vql-gen/
4/xtend-gen/
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.project b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.project
new file mode 100644
index 00000000..761034f6
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.project
@@ -0,0 +1,40 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.logic.model</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.viatra.query.tooling.core.projectbuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.jdt.core.javabuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.ManifestBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 <buildCommand>
29 <name>org.eclipse.pde.SchemaBuilder</name>
30 <arguments>
31 </arguments>
32 </buildCommand>
33 </buildSpec>
34 <natures>
35 <nature>org.eclipse.pde.PluginNature</nature>
36 <nature>org.eclipse.jdt.core.javanature</nature>
37 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
38 <nature>org.eclipse.viatra.query.projectnature</nature>
39 </natures>
40</projectDescription>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.settings/org.eclipse.incquery.patternlanguage.emf.EMFPatternLanguage.prefs b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.settings/org.eclipse.incquery.patternlanguage.emf.EMFPatternLanguage.prefs
new file mode 100644
index 00000000..25fb07b6
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.settings/org.eclipse.incquery.patternlanguage.emf.EMFPatternLanguage.prefs
@@ -0,0 +1,29 @@
1BuilderConfiguration.is_project_specific=true
2autobuilding=true
3eclipse.preferences.version=1
4generateGeneratedAnnotation=false
5generateSuppressWarnings=true
6generatedAnnotationComment=
7includeDateInGenerated=false
8outlet.DEFAULT_OUTPUT.cleanDirectory=false
9outlet.DEFAULT_OUTPUT.cleanupDerived=true
10outlet.DEFAULT_OUTPUT.createDirectory=true
11outlet.DEFAULT_OUTPUT.derived=true
12outlet.DEFAULT_OUTPUT.directory=./eiq-gen
13outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
14outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
15outlet.DEFAULT_OUTPUT.keepLocalHistory=true
16outlet.DEFAULT_OUTPUT.override=true
17outlet.DEFAULT_OUTPUT.sourceFolder.ecore-gen.directory=
18outlet.DEFAULT_OUTPUT.sourceFolder.ecore-gen.ignore=
19outlet.DEFAULT_OUTPUT.sourceFolder.patterns.directory=
20outlet.DEFAULT_OUTPUT.sourceFolder.patterns.ignore=
21outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=
22outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.ignore=
23outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=
24outlet.DEFAULT_OUTPUT.sourceFolder.src.ignore=
25outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=
26outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.ignore=
27outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=
28targetJavaVersion=JAVA5
29useJavaCompilerCompliance=true
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.settings/org.eclipse.jdt.core.prefs b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.settings/org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguage.prefs b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.settings/org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguage.prefs
new file mode 100644
index 00000000..fd859b72
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/.settings/org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguage.prefs
@@ -0,0 +1,29 @@
1BuilderConfiguration.is_project_specific=true
2autobuilding=true
3eclipse.preferences.version=1
4generateGeneratedAnnotation=false
5generateSuppressWarnings=true
6generatedAnnotationComment=
7includeDateInGenerated=false
8outlet.DEFAULT_OUTPUT.cleanDirectory=true
9outlet.DEFAULT_OUTPUT.cleanupDerived=true
10outlet.DEFAULT_OUTPUT.createDirectory=true
11outlet.DEFAULT_OUTPUT.derived=true
12outlet.DEFAULT_OUTPUT.directory=./vql-gen
13outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
14outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
15outlet.DEFAULT_OUTPUT.keepLocalHistory=true
16outlet.DEFAULT_OUTPUT.override=true
17outlet.DEFAULT_OUTPUT.sourceFolder.ecore-gen.directory=
18outlet.DEFAULT_OUTPUT.sourceFolder.ecore-gen.ignore=
19outlet.DEFAULT_OUTPUT.sourceFolder.eiq-gen.directory=
20outlet.DEFAULT_OUTPUT.sourceFolder.eiq-gen.ignore=
21outlet.DEFAULT_OUTPUT.sourceFolder.patterns.directory=
22outlet.DEFAULT_OUTPUT.sourceFolder.patterns.ignore=
23outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=
24outlet.DEFAULT_OUTPUT.sourceFolder.src.ignore=
25outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=
26outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.ignore=
27outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=
28targetJavaVersion=JAVA5
29useJavaCompilerCompliance=true
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/META-INF/MANIFEST.MF b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..ede7da3f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/META-INF/MANIFEST.MF
@@ -0,0 +1,35 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: %pluginName
4Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.logic.model;singleton:=true
5Bundle-Version: 1.0.0.qualifier
6Bundle-ClassPath: .
7Bundle-Vendor: %providerName
8Bundle-Localization: plugin
9Export-Package: hu.bme.mit.inf.dslreasoner.logic.model.builder,
10 hu.bme.mit.inf.dslreasoner.logic.model.builder.consistencychecker,
11 hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage,
12 hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl,
13 hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.util,
14 hu.bme.mit.inf.dslreasoner.logic.model.logicproblem,
15 hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl,
16 hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.util,
17 hu.bme.mit.inf.dslreasoner.logic.model.logicresult,
18 hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl,
19 hu.bme.mit.inf.dslreasoner.logic.model.logicresult.util,
20 hu.bme.mit.inf.dslreasoner.logic.model.patterns,
21 hu.bme.mit.inf.dslreasoner.logic.model.patterns.util,
22 hu.bme.mit.inf.dslreasoner.logic.model.statistics,
23 hu.bme.mit.inf.dslreasoner.util,
24 hu.bme.mit.inf.dslreasoner.workspace
25Require-Bundle: org.eclipse.core.runtime,
26 org.eclipse.emf.ecore;visibility:=reexport,
27 com.google.guava,
28 org.eclipse.xtend.lib,
29 org.eclipse.xtext.xbase.lib,
30 org.eclipse.core.resources;bundle-version="3.8.101",
31 org.eclipse.viatra.query.runtime;bundle-version="1.3.0",
32 org.apache.commons.lang;bundle-version="2.6.0"
33Bundle-RequiredExecutionEnvironment: JavaSE-1.8
34Bundle-ActivationPolicy: lazy
35Import-Package: org.apache.log4j
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/build.properties b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/build.properties
new file mode 100644
index 00000000..eb435025
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/build.properties
@@ -0,0 +1,11 @@
1bin.includes = .,\
2 model/,\
3 META-INF/,\
4 plugin.xml,\
5 plugin.properties
6jars.compile.order = .
7source.. = ecore-gen/,\
8 src/,\
9 xtend-gen/,\
10 src-gen/
11output.. = bin/
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/And.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/And.java
new file mode 100644
index 00000000..638845a0
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/And.java
@@ -0,0 +1,40 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>And</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.And#getOperands <em>Operands</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getAnd()
20 * @model
21 * @generated
22 */
23public interface And extends BoolOperation {
24 /**
25 * Returns the value of the '<em><b>Operands</b></em>' containment reference list.
26 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term}.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Operands</em>' containment reference list isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Operands</em>' containment reference list.
34 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getAnd_Operands()
35 * @model containment="true"
36 * @generated
37 */
38 EList<Term> getOperands();
39
40} // And
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Assertion.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Assertion.java
new file mode 100644
index 00000000..6ce3b516
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Assertion.java
@@ -0,0 +1,99 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation;
6import org.eclipse.emf.common.util.EList;
7
8import org.eclipse.emf.ecore.EObject;
9
10/**
11 * <!-- begin-user-doc -->
12 * A representation of the model object '<em><b>Assertion</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * <p>
16 * The following features are supported:
17 * </p>
18 * <ul>
19 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion#getValue <em>Value</em>}</li>
20 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion#getName <em>Name</em>}</li>
21 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion#getAnnotations <em>Annotations</em>}</li>
22 * </ul>
23 *
24 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getAssertion()
25 * @model
26 * @generated
27 */
28public interface Assertion extends EObject {
29 /**
30 * Returns the value of the '<em><b>Value</b></em>' containment reference.
31 * <!-- begin-user-doc -->
32 * <p>
33 * If the meaning of the '<em>Value</em>' containment reference isn't clear,
34 * there really should be more of a description here...
35 * </p>
36 * <!-- end-user-doc -->
37 * @return the value of the '<em>Value</em>' containment reference.
38 * @see #setValue(Term)
39 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getAssertion_Value()
40 * @model containment="true" required="true"
41 * @generated
42 */
43 Term getValue();
44
45 /**
46 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion#getValue <em>Value</em>}' containment reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @param value the new value of the '<em>Value</em>' containment reference.
50 * @see #getValue()
51 * @generated
52 */
53 void setValue(Term value);
54
55 /**
56 * Returns the value of the '<em><b>Name</b></em>' attribute.
57 * <!-- begin-user-doc -->
58 * <p>
59 * If the meaning of the '<em>Name</em>' attribute list isn't clear,
60 * there really should be more of a description here...
61 * </p>
62 * <!-- end-user-doc -->
63 * @return the value of the '<em>Name</em>' attribute.
64 * @see #setName(String)
65 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getAssertion_Name()
66 * @model required="true"
67 * @generated
68 */
69 String getName();
70
71 /**
72 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion#getName <em>Name</em>}' attribute.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @param value the new value of the '<em>Name</em>' attribute.
76 * @see #getName()
77 * @generated
78 */
79 void setName(String value);
80
81 /**
82 * Returns the value of the '<em><b>Annotations</b></em>' reference list.
83 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation}.
84 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation#getTarget <em>Target</em>}'.
85 * <!-- begin-user-doc -->
86 * <p>
87 * If the meaning of the '<em>Annotations</em>' reference list isn't clear,
88 * there really should be more of a description here...
89 * </p>
90 * <!-- end-user-doc -->
91 * @return the value of the '<em>Annotations</em>' reference list.
92 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getAssertion_Annotations()
93 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation#getTarget
94 * @model opposite="target"
95 * @generated
96 */
97 EList<AssertionAnnotation> getAnnotations();
98
99} // Assertion
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/AtomicTerm.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/AtomicTerm.java
new file mode 100644
index 00000000..f5e91ce7
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/AtomicTerm.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Atomic Term</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getAtomicTerm()
13 * @model abstract="true"
14 * @generated
15 */
16public interface AtomicTerm extends Term {
17} // AtomicTerm
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/BoolLiteral.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/BoolLiteral.java
new file mode 100644
index 00000000..c48665a9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/BoolLiteral.java
@@ -0,0 +1,49 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Bool Literal</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolLiteral#isValue <em>Value</em>}</li>
16 * </ul>
17 *
18 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getBoolLiteral()
19 * @model
20 * @generated
21 */
22public interface BoolLiteral extends AtomicTerm {
23 /**
24 * Returns the value of the '<em><b>Value</b></em>' attribute.
25 * <!-- begin-user-doc -->
26 * <p>
27 * If the meaning of the '<em>Value</em>' attribute isn't clear,
28 * there really should be more of a description here...
29 * </p>
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Value</em>' attribute.
32 * @see #setValue(boolean)
33 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getBoolLiteral_Value()
34 * @model
35 * @generated
36 */
37 boolean isValue();
38
39 /**
40 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolLiteral#isValue <em>Value</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Value</em>' attribute.
44 * @see #isValue()
45 * @generated
46 */
47 void setValue(boolean value);
48
49} // BoolLiteral
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/BoolOperation.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/BoolOperation.java
new file mode 100644
index 00000000..6e8d2c4f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/BoolOperation.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Bool Operation</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getBoolOperation()
13 * @model abstract="true"
14 * @generated
15 */
16public interface BoolOperation extends Term {
17} // BoolOperation
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/BoolTypeReference.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/BoolTypeReference.java
new file mode 100644
index 00000000..827d4df6
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/BoolTypeReference.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Bool Type Reference</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getBoolTypeReference()
13 * @model
14 * @generated
15 */
16public interface BoolTypeReference extends PrimitiveTypeReference {
17} // BoolTypeReference
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/ComplexTypeReference.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/ComplexTypeReference.java
new file mode 100644
index 00000000..0f19961a
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/ComplexTypeReference.java
@@ -0,0 +1,49 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Complex Type Reference</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference#getReferred <em>Referred</em>}</li>
16 * </ul>
17 *
18 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getComplexTypeReference()
19 * @model
20 * @generated
21 */
22public interface ComplexTypeReference extends TypeReference {
23 /**
24 * Returns the value of the '<em><b>Referred</b></em>' reference.
25 * <!-- begin-user-doc -->
26 * <p>
27 * If the meaning of the '<em>Referred</em>' reference isn't clear,
28 * there really should be more of a description here...
29 * </p>
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Referred</em>' reference.
32 * @see #setReferred(Type)
33 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getComplexTypeReference_Referred()
34 * @model
35 * @generated
36 */
37 Type getReferred();
38
39 /**
40 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference#getReferred <em>Referred</em>}' reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Referred</em>' reference.
44 * @see #getReferred()
45 * @generated
46 */
47 void setReferred(Type value);
48
49} // ComplexTypeReference
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Constant.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Constant.java
new file mode 100644
index 00000000..68d3776b
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Constant.java
@@ -0,0 +1,71 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ConstantAnnotation;
6import org.eclipse.emf.common.util.EList;
7
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Constant</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant#getType <em>Type</em>}</li>
19 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant#getAnnotations <em>Annotations</em>}</li>
20 * </ul>
21 *
22 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getConstant()
23 * @model abstract="true"
24 * @generated
25 */
26public interface Constant extends SymbolicDeclaration {
27 /**
28 * Returns the value of the '<em><b>Type</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Type</em>' containment reference isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Type</em>' containment reference.
36 * @see #setType(TypeReference)
37 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getConstant_Type()
38 * @model containment="true" required="true"
39 * @generated
40 */
41 TypeReference getType();
42
43 /**
44 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant#getType <em>Type</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Type</em>' containment reference.
48 * @see #getType()
49 * @generated
50 */
51 void setType(TypeReference value);
52
53 /**
54 * Returns the value of the '<em><b>Annotations</b></em>' reference list.
55 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ConstantAnnotation}.
56 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ConstantAnnotation#getTarget <em>Target</em>}'.
57 * <!-- begin-user-doc -->
58 * <p>
59 * If the meaning of the '<em>Annotations</em>' reference list isn't clear,
60 * there really should be more of a description here...
61 * </p>
62 * <!-- end-user-doc -->
63 * @return the value of the '<em>Annotations</em>' reference list.
64 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getConstant_Annotations()
65 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ConstantAnnotation#getTarget
66 * @model opposite="target"
67 * @generated
68 */
69 EList<ConstantAnnotation> getAnnotations();
70
71} // Constant
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/ConstantDeclaration.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/ConstantDeclaration.java
new file mode 100644
index 00000000..b27837a8
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/ConstantDeclaration.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Constant Declaration</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getConstantDeclaration()
13 * @model
14 * @generated
15 */
16public interface ConstantDeclaration extends Constant {
17} // ConstantDeclaration
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/ConstantDefinition.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/ConstantDefinition.java
new file mode 100644
index 00000000..3de18cf1
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/ConstantDefinition.java
@@ -0,0 +1,76 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Constant Definition</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition#getValue <em>Value</em>}</li>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition#getDefines <em>Defines</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getConstantDefinition()
20 * @model
21 * @generated
22 */
23public interface ConstantDefinition extends Constant {
24 /**
25 * Returns the value of the '<em><b>Value</b></em>' containment reference.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Value</em>' containment reference isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Value</em>' containment reference.
33 * @see #setValue(Term)
34 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getConstantDefinition_Value()
35 * @model containment="true" required="true"
36 * @generated
37 */
38 Term getValue();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition#getValue <em>Value</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Value</em>' containment reference.
45 * @see #getValue()
46 * @generated
47 */
48 void setValue(Term value);
49
50 /**
51 * Returns the value of the '<em><b>Defines</b></em>' reference.
52 * <!-- begin-user-doc -->
53 * <p>
54 * If the meaning of the '<em>Defines</em>' reference isn't clear,
55 * there really should be more of a description here...
56 * </p>
57 * <!-- end-user-doc -->
58 * @return the value of the '<em>Defines</em>' reference.
59 * @see #setDefines(ConstantDeclaration)
60 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getConstantDefinition_Defines()
61 * @model
62 * @generated
63 */
64 ConstantDeclaration getDefines();
65
66 /**
67 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition#getDefines <em>Defines</em>}' reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @param value the new value of the '<em>Defines</em>' reference.
71 * @see #getDefines()
72 * @generated
73 */
74 void setDefines(ConstantDeclaration value);
75
76} // ConstantDefinition
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/DefinedElement.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/DefinedElement.java
new file mode 100644
index 00000000..d34436d8
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/DefinedElement.java
@@ -0,0 +1,43 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import org.eclipse.emf.common.util.EList;
6
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Defined Element</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement#getDefinedInType <em>Defined In Type</em>}</li>
18 * </ul>
19 *
20 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getDefinedElement()
21 * @model
22 * @generated
23 */
24public interface DefinedElement extends SymbolicDeclaration {
25
26 /**
27 * Returns the value of the '<em><b>Defined In Type</b></em>' reference list.
28 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition}.
29 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition#getElements <em>Elements</em>}'.
30 * <!-- begin-user-doc -->
31 * <p>
32 * If the meaning of the '<em>Defined In Type</em>' reference list isn't clear,
33 * there really should be more of a description here...
34 * </p>
35 * <!-- end-user-doc -->
36 * @return the value of the '<em>Defined In Type</em>' reference list.
37 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getDefinedElement_DefinedInType()
38 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition#getElements
39 * @model opposite="elements" required="true"
40 * @generated
41 */
42 EList<TypeDefinition> getDefinedInType();
43} // DefinedElement
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Distinct.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Distinct.java
new file mode 100644
index 00000000..20a1bce5
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Distinct.java
@@ -0,0 +1,40 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Distinct</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Distinct#getOperands <em>Operands</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getDistinct()
20 * @model
21 * @generated
22 */
23public interface Distinct extends PrimitiveRelation {
24 /**
25 * Returns the value of the '<em><b>Operands</b></em>' containment reference list.
26 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term}.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Operands</em>' containment reference list isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Operands</em>' containment reference list.
34 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getDistinct_Operands()
35 * @model containment="true"
36 * @generated
37 */
38 EList<Term> getOperands();
39
40} // Distinct
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Divison.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Divison.java
new file mode 100644
index 00000000..06c9dd33
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Divison.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Divison</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getDivison()
13 * @model
14 * @generated
15 */
16public interface Divison extends IntOperation {
17} // Divison
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Equals.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Equals.java
new file mode 100644
index 00000000..420d4285
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Equals.java
@@ -0,0 +1,76 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Equals</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals#getLeftOperand <em>Left Operand</em>}</li>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals#getRightOperand <em>Right Operand</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getEquals()
20 * @model
21 * @generated
22 */
23public interface Equals extends PrimitiveRelation {
24 /**
25 * Returns the value of the '<em><b>Left Operand</b></em>' containment reference.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Left Operand</em>' containment reference isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Left Operand</em>' containment reference.
33 * @see #setLeftOperand(Term)
34 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getEquals_LeftOperand()
35 * @model containment="true"
36 * @generated
37 */
38 Term getLeftOperand();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals#getLeftOperand <em>Left Operand</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Left Operand</em>' containment reference.
45 * @see #getLeftOperand()
46 * @generated
47 */
48 void setLeftOperand(Term value);
49
50 /**
51 * Returns the value of the '<em><b>Right Operand</b></em>' containment reference.
52 * <!-- begin-user-doc -->
53 * <p>
54 * If the meaning of the '<em>Right Operand</em>' containment reference isn't clear,
55 * there really should be more of a description here...
56 * </p>
57 * <!-- end-user-doc -->
58 * @return the value of the '<em>Right Operand</em>' containment reference.
59 * @see #setRightOperand(Term)
60 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getEquals_RightOperand()
61 * @model containment="true"
62 * @generated
63 */
64 Term getRightOperand();
65
66 /**
67 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals#getRightOperand <em>Right Operand</em>}' containment reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @param value the new value of the '<em>Right Operand</em>' containment reference.
71 * @see #getRightOperand()
72 * @generated
73 */
74 void setRightOperand(Term value);
75
76} // Equals
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Exists.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Exists.java
new file mode 100644
index 00000000..4e2fe972
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Exists.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Exists</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getExists()
13 * @model
14 * @generated
15 */
16public interface Exists extends QuantifiedExpression {
17} // Exists
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Forall.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Forall.java
new file mode 100644
index 00000000..62f7e550
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Forall.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Forall</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getForall()
13 * @model
14 * @generated
15 */
16public interface Forall extends QuantifiedExpression {
17} // Forall
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Function.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Function.java
new file mode 100644
index 00000000..b3e2fa82
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Function.java
@@ -0,0 +1,87 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.FunctionAnnotation;
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Function</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function#getRange <em>Range</em>}</li>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function#getParameters <em>Parameters</em>}</li>
19 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function#getAnnotations <em>Annotations</em>}</li>
20 * </ul>
21 *
22 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getFunction()
23 * @model abstract="true"
24 * @generated
25 */
26public interface Function extends SymbolicDeclaration {
27 /**
28 * Returns the value of the '<em><b>Range</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Range</em>' containment reference isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Range</em>' containment reference.
36 * @see #setRange(TypeReference)
37 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getFunction_Range()
38 * @model containment="true" required="true"
39 * @generated
40 */
41 TypeReference getRange();
42
43 /**
44 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function#getRange <em>Range</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Range</em>' containment reference.
48 * @see #getRange()
49 * @generated
50 */
51 void setRange(TypeReference value);
52
53 /**
54 * Returns the value of the '<em><b>Parameters</b></em>' containment reference list.
55 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference}.
56 * <!-- begin-user-doc -->
57 * <p>
58 * If the meaning of the '<em>Parameters</em>' containment reference list isn't clear,
59 * there really should be more of a description here...
60 * </p>
61 * <!-- end-user-doc -->
62 * @return the value of the '<em>Parameters</em>' containment reference list.
63 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getFunction_Parameters()
64 * @model containment="true"
65 * @generated
66 */
67 EList<TypeReference> getParameters();
68
69 /**
70 * Returns the value of the '<em><b>Annotations</b></em>' reference list.
71 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.FunctionAnnotation}.
72 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.FunctionAnnotation#getTarget <em>Target</em>}'.
73 * <!-- begin-user-doc -->
74 * <p>
75 * If the meaning of the '<em>Annotations</em>' reference list isn't clear,
76 * there really should be more of a description here...
77 * </p>
78 * <!-- end-user-doc -->
79 * @return the value of the '<em>Annotations</em>' reference list.
80 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getFunction_Annotations()
81 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.FunctionAnnotation#getTarget
82 * @model opposite="target"
83 * @generated
84 */
85 EList<FunctionAnnotation> getAnnotations();
86
87} // Function
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/FunctionDeclaration.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/FunctionDeclaration.java
new file mode 100644
index 00000000..6e9a6469
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/FunctionDeclaration.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Function Declaration</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getFunctionDeclaration()
13 * @model
14 * @generated
15 */
16public interface FunctionDeclaration extends Function {
17} // FunctionDeclaration
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/FunctionDefinition.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/FunctionDefinition.java
new file mode 100644
index 00000000..1034cdc7
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/FunctionDefinition.java
@@ -0,0 +1,94 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Function Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition#getVariable <em>Variable</em>}</li>
17 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition#getDefines <em>Defines</em>}</li>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition#getValue <em>Value</em>}</li>
19 * </ul>
20 *
21 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getFunctionDefinition()
22 * @model
23 * @generated
24 */
25public interface FunctionDefinition extends Function {
26 /**
27 * Returns the value of the '<em><b>Variable</b></em>' containment reference list.
28 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable}.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Variable</em>' containment reference list isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Variable</em>' containment reference list.
36 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getFunctionDefinition_Variable()
37 * @model containment="true"
38 * @generated
39 */
40 EList<Variable> getVariable();
41
42 /**
43 * Returns the value of the '<em><b>Defines</b></em>' reference.
44 * <!-- begin-user-doc -->
45 * <p>
46 * If the meaning of the '<em>Defines</em>' reference isn't clear,
47 * there really should be more of a description here...
48 * </p>
49 * <!-- end-user-doc -->
50 * @return the value of the '<em>Defines</em>' reference.
51 * @see #setDefines(FunctionDeclaration)
52 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getFunctionDefinition_Defines()
53 * @model
54 * @generated
55 */
56 FunctionDeclaration getDefines();
57
58 /**
59 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition#getDefines <em>Defines</em>}' reference.
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @param value the new value of the '<em>Defines</em>' reference.
63 * @see #getDefines()
64 * @generated
65 */
66 void setDefines(FunctionDeclaration value);
67
68 /**
69 * Returns the value of the '<em><b>Value</b></em>' containment reference.
70 * <!-- begin-user-doc -->
71 * <p>
72 * If the meaning of the '<em>Value</em>' containment reference isn't clear,
73 * there really should be more of a description here...
74 * </p>
75 * <!-- end-user-doc -->
76 * @return the value of the '<em>Value</em>' containment reference.
77 * @see #setValue(Term)
78 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getFunctionDefinition_Value()
79 * @model containment="true" required="true"
80 * @generated
81 */
82 Term getValue();
83
84 /**
85 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition#getValue <em>Value</em>}' containment reference.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @param value the new value of the '<em>Value</em>' containment reference.
89 * @see #getValue()
90 * @generated
91 */
92 void setValue(Term value);
93
94} // FunctionDefinition
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/IfThenElse.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/IfThenElse.java
new file mode 100644
index 00000000..aefecd1a
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/IfThenElse.java
@@ -0,0 +1,103 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>If Then Else</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse#getCondition <em>Condition</em>}</li>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse#getIfTrue <em>If True</em>}</li>
17 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse#getIfFalse <em>If False</em>}</li>
18 * </ul>
19 *
20 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getIfThenElse()
21 * @model
22 * @generated
23 */
24public interface IfThenElse extends Term {
25 /**
26 * Returns the value of the '<em><b>Condition</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Condition</em>' containment reference isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Condition</em>' containment reference.
34 * @see #setCondition(Term)
35 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getIfThenElse_Condition()
36 * @model containment="true" required="true"
37 * @generated
38 */
39 Term getCondition();
40
41 /**
42 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse#getCondition <em>Condition</em>}' containment reference.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Condition</em>' containment reference.
46 * @see #getCondition()
47 * @generated
48 */
49 void setCondition(Term value);
50
51 /**
52 * Returns the value of the '<em><b>If True</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <p>
55 * If the meaning of the '<em>If True</em>' containment reference isn't clear,
56 * there really should be more of a description here...
57 * </p>
58 * <!-- end-user-doc -->
59 * @return the value of the '<em>If True</em>' containment reference.
60 * @see #setIfTrue(Term)
61 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getIfThenElse_IfTrue()
62 * @model containment="true" required="true"
63 * @generated
64 */
65 Term getIfTrue();
66
67 /**
68 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse#getIfTrue <em>If True</em>}' containment reference.
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @param value the new value of the '<em>If True</em>' containment reference.
72 * @see #getIfTrue()
73 * @generated
74 */
75 void setIfTrue(Term value);
76
77 /**
78 * Returns the value of the '<em><b>If False</b></em>' containment reference.
79 * <!-- begin-user-doc -->
80 * <p>
81 * If the meaning of the '<em>If False</em>' containment reference isn't clear,
82 * there really should be more of a description here...
83 * </p>
84 * <!-- end-user-doc -->
85 * @return the value of the '<em>If False</em>' containment reference.
86 * @see #setIfFalse(Term)
87 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getIfThenElse_IfFalse()
88 * @model containment="true" required="true"
89 * @generated
90 */
91 Term getIfFalse();
92
93 /**
94 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse#getIfFalse <em>If False</em>}' containment reference.
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @param value the new value of the '<em>If False</em>' containment reference.
98 * @see #getIfFalse()
99 * @generated
100 */
101 void setIfFalse(Term value);
102
103} // IfThenElse
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Iff.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Iff.java
new file mode 100644
index 00000000..9fc20f1e
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Iff.java
@@ -0,0 +1,76 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Iff</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff#getLeftOperand <em>Left Operand</em>}</li>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff#getRightOperand <em>Right Operand</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getIff()
20 * @model
21 * @generated
22 */
23public interface Iff extends BoolOperation {
24 /**
25 * Returns the value of the '<em><b>Left Operand</b></em>' containment reference.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Left Operand</em>' containment reference isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Left Operand</em>' containment reference.
33 * @see #setLeftOperand(Term)
34 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getIff_LeftOperand()
35 * @model containment="true"
36 * @generated
37 */
38 Term getLeftOperand();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff#getLeftOperand <em>Left Operand</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Left Operand</em>' containment reference.
45 * @see #getLeftOperand()
46 * @generated
47 */
48 void setLeftOperand(Term value);
49
50 /**
51 * Returns the value of the '<em><b>Right Operand</b></em>' containment reference.
52 * <!-- begin-user-doc -->
53 * <p>
54 * If the meaning of the '<em>Right Operand</em>' containment reference isn't clear,
55 * there really should be more of a description here...
56 * </p>
57 * <!-- end-user-doc -->
58 * @return the value of the '<em>Right Operand</em>' containment reference.
59 * @see #setRightOperand(Term)
60 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getIff_RightOperand()
61 * @model containment="true"
62 * @generated
63 */
64 Term getRightOperand();
65
66 /**
67 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff#getRightOperand <em>Right Operand</em>}' containment reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @param value the new value of the '<em>Right Operand</em>' containment reference.
71 * @see #getRightOperand()
72 * @generated
73 */
74 void setRightOperand(Term value);
75
76} // Iff
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Impl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Impl.java
new file mode 100644
index 00000000..89ec3274
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Impl.java
@@ -0,0 +1,76 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Impl</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl#getLeftOperand <em>Left Operand</em>}</li>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl#getRightOperand <em>Right Operand</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getImpl()
20 * @model
21 * @generated
22 */
23public interface Impl extends BoolOperation {
24 /**
25 * Returns the value of the '<em><b>Left Operand</b></em>' containment reference.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Left Operand</em>' containment reference isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Left Operand</em>' containment reference.
33 * @see #setLeftOperand(Term)
34 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getImpl_LeftOperand()
35 * @model containment="true"
36 * @generated
37 */
38 Term getLeftOperand();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl#getLeftOperand <em>Left Operand</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Left Operand</em>' containment reference.
45 * @see #getLeftOperand()
46 * @generated
47 */
48 void setLeftOperand(Term value);
49
50 /**
51 * Returns the value of the '<em><b>Right Operand</b></em>' containment reference.
52 * <!-- begin-user-doc -->
53 * <p>
54 * If the meaning of the '<em>Right Operand</em>' containment reference isn't clear,
55 * there really should be more of a description here...
56 * </p>
57 * <!-- end-user-doc -->
58 * @return the value of the '<em>Right Operand</em>' containment reference.
59 * @see #setRightOperand(Term)
60 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getImpl_RightOperand()
61 * @model containment="true"
62 * @generated
63 */
64 Term getRightOperand();
65
66 /**
67 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl#getRightOperand <em>Right Operand</em>}' containment reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @param value the new value of the '<em>Right Operand</em>' containment reference.
71 * @see #getRightOperand()
72 * @generated
73 */
74 void setRightOperand(Term value);
75
76} // Impl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/InstanceOf.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/InstanceOf.java
new file mode 100644
index 00000000..2b4f0329
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/InstanceOf.java
@@ -0,0 +1,75 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Instance Of</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf#getValue <em>Value</em>}</li>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf#getRange <em>Range</em>}</li>
16 * </ul>
17 *
18 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getInstanceOf()
19 * @model
20 * @generated
21 */
22public interface InstanceOf extends Term {
23 /**
24 * Returns the value of the '<em><b>Value</b></em>' containment reference.
25 * <!-- begin-user-doc -->
26 * <p>
27 * If the meaning of the '<em>Value</em>' containment reference isn't clear,
28 * there really should be more of a description here...
29 * </p>
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Value</em>' containment reference.
32 * @see #setValue(Term)
33 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getInstanceOf_Value()
34 * @model containment="true" required="true"
35 * @generated
36 */
37 Term getValue();
38
39 /**
40 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf#getValue <em>Value</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Value</em>' containment reference.
44 * @see #getValue()
45 * @generated
46 */
47 void setValue(Term value);
48
49 /**
50 * Returns the value of the '<em><b>Range</b></em>' containment reference.
51 * <!-- begin-user-doc -->
52 * <p>
53 * If the meaning of the '<em>Range</em>' containment reference isn't clear,
54 * there really should be more of a description here...
55 * </p>
56 * <!-- end-user-doc -->
57 * @return the value of the '<em>Range</em>' containment reference.
58 * @see #setRange(TypeReference)
59 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getInstanceOf_Range()
60 * @model containment="true" required="true"
61 * @generated
62 */
63 TypeReference getRange();
64
65 /**
66 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf#getRange <em>Range</em>}' containment reference.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @param value the new value of the '<em>Range</em>' containment reference.
70 * @see #getRange()
71 * @generated
72 */
73 void setRange(TypeReference value);
74
75} // InstanceOf
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/IntLiteral.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/IntLiteral.java
new file mode 100644
index 00000000..87eb946d
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/IntLiteral.java
@@ -0,0 +1,49 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Int Literal</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral#getValue <em>Value</em>}</li>
16 * </ul>
17 *
18 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getIntLiteral()
19 * @model
20 * @generated
21 */
22public interface IntLiteral extends AtomicTerm {
23 /**
24 * Returns the value of the '<em><b>Value</b></em>' attribute.
25 * <!-- begin-user-doc -->
26 * <p>
27 * If the meaning of the '<em>Value</em>' attribute isn't clear,
28 * there really should be more of a description here...
29 * </p>
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Value</em>' attribute.
32 * @see #setValue(int)
33 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getIntLiteral_Value()
34 * @model
35 * @generated
36 */
37 int getValue();
38
39 /**
40 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral#getValue <em>Value</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Value</em>' attribute.
44 * @see #getValue()
45 * @generated
46 */
47 void setValue(int value);
48
49} // IntLiteral
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/IntOperation.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/IntOperation.java
new file mode 100644
index 00000000..d9be99e9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/IntOperation.java
@@ -0,0 +1,76 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Int Operation</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntOperation#getLeftOperand <em>Left Operand</em>}</li>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntOperation#getRightOperand <em>Right Operand</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getIntOperation()
20 * @model abstract="true"
21 * @generated
22 */
23public interface IntOperation extends Term {
24 /**
25 * Returns the value of the '<em><b>Left Operand</b></em>' containment reference.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Left Operand</em>' containment reference isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Left Operand</em>' containment reference.
33 * @see #setLeftOperand(Term)
34 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getIntOperation_LeftOperand()
35 * @model containment="true"
36 * @generated
37 */
38 Term getLeftOperand();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntOperation#getLeftOperand <em>Left Operand</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Left Operand</em>' containment reference.
45 * @see #getLeftOperand()
46 * @generated
47 */
48 void setLeftOperand(Term value);
49
50 /**
51 * Returns the value of the '<em><b>Right Operand</b></em>' containment reference.
52 * <!-- begin-user-doc -->
53 * <p>
54 * If the meaning of the '<em>Right Operand</em>' containment reference isn't clear,
55 * there really should be more of a description here...
56 * </p>
57 * <!-- end-user-doc -->
58 * @return the value of the '<em>Right Operand</em>' containment reference.
59 * @see #setRightOperand(Term)
60 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getIntOperation_RightOperand()
61 * @model containment="true"
62 * @generated
63 */
64 Term getRightOperand();
65
66 /**
67 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntOperation#getRightOperand <em>Right Operand</em>}' containment reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @param value the new value of the '<em>Right Operand</em>' containment reference.
71 * @see #getRightOperand()
72 * @generated
73 */
74 void setRightOperand(Term value);
75
76} // IntOperation
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/IntTypeReference.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/IntTypeReference.java
new file mode 100644
index 00000000..d68b350c
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/IntTypeReference.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Int Type Reference</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getIntTypeReference()
13 * @model
14 * @generated
15 */
16public interface IntTypeReference extends PrimitiveTypeReference {
17} // IntTypeReference
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/LessOrEqualThan.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/LessOrEqualThan.java
new file mode 100644
index 00000000..7fc8a0d6
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/LessOrEqualThan.java
@@ -0,0 +1,76 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Less Or Equal Than</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan#getLeftOperand <em>Left Operand</em>}</li>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan#getRightOperand <em>Right Operand</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getLessOrEqualThan()
20 * @model
21 * @generated
22 */
23public interface LessOrEqualThan extends PrimitiveRelation {
24 /**
25 * Returns the value of the '<em><b>Left Operand</b></em>' containment reference.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Left Operand</em>' containment reference isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Left Operand</em>' containment reference.
33 * @see #setLeftOperand(Term)
34 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getLessOrEqualThan_LeftOperand()
35 * @model containment="true"
36 * @generated
37 */
38 Term getLeftOperand();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan#getLeftOperand <em>Left Operand</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Left Operand</em>' containment reference.
45 * @see #getLeftOperand()
46 * @generated
47 */
48 void setLeftOperand(Term value);
49
50 /**
51 * Returns the value of the '<em><b>Right Operand</b></em>' containment reference.
52 * <!-- begin-user-doc -->
53 * <p>
54 * If the meaning of the '<em>Right Operand</em>' containment reference isn't clear,
55 * there really should be more of a description here...
56 * </p>
57 * <!-- end-user-doc -->
58 * @return the value of the '<em>Right Operand</em>' containment reference.
59 * @see #setRightOperand(Term)
60 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getLessOrEqualThan_RightOperand()
61 * @model containment="true"
62 * @generated
63 */
64 Term getRightOperand();
65
66 /**
67 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan#getRightOperand <em>Right Operand</em>}' containment reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @param value the new value of the '<em>Right Operand</em>' containment reference.
71 * @see #getRightOperand()
72 * @generated
73 */
74 void setRightOperand(Term value);
75
76} // LessOrEqualThan
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/LessThan.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/LessThan.java
new file mode 100644
index 00000000..e198d637
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/LessThan.java
@@ -0,0 +1,76 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Less Than</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan#getLeftOperand <em>Left Operand</em>}</li>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan#getRightOperand <em>Right Operand</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getLessThan()
20 * @model
21 * @generated
22 */
23public interface LessThan extends PrimitiveRelation {
24 /**
25 * Returns the value of the '<em><b>Left Operand</b></em>' containment reference.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Left Operand</em>' containment reference isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Left Operand</em>' containment reference.
33 * @see #setLeftOperand(Term)
34 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getLessThan_LeftOperand()
35 * @model containment="true"
36 * @generated
37 */
38 Term getLeftOperand();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan#getLeftOperand <em>Left Operand</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Left Operand</em>' containment reference.
45 * @see #getLeftOperand()
46 * @generated
47 */
48 void setLeftOperand(Term value);
49
50 /**
51 * Returns the value of the '<em><b>Right Operand</b></em>' containment reference.
52 * <!-- begin-user-doc -->
53 * <p>
54 * If the meaning of the '<em>Right Operand</em>' containment reference isn't clear,
55 * there really should be more of a description here...
56 * </p>
57 * <!-- end-user-doc -->
58 * @return the value of the '<em>Right Operand</em>' containment reference.
59 * @see #setRightOperand(Term)
60 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getLessThan_RightOperand()
61 * @model containment="true"
62 * @generated
63 */
64 Term getRightOperand();
65
66 /**
67 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan#getRightOperand <em>Right Operand</em>}' containment reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @param value the new value of the '<em>Right Operand</em>' containment reference.
71 * @see #getRightOperand()
72 * @generated
73 */
74 void setRightOperand(Term value);
75
76} // LessThan
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/LogiclanguageFactory.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/LogiclanguageFactory.java
new file mode 100644
index 00000000..0d438a05
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/LogiclanguageFactory.java
@@ -0,0 +1,393 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import org.eclipse.emf.ecore.EFactory;
6
7/**
8 * <!-- begin-user-doc -->
9 * The <b>Factory</b> for the model.
10 * It provides a create method for each non-abstract class of the model.
11 * <!-- end-user-doc -->
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage
13 * @generated
14 */
15public interface LogiclanguageFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 LogiclanguageFactory eINSTANCE = hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguageFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>Defined Element</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>Defined Element</em>'.
29 * @generated
30 */
31 DefinedElement createDefinedElement();
32
33 /**
34 * Returns a new object of class '<em>Type Definition</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Type Definition</em>'.
38 * @generated
39 */
40 TypeDefinition createTypeDefinition();
41
42 /**
43 * Returns a new object of class '<em>Complex Type Reference</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>Complex Type Reference</em>'.
47 * @generated
48 */
49 ComplexTypeReference createComplexTypeReference();
50
51 /**
52 * Returns a new object of class '<em>Int Type Reference</em>'.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return a new object of class '<em>Int Type Reference</em>'.
56 * @generated
57 */
58 IntTypeReference createIntTypeReference();
59
60 /**
61 * Returns a new object of class '<em>Bool Type Reference</em>'.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return a new object of class '<em>Bool Type Reference</em>'.
65 * @generated
66 */
67 BoolTypeReference createBoolTypeReference();
68
69 /**
70 * Returns a new object of class '<em>Real Type Reference</em>'.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @return a new object of class '<em>Real Type Reference</em>'.
74 * @generated
75 */
76 RealTypeReference createRealTypeReference();
77
78 /**
79 * Returns a new object of class '<em>Symbolic Value</em>'.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @return a new object of class '<em>Symbolic Value</em>'.
83 * @generated
84 */
85 SymbolicValue createSymbolicValue();
86
87 /**
88 * Returns a new object of class '<em>Int Literal</em>'.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @return a new object of class '<em>Int Literal</em>'.
92 * @generated
93 */
94 IntLiteral createIntLiteral();
95
96 /**
97 * Returns a new object of class '<em>Bool Literal</em>'.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @return a new object of class '<em>Bool Literal</em>'.
101 * @generated
102 */
103 BoolLiteral createBoolLiteral();
104
105 /**
106 * Returns a new object of class '<em>Real Literal</em>'.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @return a new object of class '<em>Real Literal</em>'.
110 * @generated
111 */
112 RealLiteral createRealLiteral();
113
114 /**
115 * Returns a new object of class '<em>Variable</em>'.
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @return a new object of class '<em>Variable</em>'.
119 * @generated
120 */
121 Variable createVariable();
122
123 /**
124 * Returns a new object of class '<em>Exists</em>'.
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @return a new object of class '<em>Exists</em>'.
128 * @generated
129 */
130 Exists createExists();
131
132 /**
133 * Returns a new object of class '<em>Forall</em>'.
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @return a new object of class '<em>Forall</em>'.
137 * @generated
138 */
139 Forall createForall();
140
141 /**
142 * Returns a new object of class '<em>And</em>'.
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @return a new object of class '<em>And</em>'.
146 * @generated
147 */
148 And createAnd();
149
150 /**
151 * Returns a new object of class '<em>Or</em>'.
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @return a new object of class '<em>Or</em>'.
155 * @generated
156 */
157 Or createOr();
158
159 /**
160 * Returns a new object of class '<em>Impl</em>'.
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @return a new object of class '<em>Impl</em>'.
164 * @generated
165 */
166 Impl createImpl();
167
168 /**
169 * Returns a new object of class '<em>Not</em>'.
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @return a new object of class '<em>Not</em>'.
173 * @generated
174 */
175 Not createNot();
176
177 /**
178 * Returns a new object of class '<em>Iff</em>'.
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @return a new object of class '<em>Iff</em>'.
182 * @generated
183 */
184 Iff createIff();
185
186 /**
187 * Returns a new object of class '<em>Equals</em>'.
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @return a new object of class '<em>Equals</em>'.
191 * @generated
192 */
193 Equals createEquals();
194
195 /**
196 * Returns a new object of class '<em>Distinct</em>'.
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @return a new object of class '<em>Distinct</em>'.
200 * @generated
201 */
202 Distinct createDistinct();
203
204 /**
205 * Returns a new object of class '<em>Less Than</em>'.
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @return a new object of class '<em>Less Than</em>'.
209 * @generated
210 */
211 LessThan createLessThan();
212
213 /**
214 * Returns a new object of class '<em>More Than</em>'.
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @return a new object of class '<em>More Than</em>'.
218 * @generated
219 */
220 MoreThan createMoreThan();
221
222 /**
223 * Returns a new object of class '<em>Less Or Equal Than</em>'.
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @return a new object of class '<em>Less Or Equal Than</em>'.
227 * @generated
228 */
229 LessOrEqualThan createLessOrEqualThan();
230
231 /**
232 * Returns a new object of class '<em>More Or Equal Than</em>'.
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @return a new object of class '<em>More Or Equal Than</em>'.
236 * @generated
237 */
238 MoreOrEqualThan createMoreOrEqualThan();
239
240 /**
241 * Returns a new object of class '<em>Plus</em>'.
242 * <!-- begin-user-doc -->
243 * <!-- end-user-doc -->
244 * @return a new object of class '<em>Plus</em>'.
245 * @generated
246 */
247 Plus createPlus();
248
249 /**
250 * Returns a new object of class '<em>Minus</em>'.
251 * <!-- begin-user-doc -->
252 * <!-- end-user-doc -->
253 * @return a new object of class '<em>Minus</em>'.
254 * @generated
255 */
256 Minus createMinus();
257
258 /**
259 * Returns a new object of class '<em>Multiply</em>'.
260 * <!-- begin-user-doc -->
261 * <!-- end-user-doc -->
262 * @return a new object of class '<em>Multiply</em>'.
263 * @generated
264 */
265 Multiply createMultiply();
266
267 /**
268 * Returns a new object of class '<em>Divison</em>'.
269 * <!-- begin-user-doc -->
270 * <!-- end-user-doc -->
271 * @return a new object of class '<em>Divison</em>'.
272 * @generated
273 */
274 Divison createDivison();
275
276 /**
277 * Returns a new object of class '<em>Mod</em>'.
278 * <!-- begin-user-doc -->
279 * <!-- end-user-doc -->
280 * @return a new object of class '<em>Mod</em>'.
281 * @generated
282 */
283 Mod createMod();
284
285 /**
286 * Returns a new object of class '<em>Assertion</em>'.
287 * <!-- begin-user-doc -->
288 * <!-- end-user-doc -->
289 * @return a new object of class '<em>Assertion</em>'.
290 * @generated
291 */
292 Assertion createAssertion();
293
294 /**
295 * Returns a new object of class '<em>Constant Definition</em>'.
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @return a new object of class '<em>Constant Definition</em>'.
299 * @generated
300 */
301 ConstantDefinition createConstantDefinition();
302
303 /**
304 * Returns a new object of class '<em>Relation Definition</em>'.
305 * <!-- begin-user-doc -->
306 * <!-- end-user-doc -->
307 * @return a new object of class '<em>Relation Definition</em>'.
308 * @generated
309 */
310 RelationDefinition createRelationDefinition();
311
312 /**
313 * Returns a new object of class '<em>Function Definition</em>'.
314 * <!-- begin-user-doc -->
315 * <!-- end-user-doc -->
316 * @return a new object of class '<em>Function Definition</em>'.
317 * @generated
318 */
319 FunctionDefinition createFunctionDefinition();
320
321 /**
322 * Returns a new object of class '<em>If Then Else</em>'.
323 * <!-- begin-user-doc -->
324 * <!-- end-user-doc -->
325 * @return a new object of class '<em>If Then Else</em>'.
326 * @generated
327 */
328 IfThenElse createIfThenElse();
329
330 /**
331 * Returns a new object of class '<em>Constant Declaration</em>'.
332 * <!-- begin-user-doc -->
333 * <!-- end-user-doc -->
334 * @return a new object of class '<em>Constant Declaration</em>'.
335 * @generated
336 */
337 ConstantDeclaration createConstantDeclaration();
338
339 /**
340 * Returns a new object of class '<em>Relation Declaration</em>'.
341 * <!-- begin-user-doc -->
342 * <!-- end-user-doc -->
343 * @return a new object of class '<em>Relation Declaration</em>'.
344 * @generated
345 */
346 RelationDeclaration createRelationDeclaration();
347
348 /**
349 * Returns a new object of class '<em>Function Declaration</em>'.
350 * <!-- begin-user-doc -->
351 * <!-- end-user-doc -->
352 * @return a new object of class '<em>Function Declaration</em>'.
353 * @generated
354 */
355 FunctionDeclaration createFunctionDeclaration();
356
357 /**
358 * Returns a new object of class '<em>Type Declaration</em>'.
359 * <!-- begin-user-doc -->
360 * <!-- end-user-doc -->
361 * @return a new object of class '<em>Type Declaration</em>'.
362 * @generated
363 */
364 TypeDeclaration createTypeDeclaration();
365
366 /**
367 * Returns a new object of class '<em>Unknown Because Uninterpreted</em>'.
368 * <!-- begin-user-doc -->
369 * <!-- end-user-doc -->
370 * @return a new object of class '<em>Unknown Because Uninterpreted</em>'.
371 * @generated
372 */
373 UnknownBecauseUninterpreted createUnknownBecauseUninterpreted();
374
375 /**
376 * Returns a new object of class '<em>Instance Of</em>'.
377 * <!-- begin-user-doc -->
378 * <!-- end-user-doc -->
379 * @return a new object of class '<em>Instance Of</em>'.
380 * @generated
381 */
382 InstanceOf createInstanceOf();
383
384 /**
385 * Returns the package supported by this factory.
386 * <!-- begin-user-doc -->
387 * <!-- end-user-doc -->
388 * @return the package supported by this factory.
389 * @generated
390 */
391 LogiclanguagePackage getLogiclanguagePackage();
392
393} //LogiclanguageFactory
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/LogiclanguagePackage.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/LogiclanguagePackage.java
new file mode 100644
index 00000000..6965428b
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/LogiclanguagePackage.java
@@ -0,0 +1,4830 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import org.eclipse.emf.ecore.EAttribute;
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EPackage;
8import org.eclipse.emf.ecore.EReference;
9
10/**
11 * <!-- begin-user-doc -->
12 * The <b>Package</b> for the model.
13 * It contains accessors for the meta objects to represent
14 * <ul>
15 * <li>each class,</li>
16 * <li>each feature of each class,</li>
17 * <li>each operation of each class,</li>
18 * <li>each enum,</li>
19 * <li>and each data type</li>
20 * </ul>
21 * <!-- end-user-doc -->
22 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
23 * @model kind="package"
24 * @generated
25 */
26public interface LogiclanguagePackage extends EPackage {
27 /**
28 * The package name.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 String eNAME = "logiclanguage";
34
35 /**
36 * The package namespace URI.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @generated
40 */
41 String eNS_URI = "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language";
42
43 /**
44 * The package namespace name.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @generated
48 */
49 String eNS_PREFIX = "language";
50
51 /**
52 * The singleton instance of the package.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 LogiclanguagePackage eINSTANCE = hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl.init();
58
59 /**
60 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDescriptor <em>Type Descriptor</em>}' class.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDescriptor
64 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getTypeDescriptor()
65 * @generated
66 */
67 int TYPE_DESCRIPTOR = 40;
68
69 /**
70 * The number of structural features of the '<em>Type Descriptor</em>' class.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 * @ordered
75 */
76 int TYPE_DESCRIPTOR_FEATURE_COUNT = 0;
77
78 /**
79 * The number of operations of the '<em>Type Descriptor</em>' class.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 * @ordered
84 */
85 int TYPE_DESCRIPTOR_OPERATION_COUNT = 0;
86
87 /**
88 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeImpl <em>Type</em>}' class.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeImpl
92 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getType()
93 * @generated
94 */
95 int TYPE = 0;
96
97 /**
98 * The feature id for the '<em><b>Name</b></em>' attribute.
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 * @ordered
103 */
104 int TYPE__NAME = TYPE_DESCRIPTOR_FEATURE_COUNT + 0;
105
106 /**
107 * The feature id for the '<em><b>Subtypes</b></em>' reference list.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @generated
111 * @ordered
112 */
113 int TYPE__SUBTYPES = TYPE_DESCRIPTOR_FEATURE_COUNT + 1;
114
115 /**
116 * The feature id for the '<em><b>Supertypes</b></em>' reference list.
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 * @ordered
121 */
122 int TYPE__SUPERTYPES = TYPE_DESCRIPTOR_FEATURE_COUNT + 2;
123
124 /**
125 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 * @ordered
130 */
131 int TYPE__IS_ABSTRACT = TYPE_DESCRIPTOR_FEATURE_COUNT + 3;
132
133 /**
134 * The number of structural features of the '<em>Type</em>' class.
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 * @ordered
139 */
140 int TYPE_FEATURE_COUNT = TYPE_DESCRIPTOR_FEATURE_COUNT + 4;
141
142 /**
143 * The number of operations of the '<em>Type</em>' class.
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 * @ordered
148 */
149 int TYPE_OPERATION_COUNT = TYPE_DESCRIPTOR_OPERATION_COUNT + 0;
150
151 /**
152 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription <em>Term Description</em>}' class.
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription
156 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getTermDescription()
157 * @generated
158 */
159 int TERM_DESCRIPTION = 41;
160
161 /**
162 * The number of structural features of the '<em>Term Description</em>' class.
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 * @ordered
167 */
168 int TERM_DESCRIPTION_FEATURE_COUNT = 0;
169
170 /**
171 * The number of operations of the '<em>Term Description</em>' class.
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 * @ordered
176 */
177 int TERM_DESCRIPTION_OPERATION_COUNT = 0;
178
179 /**
180 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.SymbolicDeclarationImpl <em>Symbolic Declaration</em>}' class.
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.SymbolicDeclarationImpl
184 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getSymbolicDeclaration()
185 * @generated
186 */
187 int SYMBOLIC_DECLARATION = 11;
188
189 /**
190 * The feature id for the '<em><b>Name</b></em>' attribute.
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 * @ordered
195 */
196 int SYMBOLIC_DECLARATION__NAME = TERM_DESCRIPTION_FEATURE_COUNT + 0;
197
198 /**
199 * The number of structural features of the '<em>Symbolic Declaration</em>' class.
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 * @ordered
204 */
205 int SYMBOLIC_DECLARATION_FEATURE_COUNT = TERM_DESCRIPTION_FEATURE_COUNT + 1;
206
207 /**
208 * The number of operations of the '<em>Symbolic Declaration</em>' class.
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 * @ordered
213 */
214 int SYMBOLIC_DECLARATION_OPERATION_COUNT = TERM_DESCRIPTION_OPERATION_COUNT + 0;
215
216 /**
217 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.DefinedElementImpl <em>Defined Element</em>}' class.
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.DefinedElementImpl
221 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getDefinedElement()
222 * @generated
223 */
224 int DEFINED_ELEMENT = 1;
225
226 /**
227 * The feature id for the '<em><b>Name</b></em>' attribute.
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 * @ordered
232 */
233 int DEFINED_ELEMENT__NAME = SYMBOLIC_DECLARATION__NAME;
234
235 /**
236 * The feature id for the '<em><b>Defined In Type</b></em>' reference list.
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 * @ordered
241 */
242 int DEFINED_ELEMENT__DEFINED_IN_TYPE = SYMBOLIC_DECLARATION_FEATURE_COUNT + 0;
243
244 /**
245 * The number of structural features of the '<em>Defined Element</em>' class.
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 * @ordered
250 */
251 int DEFINED_ELEMENT_FEATURE_COUNT = SYMBOLIC_DECLARATION_FEATURE_COUNT + 1;
252
253 /**
254 * The number of operations of the '<em>Defined Element</em>' class.
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @generated
258 * @ordered
259 */
260 int DEFINED_ELEMENT_OPERATION_COUNT = SYMBOLIC_DECLARATION_OPERATION_COUNT + 0;
261
262 /**
263 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeDefinitionImpl <em>Type Definition</em>}' class.
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeDefinitionImpl
267 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getTypeDefinition()
268 * @generated
269 */
270 int TYPE_DEFINITION = 2;
271
272 /**
273 * The feature id for the '<em><b>Name</b></em>' attribute.
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @generated
277 * @ordered
278 */
279 int TYPE_DEFINITION__NAME = TYPE__NAME;
280
281 /**
282 * The feature id for the '<em><b>Subtypes</b></em>' reference list.
283 * <!-- begin-user-doc -->
284 * <!-- end-user-doc -->
285 * @generated
286 * @ordered
287 */
288 int TYPE_DEFINITION__SUBTYPES = TYPE__SUBTYPES;
289
290 /**
291 * The feature id for the '<em><b>Supertypes</b></em>' reference list.
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 * @ordered
296 */
297 int TYPE_DEFINITION__SUPERTYPES = TYPE__SUPERTYPES;
298
299 /**
300 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 * @ordered
305 */
306 int TYPE_DEFINITION__IS_ABSTRACT = TYPE__IS_ABSTRACT;
307
308 /**
309 * The feature id for the '<em><b>Elements</b></em>' reference list.
310 * <!-- begin-user-doc -->
311 * <!-- end-user-doc -->
312 * @generated
313 * @ordered
314 */
315 int TYPE_DEFINITION__ELEMENTS = TYPE_FEATURE_COUNT + 0;
316
317 /**
318 * The feature id for the '<em><b>Defines</b></em>' reference.
319 * <!-- begin-user-doc -->
320 * <!-- end-user-doc -->
321 * @generated
322 * @ordered
323 */
324 int TYPE_DEFINITION__DEFINES = TYPE_FEATURE_COUNT + 1;
325
326 /**
327 * The number of structural features of the '<em>Type Definition</em>' class.
328 * <!-- begin-user-doc -->
329 * <!-- end-user-doc -->
330 * @generated
331 * @ordered
332 */
333 int TYPE_DEFINITION_FEATURE_COUNT = TYPE_FEATURE_COUNT + 2;
334
335 /**
336 * The number of operations of the '<em>Type Definition</em>' class.
337 * <!-- begin-user-doc -->
338 * <!-- end-user-doc -->
339 * @generated
340 * @ordered
341 */
342 int TYPE_DEFINITION_OPERATION_COUNT = TYPE_OPERATION_COUNT + 0;
343
344 /**
345 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeReferenceImpl <em>Type Reference</em>}' class.
346 * <!-- begin-user-doc -->
347 * <!-- end-user-doc -->
348 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeReferenceImpl
349 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getTypeReference()
350 * @generated
351 */
352 int TYPE_REFERENCE = 3;
353
354 /**
355 * The number of structural features of the '<em>Type Reference</em>' class.
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 * @ordered
360 */
361 int TYPE_REFERENCE_FEATURE_COUNT = TYPE_DESCRIPTOR_FEATURE_COUNT + 0;
362
363 /**
364 * The number of operations of the '<em>Type Reference</em>' class.
365 * <!-- begin-user-doc -->
366 * <!-- end-user-doc -->
367 * @generated
368 * @ordered
369 */
370 int TYPE_REFERENCE_OPERATION_COUNT = TYPE_DESCRIPTOR_OPERATION_COUNT + 0;
371
372 /**
373 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ComplexTypeReferenceImpl <em>Complex Type Reference</em>}' class.
374 * <!-- begin-user-doc -->
375 * <!-- end-user-doc -->
376 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ComplexTypeReferenceImpl
377 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getComplexTypeReference()
378 * @generated
379 */
380 int COMPLEX_TYPE_REFERENCE = 4;
381
382 /**
383 * The feature id for the '<em><b>Referred</b></em>' reference.
384 * <!-- begin-user-doc -->
385 * <!-- end-user-doc -->
386 * @generated
387 * @ordered
388 */
389 int COMPLEX_TYPE_REFERENCE__REFERRED = TYPE_REFERENCE_FEATURE_COUNT + 0;
390
391 /**
392 * The number of structural features of the '<em>Complex Type Reference</em>' class.
393 * <!-- begin-user-doc -->
394 * <!-- end-user-doc -->
395 * @generated
396 * @ordered
397 */
398 int COMPLEX_TYPE_REFERENCE_FEATURE_COUNT = TYPE_REFERENCE_FEATURE_COUNT + 1;
399
400 /**
401 * The number of operations of the '<em>Complex Type Reference</em>' class.
402 * <!-- begin-user-doc -->
403 * <!-- end-user-doc -->
404 * @generated
405 * @ordered
406 */
407 int COMPLEX_TYPE_REFERENCE_OPERATION_COUNT = TYPE_REFERENCE_OPERATION_COUNT + 0;
408
409 /**
410 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.PrimitiveTypeReferenceImpl <em>Primitive Type Reference</em>}' class.
411 * <!-- begin-user-doc -->
412 * <!-- end-user-doc -->
413 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.PrimitiveTypeReferenceImpl
414 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getPrimitiveTypeReference()
415 * @generated
416 */
417 int PRIMITIVE_TYPE_REFERENCE = 5;
418
419 /**
420 * The number of structural features of the '<em>Primitive Type Reference</em>' class.
421 * <!-- begin-user-doc -->
422 * <!-- end-user-doc -->
423 * @generated
424 * @ordered
425 */
426 int PRIMITIVE_TYPE_REFERENCE_FEATURE_COUNT = TYPE_REFERENCE_FEATURE_COUNT + 0;
427
428 /**
429 * The number of operations of the '<em>Primitive Type Reference</em>' class.
430 * <!-- begin-user-doc -->
431 * <!-- end-user-doc -->
432 * @generated
433 * @ordered
434 */
435 int PRIMITIVE_TYPE_REFERENCE_OPERATION_COUNT = TYPE_REFERENCE_OPERATION_COUNT + 0;
436
437 /**
438 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IntTypeReferenceImpl <em>Int Type Reference</em>}' class.
439 * <!-- begin-user-doc -->
440 * <!-- end-user-doc -->
441 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IntTypeReferenceImpl
442 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getIntTypeReference()
443 * @generated
444 */
445 int INT_TYPE_REFERENCE = 6;
446
447 /**
448 * The number of structural features of the '<em>Int Type Reference</em>' class.
449 * <!-- begin-user-doc -->
450 * <!-- end-user-doc -->
451 * @generated
452 * @ordered
453 */
454 int INT_TYPE_REFERENCE_FEATURE_COUNT = PRIMITIVE_TYPE_REFERENCE_FEATURE_COUNT + 0;
455
456 /**
457 * The number of operations of the '<em>Int Type Reference</em>' class.
458 * <!-- begin-user-doc -->
459 * <!-- end-user-doc -->
460 * @generated
461 * @ordered
462 */
463 int INT_TYPE_REFERENCE_OPERATION_COUNT = PRIMITIVE_TYPE_REFERENCE_OPERATION_COUNT + 0;
464
465 /**
466 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.BoolTypeReferenceImpl <em>Bool Type Reference</em>}' class.
467 * <!-- begin-user-doc -->
468 * <!-- end-user-doc -->
469 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.BoolTypeReferenceImpl
470 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getBoolTypeReference()
471 * @generated
472 */
473 int BOOL_TYPE_REFERENCE = 7;
474
475 /**
476 * The number of structural features of the '<em>Bool Type Reference</em>' class.
477 * <!-- begin-user-doc -->
478 * <!-- end-user-doc -->
479 * @generated
480 * @ordered
481 */
482 int BOOL_TYPE_REFERENCE_FEATURE_COUNT = PRIMITIVE_TYPE_REFERENCE_FEATURE_COUNT + 0;
483
484 /**
485 * The number of operations of the '<em>Bool Type Reference</em>' class.
486 * <!-- begin-user-doc -->
487 * <!-- end-user-doc -->
488 * @generated
489 * @ordered
490 */
491 int BOOL_TYPE_REFERENCE_OPERATION_COUNT = PRIMITIVE_TYPE_REFERENCE_OPERATION_COUNT + 0;
492
493 /**
494 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RealTypeReferenceImpl <em>Real Type Reference</em>}' class.
495 * <!-- begin-user-doc -->
496 * <!-- end-user-doc -->
497 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RealTypeReferenceImpl
498 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getRealTypeReference()
499 * @generated
500 */
501 int REAL_TYPE_REFERENCE = 8;
502
503 /**
504 * The number of structural features of the '<em>Real Type Reference</em>' class.
505 * <!-- begin-user-doc -->
506 * <!-- end-user-doc -->
507 * @generated
508 * @ordered
509 */
510 int REAL_TYPE_REFERENCE_FEATURE_COUNT = PRIMITIVE_TYPE_REFERENCE_FEATURE_COUNT + 0;
511
512 /**
513 * The number of operations of the '<em>Real Type Reference</em>' class.
514 * <!-- begin-user-doc -->
515 * <!-- end-user-doc -->
516 * @generated
517 * @ordered
518 */
519 int REAL_TYPE_REFERENCE_OPERATION_COUNT = PRIMITIVE_TYPE_REFERENCE_OPERATION_COUNT + 0;
520
521 /**
522 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionImpl <em>Function</em>}' class.
523 * <!-- begin-user-doc -->
524 * <!-- end-user-doc -->
525 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionImpl
526 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getFunction()
527 * @generated
528 */
529 int FUNCTION = 9;
530
531 /**
532 * The feature id for the '<em><b>Name</b></em>' attribute.
533 * <!-- begin-user-doc -->
534 * <!-- end-user-doc -->
535 * @generated
536 * @ordered
537 */
538 int FUNCTION__NAME = SYMBOLIC_DECLARATION__NAME;
539
540 /**
541 * The feature id for the '<em><b>Range</b></em>' containment reference.
542 * <!-- begin-user-doc -->
543 * <!-- end-user-doc -->
544 * @generated
545 * @ordered
546 */
547 int FUNCTION__RANGE = SYMBOLIC_DECLARATION_FEATURE_COUNT + 0;
548
549 /**
550 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
551 * <!-- begin-user-doc -->
552 * <!-- end-user-doc -->
553 * @generated
554 * @ordered
555 */
556 int FUNCTION__PARAMETERS = SYMBOLIC_DECLARATION_FEATURE_COUNT + 1;
557
558 /**
559 * The feature id for the '<em><b>Annotations</b></em>' reference list.
560 * <!-- begin-user-doc -->
561 * <!-- end-user-doc -->
562 * @generated
563 * @ordered
564 */
565 int FUNCTION__ANNOTATIONS = SYMBOLIC_DECLARATION_FEATURE_COUNT + 2;
566
567 /**
568 * The number of structural features of the '<em>Function</em>' class.
569 * <!-- begin-user-doc -->
570 * <!-- end-user-doc -->
571 * @generated
572 * @ordered
573 */
574 int FUNCTION_FEATURE_COUNT = SYMBOLIC_DECLARATION_FEATURE_COUNT + 3;
575
576 /**
577 * The number of operations of the '<em>Function</em>' class.
578 * <!-- begin-user-doc -->
579 * <!-- end-user-doc -->
580 * @generated
581 * @ordered
582 */
583 int FUNCTION_OPERATION_COUNT = SYMBOLIC_DECLARATION_OPERATION_COUNT + 0;
584
585 /**
586 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TermImpl <em>Term</em>}' class.
587 * <!-- begin-user-doc -->
588 * <!-- end-user-doc -->
589 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TermImpl
590 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getTerm()
591 * @generated
592 */
593 int TERM = 10;
594
595 /**
596 * The number of structural features of the '<em>Term</em>' class.
597 * <!-- begin-user-doc -->
598 * <!-- end-user-doc -->
599 * @generated
600 * @ordered
601 */
602 int TERM_FEATURE_COUNT = TERM_DESCRIPTION_FEATURE_COUNT + 0;
603
604 /**
605 * The number of operations of the '<em>Term</em>' class.
606 * <!-- begin-user-doc -->
607 * <!-- end-user-doc -->
608 * @generated
609 * @ordered
610 */
611 int TERM_OPERATION_COUNT = TERM_DESCRIPTION_OPERATION_COUNT + 0;
612
613 /**
614 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.SymbolicValueImpl <em>Symbolic Value</em>}' class.
615 * <!-- begin-user-doc -->
616 * <!-- end-user-doc -->
617 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.SymbolicValueImpl
618 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getSymbolicValue()
619 * @generated
620 */
621 int SYMBOLIC_VALUE = 12;
622
623 /**
624 * The feature id for the '<em><b>Symbolic Reference</b></em>' reference.
625 * <!-- begin-user-doc -->
626 * <!-- end-user-doc -->
627 * @generated
628 * @ordered
629 */
630 int SYMBOLIC_VALUE__SYMBOLIC_REFERENCE = TERM_FEATURE_COUNT + 0;
631
632 /**
633 * The feature id for the '<em><b>Parameter Substitutions</b></em>' containment reference list.
634 * <!-- begin-user-doc -->
635 * <!-- end-user-doc -->
636 * @generated
637 * @ordered
638 */
639 int SYMBOLIC_VALUE__PARAMETER_SUBSTITUTIONS = TERM_FEATURE_COUNT + 1;
640
641 /**
642 * The number of structural features of the '<em>Symbolic Value</em>' class.
643 * <!-- begin-user-doc -->
644 * <!-- end-user-doc -->
645 * @generated
646 * @ordered
647 */
648 int SYMBOLIC_VALUE_FEATURE_COUNT = TERM_FEATURE_COUNT + 2;
649
650 /**
651 * The number of operations of the '<em>Symbolic Value</em>' class.
652 * <!-- begin-user-doc -->
653 * <!-- end-user-doc -->
654 * @generated
655 * @ordered
656 */
657 int SYMBOLIC_VALUE_OPERATION_COUNT = TERM_OPERATION_COUNT + 0;
658
659 /**
660 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.AtomicTermImpl <em>Atomic Term</em>}' class.
661 * <!-- begin-user-doc -->
662 * <!-- end-user-doc -->
663 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.AtomicTermImpl
664 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getAtomicTerm()
665 * @generated
666 */
667 int ATOMIC_TERM = 13;
668
669 /**
670 * The number of structural features of the '<em>Atomic Term</em>' class.
671 * <!-- begin-user-doc -->
672 * <!-- end-user-doc -->
673 * @generated
674 * @ordered
675 */
676 int ATOMIC_TERM_FEATURE_COUNT = TERM_FEATURE_COUNT + 0;
677
678 /**
679 * The number of operations of the '<em>Atomic Term</em>' class.
680 * <!-- begin-user-doc -->
681 * <!-- end-user-doc -->
682 * @generated
683 * @ordered
684 */
685 int ATOMIC_TERM_OPERATION_COUNT = TERM_OPERATION_COUNT + 0;
686
687 /**
688 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IntLiteralImpl <em>Int Literal</em>}' class.
689 * <!-- begin-user-doc -->
690 * <!-- end-user-doc -->
691 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IntLiteralImpl
692 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getIntLiteral()
693 * @generated
694 */
695 int INT_LITERAL = 14;
696
697 /**
698 * The feature id for the '<em><b>Value</b></em>' attribute.
699 * <!-- begin-user-doc -->
700 * <!-- end-user-doc -->
701 * @generated
702 * @ordered
703 */
704 int INT_LITERAL__VALUE = ATOMIC_TERM_FEATURE_COUNT + 0;
705
706 /**
707 * The number of structural features of the '<em>Int Literal</em>' class.
708 * <!-- begin-user-doc -->
709 * <!-- end-user-doc -->
710 * @generated
711 * @ordered
712 */
713 int INT_LITERAL_FEATURE_COUNT = ATOMIC_TERM_FEATURE_COUNT + 1;
714
715 /**
716 * The number of operations of the '<em>Int Literal</em>' class.
717 * <!-- begin-user-doc -->
718 * <!-- end-user-doc -->
719 * @generated
720 * @ordered
721 */
722 int INT_LITERAL_OPERATION_COUNT = ATOMIC_TERM_OPERATION_COUNT + 0;
723
724 /**
725 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.BoolLiteralImpl <em>Bool Literal</em>}' class.
726 * <!-- begin-user-doc -->
727 * <!-- end-user-doc -->
728 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.BoolLiteralImpl
729 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getBoolLiteral()
730 * @generated
731 */
732 int BOOL_LITERAL = 15;
733
734 /**
735 * The feature id for the '<em><b>Value</b></em>' attribute.
736 * <!-- begin-user-doc -->
737 * <!-- end-user-doc -->
738 * @generated
739 * @ordered
740 */
741 int BOOL_LITERAL__VALUE = ATOMIC_TERM_FEATURE_COUNT + 0;
742
743 /**
744 * The number of structural features of the '<em>Bool Literal</em>' class.
745 * <!-- begin-user-doc -->
746 * <!-- end-user-doc -->
747 * @generated
748 * @ordered
749 */
750 int BOOL_LITERAL_FEATURE_COUNT = ATOMIC_TERM_FEATURE_COUNT + 1;
751
752 /**
753 * The number of operations of the '<em>Bool Literal</em>' class.
754 * <!-- begin-user-doc -->
755 * <!-- end-user-doc -->
756 * @generated
757 * @ordered
758 */
759 int BOOL_LITERAL_OPERATION_COUNT = ATOMIC_TERM_OPERATION_COUNT + 0;
760
761 /**
762 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RealLiteralImpl <em>Real Literal</em>}' class.
763 * <!-- begin-user-doc -->
764 * <!-- end-user-doc -->
765 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RealLiteralImpl
766 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getRealLiteral()
767 * @generated
768 */
769 int REAL_LITERAL = 16;
770
771 /**
772 * The feature id for the '<em><b>Value</b></em>' attribute.
773 * <!-- begin-user-doc -->
774 * <!-- end-user-doc -->
775 * @generated
776 * @ordered
777 */
778 int REAL_LITERAL__VALUE = ATOMIC_TERM_FEATURE_COUNT + 0;
779
780 /**
781 * The number of structural features of the '<em>Real Literal</em>' class.
782 * <!-- begin-user-doc -->
783 * <!-- end-user-doc -->
784 * @generated
785 * @ordered
786 */
787 int REAL_LITERAL_FEATURE_COUNT = ATOMIC_TERM_FEATURE_COUNT + 1;
788
789 /**
790 * The number of operations of the '<em>Real Literal</em>' class.
791 * <!-- begin-user-doc -->
792 * <!-- end-user-doc -->
793 * @generated
794 * @ordered
795 */
796 int REAL_LITERAL_OPERATION_COUNT = ATOMIC_TERM_OPERATION_COUNT + 0;
797
798 /**
799 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.VariableImpl <em>Variable</em>}' class.
800 * <!-- begin-user-doc -->
801 * <!-- end-user-doc -->
802 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.VariableImpl
803 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getVariable()
804 * @generated
805 */
806 int VARIABLE = 17;
807
808 /**
809 * The feature id for the '<em><b>Name</b></em>' attribute.
810 * <!-- begin-user-doc -->
811 * <!-- end-user-doc -->
812 * @generated
813 * @ordered
814 */
815 int VARIABLE__NAME = SYMBOLIC_DECLARATION__NAME;
816
817 /**
818 * The feature id for the '<em><b>Range</b></em>' containment reference.
819 * <!-- begin-user-doc -->
820 * <!-- end-user-doc -->
821 * @generated
822 * @ordered
823 */
824 int VARIABLE__RANGE = SYMBOLIC_DECLARATION_FEATURE_COUNT + 0;
825
826 /**
827 * The number of structural features of the '<em>Variable</em>' class.
828 * <!-- begin-user-doc -->
829 * <!-- end-user-doc -->
830 * @generated
831 * @ordered
832 */
833 int VARIABLE_FEATURE_COUNT = SYMBOLIC_DECLARATION_FEATURE_COUNT + 1;
834
835 /**
836 * The number of operations of the '<em>Variable</em>' class.
837 * <!-- begin-user-doc -->
838 * <!-- end-user-doc -->
839 * @generated
840 * @ordered
841 */
842 int VARIABLE_OPERATION_COUNT = SYMBOLIC_DECLARATION_OPERATION_COUNT + 0;
843
844 /**
845 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.QuantifiedExpressionImpl <em>Quantified Expression</em>}' class.
846 * <!-- begin-user-doc -->
847 * <!-- end-user-doc -->
848 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.QuantifiedExpressionImpl
849 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getQuantifiedExpression()
850 * @generated
851 */
852 int QUANTIFIED_EXPRESSION = 18;
853
854 /**
855 * The feature id for the '<em><b>Quantified Variables</b></em>' containment reference list.
856 * <!-- begin-user-doc -->
857 * <!-- end-user-doc -->
858 * @generated
859 * @ordered
860 */
861 int QUANTIFIED_EXPRESSION__QUANTIFIED_VARIABLES = TERM_FEATURE_COUNT + 0;
862
863 /**
864 * The feature id for the '<em><b>Expression</b></em>' containment reference.
865 * <!-- begin-user-doc -->
866 * <!-- end-user-doc -->
867 * @generated
868 * @ordered
869 */
870 int QUANTIFIED_EXPRESSION__EXPRESSION = TERM_FEATURE_COUNT + 1;
871
872 /**
873 * The number of structural features of the '<em>Quantified Expression</em>' class.
874 * <!-- begin-user-doc -->
875 * <!-- end-user-doc -->
876 * @generated
877 * @ordered
878 */
879 int QUANTIFIED_EXPRESSION_FEATURE_COUNT = TERM_FEATURE_COUNT + 2;
880
881 /**
882 * The number of operations of the '<em>Quantified Expression</em>' class.
883 * <!-- begin-user-doc -->
884 * <!-- end-user-doc -->
885 * @generated
886 * @ordered
887 */
888 int QUANTIFIED_EXPRESSION_OPERATION_COUNT = TERM_OPERATION_COUNT + 0;
889
890 /**
891 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ExistsImpl <em>Exists</em>}' class.
892 * <!-- begin-user-doc -->
893 * <!-- end-user-doc -->
894 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ExistsImpl
895 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getExists()
896 * @generated
897 */
898 int EXISTS = 19;
899
900 /**
901 * The feature id for the '<em><b>Quantified Variables</b></em>' containment reference list.
902 * <!-- begin-user-doc -->
903 * <!-- end-user-doc -->
904 * @generated
905 * @ordered
906 */
907 int EXISTS__QUANTIFIED_VARIABLES = QUANTIFIED_EXPRESSION__QUANTIFIED_VARIABLES;
908
909 /**
910 * The feature id for the '<em><b>Expression</b></em>' containment reference.
911 * <!-- begin-user-doc -->
912 * <!-- end-user-doc -->
913 * @generated
914 * @ordered
915 */
916 int EXISTS__EXPRESSION = QUANTIFIED_EXPRESSION__EXPRESSION;
917
918 /**
919 * The number of structural features of the '<em>Exists</em>' class.
920 * <!-- begin-user-doc -->
921 * <!-- end-user-doc -->
922 * @generated
923 * @ordered
924 */
925 int EXISTS_FEATURE_COUNT = QUANTIFIED_EXPRESSION_FEATURE_COUNT + 0;
926
927 /**
928 * The number of operations of the '<em>Exists</em>' class.
929 * <!-- begin-user-doc -->
930 * <!-- end-user-doc -->
931 * @generated
932 * @ordered
933 */
934 int EXISTS_OPERATION_COUNT = QUANTIFIED_EXPRESSION_OPERATION_COUNT + 0;
935
936 /**
937 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ForallImpl <em>Forall</em>}' class.
938 * <!-- begin-user-doc -->
939 * <!-- end-user-doc -->
940 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ForallImpl
941 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getForall()
942 * @generated
943 */
944 int FORALL = 20;
945
946 /**
947 * The feature id for the '<em><b>Quantified Variables</b></em>' containment reference list.
948 * <!-- begin-user-doc -->
949 * <!-- end-user-doc -->
950 * @generated
951 * @ordered
952 */
953 int FORALL__QUANTIFIED_VARIABLES = QUANTIFIED_EXPRESSION__QUANTIFIED_VARIABLES;
954
955 /**
956 * The feature id for the '<em><b>Expression</b></em>' containment reference.
957 * <!-- begin-user-doc -->
958 * <!-- end-user-doc -->
959 * @generated
960 * @ordered
961 */
962 int FORALL__EXPRESSION = QUANTIFIED_EXPRESSION__EXPRESSION;
963
964 /**
965 * The number of structural features of the '<em>Forall</em>' class.
966 * <!-- begin-user-doc -->
967 * <!-- end-user-doc -->
968 * @generated
969 * @ordered
970 */
971 int FORALL_FEATURE_COUNT = QUANTIFIED_EXPRESSION_FEATURE_COUNT + 0;
972
973 /**
974 * The number of operations of the '<em>Forall</em>' class.
975 * <!-- begin-user-doc -->
976 * <!-- end-user-doc -->
977 * @generated
978 * @ordered
979 */
980 int FORALL_OPERATION_COUNT = QUANTIFIED_EXPRESSION_OPERATION_COUNT + 0;
981
982 /**
983 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.BoolOperationImpl <em>Bool Operation</em>}' class.
984 * <!-- begin-user-doc -->
985 * <!-- end-user-doc -->
986 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.BoolOperationImpl
987 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getBoolOperation()
988 * @generated
989 */
990 int BOOL_OPERATION = 21;
991
992 /**
993 * The number of structural features of the '<em>Bool Operation</em>' class.
994 * <!-- begin-user-doc -->
995 * <!-- end-user-doc -->
996 * @generated
997 * @ordered
998 */
999 int BOOL_OPERATION_FEATURE_COUNT = TERM_FEATURE_COUNT + 0;
1000
1001 /**
1002 * The number of operations of the '<em>Bool Operation</em>' class.
1003 * <!-- begin-user-doc -->
1004 * <!-- end-user-doc -->
1005 * @generated
1006 * @ordered
1007 */
1008 int BOOL_OPERATION_OPERATION_COUNT = TERM_OPERATION_COUNT + 0;
1009
1010 /**
1011 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.AndImpl <em>And</em>}' class.
1012 * <!-- begin-user-doc -->
1013 * <!-- end-user-doc -->
1014 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.AndImpl
1015 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getAnd()
1016 * @generated
1017 */
1018 int AND = 22;
1019
1020 /**
1021 * The feature id for the '<em><b>Operands</b></em>' containment reference list.
1022 * <!-- begin-user-doc -->
1023 * <!-- end-user-doc -->
1024 * @generated
1025 * @ordered
1026 */
1027 int AND__OPERANDS = BOOL_OPERATION_FEATURE_COUNT + 0;
1028
1029 /**
1030 * The number of structural features of the '<em>And</em>' class.
1031 * <!-- begin-user-doc -->
1032 * <!-- end-user-doc -->
1033 * @generated
1034 * @ordered
1035 */
1036 int AND_FEATURE_COUNT = BOOL_OPERATION_FEATURE_COUNT + 1;
1037
1038 /**
1039 * The number of operations of the '<em>And</em>' class.
1040 * <!-- begin-user-doc -->
1041 * <!-- end-user-doc -->
1042 * @generated
1043 * @ordered
1044 */
1045 int AND_OPERATION_COUNT = BOOL_OPERATION_OPERATION_COUNT + 0;
1046
1047 /**
1048 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.OrImpl <em>Or</em>}' class.
1049 * <!-- begin-user-doc -->
1050 * <!-- end-user-doc -->
1051 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.OrImpl
1052 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getOr()
1053 * @generated
1054 */
1055 int OR = 23;
1056
1057 /**
1058 * The feature id for the '<em><b>Operands</b></em>' containment reference list.
1059 * <!-- begin-user-doc -->
1060 * <!-- end-user-doc -->
1061 * @generated
1062 * @ordered
1063 */
1064 int OR__OPERANDS = BOOL_OPERATION_FEATURE_COUNT + 0;
1065
1066 /**
1067 * The number of structural features of the '<em>Or</em>' class.
1068 * <!-- begin-user-doc -->
1069 * <!-- end-user-doc -->
1070 * @generated
1071 * @ordered
1072 */
1073 int OR_FEATURE_COUNT = BOOL_OPERATION_FEATURE_COUNT + 1;
1074
1075 /**
1076 * The number of operations of the '<em>Or</em>' class.
1077 * <!-- begin-user-doc -->
1078 * <!-- end-user-doc -->
1079 * @generated
1080 * @ordered
1081 */
1082 int OR_OPERATION_COUNT = BOOL_OPERATION_OPERATION_COUNT + 0;
1083
1084 /**
1085 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ImplImpl <em>Impl</em>}' class.
1086 * <!-- begin-user-doc -->
1087 * <!-- end-user-doc -->
1088 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ImplImpl
1089 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getImpl()
1090 * @generated
1091 */
1092 int IMPL = 24;
1093
1094 /**
1095 * The feature id for the '<em><b>Left Operand</b></em>' containment reference.
1096 * <!-- begin-user-doc -->
1097 * <!-- end-user-doc -->
1098 * @generated
1099 * @ordered
1100 */
1101 int IMPL__LEFT_OPERAND = BOOL_OPERATION_FEATURE_COUNT + 0;
1102
1103 /**
1104 * The feature id for the '<em><b>Right Operand</b></em>' containment reference.
1105 * <!-- begin-user-doc -->
1106 * <!-- end-user-doc -->
1107 * @generated
1108 * @ordered
1109 */
1110 int IMPL__RIGHT_OPERAND = BOOL_OPERATION_FEATURE_COUNT + 1;
1111
1112 /**
1113 * The number of structural features of the '<em>Impl</em>' class.
1114 * <!-- begin-user-doc -->
1115 * <!-- end-user-doc -->
1116 * @generated
1117 * @ordered
1118 */
1119 int IMPL_FEATURE_COUNT = BOOL_OPERATION_FEATURE_COUNT + 2;
1120
1121 /**
1122 * The number of operations of the '<em>Impl</em>' class.
1123 * <!-- begin-user-doc -->
1124 * <!-- end-user-doc -->
1125 * @generated
1126 * @ordered
1127 */
1128 int IMPL_OPERATION_COUNT = BOOL_OPERATION_OPERATION_COUNT + 0;
1129
1130 /**
1131 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.NotImpl <em>Not</em>}' class.
1132 * <!-- begin-user-doc -->
1133 * <!-- end-user-doc -->
1134 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.NotImpl
1135 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getNot()
1136 * @generated
1137 */
1138 int NOT = 25;
1139
1140 /**
1141 * The feature id for the '<em><b>Operand</b></em>' containment reference.
1142 * <!-- begin-user-doc -->
1143 * <!-- end-user-doc -->
1144 * @generated
1145 * @ordered
1146 */
1147 int NOT__OPERAND = BOOL_OPERATION_FEATURE_COUNT + 0;
1148
1149 /**
1150 * The number of structural features of the '<em>Not</em>' class.
1151 * <!-- begin-user-doc -->
1152 * <!-- end-user-doc -->
1153 * @generated
1154 * @ordered
1155 */
1156 int NOT_FEATURE_COUNT = BOOL_OPERATION_FEATURE_COUNT + 1;
1157
1158 /**
1159 * The number of operations of the '<em>Not</em>' class.
1160 * <!-- begin-user-doc -->
1161 * <!-- end-user-doc -->
1162 * @generated
1163 * @ordered
1164 */
1165 int NOT_OPERATION_COUNT = BOOL_OPERATION_OPERATION_COUNT + 0;
1166
1167 /**
1168 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IffImpl <em>Iff</em>}' class.
1169 * <!-- begin-user-doc -->
1170 * <!-- end-user-doc -->
1171 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IffImpl
1172 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getIff()
1173 * @generated
1174 */
1175 int IFF = 26;
1176
1177 /**
1178 * The feature id for the '<em><b>Left Operand</b></em>' containment reference.
1179 * <!-- begin-user-doc -->
1180 * <!-- end-user-doc -->
1181 * @generated
1182 * @ordered
1183 */
1184 int IFF__LEFT_OPERAND = BOOL_OPERATION_FEATURE_COUNT + 0;
1185
1186 /**
1187 * The feature id for the '<em><b>Right Operand</b></em>' containment reference.
1188 * <!-- begin-user-doc -->
1189 * <!-- end-user-doc -->
1190 * @generated
1191 * @ordered
1192 */
1193 int IFF__RIGHT_OPERAND = BOOL_OPERATION_FEATURE_COUNT + 1;
1194
1195 /**
1196 * The number of structural features of the '<em>Iff</em>' class.
1197 * <!-- begin-user-doc -->
1198 * <!-- end-user-doc -->
1199 * @generated
1200 * @ordered
1201 */
1202 int IFF_FEATURE_COUNT = BOOL_OPERATION_FEATURE_COUNT + 2;
1203
1204 /**
1205 * The number of operations of the '<em>Iff</em>' class.
1206 * <!-- begin-user-doc -->
1207 * <!-- end-user-doc -->
1208 * @generated
1209 * @ordered
1210 */
1211 int IFF_OPERATION_COUNT = BOOL_OPERATION_OPERATION_COUNT + 0;
1212
1213 /**
1214 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.PrimitiveRelationImpl <em>Primitive Relation</em>}' class.
1215 * <!-- begin-user-doc -->
1216 * <!-- end-user-doc -->
1217 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.PrimitiveRelationImpl
1218 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getPrimitiveRelation()
1219 * @generated
1220 */
1221 int PRIMITIVE_RELATION = 27;
1222
1223 /**
1224 * The number of structural features of the '<em>Primitive Relation</em>' class.
1225 * <!-- begin-user-doc -->
1226 * <!-- end-user-doc -->
1227 * @generated
1228 * @ordered
1229 */
1230 int PRIMITIVE_RELATION_FEATURE_COUNT = TERM_FEATURE_COUNT + 0;
1231
1232 /**
1233 * The number of operations of the '<em>Primitive Relation</em>' class.
1234 * <!-- begin-user-doc -->
1235 * <!-- end-user-doc -->
1236 * @generated
1237 * @ordered
1238 */
1239 int PRIMITIVE_RELATION_OPERATION_COUNT = TERM_OPERATION_COUNT + 0;
1240
1241 /**
1242 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.EqualsImpl <em>Equals</em>}' class.
1243 * <!-- begin-user-doc -->
1244 * <!-- end-user-doc -->
1245 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.EqualsImpl
1246 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getEquals()
1247 * @generated
1248 */
1249 int EQUALS = 28;
1250
1251 /**
1252 * The feature id for the '<em><b>Left Operand</b></em>' containment reference.
1253 * <!-- begin-user-doc -->
1254 * <!-- end-user-doc -->
1255 * @generated
1256 * @ordered
1257 */
1258 int EQUALS__LEFT_OPERAND = PRIMITIVE_RELATION_FEATURE_COUNT + 0;
1259
1260 /**
1261 * The feature id for the '<em><b>Right Operand</b></em>' containment reference.
1262 * <!-- begin-user-doc -->
1263 * <!-- end-user-doc -->
1264 * @generated
1265 * @ordered
1266 */
1267 int EQUALS__RIGHT_OPERAND = PRIMITIVE_RELATION_FEATURE_COUNT + 1;
1268
1269 /**
1270 * The number of structural features of the '<em>Equals</em>' class.
1271 * <!-- begin-user-doc -->
1272 * <!-- end-user-doc -->
1273 * @generated
1274 * @ordered
1275 */
1276 int EQUALS_FEATURE_COUNT = PRIMITIVE_RELATION_FEATURE_COUNT + 2;
1277
1278 /**
1279 * The number of operations of the '<em>Equals</em>' class.
1280 * <!-- begin-user-doc -->
1281 * <!-- end-user-doc -->
1282 * @generated
1283 * @ordered
1284 */
1285 int EQUALS_OPERATION_COUNT = PRIMITIVE_RELATION_OPERATION_COUNT + 0;
1286
1287 /**
1288 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.DistinctImpl <em>Distinct</em>}' class.
1289 * <!-- begin-user-doc -->
1290 * <!-- end-user-doc -->
1291 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.DistinctImpl
1292 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getDistinct()
1293 * @generated
1294 */
1295 int DISTINCT = 29;
1296
1297 /**
1298 * The feature id for the '<em><b>Operands</b></em>' containment reference list.
1299 * <!-- begin-user-doc -->
1300 * <!-- end-user-doc -->
1301 * @generated
1302 * @ordered
1303 */
1304 int DISTINCT__OPERANDS = PRIMITIVE_RELATION_FEATURE_COUNT + 0;
1305
1306 /**
1307 * The number of structural features of the '<em>Distinct</em>' class.
1308 * <!-- begin-user-doc -->
1309 * <!-- end-user-doc -->
1310 * @generated
1311 * @ordered
1312 */
1313 int DISTINCT_FEATURE_COUNT = PRIMITIVE_RELATION_FEATURE_COUNT + 1;
1314
1315 /**
1316 * The number of operations of the '<em>Distinct</em>' class.
1317 * <!-- begin-user-doc -->
1318 * <!-- end-user-doc -->
1319 * @generated
1320 * @ordered
1321 */
1322 int DISTINCT_OPERATION_COUNT = PRIMITIVE_RELATION_OPERATION_COUNT + 0;
1323
1324 /**
1325 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LessThanImpl <em>Less Than</em>}' class.
1326 * <!-- begin-user-doc -->
1327 * <!-- end-user-doc -->
1328 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LessThanImpl
1329 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getLessThan()
1330 * @generated
1331 */
1332 int LESS_THAN = 30;
1333
1334 /**
1335 * The feature id for the '<em><b>Left Operand</b></em>' containment reference.
1336 * <!-- begin-user-doc -->
1337 * <!-- end-user-doc -->
1338 * @generated
1339 * @ordered
1340 */
1341 int LESS_THAN__LEFT_OPERAND = PRIMITIVE_RELATION_FEATURE_COUNT + 0;
1342
1343 /**
1344 * The feature id for the '<em><b>Right Operand</b></em>' containment reference.
1345 * <!-- begin-user-doc -->
1346 * <!-- end-user-doc -->
1347 * @generated
1348 * @ordered
1349 */
1350 int LESS_THAN__RIGHT_OPERAND = PRIMITIVE_RELATION_FEATURE_COUNT + 1;
1351
1352 /**
1353 * The number of structural features of the '<em>Less Than</em>' class.
1354 * <!-- begin-user-doc -->
1355 * <!-- end-user-doc -->
1356 * @generated
1357 * @ordered
1358 */
1359 int LESS_THAN_FEATURE_COUNT = PRIMITIVE_RELATION_FEATURE_COUNT + 2;
1360
1361 /**
1362 * The number of operations of the '<em>Less Than</em>' class.
1363 * <!-- begin-user-doc -->
1364 * <!-- end-user-doc -->
1365 * @generated
1366 * @ordered
1367 */
1368 int LESS_THAN_OPERATION_COUNT = PRIMITIVE_RELATION_OPERATION_COUNT + 0;
1369
1370 /**
1371 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MoreThanImpl <em>More Than</em>}' class.
1372 * <!-- begin-user-doc -->
1373 * <!-- end-user-doc -->
1374 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MoreThanImpl
1375 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getMoreThan()
1376 * @generated
1377 */
1378 int MORE_THAN = 31;
1379
1380 /**
1381 * The feature id for the '<em><b>Left Operand</b></em>' containment reference.
1382 * <!-- begin-user-doc -->
1383 * <!-- end-user-doc -->
1384 * @generated
1385 * @ordered
1386 */
1387 int MORE_THAN__LEFT_OPERAND = PRIMITIVE_RELATION_FEATURE_COUNT + 0;
1388
1389 /**
1390 * The feature id for the '<em><b>Right Operand</b></em>' containment reference.
1391 * <!-- begin-user-doc -->
1392 * <!-- end-user-doc -->
1393 * @generated
1394 * @ordered
1395 */
1396 int MORE_THAN__RIGHT_OPERAND = PRIMITIVE_RELATION_FEATURE_COUNT + 1;
1397
1398 /**
1399 * The number of structural features of the '<em>More Than</em>' class.
1400 * <!-- begin-user-doc -->
1401 * <!-- end-user-doc -->
1402 * @generated
1403 * @ordered
1404 */
1405 int MORE_THAN_FEATURE_COUNT = PRIMITIVE_RELATION_FEATURE_COUNT + 2;
1406
1407 /**
1408 * The number of operations of the '<em>More Than</em>' class.
1409 * <!-- begin-user-doc -->
1410 * <!-- end-user-doc -->
1411 * @generated
1412 * @ordered
1413 */
1414 int MORE_THAN_OPERATION_COUNT = PRIMITIVE_RELATION_OPERATION_COUNT + 0;
1415
1416 /**
1417 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LessOrEqualThanImpl <em>Less Or Equal Than</em>}' class.
1418 * <!-- begin-user-doc -->
1419 * <!-- end-user-doc -->
1420 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LessOrEqualThanImpl
1421 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getLessOrEqualThan()
1422 * @generated
1423 */
1424 int LESS_OR_EQUAL_THAN = 32;
1425
1426 /**
1427 * The feature id for the '<em><b>Left Operand</b></em>' containment reference.
1428 * <!-- begin-user-doc -->
1429 * <!-- end-user-doc -->
1430 * @generated
1431 * @ordered
1432 */
1433 int LESS_OR_EQUAL_THAN__LEFT_OPERAND = PRIMITIVE_RELATION_FEATURE_COUNT + 0;
1434
1435 /**
1436 * The feature id for the '<em><b>Right Operand</b></em>' containment reference.
1437 * <!-- begin-user-doc -->
1438 * <!-- end-user-doc -->
1439 * @generated
1440 * @ordered
1441 */
1442 int LESS_OR_EQUAL_THAN__RIGHT_OPERAND = PRIMITIVE_RELATION_FEATURE_COUNT + 1;
1443
1444 /**
1445 * The number of structural features of the '<em>Less Or Equal Than</em>' class.
1446 * <!-- begin-user-doc -->
1447 * <!-- end-user-doc -->
1448 * @generated
1449 * @ordered
1450 */
1451 int LESS_OR_EQUAL_THAN_FEATURE_COUNT = PRIMITIVE_RELATION_FEATURE_COUNT + 2;
1452
1453 /**
1454 * The number of operations of the '<em>Less Or Equal Than</em>' class.
1455 * <!-- begin-user-doc -->
1456 * <!-- end-user-doc -->
1457 * @generated
1458 * @ordered
1459 */
1460 int LESS_OR_EQUAL_THAN_OPERATION_COUNT = PRIMITIVE_RELATION_OPERATION_COUNT + 0;
1461
1462 /**
1463 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MoreOrEqualThanImpl <em>More Or Equal Than</em>}' class.
1464 * <!-- begin-user-doc -->
1465 * <!-- end-user-doc -->
1466 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MoreOrEqualThanImpl
1467 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getMoreOrEqualThan()
1468 * @generated
1469 */
1470 int MORE_OR_EQUAL_THAN = 33;
1471
1472 /**
1473 * The feature id for the '<em><b>Left Operand</b></em>' containment reference.
1474 * <!-- begin-user-doc -->
1475 * <!-- end-user-doc -->
1476 * @generated
1477 * @ordered
1478 */
1479 int MORE_OR_EQUAL_THAN__LEFT_OPERAND = PRIMITIVE_RELATION_FEATURE_COUNT + 0;
1480
1481 /**
1482 * The feature id for the '<em><b>Right Operand</b></em>' containment reference.
1483 * <!-- begin-user-doc -->
1484 * <!-- end-user-doc -->
1485 * @generated
1486 * @ordered
1487 */
1488 int MORE_OR_EQUAL_THAN__RIGHT_OPERAND = PRIMITIVE_RELATION_FEATURE_COUNT + 1;
1489
1490 /**
1491 * The number of structural features of the '<em>More Or Equal Than</em>' class.
1492 * <!-- begin-user-doc -->
1493 * <!-- end-user-doc -->
1494 * @generated
1495 * @ordered
1496 */
1497 int MORE_OR_EQUAL_THAN_FEATURE_COUNT = PRIMITIVE_RELATION_FEATURE_COUNT + 2;
1498
1499 /**
1500 * The number of operations of the '<em>More Or Equal Than</em>' class.
1501 * <!-- begin-user-doc -->
1502 * <!-- end-user-doc -->
1503 * @generated
1504 * @ordered
1505 */
1506 int MORE_OR_EQUAL_THAN_OPERATION_COUNT = PRIMITIVE_RELATION_OPERATION_COUNT + 0;
1507
1508 /**
1509 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IntOperationImpl <em>Int Operation</em>}' class.
1510 * <!-- begin-user-doc -->
1511 * <!-- end-user-doc -->
1512 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IntOperationImpl
1513 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getIntOperation()
1514 * @generated
1515 */
1516 int INT_OPERATION = 34;
1517
1518 /**
1519 * The feature id for the '<em><b>Left Operand</b></em>' containment reference.
1520 * <!-- begin-user-doc -->
1521 * <!-- end-user-doc -->
1522 * @generated
1523 * @ordered
1524 */
1525 int INT_OPERATION__LEFT_OPERAND = TERM_FEATURE_COUNT + 0;
1526
1527 /**
1528 * The feature id for the '<em><b>Right Operand</b></em>' containment reference.
1529 * <!-- begin-user-doc -->
1530 * <!-- end-user-doc -->
1531 * @generated
1532 * @ordered
1533 */
1534 int INT_OPERATION__RIGHT_OPERAND = TERM_FEATURE_COUNT + 1;
1535
1536 /**
1537 * The number of structural features of the '<em>Int Operation</em>' class.
1538 * <!-- begin-user-doc -->
1539 * <!-- end-user-doc -->
1540 * @generated
1541 * @ordered
1542 */
1543 int INT_OPERATION_FEATURE_COUNT = TERM_FEATURE_COUNT + 2;
1544
1545 /**
1546 * The number of operations of the '<em>Int Operation</em>' class.
1547 * <!-- begin-user-doc -->
1548 * <!-- end-user-doc -->
1549 * @generated
1550 * @ordered
1551 */
1552 int INT_OPERATION_OPERATION_COUNT = TERM_OPERATION_COUNT + 0;
1553
1554 /**
1555 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.PlusImpl <em>Plus</em>}' class.
1556 * <!-- begin-user-doc -->
1557 * <!-- end-user-doc -->
1558 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.PlusImpl
1559 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getPlus()
1560 * @generated
1561 */
1562 int PLUS = 35;
1563
1564 /**
1565 * The feature id for the '<em><b>Left Operand</b></em>' containment reference.
1566 * <!-- begin-user-doc -->
1567 * <!-- end-user-doc -->
1568 * @generated
1569 * @ordered
1570 */
1571 int PLUS__LEFT_OPERAND = INT_OPERATION__LEFT_OPERAND;
1572
1573 /**
1574 * The feature id for the '<em><b>Right Operand</b></em>' containment reference.
1575 * <!-- begin-user-doc -->
1576 * <!-- end-user-doc -->
1577 * @generated
1578 * @ordered
1579 */
1580 int PLUS__RIGHT_OPERAND = INT_OPERATION__RIGHT_OPERAND;
1581
1582 /**
1583 * The number of structural features of the '<em>Plus</em>' class.
1584 * <!-- begin-user-doc -->
1585 * <!-- end-user-doc -->
1586 * @generated
1587 * @ordered
1588 */
1589 int PLUS_FEATURE_COUNT = INT_OPERATION_FEATURE_COUNT + 0;
1590
1591 /**
1592 * The number of operations of the '<em>Plus</em>' class.
1593 * <!-- begin-user-doc -->
1594 * <!-- end-user-doc -->
1595 * @generated
1596 * @ordered
1597 */
1598 int PLUS_OPERATION_COUNT = INT_OPERATION_OPERATION_COUNT + 0;
1599
1600 /**
1601 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MinusImpl <em>Minus</em>}' class.
1602 * <!-- begin-user-doc -->
1603 * <!-- end-user-doc -->
1604 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MinusImpl
1605 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getMinus()
1606 * @generated
1607 */
1608 int MINUS = 36;
1609
1610 /**
1611 * The feature id for the '<em><b>Left Operand</b></em>' containment reference.
1612 * <!-- begin-user-doc -->
1613 * <!-- end-user-doc -->
1614 * @generated
1615 * @ordered
1616 */
1617 int MINUS__LEFT_OPERAND = INT_OPERATION__LEFT_OPERAND;
1618
1619 /**
1620 * The feature id for the '<em><b>Right Operand</b></em>' containment reference.
1621 * <!-- begin-user-doc -->
1622 * <!-- end-user-doc -->
1623 * @generated
1624 * @ordered
1625 */
1626 int MINUS__RIGHT_OPERAND = INT_OPERATION__RIGHT_OPERAND;
1627
1628 /**
1629 * The number of structural features of the '<em>Minus</em>' class.
1630 * <!-- begin-user-doc -->
1631 * <!-- end-user-doc -->
1632 * @generated
1633 * @ordered
1634 */
1635 int MINUS_FEATURE_COUNT = INT_OPERATION_FEATURE_COUNT + 0;
1636
1637 /**
1638 * The number of operations of the '<em>Minus</em>' class.
1639 * <!-- begin-user-doc -->
1640 * <!-- end-user-doc -->
1641 * @generated
1642 * @ordered
1643 */
1644 int MINUS_OPERATION_COUNT = INT_OPERATION_OPERATION_COUNT + 0;
1645
1646 /**
1647 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MultiplyImpl <em>Multiply</em>}' class.
1648 * <!-- begin-user-doc -->
1649 * <!-- end-user-doc -->
1650 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MultiplyImpl
1651 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getMultiply()
1652 * @generated
1653 */
1654 int MULTIPLY = 37;
1655
1656 /**
1657 * The feature id for the '<em><b>Left Operand</b></em>' containment reference.
1658 * <!-- begin-user-doc -->
1659 * <!-- end-user-doc -->
1660 * @generated
1661 * @ordered
1662 */
1663 int MULTIPLY__LEFT_OPERAND = INT_OPERATION__LEFT_OPERAND;
1664
1665 /**
1666 * The feature id for the '<em><b>Right Operand</b></em>' containment reference.
1667 * <!-- begin-user-doc -->
1668 * <!-- end-user-doc -->
1669 * @generated
1670 * @ordered
1671 */
1672 int MULTIPLY__RIGHT_OPERAND = INT_OPERATION__RIGHT_OPERAND;
1673
1674 /**
1675 * The number of structural features of the '<em>Multiply</em>' class.
1676 * <!-- begin-user-doc -->
1677 * <!-- end-user-doc -->
1678 * @generated
1679 * @ordered
1680 */
1681 int MULTIPLY_FEATURE_COUNT = INT_OPERATION_FEATURE_COUNT + 0;
1682
1683 /**
1684 * The number of operations of the '<em>Multiply</em>' class.
1685 * <!-- begin-user-doc -->
1686 * <!-- end-user-doc -->
1687 * @generated
1688 * @ordered
1689 */
1690 int MULTIPLY_OPERATION_COUNT = INT_OPERATION_OPERATION_COUNT + 0;
1691
1692 /**
1693 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.DivisonImpl <em>Divison</em>}' class.
1694 * <!-- begin-user-doc -->
1695 * <!-- end-user-doc -->
1696 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.DivisonImpl
1697 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getDivison()
1698 * @generated
1699 */
1700 int DIVISON = 38;
1701
1702 /**
1703 * The feature id for the '<em><b>Left Operand</b></em>' containment reference.
1704 * <!-- begin-user-doc -->
1705 * <!-- end-user-doc -->
1706 * @generated
1707 * @ordered
1708 */
1709 int DIVISON__LEFT_OPERAND = INT_OPERATION__LEFT_OPERAND;
1710
1711 /**
1712 * The feature id for the '<em><b>Right Operand</b></em>' containment reference.
1713 * <!-- begin-user-doc -->
1714 * <!-- end-user-doc -->
1715 * @generated
1716 * @ordered
1717 */
1718 int DIVISON__RIGHT_OPERAND = INT_OPERATION__RIGHT_OPERAND;
1719
1720 /**
1721 * The number of structural features of the '<em>Divison</em>' class.
1722 * <!-- begin-user-doc -->
1723 * <!-- end-user-doc -->
1724 * @generated
1725 * @ordered
1726 */
1727 int DIVISON_FEATURE_COUNT = INT_OPERATION_FEATURE_COUNT + 0;
1728
1729 /**
1730 * The number of operations of the '<em>Divison</em>' class.
1731 * <!-- begin-user-doc -->
1732 * <!-- end-user-doc -->
1733 * @generated
1734 * @ordered
1735 */
1736 int DIVISON_OPERATION_COUNT = INT_OPERATION_OPERATION_COUNT + 0;
1737
1738 /**
1739 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ModImpl <em>Mod</em>}' class.
1740 * <!-- begin-user-doc -->
1741 * <!-- end-user-doc -->
1742 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ModImpl
1743 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getMod()
1744 * @generated
1745 */
1746 int MOD = 39;
1747
1748 /**
1749 * The feature id for the '<em><b>Left Operand</b></em>' containment reference.
1750 * <!-- begin-user-doc -->
1751 * <!-- end-user-doc -->
1752 * @generated
1753 * @ordered
1754 */
1755 int MOD__LEFT_OPERAND = INT_OPERATION__LEFT_OPERAND;
1756
1757 /**
1758 * The feature id for the '<em><b>Right Operand</b></em>' containment reference.
1759 * <!-- begin-user-doc -->
1760 * <!-- end-user-doc -->
1761 * @generated
1762 * @ordered
1763 */
1764 int MOD__RIGHT_OPERAND = INT_OPERATION__RIGHT_OPERAND;
1765
1766 /**
1767 * The number of structural features of the '<em>Mod</em>' class.
1768 * <!-- begin-user-doc -->
1769 * <!-- end-user-doc -->
1770 * @generated
1771 * @ordered
1772 */
1773 int MOD_FEATURE_COUNT = INT_OPERATION_FEATURE_COUNT + 0;
1774
1775 /**
1776 * The number of operations of the '<em>Mod</em>' class.
1777 * <!-- begin-user-doc -->
1778 * <!-- end-user-doc -->
1779 * @generated
1780 * @ordered
1781 */
1782 int MOD_OPERATION_COUNT = INT_OPERATION_OPERATION_COUNT + 0;
1783
1784 /**
1785 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.AssertionImpl <em>Assertion</em>}' class.
1786 * <!-- begin-user-doc -->
1787 * <!-- end-user-doc -->
1788 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.AssertionImpl
1789 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getAssertion()
1790 * @generated
1791 */
1792 int ASSERTION = 42;
1793
1794 /**
1795 * The feature id for the '<em><b>Value</b></em>' containment reference.
1796 * <!-- begin-user-doc -->
1797 * <!-- end-user-doc -->
1798 * @generated
1799 * @ordered
1800 */
1801 int ASSERTION__VALUE = 0;
1802
1803 /**
1804 * The feature id for the '<em><b>Name</b></em>' attribute.
1805 * <!-- begin-user-doc -->
1806 * <!-- end-user-doc -->
1807 * @generated
1808 * @ordered
1809 */
1810 int ASSERTION__NAME = 1;
1811
1812 /**
1813 * The feature id for the '<em><b>Annotations</b></em>' reference list.
1814 * <!-- begin-user-doc -->
1815 * <!-- end-user-doc -->
1816 * @generated
1817 * @ordered
1818 */
1819 int ASSERTION__ANNOTATIONS = 2;
1820
1821 /**
1822 * The number of structural features of the '<em>Assertion</em>' class.
1823 * <!-- begin-user-doc -->
1824 * <!-- end-user-doc -->
1825 * @generated
1826 * @ordered
1827 */
1828 int ASSERTION_FEATURE_COUNT = 3;
1829
1830 /**
1831 * The number of operations of the '<em>Assertion</em>' class.
1832 * <!-- begin-user-doc -->
1833 * <!-- end-user-doc -->
1834 * @generated
1835 * @ordered
1836 */
1837 int ASSERTION_OPERATION_COUNT = 0;
1838
1839 /**
1840 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationImpl <em>Relation</em>}' class.
1841 * <!-- begin-user-doc -->
1842 * <!-- end-user-doc -->
1843 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationImpl
1844 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getRelation()
1845 * @generated
1846 */
1847 int RELATION = 43;
1848
1849 /**
1850 * The feature id for the '<em><b>Name</b></em>' attribute.
1851 * <!-- begin-user-doc -->
1852 * <!-- end-user-doc -->
1853 * @generated
1854 * @ordered
1855 */
1856 int RELATION__NAME = SYMBOLIC_DECLARATION__NAME;
1857
1858 /**
1859 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
1860 * <!-- begin-user-doc -->
1861 * <!-- end-user-doc -->
1862 * @generated
1863 * @ordered
1864 */
1865 int RELATION__PARAMETERS = SYMBOLIC_DECLARATION_FEATURE_COUNT + 0;
1866
1867 /**
1868 * The feature id for the '<em><b>Annotations</b></em>' reference list.
1869 * <!-- begin-user-doc -->
1870 * <!-- end-user-doc -->
1871 * @generated
1872 * @ordered
1873 */
1874 int RELATION__ANNOTATIONS = SYMBOLIC_DECLARATION_FEATURE_COUNT + 1;
1875
1876 /**
1877 * The number of structural features of the '<em>Relation</em>' class.
1878 * <!-- begin-user-doc -->
1879 * <!-- end-user-doc -->
1880 * @generated
1881 * @ordered
1882 */
1883 int RELATION_FEATURE_COUNT = SYMBOLIC_DECLARATION_FEATURE_COUNT + 2;
1884
1885 /**
1886 * The number of operations of the '<em>Relation</em>' class.
1887 * <!-- begin-user-doc -->
1888 * <!-- end-user-doc -->
1889 * @generated
1890 * @ordered
1891 */
1892 int RELATION_OPERATION_COUNT = SYMBOLIC_DECLARATION_OPERATION_COUNT + 0;
1893
1894 /**
1895 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ConstantImpl <em>Constant</em>}' class.
1896 * <!-- begin-user-doc -->
1897 * <!-- end-user-doc -->
1898 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ConstantImpl
1899 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getConstant()
1900 * @generated
1901 */
1902 int CONSTANT = 44;
1903
1904 /**
1905 * The feature id for the '<em><b>Name</b></em>' attribute.
1906 * <!-- begin-user-doc -->
1907 * <!-- end-user-doc -->
1908 * @generated
1909 * @ordered
1910 */
1911 int CONSTANT__NAME = SYMBOLIC_DECLARATION__NAME;
1912
1913 /**
1914 * The feature id for the '<em><b>Type</b></em>' containment reference.
1915 * <!-- begin-user-doc -->
1916 * <!-- end-user-doc -->
1917 * @generated
1918 * @ordered
1919 */
1920 int CONSTANT__TYPE = SYMBOLIC_DECLARATION_FEATURE_COUNT + 0;
1921
1922 /**
1923 * The feature id for the '<em><b>Annotations</b></em>' reference list.
1924 * <!-- begin-user-doc -->
1925 * <!-- end-user-doc -->
1926 * @generated
1927 * @ordered
1928 */
1929 int CONSTANT__ANNOTATIONS = SYMBOLIC_DECLARATION_FEATURE_COUNT + 1;
1930
1931 /**
1932 * The number of structural features of the '<em>Constant</em>' class.
1933 * <!-- begin-user-doc -->
1934 * <!-- end-user-doc -->
1935 * @generated
1936 * @ordered
1937 */
1938 int CONSTANT_FEATURE_COUNT = SYMBOLIC_DECLARATION_FEATURE_COUNT + 2;
1939
1940 /**
1941 * The number of operations of the '<em>Constant</em>' class.
1942 * <!-- begin-user-doc -->
1943 * <!-- end-user-doc -->
1944 * @generated
1945 * @ordered
1946 */
1947 int CONSTANT_OPERATION_COUNT = SYMBOLIC_DECLARATION_OPERATION_COUNT + 0;
1948
1949 /**
1950 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ConstantDefinitionImpl <em>Constant Definition</em>}' class.
1951 * <!-- begin-user-doc -->
1952 * <!-- end-user-doc -->
1953 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ConstantDefinitionImpl
1954 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getConstantDefinition()
1955 * @generated
1956 */
1957 int CONSTANT_DEFINITION = 45;
1958
1959 /**
1960 * The feature id for the '<em><b>Name</b></em>' attribute.
1961 * <!-- begin-user-doc -->
1962 * <!-- end-user-doc -->
1963 * @generated
1964 * @ordered
1965 */
1966 int CONSTANT_DEFINITION__NAME = CONSTANT__NAME;
1967
1968 /**
1969 * The feature id for the '<em><b>Type</b></em>' containment reference.
1970 * <!-- begin-user-doc -->
1971 * <!-- end-user-doc -->
1972 * @generated
1973 * @ordered
1974 */
1975 int CONSTANT_DEFINITION__TYPE = CONSTANT__TYPE;
1976
1977 /**
1978 * The feature id for the '<em><b>Annotations</b></em>' reference list.
1979 * <!-- begin-user-doc -->
1980 * <!-- end-user-doc -->
1981 * @generated
1982 * @ordered
1983 */
1984 int CONSTANT_DEFINITION__ANNOTATIONS = CONSTANT__ANNOTATIONS;
1985
1986 /**
1987 * The feature id for the '<em><b>Value</b></em>' containment reference.
1988 * <!-- begin-user-doc -->
1989 * <!-- end-user-doc -->
1990 * @generated
1991 * @ordered
1992 */
1993 int CONSTANT_DEFINITION__VALUE = CONSTANT_FEATURE_COUNT + 0;
1994
1995 /**
1996 * The feature id for the '<em><b>Defines</b></em>' reference.
1997 * <!-- begin-user-doc -->
1998 * <!-- end-user-doc -->
1999 * @generated
2000 * @ordered
2001 */
2002 int CONSTANT_DEFINITION__DEFINES = CONSTANT_FEATURE_COUNT + 1;
2003
2004 /**
2005 * The number of structural features of the '<em>Constant Definition</em>' class.
2006 * <!-- begin-user-doc -->
2007 * <!-- end-user-doc -->
2008 * @generated
2009 * @ordered
2010 */
2011 int CONSTANT_DEFINITION_FEATURE_COUNT = CONSTANT_FEATURE_COUNT + 2;
2012
2013 /**
2014 * The number of operations of the '<em>Constant Definition</em>' class.
2015 * <!-- begin-user-doc -->
2016 * <!-- end-user-doc -->
2017 * @generated
2018 * @ordered
2019 */
2020 int CONSTANT_DEFINITION_OPERATION_COUNT = CONSTANT_OPERATION_COUNT + 0;
2021
2022 /**
2023 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationDefinitionImpl <em>Relation Definition</em>}' class.
2024 * <!-- begin-user-doc -->
2025 * <!-- end-user-doc -->
2026 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationDefinitionImpl
2027 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getRelationDefinition()
2028 * @generated
2029 */
2030 int RELATION_DEFINITION = 46;
2031
2032 /**
2033 * The feature id for the '<em><b>Name</b></em>' attribute.
2034 * <!-- begin-user-doc -->
2035 * <!-- end-user-doc -->
2036 * @generated
2037 * @ordered
2038 */
2039 int RELATION_DEFINITION__NAME = RELATION__NAME;
2040
2041 /**
2042 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
2043 * <!-- begin-user-doc -->
2044 * <!-- end-user-doc -->
2045 * @generated
2046 * @ordered
2047 */
2048 int RELATION_DEFINITION__PARAMETERS = RELATION__PARAMETERS;
2049
2050 /**
2051 * The feature id for the '<em><b>Annotations</b></em>' reference list.
2052 * <!-- begin-user-doc -->
2053 * <!-- end-user-doc -->
2054 * @generated
2055 * @ordered
2056 */
2057 int RELATION_DEFINITION__ANNOTATIONS = RELATION__ANNOTATIONS;
2058
2059 /**
2060 * The feature id for the '<em><b>Variables</b></em>' containment reference list.
2061 * <!-- begin-user-doc -->
2062 * <!-- end-user-doc -->
2063 * @generated
2064 * @ordered
2065 */
2066 int RELATION_DEFINITION__VARIABLES = RELATION_FEATURE_COUNT + 0;
2067
2068 /**
2069 * The feature id for the '<em><b>Value</b></em>' containment reference.
2070 * <!-- begin-user-doc -->
2071 * <!-- end-user-doc -->
2072 * @generated
2073 * @ordered
2074 */
2075 int RELATION_DEFINITION__VALUE = RELATION_FEATURE_COUNT + 1;
2076
2077 /**
2078 * The feature id for the '<em><b>Defines</b></em>' reference.
2079 * <!-- begin-user-doc -->
2080 * <!-- end-user-doc -->
2081 * @generated
2082 * @ordered
2083 */
2084 int RELATION_DEFINITION__DEFINES = RELATION_FEATURE_COUNT + 2;
2085
2086 /**
2087 * The number of structural features of the '<em>Relation Definition</em>' class.
2088 * <!-- begin-user-doc -->
2089 * <!-- end-user-doc -->
2090 * @generated
2091 * @ordered
2092 */
2093 int RELATION_DEFINITION_FEATURE_COUNT = RELATION_FEATURE_COUNT + 3;
2094
2095 /**
2096 * The number of operations of the '<em>Relation Definition</em>' class.
2097 * <!-- begin-user-doc -->
2098 * <!-- end-user-doc -->
2099 * @generated
2100 * @ordered
2101 */
2102 int RELATION_DEFINITION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0;
2103
2104 /**
2105 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionDefinitionImpl <em>Function Definition</em>}' class.
2106 * <!-- begin-user-doc -->
2107 * <!-- end-user-doc -->
2108 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionDefinitionImpl
2109 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getFunctionDefinition()
2110 * @generated
2111 */
2112 int FUNCTION_DEFINITION = 47;
2113
2114 /**
2115 * The feature id for the '<em><b>Name</b></em>' attribute.
2116 * <!-- begin-user-doc -->
2117 * <!-- end-user-doc -->
2118 * @generated
2119 * @ordered
2120 */
2121 int FUNCTION_DEFINITION__NAME = FUNCTION__NAME;
2122
2123 /**
2124 * The feature id for the '<em><b>Range</b></em>' containment reference.
2125 * <!-- begin-user-doc -->
2126 * <!-- end-user-doc -->
2127 * @generated
2128 * @ordered
2129 */
2130 int FUNCTION_DEFINITION__RANGE = FUNCTION__RANGE;
2131
2132 /**
2133 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
2134 * <!-- begin-user-doc -->
2135 * <!-- end-user-doc -->
2136 * @generated
2137 * @ordered
2138 */
2139 int FUNCTION_DEFINITION__PARAMETERS = FUNCTION__PARAMETERS;
2140
2141 /**
2142 * The feature id for the '<em><b>Annotations</b></em>' reference list.
2143 * <!-- begin-user-doc -->
2144 * <!-- end-user-doc -->
2145 * @generated
2146 * @ordered
2147 */
2148 int FUNCTION_DEFINITION__ANNOTATIONS = FUNCTION__ANNOTATIONS;
2149
2150 /**
2151 * The feature id for the '<em><b>Variable</b></em>' containment reference list.
2152 * <!-- begin-user-doc -->
2153 * <!-- end-user-doc -->
2154 * @generated
2155 * @ordered
2156 */
2157 int FUNCTION_DEFINITION__VARIABLE = FUNCTION_FEATURE_COUNT + 0;
2158
2159 /**
2160 * The feature id for the '<em><b>Defines</b></em>' reference.
2161 * <!-- begin-user-doc -->
2162 * <!-- end-user-doc -->
2163 * @generated
2164 * @ordered
2165 */
2166 int FUNCTION_DEFINITION__DEFINES = FUNCTION_FEATURE_COUNT + 1;
2167
2168 /**
2169 * The feature id for the '<em><b>Value</b></em>' containment reference.
2170 * <!-- begin-user-doc -->
2171 * <!-- end-user-doc -->
2172 * @generated
2173 * @ordered
2174 */
2175 int FUNCTION_DEFINITION__VALUE = FUNCTION_FEATURE_COUNT + 2;
2176
2177 /**
2178 * The number of structural features of the '<em>Function Definition</em>' class.
2179 * <!-- begin-user-doc -->
2180 * <!-- end-user-doc -->
2181 * @generated
2182 * @ordered
2183 */
2184 int FUNCTION_DEFINITION_FEATURE_COUNT = FUNCTION_FEATURE_COUNT + 3;
2185
2186 /**
2187 * The number of operations of the '<em>Function Definition</em>' class.
2188 * <!-- begin-user-doc -->
2189 * <!-- end-user-doc -->
2190 * @generated
2191 * @ordered
2192 */
2193 int FUNCTION_DEFINITION_OPERATION_COUNT = FUNCTION_OPERATION_COUNT + 0;
2194
2195 /**
2196 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IfThenElseImpl <em>If Then Else</em>}' class.
2197 * <!-- begin-user-doc -->
2198 * <!-- end-user-doc -->
2199 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IfThenElseImpl
2200 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getIfThenElse()
2201 * @generated
2202 */
2203 int IF_THEN_ELSE = 48;
2204
2205 /**
2206 * The feature id for the '<em><b>Condition</b></em>' containment reference.
2207 * <!-- begin-user-doc -->
2208 * <!-- end-user-doc -->
2209 * @generated
2210 * @ordered
2211 */
2212 int IF_THEN_ELSE__CONDITION = TERM_FEATURE_COUNT + 0;
2213
2214 /**
2215 * The feature id for the '<em><b>If True</b></em>' containment reference.
2216 * <!-- begin-user-doc -->
2217 * <!-- end-user-doc -->
2218 * @generated
2219 * @ordered
2220 */
2221 int IF_THEN_ELSE__IF_TRUE = TERM_FEATURE_COUNT + 1;
2222
2223 /**
2224 * The feature id for the '<em><b>If False</b></em>' containment reference.
2225 * <!-- begin-user-doc -->
2226 * <!-- end-user-doc -->
2227 * @generated
2228 * @ordered
2229 */
2230 int IF_THEN_ELSE__IF_FALSE = TERM_FEATURE_COUNT + 2;
2231
2232 /**
2233 * The number of structural features of the '<em>If Then Else</em>' class.
2234 * <!-- begin-user-doc -->
2235 * <!-- end-user-doc -->
2236 * @generated
2237 * @ordered
2238 */
2239 int IF_THEN_ELSE_FEATURE_COUNT = TERM_FEATURE_COUNT + 3;
2240
2241 /**
2242 * The number of operations of the '<em>If Then Else</em>' class.
2243 * <!-- begin-user-doc -->
2244 * <!-- end-user-doc -->
2245 * @generated
2246 * @ordered
2247 */
2248 int IF_THEN_ELSE_OPERATION_COUNT = TERM_OPERATION_COUNT + 0;
2249
2250 /**
2251 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ConstantDeclarationImpl <em>Constant Declaration</em>}' class.
2252 * <!-- begin-user-doc -->
2253 * <!-- end-user-doc -->
2254 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ConstantDeclarationImpl
2255 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getConstantDeclaration()
2256 * @generated
2257 */
2258 int CONSTANT_DECLARATION = 49;
2259
2260 /**
2261 * The feature id for the '<em><b>Name</b></em>' attribute.
2262 * <!-- begin-user-doc -->
2263 * <!-- end-user-doc -->
2264 * @generated
2265 * @ordered
2266 */
2267 int CONSTANT_DECLARATION__NAME = CONSTANT__NAME;
2268
2269 /**
2270 * The feature id for the '<em><b>Type</b></em>' containment reference.
2271 * <!-- begin-user-doc -->
2272 * <!-- end-user-doc -->
2273 * @generated
2274 * @ordered
2275 */
2276 int CONSTANT_DECLARATION__TYPE = CONSTANT__TYPE;
2277
2278 /**
2279 * The feature id for the '<em><b>Annotations</b></em>' reference list.
2280 * <!-- begin-user-doc -->
2281 * <!-- end-user-doc -->
2282 * @generated
2283 * @ordered
2284 */
2285 int CONSTANT_DECLARATION__ANNOTATIONS = CONSTANT__ANNOTATIONS;
2286
2287 /**
2288 * The number of structural features of the '<em>Constant Declaration</em>' class.
2289 * <!-- begin-user-doc -->
2290 * <!-- end-user-doc -->
2291 * @generated
2292 * @ordered
2293 */
2294 int CONSTANT_DECLARATION_FEATURE_COUNT = CONSTANT_FEATURE_COUNT + 0;
2295
2296 /**
2297 * The number of operations of the '<em>Constant Declaration</em>' class.
2298 * <!-- begin-user-doc -->
2299 * <!-- end-user-doc -->
2300 * @generated
2301 * @ordered
2302 */
2303 int CONSTANT_DECLARATION_OPERATION_COUNT = CONSTANT_OPERATION_COUNT + 0;
2304
2305 /**
2306 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationDeclarationImpl <em>Relation Declaration</em>}' class.
2307 * <!-- begin-user-doc -->
2308 * <!-- end-user-doc -->
2309 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationDeclarationImpl
2310 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getRelationDeclaration()
2311 * @generated
2312 */
2313 int RELATION_DECLARATION = 50;
2314
2315 /**
2316 * The feature id for the '<em><b>Name</b></em>' attribute.
2317 * <!-- begin-user-doc -->
2318 * <!-- end-user-doc -->
2319 * @generated
2320 * @ordered
2321 */
2322 int RELATION_DECLARATION__NAME = RELATION__NAME;
2323
2324 /**
2325 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
2326 * <!-- begin-user-doc -->
2327 * <!-- end-user-doc -->
2328 * @generated
2329 * @ordered
2330 */
2331 int RELATION_DECLARATION__PARAMETERS = RELATION__PARAMETERS;
2332
2333 /**
2334 * The feature id for the '<em><b>Annotations</b></em>' reference list.
2335 * <!-- begin-user-doc -->
2336 * <!-- end-user-doc -->
2337 * @generated
2338 * @ordered
2339 */
2340 int RELATION_DECLARATION__ANNOTATIONS = RELATION__ANNOTATIONS;
2341
2342 /**
2343 * The number of structural features of the '<em>Relation Declaration</em>' class.
2344 * <!-- begin-user-doc -->
2345 * <!-- end-user-doc -->
2346 * @generated
2347 * @ordered
2348 */
2349 int RELATION_DECLARATION_FEATURE_COUNT = RELATION_FEATURE_COUNT + 0;
2350
2351 /**
2352 * The number of operations of the '<em>Relation Declaration</em>' class.
2353 * <!-- begin-user-doc -->
2354 * <!-- end-user-doc -->
2355 * @generated
2356 * @ordered
2357 */
2358 int RELATION_DECLARATION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0;
2359
2360 /**
2361 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionDeclarationImpl <em>Function Declaration</em>}' class.
2362 * <!-- begin-user-doc -->
2363 * <!-- end-user-doc -->
2364 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionDeclarationImpl
2365 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getFunctionDeclaration()
2366 * @generated
2367 */
2368 int FUNCTION_DECLARATION = 51;
2369
2370 /**
2371 * The feature id for the '<em><b>Name</b></em>' attribute.
2372 * <!-- begin-user-doc -->
2373 * <!-- end-user-doc -->
2374 * @generated
2375 * @ordered
2376 */
2377 int FUNCTION_DECLARATION__NAME = FUNCTION__NAME;
2378
2379 /**
2380 * The feature id for the '<em><b>Range</b></em>' containment reference.
2381 * <!-- begin-user-doc -->
2382 * <!-- end-user-doc -->
2383 * @generated
2384 * @ordered
2385 */
2386 int FUNCTION_DECLARATION__RANGE = FUNCTION__RANGE;
2387
2388 /**
2389 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
2390 * <!-- begin-user-doc -->
2391 * <!-- end-user-doc -->
2392 * @generated
2393 * @ordered
2394 */
2395 int FUNCTION_DECLARATION__PARAMETERS = FUNCTION__PARAMETERS;
2396
2397 /**
2398 * The feature id for the '<em><b>Annotations</b></em>' reference list.
2399 * <!-- begin-user-doc -->
2400 * <!-- end-user-doc -->
2401 * @generated
2402 * @ordered
2403 */
2404 int FUNCTION_DECLARATION__ANNOTATIONS = FUNCTION__ANNOTATIONS;
2405
2406 /**
2407 * The number of structural features of the '<em>Function Declaration</em>' class.
2408 * <!-- begin-user-doc -->
2409 * <!-- end-user-doc -->
2410 * @generated
2411 * @ordered
2412 */
2413 int FUNCTION_DECLARATION_FEATURE_COUNT = FUNCTION_FEATURE_COUNT + 0;
2414
2415 /**
2416 * The number of operations of the '<em>Function Declaration</em>' class.
2417 * <!-- begin-user-doc -->
2418 * <!-- end-user-doc -->
2419 * @generated
2420 * @ordered
2421 */
2422 int FUNCTION_DECLARATION_OPERATION_COUNT = FUNCTION_OPERATION_COUNT + 0;
2423
2424 /**
2425 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeDeclarationImpl <em>Type Declaration</em>}' class.
2426 * <!-- begin-user-doc -->
2427 * <!-- end-user-doc -->
2428 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeDeclarationImpl
2429 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getTypeDeclaration()
2430 * @generated
2431 */
2432 int TYPE_DECLARATION = 52;
2433
2434 /**
2435 * The feature id for the '<em><b>Name</b></em>' attribute.
2436 * <!-- begin-user-doc -->
2437 * <!-- end-user-doc -->
2438 * @generated
2439 * @ordered
2440 */
2441 int TYPE_DECLARATION__NAME = TYPE__NAME;
2442
2443 /**
2444 * The feature id for the '<em><b>Subtypes</b></em>' reference list.
2445 * <!-- begin-user-doc -->
2446 * <!-- end-user-doc -->
2447 * @generated
2448 * @ordered
2449 */
2450 int TYPE_DECLARATION__SUBTYPES = TYPE__SUBTYPES;
2451
2452 /**
2453 * The feature id for the '<em><b>Supertypes</b></em>' reference list.
2454 * <!-- begin-user-doc -->
2455 * <!-- end-user-doc -->
2456 * @generated
2457 * @ordered
2458 */
2459 int TYPE_DECLARATION__SUPERTYPES = TYPE__SUPERTYPES;
2460
2461 /**
2462 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
2463 * <!-- begin-user-doc -->
2464 * <!-- end-user-doc -->
2465 * @generated
2466 * @ordered
2467 */
2468 int TYPE_DECLARATION__IS_ABSTRACT = TYPE__IS_ABSTRACT;
2469
2470 /**
2471 * The number of structural features of the '<em>Type Declaration</em>' class.
2472 * <!-- begin-user-doc -->
2473 * <!-- end-user-doc -->
2474 * @generated
2475 * @ordered
2476 */
2477 int TYPE_DECLARATION_FEATURE_COUNT = TYPE_FEATURE_COUNT + 0;
2478
2479 /**
2480 * The number of operations of the '<em>Type Declaration</em>' class.
2481 * <!-- begin-user-doc -->
2482 * <!-- end-user-doc -->
2483 * @generated
2484 * @ordered
2485 */
2486 int TYPE_DECLARATION_OPERATION_COUNT = TYPE_OPERATION_COUNT + 0;
2487
2488
2489 /**
2490 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.UnknownBecauseUninterpretedImpl <em>Unknown Because Uninterpreted</em>}' class.
2491 * <!-- begin-user-doc -->
2492 * <!-- end-user-doc -->
2493 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.UnknownBecauseUninterpretedImpl
2494 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getUnknownBecauseUninterpreted()
2495 * @generated
2496 */
2497 int UNKNOWN_BECAUSE_UNINTERPRETED = 53;
2498
2499 /**
2500 * The number of structural features of the '<em>Unknown Because Uninterpreted</em>' class.
2501 * <!-- begin-user-doc -->
2502 * <!-- end-user-doc -->
2503 * @generated
2504 * @ordered
2505 */
2506 int UNKNOWN_BECAUSE_UNINTERPRETED_FEATURE_COUNT = TERM_FEATURE_COUNT + 0;
2507
2508 /**
2509 * The number of operations of the '<em>Unknown Because Uninterpreted</em>' class.
2510 * <!-- begin-user-doc -->
2511 * <!-- end-user-doc -->
2512 * @generated
2513 * @ordered
2514 */
2515 int UNKNOWN_BECAUSE_UNINTERPRETED_OPERATION_COUNT = TERM_OPERATION_COUNT + 0;
2516
2517
2518 /**
2519 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.InstanceOfImpl <em>Instance Of</em>}' class.
2520 * <!-- begin-user-doc -->
2521 * <!-- end-user-doc -->
2522 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.InstanceOfImpl
2523 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getInstanceOf()
2524 * @generated
2525 */
2526 int INSTANCE_OF = 54;
2527
2528 /**
2529 * The feature id for the '<em><b>Value</b></em>' containment reference.
2530 * <!-- begin-user-doc -->
2531 * <!-- end-user-doc -->
2532 * @generated
2533 * @ordered
2534 */
2535 int INSTANCE_OF__VALUE = TERM_FEATURE_COUNT + 0;
2536
2537 /**
2538 * The feature id for the '<em><b>Range</b></em>' containment reference.
2539 * <!-- begin-user-doc -->
2540 * <!-- end-user-doc -->
2541 * @generated
2542 * @ordered
2543 */
2544 int INSTANCE_OF__RANGE = TERM_FEATURE_COUNT + 1;
2545
2546 /**
2547 * The number of structural features of the '<em>Instance Of</em>' class.
2548 * <!-- begin-user-doc -->
2549 * <!-- end-user-doc -->
2550 * @generated
2551 * @ordered
2552 */
2553 int INSTANCE_OF_FEATURE_COUNT = TERM_FEATURE_COUNT + 2;
2554
2555 /**
2556 * The number of operations of the '<em>Instance Of</em>' class.
2557 * <!-- begin-user-doc -->
2558 * <!-- end-user-doc -->
2559 * @generated
2560 * @ordered
2561 */
2562 int INSTANCE_OF_OPERATION_COUNT = TERM_OPERATION_COUNT + 0;
2563
2564
2565 /**
2566 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type <em>Type</em>}'.
2567 * <!-- begin-user-doc -->
2568 * <!-- end-user-doc -->
2569 * @return the meta object for class '<em>Type</em>'.
2570 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
2571 * @generated
2572 */
2573 EClass getType();
2574
2575 /**
2576 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#getName <em>Name</em>}'.
2577 * <!-- begin-user-doc -->
2578 * <!-- end-user-doc -->
2579 * @return the meta object for the attribute '<em>Name</em>'.
2580 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#getName()
2581 * @see #getType()
2582 * @generated
2583 */
2584 EAttribute getType_Name();
2585
2586 /**
2587 * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#getSubtypes <em>Subtypes</em>}'.
2588 * <!-- begin-user-doc -->
2589 * <!-- end-user-doc -->
2590 * @return the meta object for the reference list '<em>Subtypes</em>'.
2591 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#getSubtypes()
2592 * @see #getType()
2593 * @generated
2594 */
2595 EReference getType_Subtypes();
2596
2597 /**
2598 * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#getSupertypes <em>Supertypes</em>}'.
2599 * <!-- begin-user-doc -->
2600 * <!-- end-user-doc -->
2601 * @return the meta object for the reference list '<em>Supertypes</em>'.
2602 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#getSupertypes()
2603 * @see #getType()
2604 * @generated
2605 */
2606 EReference getType_Supertypes();
2607
2608 /**
2609 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#isIsAbstract <em>Is Abstract</em>}'.
2610 * <!-- begin-user-doc -->
2611 * <!-- end-user-doc -->
2612 * @return the meta object for the attribute '<em>Is Abstract</em>'.
2613 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#isIsAbstract()
2614 * @see #getType()
2615 * @generated
2616 */
2617 EAttribute getType_IsAbstract();
2618
2619 /**
2620 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement <em>Defined Element</em>}'.
2621 * <!-- begin-user-doc -->
2622 * <!-- end-user-doc -->
2623 * @return the meta object for class '<em>Defined Element</em>'.
2624 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
2625 * @generated
2626 */
2627 EClass getDefinedElement();
2628
2629 /**
2630 * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement#getDefinedInType <em>Defined In Type</em>}'.
2631 * <!-- begin-user-doc -->
2632 * <!-- end-user-doc -->
2633 * @return the meta object for the reference list '<em>Defined In Type</em>'.
2634 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement#getDefinedInType()
2635 * @see #getDefinedElement()
2636 * @generated
2637 */
2638 EReference getDefinedElement_DefinedInType();
2639
2640 /**
2641 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition <em>Type Definition</em>}'.
2642 * <!-- begin-user-doc -->
2643 * <!-- end-user-doc -->
2644 * @return the meta object for class '<em>Type Definition</em>'.
2645 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
2646 * @generated
2647 */
2648 EClass getTypeDefinition();
2649
2650 /**
2651 * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition#getElements <em>Elements</em>}'.
2652 * <!-- begin-user-doc -->
2653 * <!-- end-user-doc -->
2654 * @return the meta object for the reference list '<em>Elements</em>'.
2655 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition#getElements()
2656 * @see #getTypeDefinition()
2657 * @generated
2658 */
2659 EReference getTypeDefinition_Elements();
2660
2661 /**
2662 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition#getDefines <em>Defines</em>}'.
2663 * <!-- begin-user-doc -->
2664 * <!-- end-user-doc -->
2665 * @return the meta object for the reference '<em>Defines</em>'.
2666 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition#getDefines()
2667 * @see #getTypeDefinition()
2668 * @generated
2669 */
2670 EReference getTypeDefinition_Defines();
2671
2672 /**
2673 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference <em>Type Reference</em>}'.
2674 * <!-- begin-user-doc -->
2675 * <!-- end-user-doc -->
2676 * @return the meta object for class '<em>Type Reference</em>'.
2677 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference
2678 * @generated
2679 */
2680 EClass getTypeReference();
2681
2682 /**
2683 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference <em>Complex Type Reference</em>}'.
2684 * <!-- begin-user-doc -->
2685 * <!-- end-user-doc -->
2686 * @return the meta object for class '<em>Complex Type Reference</em>'.
2687 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
2688 * @generated
2689 */
2690 EClass getComplexTypeReference();
2691
2692 /**
2693 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference#getReferred <em>Referred</em>}'.
2694 * <!-- begin-user-doc -->
2695 * <!-- end-user-doc -->
2696 * @return the meta object for the reference '<em>Referred</em>'.
2697 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference#getReferred()
2698 * @see #getComplexTypeReference()
2699 * @generated
2700 */
2701 EReference getComplexTypeReference_Referred();
2702
2703 /**
2704 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.PrimitiveTypeReference <em>Primitive Type Reference</em>}'.
2705 * <!-- begin-user-doc -->
2706 * <!-- end-user-doc -->
2707 * @return the meta object for class '<em>Primitive Type Reference</em>'.
2708 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.PrimitiveTypeReference
2709 * @generated
2710 */
2711 EClass getPrimitiveTypeReference();
2712
2713 /**
2714 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntTypeReference <em>Int Type Reference</em>}'.
2715 * <!-- begin-user-doc -->
2716 * <!-- end-user-doc -->
2717 * @return the meta object for class '<em>Int Type Reference</em>'.
2718 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntTypeReference
2719 * @generated
2720 */
2721 EClass getIntTypeReference();
2722
2723 /**
2724 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolTypeReference <em>Bool Type Reference</em>}'.
2725 * <!-- begin-user-doc -->
2726 * <!-- end-user-doc -->
2727 * @return the meta object for class '<em>Bool Type Reference</em>'.
2728 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolTypeReference
2729 * @generated
2730 */
2731 EClass getBoolTypeReference();
2732
2733 /**
2734 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealTypeReference <em>Real Type Reference</em>}'.
2735 * <!-- begin-user-doc -->
2736 * <!-- end-user-doc -->
2737 * @return the meta object for class '<em>Real Type Reference</em>'.
2738 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealTypeReference
2739 * @generated
2740 */
2741 EClass getRealTypeReference();
2742
2743 /**
2744 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function <em>Function</em>}'.
2745 * <!-- begin-user-doc -->
2746 * <!-- end-user-doc -->
2747 * @return the meta object for class '<em>Function</em>'.
2748 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function
2749 * @generated
2750 */
2751 EClass getFunction();
2752
2753 /**
2754 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function#getRange <em>Range</em>}'.
2755 * <!-- begin-user-doc -->
2756 * <!-- end-user-doc -->
2757 * @return the meta object for the containment reference '<em>Range</em>'.
2758 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function#getRange()
2759 * @see #getFunction()
2760 * @generated
2761 */
2762 EReference getFunction_Range();
2763
2764 /**
2765 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function#getParameters <em>Parameters</em>}'.
2766 * <!-- begin-user-doc -->
2767 * <!-- end-user-doc -->
2768 * @return the meta object for the containment reference list '<em>Parameters</em>'.
2769 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function#getParameters()
2770 * @see #getFunction()
2771 * @generated
2772 */
2773 EReference getFunction_Parameters();
2774
2775 /**
2776 * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function#getAnnotations <em>Annotations</em>}'.
2777 * <!-- begin-user-doc -->
2778 * <!-- end-user-doc -->
2779 * @return the meta object for the reference list '<em>Annotations</em>'.
2780 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function#getAnnotations()
2781 * @see #getFunction()
2782 * @generated
2783 */
2784 EReference getFunction_Annotations();
2785
2786 /**
2787 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term <em>Term</em>}'.
2788 * <!-- begin-user-doc -->
2789 * <!-- end-user-doc -->
2790 * @return the meta object for class '<em>Term</em>'.
2791 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
2792 * @generated
2793 */
2794 EClass getTerm();
2795
2796 /**
2797 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicDeclaration <em>Symbolic Declaration</em>}'.
2798 * <!-- begin-user-doc -->
2799 * <!-- end-user-doc -->
2800 * @return the meta object for class '<em>Symbolic Declaration</em>'.
2801 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicDeclaration
2802 * @generated
2803 */
2804 EClass getSymbolicDeclaration();
2805
2806 /**
2807 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicDeclaration#getName <em>Name</em>}'.
2808 * <!-- begin-user-doc -->
2809 * <!-- end-user-doc -->
2810 * @return the meta object for the attribute '<em>Name</em>'.
2811 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicDeclaration#getName()
2812 * @see #getSymbolicDeclaration()
2813 * @generated
2814 */
2815 EAttribute getSymbolicDeclaration_Name();
2816
2817 /**
2818 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue <em>Symbolic Value</em>}'.
2819 * <!-- begin-user-doc -->
2820 * <!-- end-user-doc -->
2821 * @return the meta object for class '<em>Symbolic Value</em>'.
2822 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue
2823 * @generated
2824 */
2825 EClass getSymbolicValue();
2826
2827 /**
2828 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue#getSymbolicReference <em>Symbolic Reference</em>}'.
2829 * <!-- begin-user-doc -->
2830 * <!-- end-user-doc -->
2831 * @return the meta object for the reference '<em>Symbolic Reference</em>'.
2832 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue#getSymbolicReference()
2833 * @see #getSymbolicValue()
2834 * @generated
2835 */
2836 EReference getSymbolicValue_SymbolicReference();
2837
2838 /**
2839 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue#getParameterSubstitutions <em>Parameter Substitutions</em>}'.
2840 * <!-- begin-user-doc -->
2841 * <!-- end-user-doc -->
2842 * @return the meta object for the containment reference list '<em>Parameter Substitutions</em>'.
2843 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue#getParameterSubstitutions()
2844 * @see #getSymbolicValue()
2845 * @generated
2846 */
2847 EReference getSymbolicValue_ParameterSubstitutions();
2848
2849 /**
2850 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.AtomicTerm <em>Atomic Term</em>}'.
2851 * <!-- begin-user-doc -->
2852 * <!-- end-user-doc -->
2853 * @return the meta object for class '<em>Atomic Term</em>'.
2854 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.AtomicTerm
2855 * @generated
2856 */
2857 EClass getAtomicTerm();
2858
2859 /**
2860 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral <em>Int Literal</em>}'.
2861 * <!-- begin-user-doc -->
2862 * <!-- end-user-doc -->
2863 * @return the meta object for class '<em>Int Literal</em>'.
2864 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral
2865 * @generated
2866 */
2867 EClass getIntLiteral();
2868
2869 /**
2870 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral#getValue <em>Value</em>}'.
2871 * <!-- begin-user-doc -->
2872 * <!-- end-user-doc -->
2873 * @return the meta object for the attribute '<em>Value</em>'.
2874 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral#getValue()
2875 * @see #getIntLiteral()
2876 * @generated
2877 */
2878 EAttribute getIntLiteral_Value();
2879
2880 /**
2881 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolLiteral <em>Bool Literal</em>}'.
2882 * <!-- begin-user-doc -->
2883 * <!-- end-user-doc -->
2884 * @return the meta object for class '<em>Bool Literal</em>'.
2885 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolLiteral
2886 * @generated
2887 */
2888 EClass getBoolLiteral();
2889
2890 /**
2891 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolLiteral#isValue <em>Value</em>}'.
2892 * <!-- begin-user-doc -->
2893 * <!-- end-user-doc -->
2894 * @return the meta object for the attribute '<em>Value</em>'.
2895 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolLiteral#isValue()
2896 * @see #getBoolLiteral()
2897 * @generated
2898 */
2899 EAttribute getBoolLiteral_Value();
2900
2901 /**
2902 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral <em>Real Literal</em>}'.
2903 * <!-- begin-user-doc -->
2904 * <!-- end-user-doc -->
2905 * @return the meta object for class '<em>Real Literal</em>'.
2906 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral
2907 * @generated
2908 */
2909 EClass getRealLiteral();
2910
2911 /**
2912 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral#getValue <em>Value</em>}'.
2913 * <!-- begin-user-doc -->
2914 * <!-- end-user-doc -->
2915 * @return the meta object for the attribute '<em>Value</em>'.
2916 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral#getValue()
2917 * @see #getRealLiteral()
2918 * @generated
2919 */
2920 EAttribute getRealLiteral_Value();
2921
2922 /**
2923 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable <em>Variable</em>}'.
2924 * <!-- begin-user-doc -->
2925 * <!-- end-user-doc -->
2926 * @return the meta object for class '<em>Variable</em>'.
2927 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
2928 * @generated
2929 */
2930 EClass getVariable();
2931
2932 /**
2933 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable#getRange <em>Range</em>}'.
2934 * <!-- begin-user-doc -->
2935 * <!-- end-user-doc -->
2936 * @return the meta object for the containment reference '<em>Range</em>'.
2937 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable#getRange()
2938 * @see #getVariable()
2939 * @generated
2940 */
2941 EReference getVariable_Range();
2942
2943 /**
2944 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression <em>Quantified Expression</em>}'.
2945 * <!-- begin-user-doc -->
2946 * <!-- end-user-doc -->
2947 * @return the meta object for class '<em>Quantified Expression</em>'.
2948 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression
2949 * @generated
2950 */
2951 EClass getQuantifiedExpression();
2952
2953 /**
2954 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression#getQuantifiedVariables <em>Quantified Variables</em>}'.
2955 * <!-- begin-user-doc -->
2956 * <!-- end-user-doc -->
2957 * @return the meta object for the containment reference list '<em>Quantified Variables</em>'.
2958 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression#getQuantifiedVariables()
2959 * @see #getQuantifiedExpression()
2960 * @generated
2961 */
2962 EReference getQuantifiedExpression_QuantifiedVariables();
2963
2964 /**
2965 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression#getExpression <em>Expression</em>}'.
2966 * <!-- begin-user-doc -->
2967 * <!-- end-user-doc -->
2968 * @return the meta object for the containment reference '<em>Expression</em>'.
2969 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression#getExpression()
2970 * @see #getQuantifiedExpression()
2971 * @generated
2972 */
2973 EReference getQuantifiedExpression_Expression();
2974
2975 /**
2976 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Exists <em>Exists</em>}'.
2977 * <!-- begin-user-doc -->
2978 * <!-- end-user-doc -->
2979 * @return the meta object for class '<em>Exists</em>'.
2980 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Exists
2981 * @generated
2982 */
2983 EClass getExists();
2984
2985 /**
2986 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Forall <em>Forall</em>}'.
2987 * <!-- begin-user-doc -->
2988 * <!-- end-user-doc -->
2989 * @return the meta object for class '<em>Forall</em>'.
2990 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Forall
2991 * @generated
2992 */
2993 EClass getForall();
2994
2995 /**
2996 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolOperation <em>Bool Operation</em>}'.
2997 * <!-- begin-user-doc -->
2998 * <!-- end-user-doc -->
2999 * @return the meta object for class '<em>Bool Operation</em>'.
3000 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolOperation
3001 * @generated
3002 */
3003 EClass getBoolOperation();
3004
3005 /**
3006 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.And <em>And</em>}'.
3007 * <!-- begin-user-doc -->
3008 * <!-- end-user-doc -->
3009 * @return the meta object for class '<em>And</em>'.
3010 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.And
3011 * @generated
3012 */
3013 EClass getAnd();
3014
3015 /**
3016 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.And#getOperands <em>Operands</em>}'.
3017 * <!-- begin-user-doc -->
3018 * <!-- end-user-doc -->
3019 * @return the meta object for the containment reference list '<em>Operands</em>'.
3020 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.And#getOperands()
3021 * @see #getAnd()
3022 * @generated
3023 */
3024 EReference getAnd_Operands();
3025
3026 /**
3027 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Or <em>Or</em>}'.
3028 * <!-- begin-user-doc -->
3029 * <!-- end-user-doc -->
3030 * @return the meta object for class '<em>Or</em>'.
3031 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Or
3032 * @generated
3033 */
3034 EClass getOr();
3035
3036 /**
3037 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Or#getOperands <em>Operands</em>}'.
3038 * <!-- begin-user-doc -->
3039 * <!-- end-user-doc -->
3040 * @return the meta object for the containment reference list '<em>Operands</em>'.
3041 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Or#getOperands()
3042 * @see #getOr()
3043 * @generated
3044 */
3045 EReference getOr_Operands();
3046
3047 /**
3048 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl <em>Impl</em>}'.
3049 * <!-- begin-user-doc -->
3050 * <!-- end-user-doc -->
3051 * @return the meta object for class '<em>Impl</em>'.
3052 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl
3053 * @generated
3054 */
3055 EClass getImpl();
3056
3057 /**
3058 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl#getLeftOperand <em>Left Operand</em>}'.
3059 * <!-- begin-user-doc -->
3060 * <!-- end-user-doc -->
3061 * @return the meta object for the containment reference '<em>Left Operand</em>'.
3062 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl#getLeftOperand()
3063 * @see #getImpl()
3064 * @generated
3065 */
3066 EReference getImpl_LeftOperand();
3067
3068 /**
3069 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl#getRightOperand <em>Right Operand</em>}'.
3070 * <!-- begin-user-doc -->
3071 * <!-- end-user-doc -->
3072 * @return the meta object for the containment reference '<em>Right Operand</em>'.
3073 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl#getRightOperand()
3074 * @see #getImpl()
3075 * @generated
3076 */
3077 EReference getImpl_RightOperand();
3078
3079 /**
3080 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Not <em>Not</em>}'.
3081 * <!-- begin-user-doc -->
3082 * <!-- end-user-doc -->
3083 * @return the meta object for class '<em>Not</em>'.
3084 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Not
3085 * @generated
3086 */
3087 EClass getNot();
3088
3089 /**
3090 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Not#getOperand <em>Operand</em>}'.
3091 * <!-- begin-user-doc -->
3092 * <!-- end-user-doc -->
3093 * @return the meta object for the containment reference '<em>Operand</em>'.
3094 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Not#getOperand()
3095 * @see #getNot()
3096 * @generated
3097 */
3098 EReference getNot_Operand();
3099
3100 /**
3101 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff <em>Iff</em>}'.
3102 * <!-- begin-user-doc -->
3103 * <!-- end-user-doc -->
3104 * @return the meta object for class '<em>Iff</em>'.
3105 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff
3106 * @generated
3107 */
3108 EClass getIff();
3109
3110 /**
3111 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff#getLeftOperand <em>Left Operand</em>}'.
3112 * <!-- begin-user-doc -->
3113 * <!-- end-user-doc -->
3114 * @return the meta object for the containment reference '<em>Left Operand</em>'.
3115 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff#getLeftOperand()
3116 * @see #getIff()
3117 * @generated
3118 */
3119 EReference getIff_LeftOperand();
3120
3121 /**
3122 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff#getRightOperand <em>Right Operand</em>}'.
3123 * <!-- begin-user-doc -->
3124 * <!-- end-user-doc -->
3125 * @return the meta object for the containment reference '<em>Right Operand</em>'.
3126 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff#getRightOperand()
3127 * @see #getIff()
3128 * @generated
3129 */
3130 EReference getIff_RightOperand();
3131
3132 /**
3133 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.PrimitiveRelation <em>Primitive Relation</em>}'.
3134 * <!-- begin-user-doc -->
3135 * <!-- end-user-doc -->
3136 * @return the meta object for class '<em>Primitive Relation</em>'.
3137 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.PrimitiveRelation
3138 * @generated
3139 */
3140 EClass getPrimitiveRelation();
3141
3142 /**
3143 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals <em>Equals</em>}'.
3144 * <!-- begin-user-doc -->
3145 * <!-- end-user-doc -->
3146 * @return the meta object for class '<em>Equals</em>'.
3147 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals
3148 * @generated
3149 */
3150 EClass getEquals();
3151
3152 /**
3153 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals#getLeftOperand <em>Left Operand</em>}'.
3154 * <!-- begin-user-doc -->
3155 * <!-- end-user-doc -->
3156 * @return the meta object for the containment reference '<em>Left Operand</em>'.
3157 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals#getLeftOperand()
3158 * @see #getEquals()
3159 * @generated
3160 */
3161 EReference getEquals_LeftOperand();
3162
3163 /**
3164 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals#getRightOperand <em>Right Operand</em>}'.
3165 * <!-- begin-user-doc -->
3166 * <!-- end-user-doc -->
3167 * @return the meta object for the containment reference '<em>Right Operand</em>'.
3168 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals#getRightOperand()
3169 * @see #getEquals()
3170 * @generated
3171 */
3172 EReference getEquals_RightOperand();
3173
3174 /**
3175 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Distinct <em>Distinct</em>}'.
3176 * <!-- begin-user-doc -->
3177 * <!-- end-user-doc -->
3178 * @return the meta object for class '<em>Distinct</em>'.
3179 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Distinct
3180 * @generated
3181 */
3182 EClass getDistinct();
3183
3184 /**
3185 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Distinct#getOperands <em>Operands</em>}'.
3186 * <!-- begin-user-doc -->
3187 * <!-- end-user-doc -->
3188 * @return the meta object for the containment reference list '<em>Operands</em>'.
3189 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Distinct#getOperands()
3190 * @see #getDistinct()
3191 * @generated
3192 */
3193 EReference getDistinct_Operands();
3194
3195 /**
3196 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan <em>Less Than</em>}'.
3197 * <!-- begin-user-doc -->
3198 * <!-- end-user-doc -->
3199 * @return the meta object for class '<em>Less Than</em>'.
3200 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan
3201 * @generated
3202 */
3203 EClass getLessThan();
3204
3205 /**
3206 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan#getLeftOperand <em>Left Operand</em>}'.
3207 * <!-- begin-user-doc -->
3208 * <!-- end-user-doc -->
3209 * @return the meta object for the containment reference '<em>Left Operand</em>'.
3210 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan#getLeftOperand()
3211 * @see #getLessThan()
3212 * @generated
3213 */
3214 EReference getLessThan_LeftOperand();
3215
3216 /**
3217 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan#getRightOperand <em>Right Operand</em>}'.
3218 * <!-- begin-user-doc -->
3219 * <!-- end-user-doc -->
3220 * @return the meta object for the containment reference '<em>Right Operand</em>'.
3221 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan#getRightOperand()
3222 * @see #getLessThan()
3223 * @generated
3224 */
3225 EReference getLessThan_RightOperand();
3226
3227 /**
3228 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan <em>More Than</em>}'.
3229 * <!-- begin-user-doc -->
3230 * <!-- end-user-doc -->
3231 * @return the meta object for class '<em>More Than</em>'.
3232 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan
3233 * @generated
3234 */
3235 EClass getMoreThan();
3236
3237 /**
3238 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan#getLeftOperand <em>Left Operand</em>}'.
3239 * <!-- begin-user-doc -->
3240 * <!-- end-user-doc -->
3241 * @return the meta object for the containment reference '<em>Left Operand</em>'.
3242 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan#getLeftOperand()
3243 * @see #getMoreThan()
3244 * @generated
3245 */
3246 EReference getMoreThan_LeftOperand();
3247
3248 /**
3249 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan#getRightOperand <em>Right Operand</em>}'.
3250 * <!-- begin-user-doc -->
3251 * <!-- end-user-doc -->
3252 * @return the meta object for the containment reference '<em>Right Operand</em>'.
3253 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan#getRightOperand()
3254 * @see #getMoreThan()
3255 * @generated
3256 */
3257 EReference getMoreThan_RightOperand();
3258
3259 /**
3260 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan <em>Less Or Equal Than</em>}'.
3261 * <!-- begin-user-doc -->
3262 * <!-- end-user-doc -->
3263 * @return the meta object for class '<em>Less Or Equal Than</em>'.
3264 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan
3265 * @generated
3266 */
3267 EClass getLessOrEqualThan();
3268
3269 /**
3270 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan#getLeftOperand <em>Left Operand</em>}'.
3271 * <!-- begin-user-doc -->
3272 * <!-- end-user-doc -->
3273 * @return the meta object for the containment reference '<em>Left Operand</em>'.
3274 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan#getLeftOperand()
3275 * @see #getLessOrEqualThan()
3276 * @generated
3277 */
3278 EReference getLessOrEqualThan_LeftOperand();
3279
3280 /**
3281 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan#getRightOperand <em>Right Operand</em>}'.
3282 * <!-- begin-user-doc -->
3283 * <!-- end-user-doc -->
3284 * @return the meta object for the containment reference '<em>Right Operand</em>'.
3285 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan#getRightOperand()
3286 * @see #getLessOrEqualThan()
3287 * @generated
3288 */
3289 EReference getLessOrEqualThan_RightOperand();
3290
3291 /**
3292 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan <em>More Or Equal Than</em>}'.
3293 * <!-- begin-user-doc -->
3294 * <!-- end-user-doc -->
3295 * @return the meta object for class '<em>More Or Equal Than</em>'.
3296 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan
3297 * @generated
3298 */
3299 EClass getMoreOrEqualThan();
3300
3301 /**
3302 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan#getLeftOperand <em>Left Operand</em>}'.
3303 * <!-- begin-user-doc -->
3304 * <!-- end-user-doc -->
3305 * @return the meta object for the containment reference '<em>Left Operand</em>'.
3306 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan#getLeftOperand()
3307 * @see #getMoreOrEqualThan()
3308 * @generated
3309 */
3310 EReference getMoreOrEqualThan_LeftOperand();
3311
3312 /**
3313 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan#getRightOperand <em>Right Operand</em>}'.
3314 * <!-- begin-user-doc -->
3315 * <!-- end-user-doc -->
3316 * @return the meta object for the containment reference '<em>Right Operand</em>'.
3317 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan#getRightOperand()
3318 * @see #getMoreOrEqualThan()
3319 * @generated
3320 */
3321 EReference getMoreOrEqualThan_RightOperand();
3322
3323 /**
3324 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntOperation <em>Int Operation</em>}'.
3325 * <!-- begin-user-doc -->
3326 * <!-- end-user-doc -->
3327 * @return the meta object for class '<em>Int Operation</em>'.
3328 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntOperation
3329 * @generated
3330 */
3331 EClass getIntOperation();
3332
3333 /**
3334 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntOperation#getLeftOperand <em>Left Operand</em>}'.
3335 * <!-- begin-user-doc -->
3336 * <!-- end-user-doc -->
3337 * @return the meta object for the containment reference '<em>Left Operand</em>'.
3338 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntOperation#getLeftOperand()
3339 * @see #getIntOperation()
3340 * @generated
3341 */
3342 EReference getIntOperation_LeftOperand();
3343
3344 /**
3345 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntOperation#getRightOperand <em>Right Operand</em>}'.
3346 * <!-- begin-user-doc -->
3347 * <!-- end-user-doc -->
3348 * @return the meta object for the containment reference '<em>Right Operand</em>'.
3349 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntOperation#getRightOperand()
3350 * @see #getIntOperation()
3351 * @generated
3352 */
3353 EReference getIntOperation_RightOperand();
3354
3355 /**
3356 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Plus <em>Plus</em>}'.
3357 * <!-- begin-user-doc -->
3358 * <!-- end-user-doc -->
3359 * @return the meta object for class '<em>Plus</em>'.
3360 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Plus
3361 * @generated
3362 */
3363 EClass getPlus();
3364
3365 /**
3366 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Minus <em>Minus</em>}'.
3367 * <!-- begin-user-doc -->
3368 * <!-- end-user-doc -->
3369 * @return the meta object for class '<em>Minus</em>'.
3370 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Minus
3371 * @generated
3372 */
3373 EClass getMinus();
3374
3375 /**
3376 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Multiply <em>Multiply</em>}'.
3377 * <!-- begin-user-doc -->
3378 * <!-- end-user-doc -->
3379 * @return the meta object for class '<em>Multiply</em>'.
3380 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Multiply
3381 * @generated
3382 */
3383 EClass getMultiply();
3384
3385 /**
3386 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Divison <em>Divison</em>}'.
3387 * <!-- begin-user-doc -->
3388 * <!-- end-user-doc -->
3389 * @return the meta object for class '<em>Divison</em>'.
3390 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Divison
3391 * @generated
3392 */
3393 EClass getDivison();
3394
3395 /**
3396 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Mod <em>Mod</em>}'.
3397 * <!-- begin-user-doc -->
3398 * <!-- end-user-doc -->
3399 * @return the meta object for class '<em>Mod</em>'.
3400 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Mod
3401 * @generated
3402 */
3403 EClass getMod();
3404
3405 /**
3406 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDescriptor <em>Type Descriptor</em>}'.
3407 * <!-- begin-user-doc -->
3408 * <!-- end-user-doc -->
3409 * @return the meta object for class '<em>Type Descriptor</em>'.
3410 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDescriptor
3411 * @generated
3412 */
3413 EClass getTypeDescriptor();
3414
3415 /**
3416 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription <em>Term Description</em>}'.
3417 * <!-- begin-user-doc -->
3418 * <!-- end-user-doc -->
3419 * @return the meta object for class '<em>Term Description</em>'.
3420 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription
3421 * @generated
3422 */
3423 EClass getTermDescription();
3424
3425 /**
3426 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion <em>Assertion</em>}'.
3427 * <!-- begin-user-doc -->
3428 * <!-- end-user-doc -->
3429 * @return the meta object for class '<em>Assertion</em>'.
3430 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion
3431 * @generated
3432 */
3433 EClass getAssertion();
3434
3435 /**
3436 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion#getValue <em>Value</em>}'.
3437 * <!-- begin-user-doc -->
3438 * <!-- end-user-doc -->
3439 * @return the meta object for the containment reference '<em>Value</em>'.
3440 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion#getValue()
3441 * @see #getAssertion()
3442 * @generated
3443 */
3444 EReference getAssertion_Value();
3445
3446 /**
3447 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion#getName <em>Name</em>}'.
3448 * <!-- begin-user-doc -->
3449 * <!-- end-user-doc -->
3450 * @return the meta object for the attribute '<em>Name</em>'.
3451 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion#getName()
3452 * @see #getAssertion()
3453 * @generated
3454 */
3455 EAttribute getAssertion_Name();
3456
3457 /**
3458 * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion#getAnnotations <em>Annotations</em>}'.
3459 * <!-- begin-user-doc -->
3460 * <!-- end-user-doc -->
3461 * @return the meta object for the reference list '<em>Annotations</em>'.
3462 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion#getAnnotations()
3463 * @see #getAssertion()
3464 * @generated
3465 */
3466 EReference getAssertion_Annotations();
3467
3468 /**
3469 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation <em>Relation</em>}'.
3470 * <!-- begin-user-doc -->
3471 * <!-- end-user-doc -->
3472 * @return the meta object for class '<em>Relation</em>'.
3473 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
3474 * @generated
3475 */
3476 EClass getRelation();
3477
3478 /**
3479 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation#getParameters <em>Parameters</em>}'.
3480 * <!-- begin-user-doc -->
3481 * <!-- end-user-doc -->
3482 * @return the meta object for the containment reference list '<em>Parameters</em>'.
3483 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation#getParameters()
3484 * @see #getRelation()
3485 * @generated
3486 */
3487 EReference getRelation_Parameters();
3488
3489 /**
3490 * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation#getAnnotations <em>Annotations</em>}'.
3491 * <!-- begin-user-doc -->
3492 * <!-- end-user-doc -->
3493 * @return the meta object for the reference list '<em>Annotations</em>'.
3494 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation#getAnnotations()
3495 * @see #getRelation()
3496 * @generated
3497 */
3498 EReference getRelation_Annotations();
3499
3500 /**
3501 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant <em>Constant</em>}'.
3502 * <!-- begin-user-doc -->
3503 * <!-- end-user-doc -->
3504 * @return the meta object for class '<em>Constant</em>'.
3505 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant
3506 * @generated
3507 */
3508 EClass getConstant();
3509
3510 /**
3511 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant#getType <em>Type</em>}'.
3512 * <!-- begin-user-doc -->
3513 * <!-- end-user-doc -->
3514 * @return the meta object for the containment reference '<em>Type</em>'.
3515 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant#getType()
3516 * @see #getConstant()
3517 * @generated
3518 */
3519 EReference getConstant_Type();
3520
3521 /**
3522 * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant#getAnnotations <em>Annotations</em>}'.
3523 * <!-- begin-user-doc -->
3524 * <!-- end-user-doc -->
3525 * @return the meta object for the reference list '<em>Annotations</em>'.
3526 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant#getAnnotations()
3527 * @see #getConstant()
3528 * @generated
3529 */
3530 EReference getConstant_Annotations();
3531
3532 /**
3533 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition <em>Constant Definition</em>}'.
3534 * <!-- begin-user-doc -->
3535 * <!-- end-user-doc -->
3536 * @return the meta object for class '<em>Constant Definition</em>'.
3537 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition
3538 * @generated
3539 */
3540 EClass getConstantDefinition();
3541
3542 /**
3543 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition#getValue <em>Value</em>}'.
3544 * <!-- begin-user-doc -->
3545 * <!-- end-user-doc -->
3546 * @return the meta object for the containment reference '<em>Value</em>'.
3547 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition#getValue()
3548 * @see #getConstantDefinition()
3549 * @generated
3550 */
3551 EReference getConstantDefinition_Value();
3552
3553 /**
3554 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition#getDefines <em>Defines</em>}'.
3555 * <!-- begin-user-doc -->
3556 * <!-- end-user-doc -->
3557 * @return the meta object for the reference '<em>Defines</em>'.
3558 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition#getDefines()
3559 * @see #getConstantDefinition()
3560 * @generated
3561 */
3562 EReference getConstantDefinition_Defines();
3563
3564 /**
3565 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition <em>Relation Definition</em>}'.
3566 * <!-- begin-user-doc -->
3567 * <!-- end-user-doc -->
3568 * @return the meta object for class '<em>Relation Definition</em>'.
3569 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
3570 * @generated
3571 */
3572 EClass getRelationDefinition();
3573
3574 /**
3575 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition#getVariables <em>Variables</em>}'.
3576 * <!-- begin-user-doc -->
3577 * <!-- end-user-doc -->
3578 * @return the meta object for the containment reference list '<em>Variables</em>'.
3579 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition#getVariables()
3580 * @see #getRelationDefinition()
3581 * @generated
3582 */
3583 EReference getRelationDefinition_Variables();
3584
3585 /**
3586 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition#getValue <em>Value</em>}'.
3587 * <!-- begin-user-doc -->
3588 * <!-- end-user-doc -->
3589 * @return the meta object for the containment reference '<em>Value</em>'.
3590 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition#getValue()
3591 * @see #getRelationDefinition()
3592 * @generated
3593 */
3594 EReference getRelationDefinition_Value();
3595
3596 /**
3597 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition#getDefines <em>Defines</em>}'.
3598 * <!-- begin-user-doc -->
3599 * <!-- end-user-doc -->
3600 * @return the meta object for the reference '<em>Defines</em>'.
3601 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition#getDefines()
3602 * @see #getRelationDefinition()
3603 * @generated
3604 */
3605 EReference getRelationDefinition_Defines();
3606
3607 /**
3608 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition <em>Function Definition</em>}'.
3609 * <!-- begin-user-doc -->
3610 * <!-- end-user-doc -->
3611 * @return the meta object for class '<em>Function Definition</em>'.
3612 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition
3613 * @generated
3614 */
3615 EClass getFunctionDefinition();
3616
3617 /**
3618 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition#getVariable <em>Variable</em>}'.
3619 * <!-- begin-user-doc -->
3620 * <!-- end-user-doc -->
3621 * @return the meta object for the containment reference list '<em>Variable</em>'.
3622 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition#getVariable()
3623 * @see #getFunctionDefinition()
3624 * @generated
3625 */
3626 EReference getFunctionDefinition_Variable();
3627
3628 /**
3629 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition#getDefines <em>Defines</em>}'.
3630 * <!-- begin-user-doc -->
3631 * <!-- end-user-doc -->
3632 * @return the meta object for the reference '<em>Defines</em>'.
3633 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition#getDefines()
3634 * @see #getFunctionDefinition()
3635 * @generated
3636 */
3637 EReference getFunctionDefinition_Defines();
3638
3639 /**
3640 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition#getValue <em>Value</em>}'.
3641 * <!-- begin-user-doc -->
3642 * <!-- end-user-doc -->
3643 * @return the meta object for the containment reference '<em>Value</em>'.
3644 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition#getValue()
3645 * @see #getFunctionDefinition()
3646 * @generated
3647 */
3648 EReference getFunctionDefinition_Value();
3649
3650 /**
3651 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse <em>If Then Else</em>}'.
3652 * <!-- begin-user-doc -->
3653 * <!-- end-user-doc -->
3654 * @return the meta object for class '<em>If Then Else</em>'.
3655 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse
3656 * @generated
3657 */
3658 EClass getIfThenElse();
3659
3660 /**
3661 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse#getCondition <em>Condition</em>}'.
3662 * <!-- begin-user-doc -->
3663 * <!-- end-user-doc -->
3664 * @return the meta object for the containment reference '<em>Condition</em>'.
3665 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse#getCondition()
3666 * @see #getIfThenElse()
3667 * @generated
3668 */
3669 EReference getIfThenElse_Condition();
3670
3671 /**
3672 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse#getIfTrue <em>If True</em>}'.
3673 * <!-- begin-user-doc -->
3674 * <!-- end-user-doc -->
3675 * @return the meta object for the containment reference '<em>If True</em>'.
3676 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse#getIfTrue()
3677 * @see #getIfThenElse()
3678 * @generated
3679 */
3680 EReference getIfThenElse_IfTrue();
3681
3682 /**
3683 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse#getIfFalse <em>If False</em>}'.
3684 * <!-- begin-user-doc -->
3685 * <!-- end-user-doc -->
3686 * @return the meta object for the containment reference '<em>If False</em>'.
3687 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse#getIfFalse()
3688 * @see #getIfThenElse()
3689 * @generated
3690 */
3691 EReference getIfThenElse_IfFalse();
3692
3693 /**
3694 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration <em>Constant Declaration</em>}'.
3695 * <!-- begin-user-doc -->
3696 * <!-- end-user-doc -->
3697 * @return the meta object for class '<em>Constant Declaration</em>'.
3698 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
3699 * @generated
3700 */
3701 EClass getConstantDeclaration();
3702
3703 /**
3704 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration <em>Relation Declaration</em>}'.
3705 * <!-- begin-user-doc -->
3706 * <!-- end-user-doc -->
3707 * @return the meta object for class '<em>Relation Declaration</em>'.
3708 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
3709 * @generated
3710 */
3711 EClass getRelationDeclaration();
3712
3713 /**
3714 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration <em>Function Declaration</em>}'.
3715 * <!-- begin-user-doc -->
3716 * <!-- end-user-doc -->
3717 * @return the meta object for class '<em>Function Declaration</em>'.
3718 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration
3719 * @generated
3720 */
3721 EClass getFunctionDeclaration();
3722
3723 /**
3724 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration <em>Type Declaration</em>}'.
3725 * <!-- begin-user-doc -->
3726 * <!-- end-user-doc -->
3727 * @return the meta object for class '<em>Type Declaration</em>'.
3728 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
3729 * @generated
3730 */
3731 EClass getTypeDeclaration();
3732
3733 /**
3734 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.UnknownBecauseUninterpreted <em>Unknown Because Uninterpreted</em>}'.
3735 * <!-- begin-user-doc -->
3736 * <!-- end-user-doc -->
3737 * @return the meta object for class '<em>Unknown Because Uninterpreted</em>'.
3738 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.UnknownBecauseUninterpreted
3739 * @generated
3740 */
3741 EClass getUnknownBecauseUninterpreted();
3742
3743 /**
3744 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf <em>Instance Of</em>}'.
3745 * <!-- begin-user-doc -->
3746 * <!-- end-user-doc -->
3747 * @return the meta object for class '<em>Instance Of</em>'.
3748 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf
3749 * @generated
3750 */
3751 EClass getInstanceOf();
3752
3753 /**
3754 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf#getValue <em>Value</em>}'.
3755 * <!-- begin-user-doc -->
3756 * <!-- end-user-doc -->
3757 * @return the meta object for the containment reference '<em>Value</em>'.
3758 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf#getValue()
3759 * @see #getInstanceOf()
3760 * @generated
3761 */
3762 EReference getInstanceOf_Value();
3763
3764 /**
3765 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf#getRange <em>Range</em>}'.
3766 * <!-- begin-user-doc -->
3767 * <!-- end-user-doc -->
3768 * @return the meta object for the containment reference '<em>Range</em>'.
3769 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf#getRange()
3770 * @see #getInstanceOf()
3771 * @generated
3772 */
3773 EReference getInstanceOf_Range();
3774
3775 /**
3776 * Returns the factory that creates the instances of the model.
3777 * <!-- begin-user-doc -->
3778 * <!-- end-user-doc -->
3779 * @return the factory that creates the instances of the model.
3780 * @generated
3781 */
3782 LogiclanguageFactory getLogiclanguageFactory();
3783
3784 /**
3785 * <!-- begin-user-doc -->
3786 * Defines literals for the meta objects that represent
3787 * <ul>
3788 * <li>each class,</li>
3789 * <li>each feature of each class,</li>
3790 * <li>each operation of each class,</li>
3791 * <li>each enum,</li>
3792 * <li>and each data type</li>
3793 * </ul>
3794 * <!-- end-user-doc -->
3795 * @generated
3796 */
3797 interface Literals {
3798 /**
3799 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeImpl <em>Type</em>}' class.
3800 * <!-- begin-user-doc -->
3801 * <!-- end-user-doc -->
3802 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeImpl
3803 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getType()
3804 * @generated
3805 */
3806 EClass TYPE = eINSTANCE.getType();
3807
3808 /**
3809 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
3810 * <!-- begin-user-doc -->
3811 * <!-- end-user-doc -->
3812 * @generated
3813 */
3814 EAttribute TYPE__NAME = eINSTANCE.getType_Name();
3815
3816 /**
3817 * The meta object literal for the '<em><b>Subtypes</b></em>' reference list feature.
3818 * <!-- begin-user-doc -->
3819 * <!-- end-user-doc -->
3820 * @generated
3821 */
3822 EReference TYPE__SUBTYPES = eINSTANCE.getType_Subtypes();
3823
3824 /**
3825 * The meta object literal for the '<em><b>Supertypes</b></em>' reference list feature.
3826 * <!-- begin-user-doc -->
3827 * <!-- end-user-doc -->
3828 * @generated
3829 */
3830 EReference TYPE__SUPERTYPES = eINSTANCE.getType_Supertypes();
3831
3832 /**
3833 * The meta object literal for the '<em><b>Is Abstract</b></em>' attribute feature.
3834 * <!-- begin-user-doc -->
3835 * <!-- end-user-doc -->
3836 * @generated
3837 */
3838 EAttribute TYPE__IS_ABSTRACT = eINSTANCE.getType_IsAbstract();
3839
3840 /**
3841 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.DefinedElementImpl <em>Defined Element</em>}' class.
3842 * <!-- begin-user-doc -->
3843 * <!-- end-user-doc -->
3844 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.DefinedElementImpl
3845 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getDefinedElement()
3846 * @generated
3847 */
3848 EClass DEFINED_ELEMENT = eINSTANCE.getDefinedElement();
3849
3850 /**
3851 * The meta object literal for the '<em><b>Defined In Type</b></em>' reference list feature.
3852 * <!-- begin-user-doc -->
3853 * <!-- end-user-doc -->
3854 * @generated
3855 */
3856 EReference DEFINED_ELEMENT__DEFINED_IN_TYPE = eINSTANCE.getDefinedElement_DefinedInType();
3857
3858 /**
3859 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeDefinitionImpl <em>Type Definition</em>}' class.
3860 * <!-- begin-user-doc -->
3861 * <!-- end-user-doc -->
3862 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeDefinitionImpl
3863 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getTypeDefinition()
3864 * @generated
3865 */
3866 EClass TYPE_DEFINITION = eINSTANCE.getTypeDefinition();
3867
3868 /**
3869 * The meta object literal for the '<em><b>Elements</b></em>' reference list feature.
3870 * <!-- begin-user-doc -->
3871 * <!-- end-user-doc -->
3872 * @generated
3873 */
3874 EReference TYPE_DEFINITION__ELEMENTS = eINSTANCE.getTypeDefinition_Elements();
3875
3876 /**
3877 * The meta object literal for the '<em><b>Defines</b></em>' reference feature.
3878 * <!-- begin-user-doc -->
3879 * <!-- end-user-doc -->
3880 * @generated
3881 */
3882 EReference TYPE_DEFINITION__DEFINES = eINSTANCE.getTypeDefinition_Defines();
3883
3884 /**
3885 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeReferenceImpl <em>Type Reference</em>}' class.
3886 * <!-- begin-user-doc -->
3887 * <!-- end-user-doc -->
3888 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeReferenceImpl
3889 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getTypeReference()
3890 * @generated
3891 */
3892 EClass TYPE_REFERENCE = eINSTANCE.getTypeReference();
3893
3894 /**
3895 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ComplexTypeReferenceImpl <em>Complex Type Reference</em>}' class.
3896 * <!-- begin-user-doc -->
3897 * <!-- end-user-doc -->
3898 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ComplexTypeReferenceImpl
3899 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getComplexTypeReference()
3900 * @generated
3901 */
3902 EClass COMPLEX_TYPE_REFERENCE = eINSTANCE.getComplexTypeReference();
3903
3904 /**
3905 * The meta object literal for the '<em><b>Referred</b></em>' reference feature.
3906 * <!-- begin-user-doc -->
3907 * <!-- end-user-doc -->
3908 * @generated
3909 */
3910 EReference COMPLEX_TYPE_REFERENCE__REFERRED = eINSTANCE.getComplexTypeReference_Referred();
3911
3912 /**
3913 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.PrimitiveTypeReferenceImpl <em>Primitive Type Reference</em>}' class.
3914 * <!-- begin-user-doc -->
3915 * <!-- end-user-doc -->
3916 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.PrimitiveTypeReferenceImpl
3917 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getPrimitiveTypeReference()
3918 * @generated
3919 */
3920 EClass PRIMITIVE_TYPE_REFERENCE = eINSTANCE.getPrimitiveTypeReference();
3921
3922 /**
3923 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IntTypeReferenceImpl <em>Int Type Reference</em>}' class.
3924 * <!-- begin-user-doc -->
3925 * <!-- end-user-doc -->
3926 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IntTypeReferenceImpl
3927 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getIntTypeReference()
3928 * @generated
3929 */
3930 EClass INT_TYPE_REFERENCE = eINSTANCE.getIntTypeReference();
3931
3932 /**
3933 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.BoolTypeReferenceImpl <em>Bool Type Reference</em>}' class.
3934 * <!-- begin-user-doc -->
3935 * <!-- end-user-doc -->
3936 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.BoolTypeReferenceImpl
3937 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getBoolTypeReference()
3938 * @generated
3939 */
3940 EClass BOOL_TYPE_REFERENCE = eINSTANCE.getBoolTypeReference();
3941
3942 /**
3943 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RealTypeReferenceImpl <em>Real Type Reference</em>}' class.
3944 * <!-- begin-user-doc -->
3945 * <!-- end-user-doc -->
3946 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RealTypeReferenceImpl
3947 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getRealTypeReference()
3948 * @generated
3949 */
3950 EClass REAL_TYPE_REFERENCE = eINSTANCE.getRealTypeReference();
3951
3952 /**
3953 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionImpl <em>Function</em>}' class.
3954 * <!-- begin-user-doc -->
3955 * <!-- end-user-doc -->
3956 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionImpl
3957 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getFunction()
3958 * @generated
3959 */
3960 EClass FUNCTION = eINSTANCE.getFunction();
3961
3962 /**
3963 * The meta object literal for the '<em><b>Range</b></em>' containment reference feature.
3964 * <!-- begin-user-doc -->
3965 * <!-- end-user-doc -->
3966 * @generated
3967 */
3968 EReference FUNCTION__RANGE = eINSTANCE.getFunction_Range();
3969
3970 /**
3971 * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature.
3972 * <!-- begin-user-doc -->
3973 * <!-- end-user-doc -->
3974 * @generated
3975 */
3976 EReference FUNCTION__PARAMETERS = eINSTANCE.getFunction_Parameters();
3977
3978 /**
3979 * The meta object literal for the '<em><b>Annotations</b></em>' reference list feature.
3980 * <!-- begin-user-doc -->
3981 * <!-- end-user-doc -->
3982 * @generated
3983 */
3984 EReference FUNCTION__ANNOTATIONS = eINSTANCE.getFunction_Annotations();
3985
3986 /**
3987 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TermImpl <em>Term</em>}' class.
3988 * <!-- begin-user-doc -->
3989 * <!-- end-user-doc -->
3990 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TermImpl
3991 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getTerm()
3992 * @generated
3993 */
3994 EClass TERM = eINSTANCE.getTerm();
3995
3996 /**
3997 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.SymbolicDeclarationImpl <em>Symbolic Declaration</em>}' class.
3998 * <!-- begin-user-doc -->
3999 * <!-- end-user-doc -->
4000 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.SymbolicDeclarationImpl
4001 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getSymbolicDeclaration()
4002 * @generated
4003 */
4004 EClass SYMBOLIC_DECLARATION = eINSTANCE.getSymbolicDeclaration();
4005
4006 /**
4007 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
4008 * <!-- begin-user-doc -->
4009 * <!-- end-user-doc -->
4010 * @generated
4011 */
4012 EAttribute SYMBOLIC_DECLARATION__NAME = eINSTANCE.getSymbolicDeclaration_Name();
4013
4014 /**
4015 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.SymbolicValueImpl <em>Symbolic Value</em>}' class.
4016 * <!-- begin-user-doc -->
4017 * <!-- end-user-doc -->
4018 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.SymbolicValueImpl
4019 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getSymbolicValue()
4020 * @generated
4021 */
4022 EClass SYMBOLIC_VALUE = eINSTANCE.getSymbolicValue();
4023
4024 /**
4025 * The meta object literal for the '<em><b>Symbolic Reference</b></em>' reference feature.
4026 * <!-- begin-user-doc -->
4027 * <!-- end-user-doc -->
4028 * @generated
4029 */
4030 EReference SYMBOLIC_VALUE__SYMBOLIC_REFERENCE = eINSTANCE.getSymbolicValue_SymbolicReference();
4031
4032 /**
4033 * The meta object literal for the '<em><b>Parameter Substitutions</b></em>' containment reference list feature.
4034 * <!-- begin-user-doc -->
4035 * <!-- end-user-doc -->
4036 * @generated
4037 */
4038 EReference SYMBOLIC_VALUE__PARAMETER_SUBSTITUTIONS = eINSTANCE.getSymbolicValue_ParameterSubstitutions();
4039
4040 /**
4041 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.AtomicTermImpl <em>Atomic Term</em>}' class.
4042 * <!-- begin-user-doc -->
4043 * <!-- end-user-doc -->
4044 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.AtomicTermImpl
4045 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getAtomicTerm()
4046 * @generated
4047 */
4048 EClass ATOMIC_TERM = eINSTANCE.getAtomicTerm();
4049
4050 /**
4051 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IntLiteralImpl <em>Int Literal</em>}' class.
4052 * <!-- begin-user-doc -->
4053 * <!-- end-user-doc -->
4054 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IntLiteralImpl
4055 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getIntLiteral()
4056 * @generated
4057 */
4058 EClass INT_LITERAL = eINSTANCE.getIntLiteral();
4059
4060 /**
4061 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
4062 * <!-- begin-user-doc -->
4063 * <!-- end-user-doc -->
4064 * @generated
4065 */
4066 EAttribute INT_LITERAL__VALUE = eINSTANCE.getIntLiteral_Value();
4067
4068 /**
4069 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.BoolLiteralImpl <em>Bool Literal</em>}' class.
4070 * <!-- begin-user-doc -->
4071 * <!-- end-user-doc -->
4072 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.BoolLiteralImpl
4073 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getBoolLiteral()
4074 * @generated
4075 */
4076 EClass BOOL_LITERAL = eINSTANCE.getBoolLiteral();
4077
4078 /**
4079 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
4080 * <!-- begin-user-doc -->
4081 * <!-- end-user-doc -->
4082 * @generated
4083 */
4084 EAttribute BOOL_LITERAL__VALUE = eINSTANCE.getBoolLiteral_Value();
4085
4086 /**
4087 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RealLiteralImpl <em>Real Literal</em>}' class.
4088 * <!-- begin-user-doc -->
4089 * <!-- end-user-doc -->
4090 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RealLiteralImpl
4091 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getRealLiteral()
4092 * @generated
4093 */
4094 EClass REAL_LITERAL = eINSTANCE.getRealLiteral();
4095
4096 /**
4097 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
4098 * <!-- begin-user-doc -->
4099 * <!-- end-user-doc -->
4100 * @generated
4101 */
4102 EAttribute REAL_LITERAL__VALUE = eINSTANCE.getRealLiteral_Value();
4103
4104 /**
4105 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.VariableImpl <em>Variable</em>}' class.
4106 * <!-- begin-user-doc -->
4107 * <!-- end-user-doc -->
4108 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.VariableImpl
4109 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getVariable()
4110 * @generated
4111 */
4112 EClass VARIABLE = eINSTANCE.getVariable();
4113
4114 /**
4115 * The meta object literal for the '<em><b>Range</b></em>' containment reference feature.
4116 * <!-- begin-user-doc -->
4117 * <!-- end-user-doc -->
4118 * @generated
4119 */
4120 EReference VARIABLE__RANGE = eINSTANCE.getVariable_Range();
4121
4122 /**
4123 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.QuantifiedExpressionImpl <em>Quantified Expression</em>}' class.
4124 * <!-- begin-user-doc -->
4125 * <!-- end-user-doc -->
4126 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.QuantifiedExpressionImpl
4127 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getQuantifiedExpression()
4128 * @generated
4129 */
4130 EClass QUANTIFIED_EXPRESSION = eINSTANCE.getQuantifiedExpression();
4131
4132 /**
4133 * The meta object literal for the '<em><b>Quantified Variables</b></em>' containment reference list feature.
4134 * <!-- begin-user-doc -->
4135 * <!-- end-user-doc -->
4136 * @generated
4137 */
4138 EReference QUANTIFIED_EXPRESSION__QUANTIFIED_VARIABLES = eINSTANCE.getQuantifiedExpression_QuantifiedVariables();
4139
4140 /**
4141 * The meta object literal for the '<em><b>Expression</b></em>' containment reference feature.
4142 * <!-- begin-user-doc -->
4143 * <!-- end-user-doc -->
4144 * @generated
4145 */
4146 EReference QUANTIFIED_EXPRESSION__EXPRESSION = eINSTANCE.getQuantifiedExpression_Expression();
4147
4148 /**
4149 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ExistsImpl <em>Exists</em>}' class.
4150 * <!-- begin-user-doc -->
4151 * <!-- end-user-doc -->
4152 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ExistsImpl
4153 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getExists()
4154 * @generated
4155 */
4156 EClass EXISTS = eINSTANCE.getExists();
4157
4158 /**
4159 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ForallImpl <em>Forall</em>}' class.
4160 * <!-- begin-user-doc -->
4161 * <!-- end-user-doc -->
4162 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ForallImpl
4163 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getForall()
4164 * @generated
4165 */
4166 EClass FORALL = eINSTANCE.getForall();
4167
4168 /**
4169 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.BoolOperationImpl <em>Bool Operation</em>}' class.
4170 * <!-- begin-user-doc -->
4171 * <!-- end-user-doc -->
4172 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.BoolOperationImpl
4173 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getBoolOperation()
4174 * @generated
4175 */
4176 EClass BOOL_OPERATION = eINSTANCE.getBoolOperation();
4177
4178 /**
4179 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.AndImpl <em>And</em>}' class.
4180 * <!-- begin-user-doc -->
4181 * <!-- end-user-doc -->
4182 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.AndImpl
4183 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getAnd()
4184 * @generated
4185 */
4186 EClass AND = eINSTANCE.getAnd();
4187
4188 /**
4189 * The meta object literal for the '<em><b>Operands</b></em>' containment reference list feature.
4190 * <!-- begin-user-doc -->
4191 * <!-- end-user-doc -->
4192 * @generated
4193 */
4194 EReference AND__OPERANDS = eINSTANCE.getAnd_Operands();
4195
4196 /**
4197 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.OrImpl <em>Or</em>}' class.
4198 * <!-- begin-user-doc -->
4199 * <!-- end-user-doc -->
4200 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.OrImpl
4201 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getOr()
4202 * @generated
4203 */
4204 EClass OR = eINSTANCE.getOr();
4205
4206 /**
4207 * The meta object literal for the '<em><b>Operands</b></em>' containment reference list feature.
4208 * <!-- begin-user-doc -->
4209 * <!-- end-user-doc -->
4210 * @generated
4211 */
4212 EReference OR__OPERANDS = eINSTANCE.getOr_Operands();
4213
4214 /**
4215 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ImplImpl <em>Impl</em>}' class.
4216 * <!-- begin-user-doc -->
4217 * <!-- end-user-doc -->
4218 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ImplImpl
4219 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getImpl()
4220 * @generated
4221 */
4222 EClass IMPL = eINSTANCE.getImpl();
4223
4224 /**
4225 * The meta object literal for the '<em><b>Left Operand</b></em>' containment reference feature.
4226 * <!-- begin-user-doc -->
4227 * <!-- end-user-doc -->
4228 * @generated
4229 */
4230 EReference IMPL__LEFT_OPERAND = eINSTANCE.getImpl_LeftOperand();
4231
4232 /**
4233 * The meta object literal for the '<em><b>Right Operand</b></em>' containment reference feature.
4234 * <!-- begin-user-doc -->
4235 * <!-- end-user-doc -->
4236 * @generated
4237 */
4238 EReference IMPL__RIGHT_OPERAND = eINSTANCE.getImpl_RightOperand();
4239
4240 /**
4241 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.NotImpl <em>Not</em>}' class.
4242 * <!-- begin-user-doc -->
4243 * <!-- end-user-doc -->
4244 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.NotImpl
4245 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getNot()
4246 * @generated
4247 */
4248 EClass NOT = eINSTANCE.getNot();
4249
4250 /**
4251 * The meta object literal for the '<em><b>Operand</b></em>' containment reference feature.
4252 * <!-- begin-user-doc -->
4253 * <!-- end-user-doc -->
4254 * @generated
4255 */
4256 EReference NOT__OPERAND = eINSTANCE.getNot_Operand();
4257
4258 /**
4259 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IffImpl <em>Iff</em>}' class.
4260 * <!-- begin-user-doc -->
4261 * <!-- end-user-doc -->
4262 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IffImpl
4263 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getIff()
4264 * @generated
4265 */
4266 EClass IFF = eINSTANCE.getIff();
4267
4268 /**
4269 * The meta object literal for the '<em><b>Left Operand</b></em>' containment reference feature.
4270 * <!-- begin-user-doc -->
4271 * <!-- end-user-doc -->
4272 * @generated
4273 */
4274 EReference IFF__LEFT_OPERAND = eINSTANCE.getIff_LeftOperand();
4275
4276 /**
4277 * The meta object literal for the '<em><b>Right Operand</b></em>' containment reference feature.
4278 * <!-- begin-user-doc -->
4279 * <!-- end-user-doc -->
4280 * @generated
4281 */
4282 EReference IFF__RIGHT_OPERAND = eINSTANCE.getIff_RightOperand();
4283
4284 /**
4285 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.PrimitiveRelationImpl <em>Primitive Relation</em>}' class.
4286 * <!-- begin-user-doc -->
4287 * <!-- end-user-doc -->
4288 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.PrimitiveRelationImpl
4289 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getPrimitiveRelation()
4290 * @generated
4291 */
4292 EClass PRIMITIVE_RELATION = eINSTANCE.getPrimitiveRelation();
4293
4294 /**
4295 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.EqualsImpl <em>Equals</em>}' class.
4296 * <!-- begin-user-doc -->
4297 * <!-- end-user-doc -->
4298 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.EqualsImpl
4299 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getEquals()
4300 * @generated
4301 */
4302 EClass EQUALS = eINSTANCE.getEquals();
4303
4304 /**
4305 * The meta object literal for the '<em><b>Left Operand</b></em>' containment reference feature.
4306 * <!-- begin-user-doc -->
4307 * <!-- end-user-doc -->
4308 * @generated
4309 */
4310 EReference EQUALS__LEFT_OPERAND = eINSTANCE.getEquals_LeftOperand();
4311
4312 /**
4313 * The meta object literal for the '<em><b>Right Operand</b></em>' containment reference feature.
4314 * <!-- begin-user-doc -->
4315 * <!-- end-user-doc -->
4316 * @generated
4317 */
4318 EReference EQUALS__RIGHT_OPERAND = eINSTANCE.getEquals_RightOperand();
4319
4320 /**
4321 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.DistinctImpl <em>Distinct</em>}' class.
4322 * <!-- begin-user-doc -->
4323 * <!-- end-user-doc -->
4324 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.DistinctImpl
4325 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getDistinct()
4326 * @generated
4327 */
4328 EClass DISTINCT = eINSTANCE.getDistinct();
4329
4330 /**
4331 * The meta object literal for the '<em><b>Operands</b></em>' containment reference list feature.
4332 * <!-- begin-user-doc -->
4333 * <!-- end-user-doc -->
4334 * @generated
4335 */
4336 EReference DISTINCT__OPERANDS = eINSTANCE.getDistinct_Operands();
4337
4338 /**
4339 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LessThanImpl <em>Less Than</em>}' class.
4340 * <!-- begin-user-doc -->
4341 * <!-- end-user-doc -->
4342 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LessThanImpl
4343 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getLessThan()
4344 * @generated
4345 */
4346 EClass LESS_THAN = eINSTANCE.getLessThan();
4347
4348 /**
4349 * The meta object literal for the '<em><b>Left Operand</b></em>' containment reference feature.
4350 * <!-- begin-user-doc -->
4351 * <!-- end-user-doc -->
4352 * @generated
4353 */
4354 EReference LESS_THAN__LEFT_OPERAND = eINSTANCE.getLessThan_LeftOperand();
4355
4356 /**
4357 * The meta object literal for the '<em><b>Right Operand</b></em>' containment reference feature.
4358 * <!-- begin-user-doc -->
4359 * <!-- end-user-doc -->
4360 * @generated
4361 */
4362 EReference LESS_THAN__RIGHT_OPERAND = eINSTANCE.getLessThan_RightOperand();
4363
4364 /**
4365 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MoreThanImpl <em>More Than</em>}' class.
4366 * <!-- begin-user-doc -->
4367 * <!-- end-user-doc -->
4368 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MoreThanImpl
4369 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getMoreThan()
4370 * @generated
4371 */
4372 EClass MORE_THAN = eINSTANCE.getMoreThan();
4373
4374 /**
4375 * The meta object literal for the '<em><b>Left Operand</b></em>' containment reference feature.
4376 * <!-- begin-user-doc -->
4377 * <!-- end-user-doc -->
4378 * @generated
4379 */
4380 EReference MORE_THAN__LEFT_OPERAND = eINSTANCE.getMoreThan_LeftOperand();
4381
4382 /**
4383 * The meta object literal for the '<em><b>Right Operand</b></em>' containment reference feature.
4384 * <!-- begin-user-doc -->
4385 * <!-- end-user-doc -->
4386 * @generated
4387 */
4388 EReference MORE_THAN__RIGHT_OPERAND = eINSTANCE.getMoreThan_RightOperand();
4389
4390 /**
4391 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LessOrEqualThanImpl <em>Less Or Equal Than</em>}' class.
4392 * <!-- begin-user-doc -->
4393 * <!-- end-user-doc -->
4394 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LessOrEqualThanImpl
4395 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getLessOrEqualThan()
4396 * @generated
4397 */
4398 EClass LESS_OR_EQUAL_THAN = eINSTANCE.getLessOrEqualThan();
4399
4400 /**
4401 * The meta object literal for the '<em><b>Left Operand</b></em>' containment reference feature.
4402 * <!-- begin-user-doc -->
4403 * <!-- end-user-doc -->
4404 * @generated
4405 */
4406 EReference LESS_OR_EQUAL_THAN__LEFT_OPERAND = eINSTANCE.getLessOrEqualThan_LeftOperand();
4407
4408 /**
4409 * The meta object literal for the '<em><b>Right Operand</b></em>' containment reference feature.
4410 * <!-- begin-user-doc -->
4411 * <!-- end-user-doc -->
4412 * @generated
4413 */
4414 EReference LESS_OR_EQUAL_THAN__RIGHT_OPERAND = eINSTANCE.getLessOrEqualThan_RightOperand();
4415
4416 /**
4417 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MoreOrEqualThanImpl <em>More Or Equal Than</em>}' class.
4418 * <!-- begin-user-doc -->
4419 * <!-- end-user-doc -->
4420 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MoreOrEqualThanImpl
4421 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getMoreOrEqualThan()
4422 * @generated
4423 */
4424 EClass MORE_OR_EQUAL_THAN = eINSTANCE.getMoreOrEqualThan();
4425
4426 /**
4427 * The meta object literal for the '<em><b>Left Operand</b></em>' containment reference feature.
4428 * <!-- begin-user-doc -->
4429 * <!-- end-user-doc -->
4430 * @generated
4431 */
4432 EReference MORE_OR_EQUAL_THAN__LEFT_OPERAND = eINSTANCE.getMoreOrEqualThan_LeftOperand();
4433
4434 /**
4435 * The meta object literal for the '<em><b>Right Operand</b></em>' containment reference feature.
4436 * <!-- begin-user-doc -->
4437 * <!-- end-user-doc -->
4438 * @generated
4439 */
4440 EReference MORE_OR_EQUAL_THAN__RIGHT_OPERAND = eINSTANCE.getMoreOrEqualThan_RightOperand();
4441
4442 /**
4443 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IntOperationImpl <em>Int Operation</em>}' class.
4444 * <!-- begin-user-doc -->
4445 * <!-- end-user-doc -->
4446 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IntOperationImpl
4447 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getIntOperation()
4448 * @generated
4449 */
4450 EClass INT_OPERATION = eINSTANCE.getIntOperation();
4451
4452 /**
4453 * The meta object literal for the '<em><b>Left Operand</b></em>' containment reference feature.
4454 * <!-- begin-user-doc -->
4455 * <!-- end-user-doc -->
4456 * @generated
4457 */
4458 EReference INT_OPERATION__LEFT_OPERAND = eINSTANCE.getIntOperation_LeftOperand();
4459
4460 /**
4461 * The meta object literal for the '<em><b>Right Operand</b></em>' containment reference feature.
4462 * <!-- begin-user-doc -->
4463 * <!-- end-user-doc -->
4464 * @generated
4465 */
4466 EReference INT_OPERATION__RIGHT_OPERAND = eINSTANCE.getIntOperation_RightOperand();
4467
4468 /**
4469 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.PlusImpl <em>Plus</em>}' class.
4470 * <!-- begin-user-doc -->
4471 * <!-- end-user-doc -->
4472 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.PlusImpl
4473 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getPlus()
4474 * @generated
4475 */
4476 EClass PLUS = eINSTANCE.getPlus();
4477
4478 /**
4479 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MinusImpl <em>Minus</em>}' class.
4480 * <!-- begin-user-doc -->
4481 * <!-- end-user-doc -->
4482 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MinusImpl
4483 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getMinus()
4484 * @generated
4485 */
4486 EClass MINUS = eINSTANCE.getMinus();
4487
4488 /**
4489 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MultiplyImpl <em>Multiply</em>}' class.
4490 * <!-- begin-user-doc -->
4491 * <!-- end-user-doc -->
4492 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MultiplyImpl
4493 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getMultiply()
4494 * @generated
4495 */
4496 EClass MULTIPLY = eINSTANCE.getMultiply();
4497
4498 /**
4499 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.DivisonImpl <em>Divison</em>}' class.
4500 * <!-- begin-user-doc -->
4501 * <!-- end-user-doc -->
4502 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.DivisonImpl
4503 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getDivison()
4504 * @generated
4505 */
4506 EClass DIVISON = eINSTANCE.getDivison();
4507
4508 /**
4509 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ModImpl <em>Mod</em>}' class.
4510 * <!-- begin-user-doc -->
4511 * <!-- end-user-doc -->
4512 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ModImpl
4513 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getMod()
4514 * @generated
4515 */
4516 EClass MOD = eINSTANCE.getMod();
4517
4518 /**
4519 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDescriptor <em>Type Descriptor</em>}' class.
4520 * <!-- begin-user-doc -->
4521 * <!-- end-user-doc -->
4522 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDescriptor
4523 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getTypeDescriptor()
4524 * @generated
4525 */
4526 EClass TYPE_DESCRIPTOR = eINSTANCE.getTypeDescriptor();
4527
4528 /**
4529 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription <em>Term Description</em>}' class.
4530 * <!-- begin-user-doc -->
4531 * <!-- end-user-doc -->
4532 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription
4533 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getTermDescription()
4534 * @generated
4535 */
4536 EClass TERM_DESCRIPTION = eINSTANCE.getTermDescription();
4537
4538 /**
4539 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.AssertionImpl <em>Assertion</em>}' class.
4540 * <!-- begin-user-doc -->
4541 * <!-- end-user-doc -->
4542 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.AssertionImpl
4543 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getAssertion()
4544 * @generated
4545 */
4546 EClass ASSERTION = eINSTANCE.getAssertion();
4547
4548 /**
4549 * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
4550 * <!-- begin-user-doc -->
4551 * <!-- end-user-doc -->
4552 * @generated
4553 */
4554 EReference ASSERTION__VALUE = eINSTANCE.getAssertion_Value();
4555
4556 /**
4557 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
4558 * <!-- begin-user-doc -->
4559 * <!-- end-user-doc -->
4560 * @generated
4561 */
4562 EAttribute ASSERTION__NAME = eINSTANCE.getAssertion_Name();
4563
4564 /**
4565 * The meta object literal for the '<em><b>Annotations</b></em>' reference list feature.
4566 * <!-- begin-user-doc -->
4567 * <!-- end-user-doc -->
4568 * @generated
4569 */
4570 EReference ASSERTION__ANNOTATIONS = eINSTANCE.getAssertion_Annotations();
4571
4572 /**
4573 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationImpl <em>Relation</em>}' class.
4574 * <!-- begin-user-doc -->
4575 * <!-- end-user-doc -->
4576 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationImpl
4577 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getRelation()
4578 * @generated
4579 */
4580 EClass RELATION = eINSTANCE.getRelation();
4581
4582 /**
4583 * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature.
4584 * <!-- begin-user-doc -->
4585 * <!-- end-user-doc -->
4586 * @generated
4587 */
4588 EReference RELATION__PARAMETERS = eINSTANCE.getRelation_Parameters();
4589
4590 /**
4591 * The meta object literal for the '<em><b>Annotations</b></em>' reference list feature.
4592 * <!-- begin-user-doc -->
4593 * <!-- end-user-doc -->
4594 * @generated
4595 */
4596 EReference RELATION__ANNOTATIONS = eINSTANCE.getRelation_Annotations();
4597
4598 /**
4599 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ConstantImpl <em>Constant</em>}' class.
4600 * <!-- begin-user-doc -->
4601 * <!-- end-user-doc -->
4602 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ConstantImpl
4603 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getConstant()
4604 * @generated
4605 */
4606 EClass CONSTANT = eINSTANCE.getConstant();
4607
4608 /**
4609 * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
4610 * <!-- begin-user-doc -->
4611 * <!-- end-user-doc -->
4612 * @generated
4613 */
4614 EReference CONSTANT__TYPE = eINSTANCE.getConstant_Type();
4615
4616 /**
4617 * The meta object literal for the '<em><b>Annotations</b></em>' reference list feature.
4618 * <!-- begin-user-doc -->
4619 * <!-- end-user-doc -->
4620 * @generated
4621 */
4622 EReference CONSTANT__ANNOTATIONS = eINSTANCE.getConstant_Annotations();
4623
4624 /**
4625 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ConstantDefinitionImpl <em>Constant Definition</em>}' class.
4626 * <!-- begin-user-doc -->
4627 * <!-- end-user-doc -->
4628 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ConstantDefinitionImpl
4629 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getConstantDefinition()
4630 * @generated
4631 */
4632 EClass CONSTANT_DEFINITION = eINSTANCE.getConstantDefinition();
4633
4634 /**
4635 * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
4636 * <!-- begin-user-doc -->
4637 * <!-- end-user-doc -->
4638 * @generated
4639 */
4640 EReference CONSTANT_DEFINITION__VALUE = eINSTANCE.getConstantDefinition_Value();
4641
4642 /**
4643 * The meta object literal for the '<em><b>Defines</b></em>' reference feature.
4644 * <!-- begin-user-doc -->
4645 * <!-- end-user-doc -->
4646 * @generated
4647 */
4648 EReference CONSTANT_DEFINITION__DEFINES = eINSTANCE.getConstantDefinition_Defines();
4649
4650 /**
4651 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationDefinitionImpl <em>Relation Definition</em>}' class.
4652 * <!-- begin-user-doc -->
4653 * <!-- end-user-doc -->
4654 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationDefinitionImpl
4655 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getRelationDefinition()
4656 * @generated
4657 */
4658 EClass RELATION_DEFINITION = eINSTANCE.getRelationDefinition();
4659
4660 /**
4661 * The meta object literal for the '<em><b>Variables</b></em>' containment reference list feature.
4662 * <!-- begin-user-doc -->
4663 * <!-- end-user-doc -->
4664 * @generated
4665 */
4666 EReference RELATION_DEFINITION__VARIABLES = eINSTANCE.getRelationDefinition_Variables();
4667
4668 /**
4669 * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
4670 * <!-- begin-user-doc -->
4671 * <!-- end-user-doc -->
4672 * @generated
4673 */
4674 EReference RELATION_DEFINITION__VALUE = eINSTANCE.getRelationDefinition_Value();
4675
4676 /**
4677 * The meta object literal for the '<em><b>Defines</b></em>' reference feature.
4678 * <!-- begin-user-doc -->
4679 * <!-- end-user-doc -->
4680 * @generated
4681 */
4682 EReference RELATION_DEFINITION__DEFINES = eINSTANCE.getRelationDefinition_Defines();
4683
4684 /**
4685 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionDefinitionImpl <em>Function Definition</em>}' class.
4686 * <!-- begin-user-doc -->
4687 * <!-- end-user-doc -->
4688 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionDefinitionImpl
4689 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getFunctionDefinition()
4690 * @generated
4691 */
4692 EClass FUNCTION_DEFINITION = eINSTANCE.getFunctionDefinition();
4693
4694 /**
4695 * The meta object literal for the '<em><b>Variable</b></em>' containment reference list feature.
4696 * <!-- begin-user-doc -->
4697 * <!-- end-user-doc -->
4698 * @generated
4699 */
4700 EReference FUNCTION_DEFINITION__VARIABLE = eINSTANCE.getFunctionDefinition_Variable();
4701
4702 /**
4703 * The meta object literal for the '<em><b>Defines</b></em>' reference feature.
4704 * <!-- begin-user-doc -->
4705 * <!-- end-user-doc -->
4706 * @generated
4707 */
4708 EReference FUNCTION_DEFINITION__DEFINES = eINSTANCE.getFunctionDefinition_Defines();
4709
4710 /**
4711 * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
4712 * <!-- begin-user-doc -->
4713 * <!-- end-user-doc -->
4714 * @generated
4715 */
4716 EReference FUNCTION_DEFINITION__VALUE = eINSTANCE.getFunctionDefinition_Value();
4717
4718 /**
4719 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IfThenElseImpl <em>If Then Else</em>}' class.
4720 * <!-- begin-user-doc -->
4721 * <!-- end-user-doc -->
4722 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IfThenElseImpl
4723 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getIfThenElse()
4724 * @generated
4725 */
4726 EClass IF_THEN_ELSE = eINSTANCE.getIfThenElse();
4727
4728 /**
4729 * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
4730 * <!-- begin-user-doc -->
4731 * <!-- end-user-doc -->
4732 * @generated
4733 */
4734 EReference IF_THEN_ELSE__CONDITION = eINSTANCE.getIfThenElse_Condition();
4735
4736 /**
4737 * The meta object literal for the '<em><b>If True</b></em>' containment reference feature.
4738 * <!-- begin-user-doc -->
4739 * <!-- end-user-doc -->
4740 * @generated
4741 */
4742 EReference IF_THEN_ELSE__IF_TRUE = eINSTANCE.getIfThenElse_IfTrue();
4743
4744 /**
4745 * The meta object literal for the '<em><b>If False</b></em>' containment reference feature.
4746 * <!-- begin-user-doc -->
4747 * <!-- end-user-doc -->
4748 * @generated
4749 */
4750 EReference IF_THEN_ELSE__IF_FALSE = eINSTANCE.getIfThenElse_IfFalse();
4751
4752 /**
4753 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ConstantDeclarationImpl <em>Constant Declaration</em>}' class.
4754 * <!-- begin-user-doc -->
4755 * <!-- end-user-doc -->
4756 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ConstantDeclarationImpl
4757 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getConstantDeclaration()
4758 * @generated
4759 */
4760 EClass CONSTANT_DECLARATION = eINSTANCE.getConstantDeclaration();
4761
4762 /**
4763 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationDeclarationImpl <em>Relation Declaration</em>}' class.
4764 * <!-- begin-user-doc -->
4765 * <!-- end-user-doc -->
4766 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationDeclarationImpl
4767 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getRelationDeclaration()
4768 * @generated
4769 */
4770 EClass RELATION_DECLARATION = eINSTANCE.getRelationDeclaration();
4771
4772 /**
4773 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionDeclarationImpl <em>Function Declaration</em>}' class.
4774 * <!-- begin-user-doc -->
4775 * <!-- end-user-doc -->
4776 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionDeclarationImpl
4777 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getFunctionDeclaration()
4778 * @generated
4779 */
4780 EClass FUNCTION_DECLARATION = eINSTANCE.getFunctionDeclaration();
4781
4782 /**
4783 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeDeclarationImpl <em>Type Declaration</em>}' class.
4784 * <!-- begin-user-doc -->
4785 * <!-- end-user-doc -->
4786 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeDeclarationImpl
4787 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getTypeDeclaration()
4788 * @generated
4789 */
4790 EClass TYPE_DECLARATION = eINSTANCE.getTypeDeclaration();
4791
4792 /**
4793 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.UnknownBecauseUninterpretedImpl <em>Unknown Because Uninterpreted</em>}' class.
4794 * <!-- begin-user-doc -->
4795 * <!-- end-user-doc -->
4796 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.UnknownBecauseUninterpretedImpl
4797 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getUnknownBecauseUninterpreted()
4798 * @generated
4799 */
4800 EClass UNKNOWN_BECAUSE_UNINTERPRETED = eINSTANCE.getUnknownBecauseUninterpreted();
4801
4802 /**
4803 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.InstanceOfImpl <em>Instance Of</em>}' class.
4804 * <!-- begin-user-doc -->
4805 * <!-- end-user-doc -->
4806 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.InstanceOfImpl
4807 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl#getInstanceOf()
4808 * @generated
4809 */
4810 EClass INSTANCE_OF = eINSTANCE.getInstanceOf();
4811
4812 /**
4813 * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
4814 * <!-- begin-user-doc -->
4815 * <!-- end-user-doc -->
4816 * @generated
4817 */
4818 EReference INSTANCE_OF__VALUE = eINSTANCE.getInstanceOf_Value();
4819
4820 /**
4821 * The meta object literal for the '<em><b>Range</b></em>' containment reference feature.
4822 * <!-- begin-user-doc -->
4823 * <!-- end-user-doc -->
4824 * @generated
4825 */
4826 EReference INSTANCE_OF__RANGE = eINSTANCE.getInstanceOf_Range();
4827
4828 }
4829
4830} //LogiclanguagePackage
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Minus.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Minus.java
new file mode 100644
index 00000000..569818d5
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Minus.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Minus</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getMinus()
13 * @model
14 * @generated
15 */
16public interface Minus extends IntOperation {
17} // Minus
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Mod.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Mod.java
new file mode 100644
index 00000000..ccd27ec4
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Mod.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Mod</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getMod()
13 * @model
14 * @generated
15 */
16public interface Mod extends IntOperation {
17} // Mod
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/MoreOrEqualThan.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/MoreOrEqualThan.java
new file mode 100644
index 00000000..7217c472
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/MoreOrEqualThan.java
@@ -0,0 +1,76 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>More Or Equal Than</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan#getLeftOperand <em>Left Operand</em>}</li>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan#getRightOperand <em>Right Operand</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getMoreOrEqualThan()
20 * @model
21 * @generated
22 */
23public interface MoreOrEqualThan extends PrimitiveRelation {
24 /**
25 * Returns the value of the '<em><b>Left Operand</b></em>' containment reference.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Left Operand</em>' containment reference isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Left Operand</em>' containment reference.
33 * @see #setLeftOperand(Term)
34 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getMoreOrEqualThan_LeftOperand()
35 * @model containment="true"
36 * @generated
37 */
38 Term getLeftOperand();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan#getLeftOperand <em>Left Operand</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Left Operand</em>' containment reference.
45 * @see #getLeftOperand()
46 * @generated
47 */
48 void setLeftOperand(Term value);
49
50 /**
51 * Returns the value of the '<em><b>Right Operand</b></em>' containment reference.
52 * <!-- begin-user-doc -->
53 * <p>
54 * If the meaning of the '<em>Right Operand</em>' containment reference isn't clear,
55 * there really should be more of a description here...
56 * </p>
57 * <!-- end-user-doc -->
58 * @return the value of the '<em>Right Operand</em>' containment reference.
59 * @see #setRightOperand(Term)
60 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getMoreOrEqualThan_RightOperand()
61 * @model containment="true"
62 * @generated
63 */
64 Term getRightOperand();
65
66 /**
67 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan#getRightOperand <em>Right Operand</em>}' containment reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @param value the new value of the '<em>Right Operand</em>' containment reference.
71 * @see #getRightOperand()
72 * @generated
73 */
74 void setRightOperand(Term value);
75
76} // MoreOrEqualThan
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/MoreThan.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/MoreThan.java
new file mode 100644
index 00000000..d5535067
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/MoreThan.java
@@ -0,0 +1,76 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>More Than</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan#getLeftOperand <em>Left Operand</em>}</li>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan#getRightOperand <em>Right Operand</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getMoreThan()
20 * @model
21 * @generated
22 */
23public interface MoreThan extends PrimitiveRelation {
24 /**
25 * Returns the value of the '<em><b>Left Operand</b></em>' containment reference.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Left Operand</em>' containment reference isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Left Operand</em>' containment reference.
33 * @see #setLeftOperand(Term)
34 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getMoreThan_LeftOperand()
35 * @model containment="true"
36 * @generated
37 */
38 Term getLeftOperand();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan#getLeftOperand <em>Left Operand</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Left Operand</em>' containment reference.
45 * @see #getLeftOperand()
46 * @generated
47 */
48 void setLeftOperand(Term value);
49
50 /**
51 * Returns the value of the '<em><b>Right Operand</b></em>' containment reference.
52 * <!-- begin-user-doc -->
53 * <p>
54 * If the meaning of the '<em>Right Operand</em>' containment reference isn't clear,
55 * there really should be more of a description here...
56 * </p>
57 * <!-- end-user-doc -->
58 * @return the value of the '<em>Right Operand</em>' containment reference.
59 * @see #setRightOperand(Term)
60 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getMoreThan_RightOperand()
61 * @model containment="true"
62 * @generated
63 */
64 Term getRightOperand();
65
66 /**
67 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan#getRightOperand <em>Right Operand</em>}' containment reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @param value the new value of the '<em>Right Operand</em>' containment reference.
71 * @see #getRightOperand()
72 * @generated
73 */
74 void setRightOperand(Term value);
75
76} // MoreThan
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Multiply.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Multiply.java
new file mode 100644
index 00000000..250c7d67
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Multiply.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Multiply</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getMultiply()
13 * @model
14 * @generated
15 */
16public interface Multiply extends IntOperation {
17} // Multiply
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Not.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Not.java
new file mode 100644
index 00000000..71ae52e1
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Not.java
@@ -0,0 +1,49 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Not</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Not#getOperand <em>Operand</em>}</li>
16 * </ul>
17 *
18 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getNot()
19 * @model
20 * @generated
21 */
22public interface Not extends BoolOperation {
23 /**
24 * Returns the value of the '<em><b>Operand</b></em>' containment reference.
25 * <!-- begin-user-doc -->
26 * <p>
27 * If the meaning of the '<em>Operand</em>' containment reference isn't clear,
28 * there really should be more of a description here...
29 * </p>
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Operand</em>' containment reference.
32 * @see #setOperand(Term)
33 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getNot_Operand()
34 * @model containment="true"
35 * @generated
36 */
37 Term getOperand();
38
39 /**
40 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Not#getOperand <em>Operand</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Operand</em>' containment reference.
44 * @see #getOperand()
45 * @generated
46 */
47 void setOperand(Term value);
48
49} // Not
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Or.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Or.java
new file mode 100644
index 00000000..4766b99c
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Or.java
@@ -0,0 +1,40 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Or</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Or#getOperands <em>Operands</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getOr()
20 * @model
21 * @generated
22 */
23public interface Or extends BoolOperation {
24 /**
25 * Returns the value of the '<em><b>Operands</b></em>' containment reference list.
26 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term}.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Operands</em>' containment reference list isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Operands</em>' containment reference list.
34 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getOr_Operands()
35 * @model containment="true"
36 * @generated
37 */
38 EList<Term> getOperands();
39
40} // Or
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Plus.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Plus.java
new file mode 100644
index 00000000..4e0549b0
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Plus.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Plus</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getPlus()
13 * @model
14 * @generated
15 */
16public interface Plus extends IntOperation {
17} // Plus
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/PrimitiveRelation.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/PrimitiveRelation.java
new file mode 100644
index 00000000..0cd10d71
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/PrimitiveRelation.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Primitive Relation</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getPrimitiveRelation()
13 * @model abstract="true"
14 * @generated
15 */
16public interface PrimitiveRelation extends Term {
17} // PrimitiveRelation
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/PrimitiveTypeReference.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/PrimitiveTypeReference.java
new file mode 100644
index 00000000..1f29d975
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/PrimitiveTypeReference.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Primitive Type Reference</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getPrimitiveTypeReference()
13 * @model abstract="true"
14 * @generated
15 */
16public interface PrimitiveTypeReference extends TypeReference {
17} // PrimitiveTypeReference
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/QuantifiedExpression.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/QuantifiedExpression.java
new file mode 100644
index 00000000..f5fdefb8
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/QuantifiedExpression.java
@@ -0,0 +1,67 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Quantified Expression</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression#getQuantifiedVariables <em>Quantified Variables</em>}</li>
17 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression#getExpression <em>Expression</em>}</li>
18 * </ul>
19 *
20 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getQuantifiedExpression()
21 * @model abstract="true"
22 * @generated
23 */
24public interface QuantifiedExpression extends Term {
25 /**
26 * Returns the value of the '<em><b>Quantified Variables</b></em>' containment reference list.
27 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable}.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Quantified Variables</em>' containment reference list isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Quantified Variables</em>' containment reference list.
35 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getQuantifiedExpression_QuantifiedVariables()
36 * @model containment="true"
37 * @generated
38 */
39 EList<Variable> getQuantifiedVariables();
40
41 /**
42 * Returns the value of the '<em><b>Expression</b></em>' containment reference.
43 * <!-- begin-user-doc -->
44 * <p>
45 * If the meaning of the '<em>Expression</em>' containment reference isn't clear,
46 * there really should be more of a description here...
47 * </p>
48 * <!-- end-user-doc -->
49 * @return the value of the '<em>Expression</em>' containment reference.
50 * @see #setExpression(Term)
51 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getQuantifiedExpression_Expression()
52 * @model containment="true"
53 * @generated
54 */
55 Term getExpression();
56
57 /**
58 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression#getExpression <em>Expression</em>}' containment reference.
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @param value the new value of the '<em>Expression</em>' containment reference.
62 * @see #getExpression()
63 * @generated
64 */
65 void setExpression(Term value);
66
67} // QuantifiedExpression
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RealLiteral.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RealLiteral.java
new file mode 100644
index 00000000..88dcb04b
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RealLiteral.java
@@ -0,0 +1,50 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import java.math.BigDecimal;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Real Literal</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral#getValue <em>Value</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getRealLiteral()
20 * @model
21 * @generated
22 */
23public interface RealLiteral extends AtomicTerm {
24 /**
25 * Returns the value of the '<em><b>Value</b></em>' attribute.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Value</em>' attribute isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Value</em>' attribute.
33 * @see #setValue(BigDecimal)
34 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getRealLiteral_Value()
35 * @model
36 * @generated
37 */
38 BigDecimal getValue();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral#getValue <em>Value</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Value</em>' attribute.
45 * @see #getValue()
46 * @generated
47 */
48 void setValue(BigDecimal value);
49
50} // RealLiteral
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RealTypeReference.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RealTypeReference.java
new file mode 100644
index 00000000..d7341f49
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RealTypeReference.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Real Type Reference</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getRealTypeReference()
13 * @model
14 * @generated
15 */
16public interface RealTypeReference extends PrimitiveTypeReference {
17} // RealTypeReference
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Relation.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Relation.java
new file mode 100644
index 00000000..ee74742a
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Relation.java
@@ -0,0 +1,60 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation;
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Relation</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation#getParameters <em>Parameters</em>}</li>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation#getAnnotations <em>Annotations</em>}</li>
19 * </ul>
20 *
21 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getRelation()
22 * @model abstract="true"
23 * @generated
24 */
25public interface Relation extends SymbolicDeclaration {
26 /**
27 * Returns the value of the '<em><b>Parameters</b></em>' containment reference list.
28 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference}.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Parameters</em>' containment reference list isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Parameters</em>' containment reference list.
36 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getRelation_Parameters()
37 * @model containment="true"
38 * @generated
39 */
40 EList<TypeReference> getParameters();
41
42 /**
43 * Returns the value of the '<em><b>Annotations</b></em>' reference list.
44 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation}.
45 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation#getTarget <em>Target</em>}'.
46 * <!-- begin-user-doc -->
47 * <p>
48 * If the meaning of the '<em>Annotations</em>' reference list isn't clear,
49 * there really should be more of a description here...
50 * </p>
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Annotations</em>' reference list.
53 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getRelation_Annotations()
54 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation#getTarget
55 * @model opposite="target"
56 * @generated
57 */
58 EList<RelationAnnotation> getAnnotations();
59
60} // Relation
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RelationDeclaration.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RelationDeclaration.java
new file mode 100644
index 00000000..b3433536
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RelationDeclaration.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Relation Declaration</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getRelationDeclaration()
13 * @model
14 * @generated
15 */
16public interface RelationDeclaration extends Relation {
17} // RelationDeclaration
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RelationDefinition.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RelationDefinition.java
new file mode 100644
index 00000000..e1ef3a08
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RelationDefinition.java
@@ -0,0 +1,94 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Relation Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition#getVariables <em>Variables</em>}</li>
17 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition#getValue <em>Value</em>}</li>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition#getDefines <em>Defines</em>}</li>
19 * </ul>
20 *
21 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getRelationDefinition()
22 * @model
23 * @generated
24 */
25public interface RelationDefinition extends Relation {
26 /**
27 * Returns the value of the '<em><b>Variables</b></em>' containment reference list.
28 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable}.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Variables</em>' containment reference list isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Variables</em>' containment reference list.
36 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getRelationDefinition_Variables()
37 * @model containment="true"
38 * @generated
39 */
40 EList<Variable> getVariables();
41
42 /**
43 * Returns the value of the '<em><b>Value</b></em>' containment reference.
44 * <!-- begin-user-doc -->
45 * <p>
46 * If the meaning of the '<em>Value</em>' containment reference isn't clear,
47 * there really should be more of a description here...
48 * </p>
49 * <!-- end-user-doc -->
50 * @return the value of the '<em>Value</em>' containment reference.
51 * @see #setValue(Term)
52 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getRelationDefinition_Value()
53 * @model containment="true" required="true"
54 * @generated
55 */
56 Term getValue();
57
58 /**
59 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition#getValue <em>Value</em>}' containment reference.
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @param value the new value of the '<em>Value</em>' containment reference.
63 * @see #getValue()
64 * @generated
65 */
66 void setValue(Term value);
67
68 /**
69 * Returns the value of the '<em><b>Defines</b></em>' reference.
70 * <!-- begin-user-doc -->
71 * <p>
72 * If the meaning of the '<em>Defines</em>' reference isn't clear,
73 * there really should be more of a description here...
74 * </p>
75 * <!-- end-user-doc -->
76 * @return the value of the '<em>Defines</em>' reference.
77 * @see #setDefines(RelationDeclaration)
78 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getRelationDefinition_Defines()
79 * @model
80 * @generated
81 */
82 RelationDeclaration getDefines();
83
84 /**
85 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition#getDefines <em>Defines</em>}' reference.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @param value the new value of the '<em>Defines</em>' reference.
89 * @see #getDefines()
90 * @generated
91 */
92 void setDefines(RelationDeclaration value);
93
94} // RelationDefinition
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/SymbolicDeclaration.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/SymbolicDeclaration.java
new file mode 100644
index 00000000..cfb5e382
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/SymbolicDeclaration.java
@@ -0,0 +1,48 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Symbolic Declaration</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicDeclaration#getName <em>Name</em>}</li>
15 * </ul>
16 *
17 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getSymbolicDeclaration()
18 * @model abstract="true"
19 * @generated
20 */
21public interface SymbolicDeclaration extends TermDescription {
22 /**
23 * Returns the value of the '<em><b>Name</b></em>' attribute.
24 * <!-- begin-user-doc -->
25 * <p>
26 * If the meaning of the '<em>Name</em>' attribute list isn't clear,
27 * there really should be more of a description here...
28 * </p>
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Name</em>' attribute.
31 * @see #setName(String)
32 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getSymbolicDeclaration_Name()
33 * @model required="true"
34 * @generated
35 */
36 String getName();
37
38 /**
39 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicDeclaration#getName <em>Name</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Name</em>' attribute.
43 * @see #getName()
44 * @generated
45 */
46 void setName(String value);
47
48} // SymbolicDeclaration
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/SymbolicValue.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/SymbolicValue.java
new file mode 100644
index 00000000..75d0cb07
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/SymbolicValue.java
@@ -0,0 +1,67 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Symbolic Value</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue#getSymbolicReference <em>Symbolic Reference</em>}</li>
17 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue#getParameterSubstitutions <em>Parameter Substitutions</em>}</li>
18 * </ul>
19 *
20 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getSymbolicValue()
21 * @model
22 * @generated
23 */
24public interface SymbolicValue extends Term {
25 /**
26 * Returns the value of the '<em><b>Symbolic Reference</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Symbolic Reference</em>' reference isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Symbolic Reference</em>' reference.
34 * @see #setSymbolicReference(SymbolicDeclaration)
35 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getSymbolicValue_SymbolicReference()
36 * @model
37 * @generated
38 */
39 SymbolicDeclaration getSymbolicReference();
40
41 /**
42 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue#getSymbolicReference <em>Symbolic Reference</em>}' reference.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Symbolic Reference</em>' reference.
46 * @see #getSymbolicReference()
47 * @generated
48 */
49 void setSymbolicReference(SymbolicDeclaration value);
50
51 /**
52 * Returns the value of the '<em><b>Parameter Substitutions</b></em>' containment reference list.
53 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term}.
54 * <!-- begin-user-doc -->
55 * <p>
56 * If the meaning of the '<em>Parameter Substitutions</em>' containment reference list isn't clear,
57 * there really should be more of a description here...
58 * </p>
59 * <!-- end-user-doc -->
60 * @return the value of the '<em>Parameter Substitutions</em>' containment reference list.
61 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getSymbolicValue_ParameterSubstitutions()
62 * @model containment="true"
63 * @generated
64 */
65 EList<Term> getParameterSubstitutions();
66
67} // SymbolicValue
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Term.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Term.java
new file mode 100644
index 00000000..1116484d
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Term.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Term</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getTerm()
13 * @model abstract="true"
14 * @generated
15 */
16public interface Term extends TermDescription {
17} // Term
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TermDescription.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TermDescription.java
new file mode 100644
index 00000000..0815fbce
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TermDescription.java
@@ -0,0 +1,18 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Term Description</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getTermDescription()
14 * @model interface="true" abstract="true"
15 * @generated
16 */
17public interface TermDescription extends EObject {
18} // TermDescription
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Type.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Type.java
new file mode 100644
index 00000000..a8acefd1
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Type.java
@@ -0,0 +1,115 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Type</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#getName <em>Name</em>}</li>
17 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#getSubtypes <em>Subtypes</em>}</li>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#getSupertypes <em>Supertypes</em>}</li>
19 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#isIsAbstract <em>Is Abstract</em>}</li>
20 * </ul>
21 *
22 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getType()
23 * @model abstract="true"
24 * @generated
25 */
26public interface Type extends TypeDescriptor {
27 /**
28 * Returns the value of the '<em><b>Name</b></em>' attribute.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Name</em>' attribute list isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Name</em>' attribute.
36 * @see #setName(String)
37 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getType_Name()
38 * @model required="true"
39 * @generated
40 */
41 String getName();
42
43 /**
44 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#getName <em>Name</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Name</em>' attribute.
48 * @see #getName()
49 * @generated
50 */
51 void setName(String value);
52
53 /**
54 * Returns the value of the '<em><b>Subtypes</b></em>' reference list.
55 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type}.
56 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#getSupertypes <em>Supertypes</em>}'.
57 * <!-- begin-user-doc -->
58 * <p>
59 * If the meaning of the '<em>Subtypes</em>' reference list isn't clear,
60 * there really should be more of a description here...
61 * </p>
62 * <!-- end-user-doc -->
63 * @return the value of the '<em>Subtypes</em>' reference list.
64 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getType_Subtypes()
65 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#getSupertypes
66 * @model opposite="supertypes"
67 * @generated
68 */
69 EList<Type> getSubtypes();
70
71 /**
72 * Returns the value of the '<em><b>Supertypes</b></em>' reference list.
73 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type}.
74 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#getSubtypes <em>Subtypes</em>}'.
75 * <!-- begin-user-doc -->
76 * <p>
77 * If the meaning of the '<em>Supertypes</em>' reference list isn't clear,
78 * there really should be more of a description here...
79 * </p>
80 * <!-- end-user-doc -->
81 * @return the value of the '<em>Supertypes</em>' reference list.
82 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getType_Supertypes()
83 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#getSubtypes
84 * @model opposite="subtypes"
85 * @generated
86 */
87 EList<Type> getSupertypes();
88
89 /**
90 * Returns the value of the '<em><b>Is Abstract</b></em>' attribute.
91 * <!-- begin-user-doc -->
92 * <p>
93 * If the meaning of the '<em>Is Abstract</em>' attribute isn't clear,
94 * there really should be more of a description here...
95 * </p>
96 * <!-- end-user-doc -->
97 * @return the value of the '<em>Is Abstract</em>' attribute.
98 * @see #setIsAbstract(boolean)
99 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getType_IsAbstract()
100 * @model required="true"
101 * @generated
102 */
103 boolean isIsAbstract();
104
105 /**
106 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type#isIsAbstract <em>Is Abstract</em>}' attribute.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @param value the new value of the '<em>Is Abstract</em>' attribute.
110 * @see #isIsAbstract()
111 * @generated
112 */
113 void setIsAbstract(boolean value);
114
115} // Type
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TypeDeclaration.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TypeDeclaration.java
new file mode 100644
index 00000000..35878371
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TypeDeclaration.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Type Declaration</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getTypeDeclaration()
13 * @model
14 * @generated
15 */
16public interface TypeDeclaration extends Type {
17} // TypeDeclaration
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TypeDefinition.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TypeDefinition.java
new file mode 100644
index 00000000..e9a6140a
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TypeDefinition.java
@@ -0,0 +1,69 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Type Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition#getElements <em>Elements</em>}</li>
17 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition#getDefines <em>Defines</em>}</li>
18 * </ul>
19 *
20 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getTypeDefinition()
21 * @model
22 * @generated
23 */
24public interface TypeDefinition extends Type {
25 /**
26 * Returns the value of the '<em><b>Elements</b></em>' reference list.
27 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement}.
28 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement#getDefinedInType <em>Defined In Type</em>}'.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Elements</em>' containment reference list isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Elements</em>' reference list.
36 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getTypeDefinition_Elements()
37 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement#getDefinedInType
38 * @model opposite="definedInType"
39 * @generated
40 */
41 EList<DefinedElement> getElements();
42
43 /**
44 * Returns the value of the '<em><b>Defines</b></em>' reference.
45 * <!-- begin-user-doc -->
46 * <p>
47 * If the meaning of the '<em>Defines</em>' reference isn't clear,
48 * there really should be more of a description here...
49 * </p>
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Defines</em>' reference.
52 * @see #setDefines(TypeDeclaration)
53 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getTypeDefinition_Defines()
54 * @model
55 * @generated
56 */
57 TypeDeclaration getDefines();
58
59 /**
60 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition#getDefines <em>Defines</em>}' reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Defines</em>' reference.
64 * @see #getDefines()
65 * @generated
66 */
67 void setDefines(TypeDeclaration value);
68
69} // TypeDefinition
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TypeDescriptor.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TypeDescriptor.java
new file mode 100644
index 00000000..309ce93e
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TypeDescriptor.java
@@ -0,0 +1,18 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Type Descriptor</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getTypeDescriptor()
14 * @model interface="true" abstract="true"
15 * @generated
16 */
17public interface TypeDescriptor extends EObject {
18} // TypeDescriptor
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TypeReference.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TypeReference.java
new file mode 100644
index 00000000..05fe3713
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/TypeReference.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Type Reference</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getTypeReference()
13 * @model abstract="true"
14 * @generated
15 */
16public interface TypeReference extends TypeDescriptor {
17} // TypeReference
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/UnknownBecauseUninterpreted.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/UnknownBecauseUninterpreted.java
new file mode 100644
index 00000000..cad8fdea
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/UnknownBecauseUninterpreted.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Unknown Because Uninterpreted</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getUnknownBecauseUninterpreted()
13 * @model
14 * @generated
15 */
16public interface UnknownBecauseUninterpreted extends Term {
17} // UnknownBecauseUninterpreted
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Variable.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Variable.java
new file mode 100644
index 00000000..0f9663a9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/Variable.java
@@ -0,0 +1,49 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Variable</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable#getRange <em>Range</em>}</li>
16 * </ul>
17 *
18 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getVariable()
19 * @model
20 * @generated
21 */
22public interface Variable extends SymbolicDeclaration {
23 /**
24 * Returns the value of the '<em><b>Range</b></em>' containment reference.
25 * <!-- begin-user-doc -->
26 * <p>
27 * If the meaning of the '<em>Range</em>' containment reference isn't clear,
28 * there really should be more of a description here...
29 * </p>
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Range</em>' containment reference.
32 * @see #setRange(TypeReference)
33 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getVariable_Range()
34 * @model containment="true" required="true"
35 * @generated
36 */
37 TypeReference getRange();
38
39 /**
40 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable#getRange <em>Range</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Range</em>' containment reference.
44 * @see #getRange()
45 * @generated
46 */
47 void setRange(TypeReference value);
48
49} // Variable
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/AndImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/AndImpl.java
new file mode 100644
index 00000000..1c36b6d6
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/AndImpl.java
@@ -0,0 +1,150 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.And;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>And</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.AndImpl#getOperands <em>Operands</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class AndImpl extends BoolOperationImpl implements And {
35 /**
36 * The cached value of the '{@link #getOperands() <em>Operands</em>}' containment reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getOperands()
40 * @generated
41 * @ordered
42 */
43 protected EList<Term> operands;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected AndImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return LogiclanguagePackage.Literals.AND;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public EList<Term> getOperands() {
70 if (operands == null) {
71 operands = new EObjectContainmentEList<Term>(Term.class, this, LogiclanguagePackage.AND__OPERANDS);
72 }
73 return operands;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @Override
82 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
83 switch (featureID) {
84 case LogiclanguagePackage.AND__OPERANDS:
85 return ((InternalEList<?>)getOperands()).basicRemove(otherEnd, msgs);
86 }
87 return super.eInverseRemove(otherEnd, featureID, msgs);
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 public Object eGet(int featureID, boolean resolve, boolean coreType) {
97 switch (featureID) {
98 case LogiclanguagePackage.AND__OPERANDS:
99 return getOperands();
100 }
101 return super.eGet(featureID, resolve, coreType);
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @SuppressWarnings("unchecked")
110 @Override
111 public void eSet(int featureID, Object newValue) {
112 switch (featureID) {
113 case LogiclanguagePackage.AND__OPERANDS:
114 getOperands().clear();
115 getOperands().addAll((Collection<? extends Term>)newValue);
116 return;
117 }
118 super.eSet(featureID, newValue);
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 public void eUnset(int featureID) {
128 switch (featureID) {
129 case LogiclanguagePackage.AND__OPERANDS:
130 getOperands().clear();
131 return;
132 }
133 super.eUnset(featureID);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public boolean eIsSet(int featureID) {
143 switch (featureID) {
144 case LogiclanguagePackage.AND__OPERANDS:
145 return operands != null && !operands.isEmpty();
146 }
147 return super.eIsSet(featureID);
148 }
149
150} //AndImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/AssertionImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/AssertionImpl.java
new file mode 100644
index 00000000..254f5240
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/AssertionImpl.java
@@ -0,0 +1,303 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation;
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.impl.ENotificationImpl;
21import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
22import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
23import org.eclipse.emf.ecore.util.InternalEList;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model object '<em><b>Assertion</b></em>'.
28 * <!-- end-user-doc -->
29 * <p>
30 * The following features are implemented:
31 * </p>
32 * <ul>
33 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.AssertionImpl#getValue <em>Value</em>}</li>
34 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.AssertionImpl#getName <em>Name</em>}</li>
35 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.AssertionImpl#getAnnotations <em>Annotations</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class AssertionImpl extends MinimalEObjectImpl.Container implements Assertion {
41 /**
42 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getValue()
46 * @generated
47 * @ordered
48 */
49 protected Term value;
50
51 /**
52 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getName()
56 * @generated
57 * @ordered
58 */
59 protected static final String NAME_EDEFAULT = null;
60
61 /**
62 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getName()
66 * @generated
67 * @ordered
68 */
69 protected String name = NAME_EDEFAULT;
70
71 /**
72 * The cached value of the '{@link #getAnnotations() <em>Annotations</em>}' reference list.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @see #getAnnotations()
76 * @generated
77 * @ordered
78 */
79 protected EList<AssertionAnnotation> annotations;
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 protected AssertionImpl() {
87 super();
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 protected EClass eStaticClass() {
97 return LogiclanguagePackage.Literals.ASSERTION;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public Term getValue() {
106 return value;
107 }
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 public NotificationChain basicSetValue(Term newValue, NotificationChain msgs) {
115 Term oldValue = value;
116 value = newValue;
117 if (eNotificationRequired()) {
118 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.ASSERTION__VALUE, oldValue, newValue);
119 if (msgs == null) msgs = notification; else msgs.add(notification);
120 }
121 return msgs;
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 public void setValue(Term newValue) {
130 if (newValue != value) {
131 NotificationChain msgs = null;
132 if (value != null)
133 msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.ASSERTION__VALUE, null, msgs);
134 if (newValue != null)
135 msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.ASSERTION__VALUE, null, msgs);
136 msgs = basicSetValue(newValue, msgs);
137 if (msgs != null) msgs.dispatch();
138 }
139 else if (eNotificationRequired())
140 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.ASSERTION__VALUE, newValue, newValue));
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 public String getName() {
149 return name;
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 public void setName(String newName) {
158 String oldName = name;
159 name = newName;
160 if (eNotificationRequired())
161 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.ASSERTION__NAME, oldName, name));
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 public EList<AssertionAnnotation> getAnnotations() {
170 if (annotations == null) {
171 annotations = new EObjectWithInverseResolvingEList<AssertionAnnotation>(AssertionAnnotation.class, this, LogiclanguagePackage.ASSERTION__ANNOTATIONS, LogicproblemPackage.ASSERTION_ANNOTATION__TARGET);
172 }
173 return annotations;
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 @SuppressWarnings("unchecked")
182 @Override
183 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
184 switch (featureID) {
185 case LogiclanguagePackage.ASSERTION__ANNOTATIONS:
186 return ((InternalEList<InternalEObject>)(InternalEList<?>)getAnnotations()).basicAdd(otherEnd, msgs);
187 }
188 return super.eInverseAdd(otherEnd, featureID, msgs);
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @Override
197 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
198 switch (featureID) {
199 case LogiclanguagePackage.ASSERTION__VALUE:
200 return basicSetValue(null, msgs);
201 case LogiclanguagePackage.ASSERTION__ANNOTATIONS:
202 return ((InternalEList<?>)getAnnotations()).basicRemove(otherEnd, msgs);
203 }
204 return super.eInverseRemove(otherEnd, featureID, msgs);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public Object eGet(int featureID, boolean resolve, boolean coreType) {
214 switch (featureID) {
215 case LogiclanguagePackage.ASSERTION__VALUE:
216 return getValue();
217 case LogiclanguagePackage.ASSERTION__NAME:
218 return getName();
219 case LogiclanguagePackage.ASSERTION__ANNOTATIONS:
220 return getAnnotations();
221 }
222 return super.eGet(featureID, resolve, coreType);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @SuppressWarnings("unchecked")
231 @Override
232 public void eSet(int featureID, Object newValue) {
233 switch (featureID) {
234 case LogiclanguagePackage.ASSERTION__VALUE:
235 setValue((Term)newValue);
236 return;
237 case LogiclanguagePackage.ASSERTION__NAME:
238 setName((String)newValue);
239 return;
240 case LogiclanguagePackage.ASSERTION__ANNOTATIONS:
241 getAnnotations().clear();
242 getAnnotations().addAll((Collection<? extends AssertionAnnotation>)newValue);
243 return;
244 }
245 super.eSet(featureID, newValue);
246 }
247
248 /**
249 * <!-- begin-user-doc -->
250 * <!-- end-user-doc -->
251 * @generated
252 */
253 @Override
254 public void eUnset(int featureID) {
255 switch (featureID) {
256 case LogiclanguagePackage.ASSERTION__VALUE:
257 setValue((Term)null);
258 return;
259 case LogiclanguagePackage.ASSERTION__NAME:
260 setName(NAME_EDEFAULT);
261 return;
262 case LogiclanguagePackage.ASSERTION__ANNOTATIONS:
263 getAnnotations().clear();
264 return;
265 }
266 super.eUnset(featureID);
267 }
268
269 /**
270 * <!-- begin-user-doc -->
271 * <!-- end-user-doc -->
272 * @generated
273 */
274 @Override
275 public boolean eIsSet(int featureID) {
276 switch (featureID) {
277 case LogiclanguagePackage.ASSERTION__VALUE:
278 return value != null;
279 case LogiclanguagePackage.ASSERTION__NAME:
280 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
281 case LogiclanguagePackage.ASSERTION__ANNOTATIONS:
282 return annotations != null && !annotations.isEmpty();
283 }
284 return super.eIsSet(featureID);
285 }
286
287 /**
288 * <!-- begin-user-doc -->
289 * <!-- end-user-doc -->
290 * @generated
291 */
292 @Override
293 public String toString() {
294 if (eIsProxy()) return super.toString();
295
296 StringBuffer result = new StringBuffer(super.toString());
297 result.append(" (name: ");
298 result.append(name);
299 result.append(')');
300 return result.toString();
301 }
302
303} //AssertionImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/AtomicTermImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/AtomicTermImpl.java
new file mode 100644
index 00000000..7d5ec7d8
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/AtomicTermImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.AtomicTerm;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Atomic Term</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class AtomicTermImpl extends TermImpl implements AtomicTerm {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected AtomicTermImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.ATOMIC_TERM;
35 }
36
37} //AtomicTermImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/BoolLiteralImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/BoolLiteralImpl.java
new file mode 100644
index 00000000..ea7693bb
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/BoolLiteralImpl.java
@@ -0,0 +1,162 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolLiteral;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Bool Literal</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.BoolLiteralImpl#isValue <em>Value</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class BoolLiteralImpl extends AtomicTermImpl implements BoolLiteral {
28 /**
29 * The default value of the '{@link #isValue() <em>Value</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #isValue()
33 * @generated
34 * @ordered
35 */
36 protected static final boolean VALUE_EDEFAULT = false;
37
38 /**
39 * The cached value of the '{@link #isValue() <em>Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #isValue()
43 * @generated
44 * @ordered
45 */
46 protected boolean value = VALUE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected BoolLiteralImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return LogiclanguagePackage.Literals.BOOL_LITERAL;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public boolean isValue() {
73 return value;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setValue(boolean newValue) {
82 boolean oldValue = value;
83 value = newValue;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.BOOL_LITERAL__VALUE, oldValue, value));
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 @Override
94 public Object eGet(int featureID, boolean resolve, boolean coreType) {
95 switch (featureID) {
96 case LogiclanguagePackage.BOOL_LITERAL__VALUE:
97 return isValue();
98 }
99 return super.eGet(featureID, resolve, coreType);
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 @Override
108 public void eSet(int featureID, Object newValue) {
109 switch (featureID) {
110 case LogiclanguagePackage.BOOL_LITERAL__VALUE:
111 setValue((Boolean)newValue);
112 return;
113 }
114 super.eSet(featureID, newValue);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public void eUnset(int featureID) {
124 switch (featureID) {
125 case LogiclanguagePackage.BOOL_LITERAL__VALUE:
126 setValue(VALUE_EDEFAULT);
127 return;
128 }
129 super.eUnset(featureID);
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public boolean eIsSet(int featureID) {
139 switch (featureID) {
140 case LogiclanguagePackage.BOOL_LITERAL__VALUE:
141 return value != VALUE_EDEFAULT;
142 }
143 return super.eIsSet(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public String toString() {
153 if (eIsProxy()) return super.toString();
154
155 StringBuffer result = new StringBuffer(super.toString());
156 result.append(" (value: ");
157 result.append(value);
158 result.append(')');
159 return result.toString();
160 }
161
162} //BoolLiteralImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/BoolOperationImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/BoolOperationImpl.java
new file mode 100644
index 00000000..bfe635ec
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/BoolOperationImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolOperation;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Bool Operation</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class BoolOperationImpl extends TermImpl implements BoolOperation {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected BoolOperationImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.BOOL_OPERATION;
35 }
36
37} //BoolOperationImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/BoolTypeReferenceImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/BoolTypeReferenceImpl.java
new file mode 100644
index 00000000..66aec0e6
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/BoolTypeReferenceImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolTypeReference;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Bool Type Reference</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class BoolTypeReferenceImpl extends PrimitiveTypeReferenceImpl implements BoolTypeReference {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected BoolTypeReferenceImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.BOOL_TYPE_REFERENCE;
35 }
36
37} //BoolTypeReferenceImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ComplexTypeReferenceImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ComplexTypeReferenceImpl.java
new file mode 100644
index 00000000..4473b0be
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ComplexTypeReferenceImpl.java
@@ -0,0 +1,156 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type;
8
9import org.eclipse.emf.common.notify.Notification;
10
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject;
13
14import org.eclipse.emf.ecore.impl.ENotificationImpl;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Complex Type Reference</b></em>'.
19 * <!-- end-user-doc -->
20 * <p>
21 * The following features are implemented:
22 * </p>
23 * <ul>
24 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ComplexTypeReferenceImpl#getReferred <em>Referred</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class ComplexTypeReferenceImpl extends TypeReferenceImpl implements ComplexTypeReference {
30 /**
31 * The cached value of the '{@link #getReferred() <em>Referred</em>}' reference.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getReferred()
35 * @generated
36 * @ordered
37 */
38 protected Type referred;
39
40 /**
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @generated
44 */
45 protected ComplexTypeReferenceImpl() {
46 super();
47 }
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 @Override
55 protected EClass eStaticClass() {
56 return LogiclanguagePackage.Literals.COMPLEX_TYPE_REFERENCE;
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 public Type getReferred() {
65 if (referred != null && referred.eIsProxy()) {
66 InternalEObject oldReferred = (InternalEObject)referred;
67 referred = (Type)eResolveProxy(oldReferred);
68 if (referred != oldReferred) {
69 if (eNotificationRequired())
70 eNotify(new ENotificationImpl(this, Notification.RESOLVE, LogiclanguagePackage.COMPLEX_TYPE_REFERENCE__REFERRED, oldReferred, referred));
71 }
72 }
73 return referred;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public Type basicGetReferred() {
82 return referred;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 public void setReferred(Type newReferred) {
91 Type oldReferred = referred;
92 referred = newReferred;
93 if (eNotificationRequired())
94 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.COMPLEX_TYPE_REFERENCE__REFERRED, oldReferred, referred));
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public Object eGet(int featureID, boolean resolve, boolean coreType) {
104 switch (featureID) {
105 case LogiclanguagePackage.COMPLEX_TYPE_REFERENCE__REFERRED:
106 if (resolve) return getReferred();
107 return basicGetReferred();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue) {
119 switch (featureID) {
120 case LogiclanguagePackage.COMPLEX_TYPE_REFERENCE__REFERRED:
121 setReferred((Type)newValue);
122 return;
123 }
124 super.eSet(featureID, newValue);
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 @Override
133 public void eUnset(int featureID) {
134 switch (featureID) {
135 case LogiclanguagePackage.COMPLEX_TYPE_REFERENCE__REFERRED:
136 setReferred((Type)null);
137 return;
138 }
139 super.eUnset(featureID);
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public boolean eIsSet(int featureID) {
149 switch (featureID) {
150 case LogiclanguagePackage.COMPLEX_TYPE_REFERENCE__REFERRED:
151 return referred != null;
152 }
153 return super.eIsSet(featureID);
154 }
155
156} //ComplexTypeReferenceImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ConstantDeclarationImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ConstantDeclarationImpl.java
new file mode 100644
index 00000000..ba9094a0
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ConstantDeclarationImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Constant Declaration</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class ConstantDeclarationImpl extends ConstantImpl implements ConstantDeclaration {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected ConstantDeclarationImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.CONSTANT_DECLARATION;
35 }
36
37} //ConstantDeclarationImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ConstantDefinitionImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ConstantDefinitionImpl.java
new file mode 100644
index 00000000..1114508e
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ConstantDefinitionImpl.java
@@ -0,0 +1,236 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Constant Definition</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ConstantDefinitionImpl#getValue <em>Value</em>}</li>
27 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ConstantDefinitionImpl#getDefines <em>Defines</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class ConstantDefinitionImpl extends ConstantImpl implements ConstantDefinition {
33 /**
34 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getValue()
38 * @generated
39 * @ordered
40 */
41 protected Term value;
42
43 /**
44 * The cached value of the '{@link #getDefines() <em>Defines</em>}' reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getDefines()
48 * @generated
49 * @ordered
50 */
51 protected ConstantDeclaration defines;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 protected ConstantDefinitionImpl() {
59 super();
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 @Override
68 protected EClass eStaticClass() {
69 return LogiclanguagePackage.Literals.CONSTANT_DEFINITION;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 public Term getValue() {
78 return value;
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 public NotificationChain basicSetValue(Term newValue, NotificationChain msgs) {
87 Term oldValue = value;
88 value = newValue;
89 if (eNotificationRequired()) {
90 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.CONSTANT_DEFINITION__VALUE, oldValue, newValue);
91 if (msgs == null) msgs = notification; else msgs.add(notification);
92 }
93 return msgs;
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 public void setValue(Term newValue) {
102 if (newValue != value) {
103 NotificationChain msgs = null;
104 if (value != null)
105 msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.CONSTANT_DEFINITION__VALUE, null, msgs);
106 if (newValue != null)
107 msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.CONSTANT_DEFINITION__VALUE, null, msgs);
108 msgs = basicSetValue(newValue, msgs);
109 if (msgs != null) msgs.dispatch();
110 }
111 else if (eNotificationRequired())
112 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.CONSTANT_DEFINITION__VALUE, newValue, newValue));
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 public ConstantDeclaration getDefines() {
121 if (defines != null && defines.eIsProxy()) {
122 InternalEObject oldDefines = (InternalEObject)defines;
123 defines = (ConstantDeclaration)eResolveProxy(oldDefines);
124 if (defines != oldDefines) {
125 if (eNotificationRequired())
126 eNotify(new ENotificationImpl(this, Notification.RESOLVE, LogiclanguagePackage.CONSTANT_DEFINITION__DEFINES, oldDefines, defines));
127 }
128 }
129 return defines;
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 public ConstantDeclaration basicGetDefines() {
138 return defines;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 public void setDefines(ConstantDeclaration newDefines) {
147 ConstantDeclaration oldDefines = defines;
148 defines = newDefines;
149 if (eNotificationRequired())
150 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.CONSTANT_DEFINITION__DEFINES, oldDefines, defines));
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
160 switch (featureID) {
161 case LogiclanguagePackage.CONSTANT_DEFINITION__VALUE:
162 return basicSetValue(null, msgs);
163 }
164 return super.eInverseRemove(otherEnd, featureID, msgs);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public Object eGet(int featureID, boolean resolve, boolean coreType) {
174 switch (featureID) {
175 case LogiclanguagePackage.CONSTANT_DEFINITION__VALUE:
176 return getValue();
177 case LogiclanguagePackage.CONSTANT_DEFINITION__DEFINES:
178 if (resolve) return getDefines();
179 return basicGetDefines();
180 }
181 return super.eGet(featureID, resolve, coreType);
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @Override
190 public void eSet(int featureID, Object newValue) {
191 switch (featureID) {
192 case LogiclanguagePackage.CONSTANT_DEFINITION__VALUE:
193 setValue((Term)newValue);
194 return;
195 case LogiclanguagePackage.CONSTANT_DEFINITION__DEFINES:
196 setDefines((ConstantDeclaration)newValue);
197 return;
198 }
199 super.eSet(featureID, newValue);
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 @Override
208 public void eUnset(int featureID) {
209 switch (featureID) {
210 case LogiclanguagePackage.CONSTANT_DEFINITION__VALUE:
211 setValue((Term)null);
212 return;
213 case LogiclanguagePackage.CONSTANT_DEFINITION__DEFINES:
214 setDefines((ConstantDeclaration)null);
215 return;
216 }
217 super.eUnset(featureID);
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public boolean eIsSet(int featureID) {
227 switch (featureID) {
228 case LogiclanguagePackage.CONSTANT_DEFINITION__VALUE:
229 return value != null;
230 case LogiclanguagePackage.CONSTANT_DEFINITION__DEFINES:
231 return defines != null;
232 }
233 return super.eIsSet(featureID);
234 }
235
236} //ConstantDefinitionImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ConstantImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ConstantImpl.java
new file mode 100644
index 00000000..7c34f669
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ConstantImpl.java
@@ -0,0 +1,233 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference;
8
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ConstantAnnotation;
10import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
11import java.util.Collection;
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16import org.eclipse.emf.ecore.EClass;
17import org.eclipse.emf.ecore.InternalEObject;
18
19import org.eclipse.emf.ecore.impl.ENotificationImpl;
20import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
21import org.eclipse.emf.ecore.util.InternalEList;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Constant</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ConstantImpl#getType <em>Type</em>}</li>
32 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ConstantImpl#getAnnotations <em>Annotations</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public abstract class ConstantImpl extends SymbolicDeclarationImpl implements Constant {
38 /**
39 * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getType()
43 * @generated
44 * @ordered
45 */
46 protected TypeReference type;
47
48 /**
49 * The cached value of the '{@link #getAnnotations() <em>Annotations</em>}' reference list.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @see #getAnnotations()
53 * @generated
54 * @ordered
55 */
56 protected EList<ConstantAnnotation> annotations;
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 protected ConstantImpl() {
64 super();
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 @Override
73 protected EClass eStaticClass() {
74 return LogiclanguagePackage.Literals.CONSTANT;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public TypeReference getType() {
83 return type;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public NotificationChain basicSetType(TypeReference newType, NotificationChain msgs) {
92 TypeReference oldType = type;
93 type = newType;
94 if (eNotificationRequired()) {
95 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.CONSTANT__TYPE, oldType, newType);
96 if (msgs == null) msgs = notification; else msgs.add(notification);
97 }
98 return msgs;
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 public void setType(TypeReference newType) {
107 if (newType != type) {
108 NotificationChain msgs = null;
109 if (type != null)
110 msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.CONSTANT__TYPE, null, msgs);
111 if (newType != null)
112 msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.CONSTANT__TYPE, null, msgs);
113 msgs = basicSetType(newType, msgs);
114 if (msgs != null) msgs.dispatch();
115 }
116 else if (eNotificationRequired())
117 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.CONSTANT__TYPE, newType, newType));
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 public EList<ConstantAnnotation> getAnnotations() {
126 if (annotations == null) {
127 annotations = new EObjectWithInverseResolvingEList<ConstantAnnotation>(ConstantAnnotation.class, this, LogiclanguagePackage.CONSTANT__ANNOTATIONS, LogicproblemPackage.CONSTANT_ANNOTATION__TARGET);
128 }
129 return annotations;
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @SuppressWarnings("unchecked")
138 @Override
139 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
140 switch (featureID) {
141 case LogiclanguagePackage.CONSTANT__ANNOTATIONS:
142 return ((InternalEList<InternalEObject>)(InternalEList<?>)getAnnotations()).basicAdd(otherEnd, msgs);
143 }
144 return super.eInverseAdd(otherEnd, featureID, msgs);
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
154 switch (featureID) {
155 case LogiclanguagePackage.CONSTANT__TYPE:
156 return basicSetType(null, msgs);
157 case LogiclanguagePackage.CONSTANT__ANNOTATIONS:
158 return ((InternalEList<?>)getAnnotations()).basicRemove(otherEnd, msgs);
159 }
160 return super.eInverseRemove(otherEnd, featureID, msgs);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public Object eGet(int featureID, boolean resolve, boolean coreType) {
170 switch (featureID) {
171 case LogiclanguagePackage.CONSTANT__TYPE:
172 return getType();
173 case LogiclanguagePackage.CONSTANT__ANNOTATIONS:
174 return getAnnotations();
175 }
176 return super.eGet(featureID, resolve, coreType);
177 }
178
179 /**
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 */
184 @SuppressWarnings("unchecked")
185 @Override
186 public void eSet(int featureID, Object newValue) {
187 switch (featureID) {
188 case LogiclanguagePackage.CONSTANT__TYPE:
189 setType((TypeReference)newValue);
190 return;
191 case LogiclanguagePackage.CONSTANT__ANNOTATIONS:
192 getAnnotations().clear();
193 getAnnotations().addAll((Collection<? extends ConstantAnnotation>)newValue);
194 return;
195 }
196 super.eSet(featureID, newValue);
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 @Override
205 public void eUnset(int featureID) {
206 switch (featureID) {
207 case LogiclanguagePackage.CONSTANT__TYPE:
208 setType((TypeReference)null);
209 return;
210 case LogiclanguagePackage.CONSTANT__ANNOTATIONS:
211 getAnnotations().clear();
212 return;
213 }
214 super.eUnset(featureID);
215 }
216
217 /**
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 @Override
223 public boolean eIsSet(int featureID) {
224 switch (featureID) {
225 case LogiclanguagePackage.CONSTANT__TYPE:
226 return type != null;
227 case LogiclanguagePackage.CONSTANT__ANNOTATIONS:
228 return annotations != null && !annotations.isEmpty();
229 }
230 return super.eIsSet(featureID);
231 }
232
233} //ConstantImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/DefinedElementImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/DefinedElementImpl.java
new file mode 100644
index 00000000..50bdb003
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/DefinedElementImpl.java
@@ -0,0 +1,161 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition;
9import java.util.Collection;
10import org.eclipse.emf.common.notify.NotificationChain;
11import org.eclipse.emf.common.util.EList;
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
15import org.eclipse.emf.ecore.util.InternalEList;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Defined Element</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.DefinedElementImpl#getDefinedInType <em>Defined In Type</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class DefinedElementImpl extends SymbolicDeclarationImpl implements DefinedElement {
31 /**
32 * The cached value of the '{@link #getDefinedInType() <em>Defined In Type</em>}' reference list.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getDefinedInType()
36 * @generated
37 * @ordered
38 */
39 protected EList<TypeDefinition> definedInType;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected DefinedElementImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return LogiclanguagePackage.Literals.DEFINED_ELEMENT;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 public EList<TypeDefinition> getDefinedInType() {
66 if (definedInType == null) {
67 definedInType = new EObjectWithInverseResolvingEList.ManyInverse<TypeDefinition>(TypeDefinition.class, this, LogiclanguagePackage.DEFINED_ELEMENT__DEFINED_IN_TYPE, LogiclanguagePackage.TYPE_DEFINITION__ELEMENTS);
68 }
69 return definedInType;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @SuppressWarnings("unchecked")
78 @Override
79 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
80 switch (featureID) {
81 case LogiclanguagePackage.DEFINED_ELEMENT__DEFINED_IN_TYPE:
82 return ((InternalEList<InternalEObject>)(InternalEList<?>)getDefinedInType()).basicAdd(otherEnd, msgs);
83 }
84 return super.eInverseAdd(otherEnd, featureID, msgs);
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 @Override
93 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
94 switch (featureID) {
95 case LogiclanguagePackage.DEFINED_ELEMENT__DEFINED_IN_TYPE:
96 return ((InternalEList<?>)getDefinedInType()).basicRemove(otherEnd, msgs);
97 }
98 return super.eInverseRemove(otherEnd, featureID, msgs);
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 @Override
107 public Object eGet(int featureID, boolean resolve, boolean coreType) {
108 switch (featureID) {
109 case LogiclanguagePackage.DEFINED_ELEMENT__DEFINED_IN_TYPE:
110 return getDefinedInType();
111 }
112 return super.eGet(featureID, resolve, coreType);
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @SuppressWarnings("unchecked")
121 @Override
122 public void eSet(int featureID, Object newValue) {
123 switch (featureID) {
124 case LogiclanguagePackage.DEFINED_ELEMENT__DEFINED_IN_TYPE:
125 getDefinedInType().clear();
126 getDefinedInType().addAll((Collection<? extends TypeDefinition>)newValue);
127 return;
128 }
129 super.eSet(featureID, newValue);
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public void eUnset(int featureID) {
139 switch (featureID) {
140 case LogiclanguagePackage.DEFINED_ELEMENT__DEFINED_IN_TYPE:
141 getDefinedInType().clear();
142 return;
143 }
144 super.eUnset(featureID);
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public boolean eIsSet(int featureID) {
154 switch (featureID) {
155 case LogiclanguagePackage.DEFINED_ELEMENT__DEFINED_IN_TYPE:
156 return definedInType != null && !definedInType.isEmpty();
157 }
158 return super.eIsSet(featureID);
159 }
160
161} //DefinedElementImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/DistinctImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/DistinctImpl.java
new file mode 100644
index 00000000..04636b3d
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/DistinctImpl.java
@@ -0,0 +1,150 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Distinct;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Distinct</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.DistinctImpl#getOperands <em>Operands</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class DistinctImpl extends PrimitiveRelationImpl implements Distinct {
35 /**
36 * The cached value of the '{@link #getOperands() <em>Operands</em>}' containment reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getOperands()
40 * @generated
41 * @ordered
42 */
43 protected EList<Term> operands;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected DistinctImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return LogiclanguagePackage.Literals.DISTINCT;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public EList<Term> getOperands() {
70 if (operands == null) {
71 operands = new EObjectContainmentEList<Term>(Term.class, this, LogiclanguagePackage.DISTINCT__OPERANDS);
72 }
73 return operands;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @Override
82 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
83 switch (featureID) {
84 case LogiclanguagePackage.DISTINCT__OPERANDS:
85 return ((InternalEList<?>)getOperands()).basicRemove(otherEnd, msgs);
86 }
87 return super.eInverseRemove(otherEnd, featureID, msgs);
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 public Object eGet(int featureID, boolean resolve, boolean coreType) {
97 switch (featureID) {
98 case LogiclanguagePackage.DISTINCT__OPERANDS:
99 return getOperands();
100 }
101 return super.eGet(featureID, resolve, coreType);
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @SuppressWarnings("unchecked")
110 @Override
111 public void eSet(int featureID, Object newValue) {
112 switch (featureID) {
113 case LogiclanguagePackage.DISTINCT__OPERANDS:
114 getOperands().clear();
115 getOperands().addAll((Collection<? extends Term>)newValue);
116 return;
117 }
118 super.eSet(featureID, newValue);
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 public void eUnset(int featureID) {
128 switch (featureID) {
129 case LogiclanguagePackage.DISTINCT__OPERANDS:
130 getOperands().clear();
131 return;
132 }
133 super.eUnset(featureID);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public boolean eIsSet(int featureID) {
143 switch (featureID) {
144 case LogiclanguagePackage.DISTINCT__OPERANDS:
145 return operands != null && !operands.isEmpty();
146 }
147 return super.eIsSet(featureID);
148 }
149
150} //DistinctImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/DivisonImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/DivisonImpl.java
new file mode 100644
index 00000000..0ce40588
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/DivisonImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Divison;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Divison</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class DivisonImpl extends IntOperationImpl implements Divison {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected DivisonImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.DIVISON;
35 }
36
37} //DivisonImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/EqualsImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/EqualsImpl.java
new file mode 100644
index 00000000..186f2ee6
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/EqualsImpl.java
@@ -0,0 +1,241 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Equals</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.EqualsImpl#getLeftOperand <em>Left Operand</em>}</li>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.EqualsImpl#getRightOperand <em>Right Operand</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class EqualsImpl extends PrimitiveRelationImpl implements Equals {
32 /**
33 * The cached value of the '{@link #getLeftOperand() <em>Left Operand</em>}' containment reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getLeftOperand()
37 * @generated
38 * @ordered
39 */
40 protected Term leftOperand;
41
42 /**
43 * The cached value of the '{@link #getRightOperand() <em>Right Operand</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getRightOperand()
47 * @generated
48 * @ordered
49 */
50 protected Term rightOperand;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected EqualsImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return LogiclanguagePackage.Literals.EQUALS;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public Term getLeftOperand() {
77 return leftOperand;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public NotificationChain basicSetLeftOperand(Term newLeftOperand, NotificationChain msgs) {
86 Term oldLeftOperand = leftOperand;
87 leftOperand = newLeftOperand;
88 if (eNotificationRequired()) {
89 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.EQUALS__LEFT_OPERAND, oldLeftOperand, newLeftOperand);
90 if (msgs == null) msgs = notification; else msgs.add(notification);
91 }
92 return msgs;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 public void setLeftOperand(Term newLeftOperand) {
101 if (newLeftOperand != leftOperand) {
102 NotificationChain msgs = null;
103 if (leftOperand != null)
104 msgs = ((InternalEObject)leftOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.EQUALS__LEFT_OPERAND, null, msgs);
105 if (newLeftOperand != null)
106 msgs = ((InternalEObject)newLeftOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.EQUALS__LEFT_OPERAND, null, msgs);
107 msgs = basicSetLeftOperand(newLeftOperand, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.EQUALS__LEFT_OPERAND, newLeftOperand, newLeftOperand));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 public Term getRightOperand() {
120 return rightOperand;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public NotificationChain basicSetRightOperand(Term newRightOperand, NotificationChain msgs) {
129 Term oldRightOperand = rightOperand;
130 rightOperand = newRightOperand;
131 if (eNotificationRequired()) {
132 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.EQUALS__RIGHT_OPERAND, oldRightOperand, newRightOperand);
133 if (msgs == null) msgs = notification; else msgs.add(notification);
134 }
135 return msgs;
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 public void setRightOperand(Term newRightOperand) {
144 if (newRightOperand != rightOperand) {
145 NotificationChain msgs = null;
146 if (rightOperand != null)
147 msgs = ((InternalEObject)rightOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.EQUALS__RIGHT_OPERAND, null, msgs);
148 if (newRightOperand != null)
149 msgs = ((InternalEObject)newRightOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.EQUALS__RIGHT_OPERAND, null, msgs);
150 msgs = basicSetRightOperand(newRightOperand, msgs);
151 if (msgs != null) msgs.dispatch();
152 }
153 else if (eNotificationRequired())
154 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.EQUALS__RIGHT_OPERAND, newRightOperand, newRightOperand));
155 }
156
157 /**
158 * <!-- begin-user-doc -->
159 * <!-- end-user-doc -->
160 * @generated
161 */
162 @Override
163 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
164 switch (featureID) {
165 case LogiclanguagePackage.EQUALS__LEFT_OPERAND:
166 return basicSetLeftOperand(null, msgs);
167 case LogiclanguagePackage.EQUALS__RIGHT_OPERAND:
168 return basicSetRightOperand(null, msgs);
169 }
170 return super.eInverseRemove(otherEnd, featureID, msgs);
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public Object eGet(int featureID, boolean resolve, boolean coreType) {
180 switch (featureID) {
181 case LogiclanguagePackage.EQUALS__LEFT_OPERAND:
182 return getLeftOperand();
183 case LogiclanguagePackage.EQUALS__RIGHT_OPERAND:
184 return getRightOperand();
185 }
186 return super.eGet(featureID, resolve, coreType);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public void eSet(int featureID, Object newValue) {
196 switch (featureID) {
197 case LogiclanguagePackage.EQUALS__LEFT_OPERAND:
198 setLeftOperand((Term)newValue);
199 return;
200 case LogiclanguagePackage.EQUALS__RIGHT_OPERAND:
201 setRightOperand((Term)newValue);
202 return;
203 }
204 super.eSet(featureID, newValue);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eUnset(int featureID) {
214 switch (featureID) {
215 case LogiclanguagePackage.EQUALS__LEFT_OPERAND:
216 setLeftOperand((Term)null);
217 return;
218 case LogiclanguagePackage.EQUALS__RIGHT_OPERAND:
219 setRightOperand((Term)null);
220 return;
221 }
222 super.eUnset(featureID);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public boolean eIsSet(int featureID) {
232 switch (featureID) {
233 case LogiclanguagePackage.EQUALS__LEFT_OPERAND:
234 return leftOperand != null;
235 case LogiclanguagePackage.EQUALS__RIGHT_OPERAND:
236 return rightOperand != null;
237 }
238 return super.eIsSet(featureID);
239 }
240
241} //EqualsImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ExistsImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ExistsImpl.java
new file mode 100644
index 00000000..b242cd7a
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ExistsImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Exists;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Exists</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class ExistsImpl extends QuantifiedExpressionImpl implements Exists {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected ExistsImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.EXISTS;
35 }
36
37} //ExistsImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ForallImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ForallImpl.java
new file mode 100644
index 00000000..032d104f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ForallImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Forall;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Forall</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class ForallImpl extends QuantifiedExpressionImpl implements Forall {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected ForallImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.FORALL;
35 }
36
37} //ForallImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/FunctionDeclarationImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/FunctionDeclarationImpl.java
new file mode 100644
index 00000000..4e683133
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/FunctionDeclarationImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Function Declaration</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class FunctionDeclarationImpl extends FunctionImpl implements FunctionDeclaration {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected FunctionDeclarationImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.FUNCTION_DECLARATION;
35 }
36
37} //FunctionDeclarationImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/FunctionDefinitionImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/FunctionDefinitionImpl.java
new file mode 100644
index 00000000..0f14289a
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/FunctionDefinitionImpl.java
@@ -0,0 +1,278 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable;
10
11import java.util.Collection;
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19import org.eclipse.emf.ecore.impl.ENotificationImpl;
20import org.eclipse.emf.ecore.util.EObjectContainmentEList;
21import org.eclipse.emf.ecore.util.InternalEList;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Function Definition</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionDefinitionImpl#getVariable <em>Variable</em>}</li>
32 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionDefinitionImpl#getDefines <em>Defines</em>}</li>
33 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionDefinitionImpl#getValue <em>Value</em>}</li>
34 * </ul>
35 *
36 * @generated
37 */
38public class FunctionDefinitionImpl extends FunctionImpl implements FunctionDefinition {
39 /**
40 * The cached value of the '{@link #getVariable() <em>Variable</em>}' containment reference list.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getVariable()
44 * @generated
45 * @ordered
46 */
47 protected EList<Variable> variable;
48
49 /**
50 * The cached value of the '{@link #getDefines() <em>Defines</em>}' reference.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #getDefines()
54 * @generated
55 * @ordered
56 */
57 protected FunctionDeclaration defines;
58
59 /**
60 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see #getValue()
64 * @generated
65 * @ordered
66 */
67 protected Term value;
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 protected FunctionDefinitionImpl() {
75 super();
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 protected EClass eStaticClass() {
85 return LogiclanguagePackage.Literals.FUNCTION_DEFINITION;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public EList<Variable> getVariable() {
94 if (variable == null) {
95 variable = new EObjectContainmentEList<Variable>(Variable.class, this, LogiclanguagePackage.FUNCTION_DEFINITION__VARIABLE);
96 }
97 return variable;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public FunctionDeclaration getDefines() {
106 if (defines != null && defines.eIsProxy()) {
107 InternalEObject oldDefines = (InternalEObject)defines;
108 defines = (FunctionDeclaration)eResolveProxy(oldDefines);
109 if (defines != oldDefines) {
110 if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.RESOLVE, LogiclanguagePackage.FUNCTION_DEFINITION__DEFINES, oldDefines, defines));
112 }
113 }
114 return defines;
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 public FunctionDeclaration basicGetDefines() {
123 return defines;
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 public void setDefines(FunctionDeclaration newDefines) {
132 FunctionDeclaration oldDefines = defines;
133 defines = newDefines;
134 if (eNotificationRequired())
135 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.FUNCTION_DEFINITION__DEFINES, oldDefines, defines));
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 public Term getValue() {
144 return value;
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 public NotificationChain basicSetValue(Term newValue, NotificationChain msgs) {
153 Term oldValue = value;
154 value = newValue;
155 if (eNotificationRequired()) {
156 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.FUNCTION_DEFINITION__VALUE, oldValue, newValue);
157 if (msgs == null) msgs = notification; else msgs.add(notification);
158 }
159 return msgs;
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 public void setValue(Term newValue) {
168 if (newValue != value) {
169 NotificationChain msgs = null;
170 if (value != null)
171 msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.FUNCTION_DEFINITION__VALUE, null, msgs);
172 if (newValue != null)
173 msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.FUNCTION_DEFINITION__VALUE, null, msgs);
174 msgs = basicSetValue(newValue, msgs);
175 if (msgs != null) msgs.dispatch();
176 }
177 else if (eNotificationRequired())
178 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.FUNCTION_DEFINITION__VALUE, newValue, newValue));
179 }
180
181 /**
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 */
186 @Override
187 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
188 switch (featureID) {
189 case LogiclanguagePackage.FUNCTION_DEFINITION__VARIABLE:
190 return ((InternalEList<?>)getVariable()).basicRemove(otherEnd, msgs);
191 case LogiclanguagePackage.FUNCTION_DEFINITION__VALUE:
192 return basicSetValue(null, msgs);
193 }
194 return super.eInverseRemove(otherEnd, featureID, msgs);
195 }
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 @Override
203 public Object eGet(int featureID, boolean resolve, boolean coreType) {
204 switch (featureID) {
205 case LogiclanguagePackage.FUNCTION_DEFINITION__VARIABLE:
206 return getVariable();
207 case LogiclanguagePackage.FUNCTION_DEFINITION__DEFINES:
208 if (resolve) return getDefines();
209 return basicGetDefines();
210 case LogiclanguagePackage.FUNCTION_DEFINITION__VALUE:
211 return getValue();
212 }
213 return super.eGet(featureID, resolve, coreType);
214 }
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 @SuppressWarnings("unchecked")
222 @Override
223 public void eSet(int featureID, Object newValue) {
224 switch (featureID) {
225 case LogiclanguagePackage.FUNCTION_DEFINITION__VARIABLE:
226 getVariable().clear();
227 getVariable().addAll((Collection<? extends Variable>)newValue);
228 return;
229 case LogiclanguagePackage.FUNCTION_DEFINITION__DEFINES:
230 setDefines((FunctionDeclaration)newValue);
231 return;
232 case LogiclanguagePackage.FUNCTION_DEFINITION__VALUE:
233 setValue((Term)newValue);
234 return;
235 }
236 super.eSet(featureID, newValue);
237 }
238
239 /**
240 * <!-- begin-user-doc -->
241 * <!-- end-user-doc -->
242 * @generated
243 */
244 @Override
245 public void eUnset(int featureID) {
246 switch (featureID) {
247 case LogiclanguagePackage.FUNCTION_DEFINITION__VARIABLE:
248 getVariable().clear();
249 return;
250 case LogiclanguagePackage.FUNCTION_DEFINITION__DEFINES:
251 setDefines((FunctionDeclaration)null);
252 return;
253 case LogiclanguagePackage.FUNCTION_DEFINITION__VALUE:
254 setValue((Term)null);
255 return;
256 }
257 super.eUnset(featureID);
258 }
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 @Override
266 public boolean eIsSet(int featureID) {
267 switch (featureID) {
268 case LogiclanguagePackage.FUNCTION_DEFINITION__VARIABLE:
269 return variable != null && !variable.isEmpty();
270 case LogiclanguagePackage.FUNCTION_DEFINITION__DEFINES:
271 return defines != null;
272 case LogiclanguagePackage.FUNCTION_DEFINITION__VALUE:
273 return value != null;
274 }
275 return super.eIsSet(featureID);
276 }
277
278} //FunctionDefinitionImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/FunctionImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/FunctionImpl.java
new file mode 100644
index 00000000..da85ae54
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/FunctionImpl.java
@@ -0,0 +1,273 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference;
8
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.FunctionAnnotation;
10import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
11import java.util.Collection;
12
13import org.eclipse.emf.common.notify.Notification;
14import org.eclipse.emf.common.notify.NotificationChain;
15
16import org.eclipse.emf.common.util.EList;
17
18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.emf.ecore.InternalEObject;
20
21import org.eclipse.emf.ecore.impl.ENotificationImpl;
22
23import org.eclipse.emf.ecore.util.EObjectContainmentEList;
24import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
25import org.eclipse.emf.ecore.util.InternalEList;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model object '<em><b>Function</b></em>'.
30 * <!-- end-user-doc -->
31 * <p>
32 * The following features are implemented:
33 * </p>
34 * <ul>
35 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionImpl#getRange <em>Range</em>}</li>
36 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionImpl#getParameters <em>Parameters</em>}</li>
37 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.FunctionImpl#getAnnotations <em>Annotations</em>}</li>
38 * </ul>
39 *
40 * @generated
41 */
42public abstract class FunctionImpl extends SymbolicDeclarationImpl implements Function {
43 /**
44 * The cached value of the '{@link #getRange() <em>Range</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getRange()
48 * @generated
49 * @ordered
50 */
51 protected TypeReference range;
52
53 /**
54 * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #getParameters()
58 * @generated
59 * @ordered
60 */
61 protected EList<TypeReference> parameters;
62
63 /**
64 * The cached value of the '{@link #getAnnotations() <em>Annotations</em>}' reference list.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #getAnnotations()
68 * @generated
69 * @ordered
70 */
71 protected EList<FunctionAnnotation> annotations;
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 protected FunctionImpl() {
79 super();
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 protected EClass eStaticClass() {
89 return LogiclanguagePackage.Literals.FUNCTION;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 public TypeReference getRange() {
98 return range;
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 public NotificationChain basicSetRange(TypeReference newRange, NotificationChain msgs) {
107 TypeReference oldRange = range;
108 range = newRange;
109 if (eNotificationRequired()) {
110 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.FUNCTION__RANGE, oldRange, newRange);
111 if (msgs == null) msgs = notification; else msgs.add(notification);
112 }
113 return msgs;
114 }
115
116 /**
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 */
121 public void setRange(TypeReference newRange) {
122 if (newRange != range) {
123 NotificationChain msgs = null;
124 if (range != null)
125 msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.FUNCTION__RANGE, null, msgs);
126 if (newRange != null)
127 msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.FUNCTION__RANGE, null, msgs);
128 msgs = basicSetRange(newRange, msgs);
129 if (msgs != null) msgs.dispatch();
130 }
131 else if (eNotificationRequired())
132 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.FUNCTION__RANGE, newRange, newRange));
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 public EList<TypeReference> getParameters() {
141 if (parameters == null) {
142 parameters = new EObjectContainmentEList<TypeReference>(TypeReference.class, this, LogiclanguagePackage.FUNCTION__PARAMETERS);
143 }
144 return parameters;
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 public EList<FunctionAnnotation> getAnnotations() {
153 if (annotations == null) {
154 annotations = new EObjectWithInverseResolvingEList<FunctionAnnotation>(FunctionAnnotation.class, this, LogiclanguagePackage.FUNCTION__ANNOTATIONS, LogicproblemPackage.FUNCTION_ANNOTATION__TARGET);
155 }
156 return annotations;
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @SuppressWarnings("unchecked")
165 @Override
166 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
167 switch (featureID) {
168 case LogiclanguagePackage.FUNCTION__ANNOTATIONS:
169 return ((InternalEList<InternalEObject>)(InternalEList<?>)getAnnotations()).basicAdd(otherEnd, msgs);
170 }
171 return super.eInverseAdd(otherEnd, featureID, msgs);
172 }
173
174 /**
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 */
179 @Override
180 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
181 switch (featureID) {
182 case LogiclanguagePackage.FUNCTION__RANGE:
183 return basicSetRange(null, msgs);
184 case LogiclanguagePackage.FUNCTION__PARAMETERS:
185 return ((InternalEList<?>)getParameters()).basicRemove(otherEnd, msgs);
186 case LogiclanguagePackage.FUNCTION__ANNOTATIONS:
187 return ((InternalEList<?>)getAnnotations()).basicRemove(otherEnd, msgs);
188 }
189 return super.eInverseRemove(otherEnd, featureID, msgs);
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 @Override
198 public Object eGet(int featureID, boolean resolve, boolean coreType) {
199 switch (featureID) {
200 case LogiclanguagePackage.FUNCTION__RANGE:
201 return getRange();
202 case LogiclanguagePackage.FUNCTION__PARAMETERS:
203 return getParameters();
204 case LogiclanguagePackage.FUNCTION__ANNOTATIONS:
205 return getAnnotations();
206 }
207 return super.eGet(featureID, resolve, coreType);
208 }
209
210 /**
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @generated
214 */
215 @SuppressWarnings("unchecked")
216 @Override
217 public void eSet(int featureID, Object newValue) {
218 switch (featureID) {
219 case LogiclanguagePackage.FUNCTION__RANGE:
220 setRange((TypeReference)newValue);
221 return;
222 case LogiclanguagePackage.FUNCTION__PARAMETERS:
223 getParameters().clear();
224 getParameters().addAll((Collection<? extends TypeReference>)newValue);
225 return;
226 case LogiclanguagePackage.FUNCTION__ANNOTATIONS:
227 getAnnotations().clear();
228 getAnnotations().addAll((Collection<? extends FunctionAnnotation>)newValue);
229 return;
230 }
231 super.eSet(featureID, newValue);
232 }
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 @Override
240 public void eUnset(int featureID) {
241 switch (featureID) {
242 case LogiclanguagePackage.FUNCTION__RANGE:
243 setRange((TypeReference)null);
244 return;
245 case LogiclanguagePackage.FUNCTION__PARAMETERS:
246 getParameters().clear();
247 return;
248 case LogiclanguagePackage.FUNCTION__ANNOTATIONS:
249 getAnnotations().clear();
250 return;
251 }
252 super.eUnset(featureID);
253 }
254
255 /**
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 @Override
261 public boolean eIsSet(int featureID) {
262 switch (featureID) {
263 case LogiclanguagePackage.FUNCTION__RANGE:
264 return range != null;
265 case LogiclanguagePackage.FUNCTION__PARAMETERS:
266 return parameters != null && !parameters.isEmpty();
267 case LogiclanguagePackage.FUNCTION__ANNOTATIONS:
268 return annotations != null && !annotations.isEmpty();
269 }
270 return super.eIsSet(featureID);
271 }
272
273} //FunctionImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IfThenElseImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IfThenElseImpl.java
new file mode 100644
index 00000000..27f1a358
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IfThenElseImpl.java
@@ -0,0 +1,307 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>If Then Else</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IfThenElseImpl#getCondition <em>Condition</em>}</li>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IfThenElseImpl#getIfTrue <em>If True</em>}</li>
27 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IfThenElseImpl#getIfFalse <em>If False</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class IfThenElseImpl extends TermImpl implements IfThenElse {
33 /**
34 * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getCondition()
38 * @generated
39 * @ordered
40 */
41 protected Term condition;
42
43 /**
44 * The cached value of the '{@link #getIfTrue() <em>If True</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getIfTrue()
48 * @generated
49 * @ordered
50 */
51 protected Term ifTrue;
52
53 /**
54 * The cached value of the '{@link #getIfFalse() <em>If False</em>}' containment reference.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #getIfFalse()
58 * @generated
59 * @ordered
60 */
61 protected Term ifFalse;
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected IfThenElseImpl() {
69 super();
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 protected EClass eStaticClass() {
79 return LogiclanguagePackage.Literals.IF_THEN_ELSE;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 public Term getCondition() {
88 return condition;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 public NotificationChain basicSetCondition(Term newCondition, NotificationChain msgs) {
97 Term oldCondition = condition;
98 condition = newCondition;
99 if (eNotificationRequired()) {
100 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.IF_THEN_ELSE__CONDITION, oldCondition, newCondition);
101 if (msgs == null) msgs = notification; else msgs.add(notification);
102 }
103 return msgs;
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 public void setCondition(Term newCondition) {
112 if (newCondition != condition) {
113 NotificationChain msgs = null;
114 if (condition != null)
115 msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.IF_THEN_ELSE__CONDITION, null, msgs);
116 if (newCondition != null)
117 msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.IF_THEN_ELSE__CONDITION, null, msgs);
118 msgs = basicSetCondition(newCondition, msgs);
119 if (msgs != null) msgs.dispatch();
120 }
121 else if (eNotificationRequired())
122 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.IF_THEN_ELSE__CONDITION, newCondition, newCondition));
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 public Term getIfTrue() {
131 return ifTrue;
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 public NotificationChain basicSetIfTrue(Term newIfTrue, NotificationChain msgs) {
140 Term oldIfTrue = ifTrue;
141 ifTrue = newIfTrue;
142 if (eNotificationRequired()) {
143 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.IF_THEN_ELSE__IF_TRUE, oldIfTrue, newIfTrue);
144 if (msgs == null) msgs = notification; else msgs.add(notification);
145 }
146 return msgs;
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 public void setIfTrue(Term newIfTrue) {
155 if (newIfTrue != ifTrue) {
156 NotificationChain msgs = null;
157 if (ifTrue != null)
158 msgs = ((InternalEObject)ifTrue).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.IF_THEN_ELSE__IF_TRUE, null, msgs);
159 if (newIfTrue != null)
160 msgs = ((InternalEObject)newIfTrue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.IF_THEN_ELSE__IF_TRUE, null, msgs);
161 msgs = basicSetIfTrue(newIfTrue, msgs);
162 if (msgs != null) msgs.dispatch();
163 }
164 else if (eNotificationRequired())
165 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.IF_THEN_ELSE__IF_TRUE, newIfTrue, newIfTrue));
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 public Term getIfFalse() {
174 return ifFalse;
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 public NotificationChain basicSetIfFalse(Term newIfFalse, NotificationChain msgs) {
183 Term oldIfFalse = ifFalse;
184 ifFalse = newIfFalse;
185 if (eNotificationRequired()) {
186 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.IF_THEN_ELSE__IF_FALSE, oldIfFalse, newIfFalse);
187 if (msgs == null) msgs = notification; else msgs.add(notification);
188 }
189 return msgs;
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 public void setIfFalse(Term newIfFalse) {
198 if (newIfFalse != ifFalse) {
199 NotificationChain msgs = null;
200 if (ifFalse != null)
201 msgs = ((InternalEObject)ifFalse).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.IF_THEN_ELSE__IF_FALSE, null, msgs);
202 if (newIfFalse != null)
203 msgs = ((InternalEObject)newIfFalse).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.IF_THEN_ELSE__IF_FALSE, null, msgs);
204 msgs = basicSetIfFalse(newIfFalse, msgs);
205 if (msgs != null) msgs.dispatch();
206 }
207 else if (eNotificationRequired())
208 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.IF_THEN_ELSE__IF_FALSE, newIfFalse, newIfFalse));
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
218 switch (featureID) {
219 case LogiclanguagePackage.IF_THEN_ELSE__CONDITION:
220 return basicSetCondition(null, msgs);
221 case LogiclanguagePackage.IF_THEN_ELSE__IF_TRUE:
222 return basicSetIfTrue(null, msgs);
223 case LogiclanguagePackage.IF_THEN_ELSE__IF_FALSE:
224 return basicSetIfFalse(null, msgs);
225 }
226 return super.eInverseRemove(otherEnd, featureID, msgs);
227 }
228
229 /**
230 * <!-- begin-user-doc -->
231 * <!-- end-user-doc -->
232 * @generated
233 */
234 @Override
235 public Object eGet(int featureID, boolean resolve, boolean coreType) {
236 switch (featureID) {
237 case LogiclanguagePackage.IF_THEN_ELSE__CONDITION:
238 return getCondition();
239 case LogiclanguagePackage.IF_THEN_ELSE__IF_TRUE:
240 return getIfTrue();
241 case LogiclanguagePackage.IF_THEN_ELSE__IF_FALSE:
242 return getIfFalse();
243 }
244 return super.eGet(featureID, resolve, coreType);
245 }
246
247 /**
248 * <!-- begin-user-doc -->
249 * <!-- end-user-doc -->
250 * @generated
251 */
252 @Override
253 public void eSet(int featureID, Object newValue) {
254 switch (featureID) {
255 case LogiclanguagePackage.IF_THEN_ELSE__CONDITION:
256 setCondition((Term)newValue);
257 return;
258 case LogiclanguagePackage.IF_THEN_ELSE__IF_TRUE:
259 setIfTrue((Term)newValue);
260 return;
261 case LogiclanguagePackage.IF_THEN_ELSE__IF_FALSE:
262 setIfFalse((Term)newValue);
263 return;
264 }
265 super.eSet(featureID, newValue);
266 }
267
268 /**
269 * <!-- begin-user-doc -->
270 * <!-- end-user-doc -->
271 * @generated
272 */
273 @Override
274 public void eUnset(int featureID) {
275 switch (featureID) {
276 case LogiclanguagePackage.IF_THEN_ELSE__CONDITION:
277 setCondition((Term)null);
278 return;
279 case LogiclanguagePackage.IF_THEN_ELSE__IF_TRUE:
280 setIfTrue((Term)null);
281 return;
282 case LogiclanguagePackage.IF_THEN_ELSE__IF_FALSE:
283 setIfFalse((Term)null);
284 return;
285 }
286 super.eUnset(featureID);
287 }
288
289 /**
290 * <!-- begin-user-doc -->
291 * <!-- end-user-doc -->
292 * @generated
293 */
294 @Override
295 public boolean eIsSet(int featureID) {
296 switch (featureID) {
297 case LogiclanguagePackage.IF_THEN_ELSE__CONDITION:
298 return condition != null;
299 case LogiclanguagePackage.IF_THEN_ELSE__IF_TRUE:
300 return ifTrue != null;
301 case LogiclanguagePackage.IF_THEN_ELSE__IF_FALSE:
302 return ifFalse != null;
303 }
304 return super.eIsSet(featureID);
305 }
306
307} //IfThenElseImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IffImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IffImpl.java
new file mode 100644
index 00000000..52c80e4a
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IffImpl.java
@@ -0,0 +1,241 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Iff</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IffImpl#getLeftOperand <em>Left Operand</em>}</li>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IffImpl#getRightOperand <em>Right Operand</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class IffImpl extends BoolOperationImpl implements Iff {
32 /**
33 * The cached value of the '{@link #getLeftOperand() <em>Left Operand</em>}' containment reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getLeftOperand()
37 * @generated
38 * @ordered
39 */
40 protected Term leftOperand;
41
42 /**
43 * The cached value of the '{@link #getRightOperand() <em>Right Operand</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getRightOperand()
47 * @generated
48 * @ordered
49 */
50 protected Term rightOperand;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected IffImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return LogiclanguagePackage.Literals.IFF;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public Term getLeftOperand() {
77 return leftOperand;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public NotificationChain basicSetLeftOperand(Term newLeftOperand, NotificationChain msgs) {
86 Term oldLeftOperand = leftOperand;
87 leftOperand = newLeftOperand;
88 if (eNotificationRequired()) {
89 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.IFF__LEFT_OPERAND, oldLeftOperand, newLeftOperand);
90 if (msgs == null) msgs = notification; else msgs.add(notification);
91 }
92 return msgs;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 public void setLeftOperand(Term newLeftOperand) {
101 if (newLeftOperand != leftOperand) {
102 NotificationChain msgs = null;
103 if (leftOperand != null)
104 msgs = ((InternalEObject)leftOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.IFF__LEFT_OPERAND, null, msgs);
105 if (newLeftOperand != null)
106 msgs = ((InternalEObject)newLeftOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.IFF__LEFT_OPERAND, null, msgs);
107 msgs = basicSetLeftOperand(newLeftOperand, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.IFF__LEFT_OPERAND, newLeftOperand, newLeftOperand));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 public Term getRightOperand() {
120 return rightOperand;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public NotificationChain basicSetRightOperand(Term newRightOperand, NotificationChain msgs) {
129 Term oldRightOperand = rightOperand;
130 rightOperand = newRightOperand;
131 if (eNotificationRequired()) {
132 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.IFF__RIGHT_OPERAND, oldRightOperand, newRightOperand);
133 if (msgs == null) msgs = notification; else msgs.add(notification);
134 }
135 return msgs;
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 public void setRightOperand(Term newRightOperand) {
144 if (newRightOperand != rightOperand) {
145 NotificationChain msgs = null;
146 if (rightOperand != null)
147 msgs = ((InternalEObject)rightOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.IFF__RIGHT_OPERAND, null, msgs);
148 if (newRightOperand != null)
149 msgs = ((InternalEObject)newRightOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.IFF__RIGHT_OPERAND, null, msgs);
150 msgs = basicSetRightOperand(newRightOperand, msgs);
151 if (msgs != null) msgs.dispatch();
152 }
153 else if (eNotificationRequired())
154 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.IFF__RIGHT_OPERAND, newRightOperand, newRightOperand));
155 }
156
157 /**
158 * <!-- begin-user-doc -->
159 * <!-- end-user-doc -->
160 * @generated
161 */
162 @Override
163 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
164 switch (featureID) {
165 case LogiclanguagePackage.IFF__LEFT_OPERAND:
166 return basicSetLeftOperand(null, msgs);
167 case LogiclanguagePackage.IFF__RIGHT_OPERAND:
168 return basicSetRightOperand(null, msgs);
169 }
170 return super.eInverseRemove(otherEnd, featureID, msgs);
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public Object eGet(int featureID, boolean resolve, boolean coreType) {
180 switch (featureID) {
181 case LogiclanguagePackage.IFF__LEFT_OPERAND:
182 return getLeftOperand();
183 case LogiclanguagePackage.IFF__RIGHT_OPERAND:
184 return getRightOperand();
185 }
186 return super.eGet(featureID, resolve, coreType);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public void eSet(int featureID, Object newValue) {
196 switch (featureID) {
197 case LogiclanguagePackage.IFF__LEFT_OPERAND:
198 setLeftOperand((Term)newValue);
199 return;
200 case LogiclanguagePackage.IFF__RIGHT_OPERAND:
201 setRightOperand((Term)newValue);
202 return;
203 }
204 super.eSet(featureID, newValue);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eUnset(int featureID) {
214 switch (featureID) {
215 case LogiclanguagePackage.IFF__LEFT_OPERAND:
216 setLeftOperand((Term)null);
217 return;
218 case LogiclanguagePackage.IFF__RIGHT_OPERAND:
219 setRightOperand((Term)null);
220 return;
221 }
222 super.eUnset(featureID);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public boolean eIsSet(int featureID) {
232 switch (featureID) {
233 case LogiclanguagePackage.IFF__LEFT_OPERAND:
234 return leftOperand != null;
235 case LogiclanguagePackage.IFF__RIGHT_OPERAND:
236 return rightOperand != null;
237 }
238 return super.eIsSet(featureID);
239 }
240
241} //IffImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ImplImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ImplImpl.java
new file mode 100644
index 00000000..af915e5d
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ImplImpl.java
@@ -0,0 +1,241 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Impl</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ImplImpl#getLeftOperand <em>Left Operand</em>}</li>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.ImplImpl#getRightOperand <em>Right Operand</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class ImplImpl extends BoolOperationImpl implements Impl {
32 /**
33 * The cached value of the '{@link #getLeftOperand() <em>Left Operand</em>}' containment reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getLeftOperand()
37 * @generated
38 * @ordered
39 */
40 protected Term leftOperand;
41
42 /**
43 * The cached value of the '{@link #getRightOperand() <em>Right Operand</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getRightOperand()
47 * @generated
48 * @ordered
49 */
50 protected Term rightOperand;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected ImplImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return LogiclanguagePackage.Literals.IMPL;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public Term getLeftOperand() {
77 return leftOperand;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public NotificationChain basicSetLeftOperand(Term newLeftOperand, NotificationChain msgs) {
86 Term oldLeftOperand = leftOperand;
87 leftOperand = newLeftOperand;
88 if (eNotificationRequired()) {
89 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.IMPL__LEFT_OPERAND, oldLeftOperand, newLeftOperand);
90 if (msgs == null) msgs = notification; else msgs.add(notification);
91 }
92 return msgs;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 public void setLeftOperand(Term newLeftOperand) {
101 if (newLeftOperand != leftOperand) {
102 NotificationChain msgs = null;
103 if (leftOperand != null)
104 msgs = ((InternalEObject)leftOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.IMPL__LEFT_OPERAND, null, msgs);
105 if (newLeftOperand != null)
106 msgs = ((InternalEObject)newLeftOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.IMPL__LEFT_OPERAND, null, msgs);
107 msgs = basicSetLeftOperand(newLeftOperand, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.IMPL__LEFT_OPERAND, newLeftOperand, newLeftOperand));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 public Term getRightOperand() {
120 return rightOperand;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public NotificationChain basicSetRightOperand(Term newRightOperand, NotificationChain msgs) {
129 Term oldRightOperand = rightOperand;
130 rightOperand = newRightOperand;
131 if (eNotificationRequired()) {
132 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.IMPL__RIGHT_OPERAND, oldRightOperand, newRightOperand);
133 if (msgs == null) msgs = notification; else msgs.add(notification);
134 }
135 return msgs;
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 public void setRightOperand(Term newRightOperand) {
144 if (newRightOperand != rightOperand) {
145 NotificationChain msgs = null;
146 if (rightOperand != null)
147 msgs = ((InternalEObject)rightOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.IMPL__RIGHT_OPERAND, null, msgs);
148 if (newRightOperand != null)
149 msgs = ((InternalEObject)newRightOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.IMPL__RIGHT_OPERAND, null, msgs);
150 msgs = basicSetRightOperand(newRightOperand, msgs);
151 if (msgs != null) msgs.dispatch();
152 }
153 else if (eNotificationRequired())
154 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.IMPL__RIGHT_OPERAND, newRightOperand, newRightOperand));
155 }
156
157 /**
158 * <!-- begin-user-doc -->
159 * <!-- end-user-doc -->
160 * @generated
161 */
162 @Override
163 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
164 switch (featureID) {
165 case LogiclanguagePackage.IMPL__LEFT_OPERAND:
166 return basicSetLeftOperand(null, msgs);
167 case LogiclanguagePackage.IMPL__RIGHT_OPERAND:
168 return basicSetRightOperand(null, msgs);
169 }
170 return super.eInverseRemove(otherEnd, featureID, msgs);
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public Object eGet(int featureID, boolean resolve, boolean coreType) {
180 switch (featureID) {
181 case LogiclanguagePackage.IMPL__LEFT_OPERAND:
182 return getLeftOperand();
183 case LogiclanguagePackage.IMPL__RIGHT_OPERAND:
184 return getRightOperand();
185 }
186 return super.eGet(featureID, resolve, coreType);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public void eSet(int featureID, Object newValue) {
196 switch (featureID) {
197 case LogiclanguagePackage.IMPL__LEFT_OPERAND:
198 setLeftOperand((Term)newValue);
199 return;
200 case LogiclanguagePackage.IMPL__RIGHT_OPERAND:
201 setRightOperand((Term)newValue);
202 return;
203 }
204 super.eSet(featureID, newValue);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eUnset(int featureID) {
214 switch (featureID) {
215 case LogiclanguagePackage.IMPL__LEFT_OPERAND:
216 setLeftOperand((Term)null);
217 return;
218 case LogiclanguagePackage.IMPL__RIGHT_OPERAND:
219 setRightOperand((Term)null);
220 return;
221 }
222 super.eUnset(featureID);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public boolean eIsSet(int featureID) {
232 switch (featureID) {
233 case LogiclanguagePackage.IMPL__LEFT_OPERAND:
234 return leftOperand != null;
235 case LogiclanguagePackage.IMPL__RIGHT_OPERAND:
236 return rightOperand != null;
237 }
238 return super.eIsSet(featureID);
239 }
240
241} //ImplImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/InstanceOfImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/InstanceOfImpl.java
new file mode 100644
index 00000000..9d36b076
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/InstanceOfImpl.java
@@ -0,0 +1,242 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Instance Of</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.InstanceOfImpl#getValue <em>Value</em>}</li>
27 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.InstanceOfImpl#getRange <em>Range</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class InstanceOfImpl extends TermImpl implements InstanceOf {
33 /**
34 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getValue()
38 * @generated
39 * @ordered
40 */
41 protected Term value;
42
43 /**
44 * The cached value of the '{@link #getRange() <em>Range</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getRange()
48 * @generated
49 * @ordered
50 */
51 protected TypeReference range;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 protected InstanceOfImpl() {
59 super();
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 @Override
68 protected EClass eStaticClass() {
69 return LogiclanguagePackage.Literals.INSTANCE_OF;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 public Term getValue() {
78 return value;
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 public NotificationChain basicSetValue(Term newValue, NotificationChain msgs) {
87 Term oldValue = value;
88 value = newValue;
89 if (eNotificationRequired()) {
90 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.INSTANCE_OF__VALUE, oldValue, newValue);
91 if (msgs == null) msgs = notification; else msgs.add(notification);
92 }
93 return msgs;
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 public void setValue(Term newValue) {
102 if (newValue != value) {
103 NotificationChain msgs = null;
104 if (value != null)
105 msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.INSTANCE_OF__VALUE, null, msgs);
106 if (newValue != null)
107 msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.INSTANCE_OF__VALUE, null, msgs);
108 msgs = basicSetValue(newValue, msgs);
109 if (msgs != null) msgs.dispatch();
110 }
111 else if (eNotificationRequired())
112 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.INSTANCE_OF__VALUE, newValue, newValue));
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 public TypeReference getRange() {
121 return range;
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 public NotificationChain basicSetRange(TypeReference newRange, NotificationChain msgs) {
130 TypeReference oldRange = range;
131 range = newRange;
132 if (eNotificationRequired()) {
133 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.INSTANCE_OF__RANGE, oldRange, newRange);
134 if (msgs == null) msgs = notification; else msgs.add(notification);
135 }
136 return msgs;
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 public void setRange(TypeReference newRange) {
145 if (newRange != range) {
146 NotificationChain msgs = null;
147 if (range != null)
148 msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.INSTANCE_OF__RANGE, null, msgs);
149 if (newRange != null)
150 msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.INSTANCE_OF__RANGE, null, msgs);
151 msgs = basicSetRange(newRange, msgs);
152 if (msgs != null) msgs.dispatch();
153 }
154 else if (eNotificationRequired())
155 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.INSTANCE_OF__RANGE, newRange, newRange));
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 @Override
164 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
165 switch (featureID) {
166 case LogiclanguagePackage.INSTANCE_OF__VALUE:
167 return basicSetValue(null, msgs);
168 case LogiclanguagePackage.INSTANCE_OF__RANGE:
169 return basicSetRange(null, msgs);
170 }
171 return super.eInverseRemove(otherEnd, featureID, msgs);
172 }
173
174 /**
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 */
179 @Override
180 public Object eGet(int featureID, boolean resolve, boolean coreType) {
181 switch (featureID) {
182 case LogiclanguagePackage.INSTANCE_OF__VALUE:
183 return getValue();
184 case LogiclanguagePackage.INSTANCE_OF__RANGE:
185 return getRange();
186 }
187 return super.eGet(featureID, resolve, coreType);
188 }
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 @Override
196 public void eSet(int featureID, Object newValue) {
197 switch (featureID) {
198 case LogiclanguagePackage.INSTANCE_OF__VALUE:
199 setValue((Term)newValue);
200 return;
201 case LogiclanguagePackage.INSTANCE_OF__RANGE:
202 setRange((TypeReference)newValue);
203 return;
204 }
205 super.eSet(featureID, newValue);
206 }
207
208 /**
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 */
213 @Override
214 public void eUnset(int featureID) {
215 switch (featureID) {
216 case LogiclanguagePackage.INSTANCE_OF__VALUE:
217 setValue((Term)null);
218 return;
219 case LogiclanguagePackage.INSTANCE_OF__RANGE:
220 setRange((TypeReference)null);
221 return;
222 }
223 super.eUnset(featureID);
224 }
225
226 /**
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @generated
230 */
231 @Override
232 public boolean eIsSet(int featureID) {
233 switch (featureID) {
234 case LogiclanguagePackage.INSTANCE_OF__VALUE:
235 return value != null;
236 case LogiclanguagePackage.INSTANCE_OF__RANGE:
237 return range != null;
238 }
239 return super.eIsSet(featureID);
240 }
241
242} //InstanceOfImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IntLiteralImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IntLiteralImpl.java
new file mode 100644
index 00000000..c0ec1001
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IntLiteralImpl.java
@@ -0,0 +1,162 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Int Literal</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IntLiteralImpl#getValue <em>Value</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class IntLiteralImpl extends AtomicTermImpl implements IntLiteral {
28 /**
29 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getValue()
33 * @generated
34 * @ordered
35 */
36 protected static final int VALUE_EDEFAULT = 0;
37
38 /**
39 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getValue()
43 * @generated
44 * @ordered
45 */
46 protected int value = VALUE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected IntLiteralImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return LogiclanguagePackage.Literals.INT_LITERAL;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public int getValue() {
73 return value;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setValue(int newValue) {
82 int oldValue = value;
83 value = newValue;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.INT_LITERAL__VALUE, oldValue, value));
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 @Override
94 public Object eGet(int featureID, boolean resolve, boolean coreType) {
95 switch (featureID) {
96 case LogiclanguagePackage.INT_LITERAL__VALUE:
97 return getValue();
98 }
99 return super.eGet(featureID, resolve, coreType);
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 @Override
108 public void eSet(int featureID, Object newValue) {
109 switch (featureID) {
110 case LogiclanguagePackage.INT_LITERAL__VALUE:
111 setValue((Integer)newValue);
112 return;
113 }
114 super.eSet(featureID, newValue);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public void eUnset(int featureID) {
124 switch (featureID) {
125 case LogiclanguagePackage.INT_LITERAL__VALUE:
126 setValue(VALUE_EDEFAULT);
127 return;
128 }
129 super.eUnset(featureID);
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public boolean eIsSet(int featureID) {
139 switch (featureID) {
140 case LogiclanguagePackage.INT_LITERAL__VALUE:
141 return value != VALUE_EDEFAULT;
142 }
143 return super.eIsSet(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public String toString() {
153 if (eIsProxy()) return super.toString();
154
155 StringBuffer result = new StringBuffer(super.toString());
156 result.append(" (value: ");
157 result.append(value);
158 result.append(')');
159 return result.toString();
160 }
161
162} //IntLiteralImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IntOperationImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IntOperationImpl.java
new file mode 100644
index 00000000..dab1f9ec
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IntOperationImpl.java
@@ -0,0 +1,241 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntOperation;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Int Operation</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IntOperationImpl#getLeftOperand <em>Left Operand</em>}</li>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.IntOperationImpl#getRightOperand <em>Right Operand</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public abstract class IntOperationImpl extends TermImpl implements IntOperation {
32 /**
33 * The cached value of the '{@link #getLeftOperand() <em>Left Operand</em>}' containment reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getLeftOperand()
37 * @generated
38 * @ordered
39 */
40 protected Term leftOperand;
41
42 /**
43 * The cached value of the '{@link #getRightOperand() <em>Right Operand</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getRightOperand()
47 * @generated
48 * @ordered
49 */
50 protected Term rightOperand;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected IntOperationImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return LogiclanguagePackage.Literals.INT_OPERATION;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public Term getLeftOperand() {
77 return leftOperand;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public NotificationChain basicSetLeftOperand(Term newLeftOperand, NotificationChain msgs) {
86 Term oldLeftOperand = leftOperand;
87 leftOperand = newLeftOperand;
88 if (eNotificationRequired()) {
89 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.INT_OPERATION__LEFT_OPERAND, oldLeftOperand, newLeftOperand);
90 if (msgs == null) msgs = notification; else msgs.add(notification);
91 }
92 return msgs;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 public void setLeftOperand(Term newLeftOperand) {
101 if (newLeftOperand != leftOperand) {
102 NotificationChain msgs = null;
103 if (leftOperand != null)
104 msgs = ((InternalEObject)leftOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.INT_OPERATION__LEFT_OPERAND, null, msgs);
105 if (newLeftOperand != null)
106 msgs = ((InternalEObject)newLeftOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.INT_OPERATION__LEFT_OPERAND, null, msgs);
107 msgs = basicSetLeftOperand(newLeftOperand, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.INT_OPERATION__LEFT_OPERAND, newLeftOperand, newLeftOperand));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 public Term getRightOperand() {
120 return rightOperand;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public NotificationChain basicSetRightOperand(Term newRightOperand, NotificationChain msgs) {
129 Term oldRightOperand = rightOperand;
130 rightOperand = newRightOperand;
131 if (eNotificationRequired()) {
132 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.INT_OPERATION__RIGHT_OPERAND, oldRightOperand, newRightOperand);
133 if (msgs == null) msgs = notification; else msgs.add(notification);
134 }
135 return msgs;
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 public void setRightOperand(Term newRightOperand) {
144 if (newRightOperand != rightOperand) {
145 NotificationChain msgs = null;
146 if (rightOperand != null)
147 msgs = ((InternalEObject)rightOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.INT_OPERATION__RIGHT_OPERAND, null, msgs);
148 if (newRightOperand != null)
149 msgs = ((InternalEObject)newRightOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.INT_OPERATION__RIGHT_OPERAND, null, msgs);
150 msgs = basicSetRightOperand(newRightOperand, msgs);
151 if (msgs != null) msgs.dispatch();
152 }
153 else if (eNotificationRequired())
154 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.INT_OPERATION__RIGHT_OPERAND, newRightOperand, newRightOperand));
155 }
156
157 /**
158 * <!-- begin-user-doc -->
159 * <!-- end-user-doc -->
160 * @generated
161 */
162 @Override
163 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
164 switch (featureID) {
165 case LogiclanguagePackage.INT_OPERATION__LEFT_OPERAND:
166 return basicSetLeftOperand(null, msgs);
167 case LogiclanguagePackage.INT_OPERATION__RIGHT_OPERAND:
168 return basicSetRightOperand(null, msgs);
169 }
170 return super.eInverseRemove(otherEnd, featureID, msgs);
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public Object eGet(int featureID, boolean resolve, boolean coreType) {
180 switch (featureID) {
181 case LogiclanguagePackage.INT_OPERATION__LEFT_OPERAND:
182 return getLeftOperand();
183 case LogiclanguagePackage.INT_OPERATION__RIGHT_OPERAND:
184 return getRightOperand();
185 }
186 return super.eGet(featureID, resolve, coreType);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public void eSet(int featureID, Object newValue) {
196 switch (featureID) {
197 case LogiclanguagePackage.INT_OPERATION__LEFT_OPERAND:
198 setLeftOperand((Term)newValue);
199 return;
200 case LogiclanguagePackage.INT_OPERATION__RIGHT_OPERAND:
201 setRightOperand((Term)newValue);
202 return;
203 }
204 super.eSet(featureID, newValue);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eUnset(int featureID) {
214 switch (featureID) {
215 case LogiclanguagePackage.INT_OPERATION__LEFT_OPERAND:
216 setLeftOperand((Term)null);
217 return;
218 case LogiclanguagePackage.INT_OPERATION__RIGHT_OPERAND:
219 setRightOperand((Term)null);
220 return;
221 }
222 super.eUnset(featureID);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public boolean eIsSet(int featureID) {
232 switch (featureID) {
233 case LogiclanguagePackage.INT_OPERATION__LEFT_OPERAND:
234 return leftOperand != null;
235 case LogiclanguagePackage.INT_OPERATION__RIGHT_OPERAND:
236 return rightOperand != null;
237 }
238 return super.eIsSet(featureID);
239 }
240
241} //IntOperationImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IntTypeReferenceImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IntTypeReferenceImpl.java
new file mode 100644
index 00000000..fc40a3ae
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/IntTypeReferenceImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntTypeReference;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Int Type Reference</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class IntTypeReferenceImpl extends PrimitiveTypeReferenceImpl implements IntTypeReference {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected IntTypeReferenceImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.INT_TYPE_REFERENCE;
35 }
36
37} //IntTypeReferenceImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LessOrEqualThanImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LessOrEqualThanImpl.java
new file mode 100644
index 00000000..4213ad37
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LessOrEqualThanImpl.java
@@ -0,0 +1,241 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Less Or Equal Than</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LessOrEqualThanImpl#getLeftOperand <em>Left Operand</em>}</li>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LessOrEqualThanImpl#getRightOperand <em>Right Operand</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class LessOrEqualThanImpl extends PrimitiveRelationImpl implements LessOrEqualThan {
32 /**
33 * The cached value of the '{@link #getLeftOperand() <em>Left Operand</em>}' containment reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getLeftOperand()
37 * @generated
38 * @ordered
39 */
40 protected Term leftOperand;
41
42 /**
43 * The cached value of the '{@link #getRightOperand() <em>Right Operand</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getRightOperand()
47 * @generated
48 * @ordered
49 */
50 protected Term rightOperand;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected LessOrEqualThanImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return LogiclanguagePackage.Literals.LESS_OR_EQUAL_THAN;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public Term getLeftOperand() {
77 return leftOperand;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public NotificationChain basicSetLeftOperand(Term newLeftOperand, NotificationChain msgs) {
86 Term oldLeftOperand = leftOperand;
87 leftOperand = newLeftOperand;
88 if (eNotificationRequired()) {
89 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.LESS_OR_EQUAL_THAN__LEFT_OPERAND, oldLeftOperand, newLeftOperand);
90 if (msgs == null) msgs = notification; else msgs.add(notification);
91 }
92 return msgs;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 public void setLeftOperand(Term newLeftOperand) {
101 if (newLeftOperand != leftOperand) {
102 NotificationChain msgs = null;
103 if (leftOperand != null)
104 msgs = ((InternalEObject)leftOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.LESS_OR_EQUAL_THAN__LEFT_OPERAND, null, msgs);
105 if (newLeftOperand != null)
106 msgs = ((InternalEObject)newLeftOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.LESS_OR_EQUAL_THAN__LEFT_OPERAND, null, msgs);
107 msgs = basicSetLeftOperand(newLeftOperand, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.LESS_OR_EQUAL_THAN__LEFT_OPERAND, newLeftOperand, newLeftOperand));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 public Term getRightOperand() {
120 return rightOperand;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public NotificationChain basicSetRightOperand(Term newRightOperand, NotificationChain msgs) {
129 Term oldRightOperand = rightOperand;
130 rightOperand = newRightOperand;
131 if (eNotificationRequired()) {
132 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.LESS_OR_EQUAL_THAN__RIGHT_OPERAND, oldRightOperand, newRightOperand);
133 if (msgs == null) msgs = notification; else msgs.add(notification);
134 }
135 return msgs;
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 public void setRightOperand(Term newRightOperand) {
144 if (newRightOperand != rightOperand) {
145 NotificationChain msgs = null;
146 if (rightOperand != null)
147 msgs = ((InternalEObject)rightOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.LESS_OR_EQUAL_THAN__RIGHT_OPERAND, null, msgs);
148 if (newRightOperand != null)
149 msgs = ((InternalEObject)newRightOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.LESS_OR_EQUAL_THAN__RIGHT_OPERAND, null, msgs);
150 msgs = basicSetRightOperand(newRightOperand, msgs);
151 if (msgs != null) msgs.dispatch();
152 }
153 else if (eNotificationRequired())
154 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.LESS_OR_EQUAL_THAN__RIGHT_OPERAND, newRightOperand, newRightOperand));
155 }
156
157 /**
158 * <!-- begin-user-doc -->
159 * <!-- end-user-doc -->
160 * @generated
161 */
162 @Override
163 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
164 switch (featureID) {
165 case LogiclanguagePackage.LESS_OR_EQUAL_THAN__LEFT_OPERAND:
166 return basicSetLeftOperand(null, msgs);
167 case LogiclanguagePackage.LESS_OR_EQUAL_THAN__RIGHT_OPERAND:
168 return basicSetRightOperand(null, msgs);
169 }
170 return super.eInverseRemove(otherEnd, featureID, msgs);
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public Object eGet(int featureID, boolean resolve, boolean coreType) {
180 switch (featureID) {
181 case LogiclanguagePackage.LESS_OR_EQUAL_THAN__LEFT_OPERAND:
182 return getLeftOperand();
183 case LogiclanguagePackage.LESS_OR_EQUAL_THAN__RIGHT_OPERAND:
184 return getRightOperand();
185 }
186 return super.eGet(featureID, resolve, coreType);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public void eSet(int featureID, Object newValue) {
196 switch (featureID) {
197 case LogiclanguagePackage.LESS_OR_EQUAL_THAN__LEFT_OPERAND:
198 setLeftOperand((Term)newValue);
199 return;
200 case LogiclanguagePackage.LESS_OR_EQUAL_THAN__RIGHT_OPERAND:
201 setRightOperand((Term)newValue);
202 return;
203 }
204 super.eSet(featureID, newValue);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eUnset(int featureID) {
214 switch (featureID) {
215 case LogiclanguagePackage.LESS_OR_EQUAL_THAN__LEFT_OPERAND:
216 setLeftOperand((Term)null);
217 return;
218 case LogiclanguagePackage.LESS_OR_EQUAL_THAN__RIGHT_OPERAND:
219 setRightOperand((Term)null);
220 return;
221 }
222 super.eUnset(featureID);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public boolean eIsSet(int featureID) {
232 switch (featureID) {
233 case LogiclanguagePackage.LESS_OR_EQUAL_THAN__LEFT_OPERAND:
234 return leftOperand != null;
235 case LogiclanguagePackage.LESS_OR_EQUAL_THAN__RIGHT_OPERAND:
236 return rightOperand != null;
237 }
238 return super.eIsSet(featureID);
239 }
240
241} //LessOrEqualThanImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LessThanImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LessThanImpl.java
new file mode 100644
index 00000000..8a36abdd
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LessThanImpl.java
@@ -0,0 +1,241 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Less Than</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LessThanImpl#getLeftOperand <em>Left Operand</em>}</li>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LessThanImpl#getRightOperand <em>Right Operand</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class LessThanImpl extends PrimitiveRelationImpl implements LessThan {
32 /**
33 * The cached value of the '{@link #getLeftOperand() <em>Left Operand</em>}' containment reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getLeftOperand()
37 * @generated
38 * @ordered
39 */
40 protected Term leftOperand;
41
42 /**
43 * The cached value of the '{@link #getRightOperand() <em>Right Operand</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getRightOperand()
47 * @generated
48 * @ordered
49 */
50 protected Term rightOperand;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected LessThanImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return LogiclanguagePackage.Literals.LESS_THAN;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public Term getLeftOperand() {
77 return leftOperand;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public NotificationChain basicSetLeftOperand(Term newLeftOperand, NotificationChain msgs) {
86 Term oldLeftOperand = leftOperand;
87 leftOperand = newLeftOperand;
88 if (eNotificationRequired()) {
89 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.LESS_THAN__LEFT_OPERAND, oldLeftOperand, newLeftOperand);
90 if (msgs == null) msgs = notification; else msgs.add(notification);
91 }
92 return msgs;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 public void setLeftOperand(Term newLeftOperand) {
101 if (newLeftOperand != leftOperand) {
102 NotificationChain msgs = null;
103 if (leftOperand != null)
104 msgs = ((InternalEObject)leftOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.LESS_THAN__LEFT_OPERAND, null, msgs);
105 if (newLeftOperand != null)
106 msgs = ((InternalEObject)newLeftOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.LESS_THAN__LEFT_OPERAND, null, msgs);
107 msgs = basicSetLeftOperand(newLeftOperand, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.LESS_THAN__LEFT_OPERAND, newLeftOperand, newLeftOperand));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 public Term getRightOperand() {
120 return rightOperand;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public NotificationChain basicSetRightOperand(Term newRightOperand, NotificationChain msgs) {
129 Term oldRightOperand = rightOperand;
130 rightOperand = newRightOperand;
131 if (eNotificationRequired()) {
132 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.LESS_THAN__RIGHT_OPERAND, oldRightOperand, newRightOperand);
133 if (msgs == null) msgs = notification; else msgs.add(notification);
134 }
135 return msgs;
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 public void setRightOperand(Term newRightOperand) {
144 if (newRightOperand != rightOperand) {
145 NotificationChain msgs = null;
146 if (rightOperand != null)
147 msgs = ((InternalEObject)rightOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.LESS_THAN__RIGHT_OPERAND, null, msgs);
148 if (newRightOperand != null)
149 msgs = ((InternalEObject)newRightOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.LESS_THAN__RIGHT_OPERAND, null, msgs);
150 msgs = basicSetRightOperand(newRightOperand, msgs);
151 if (msgs != null) msgs.dispatch();
152 }
153 else if (eNotificationRequired())
154 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.LESS_THAN__RIGHT_OPERAND, newRightOperand, newRightOperand));
155 }
156
157 /**
158 * <!-- begin-user-doc -->
159 * <!-- end-user-doc -->
160 * @generated
161 */
162 @Override
163 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
164 switch (featureID) {
165 case LogiclanguagePackage.LESS_THAN__LEFT_OPERAND:
166 return basicSetLeftOperand(null, msgs);
167 case LogiclanguagePackage.LESS_THAN__RIGHT_OPERAND:
168 return basicSetRightOperand(null, msgs);
169 }
170 return super.eInverseRemove(otherEnd, featureID, msgs);
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public Object eGet(int featureID, boolean resolve, boolean coreType) {
180 switch (featureID) {
181 case LogiclanguagePackage.LESS_THAN__LEFT_OPERAND:
182 return getLeftOperand();
183 case LogiclanguagePackage.LESS_THAN__RIGHT_OPERAND:
184 return getRightOperand();
185 }
186 return super.eGet(featureID, resolve, coreType);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public void eSet(int featureID, Object newValue) {
196 switch (featureID) {
197 case LogiclanguagePackage.LESS_THAN__LEFT_OPERAND:
198 setLeftOperand((Term)newValue);
199 return;
200 case LogiclanguagePackage.LESS_THAN__RIGHT_OPERAND:
201 setRightOperand((Term)newValue);
202 return;
203 }
204 super.eSet(featureID, newValue);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eUnset(int featureID) {
214 switch (featureID) {
215 case LogiclanguagePackage.LESS_THAN__LEFT_OPERAND:
216 setLeftOperand((Term)null);
217 return;
218 case LogiclanguagePackage.LESS_THAN__RIGHT_OPERAND:
219 setRightOperand((Term)null);
220 return;
221 }
222 super.eUnset(featureID);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public boolean eIsSet(int featureID) {
232 switch (featureID) {
233 case LogiclanguagePackage.LESS_THAN__LEFT_OPERAND:
234 return leftOperand != null;
235 case LogiclanguagePackage.LESS_THAN__RIGHT_OPERAND:
236 return rightOperand != null;
237 }
238 return super.eIsSet(featureID);
239 }
240
241} //LessThanImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LogiclanguageFactoryImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LogiclanguageFactoryImpl.java
new file mode 100644
index 00000000..876947e4
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LogiclanguageFactoryImpl.java
@@ -0,0 +1,524 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.*;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage;
10
11import org.eclipse.emf.ecore.impl.EFactoryImpl;
12
13import org.eclipse.emf.ecore.plugin.EcorePlugin;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model <b>Factory</b>.
18 * <!-- end-user-doc -->
19 * @generated
20 */
21public class LogiclanguageFactoryImpl extends EFactoryImpl implements LogiclanguageFactory {
22 /**
23 * Creates the default factory implementation.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @generated
27 */
28 public static LogiclanguageFactory init() {
29 try {
30 LogiclanguageFactory theLogiclanguageFactory = (LogiclanguageFactory)EPackage.Registry.INSTANCE.getEFactory(LogiclanguagePackage.eNS_URI);
31 if (theLogiclanguageFactory != null) {
32 return theLogiclanguageFactory;
33 }
34 }
35 catch (Exception exception) {
36 EcorePlugin.INSTANCE.log(exception);
37 }
38 return new LogiclanguageFactoryImpl();
39 }
40
41 /**
42 * Creates an instance of the factory.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 public LogiclanguageFactoryImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 public EObject create(EClass eClass) {
58 switch (eClass.getClassifierID()) {
59 case LogiclanguagePackage.DEFINED_ELEMENT: return createDefinedElement();
60 case LogiclanguagePackage.TYPE_DEFINITION: return createTypeDefinition();
61 case LogiclanguagePackage.COMPLEX_TYPE_REFERENCE: return createComplexTypeReference();
62 case LogiclanguagePackage.INT_TYPE_REFERENCE: return createIntTypeReference();
63 case LogiclanguagePackage.BOOL_TYPE_REFERENCE: return createBoolTypeReference();
64 case LogiclanguagePackage.REAL_TYPE_REFERENCE: return createRealTypeReference();
65 case LogiclanguagePackage.SYMBOLIC_VALUE: return createSymbolicValue();
66 case LogiclanguagePackage.INT_LITERAL: return createIntLiteral();
67 case LogiclanguagePackage.BOOL_LITERAL: return createBoolLiteral();
68 case LogiclanguagePackage.REAL_LITERAL: return createRealLiteral();
69 case LogiclanguagePackage.VARIABLE: return createVariable();
70 case LogiclanguagePackage.EXISTS: return createExists();
71 case LogiclanguagePackage.FORALL: return createForall();
72 case LogiclanguagePackage.AND: return createAnd();
73 case LogiclanguagePackage.OR: return createOr();
74 case LogiclanguagePackage.IMPL: return createImpl();
75 case LogiclanguagePackage.NOT: return createNot();
76 case LogiclanguagePackage.IFF: return createIff();
77 case LogiclanguagePackage.EQUALS: return createEquals();
78 case LogiclanguagePackage.DISTINCT: return createDistinct();
79 case LogiclanguagePackage.LESS_THAN: return createLessThan();
80 case LogiclanguagePackage.MORE_THAN: return createMoreThan();
81 case LogiclanguagePackage.LESS_OR_EQUAL_THAN: return createLessOrEqualThan();
82 case LogiclanguagePackage.MORE_OR_EQUAL_THAN: return createMoreOrEqualThan();
83 case LogiclanguagePackage.PLUS: return createPlus();
84 case LogiclanguagePackage.MINUS: return createMinus();
85 case LogiclanguagePackage.MULTIPLY: return createMultiply();
86 case LogiclanguagePackage.DIVISON: return createDivison();
87 case LogiclanguagePackage.MOD: return createMod();
88 case LogiclanguagePackage.ASSERTION: return createAssertion();
89 case LogiclanguagePackage.CONSTANT_DEFINITION: return createConstantDefinition();
90 case LogiclanguagePackage.RELATION_DEFINITION: return createRelationDefinition();
91 case LogiclanguagePackage.FUNCTION_DEFINITION: return createFunctionDefinition();
92 case LogiclanguagePackage.IF_THEN_ELSE: return createIfThenElse();
93 case LogiclanguagePackage.CONSTANT_DECLARATION: return createConstantDeclaration();
94 case LogiclanguagePackage.RELATION_DECLARATION: return createRelationDeclaration();
95 case LogiclanguagePackage.FUNCTION_DECLARATION: return createFunctionDeclaration();
96 case LogiclanguagePackage.TYPE_DECLARATION: return createTypeDeclaration();
97 case LogiclanguagePackage.UNKNOWN_BECAUSE_UNINTERPRETED: return createUnknownBecauseUninterpreted();
98 case LogiclanguagePackage.INSTANCE_OF: return createInstanceOf();
99 default:
100 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
101 }
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 public DefinedElement createDefinedElement() {
110 DefinedElementImpl definedElement = new DefinedElementImpl();
111 return definedElement;
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 public TypeDefinition createTypeDefinition() {
120 TypeDefinitionImpl typeDefinition = new TypeDefinitionImpl();
121 return typeDefinition;
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 public ComplexTypeReference createComplexTypeReference() {
130 ComplexTypeReferenceImpl complexTypeReference = new ComplexTypeReferenceImpl();
131 return complexTypeReference;
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 public IntTypeReference createIntTypeReference() {
140 IntTypeReferenceImpl intTypeReference = new IntTypeReferenceImpl();
141 return intTypeReference;
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 public BoolTypeReference createBoolTypeReference() {
150 BoolTypeReferenceImpl boolTypeReference = new BoolTypeReferenceImpl();
151 return boolTypeReference;
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 public RealTypeReference createRealTypeReference() {
160 RealTypeReferenceImpl realTypeReference = new RealTypeReferenceImpl();
161 return realTypeReference;
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 public SymbolicValue createSymbolicValue() {
170 SymbolicValueImpl symbolicValue = new SymbolicValueImpl();
171 return symbolicValue;
172 }
173
174 /**
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 */
179 public IntLiteral createIntLiteral() {
180 IntLiteralImpl intLiteral = new IntLiteralImpl();
181 return intLiteral;
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 public BoolLiteral createBoolLiteral() {
190 BoolLiteralImpl boolLiteral = new BoolLiteralImpl();
191 return boolLiteral;
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 public RealLiteral createRealLiteral() {
200 RealLiteralImpl realLiteral = new RealLiteralImpl();
201 return realLiteral;
202 }
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 public Variable createVariable() {
210 VariableImpl variable = new VariableImpl();
211 return variable;
212 }
213
214 /**
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 public Exists createExists() {
220 ExistsImpl exists = new ExistsImpl();
221 return exists;
222 }
223
224 /**
225 * <!-- begin-user-doc -->
226 * <!-- end-user-doc -->
227 * @generated
228 */
229 public Forall createForall() {
230 ForallImpl forall = new ForallImpl();
231 return forall;
232 }
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 public And createAnd() {
240 AndImpl and = new AndImpl();
241 return and;
242 }
243
244 /**
245 * <!-- begin-user-doc -->
246 * <!-- end-user-doc -->
247 * @generated
248 */
249 public Or createOr() {
250 OrImpl or = new OrImpl();
251 return or;
252 }
253
254 /**
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @generated
258 */
259 public Impl createImpl() {
260 ImplImpl impl = new ImplImpl();
261 return impl;
262 }
263
264 /**
265 * <!-- begin-user-doc -->
266 * <!-- end-user-doc -->
267 * @generated
268 */
269 public Not createNot() {
270 NotImpl not = new NotImpl();
271 return not;
272 }
273
274 /**
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @generated
278 */
279 public Iff createIff() {
280 IffImpl iff = new IffImpl();
281 return iff;
282 }
283
284 /**
285 * <!-- begin-user-doc -->
286 * <!-- end-user-doc -->
287 * @generated
288 */
289 public Equals createEquals() {
290 EqualsImpl equals = new EqualsImpl();
291 return equals;
292 }
293
294 /**
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @generated
298 */
299 public Distinct createDistinct() {
300 DistinctImpl distinct = new DistinctImpl();
301 return distinct;
302 }
303
304 /**
305 * <!-- begin-user-doc -->
306 * <!-- end-user-doc -->
307 * @generated
308 */
309 public LessThan createLessThan() {
310 LessThanImpl lessThan = new LessThanImpl();
311 return lessThan;
312 }
313
314 /**
315 * <!-- begin-user-doc -->
316 * <!-- end-user-doc -->
317 * @generated
318 */
319 public MoreThan createMoreThan() {
320 MoreThanImpl moreThan = new MoreThanImpl();
321 return moreThan;
322 }
323
324 /**
325 * <!-- begin-user-doc -->
326 * <!-- end-user-doc -->
327 * @generated
328 */
329 public LessOrEqualThan createLessOrEqualThan() {
330 LessOrEqualThanImpl lessOrEqualThan = new LessOrEqualThanImpl();
331 return lessOrEqualThan;
332 }
333
334 /**
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @generated
338 */
339 public MoreOrEqualThan createMoreOrEqualThan() {
340 MoreOrEqualThanImpl moreOrEqualThan = new MoreOrEqualThanImpl();
341 return moreOrEqualThan;
342 }
343
344 /**
345 * <!-- begin-user-doc -->
346 * <!-- end-user-doc -->
347 * @generated
348 */
349 public Plus createPlus() {
350 PlusImpl plus = new PlusImpl();
351 return plus;
352 }
353
354 /**
355 * <!-- begin-user-doc -->
356 * <!-- end-user-doc -->
357 * @generated
358 */
359 public Minus createMinus() {
360 MinusImpl minus = new MinusImpl();
361 return minus;
362 }
363
364 /**
365 * <!-- begin-user-doc -->
366 * <!-- end-user-doc -->
367 * @generated
368 */
369 public Multiply createMultiply() {
370 MultiplyImpl multiply = new MultiplyImpl();
371 return multiply;
372 }
373
374 /**
375 * <!-- begin-user-doc -->
376 * <!-- end-user-doc -->
377 * @generated
378 */
379 public Divison createDivison() {
380 DivisonImpl divison = new DivisonImpl();
381 return divison;
382 }
383
384 /**
385 * <!-- begin-user-doc -->
386 * <!-- end-user-doc -->
387 * @generated
388 */
389 public Mod createMod() {
390 ModImpl mod = new ModImpl();
391 return mod;
392 }
393
394 /**
395 * <!-- begin-user-doc -->
396 * <!-- end-user-doc -->
397 * @generated
398 */
399 public Assertion createAssertion() {
400 AssertionImpl assertion = new AssertionImpl();
401 return assertion;
402 }
403
404 /**
405 * <!-- begin-user-doc -->
406 * <!-- end-user-doc -->
407 * @generated
408 */
409 public ConstantDefinition createConstantDefinition() {
410 ConstantDefinitionImpl constantDefinition = new ConstantDefinitionImpl();
411 return constantDefinition;
412 }
413
414 /**
415 * <!-- begin-user-doc -->
416 * <!-- end-user-doc -->
417 * @generated
418 */
419 public RelationDefinition createRelationDefinition() {
420 RelationDefinitionImpl relationDefinition = new RelationDefinitionImpl();
421 return relationDefinition;
422 }
423
424 /**
425 * <!-- begin-user-doc -->
426 * <!-- end-user-doc -->
427 * @generated
428 */
429 public FunctionDefinition createFunctionDefinition() {
430 FunctionDefinitionImpl functionDefinition = new FunctionDefinitionImpl();
431 return functionDefinition;
432 }
433
434 /**
435 * <!-- begin-user-doc -->
436 * <!-- end-user-doc -->
437 * @generated
438 */
439 public IfThenElse createIfThenElse() {
440 IfThenElseImpl ifThenElse = new IfThenElseImpl();
441 return ifThenElse;
442 }
443
444 /**
445 * <!-- begin-user-doc -->
446 * <!-- end-user-doc -->
447 * @generated
448 */
449 public ConstantDeclaration createConstantDeclaration() {
450 ConstantDeclarationImpl constantDeclaration = new ConstantDeclarationImpl();
451 return constantDeclaration;
452 }
453
454 /**
455 * <!-- begin-user-doc -->
456 * <!-- end-user-doc -->
457 * @generated
458 */
459 public RelationDeclaration createRelationDeclaration() {
460 RelationDeclarationImpl relationDeclaration = new RelationDeclarationImpl();
461 return relationDeclaration;
462 }
463
464 /**
465 * <!-- begin-user-doc -->
466 * <!-- end-user-doc -->
467 * @generated
468 */
469 public FunctionDeclaration createFunctionDeclaration() {
470 FunctionDeclarationImpl functionDeclaration = new FunctionDeclarationImpl();
471 return functionDeclaration;
472 }
473
474 /**
475 * <!-- begin-user-doc -->
476 * <!-- end-user-doc -->
477 * @generated
478 */
479 public TypeDeclaration createTypeDeclaration() {
480 TypeDeclarationImpl typeDeclaration = new TypeDeclarationImpl();
481 return typeDeclaration;
482 }
483
484 /**
485 * <!-- begin-user-doc -->
486 * <!-- end-user-doc -->
487 * @generated
488 */
489 public UnknownBecauseUninterpreted createUnknownBecauseUninterpreted() {
490 UnknownBecauseUninterpretedImpl unknownBecauseUninterpreted = new UnknownBecauseUninterpretedImpl();
491 return unknownBecauseUninterpreted;
492 }
493
494 /**
495 * <!-- begin-user-doc -->
496 * <!-- end-user-doc -->
497 * @generated
498 */
499 public InstanceOf createInstanceOf() {
500 InstanceOfImpl instanceOf = new InstanceOfImpl();
501 return instanceOf;
502 }
503
504 /**
505 * <!-- begin-user-doc -->
506 * <!-- end-user-doc -->
507 * @generated
508 */
509 public LogiclanguagePackage getLogiclanguagePackage() {
510 return (LogiclanguagePackage)getEPackage();
511 }
512
513 /**
514 * <!-- begin-user-doc -->
515 * <!-- end-user-doc -->
516 * @deprecated
517 * @generated
518 */
519 @Deprecated
520 public static LogiclanguagePackage getPackage() {
521 return LogiclanguagePackage.eINSTANCE;
522 }
523
524} //LogiclanguageFactoryImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LogiclanguagePackageImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LogiclanguagePackageImpl.java
new file mode 100644
index 00000000..b73d679d
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LogiclanguagePackageImpl.java
@@ -0,0 +1,2032 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.And;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.AtomicTerm;
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolLiteral;
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolOperation;
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolTypeReference;
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference;
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant;
13import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration;
14import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition;
15import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
16import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Distinct;
17import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Divison;
18import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals;
19import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Exists;
20import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Forall;
21import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function;
22import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration;
23import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition;
24import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse;
25import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff;
26import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl;
27import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf;
28import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral;
29import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntOperation;
30import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntTypeReference;
31import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan;
32import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan;
33import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory;
34import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
35import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Minus;
36import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Mod;
37import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan;
38import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan;
39import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Multiply;
40import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Not;
41import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Or;
42import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Plus;
43import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.PrimitiveRelation;
44import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.PrimitiveTypeReference;
45import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression;
46import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral;
47import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealTypeReference;
48import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation;
49import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration;
50import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition;
51import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicDeclaration;
52import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue;
53import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
54import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription;
55import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type;
56import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration;
57import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition;
58import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDescriptor;
59import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference;
60import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.UnknownBecauseUninterpreted;
61import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable;
62
63import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
64
65import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemPackageImpl;
66
67import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage;
68
69import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl;
70
71import org.eclipse.emf.ecore.EAttribute;
72import org.eclipse.emf.ecore.EClass;
73import org.eclipse.emf.ecore.EPackage;
74import org.eclipse.emf.ecore.EReference;
75
76import org.eclipse.emf.ecore.impl.EPackageImpl;
77
78/**
79 * <!-- begin-user-doc -->
80 * An implementation of the model <b>Package</b>.
81 * <!-- end-user-doc -->
82 * @generated
83 */
84public class LogiclanguagePackageImpl extends EPackageImpl implements LogiclanguagePackage {
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 private EClass typeEClass = null;
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 private EClass definedElementEClass = null;
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 private EClass typeDefinitionEClass = null;
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 private EClass typeReferenceEClass = null;
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 private EClass complexTypeReferenceEClass = null;
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 private EClass primitiveTypeReferenceEClass = null;
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 private EClass intTypeReferenceEClass = null;
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 private EClass boolTypeReferenceEClass = null;
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 private EClass realTypeReferenceEClass = null;
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 private EClass functionEClass = null;
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 private EClass termEClass = null;
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 private EClass symbolicDeclarationEClass = null;
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 private EClass symbolicValueEClass = null;
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 private EClass atomicTermEClass = null;
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 private EClass intLiteralEClass = null;
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 private EClass boolLiteralEClass = null;
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 private EClass realLiteralEClass = null;
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 private EClass variableEClass = null;
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 private EClass quantifiedExpressionEClass = null;
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 private EClass existsEClass = null;
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 private EClass forallEClass = null;
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 private EClass boolOperationEClass = null;
238
239 /**
240 * <!-- begin-user-doc -->
241 * <!-- end-user-doc -->
242 * @generated
243 */
244 private EClass andEClass = null;
245
246 /**
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 */
251 private EClass orEClass = null;
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 private EClass implEClass = null;
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 private EClass notEClass = null;
266
267 /**
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 private EClass iffEClass = null;
273
274 /**
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @generated
278 */
279 private EClass primitiveRelationEClass = null;
280
281 /**
282 * <!-- begin-user-doc -->
283 * <!-- end-user-doc -->
284 * @generated
285 */
286 private EClass equalsEClass = null;
287
288 /**
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @generated
292 */
293 private EClass distinctEClass = null;
294
295 /**
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @generated
299 */
300 private EClass lessThanEClass = null;
301
302 /**
303 * <!-- begin-user-doc -->
304 * <!-- end-user-doc -->
305 * @generated
306 */
307 private EClass moreThanEClass = null;
308
309 /**
310 * <!-- begin-user-doc -->
311 * <!-- end-user-doc -->
312 * @generated
313 */
314 private EClass lessOrEqualThanEClass = null;
315
316 /**
317 * <!-- begin-user-doc -->
318 * <!-- end-user-doc -->
319 * @generated
320 */
321 private EClass moreOrEqualThanEClass = null;
322
323 /**
324 * <!-- begin-user-doc -->
325 * <!-- end-user-doc -->
326 * @generated
327 */
328 private EClass intOperationEClass = null;
329
330 /**
331 * <!-- begin-user-doc -->
332 * <!-- end-user-doc -->
333 * @generated
334 */
335 private EClass plusEClass = null;
336
337 /**
338 * <!-- begin-user-doc -->
339 * <!-- end-user-doc -->
340 * @generated
341 */
342 private EClass minusEClass = null;
343
344 /**
345 * <!-- begin-user-doc -->
346 * <!-- end-user-doc -->
347 * @generated
348 */
349 private EClass multiplyEClass = null;
350
351 /**
352 * <!-- begin-user-doc -->
353 * <!-- end-user-doc -->
354 * @generated
355 */
356 private EClass divisonEClass = null;
357
358 /**
359 * <!-- begin-user-doc -->
360 * <!-- end-user-doc -->
361 * @generated
362 */
363 private EClass modEClass = null;
364
365 /**
366 * <!-- begin-user-doc -->
367 * <!-- end-user-doc -->
368 * @generated
369 */
370 private EClass typeDescriptorEClass = null;
371
372 /**
373 * <!-- begin-user-doc -->
374 * <!-- end-user-doc -->
375 * @generated
376 */
377 private EClass termDescriptionEClass = null;
378
379 /**
380 * <!-- begin-user-doc -->
381 * <!-- end-user-doc -->
382 * @generated
383 */
384 private EClass assertionEClass = null;
385
386 /**
387 * <!-- begin-user-doc -->
388 * <!-- end-user-doc -->
389 * @generated
390 */
391 private EClass relationEClass = null;
392
393 /**
394 * <!-- begin-user-doc -->
395 * <!-- end-user-doc -->
396 * @generated
397 */
398 private EClass constantEClass = null;
399
400 /**
401 * <!-- begin-user-doc -->
402 * <!-- end-user-doc -->
403 * @generated
404 */
405 private EClass constantDefinitionEClass = null;
406
407 /**
408 * <!-- begin-user-doc -->
409 * <!-- end-user-doc -->
410 * @generated
411 */
412 private EClass relationDefinitionEClass = null;
413
414 /**
415 * <!-- begin-user-doc -->
416 * <!-- end-user-doc -->
417 * @generated
418 */
419 private EClass functionDefinitionEClass = null;
420
421 /**
422 * <!-- begin-user-doc -->
423 * <!-- end-user-doc -->
424 * @generated
425 */
426 private EClass ifThenElseEClass = null;
427
428 /**
429 * <!-- begin-user-doc -->
430 * <!-- end-user-doc -->
431 * @generated
432 */
433 private EClass constantDeclarationEClass = null;
434
435 /**
436 * <!-- begin-user-doc -->
437 * <!-- end-user-doc -->
438 * @generated
439 */
440 private EClass relationDeclarationEClass = null;
441
442 /**
443 * <!-- begin-user-doc -->
444 * <!-- end-user-doc -->
445 * @generated
446 */
447 private EClass functionDeclarationEClass = null;
448
449 /**
450 * <!-- begin-user-doc -->
451 * <!-- end-user-doc -->
452 * @generated
453 */
454 private EClass typeDeclarationEClass = null;
455
456 /**
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @generated
460 */
461 private EClass unknownBecauseUninterpretedEClass = null;
462
463 /**
464 * <!-- begin-user-doc -->
465 * <!-- end-user-doc -->
466 * @generated
467 */
468 private EClass instanceOfEClass = null;
469
470 /**
471 * Creates an instance of the model <b>Package</b>, registered with
472 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
473 * package URI value.
474 * <p>Note: the correct way to create the package is via the static
475 * factory method {@link #init init()}, which also performs
476 * initialization of the package, or returns the registered package,
477 * if one already exists.
478 * <!-- begin-user-doc -->
479 * <!-- end-user-doc -->
480 * @see org.eclipse.emf.ecore.EPackage.Registry
481 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#eNS_URI
482 * @see #init()
483 * @generated
484 */
485 private LogiclanguagePackageImpl() {
486 super(eNS_URI, LogiclanguageFactory.eINSTANCE);
487 }
488
489 /**
490 * <!-- begin-user-doc -->
491 * <!-- end-user-doc -->
492 * @generated
493 */
494 private static boolean isInited = false;
495
496 /**
497 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
498 *
499 * <p>This method is used to initialize {@link LogiclanguagePackage#eINSTANCE} when that field is accessed.
500 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
501 * <!-- begin-user-doc -->
502 * <!-- end-user-doc -->
503 * @see #eNS_URI
504 * @see #createPackageContents()
505 * @see #initializePackageContents()
506 * @generated
507 */
508 public static LogiclanguagePackage init() {
509 if (isInited) return (LogiclanguagePackage)EPackage.Registry.INSTANCE.getEPackage(LogiclanguagePackage.eNS_URI);
510
511 // Obtain or create and register package
512 LogiclanguagePackageImpl theLogiclanguagePackage = (LogiclanguagePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof LogiclanguagePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new LogiclanguagePackageImpl());
513
514 isInited = true;
515
516 // Obtain or create and register interdependencies
517 LogicproblemPackageImpl theLogicproblemPackage = (LogicproblemPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(LogicproblemPackage.eNS_URI) instanceof LogicproblemPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(LogicproblemPackage.eNS_URI) : LogicproblemPackage.eINSTANCE);
518 LogicresultPackageImpl theLogicresultPackage = (LogicresultPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(LogicresultPackage.eNS_URI) instanceof LogicresultPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(LogicresultPackage.eNS_URI) : LogicresultPackage.eINSTANCE);
519
520 // Create package meta-data objects
521 theLogiclanguagePackage.createPackageContents();
522 theLogicproblemPackage.createPackageContents();
523 theLogicresultPackage.createPackageContents();
524
525 // Initialize created meta-data
526 theLogiclanguagePackage.initializePackageContents();
527 theLogicproblemPackage.initializePackageContents();
528 theLogicresultPackage.initializePackageContents();
529
530 // Mark meta-data to indicate it can't be changed
531 theLogiclanguagePackage.freeze();
532
533
534 // Update the registry and return the package
535 EPackage.Registry.INSTANCE.put(LogiclanguagePackage.eNS_URI, theLogiclanguagePackage);
536 return theLogiclanguagePackage;
537 }
538
539 /**
540 * <!-- begin-user-doc -->
541 * <!-- end-user-doc -->
542 * @generated
543 */
544 public EClass getType() {
545 return typeEClass;
546 }
547
548 /**
549 * <!-- begin-user-doc -->
550 * <!-- end-user-doc -->
551 * @generated
552 */
553 public EAttribute getType_Name() {
554 return (EAttribute)typeEClass.getEStructuralFeatures().get(0);
555 }
556
557 /**
558 * <!-- begin-user-doc -->
559 * <!-- end-user-doc -->
560 * @generated
561 */
562 public EReference getType_Subtypes() {
563 return (EReference)typeEClass.getEStructuralFeatures().get(1);
564 }
565
566 /**
567 * <!-- begin-user-doc -->
568 * <!-- end-user-doc -->
569 * @generated
570 */
571 public EReference getType_Supertypes() {
572 return (EReference)typeEClass.getEStructuralFeatures().get(2);
573 }
574
575 /**
576 * <!-- begin-user-doc -->
577 * <!-- end-user-doc -->
578 * @generated
579 */
580 public EAttribute getType_IsAbstract() {
581 return (EAttribute)typeEClass.getEStructuralFeatures().get(3);
582 }
583
584 /**
585 * <!-- begin-user-doc -->
586 * <!-- end-user-doc -->
587 * @generated
588 */
589 public EClass getDefinedElement() {
590 return definedElementEClass;
591 }
592
593 /**
594 * <!-- begin-user-doc -->
595 * <!-- end-user-doc -->
596 * @generated
597 */
598 public EReference getDefinedElement_DefinedInType() {
599 return (EReference)definedElementEClass.getEStructuralFeatures().get(0);
600 }
601
602 /**
603 * <!-- begin-user-doc -->
604 * <!-- end-user-doc -->
605 * @generated
606 */
607 public EClass getTypeDefinition() {
608 return typeDefinitionEClass;
609 }
610
611 /**
612 * <!-- begin-user-doc -->
613 * <!-- end-user-doc -->
614 * @generated
615 */
616 public EReference getTypeDefinition_Elements() {
617 return (EReference)typeDefinitionEClass.getEStructuralFeatures().get(0);
618 }
619
620 /**
621 * <!-- begin-user-doc -->
622 * <!-- end-user-doc -->
623 * @generated
624 */
625 public EReference getTypeDefinition_Defines() {
626 return (EReference)typeDefinitionEClass.getEStructuralFeatures().get(1);
627 }
628
629 /**
630 * <!-- begin-user-doc -->
631 * <!-- end-user-doc -->
632 * @generated
633 */
634 public EClass getTypeReference() {
635 return typeReferenceEClass;
636 }
637
638 /**
639 * <!-- begin-user-doc -->
640 * <!-- end-user-doc -->
641 * @generated
642 */
643 public EClass getComplexTypeReference() {
644 return complexTypeReferenceEClass;
645 }
646
647 /**
648 * <!-- begin-user-doc -->
649 * <!-- end-user-doc -->
650 * @generated
651 */
652 public EReference getComplexTypeReference_Referred() {
653 return (EReference)complexTypeReferenceEClass.getEStructuralFeatures().get(0);
654 }
655
656 /**
657 * <!-- begin-user-doc -->
658 * <!-- end-user-doc -->
659 * @generated
660 */
661 public EClass getPrimitiveTypeReference() {
662 return primitiveTypeReferenceEClass;
663 }
664
665 /**
666 * <!-- begin-user-doc -->
667 * <!-- end-user-doc -->
668 * @generated
669 */
670 public EClass getIntTypeReference() {
671 return intTypeReferenceEClass;
672 }
673
674 /**
675 * <!-- begin-user-doc -->
676 * <!-- end-user-doc -->
677 * @generated
678 */
679 public EClass getBoolTypeReference() {
680 return boolTypeReferenceEClass;
681 }
682
683 /**
684 * <!-- begin-user-doc -->
685 * <!-- end-user-doc -->
686 * @generated
687 */
688 public EClass getRealTypeReference() {
689 return realTypeReferenceEClass;
690 }
691
692 /**
693 * <!-- begin-user-doc -->
694 * <!-- end-user-doc -->
695 * @generated
696 */
697 public EClass getFunction() {
698 return functionEClass;
699 }
700
701 /**
702 * <!-- begin-user-doc -->
703 * <!-- end-user-doc -->
704 * @generated
705 */
706 public EReference getFunction_Range() {
707 return (EReference)functionEClass.getEStructuralFeatures().get(0);
708 }
709
710 /**
711 * <!-- begin-user-doc -->
712 * <!-- end-user-doc -->
713 * @generated
714 */
715 public EReference getFunction_Parameters() {
716 return (EReference)functionEClass.getEStructuralFeatures().get(1);
717 }
718
719 /**
720 * <!-- begin-user-doc -->
721 * <!-- end-user-doc -->
722 * @generated
723 */
724 public EReference getFunction_Annotations() {
725 return (EReference)functionEClass.getEStructuralFeatures().get(2);
726 }
727
728 /**
729 * <!-- begin-user-doc -->
730 * <!-- end-user-doc -->
731 * @generated
732 */
733 public EClass getTerm() {
734 return termEClass;
735 }
736
737 /**
738 * <!-- begin-user-doc -->
739 * <!-- end-user-doc -->
740 * @generated
741 */
742 public EClass getSymbolicDeclaration() {
743 return symbolicDeclarationEClass;
744 }
745
746 /**
747 * <!-- begin-user-doc -->
748 * <!-- end-user-doc -->
749 * @generated
750 */
751 public EAttribute getSymbolicDeclaration_Name() {
752 return (EAttribute)symbolicDeclarationEClass.getEStructuralFeatures().get(0);
753 }
754
755 /**
756 * <!-- begin-user-doc -->
757 * <!-- end-user-doc -->
758 * @generated
759 */
760 public EClass getSymbolicValue() {
761 return symbolicValueEClass;
762 }
763
764 /**
765 * <!-- begin-user-doc -->
766 * <!-- end-user-doc -->
767 * @generated
768 */
769 public EReference getSymbolicValue_SymbolicReference() {
770 return (EReference)symbolicValueEClass.getEStructuralFeatures().get(0);
771 }
772
773 /**
774 * <!-- begin-user-doc -->
775 * <!-- end-user-doc -->
776 * @generated
777 */
778 public EReference getSymbolicValue_ParameterSubstitutions() {
779 return (EReference)symbolicValueEClass.getEStructuralFeatures().get(1);
780 }
781
782 /**
783 * <!-- begin-user-doc -->
784 * <!-- end-user-doc -->
785 * @generated
786 */
787 public EClass getAtomicTerm() {
788 return atomicTermEClass;
789 }
790
791 /**
792 * <!-- begin-user-doc -->
793 * <!-- end-user-doc -->
794 * @generated
795 */
796 public EClass getIntLiteral() {
797 return intLiteralEClass;
798 }
799
800 /**
801 * <!-- begin-user-doc -->
802 * <!-- end-user-doc -->
803 * @generated
804 */
805 public EAttribute getIntLiteral_Value() {
806 return (EAttribute)intLiteralEClass.getEStructuralFeatures().get(0);
807 }
808
809 /**
810 * <!-- begin-user-doc -->
811 * <!-- end-user-doc -->
812 * @generated
813 */
814 public EClass getBoolLiteral() {
815 return boolLiteralEClass;
816 }
817
818 /**
819 * <!-- begin-user-doc -->
820 * <!-- end-user-doc -->
821 * @generated
822 */
823 public EAttribute getBoolLiteral_Value() {
824 return (EAttribute)boolLiteralEClass.getEStructuralFeatures().get(0);
825 }
826
827 /**
828 * <!-- begin-user-doc -->
829 * <!-- end-user-doc -->
830 * @generated
831 */
832 public EClass getRealLiteral() {
833 return realLiteralEClass;
834 }
835
836 /**
837 * <!-- begin-user-doc -->
838 * <!-- end-user-doc -->
839 * @generated
840 */
841 public EAttribute getRealLiteral_Value() {
842 return (EAttribute)realLiteralEClass.getEStructuralFeatures().get(0);
843 }
844
845 /**
846 * <!-- begin-user-doc -->
847 * <!-- end-user-doc -->
848 * @generated
849 */
850 public EClass getVariable() {
851 return variableEClass;
852 }
853
854 /**
855 * <!-- begin-user-doc -->
856 * <!-- end-user-doc -->
857 * @generated
858 */
859 public EReference getVariable_Range() {
860 return (EReference)variableEClass.getEStructuralFeatures().get(0);
861 }
862
863 /**
864 * <!-- begin-user-doc -->
865 * <!-- end-user-doc -->
866 * @generated
867 */
868 public EClass getQuantifiedExpression() {
869 return quantifiedExpressionEClass;
870 }
871
872 /**
873 * <!-- begin-user-doc -->
874 * <!-- end-user-doc -->
875 * @generated
876 */
877 public EReference getQuantifiedExpression_QuantifiedVariables() {
878 return (EReference)quantifiedExpressionEClass.getEStructuralFeatures().get(0);
879 }
880
881 /**
882 * <!-- begin-user-doc -->
883 * <!-- end-user-doc -->
884 * @generated
885 */
886 public EReference getQuantifiedExpression_Expression() {
887 return (EReference)quantifiedExpressionEClass.getEStructuralFeatures().get(1);
888 }
889
890 /**
891 * <!-- begin-user-doc -->
892 * <!-- end-user-doc -->
893 * @generated
894 */
895 public EClass getExists() {
896 return existsEClass;
897 }
898
899 /**
900 * <!-- begin-user-doc -->
901 * <!-- end-user-doc -->
902 * @generated
903 */
904 public EClass getForall() {
905 return forallEClass;
906 }
907
908 /**
909 * <!-- begin-user-doc -->
910 * <!-- end-user-doc -->
911 * @generated
912 */
913 public EClass getBoolOperation() {
914 return boolOperationEClass;
915 }
916
917 /**
918 * <!-- begin-user-doc -->
919 * <!-- end-user-doc -->
920 * @generated
921 */
922 public EClass getAnd() {
923 return andEClass;
924 }
925
926 /**
927 * <!-- begin-user-doc -->
928 * <!-- end-user-doc -->
929 * @generated
930 */
931 public EReference getAnd_Operands() {
932 return (EReference)andEClass.getEStructuralFeatures().get(0);
933 }
934
935 /**
936 * <!-- begin-user-doc -->
937 * <!-- end-user-doc -->
938 * @generated
939 */
940 public EClass getOr() {
941 return orEClass;
942 }
943
944 /**
945 * <!-- begin-user-doc -->
946 * <!-- end-user-doc -->
947 * @generated
948 */
949 public EReference getOr_Operands() {
950 return (EReference)orEClass.getEStructuralFeatures().get(0);
951 }
952
953 /**
954 * <!-- begin-user-doc -->
955 * <!-- end-user-doc -->
956 * @generated
957 */
958 public EClass getImpl() {
959 return implEClass;
960 }
961
962 /**
963 * <!-- begin-user-doc -->
964 * <!-- end-user-doc -->
965 * @generated
966 */
967 public EReference getImpl_LeftOperand() {
968 return (EReference)implEClass.getEStructuralFeatures().get(0);
969 }
970
971 /**
972 * <!-- begin-user-doc -->
973 * <!-- end-user-doc -->
974 * @generated
975 */
976 public EReference getImpl_RightOperand() {
977 return (EReference)implEClass.getEStructuralFeatures().get(1);
978 }
979
980 /**
981 * <!-- begin-user-doc -->
982 * <!-- end-user-doc -->
983 * @generated
984 */
985 public EClass getNot() {
986 return notEClass;
987 }
988
989 /**
990 * <!-- begin-user-doc -->
991 * <!-- end-user-doc -->
992 * @generated
993 */
994 public EReference getNot_Operand() {
995 return (EReference)notEClass.getEStructuralFeatures().get(0);
996 }
997
998 /**
999 * <!-- begin-user-doc -->
1000 * <!-- end-user-doc -->
1001 * @generated
1002 */
1003 public EClass getIff() {
1004 return iffEClass;
1005 }
1006
1007 /**
1008 * <!-- begin-user-doc -->
1009 * <!-- end-user-doc -->
1010 * @generated
1011 */
1012 public EReference getIff_LeftOperand() {
1013 return (EReference)iffEClass.getEStructuralFeatures().get(0);
1014 }
1015
1016 /**
1017 * <!-- begin-user-doc -->
1018 * <!-- end-user-doc -->
1019 * @generated
1020 */
1021 public EReference getIff_RightOperand() {
1022 return (EReference)iffEClass.getEStructuralFeatures().get(1);
1023 }
1024
1025 /**
1026 * <!-- begin-user-doc -->
1027 * <!-- end-user-doc -->
1028 * @generated
1029 */
1030 public EClass getPrimitiveRelation() {
1031 return primitiveRelationEClass;
1032 }
1033
1034 /**
1035 * <!-- begin-user-doc -->
1036 * <!-- end-user-doc -->
1037 * @generated
1038 */
1039 public EClass getEquals() {
1040 return equalsEClass;
1041 }
1042
1043 /**
1044 * <!-- begin-user-doc -->
1045 * <!-- end-user-doc -->
1046 * @generated
1047 */
1048 public EReference getEquals_LeftOperand() {
1049 return (EReference)equalsEClass.getEStructuralFeatures().get(0);
1050 }
1051
1052 /**
1053 * <!-- begin-user-doc -->
1054 * <!-- end-user-doc -->
1055 * @generated
1056 */
1057 public EReference getEquals_RightOperand() {
1058 return (EReference)equalsEClass.getEStructuralFeatures().get(1);
1059 }
1060
1061 /**
1062 * <!-- begin-user-doc -->
1063 * <!-- end-user-doc -->
1064 * @generated
1065 */
1066 public EClass getDistinct() {
1067 return distinctEClass;
1068 }
1069
1070 /**
1071 * <!-- begin-user-doc -->
1072 * <!-- end-user-doc -->
1073 * @generated
1074 */
1075 public EReference getDistinct_Operands() {
1076 return (EReference)distinctEClass.getEStructuralFeatures().get(0);
1077 }
1078
1079 /**
1080 * <!-- begin-user-doc -->
1081 * <!-- end-user-doc -->
1082 * @generated
1083 */
1084 public EClass getLessThan() {
1085 return lessThanEClass;
1086 }
1087
1088 /**
1089 * <!-- begin-user-doc -->
1090 * <!-- end-user-doc -->
1091 * @generated
1092 */
1093 public EReference getLessThan_LeftOperand() {
1094 return (EReference)lessThanEClass.getEStructuralFeatures().get(0);
1095 }
1096
1097 /**
1098 * <!-- begin-user-doc -->
1099 * <!-- end-user-doc -->
1100 * @generated
1101 */
1102 public EReference getLessThan_RightOperand() {
1103 return (EReference)lessThanEClass.getEStructuralFeatures().get(1);
1104 }
1105
1106 /**
1107 * <!-- begin-user-doc -->
1108 * <!-- end-user-doc -->
1109 * @generated
1110 */
1111 public EClass getMoreThan() {
1112 return moreThanEClass;
1113 }
1114
1115 /**
1116 * <!-- begin-user-doc -->
1117 * <!-- end-user-doc -->
1118 * @generated
1119 */
1120 public EReference getMoreThan_LeftOperand() {
1121 return (EReference)moreThanEClass.getEStructuralFeatures().get(0);
1122 }
1123
1124 /**
1125 * <!-- begin-user-doc -->
1126 * <!-- end-user-doc -->
1127 * @generated
1128 */
1129 public EReference getMoreThan_RightOperand() {
1130 return (EReference)moreThanEClass.getEStructuralFeatures().get(1);
1131 }
1132
1133 /**
1134 * <!-- begin-user-doc -->
1135 * <!-- end-user-doc -->
1136 * @generated
1137 */
1138 public EClass getLessOrEqualThan() {
1139 return lessOrEqualThanEClass;
1140 }
1141
1142 /**
1143 * <!-- begin-user-doc -->
1144 * <!-- end-user-doc -->
1145 * @generated
1146 */
1147 public EReference getLessOrEqualThan_LeftOperand() {
1148 return (EReference)lessOrEqualThanEClass.getEStructuralFeatures().get(0);
1149 }
1150
1151 /**
1152 * <!-- begin-user-doc -->
1153 * <!-- end-user-doc -->
1154 * @generated
1155 */
1156 public EReference getLessOrEqualThan_RightOperand() {
1157 return (EReference)lessOrEqualThanEClass.getEStructuralFeatures().get(1);
1158 }
1159
1160 /**
1161 * <!-- begin-user-doc -->
1162 * <!-- end-user-doc -->
1163 * @generated
1164 */
1165 public EClass getMoreOrEqualThan() {
1166 return moreOrEqualThanEClass;
1167 }
1168
1169 /**
1170 * <!-- begin-user-doc -->
1171 * <!-- end-user-doc -->
1172 * @generated
1173 */
1174 public EReference getMoreOrEqualThan_LeftOperand() {
1175 return (EReference)moreOrEqualThanEClass.getEStructuralFeatures().get(0);
1176 }
1177
1178 /**
1179 * <!-- begin-user-doc -->
1180 * <!-- end-user-doc -->
1181 * @generated
1182 */
1183 public EReference getMoreOrEqualThan_RightOperand() {
1184 return (EReference)moreOrEqualThanEClass.getEStructuralFeatures().get(1);
1185 }
1186
1187 /**
1188 * <!-- begin-user-doc -->
1189 * <!-- end-user-doc -->
1190 * @generated
1191 */
1192 public EClass getIntOperation() {
1193 return intOperationEClass;
1194 }
1195
1196 /**
1197 * <!-- begin-user-doc -->
1198 * <!-- end-user-doc -->
1199 * @generated
1200 */
1201 public EReference getIntOperation_LeftOperand() {
1202 return (EReference)intOperationEClass.getEStructuralFeatures().get(0);
1203 }
1204
1205 /**
1206 * <!-- begin-user-doc -->
1207 * <!-- end-user-doc -->
1208 * @generated
1209 */
1210 public EReference getIntOperation_RightOperand() {
1211 return (EReference)intOperationEClass.getEStructuralFeatures().get(1);
1212 }
1213
1214 /**
1215 * <!-- begin-user-doc -->
1216 * <!-- end-user-doc -->
1217 * @generated
1218 */
1219 public EClass getPlus() {
1220 return plusEClass;
1221 }
1222
1223 /**
1224 * <!-- begin-user-doc -->
1225 * <!-- end-user-doc -->
1226 * @generated
1227 */
1228 public EClass getMinus() {
1229 return minusEClass;
1230 }
1231
1232 /**
1233 * <!-- begin-user-doc -->
1234 * <!-- end-user-doc -->
1235 * @generated
1236 */
1237 public EClass getMultiply() {
1238 return multiplyEClass;
1239 }
1240
1241 /**
1242 * <!-- begin-user-doc -->
1243 * <!-- end-user-doc -->
1244 * @generated
1245 */
1246 public EClass getDivison() {
1247 return divisonEClass;
1248 }
1249
1250 /**
1251 * <!-- begin-user-doc -->
1252 * <!-- end-user-doc -->
1253 * @generated
1254 */
1255 public EClass getMod() {
1256 return modEClass;
1257 }
1258
1259 /**
1260 * <!-- begin-user-doc -->
1261 * <!-- end-user-doc -->
1262 * @generated
1263 */
1264 public EClass getTypeDescriptor() {
1265 return typeDescriptorEClass;
1266 }
1267
1268 /**
1269 * <!-- begin-user-doc -->
1270 * <!-- end-user-doc -->
1271 * @generated
1272 */
1273 public EClass getTermDescription() {
1274 return termDescriptionEClass;
1275 }
1276
1277 /**
1278 * <!-- begin-user-doc -->
1279 * <!-- end-user-doc -->
1280 * @generated
1281 */
1282 public EClass getAssertion() {
1283 return assertionEClass;
1284 }
1285
1286 /**
1287 * <!-- begin-user-doc -->
1288 * <!-- end-user-doc -->
1289 * @generated
1290 */
1291 public EReference getAssertion_Value() {
1292 return (EReference)assertionEClass.getEStructuralFeatures().get(0);
1293 }
1294
1295 /**
1296 * <!-- begin-user-doc -->
1297 * <!-- end-user-doc -->
1298 * @generated
1299 */
1300 public EAttribute getAssertion_Name() {
1301 return (EAttribute)assertionEClass.getEStructuralFeatures().get(1);
1302 }
1303
1304 /**
1305 * <!-- begin-user-doc -->
1306 * <!-- end-user-doc -->
1307 * @generated
1308 */
1309 public EReference getAssertion_Annotations() {
1310 return (EReference)assertionEClass.getEStructuralFeatures().get(2);
1311 }
1312
1313 /**
1314 * <!-- begin-user-doc -->
1315 * <!-- end-user-doc -->
1316 * @generated
1317 */
1318 public EClass getRelation() {
1319 return relationEClass;
1320 }
1321
1322 /**
1323 * <!-- begin-user-doc -->
1324 * <!-- end-user-doc -->
1325 * @generated
1326 */
1327 public EReference getRelation_Parameters() {
1328 return (EReference)relationEClass.getEStructuralFeatures().get(0);
1329 }
1330
1331 /**
1332 * <!-- begin-user-doc -->
1333 * <!-- end-user-doc -->
1334 * @generated
1335 */
1336 public EReference getRelation_Annotations() {
1337 return (EReference)relationEClass.getEStructuralFeatures().get(1);
1338 }
1339
1340 /**
1341 * <!-- begin-user-doc -->
1342 * <!-- end-user-doc -->
1343 * @generated
1344 */
1345 public EClass getConstant() {
1346 return constantEClass;
1347 }
1348
1349 /**
1350 * <!-- begin-user-doc -->
1351 * <!-- end-user-doc -->
1352 * @generated
1353 */
1354 public EReference getConstant_Type() {
1355 return (EReference)constantEClass.getEStructuralFeatures().get(0);
1356 }
1357
1358 /**
1359 * <!-- begin-user-doc -->
1360 * <!-- end-user-doc -->
1361 * @generated
1362 */
1363 public EReference getConstant_Annotations() {
1364 return (EReference)constantEClass.getEStructuralFeatures().get(1);
1365 }
1366
1367 /**
1368 * <!-- begin-user-doc -->
1369 * <!-- end-user-doc -->
1370 * @generated
1371 */
1372 public EClass getConstantDefinition() {
1373 return constantDefinitionEClass;
1374 }
1375
1376 /**
1377 * <!-- begin-user-doc -->
1378 * <!-- end-user-doc -->
1379 * @generated
1380 */
1381 public EReference getConstantDefinition_Value() {
1382 return (EReference)constantDefinitionEClass.getEStructuralFeatures().get(0);
1383 }
1384
1385 /**
1386 * <!-- begin-user-doc -->
1387 * <!-- end-user-doc -->
1388 * @generated
1389 */
1390 public EReference getConstantDefinition_Defines() {
1391 return (EReference)constantDefinitionEClass.getEStructuralFeatures().get(1);
1392 }
1393
1394 /**
1395 * <!-- begin-user-doc -->
1396 * <!-- end-user-doc -->
1397 * @generated
1398 */
1399 public EClass getRelationDefinition() {
1400 return relationDefinitionEClass;
1401 }
1402
1403 /**
1404 * <!-- begin-user-doc -->
1405 * <!-- end-user-doc -->
1406 * @generated
1407 */
1408 public EReference getRelationDefinition_Variables() {
1409 return (EReference)relationDefinitionEClass.getEStructuralFeatures().get(0);
1410 }
1411
1412 /**
1413 * <!-- begin-user-doc -->
1414 * <!-- end-user-doc -->
1415 * @generated
1416 */
1417 public EReference getRelationDefinition_Value() {
1418 return (EReference)relationDefinitionEClass.getEStructuralFeatures().get(1);
1419 }
1420
1421 /**
1422 * <!-- begin-user-doc -->
1423 * <!-- end-user-doc -->
1424 * @generated
1425 */
1426 public EReference getRelationDefinition_Defines() {
1427 return (EReference)relationDefinitionEClass.getEStructuralFeatures().get(2);
1428 }
1429
1430 /**
1431 * <!-- begin-user-doc -->
1432 * <!-- end-user-doc -->
1433 * @generated
1434 */
1435 public EClass getFunctionDefinition() {
1436 return functionDefinitionEClass;
1437 }
1438
1439 /**
1440 * <!-- begin-user-doc -->
1441 * <!-- end-user-doc -->
1442 * @generated
1443 */
1444 public EReference getFunctionDefinition_Variable() {
1445 return (EReference)functionDefinitionEClass.getEStructuralFeatures().get(0);
1446 }
1447
1448 /**
1449 * <!-- begin-user-doc -->
1450 * <!-- end-user-doc -->
1451 * @generated
1452 */
1453 public EReference getFunctionDefinition_Defines() {
1454 return (EReference)functionDefinitionEClass.getEStructuralFeatures().get(1);
1455 }
1456
1457 /**
1458 * <!-- begin-user-doc -->
1459 * <!-- end-user-doc -->
1460 * @generated
1461 */
1462 public EReference getFunctionDefinition_Value() {
1463 return (EReference)functionDefinitionEClass.getEStructuralFeatures().get(2);
1464 }
1465
1466 /**
1467 * <!-- begin-user-doc -->
1468 * <!-- end-user-doc -->
1469 * @generated
1470 */
1471 public EClass getIfThenElse() {
1472 return ifThenElseEClass;
1473 }
1474
1475 /**
1476 * <!-- begin-user-doc -->
1477 * <!-- end-user-doc -->
1478 * @generated
1479 */
1480 public EReference getIfThenElse_Condition() {
1481 return (EReference)ifThenElseEClass.getEStructuralFeatures().get(0);
1482 }
1483
1484 /**
1485 * <!-- begin-user-doc -->
1486 * <!-- end-user-doc -->
1487 * @generated
1488 */
1489 public EReference getIfThenElse_IfTrue() {
1490 return (EReference)ifThenElseEClass.getEStructuralFeatures().get(1);
1491 }
1492
1493 /**
1494 * <!-- begin-user-doc -->
1495 * <!-- end-user-doc -->
1496 * @generated
1497 */
1498 public EReference getIfThenElse_IfFalse() {
1499 return (EReference)ifThenElseEClass.getEStructuralFeatures().get(2);
1500 }
1501
1502 /**
1503 * <!-- begin-user-doc -->
1504 * <!-- end-user-doc -->
1505 * @generated
1506 */
1507 public EClass getConstantDeclaration() {
1508 return constantDeclarationEClass;
1509 }
1510
1511 /**
1512 * <!-- begin-user-doc -->
1513 * <!-- end-user-doc -->
1514 * @generated
1515 */
1516 public EClass getRelationDeclaration() {
1517 return relationDeclarationEClass;
1518 }
1519
1520 /**
1521 * <!-- begin-user-doc -->
1522 * <!-- end-user-doc -->
1523 * @generated
1524 */
1525 public EClass getFunctionDeclaration() {
1526 return functionDeclarationEClass;
1527 }
1528
1529 /**
1530 * <!-- begin-user-doc -->
1531 * <!-- end-user-doc -->
1532 * @generated
1533 */
1534 public EClass getTypeDeclaration() {
1535 return typeDeclarationEClass;
1536 }
1537
1538 /**
1539 * <!-- begin-user-doc -->
1540 * <!-- end-user-doc -->
1541 * @generated
1542 */
1543 public EClass getUnknownBecauseUninterpreted() {
1544 return unknownBecauseUninterpretedEClass;
1545 }
1546
1547 /**
1548 * <!-- begin-user-doc -->
1549 * <!-- end-user-doc -->
1550 * @generated
1551 */
1552 public EClass getInstanceOf() {
1553 return instanceOfEClass;
1554 }
1555
1556 /**
1557 * <!-- begin-user-doc -->
1558 * <!-- end-user-doc -->
1559 * @generated
1560 */
1561 public EReference getInstanceOf_Value() {
1562 return (EReference)instanceOfEClass.getEStructuralFeatures().get(0);
1563 }
1564
1565 /**
1566 * <!-- begin-user-doc -->
1567 * <!-- end-user-doc -->
1568 * @generated
1569 */
1570 public EReference getInstanceOf_Range() {
1571 return (EReference)instanceOfEClass.getEStructuralFeatures().get(1);
1572 }
1573
1574 /**
1575 * <!-- begin-user-doc -->
1576 * <!-- end-user-doc -->
1577 * @generated
1578 */
1579 public LogiclanguageFactory getLogiclanguageFactory() {
1580 return (LogiclanguageFactory)getEFactoryInstance();
1581 }
1582
1583 /**
1584 * <!-- begin-user-doc -->
1585 * <!-- end-user-doc -->
1586 * @generated
1587 */
1588 private boolean isCreated = false;
1589
1590 /**
1591 * Creates the meta-model objects for the package. This method is
1592 * guarded to have no affect on any invocation but its first.
1593 * <!-- begin-user-doc -->
1594 * <!-- end-user-doc -->
1595 * @generated
1596 */
1597 public void createPackageContents() {
1598 if (isCreated) return;
1599 isCreated = true;
1600
1601 // Create classes and their features
1602 typeEClass = createEClass(TYPE);
1603 createEAttribute(typeEClass, TYPE__NAME);
1604 createEReference(typeEClass, TYPE__SUBTYPES);
1605 createEReference(typeEClass, TYPE__SUPERTYPES);
1606 createEAttribute(typeEClass, TYPE__IS_ABSTRACT);
1607
1608 definedElementEClass = createEClass(DEFINED_ELEMENT);
1609 createEReference(definedElementEClass, DEFINED_ELEMENT__DEFINED_IN_TYPE);
1610
1611 typeDefinitionEClass = createEClass(TYPE_DEFINITION);
1612 createEReference(typeDefinitionEClass, TYPE_DEFINITION__ELEMENTS);
1613 createEReference(typeDefinitionEClass, TYPE_DEFINITION__DEFINES);
1614
1615 typeReferenceEClass = createEClass(TYPE_REFERENCE);
1616
1617 complexTypeReferenceEClass = createEClass(COMPLEX_TYPE_REFERENCE);
1618 createEReference(complexTypeReferenceEClass, COMPLEX_TYPE_REFERENCE__REFERRED);
1619
1620 primitiveTypeReferenceEClass = createEClass(PRIMITIVE_TYPE_REFERENCE);
1621
1622 intTypeReferenceEClass = createEClass(INT_TYPE_REFERENCE);
1623
1624 boolTypeReferenceEClass = createEClass(BOOL_TYPE_REFERENCE);
1625
1626 realTypeReferenceEClass = createEClass(REAL_TYPE_REFERENCE);
1627
1628 functionEClass = createEClass(FUNCTION);
1629 createEReference(functionEClass, FUNCTION__RANGE);
1630 createEReference(functionEClass, FUNCTION__PARAMETERS);
1631 createEReference(functionEClass, FUNCTION__ANNOTATIONS);
1632
1633 termEClass = createEClass(TERM);
1634
1635 symbolicDeclarationEClass = createEClass(SYMBOLIC_DECLARATION);
1636 createEAttribute(symbolicDeclarationEClass, SYMBOLIC_DECLARATION__NAME);
1637
1638 symbolicValueEClass = createEClass(SYMBOLIC_VALUE);
1639 createEReference(symbolicValueEClass, SYMBOLIC_VALUE__SYMBOLIC_REFERENCE);
1640 createEReference(symbolicValueEClass, SYMBOLIC_VALUE__PARAMETER_SUBSTITUTIONS);
1641
1642 atomicTermEClass = createEClass(ATOMIC_TERM);
1643
1644 intLiteralEClass = createEClass(INT_LITERAL);
1645 createEAttribute(intLiteralEClass, INT_LITERAL__VALUE);
1646
1647 boolLiteralEClass = createEClass(BOOL_LITERAL);
1648 createEAttribute(boolLiteralEClass, BOOL_LITERAL__VALUE);
1649
1650 realLiteralEClass = createEClass(REAL_LITERAL);
1651 createEAttribute(realLiteralEClass, REAL_LITERAL__VALUE);
1652
1653 variableEClass = createEClass(VARIABLE);
1654 createEReference(variableEClass, VARIABLE__RANGE);
1655
1656 quantifiedExpressionEClass = createEClass(QUANTIFIED_EXPRESSION);
1657 createEReference(quantifiedExpressionEClass, QUANTIFIED_EXPRESSION__QUANTIFIED_VARIABLES);
1658 createEReference(quantifiedExpressionEClass, QUANTIFIED_EXPRESSION__EXPRESSION);
1659
1660 existsEClass = createEClass(EXISTS);
1661
1662 forallEClass = createEClass(FORALL);
1663
1664 boolOperationEClass = createEClass(BOOL_OPERATION);
1665
1666 andEClass = createEClass(AND);
1667 createEReference(andEClass, AND__OPERANDS);
1668
1669 orEClass = createEClass(OR);
1670 createEReference(orEClass, OR__OPERANDS);
1671
1672 implEClass = createEClass(IMPL);
1673 createEReference(implEClass, IMPL__LEFT_OPERAND);
1674 createEReference(implEClass, IMPL__RIGHT_OPERAND);
1675
1676 notEClass = createEClass(NOT);
1677 createEReference(notEClass, NOT__OPERAND);
1678
1679 iffEClass = createEClass(IFF);
1680 createEReference(iffEClass, IFF__LEFT_OPERAND);
1681 createEReference(iffEClass, IFF__RIGHT_OPERAND);
1682
1683 primitiveRelationEClass = createEClass(PRIMITIVE_RELATION);
1684
1685 equalsEClass = createEClass(EQUALS);
1686 createEReference(equalsEClass, EQUALS__LEFT_OPERAND);
1687 createEReference(equalsEClass, EQUALS__RIGHT_OPERAND);
1688
1689 distinctEClass = createEClass(DISTINCT);
1690 createEReference(distinctEClass, DISTINCT__OPERANDS);
1691
1692 lessThanEClass = createEClass(LESS_THAN);
1693 createEReference(lessThanEClass, LESS_THAN__LEFT_OPERAND);
1694 createEReference(lessThanEClass, LESS_THAN__RIGHT_OPERAND);
1695
1696 moreThanEClass = createEClass(MORE_THAN);
1697 createEReference(moreThanEClass, MORE_THAN__LEFT_OPERAND);
1698 createEReference(moreThanEClass, MORE_THAN__RIGHT_OPERAND);
1699
1700 lessOrEqualThanEClass = createEClass(LESS_OR_EQUAL_THAN);
1701 createEReference(lessOrEqualThanEClass, LESS_OR_EQUAL_THAN__LEFT_OPERAND);
1702 createEReference(lessOrEqualThanEClass, LESS_OR_EQUAL_THAN__RIGHT_OPERAND);
1703
1704 moreOrEqualThanEClass = createEClass(MORE_OR_EQUAL_THAN);
1705 createEReference(moreOrEqualThanEClass, MORE_OR_EQUAL_THAN__LEFT_OPERAND);
1706 createEReference(moreOrEqualThanEClass, MORE_OR_EQUAL_THAN__RIGHT_OPERAND);
1707
1708 intOperationEClass = createEClass(INT_OPERATION);
1709 createEReference(intOperationEClass, INT_OPERATION__LEFT_OPERAND);
1710 createEReference(intOperationEClass, INT_OPERATION__RIGHT_OPERAND);
1711
1712 plusEClass = createEClass(PLUS);
1713
1714 minusEClass = createEClass(MINUS);
1715
1716 multiplyEClass = createEClass(MULTIPLY);
1717
1718 divisonEClass = createEClass(DIVISON);
1719
1720 modEClass = createEClass(MOD);
1721
1722 typeDescriptorEClass = createEClass(TYPE_DESCRIPTOR);
1723
1724 termDescriptionEClass = createEClass(TERM_DESCRIPTION);
1725
1726 assertionEClass = createEClass(ASSERTION);
1727 createEReference(assertionEClass, ASSERTION__VALUE);
1728 createEAttribute(assertionEClass, ASSERTION__NAME);
1729 createEReference(assertionEClass, ASSERTION__ANNOTATIONS);
1730
1731 relationEClass = createEClass(RELATION);
1732 createEReference(relationEClass, RELATION__PARAMETERS);
1733 createEReference(relationEClass, RELATION__ANNOTATIONS);
1734
1735 constantEClass = createEClass(CONSTANT);
1736 createEReference(constantEClass, CONSTANT__TYPE);
1737 createEReference(constantEClass, CONSTANT__ANNOTATIONS);
1738
1739 constantDefinitionEClass = createEClass(CONSTANT_DEFINITION);
1740 createEReference(constantDefinitionEClass, CONSTANT_DEFINITION__VALUE);
1741 createEReference(constantDefinitionEClass, CONSTANT_DEFINITION__DEFINES);
1742
1743 relationDefinitionEClass = createEClass(RELATION_DEFINITION);
1744 createEReference(relationDefinitionEClass, RELATION_DEFINITION__VARIABLES);
1745 createEReference(relationDefinitionEClass, RELATION_DEFINITION__VALUE);
1746 createEReference(relationDefinitionEClass, RELATION_DEFINITION__DEFINES);
1747
1748 functionDefinitionEClass = createEClass(FUNCTION_DEFINITION);
1749 createEReference(functionDefinitionEClass, FUNCTION_DEFINITION__VARIABLE);
1750 createEReference(functionDefinitionEClass, FUNCTION_DEFINITION__DEFINES);
1751 createEReference(functionDefinitionEClass, FUNCTION_DEFINITION__VALUE);
1752
1753 ifThenElseEClass = createEClass(IF_THEN_ELSE);
1754 createEReference(ifThenElseEClass, IF_THEN_ELSE__CONDITION);
1755 createEReference(ifThenElseEClass, IF_THEN_ELSE__IF_TRUE);
1756 createEReference(ifThenElseEClass, IF_THEN_ELSE__IF_FALSE);
1757
1758 constantDeclarationEClass = createEClass(CONSTANT_DECLARATION);
1759
1760 relationDeclarationEClass = createEClass(RELATION_DECLARATION);
1761
1762 functionDeclarationEClass = createEClass(FUNCTION_DECLARATION);
1763
1764 typeDeclarationEClass = createEClass(TYPE_DECLARATION);
1765
1766 unknownBecauseUninterpretedEClass = createEClass(UNKNOWN_BECAUSE_UNINTERPRETED);
1767
1768 instanceOfEClass = createEClass(INSTANCE_OF);
1769 createEReference(instanceOfEClass, INSTANCE_OF__VALUE);
1770 createEReference(instanceOfEClass, INSTANCE_OF__RANGE);
1771 }
1772
1773 /**
1774 * <!-- begin-user-doc -->
1775 * <!-- end-user-doc -->
1776 * @generated
1777 */
1778 private boolean isInitialized = false;
1779
1780 /**
1781 * Complete the initialization of the package and its meta-model. This
1782 * method is guarded to have no affect on any invocation but its first.
1783 * <!-- begin-user-doc -->
1784 * <!-- end-user-doc -->
1785 * @generated
1786 */
1787 public void initializePackageContents() {
1788 if (isInitialized) return;
1789 isInitialized = true;
1790
1791 // Initialize package
1792 setName(eNAME);
1793 setNsPrefix(eNS_PREFIX);
1794 setNsURI(eNS_URI);
1795
1796 // Obtain other dependent packages
1797 LogicproblemPackage theLogicproblemPackage = (LogicproblemPackage)EPackage.Registry.INSTANCE.getEPackage(LogicproblemPackage.eNS_URI);
1798
1799 // Create type parameters
1800
1801 // Set bounds for type parameters
1802
1803 // Add supertypes to classes
1804 typeEClass.getESuperTypes().add(this.getTypeDescriptor());
1805 definedElementEClass.getESuperTypes().add(this.getSymbolicDeclaration());
1806 typeDefinitionEClass.getESuperTypes().add(this.getType());
1807 typeReferenceEClass.getESuperTypes().add(this.getTypeDescriptor());
1808 complexTypeReferenceEClass.getESuperTypes().add(this.getTypeReference());
1809 primitiveTypeReferenceEClass.getESuperTypes().add(this.getTypeReference());
1810 intTypeReferenceEClass.getESuperTypes().add(this.getPrimitiveTypeReference());
1811 boolTypeReferenceEClass.getESuperTypes().add(this.getPrimitiveTypeReference());
1812 realTypeReferenceEClass.getESuperTypes().add(this.getPrimitiveTypeReference());
1813 functionEClass.getESuperTypes().add(this.getSymbolicDeclaration());
1814 termEClass.getESuperTypes().add(this.getTermDescription());
1815 symbolicDeclarationEClass.getESuperTypes().add(this.getTermDescription());
1816 symbolicValueEClass.getESuperTypes().add(this.getTerm());
1817 atomicTermEClass.getESuperTypes().add(this.getTerm());
1818 intLiteralEClass.getESuperTypes().add(this.getAtomicTerm());
1819 boolLiteralEClass.getESuperTypes().add(this.getAtomicTerm());
1820 realLiteralEClass.getESuperTypes().add(this.getAtomicTerm());
1821 variableEClass.getESuperTypes().add(this.getSymbolicDeclaration());
1822 quantifiedExpressionEClass.getESuperTypes().add(this.getTerm());
1823 existsEClass.getESuperTypes().add(this.getQuantifiedExpression());
1824 forallEClass.getESuperTypes().add(this.getQuantifiedExpression());
1825 boolOperationEClass.getESuperTypes().add(this.getTerm());
1826 andEClass.getESuperTypes().add(this.getBoolOperation());
1827 orEClass.getESuperTypes().add(this.getBoolOperation());
1828 implEClass.getESuperTypes().add(this.getBoolOperation());
1829 notEClass.getESuperTypes().add(this.getBoolOperation());
1830 iffEClass.getESuperTypes().add(this.getBoolOperation());
1831 primitiveRelationEClass.getESuperTypes().add(this.getTerm());
1832 equalsEClass.getESuperTypes().add(this.getPrimitiveRelation());
1833 distinctEClass.getESuperTypes().add(this.getPrimitiveRelation());
1834 lessThanEClass.getESuperTypes().add(this.getPrimitiveRelation());
1835 moreThanEClass.getESuperTypes().add(this.getPrimitiveRelation());
1836 lessOrEqualThanEClass.getESuperTypes().add(this.getPrimitiveRelation());
1837 moreOrEqualThanEClass.getESuperTypes().add(this.getPrimitiveRelation());
1838 intOperationEClass.getESuperTypes().add(this.getTerm());
1839 plusEClass.getESuperTypes().add(this.getIntOperation());
1840 minusEClass.getESuperTypes().add(this.getIntOperation());
1841 multiplyEClass.getESuperTypes().add(this.getIntOperation());
1842 divisonEClass.getESuperTypes().add(this.getIntOperation());
1843 modEClass.getESuperTypes().add(this.getIntOperation());
1844 relationEClass.getESuperTypes().add(this.getSymbolicDeclaration());
1845 constantEClass.getESuperTypes().add(this.getSymbolicDeclaration());
1846 constantDefinitionEClass.getESuperTypes().add(this.getConstant());
1847 relationDefinitionEClass.getESuperTypes().add(this.getRelation());
1848 functionDefinitionEClass.getESuperTypes().add(this.getFunction());
1849 ifThenElseEClass.getESuperTypes().add(this.getTerm());
1850 constantDeclarationEClass.getESuperTypes().add(this.getConstant());
1851 relationDeclarationEClass.getESuperTypes().add(this.getRelation());
1852 functionDeclarationEClass.getESuperTypes().add(this.getFunction());
1853 typeDeclarationEClass.getESuperTypes().add(this.getType());
1854 unknownBecauseUninterpretedEClass.getESuperTypes().add(this.getTerm());
1855 instanceOfEClass.getESuperTypes().add(this.getTerm());
1856
1857 // Initialize classes, features, and operations; add parameters
1858 initEClass(typeEClass, Type.class, "Type", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1859 initEAttribute(getType_Name(), ecorePackage.getEString(), "name", null, 1, 1, Type.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1860 initEReference(getType_Subtypes(), this.getType(), this.getType_Supertypes(), "subtypes", null, 0, -1, Type.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1861 initEReference(getType_Supertypes(), this.getType(), this.getType_Subtypes(), "supertypes", null, 0, -1, Type.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1862 initEAttribute(getType_IsAbstract(), ecorePackage.getEBoolean(), "isAbstract", null, 1, 1, Type.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1863
1864 initEClass(definedElementEClass, DefinedElement.class, "DefinedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1865 initEReference(getDefinedElement_DefinedInType(), this.getTypeDefinition(), this.getTypeDefinition_Elements(), "definedInType", null, 1, -1, DefinedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1866
1867 initEClass(typeDefinitionEClass, TypeDefinition.class, "TypeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1868 initEReference(getTypeDefinition_Elements(), this.getDefinedElement(), this.getDefinedElement_DefinedInType(), "elements", null, 0, -1, TypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1869 initEReference(getTypeDefinition_Defines(), this.getTypeDeclaration(), null, "defines", null, 0, 1, TypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1870
1871 initEClass(typeReferenceEClass, TypeReference.class, "TypeReference", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1872
1873 initEClass(complexTypeReferenceEClass, ComplexTypeReference.class, "ComplexTypeReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1874 initEReference(getComplexTypeReference_Referred(), this.getType(), null, "referred", null, 0, 1, ComplexTypeReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1875
1876 initEClass(primitiveTypeReferenceEClass, PrimitiveTypeReference.class, "PrimitiveTypeReference", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1877
1878 initEClass(intTypeReferenceEClass, IntTypeReference.class, "IntTypeReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1879
1880 initEClass(boolTypeReferenceEClass, BoolTypeReference.class, "BoolTypeReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1881
1882 initEClass(realTypeReferenceEClass, RealTypeReference.class, "RealTypeReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1883
1884 initEClass(functionEClass, Function.class, "Function", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1885 initEReference(getFunction_Range(), this.getTypeReference(), null, "range", null, 1, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1886 initEReference(getFunction_Parameters(), this.getTypeReference(), null, "parameters", null, 0, -1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1887 initEReference(getFunction_Annotations(), theLogicproblemPackage.getFunctionAnnotation(), theLogicproblemPackage.getFunctionAnnotation_Target(), "annotations", null, 0, -1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1888
1889 initEClass(termEClass, Term.class, "Term", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1890
1891 initEClass(symbolicDeclarationEClass, SymbolicDeclaration.class, "SymbolicDeclaration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1892 initEAttribute(getSymbolicDeclaration_Name(), ecorePackage.getEString(), "name", null, 1, 1, SymbolicDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1893
1894 initEClass(symbolicValueEClass, SymbolicValue.class, "SymbolicValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1895 initEReference(getSymbolicValue_SymbolicReference(), this.getSymbolicDeclaration(), null, "symbolicReference", null, 0, 1, SymbolicValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1896 initEReference(getSymbolicValue_ParameterSubstitutions(), this.getTerm(), null, "parameterSubstitutions", null, 0, -1, SymbolicValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1897
1898 initEClass(atomicTermEClass, AtomicTerm.class, "AtomicTerm", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1899
1900 initEClass(intLiteralEClass, IntLiteral.class, "IntLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1901 initEAttribute(getIntLiteral_Value(), ecorePackage.getEInt(), "value", null, 0, 1, IntLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1902
1903 initEClass(boolLiteralEClass, BoolLiteral.class, "BoolLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1904 initEAttribute(getBoolLiteral_Value(), ecorePackage.getEBoolean(), "value", null, 0, 1, BoolLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1905
1906 initEClass(realLiteralEClass, RealLiteral.class, "RealLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1907 initEAttribute(getRealLiteral_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1, RealLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1908
1909 initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1910 initEReference(getVariable_Range(), this.getTypeReference(), null, "range", null, 1, 1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1911
1912 initEClass(quantifiedExpressionEClass, QuantifiedExpression.class, "QuantifiedExpression", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1913 initEReference(getQuantifiedExpression_QuantifiedVariables(), this.getVariable(), null, "quantifiedVariables", null, 0, -1, QuantifiedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1914 initEReference(getQuantifiedExpression_Expression(), this.getTerm(), null, "expression", null, 0, 1, QuantifiedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1915
1916 initEClass(existsEClass, Exists.class, "Exists", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1917
1918 initEClass(forallEClass, Forall.class, "Forall", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1919
1920 initEClass(boolOperationEClass, BoolOperation.class, "BoolOperation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1921
1922 initEClass(andEClass, And.class, "And", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1923 initEReference(getAnd_Operands(), this.getTerm(), null, "operands", null, 0, -1, And.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1924
1925 initEClass(orEClass, Or.class, "Or", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1926 initEReference(getOr_Operands(), this.getTerm(), null, "operands", null, 0, -1, Or.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1927
1928 initEClass(implEClass, Impl.class, "Impl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1929 initEReference(getImpl_LeftOperand(), this.getTerm(), null, "leftOperand", null, 0, 1, Impl.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1930 initEReference(getImpl_RightOperand(), this.getTerm(), null, "rightOperand", null, 0, 1, Impl.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1931
1932 initEClass(notEClass, Not.class, "Not", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1933 initEReference(getNot_Operand(), this.getTerm(), null, "operand", null, 0, 1, Not.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1934
1935 initEClass(iffEClass, Iff.class, "Iff", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1936 initEReference(getIff_LeftOperand(), this.getTerm(), null, "leftOperand", null, 0, 1, Iff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1937 initEReference(getIff_RightOperand(), this.getTerm(), null, "rightOperand", null, 0, 1, Iff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1938
1939 initEClass(primitiveRelationEClass, PrimitiveRelation.class, "PrimitiveRelation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1940
1941 initEClass(equalsEClass, Equals.class, "Equals", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1942 initEReference(getEquals_LeftOperand(), this.getTerm(), null, "leftOperand", null, 0, 1, Equals.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1943 initEReference(getEquals_RightOperand(), this.getTerm(), null, "rightOperand", null, 0, 1, Equals.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1944
1945 initEClass(distinctEClass, Distinct.class, "Distinct", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1946 initEReference(getDistinct_Operands(), this.getTerm(), null, "operands", null, 0, -1, Distinct.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1947
1948 initEClass(lessThanEClass, LessThan.class, "LessThan", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1949 initEReference(getLessThan_LeftOperand(), this.getTerm(), null, "leftOperand", null, 0, 1, LessThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1950 initEReference(getLessThan_RightOperand(), this.getTerm(), null, "rightOperand", null, 0, 1, LessThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1951
1952 initEClass(moreThanEClass, MoreThan.class, "MoreThan", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1953 initEReference(getMoreThan_LeftOperand(), this.getTerm(), null, "leftOperand", null, 0, 1, MoreThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1954 initEReference(getMoreThan_RightOperand(), this.getTerm(), null, "rightOperand", null, 0, 1, MoreThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1955
1956 initEClass(lessOrEqualThanEClass, LessOrEqualThan.class, "LessOrEqualThan", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1957 initEReference(getLessOrEqualThan_LeftOperand(), this.getTerm(), null, "leftOperand", null, 0, 1, LessOrEqualThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1958 initEReference(getLessOrEqualThan_RightOperand(), this.getTerm(), null, "rightOperand", null, 0, 1, LessOrEqualThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1959
1960 initEClass(moreOrEqualThanEClass, MoreOrEqualThan.class, "MoreOrEqualThan", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1961 initEReference(getMoreOrEqualThan_LeftOperand(), this.getTerm(), null, "leftOperand", null, 0, 1, MoreOrEqualThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1962 initEReference(getMoreOrEqualThan_RightOperand(), this.getTerm(), null, "rightOperand", null, 0, 1, MoreOrEqualThan.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1963
1964 initEClass(intOperationEClass, IntOperation.class, "IntOperation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1965 initEReference(getIntOperation_LeftOperand(), this.getTerm(), null, "leftOperand", null, 0, 1, IntOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1966 initEReference(getIntOperation_RightOperand(), this.getTerm(), null, "rightOperand", null, 0, 1, IntOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1967
1968 initEClass(plusEClass, Plus.class, "Plus", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1969
1970 initEClass(minusEClass, Minus.class, "Minus", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1971
1972 initEClass(multiplyEClass, Multiply.class, "Multiply", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1973
1974 initEClass(divisonEClass, Divison.class, "Divison", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1975
1976 initEClass(modEClass, Mod.class, "Mod", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1977
1978 initEClass(typeDescriptorEClass, TypeDescriptor.class, "TypeDescriptor", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1979
1980 initEClass(termDescriptionEClass, TermDescription.class, "TermDescription", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1981
1982 initEClass(assertionEClass, Assertion.class, "Assertion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1983 initEReference(getAssertion_Value(), this.getTerm(), null, "value", null, 1, 1, Assertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1984 initEAttribute(getAssertion_Name(), ecorePackage.getEString(), "name", null, 1, 1, Assertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1985 initEReference(getAssertion_Annotations(), theLogicproblemPackage.getAssertionAnnotation(), theLogicproblemPackage.getAssertionAnnotation_Target(), "annotations", null, 0, -1, Assertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1986
1987 initEClass(relationEClass, Relation.class, "Relation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1988 initEReference(getRelation_Parameters(), this.getTypeReference(), null, "parameters", null, 0, -1, Relation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1989 initEReference(getRelation_Annotations(), theLogicproblemPackage.getRelationAnnotation(), theLogicproblemPackage.getRelationAnnotation_Target(), "annotations", null, 0, -1, Relation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1990
1991 initEClass(constantEClass, Constant.class, "Constant", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1992 initEReference(getConstant_Type(), this.getTypeReference(), null, "type", null, 1, 1, Constant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1993 initEReference(getConstant_Annotations(), theLogicproblemPackage.getConstantAnnotation(), theLogicproblemPackage.getConstantAnnotation_Target(), "annotations", null, 0, -1, Constant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1994
1995 initEClass(constantDefinitionEClass, ConstantDefinition.class, "ConstantDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1996 initEReference(getConstantDefinition_Value(), this.getTerm(), null, "value", null, 1, 1, ConstantDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1997 initEReference(getConstantDefinition_Defines(), this.getConstantDeclaration(), null, "defines", null, 0, 1, ConstantDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1998
1999 initEClass(relationDefinitionEClass, RelationDefinition.class, "RelationDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2000 initEReference(getRelationDefinition_Variables(), this.getVariable(), null, "variables", null, 0, -1, RelationDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2001 initEReference(getRelationDefinition_Value(), this.getTerm(), null, "value", null, 1, 1, RelationDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2002 initEReference(getRelationDefinition_Defines(), this.getRelationDeclaration(), null, "defines", null, 0, 1, RelationDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2003
2004 initEClass(functionDefinitionEClass, FunctionDefinition.class, "FunctionDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2005 initEReference(getFunctionDefinition_Variable(), this.getVariable(), null, "variable", null, 0, -1, FunctionDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2006 initEReference(getFunctionDefinition_Defines(), this.getFunctionDeclaration(), null, "defines", null, 0, 1, FunctionDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2007 initEReference(getFunctionDefinition_Value(), this.getTerm(), null, "value", null, 1, 1, FunctionDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2008
2009 initEClass(ifThenElseEClass, IfThenElse.class, "IfThenElse", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2010 initEReference(getIfThenElse_Condition(), this.getTerm(), null, "condition", null, 1, 1, IfThenElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2011 initEReference(getIfThenElse_IfTrue(), this.getTerm(), null, "ifTrue", null, 1, 1, IfThenElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2012 initEReference(getIfThenElse_IfFalse(), this.getTerm(), null, "ifFalse", null, 1, 1, IfThenElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2013
2014 initEClass(constantDeclarationEClass, ConstantDeclaration.class, "ConstantDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2015
2016 initEClass(relationDeclarationEClass, RelationDeclaration.class, "RelationDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2017
2018 initEClass(functionDeclarationEClass, FunctionDeclaration.class, "FunctionDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2019
2020 initEClass(typeDeclarationEClass, TypeDeclaration.class, "TypeDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2021
2022 initEClass(unknownBecauseUninterpretedEClass, UnknownBecauseUninterpreted.class, "UnknownBecauseUninterpreted", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2023
2024 initEClass(instanceOfEClass, InstanceOf.class, "InstanceOf", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2025 initEReference(getInstanceOf_Value(), this.getTerm(), null, "value", null, 1, 1, InstanceOf.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2026 initEReference(getInstanceOf_Range(), this.getTypeReference(), null, "range", null, 1, 1, InstanceOf.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2027
2028 // Create resource
2029 createResource(eNS_URI);
2030 }
2031
2032} //LogiclanguagePackageImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/MinusImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/MinusImpl.java
new file mode 100644
index 00000000..28c21b08
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/MinusImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Minus;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Minus</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class MinusImpl extends IntOperationImpl implements Minus {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected MinusImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.MINUS;
35 }
36
37} //MinusImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ModImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ModImpl.java
new file mode 100644
index 00000000..bab8d326
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/ModImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Mod;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Mod</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class ModImpl extends IntOperationImpl implements Mod {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected ModImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.MOD;
35 }
36
37} //ModImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/MoreOrEqualThanImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/MoreOrEqualThanImpl.java
new file mode 100644
index 00000000..8ebf0ccf
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/MoreOrEqualThanImpl.java
@@ -0,0 +1,241 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>More Or Equal Than</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MoreOrEqualThanImpl#getLeftOperand <em>Left Operand</em>}</li>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MoreOrEqualThanImpl#getRightOperand <em>Right Operand</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class MoreOrEqualThanImpl extends PrimitiveRelationImpl implements MoreOrEqualThan {
32 /**
33 * The cached value of the '{@link #getLeftOperand() <em>Left Operand</em>}' containment reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getLeftOperand()
37 * @generated
38 * @ordered
39 */
40 protected Term leftOperand;
41
42 /**
43 * The cached value of the '{@link #getRightOperand() <em>Right Operand</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getRightOperand()
47 * @generated
48 * @ordered
49 */
50 protected Term rightOperand;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected MoreOrEqualThanImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return LogiclanguagePackage.Literals.MORE_OR_EQUAL_THAN;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public Term getLeftOperand() {
77 return leftOperand;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public NotificationChain basicSetLeftOperand(Term newLeftOperand, NotificationChain msgs) {
86 Term oldLeftOperand = leftOperand;
87 leftOperand = newLeftOperand;
88 if (eNotificationRequired()) {
89 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.MORE_OR_EQUAL_THAN__LEFT_OPERAND, oldLeftOperand, newLeftOperand);
90 if (msgs == null) msgs = notification; else msgs.add(notification);
91 }
92 return msgs;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 public void setLeftOperand(Term newLeftOperand) {
101 if (newLeftOperand != leftOperand) {
102 NotificationChain msgs = null;
103 if (leftOperand != null)
104 msgs = ((InternalEObject)leftOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.MORE_OR_EQUAL_THAN__LEFT_OPERAND, null, msgs);
105 if (newLeftOperand != null)
106 msgs = ((InternalEObject)newLeftOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.MORE_OR_EQUAL_THAN__LEFT_OPERAND, null, msgs);
107 msgs = basicSetLeftOperand(newLeftOperand, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.MORE_OR_EQUAL_THAN__LEFT_OPERAND, newLeftOperand, newLeftOperand));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 public Term getRightOperand() {
120 return rightOperand;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public NotificationChain basicSetRightOperand(Term newRightOperand, NotificationChain msgs) {
129 Term oldRightOperand = rightOperand;
130 rightOperand = newRightOperand;
131 if (eNotificationRequired()) {
132 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.MORE_OR_EQUAL_THAN__RIGHT_OPERAND, oldRightOperand, newRightOperand);
133 if (msgs == null) msgs = notification; else msgs.add(notification);
134 }
135 return msgs;
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 public void setRightOperand(Term newRightOperand) {
144 if (newRightOperand != rightOperand) {
145 NotificationChain msgs = null;
146 if (rightOperand != null)
147 msgs = ((InternalEObject)rightOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.MORE_OR_EQUAL_THAN__RIGHT_OPERAND, null, msgs);
148 if (newRightOperand != null)
149 msgs = ((InternalEObject)newRightOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.MORE_OR_EQUAL_THAN__RIGHT_OPERAND, null, msgs);
150 msgs = basicSetRightOperand(newRightOperand, msgs);
151 if (msgs != null) msgs.dispatch();
152 }
153 else if (eNotificationRequired())
154 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.MORE_OR_EQUAL_THAN__RIGHT_OPERAND, newRightOperand, newRightOperand));
155 }
156
157 /**
158 * <!-- begin-user-doc -->
159 * <!-- end-user-doc -->
160 * @generated
161 */
162 @Override
163 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
164 switch (featureID) {
165 case LogiclanguagePackage.MORE_OR_EQUAL_THAN__LEFT_OPERAND:
166 return basicSetLeftOperand(null, msgs);
167 case LogiclanguagePackage.MORE_OR_EQUAL_THAN__RIGHT_OPERAND:
168 return basicSetRightOperand(null, msgs);
169 }
170 return super.eInverseRemove(otherEnd, featureID, msgs);
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public Object eGet(int featureID, boolean resolve, boolean coreType) {
180 switch (featureID) {
181 case LogiclanguagePackage.MORE_OR_EQUAL_THAN__LEFT_OPERAND:
182 return getLeftOperand();
183 case LogiclanguagePackage.MORE_OR_EQUAL_THAN__RIGHT_OPERAND:
184 return getRightOperand();
185 }
186 return super.eGet(featureID, resolve, coreType);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public void eSet(int featureID, Object newValue) {
196 switch (featureID) {
197 case LogiclanguagePackage.MORE_OR_EQUAL_THAN__LEFT_OPERAND:
198 setLeftOperand((Term)newValue);
199 return;
200 case LogiclanguagePackage.MORE_OR_EQUAL_THAN__RIGHT_OPERAND:
201 setRightOperand((Term)newValue);
202 return;
203 }
204 super.eSet(featureID, newValue);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eUnset(int featureID) {
214 switch (featureID) {
215 case LogiclanguagePackage.MORE_OR_EQUAL_THAN__LEFT_OPERAND:
216 setLeftOperand((Term)null);
217 return;
218 case LogiclanguagePackage.MORE_OR_EQUAL_THAN__RIGHT_OPERAND:
219 setRightOperand((Term)null);
220 return;
221 }
222 super.eUnset(featureID);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public boolean eIsSet(int featureID) {
232 switch (featureID) {
233 case LogiclanguagePackage.MORE_OR_EQUAL_THAN__LEFT_OPERAND:
234 return leftOperand != null;
235 case LogiclanguagePackage.MORE_OR_EQUAL_THAN__RIGHT_OPERAND:
236 return rightOperand != null;
237 }
238 return super.eIsSet(featureID);
239 }
240
241} //MoreOrEqualThanImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/MoreThanImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/MoreThanImpl.java
new file mode 100644
index 00000000..a7756650
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/MoreThanImpl.java
@@ -0,0 +1,241 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>More Than</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MoreThanImpl#getLeftOperand <em>Left Operand</em>}</li>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.MoreThanImpl#getRightOperand <em>Right Operand</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class MoreThanImpl extends PrimitiveRelationImpl implements MoreThan {
32 /**
33 * The cached value of the '{@link #getLeftOperand() <em>Left Operand</em>}' containment reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getLeftOperand()
37 * @generated
38 * @ordered
39 */
40 protected Term leftOperand;
41
42 /**
43 * The cached value of the '{@link #getRightOperand() <em>Right Operand</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getRightOperand()
47 * @generated
48 * @ordered
49 */
50 protected Term rightOperand;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected MoreThanImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return LogiclanguagePackage.Literals.MORE_THAN;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public Term getLeftOperand() {
77 return leftOperand;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public NotificationChain basicSetLeftOperand(Term newLeftOperand, NotificationChain msgs) {
86 Term oldLeftOperand = leftOperand;
87 leftOperand = newLeftOperand;
88 if (eNotificationRequired()) {
89 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.MORE_THAN__LEFT_OPERAND, oldLeftOperand, newLeftOperand);
90 if (msgs == null) msgs = notification; else msgs.add(notification);
91 }
92 return msgs;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 public void setLeftOperand(Term newLeftOperand) {
101 if (newLeftOperand != leftOperand) {
102 NotificationChain msgs = null;
103 if (leftOperand != null)
104 msgs = ((InternalEObject)leftOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.MORE_THAN__LEFT_OPERAND, null, msgs);
105 if (newLeftOperand != null)
106 msgs = ((InternalEObject)newLeftOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.MORE_THAN__LEFT_OPERAND, null, msgs);
107 msgs = basicSetLeftOperand(newLeftOperand, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.MORE_THAN__LEFT_OPERAND, newLeftOperand, newLeftOperand));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 public Term getRightOperand() {
120 return rightOperand;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public NotificationChain basicSetRightOperand(Term newRightOperand, NotificationChain msgs) {
129 Term oldRightOperand = rightOperand;
130 rightOperand = newRightOperand;
131 if (eNotificationRequired()) {
132 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.MORE_THAN__RIGHT_OPERAND, oldRightOperand, newRightOperand);
133 if (msgs == null) msgs = notification; else msgs.add(notification);
134 }
135 return msgs;
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 public void setRightOperand(Term newRightOperand) {
144 if (newRightOperand != rightOperand) {
145 NotificationChain msgs = null;
146 if (rightOperand != null)
147 msgs = ((InternalEObject)rightOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.MORE_THAN__RIGHT_OPERAND, null, msgs);
148 if (newRightOperand != null)
149 msgs = ((InternalEObject)newRightOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.MORE_THAN__RIGHT_OPERAND, null, msgs);
150 msgs = basicSetRightOperand(newRightOperand, msgs);
151 if (msgs != null) msgs.dispatch();
152 }
153 else if (eNotificationRequired())
154 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.MORE_THAN__RIGHT_OPERAND, newRightOperand, newRightOperand));
155 }
156
157 /**
158 * <!-- begin-user-doc -->
159 * <!-- end-user-doc -->
160 * @generated
161 */
162 @Override
163 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
164 switch (featureID) {
165 case LogiclanguagePackage.MORE_THAN__LEFT_OPERAND:
166 return basicSetLeftOperand(null, msgs);
167 case LogiclanguagePackage.MORE_THAN__RIGHT_OPERAND:
168 return basicSetRightOperand(null, msgs);
169 }
170 return super.eInverseRemove(otherEnd, featureID, msgs);
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public Object eGet(int featureID, boolean resolve, boolean coreType) {
180 switch (featureID) {
181 case LogiclanguagePackage.MORE_THAN__LEFT_OPERAND:
182 return getLeftOperand();
183 case LogiclanguagePackage.MORE_THAN__RIGHT_OPERAND:
184 return getRightOperand();
185 }
186 return super.eGet(featureID, resolve, coreType);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public void eSet(int featureID, Object newValue) {
196 switch (featureID) {
197 case LogiclanguagePackage.MORE_THAN__LEFT_OPERAND:
198 setLeftOperand((Term)newValue);
199 return;
200 case LogiclanguagePackage.MORE_THAN__RIGHT_OPERAND:
201 setRightOperand((Term)newValue);
202 return;
203 }
204 super.eSet(featureID, newValue);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eUnset(int featureID) {
214 switch (featureID) {
215 case LogiclanguagePackage.MORE_THAN__LEFT_OPERAND:
216 setLeftOperand((Term)null);
217 return;
218 case LogiclanguagePackage.MORE_THAN__RIGHT_OPERAND:
219 setRightOperand((Term)null);
220 return;
221 }
222 super.eUnset(featureID);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public boolean eIsSet(int featureID) {
232 switch (featureID) {
233 case LogiclanguagePackage.MORE_THAN__LEFT_OPERAND:
234 return leftOperand != null;
235 case LogiclanguagePackage.MORE_THAN__RIGHT_OPERAND:
236 return rightOperand != null;
237 }
238 return super.eIsSet(featureID);
239 }
240
241} //MoreThanImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/MultiplyImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/MultiplyImpl.java
new file mode 100644
index 00000000..50797800
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/MultiplyImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Multiply;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Multiply</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class MultiplyImpl extends IntOperationImpl implements Multiply {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected MultiplyImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.MULTIPLY;
35 }
36
37} //MultiplyImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/NotImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/NotImpl.java
new file mode 100644
index 00000000..74c4dd6f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/NotImpl.java
@@ -0,0 +1,175 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Not;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Not</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.NotImpl#getOperand <em>Operand</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class NotImpl extends BoolOperationImpl implements Not {
31 /**
32 * The cached value of the '{@link #getOperand() <em>Operand</em>}' containment reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getOperand()
36 * @generated
37 * @ordered
38 */
39 protected Term operand;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected NotImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return LogiclanguagePackage.Literals.NOT;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 public Term getOperand() {
66 return operand;
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 public NotificationChain basicSetOperand(Term newOperand, NotificationChain msgs) {
75 Term oldOperand = operand;
76 operand = newOperand;
77 if (eNotificationRequired()) {
78 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.NOT__OPERAND, oldOperand, newOperand);
79 if (msgs == null) msgs = notification; else msgs.add(notification);
80 }
81 return msgs;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 public void setOperand(Term newOperand) {
90 if (newOperand != operand) {
91 NotificationChain msgs = null;
92 if (operand != null)
93 msgs = ((InternalEObject)operand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.NOT__OPERAND, null, msgs);
94 if (newOperand != null)
95 msgs = ((InternalEObject)newOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.NOT__OPERAND, null, msgs);
96 msgs = basicSetOperand(newOperand, msgs);
97 if (msgs != null) msgs.dispatch();
98 }
99 else if (eNotificationRequired())
100 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.NOT__OPERAND, newOperand, newOperand));
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
110 switch (featureID) {
111 case LogiclanguagePackage.NOT__OPERAND:
112 return basicSetOperand(null, msgs);
113 }
114 return super.eInverseRemove(otherEnd, featureID, msgs);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public Object eGet(int featureID, boolean resolve, boolean coreType) {
124 switch (featureID) {
125 case LogiclanguagePackage.NOT__OPERAND:
126 return getOperand();
127 }
128 return super.eGet(featureID, resolve, coreType);
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 @Override
137 public void eSet(int featureID, Object newValue) {
138 switch (featureID) {
139 case LogiclanguagePackage.NOT__OPERAND:
140 setOperand((Term)newValue);
141 return;
142 }
143 super.eSet(featureID, newValue);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public void eUnset(int featureID) {
153 switch (featureID) {
154 case LogiclanguagePackage.NOT__OPERAND:
155 setOperand((Term)null);
156 return;
157 }
158 super.eUnset(featureID);
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public boolean eIsSet(int featureID) {
168 switch (featureID) {
169 case LogiclanguagePackage.NOT__OPERAND:
170 return operand != null;
171 }
172 return super.eIsSet(featureID);
173 }
174
175} //NotImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/OrImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/OrImpl.java
new file mode 100644
index 00000000..9ef8357a
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/OrImpl.java
@@ -0,0 +1,150 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Or;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Or</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.OrImpl#getOperands <em>Operands</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class OrImpl extends BoolOperationImpl implements Or {
35 /**
36 * The cached value of the '{@link #getOperands() <em>Operands</em>}' containment reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getOperands()
40 * @generated
41 * @ordered
42 */
43 protected EList<Term> operands;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected OrImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return LogiclanguagePackage.Literals.OR;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public EList<Term> getOperands() {
70 if (operands == null) {
71 operands = new EObjectContainmentEList<Term>(Term.class, this, LogiclanguagePackage.OR__OPERANDS);
72 }
73 return operands;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @Override
82 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
83 switch (featureID) {
84 case LogiclanguagePackage.OR__OPERANDS:
85 return ((InternalEList<?>)getOperands()).basicRemove(otherEnd, msgs);
86 }
87 return super.eInverseRemove(otherEnd, featureID, msgs);
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 public Object eGet(int featureID, boolean resolve, boolean coreType) {
97 switch (featureID) {
98 case LogiclanguagePackage.OR__OPERANDS:
99 return getOperands();
100 }
101 return super.eGet(featureID, resolve, coreType);
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @SuppressWarnings("unchecked")
110 @Override
111 public void eSet(int featureID, Object newValue) {
112 switch (featureID) {
113 case LogiclanguagePackage.OR__OPERANDS:
114 getOperands().clear();
115 getOperands().addAll((Collection<? extends Term>)newValue);
116 return;
117 }
118 super.eSet(featureID, newValue);
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 public void eUnset(int featureID) {
128 switch (featureID) {
129 case LogiclanguagePackage.OR__OPERANDS:
130 getOperands().clear();
131 return;
132 }
133 super.eUnset(featureID);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public boolean eIsSet(int featureID) {
143 switch (featureID) {
144 case LogiclanguagePackage.OR__OPERANDS:
145 return operands != null && !operands.isEmpty();
146 }
147 return super.eIsSet(featureID);
148 }
149
150} //OrImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/PlusImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/PlusImpl.java
new file mode 100644
index 00000000..c9d0d591
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/PlusImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Plus;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Plus</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class PlusImpl extends IntOperationImpl implements Plus {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected PlusImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.PLUS;
35 }
36
37} //PlusImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/PrimitiveRelationImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/PrimitiveRelationImpl.java
new file mode 100644
index 00000000..a9e521c5
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/PrimitiveRelationImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.PrimitiveRelation;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Primitive Relation</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class PrimitiveRelationImpl extends TermImpl implements PrimitiveRelation {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected PrimitiveRelationImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.PRIMITIVE_RELATION;
35 }
36
37} //PrimitiveRelationImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/PrimitiveTypeReferenceImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/PrimitiveTypeReferenceImpl.java
new file mode 100644
index 00000000..2e0d56c9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/PrimitiveTypeReferenceImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.PrimitiveTypeReference;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Primitive Type Reference</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class PrimitiveTypeReferenceImpl extends TypeReferenceImpl implements PrimitiveTypeReference {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected PrimitiveTypeReferenceImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.PRIMITIVE_TYPE_REFERENCE;
35 }
36
37} //PrimitiveTypeReferenceImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/QuantifiedExpressionImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/QuantifiedExpressionImpl.java
new file mode 100644
index 00000000..dad2d1af
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/QuantifiedExpressionImpl.java
@@ -0,0 +1,220 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable;
9
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.impl.ENotificationImpl;
21
22import org.eclipse.emf.ecore.util.EObjectContainmentEList;
23import org.eclipse.emf.ecore.util.InternalEList;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model object '<em><b>Quantified Expression</b></em>'.
28 * <!-- end-user-doc -->
29 * <p>
30 * The following features are implemented:
31 * </p>
32 * <ul>
33 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.QuantifiedExpressionImpl#getQuantifiedVariables <em>Quantified Variables</em>}</li>
34 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.QuantifiedExpressionImpl#getExpression <em>Expression</em>}</li>
35 * </ul>
36 *
37 * @generated
38 */
39public abstract class QuantifiedExpressionImpl extends TermImpl implements QuantifiedExpression {
40 /**
41 * The cached value of the '{@link #getQuantifiedVariables() <em>Quantified Variables</em>}' containment reference list.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getQuantifiedVariables()
45 * @generated
46 * @ordered
47 */
48 protected EList<Variable> quantifiedVariables;
49
50 /**
51 * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #getExpression()
55 * @generated
56 * @ordered
57 */
58 protected Term expression;
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 protected QuantifiedExpressionImpl() {
66 super();
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 @Override
75 protected EClass eStaticClass() {
76 return LogiclanguagePackage.Literals.QUANTIFIED_EXPRESSION;
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 public EList<Variable> getQuantifiedVariables() {
85 if (quantifiedVariables == null) {
86 quantifiedVariables = new EObjectContainmentEList<Variable>(Variable.class, this, LogiclanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIED_VARIABLES);
87 }
88 return quantifiedVariables;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 public Term getExpression() {
97 return expression;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public NotificationChain basicSetExpression(Term newExpression, NotificationChain msgs) {
106 Term oldExpression = expression;
107 expression = newExpression;
108 if (eNotificationRequired()) {
109 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.QUANTIFIED_EXPRESSION__EXPRESSION, oldExpression, newExpression);
110 if (msgs == null) msgs = notification; else msgs.add(notification);
111 }
112 return msgs;
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 public void setExpression(Term newExpression) {
121 if (newExpression != expression) {
122 NotificationChain msgs = null;
123 if (expression != null)
124 msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.QUANTIFIED_EXPRESSION__EXPRESSION, null, msgs);
125 if (newExpression != null)
126 msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.QUANTIFIED_EXPRESSION__EXPRESSION, null, msgs);
127 msgs = basicSetExpression(newExpression, msgs);
128 if (msgs != null) msgs.dispatch();
129 }
130 else if (eNotificationRequired())
131 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.QUANTIFIED_EXPRESSION__EXPRESSION, newExpression, newExpression));
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
141 switch (featureID) {
142 case LogiclanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIED_VARIABLES:
143 return ((InternalEList<?>)getQuantifiedVariables()).basicRemove(otherEnd, msgs);
144 case LogiclanguagePackage.QUANTIFIED_EXPRESSION__EXPRESSION:
145 return basicSetExpression(null, msgs);
146 }
147 return super.eInverseRemove(otherEnd, featureID, msgs);
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public Object eGet(int featureID, boolean resolve, boolean coreType) {
157 switch (featureID) {
158 case LogiclanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIED_VARIABLES:
159 return getQuantifiedVariables();
160 case LogiclanguagePackage.QUANTIFIED_EXPRESSION__EXPRESSION:
161 return getExpression();
162 }
163 return super.eGet(featureID, resolve, coreType);
164 }
165
166 /**
167 * <!-- begin-user-doc -->
168 * <!-- end-user-doc -->
169 * @generated
170 */
171 @SuppressWarnings("unchecked")
172 @Override
173 public void eSet(int featureID, Object newValue) {
174 switch (featureID) {
175 case LogiclanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIED_VARIABLES:
176 getQuantifiedVariables().clear();
177 getQuantifiedVariables().addAll((Collection<? extends Variable>)newValue);
178 return;
179 case LogiclanguagePackage.QUANTIFIED_EXPRESSION__EXPRESSION:
180 setExpression((Term)newValue);
181 return;
182 }
183 super.eSet(featureID, newValue);
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 @Override
192 public void eUnset(int featureID) {
193 switch (featureID) {
194 case LogiclanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIED_VARIABLES:
195 getQuantifiedVariables().clear();
196 return;
197 case LogiclanguagePackage.QUANTIFIED_EXPRESSION__EXPRESSION:
198 setExpression((Term)null);
199 return;
200 }
201 super.eUnset(featureID);
202 }
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 @Override
210 public boolean eIsSet(int featureID) {
211 switch (featureID) {
212 case LogiclanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIED_VARIABLES:
213 return quantifiedVariables != null && !quantifiedVariables.isEmpty();
214 case LogiclanguagePackage.QUANTIFIED_EXPRESSION__EXPRESSION:
215 return expression != null;
216 }
217 return super.eIsSet(featureID);
218 }
219
220} //QuantifiedExpressionImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RealLiteralImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RealLiteralImpl.java
new file mode 100644
index 00000000..54594606
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RealLiteralImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral;
7
8import java.math.BigDecimal;
9
10import org.eclipse.emf.common.notify.Notification;
11
12import org.eclipse.emf.ecore.EClass;
13
14import org.eclipse.emf.ecore.impl.ENotificationImpl;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Real Literal</b></em>'.
19 * <!-- end-user-doc -->
20 * <p>
21 * The following features are implemented:
22 * </p>
23 * <ul>
24 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RealLiteralImpl#getValue <em>Value</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class RealLiteralImpl extends AtomicTermImpl implements RealLiteral {
30 /**
31 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getValue()
35 * @generated
36 * @ordered
37 */
38 protected static final BigDecimal VALUE_EDEFAULT = null;
39
40 /**
41 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getValue()
45 * @generated
46 * @ordered
47 */
48 protected BigDecimal value = VALUE_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected RealLiteralImpl() {
56 super();
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 @Override
65 protected EClass eStaticClass() {
66 return LogiclanguagePackage.Literals.REAL_LITERAL;
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 public BigDecimal getValue() {
75 return value;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public void setValue(BigDecimal newValue) {
84 BigDecimal oldValue = value;
85 value = newValue;
86 if (eNotificationRequired())
87 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.REAL_LITERAL__VALUE, oldValue, value));
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 public Object eGet(int featureID, boolean resolve, boolean coreType) {
97 switch (featureID) {
98 case LogiclanguagePackage.REAL_LITERAL__VALUE:
99 return getValue();
100 }
101 return super.eGet(featureID, resolve, coreType);
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public void eSet(int featureID, Object newValue) {
111 switch (featureID) {
112 case LogiclanguagePackage.REAL_LITERAL__VALUE:
113 setValue((BigDecimal)newValue);
114 return;
115 }
116 super.eSet(featureID, newValue);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public void eUnset(int featureID) {
126 switch (featureID) {
127 case LogiclanguagePackage.REAL_LITERAL__VALUE:
128 setValue(VALUE_EDEFAULT);
129 return;
130 }
131 super.eUnset(featureID);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public boolean eIsSet(int featureID) {
141 switch (featureID) {
142 case LogiclanguagePackage.REAL_LITERAL__VALUE:
143 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
144 }
145 return super.eIsSet(featureID);
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public String toString() {
155 if (eIsProxy()) return super.toString();
156
157 StringBuffer result = new StringBuffer(super.toString());
158 result.append(" (value: ");
159 result.append(value);
160 result.append(')');
161 return result.toString();
162 }
163
164} //RealLiteralImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RealTypeReferenceImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RealTypeReferenceImpl.java
new file mode 100644
index 00000000..8c12c66c
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RealTypeReferenceImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealTypeReference;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Real Type Reference</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class RealTypeReferenceImpl extends PrimitiveTypeReferenceImpl implements RealTypeReference {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected RealTypeReferenceImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.REAL_TYPE_REFERENCE;
35 }
36
37} //RealTypeReferenceImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RelationDeclarationImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RelationDeclarationImpl.java
new file mode 100644
index 00000000..22b588ab
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RelationDeclarationImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Relation Declaration</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class RelationDeclarationImpl extends RelationImpl implements RelationDeclaration {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected RelationDeclarationImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.RELATION_DECLARATION;
35 }
36
37} //RelationDeclarationImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RelationDefinitionImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RelationDefinitionImpl.java
new file mode 100644
index 00000000..017518eb
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RelationDefinitionImpl.java
@@ -0,0 +1,280 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition;
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable;
10
11import java.util.Collection;
12
13import org.eclipse.emf.common.notify.Notification;
14import org.eclipse.emf.common.notify.NotificationChain;
15
16import org.eclipse.emf.common.util.EList;
17
18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.emf.ecore.InternalEObject;
20
21import org.eclipse.emf.ecore.impl.ENotificationImpl;
22import org.eclipse.emf.ecore.util.EObjectContainmentEList;
23import org.eclipse.emf.ecore.util.InternalEList;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model object '<em><b>Relation Definition</b></em>'.
28 * <!-- end-user-doc -->
29 * <p>
30 * The following features are implemented:
31 * </p>
32 * <ul>
33 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationDefinitionImpl#getVariables <em>Variables</em>}</li>
34 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationDefinitionImpl#getValue <em>Value</em>}</li>
35 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationDefinitionImpl#getDefines <em>Defines</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class RelationDefinitionImpl extends RelationImpl implements RelationDefinition {
41 /**
42 * The cached value of the '{@link #getVariables() <em>Variables</em>}' containment reference list.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getVariables()
46 * @generated
47 * @ordered
48 */
49 protected EList<Variable> variables;
50
51 /**
52 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getValue()
56 * @generated
57 * @ordered
58 */
59 protected Term value;
60
61 /**
62 * The cached value of the '{@link #getDefines() <em>Defines</em>}' reference.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getDefines()
66 * @generated
67 * @ordered
68 */
69 protected RelationDeclaration defines;
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 protected RelationDefinitionImpl() {
77 super();
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 @Override
86 protected EClass eStaticClass() {
87 return LogiclanguagePackage.Literals.RELATION_DEFINITION;
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 public EList<Variable> getVariables() {
96 if (variables == null) {
97 variables = new EObjectContainmentEList<Variable>(Variable.class, this, LogiclanguagePackage.RELATION_DEFINITION__VARIABLES);
98 }
99 return variables;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public Term getValue() {
108 return value;
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 public NotificationChain basicSetValue(Term newValue, NotificationChain msgs) {
117 Term oldValue = value;
118 value = newValue;
119 if (eNotificationRequired()) {
120 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.RELATION_DEFINITION__VALUE, oldValue, newValue);
121 if (msgs == null) msgs = notification; else msgs.add(notification);
122 }
123 return msgs;
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 public void setValue(Term newValue) {
132 if (newValue != value) {
133 NotificationChain msgs = null;
134 if (value != null)
135 msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.RELATION_DEFINITION__VALUE, null, msgs);
136 if (newValue != null)
137 msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.RELATION_DEFINITION__VALUE, null, msgs);
138 msgs = basicSetValue(newValue, msgs);
139 if (msgs != null) msgs.dispatch();
140 }
141 else if (eNotificationRequired())
142 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.RELATION_DEFINITION__VALUE, newValue, newValue));
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 public RelationDeclaration getDefines() {
151 if (defines != null && defines.eIsProxy()) {
152 InternalEObject oldDefines = (InternalEObject)defines;
153 defines = (RelationDeclaration)eResolveProxy(oldDefines);
154 if (defines != oldDefines) {
155 if (eNotificationRequired())
156 eNotify(new ENotificationImpl(this, Notification.RESOLVE, LogiclanguagePackage.RELATION_DEFINITION__DEFINES, oldDefines, defines));
157 }
158 }
159 return defines;
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 public RelationDeclaration basicGetDefines() {
168 return defines;
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 public void setDefines(RelationDeclaration newDefines) {
177 RelationDeclaration oldDefines = defines;
178 defines = newDefines;
179 if (eNotificationRequired())
180 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.RELATION_DEFINITION__DEFINES, oldDefines, defines));
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 @Override
189 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
190 switch (featureID) {
191 case LogiclanguagePackage.RELATION_DEFINITION__VARIABLES:
192 return ((InternalEList<?>)getVariables()).basicRemove(otherEnd, msgs);
193 case LogiclanguagePackage.RELATION_DEFINITION__VALUE:
194 return basicSetValue(null, msgs);
195 }
196 return super.eInverseRemove(otherEnd, featureID, msgs);
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 @Override
205 public Object eGet(int featureID, boolean resolve, boolean coreType) {
206 switch (featureID) {
207 case LogiclanguagePackage.RELATION_DEFINITION__VARIABLES:
208 return getVariables();
209 case LogiclanguagePackage.RELATION_DEFINITION__VALUE:
210 return getValue();
211 case LogiclanguagePackage.RELATION_DEFINITION__DEFINES:
212 if (resolve) return getDefines();
213 return basicGetDefines();
214 }
215 return super.eGet(featureID, resolve, coreType);
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 @SuppressWarnings("unchecked")
224 @Override
225 public void eSet(int featureID, Object newValue) {
226 switch (featureID) {
227 case LogiclanguagePackage.RELATION_DEFINITION__VARIABLES:
228 getVariables().clear();
229 getVariables().addAll((Collection<? extends Variable>)newValue);
230 return;
231 case LogiclanguagePackage.RELATION_DEFINITION__VALUE:
232 setValue((Term)newValue);
233 return;
234 case LogiclanguagePackage.RELATION_DEFINITION__DEFINES:
235 setDefines((RelationDeclaration)newValue);
236 return;
237 }
238 super.eSet(featureID, newValue);
239 }
240
241 /**
242 * <!-- begin-user-doc -->
243 * <!-- end-user-doc -->
244 * @generated
245 */
246 @Override
247 public void eUnset(int featureID) {
248 switch (featureID) {
249 case LogiclanguagePackage.RELATION_DEFINITION__VARIABLES:
250 getVariables().clear();
251 return;
252 case LogiclanguagePackage.RELATION_DEFINITION__VALUE:
253 setValue((Term)null);
254 return;
255 case LogiclanguagePackage.RELATION_DEFINITION__DEFINES:
256 setDefines((RelationDeclaration)null);
257 return;
258 }
259 super.eUnset(featureID);
260 }
261
262 /**
263 * <!-- begin-user-doc -->
264 * <!-- end-user-doc -->
265 * @generated
266 */
267 @Override
268 public boolean eIsSet(int featureID) {
269 switch (featureID) {
270 case LogiclanguagePackage.RELATION_DEFINITION__VARIABLES:
271 return variables != null && !variables.isEmpty();
272 case LogiclanguagePackage.RELATION_DEFINITION__VALUE:
273 return value != null;
274 case LogiclanguagePackage.RELATION_DEFINITION__DEFINES:
275 return defines != null;
276 }
277 return super.eIsSet(featureID);
278 }
279
280} //RelationDefinitionImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RelationImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RelationImpl.java
new file mode 100644
index 00000000..a0127ab8
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RelationImpl.java
@@ -0,0 +1,204 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference;
8
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
10import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation;
11import java.util.Collection;
12
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.util.EObjectContainmentEList;
21import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
22import org.eclipse.emf.ecore.util.InternalEList;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Relation</b></em>'.
27 * <!-- end-user-doc -->
28 * <p>
29 * The following features are implemented:
30 * </p>
31 * <ul>
32 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationImpl#getParameters <em>Parameters</em>}</li>
33 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationImpl#getAnnotations <em>Annotations</em>}</li>
34 * </ul>
35 *
36 * @generated
37 */
38public abstract class RelationImpl extends SymbolicDeclarationImpl implements Relation {
39 /**
40 * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getParameters()
44 * @generated
45 * @ordered
46 */
47 protected EList<TypeReference> parameters;
48
49 /**
50 * The cached value of the '{@link #getAnnotations() <em>Annotations</em>}' reference list.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #getAnnotations()
54 * @generated
55 * @ordered
56 */
57 protected EList<RelationAnnotation> annotations;
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 protected RelationImpl() {
65 super();
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 protected EClass eStaticClass() {
75 return LogiclanguagePackage.Literals.RELATION;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public EList<TypeReference> getParameters() {
84 if (parameters == null) {
85 parameters = new EObjectContainmentEList<TypeReference>(TypeReference.class, this, LogiclanguagePackage.RELATION__PARAMETERS);
86 }
87 return parameters;
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 public EList<RelationAnnotation> getAnnotations() {
96 if (annotations == null) {
97 annotations = new EObjectWithInverseResolvingEList<RelationAnnotation>(RelationAnnotation.class, this, LogiclanguagePackage.RELATION__ANNOTATIONS, LogicproblemPackage.RELATION_ANNOTATION__TARGET);
98 }
99 return annotations;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 @SuppressWarnings("unchecked")
108 @Override
109 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
110 switch (featureID) {
111 case LogiclanguagePackage.RELATION__ANNOTATIONS:
112 return ((InternalEList<InternalEObject>)(InternalEList<?>)getAnnotations()).basicAdd(otherEnd, msgs);
113 }
114 return super.eInverseAdd(otherEnd, featureID, msgs);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
124 switch (featureID) {
125 case LogiclanguagePackage.RELATION__PARAMETERS:
126 return ((InternalEList<?>)getParameters()).basicRemove(otherEnd, msgs);
127 case LogiclanguagePackage.RELATION__ANNOTATIONS:
128 return ((InternalEList<?>)getAnnotations()).basicRemove(otherEnd, msgs);
129 }
130 return super.eInverseRemove(otherEnd, featureID, msgs);
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 public Object eGet(int featureID, boolean resolve, boolean coreType) {
140 switch (featureID) {
141 case LogiclanguagePackage.RELATION__PARAMETERS:
142 return getParameters();
143 case LogiclanguagePackage.RELATION__ANNOTATIONS:
144 return getAnnotations();
145 }
146 return super.eGet(featureID, resolve, coreType);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @SuppressWarnings("unchecked")
155 @Override
156 public void eSet(int featureID, Object newValue) {
157 switch (featureID) {
158 case LogiclanguagePackage.RELATION__PARAMETERS:
159 getParameters().clear();
160 getParameters().addAll((Collection<? extends TypeReference>)newValue);
161 return;
162 case LogiclanguagePackage.RELATION__ANNOTATIONS:
163 getAnnotations().clear();
164 getAnnotations().addAll((Collection<? extends RelationAnnotation>)newValue);
165 return;
166 }
167 super.eSet(featureID, newValue);
168 }
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 @Override
176 public void eUnset(int featureID) {
177 switch (featureID) {
178 case LogiclanguagePackage.RELATION__PARAMETERS:
179 getParameters().clear();
180 return;
181 case LogiclanguagePackage.RELATION__ANNOTATIONS:
182 getAnnotations().clear();
183 return;
184 }
185 super.eUnset(featureID);
186 }
187
188 /**
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @generated
192 */
193 @Override
194 public boolean eIsSet(int featureID) {
195 switch (featureID) {
196 case LogiclanguagePackage.RELATION__PARAMETERS:
197 return parameters != null && !parameters.isEmpty();
198 case LogiclanguagePackage.RELATION__ANNOTATIONS:
199 return annotations != null && !annotations.isEmpty();
200 }
201 return super.eIsSet(featureID);
202 }
203
204} //RelationImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/SymbolicDeclarationImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/SymbolicDeclarationImpl.java
new file mode 100644
index 00000000..1f28cbd7
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/SymbolicDeclarationImpl.java
@@ -0,0 +1,161 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicDeclaration;
7import org.eclipse.emf.common.notify.Notification;
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Symbolic Declaration</b></em>'.
16 * <!-- end-user-doc -->
17 * <p>
18 * The following features are implemented:
19 * </p>
20 * <ul>
21 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.SymbolicDeclarationImpl#getName <em>Name</em>}</li>
22 * </ul>
23 *
24 * @generated
25 */
26public abstract class SymbolicDeclarationImpl extends MinimalEObjectImpl.Container implements SymbolicDeclaration {
27 /**
28 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @see #getName()
32 * @generated
33 * @ordered
34 */
35 protected static final String NAME_EDEFAULT = null;
36 /**
37 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getName()
41 * @generated
42 * @ordered
43 */
44 protected String name = NAME_EDEFAULT;
45
46 /**
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 protected SymbolicDeclarationImpl() {
52 super();
53 }
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 @Override
61 protected EClass eStaticClass() {
62 return LogiclanguagePackage.Literals.SYMBOLIC_DECLARATION;
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 public String getName() {
71 return name;
72 }
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 public void setName(String newName) {
80 String oldName = name;
81 name = newName;
82 if (eNotificationRequired())
83 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.SYMBOLIC_DECLARATION__NAME, oldName, name));
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 public Object eGet(int featureID, boolean resolve, boolean coreType) {
93 switch (featureID) {
94 case LogiclanguagePackage.SYMBOLIC_DECLARATION__NAME:
95 return getName();
96 }
97 return super.eGet(featureID, resolve, coreType);
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 @SuppressWarnings("unchecked")
106 @Override
107 public void eSet(int featureID, Object newValue) {
108 switch (featureID) {
109 case LogiclanguagePackage.SYMBOLIC_DECLARATION__NAME:
110 setName((String)newValue);
111 return;
112 }
113 super.eSet(featureID, newValue);
114 }
115
116 /**
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 */
121 @Override
122 public void eUnset(int featureID) {
123 switch (featureID) {
124 case LogiclanguagePackage.SYMBOLIC_DECLARATION__NAME:
125 setName(NAME_EDEFAULT);
126 return;
127 }
128 super.eUnset(featureID);
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 @Override
137 public boolean eIsSet(int featureID) {
138 switch (featureID) {
139 case LogiclanguagePackage.SYMBOLIC_DECLARATION__NAME:
140 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
141 }
142 return super.eIsSet(featureID);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public String toString() {
152 if (eIsProxy()) return super.toString();
153
154 StringBuffer result = new StringBuffer(super.toString());
155 result.append(" (name: ");
156 result.append(name);
157 result.append(')');
158 return result.toString();
159 }
160
161} //SymbolicDeclarationImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/SymbolicValueImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/SymbolicValueImpl.java
new file mode 100644
index 00000000..59e1a7d3
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/SymbolicValueImpl.java
@@ -0,0 +1,214 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicDeclaration;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue;
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
9
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.impl.ENotificationImpl;
21
22import org.eclipse.emf.ecore.util.EObjectContainmentEList;
23import org.eclipse.emf.ecore.util.InternalEList;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model object '<em><b>Symbolic Value</b></em>'.
28 * <!-- end-user-doc -->
29 * <p>
30 * The following features are implemented:
31 * </p>
32 * <ul>
33 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.SymbolicValueImpl#getSymbolicReference <em>Symbolic Reference</em>}</li>
34 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.SymbolicValueImpl#getParameterSubstitutions <em>Parameter Substitutions</em>}</li>
35 * </ul>
36 *
37 * @generated
38 */
39public class SymbolicValueImpl extends TermImpl implements SymbolicValue {
40 /**
41 * The cached value of the '{@link #getSymbolicReference() <em>Symbolic Reference</em>}' reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getSymbolicReference()
45 * @generated
46 * @ordered
47 */
48 protected SymbolicDeclaration symbolicReference;
49
50 /**
51 * The cached value of the '{@link #getParameterSubstitutions() <em>Parameter Substitutions</em>}' containment reference list.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #getParameterSubstitutions()
55 * @generated
56 * @ordered
57 */
58 protected EList<Term> parameterSubstitutions;
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 protected SymbolicValueImpl() {
66 super();
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 @Override
75 protected EClass eStaticClass() {
76 return LogiclanguagePackage.Literals.SYMBOLIC_VALUE;
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 public SymbolicDeclaration getSymbolicReference() {
85 if (symbolicReference != null && symbolicReference.eIsProxy()) {
86 InternalEObject oldSymbolicReference = (InternalEObject)symbolicReference;
87 symbolicReference = (SymbolicDeclaration)eResolveProxy(oldSymbolicReference);
88 if (symbolicReference != oldSymbolicReference) {
89 if (eNotificationRequired())
90 eNotify(new ENotificationImpl(this, Notification.RESOLVE, LogiclanguagePackage.SYMBOLIC_VALUE__SYMBOLIC_REFERENCE, oldSymbolicReference, symbolicReference));
91 }
92 }
93 return symbolicReference;
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 public SymbolicDeclaration basicGetSymbolicReference() {
102 return symbolicReference;
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 public void setSymbolicReference(SymbolicDeclaration newSymbolicReference) {
111 SymbolicDeclaration oldSymbolicReference = symbolicReference;
112 symbolicReference = newSymbolicReference;
113 if (eNotificationRequired())
114 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.SYMBOLIC_VALUE__SYMBOLIC_REFERENCE, oldSymbolicReference, symbolicReference));
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 public EList<Term> getParameterSubstitutions() {
123 if (parameterSubstitutions == null) {
124 parameterSubstitutions = new EObjectContainmentEList<Term>(Term.class, this, LogiclanguagePackage.SYMBOLIC_VALUE__PARAMETER_SUBSTITUTIONS);
125 }
126 return parameterSubstitutions;
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
136 switch (featureID) {
137 case LogiclanguagePackage.SYMBOLIC_VALUE__PARAMETER_SUBSTITUTIONS:
138 return ((InternalEList<?>)getParameterSubstitutions()).basicRemove(otherEnd, msgs);
139 }
140 return super.eInverseRemove(otherEnd, featureID, msgs);
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 @Override
149 public Object eGet(int featureID, boolean resolve, boolean coreType) {
150 switch (featureID) {
151 case LogiclanguagePackage.SYMBOLIC_VALUE__SYMBOLIC_REFERENCE:
152 if (resolve) return getSymbolicReference();
153 return basicGetSymbolicReference();
154 case LogiclanguagePackage.SYMBOLIC_VALUE__PARAMETER_SUBSTITUTIONS:
155 return getParameterSubstitutions();
156 }
157 return super.eGet(featureID, resolve, coreType);
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 @SuppressWarnings("unchecked")
166 @Override
167 public void eSet(int featureID, Object newValue) {
168 switch (featureID) {
169 case LogiclanguagePackage.SYMBOLIC_VALUE__SYMBOLIC_REFERENCE:
170 setSymbolicReference((SymbolicDeclaration)newValue);
171 return;
172 case LogiclanguagePackage.SYMBOLIC_VALUE__PARAMETER_SUBSTITUTIONS:
173 getParameterSubstitutions().clear();
174 getParameterSubstitutions().addAll((Collection<? extends Term>)newValue);
175 return;
176 }
177 super.eSet(featureID, newValue);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public void eUnset(int featureID) {
187 switch (featureID) {
188 case LogiclanguagePackage.SYMBOLIC_VALUE__SYMBOLIC_REFERENCE:
189 setSymbolicReference((SymbolicDeclaration)null);
190 return;
191 case LogiclanguagePackage.SYMBOLIC_VALUE__PARAMETER_SUBSTITUTIONS:
192 getParameterSubstitutions().clear();
193 return;
194 }
195 super.eUnset(featureID);
196 }
197
198 /**
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated
202 */
203 @Override
204 public boolean eIsSet(int featureID) {
205 switch (featureID) {
206 case LogiclanguagePackage.SYMBOLIC_VALUE__SYMBOLIC_REFERENCE:
207 return symbolicReference != null;
208 case LogiclanguagePackage.SYMBOLIC_VALUE__PARAMETER_SUBSTITUTIONS:
209 return parameterSubstitutions != null && !parameterSubstitutions.isEmpty();
210 }
211 return super.eIsSet(featureID);
212 }
213
214} //SymbolicValueImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TermImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TermImpl.java
new file mode 100644
index 00000000..e3a9eec4
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TermImpl.java
@@ -0,0 +1,39 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
11
12/**
13 * <!-- begin-user-doc -->
14 * An implementation of the model object '<em><b>Term</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * @generated
18 */
19public abstract class TermImpl extends MinimalEObjectImpl.Container implements Term {
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected TermImpl() {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass() {
36 return LogiclanguagePackage.Literals.TERM;
37 }
38
39} //TermImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TypeDeclarationImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TypeDeclarationImpl.java
new file mode 100644
index 00000000..dfcf17dc
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TypeDeclarationImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Type Declaration</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class TypeDeclarationImpl extends TypeImpl implements TypeDeclaration {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected TypeDeclarationImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.TYPE_DECLARATION;
35 }
36
37} //TypeDeclarationImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TypeDefinitionImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TypeDefinitionImpl.java
new file mode 100644
index 00000000..02b2ec52
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TypeDefinitionImpl.java
@@ -0,0 +1,225 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration;
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition;
9
10import java.util.Collection;
11import org.eclipse.emf.common.notify.Notification;
12import org.eclipse.emf.common.notify.NotificationChain;
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17import org.eclipse.emf.ecore.impl.ENotificationImpl;
18import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Type Definition</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeDefinitionImpl#getElements <em>Elements</em>}</li>
30 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeDefinitionImpl#getDefines <em>Defines</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class TypeDefinitionImpl extends TypeImpl implements TypeDefinition {
36 /**
37 * The cached value of the '{@link #getElements() <em>Elements</em>}' reference list.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getElements()
41 * @generated
42 * @ordered
43 */
44 protected EList<DefinedElement> elements;
45
46 /**
47 * The cached value of the '{@link #getDefines() <em>Defines</em>}' reference.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #getDefines()
51 * @generated
52 * @ordered
53 */
54 protected TypeDeclaration defines;
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 protected TypeDefinitionImpl() {
62 super();
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 @Override
71 protected EClass eStaticClass() {
72 return LogiclanguagePackage.Literals.TYPE_DEFINITION;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public EList<DefinedElement> getElements() {
81 if (elements == null) {
82 elements = new EObjectWithInverseResolvingEList.ManyInverse<DefinedElement>(DefinedElement.class, this, LogiclanguagePackage.TYPE_DEFINITION__ELEMENTS, LogiclanguagePackage.DEFINED_ELEMENT__DEFINED_IN_TYPE);
83 }
84 return elements;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public TypeDeclaration getDefines() {
93 if (defines != null && defines.eIsProxy()) {
94 InternalEObject oldDefines = (InternalEObject)defines;
95 defines = (TypeDeclaration)eResolveProxy(oldDefines);
96 if (defines != oldDefines) {
97 if (eNotificationRequired())
98 eNotify(new ENotificationImpl(this, Notification.RESOLVE, LogiclanguagePackage.TYPE_DEFINITION__DEFINES, oldDefines, defines));
99 }
100 }
101 return defines;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 public TypeDeclaration basicGetDefines() {
110 return defines;
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public void setDefines(TypeDeclaration newDefines) {
119 TypeDeclaration oldDefines = defines;
120 defines = newDefines;
121 if (eNotificationRequired())
122 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.TYPE_DEFINITION__DEFINES, oldDefines, defines));
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @SuppressWarnings("unchecked")
131 @Override
132 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
133 switch (featureID) {
134 case LogiclanguagePackage.TYPE_DEFINITION__ELEMENTS:
135 return ((InternalEList<InternalEObject>)(InternalEList<?>)getElements()).basicAdd(otherEnd, msgs);
136 }
137 return super.eInverseAdd(otherEnd, featureID, msgs);
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 @Override
146 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
147 switch (featureID) {
148 case LogiclanguagePackage.TYPE_DEFINITION__ELEMENTS:
149 return ((InternalEList<?>)getElements()).basicRemove(otherEnd, msgs);
150 }
151 return super.eInverseRemove(otherEnd, featureID, msgs);
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 @Override
160 public Object eGet(int featureID, boolean resolve, boolean coreType) {
161 switch (featureID) {
162 case LogiclanguagePackage.TYPE_DEFINITION__ELEMENTS:
163 return getElements();
164 case LogiclanguagePackage.TYPE_DEFINITION__DEFINES:
165 if (resolve) return getDefines();
166 return basicGetDefines();
167 }
168 return super.eGet(featureID, resolve, coreType);
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 @SuppressWarnings("unchecked")
177 @Override
178 public void eSet(int featureID, Object newValue) {
179 switch (featureID) {
180 case LogiclanguagePackage.TYPE_DEFINITION__ELEMENTS:
181 getElements().clear();
182 getElements().addAll((Collection<? extends DefinedElement>)newValue);
183 return;
184 case LogiclanguagePackage.TYPE_DEFINITION__DEFINES:
185 setDefines((TypeDeclaration)newValue);
186 return;
187 }
188 super.eSet(featureID, newValue);
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @Override
197 public void eUnset(int featureID) {
198 switch (featureID) {
199 case LogiclanguagePackage.TYPE_DEFINITION__ELEMENTS:
200 getElements().clear();
201 return;
202 case LogiclanguagePackage.TYPE_DEFINITION__DEFINES:
203 setDefines((TypeDeclaration)null);
204 return;
205 }
206 super.eUnset(featureID);
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 @Override
215 public boolean eIsSet(int featureID) {
216 switch (featureID) {
217 case LogiclanguagePackage.TYPE_DEFINITION__ELEMENTS:
218 return elements != null && !elements.isEmpty();
219 case LogiclanguagePackage.TYPE_DEFINITION__DEFINES:
220 return defines != null;
221 }
222 return super.eIsSet(featureID);
223 }
224
225} //TypeDefinitionImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TypeImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TypeImpl.java
new file mode 100644
index 00000000..f51d7ef5
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TypeImpl.java
@@ -0,0 +1,325 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type;
7
8import java.util.Collection;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12import org.eclipse.emf.common.util.EList;
13
14import org.eclipse.emf.ecore.EClass;
15
16import org.eclipse.emf.ecore.InternalEObject;
17import org.eclipse.emf.ecore.impl.ENotificationImpl;
18import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
19import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
20import org.eclipse.emf.ecore.util.InternalEList;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model object '<em><b>Type</b></em>'.
25 * <!-- end-user-doc -->
26 * <p>
27 * The following features are implemented:
28 * </p>
29 * <ul>
30 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeImpl#getName <em>Name</em>}</li>
31 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeImpl#getSubtypes <em>Subtypes</em>}</li>
32 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeImpl#getSupertypes <em>Supertypes</em>}</li>
33 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeImpl#isIsAbstract <em>Is Abstract</em>}</li>
34 * </ul>
35 *
36 * @generated
37 */
38public abstract class TypeImpl extends MinimalEObjectImpl.Container implements Type {
39 /**
40 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getName()
44 * @generated
45 * @ordered
46 */
47 protected static final String NAME_EDEFAULT = null;
48
49 /**
50 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #getName()
54 * @generated
55 * @ordered
56 */
57 protected String name = NAME_EDEFAULT;
58
59 /**
60 * The cached value of the '{@link #getSubtypes() <em>Subtypes</em>}' reference list.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see #getSubtypes()
64 * @generated
65 * @ordered
66 */
67 protected EList<Type> subtypes;
68 /**
69 * The cached value of the '{@link #getSupertypes() <em>Supertypes</em>}' reference list.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @see #getSupertypes()
73 * @generated
74 * @ordered
75 */
76 protected EList<Type> supertypes;
77
78 /**
79 * The default value of the '{@link #isIsAbstract() <em>Is Abstract</em>}' attribute.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @see #isIsAbstract()
83 * @generated
84 * @ordered
85 */
86 protected static final boolean IS_ABSTRACT_EDEFAULT = false;
87
88 /**
89 * The cached value of the '{@link #isIsAbstract() <em>Is Abstract</em>}' attribute.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @see #isIsAbstract()
93 * @generated
94 * @ordered
95 */
96 protected boolean isAbstract = IS_ABSTRACT_EDEFAULT;
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 protected TypeImpl() {
104 super();
105 }
106
107 /**
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @generated
111 */
112 @Override
113 protected EClass eStaticClass() {
114 return LogiclanguagePackage.Literals.TYPE;
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 public String getName() {
123 return name;
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 public void setName(String newName) {
132 String oldName = name;
133 name = newName;
134 if (eNotificationRequired())
135 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.TYPE__NAME, oldName, name));
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 public EList<Type> getSubtypes() {
144 if (subtypes == null) {
145 subtypes = new EObjectWithInverseResolvingEList.ManyInverse<Type>(Type.class, this, LogiclanguagePackage.TYPE__SUBTYPES, LogiclanguagePackage.TYPE__SUPERTYPES);
146 }
147 return subtypes;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public EList<Type> getSupertypes() {
156 if (supertypes == null) {
157 supertypes = new EObjectWithInverseResolvingEList.ManyInverse<Type>(Type.class, this, LogiclanguagePackage.TYPE__SUPERTYPES, LogiclanguagePackage.TYPE__SUBTYPES);
158 }
159 return supertypes;
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 public boolean isIsAbstract() {
168 return isAbstract;
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 public void setIsAbstract(boolean newIsAbstract) {
177 boolean oldIsAbstract = isAbstract;
178 isAbstract = newIsAbstract;
179 if (eNotificationRequired())
180 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.TYPE__IS_ABSTRACT, oldIsAbstract, isAbstract));
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 @SuppressWarnings("unchecked")
189 @Override
190 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
191 switch (featureID) {
192 case LogiclanguagePackage.TYPE__SUBTYPES:
193 return ((InternalEList<InternalEObject>)(InternalEList<?>)getSubtypes()).basicAdd(otherEnd, msgs);
194 case LogiclanguagePackage.TYPE__SUPERTYPES:
195 return ((InternalEList<InternalEObject>)(InternalEList<?>)getSupertypes()).basicAdd(otherEnd, msgs);
196 }
197 return super.eInverseAdd(otherEnd, featureID, msgs);
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
207 switch (featureID) {
208 case LogiclanguagePackage.TYPE__SUBTYPES:
209 return ((InternalEList<?>)getSubtypes()).basicRemove(otherEnd, msgs);
210 case LogiclanguagePackage.TYPE__SUPERTYPES:
211 return ((InternalEList<?>)getSupertypes()).basicRemove(otherEnd, msgs);
212 }
213 return super.eInverseRemove(otherEnd, featureID, msgs);
214 }
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 @Override
222 public Object eGet(int featureID, boolean resolve, boolean coreType) {
223 switch (featureID) {
224 case LogiclanguagePackage.TYPE__NAME:
225 return getName();
226 case LogiclanguagePackage.TYPE__SUBTYPES:
227 return getSubtypes();
228 case LogiclanguagePackage.TYPE__SUPERTYPES:
229 return getSupertypes();
230 case LogiclanguagePackage.TYPE__IS_ABSTRACT:
231 return isIsAbstract();
232 }
233 return super.eGet(featureID, resolve, coreType);
234 }
235
236 /**
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 */
241 @SuppressWarnings("unchecked")
242 @Override
243 public void eSet(int featureID, Object newValue) {
244 switch (featureID) {
245 case LogiclanguagePackage.TYPE__NAME:
246 setName((String)newValue);
247 return;
248 case LogiclanguagePackage.TYPE__SUBTYPES:
249 getSubtypes().clear();
250 getSubtypes().addAll((Collection<? extends Type>)newValue);
251 return;
252 case LogiclanguagePackage.TYPE__SUPERTYPES:
253 getSupertypes().clear();
254 getSupertypes().addAll((Collection<? extends Type>)newValue);
255 return;
256 case LogiclanguagePackage.TYPE__IS_ABSTRACT:
257 setIsAbstract((Boolean)newValue);
258 return;
259 }
260 super.eSet(featureID, newValue);
261 }
262
263 /**
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @generated
267 */
268 @Override
269 public void eUnset(int featureID) {
270 switch (featureID) {
271 case LogiclanguagePackage.TYPE__NAME:
272 setName(NAME_EDEFAULT);
273 return;
274 case LogiclanguagePackage.TYPE__SUBTYPES:
275 getSubtypes().clear();
276 return;
277 case LogiclanguagePackage.TYPE__SUPERTYPES:
278 getSupertypes().clear();
279 return;
280 case LogiclanguagePackage.TYPE__IS_ABSTRACT:
281 setIsAbstract(IS_ABSTRACT_EDEFAULT);
282 return;
283 }
284 super.eUnset(featureID);
285 }
286
287 /**
288 * <!-- begin-user-doc -->
289 * <!-- end-user-doc -->
290 * @generated
291 */
292 @Override
293 public boolean eIsSet(int featureID) {
294 switch (featureID) {
295 case LogiclanguagePackage.TYPE__NAME:
296 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
297 case LogiclanguagePackage.TYPE__SUBTYPES:
298 return subtypes != null && !subtypes.isEmpty();
299 case LogiclanguagePackage.TYPE__SUPERTYPES:
300 return supertypes != null && !supertypes.isEmpty();
301 case LogiclanguagePackage.TYPE__IS_ABSTRACT:
302 return isAbstract != IS_ABSTRACT_EDEFAULT;
303 }
304 return super.eIsSet(featureID);
305 }
306
307 /**
308 * <!-- begin-user-doc -->
309 * <!-- end-user-doc -->
310 * @generated
311 */
312 @Override
313 public String toString() {
314 if (eIsProxy()) return super.toString();
315
316 StringBuffer result = new StringBuffer(super.toString());
317 result.append(" (name: ");
318 result.append(name);
319 result.append(", isAbstract: ");
320 result.append(isAbstract);
321 result.append(')');
322 return result.toString();
323 }
324
325} //TypeImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TypeReferenceImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TypeReferenceImpl.java
new file mode 100644
index 00000000..c8e8b782
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/TypeReferenceImpl.java
@@ -0,0 +1,39 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
11
12/**
13 * <!-- begin-user-doc -->
14 * An implementation of the model object '<em><b>Type Reference</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * @generated
18 */
19public abstract class TypeReferenceImpl extends MinimalEObjectImpl.Container implements TypeReference {
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected TypeReferenceImpl() {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass() {
36 return LogiclanguagePackage.Literals.TYPE_REFERENCE;
37 }
38
39} //TypeReferenceImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/UnknownBecauseUninterpretedImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/UnknownBecauseUninterpretedImpl.java
new file mode 100644
index 00000000..af7e9a11
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/UnknownBecauseUninterpretedImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.UnknownBecauseUninterpreted;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Unknown Because Uninterpreted</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class UnknownBecauseUninterpretedImpl extends TermImpl implements UnknownBecauseUninterpreted {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected UnknownBecauseUninterpretedImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogiclanguagePackage.Literals.UNKNOWN_BECAUSE_UNINTERPRETED;
35 }
36
37} //UnknownBecauseUninterpretedImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/VariableImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/VariableImpl.java
new file mode 100644
index 00000000..5e862b9f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/VariableImpl.java
@@ -0,0 +1,175 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Variable</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.VariableImpl#getRange <em>Range</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class VariableImpl extends SymbolicDeclarationImpl implements Variable {
31 /**
32 * The cached value of the '{@link #getRange() <em>Range</em>}' containment reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getRange()
36 * @generated
37 * @ordered
38 */
39 protected TypeReference range;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected VariableImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return LogiclanguagePackage.Literals.VARIABLE;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 public TypeReference getRange() {
66 return range;
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 public NotificationChain basicSetRange(TypeReference newRange, NotificationChain msgs) {
75 TypeReference oldRange = range;
76 range = newRange;
77 if (eNotificationRequired()) {
78 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.VARIABLE__RANGE, oldRange, newRange);
79 if (msgs == null) msgs = notification; else msgs.add(notification);
80 }
81 return msgs;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 public void setRange(TypeReference newRange) {
90 if (newRange != range) {
91 NotificationChain msgs = null;
92 if (range != null)
93 msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.VARIABLE__RANGE, null, msgs);
94 if (newRange != null)
95 msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogiclanguagePackage.VARIABLE__RANGE, null, msgs);
96 msgs = basicSetRange(newRange, msgs);
97 if (msgs != null) msgs.dispatch();
98 }
99 else if (eNotificationRequired())
100 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.VARIABLE__RANGE, newRange, newRange));
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
110 switch (featureID) {
111 case LogiclanguagePackage.VARIABLE__RANGE:
112 return basicSetRange(null, msgs);
113 }
114 return super.eInverseRemove(otherEnd, featureID, msgs);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public Object eGet(int featureID, boolean resolve, boolean coreType) {
124 switch (featureID) {
125 case LogiclanguagePackage.VARIABLE__RANGE:
126 return getRange();
127 }
128 return super.eGet(featureID, resolve, coreType);
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 @Override
137 public void eSet(int featureID, Object newValue) {
138 switch (featureID) {
139 case LogiclanguagePackage.VARIABLE__RANGE:
140 setRange((TypeReference)newValue);
141 return;
142 }
143 super.eSet(featureID, newValue);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public void eUnset(int featureID) {
153 switch (featureID) {
154 case LogiclanguagePackage.VARIABLE__RANGE:
155 setRange((TypeReference)null);
156 return;
157 }
158 super.eUnset(featureID);
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public boolean eIsSet(int featureID) {
168 switch (featureID) {
169 case LogiclanguagePackage.VARIABLE__RANGE:
170 return range != null;
171 }
172 return super.eIsSet(featureID);
173 }
174
175} //VariableImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/util/LogiclanguageAdapterFactory.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/util/LogiclanguageAdapterFactory.java
new file mode 100644
index 00000000..a3372dc9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/util/LogiclanguageAdapterFactory.java
@@ -0,0 +1,1092 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.util;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.*;
6
7import org.eclipse.emf.common.notify.Adapter;
8import org.eclipse.emf.common.notify.Notifier;
9
10import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
11
12import org.eclipse.emf.ecore.EObject;
13
14/**
15 * <!-- begin-user-doc -->
16 * The <b>Adapter Factory</b> for the model.
17 * It provides an adapter <code>createXXX</code> method for each class of the model.
18 * <!-- end-user-doc -->
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage
20 * @generated
21 */
22public class LogiclanguageAdapterFactory extends AdapterFactoryImpl {
23 /**
24 * The cached model package.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 protected static LogiclanguagePackage modelPackage;
30
31 /**
32 * Creates an instance of the adapter factory.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 public LogiclanguageAdapterFactory() {
38 if (modelPackage == null) {
39 modelPackage = LogiclanguagePackage.eINSTANCE;
40 }
41 }
42
43 /**
44 * Returns whether this factory is applicable for the type of the object.
45 * <!-- begin-user-doc -->
46 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
47 * <!-- end-user-doc -->
48 * @return whether this factory is applicable for the type of the object.
49 * @generated
50 */
51 @Override
52 public boolean isFactoryForType(Object object) {
53 if (object == modelPackage) {
54 return true;
55 }
56 if (object instanceof EObject) {
57 return ((EObject)object).eClass().getEPackage() == modelPackage;
58 }
59 return false;
60 }
61
62 /**
63 * The switch that delegates to the <code>createXXX</code> methods.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected LogiclanguageSwitch<Adapter> modelSwitch =
69 new LogiclanguageSwitch<Adapter>() {
70 @Override
71 public Adapter caseType(Type object) {
72 return createTypeAdapter();
73 }
74 @Override
75 public Adapter caseDefinedElement(DefinedElement object) {
76 return createDefinedElementAdapter();
77 }
78 @Override
79 public Adapter caseTypeDefinition(TypeDefinition object) {
80 return createTypeDefinitionAdapter();
81 }
82 @Override
83 public Adapter caseTypeReference(TypeReference object) {
84 return createTypeReferenceAdapter();
85 }
86 @Override
87 public Adapter caseComplexTypeReference(ComplexTypeReference object) {
88 return createComplexTypeReferenceAdapter();
89 }
90 @Override
91 public Adapter casePrimitiveTypeReference(PrimitiveTypeReference object) {
92 return createPrimitiveTypeReferenceAdapter();
93 }
94 @Override
95 public Adapter caseIntTypeReference(IntTypeReference object) {
96 return createIntTypeReferenceAdapter();
97 }
98 @Override
99 public Adapter caseBoolTypeReference(BoolTypeReference object) {
100 return createBoolTypeReferenceAdapter();
101 }
102 @Override
103 public Adapter caseRealTypeReference(RealTypeReference object) {
104 return createRealTypeReferenceAdapter();
105 }
106 @Override
107 public Adapter caseFunction(Function object) {
108 return createFunctionAdapter();
109 }
110 @Override
111 public Adapter caseTerm(Term object) {
112 return createTermAdapter();
113 }
114 @Override
115 public Adapter caseSymbolicDeclaration(SymbolicDeclaration object) {
116 return createSymbolicDeclarationAdapter();
117 }
118 @Override
119 public Adapter caseSymbolicValue(SymbolicValue object) {
120 return createSymbolicValueAdapter();
121 }
122 @Override
123 public Adapter caseAtomicTerm(AtomicTerm object) {
124 return createAtomicTermAdapter();
125 }
126 @Override
127 public Adapter caseIntLiteral(IntLiteral object) {
128 return createIntLiteralAdapter();
129 }
130 @Override
131 public Adapter caseBoolLiteral(BoolLiteral object) {
132 return createBoolLiteralAdapter();
133 }
134 @Override
135 public Adapter caseRealLiteral(RealLiteral object) {
136 return createRealLiteralAdapter();
137 }
138 @Override
139 public Adapter caseVariable(Variable object) {
140 return createVariableAdapter();
141 }
142 @Override
143 public Adapter caseQuantifiedExpression(QuantifiedExpression object) {
144 return createQuantifiedExpressionAdapter();
145 }
146 @Override
147 public Adapter caseExists(Exists object) {
148 return createExistsAdapter();
149 }
150 @Override
151 public Adapter caseForall(Forall object) {
152 return createForallAdapter();
153 }
154 @Override
155 public Adapter caseBoolOperation(BoolOperation object) {
156 return createBoolOperationAdapter();
157 }
158 @Override
159 public Adapter caseAnd(And object) {
160 return createAndAdapter();
161 }
162 @Override
163 public Adapter caseOr(Or object) {
164 return createOrAdapter();
165 }
166 @Override
167 public Adapter caseImpl(Impl object) {
168 return createImplAdapter();
169 }
170 @Override
171 public Adapter caseNot(Not object) {
172 return createNotAdapter();
173 }
174 @Override
175 public Adapter caseIff(Iff object) {
176 return createIffAdapter();
177 }
178 @Override
179 public Adapter casePrimitiveRelation(PrimitiveRelation object) {
180 return createPrimitiveRelationAdapter();
181 }
182 @Override
183 public Adapter caseEquals(Equals object) {
184 return createEqualsAdapter();
185 }
186 @Override
187 public Adapter caseDistinct(Distinct object) {
188 return createDistinctAdapter();
189 }
190 @Override
191 public Adapter caseLessThan(LessThan object) {
192 return createLessThanAdapter();
193 }
194 @Override
195 public Adapter caseMoreThan(MoreThan object) {
196 return createMoreThanAdapter();
197 }
198 @Override
199 public Adapter caseLessOrEqualThan(LessOrEqualThan object) {
200 return createLessOrEqualThanAdapter();
201 }
202 @Override
203 public Adapter caseMoreOrEqualThan(MoreOrEqualThan object) {
204 return createMoreOrEqualThanAdapter();
205 }
206 @Override
207 public Adapter caseIntOperation(IntOperation object) {
208 return createIntOperationAdapter();
209 }
210 @Override
211 public Adapter casePlus(Plus object) {
212 return createPlusAdapter();
213 }
214 @Override
215 public Adapter caseMinus(Minus object) {
216 return createMinusAdapter();
217 }
218 @Override
219 public Adapter caseMultiply(Multiply object) {
220 return createMultiplyAdapter();
221 }
222 @Override
223 public Adapter caseDivison(Divison object) {
224 return createDivisonAdapter();
225 }
226 @Override
227 public Adapter caseMod(Mod object) {
228 return createModAdapter();
229 }
230 @Override
231 public Adapter caseTypeDescriptor(TypeDescriptor object) {
232 return createTypeDescriptorAdapter();
233 }
234 @Override
235 public Adapter caseTermDescription(TermDescription object) {
236 return createTermDescriptionAdapter();
237 }
238 @Override
239 public Adapter caseAssertion(Assertion object) {
240 return createAssertionAdapter();
241 }
242 @Override
243 public Adapter caseRelation(Relation object) {
244 return createRelationAdapter();
245 }
246 @Override
247 public Adapter caseConstant(Constant object) {
248 return createConstantAdapter();
249 }
250 @Override
251 public Adapter caseConstantDefinition(ConstantDefinition object) {
252 return createConstantDefinitionAdapter();
253 }
254 @Override
255 public Adapter caseRelationDefinition(RelationDefinition object) {
256 return createRelationDefinitionAdapter();
257 }
258 @Override
259 public Adapter caseFunctionDefinition(FunctionDefinition object) {
260 return createFunctionDefinitionAdapter();
261 }
262 @Override
263 public Adapter caseIfThenElse(IfThenElse object) {
264 return createIfThenElseAdapter();
265 }
266 @Override
267 public Adapter caseConstantDeclaration(ConstantDeclaration object) {
268 return createConstantDeclarationAdapter();
269 }
270 @Override
271 public Adapter caseRelationDeclaration(RelationDeclaration object) {
272 return createRelationDeclarationAdapter();
273 }
274 @Override
275 public Adapter caseFunctionDeclaration(FunctionDeclaration object) {
276 return createFunctionDeclarationAdapter();
277 }
278 @Override
279 public Adapter caseTypeDeclaration(TypeDeclaration object) {
280 return createTypeDeclarationAdapter();
281 }
282 @Override
283 public Adapter caseUnknownBecauseUninterpreted(UnknownBecauseUninterpreted object) {
284 return createUnknownBecauseUninterpretedAdapter();
285 }
286 @Override
287 public Adapter caseInstanceOf(InstanceOf object) {
288 return createInstanceOfAdapter();
289 }
290 @Override
291 public Adapter defaultCase(EObject object) {
292 return createEObjectAdapter();
293 }
294 };
295
296 /**
297 * Creates an adapter for the <code>target</code>.
298 * <!-- begin-user-doc -->
299 * <!-- end-user-doc -->
300 * @param target the object to adapt.
301 * @return the adapter for the <code>target</code>.
302 * @generated
303 */
304 @Override
305 public Adapter createAdapter(Notifier target) {
306 return modelSwitch.doSwitch((EObject)target);
307 }
308
309
310 /**
311 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type <em>Type</em>}'.
312 * <!-- begin-user-doc -->
313 * This default implementation returns null so that we can easily ignore cases;
314 * it's useful to ignore a case when inheritance will catch all the cases anyway.
315 * <!-- end-user-doc -->
316 * @return the new adapter.
317 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
318 * @generated
319 */
320 public Adapter createTypeAdapter() {
321 return null;
322 }
323
324 /**
325 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement <em>Defined Element</em>}'.
326 * <!-- begin-user-doc -->
327 * This default implementation returns null so that we can easily ignore cases;
328 * it's useful to ignore a case when inheritance will catch all the cases anyway.
329 * <!-- end-user-doc -->
330 * @return the new adapter.
331 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
332 * @generated
333 */
334 public Adapter createDefinedElementAdapter() {
335 return null;
336 }
337
338 /**
339 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition <em>Type Definition</em>}'.
340 * <!-- begin-user-doc -->
341 * This default implementation returns null so that we can easily ignore cases;
342 * it's useful to ignore a case when inheritance will catch all the cases anyway.
343 * <!-- end-user-doc -->
344 * @return the new adapter.
345 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
346 * @generated
347 */
348 public Adapter createTypeDefinitionAdapter() {
349 return null;
350 }
351
352 /**
353 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference <em>Type Reference</em>}'.
354 * <!-- begin-user-doc -->
355 * This default implementation returns null so that we can easily ignore cases;
356 * it's useful to ignore a case when inheritance will catch all the cases anyway.
357 * <!-- end-user-doc -->
358 * @return the new adapter.
359 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference
360 * @generated
361 */
362 public Adapter createTypeReferenceAdapter() {
363 return null;
364 }
365
366 /**
367 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference <em>Complex Type Reference</em>}'.
368 * <!-- begin-user-doc -->
369 * This default implementation returns null so that we can easily ignore cases;
370 * it's useful to ignore a case when inheritance will catch all the cases anyway.
371 * <!-- end-user-doc -->
372 * @return the new adapter.
373 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
374 * @generated
375 */
376 public Adapter createComplexTypeReferenceAdapter() {
377 return null;
378 }
379
380 /**
381 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.PrimitiveTypeReference <em>Primitive Type Reference</em>}'.
382 * <!-- begin-user-doc -->
383 * This default implementation returns null so that we can easily ignore cases;
384 * it's useful to ignore a case when inheritance will catch all the cases anyway.
385 * <!-- end-user-doc -->
386 * @return the new adapter.
387 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.PrimitiveTypeReference
388 * @generated
389 */
390 public Adapter createPrimitiveTypeReferenceAdapter() {
391 return null;
392 }
393
394 /**
395 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntTypeReference <em>Int Type Reference</em>}'.
396 * <!-- begin-user-doc -->
397 * This default implementation returns null so that we can easily ignore cases;
398 * it's useful to ignore a case when inheritance will catch all the cases anyway.
399 * <!-- end-user-doc -->
400 * @return the new adapter.
401 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntTypeReference
402 * @generated
403 */
404 public Adapter createIntTypeReferenceAdapter() {
405 return null;
406 }
407
408 /**
409 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolTypeReference <em>Bool Type Reference</em>}'.
410 * <!-- begin-user-doc -->
411 * This default implementation returns null so that we can easily ignore cases;
412 * it's useful to ignore a case when inheritance will catch all the cases anyway.
413 * <!-- end-user-doc -->
414 * @return the new adapter.
415 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolTypeReference
416 * @generated
417 */
418 public Adapter createBoolTypeReferenceAdapter() {
419 return null;
420 }
421
422 /**
423 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealTypeReference <em>Real Type Reference</em>}'.
424 * <!-- begin-user-doc -->
425 * This default implementation returns null so that we can easily ignore cases;
426 * it's useful to ignore a case when inheritance will catch all the cases anyway.
427 * <!-- end-user-doc -->
428 * @return the new adapter.
429 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealTypeReference
430 * @generated
431 */
432 public Adapter createRealTypeReferenceAdapter() {
433 return null;
434 }
435
436 /**
437 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function <em>Function</em>}'.
438 * <!-- begin-user-doc -->
439 * This default implementation returns null so that we can easily ignore cases;
440 * it's useful to ignore a case when inheritance will catch all the cases anyway.
441 * <!-- end-user-doc -->
442 * @return the new adapter.
443 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function
444 * @generated
445 */
446 public Adapter createFunctionAdapter() {
447 return null;
448 }
449
450 /**
451 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term <em>Term</em>}'.
452 * <!-- begin-user-doc -->
453 * This default implementation returns null so that we can easily ignore cases;
454 * it's useful to ignore a case when inheritance will catch all the cases anyway.
455 * <!-- end-user-doc -->
456 * @return the new adapter.
457 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
458 * @generated
459 */
460 public Adapter createTermAdapter() {
461 return null;
462 }
463
464 /**
465 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicDeclaration <em>Symbolic Declaration</em>}'.
466 * <!-- begin-user-doc -->
467 * This default implementation returns null so that we can easily ignore cases;
468 * it's useful to ignore a case when inheritance will catch all the cases anyway.
469 * <!-- end-user-doc -->
470 * @return the new adapter.
471 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicDeclaration
472 * @generated
473 */
474 public Adapter createSymbolicDeclarationAdapter() {
475 return null;
476 }
477
478 /**
479 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue <em>Symbolic Value</em>}'.
480 * <!-- begin-user-doc -->
481 * This default implementation returns null so that we can easily ignore cases;
482 * it's useful to ignore a case when inheritance will catch all the cases anyway.
483 * <!-- end-user-doc -->
484 * @return the new adapter.
485 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue
486 * @generated
487 */
488 public Adapter createSymbolicValueAdapter() {
489 return null;
490 }
491
492 /**
493 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.AtomicTerm <em>Atomic Term</em>}'.
494 * <!-- begin-user-doc -->
495 * This default implementation returns null so that we can easily ignore cases;
496 * it's useful to ignore a case when inheritance will catch all the cases anyway.
497 * <!-- end-user-doc -->
498 * @return the new adapter.
499 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.AtomicTerm
500 * @generated
501 */
502 public Adapter createAtomicTermAdapter() {
503 return null;
504 }
505
506 /**
507 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral <em>Int Literal</em>}'.
508 * <!-- begin-user-doc -->
509 * This default implementation returns null so that we can easily ignore cases;
510 * it's useful to ignore a case when inheritance will catch all the cases anyway.
511 * <!-- end-user-doc -->
512 * @return the new adapter.
513 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral
514 * @generated
515 */
516 public Adapter createIntLiteralAdapter() {
517 return null;
518 }
519
520 /**
521 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolLiteral <em>Bool Literal</em>}'.
522 * <!-- begin-user-doc -->
523 * This default implementation returns null so that we can easily ignore cases;
524 * it's useful to ignore a case when inheritance will catch all the cases anyway.
525 * <!-- end-user-doc -->
526 * @return the new adapter.
527 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolLiteral
528 * @generated
529 */
530 public Adapter createBoolLiteralAdapter() {
531 return null;
532 }
533
534 /**
535 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral <em>Real Literal</em>}'.
536 * <!-- begin-user-doc -->
537 * This default implementation returns null so that we can easily ignore cases;
538 * it's useful to ignore a case when inheritance will catch all the cases anyway.
539 * <!-- end-user-doc -->
540 * @return the new adapter.
541 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral
542 * @generated
543 */
544 public Adapter createRealLiteralAdapter() {
545 return null;
546 }
547
548 /**
549 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable <em>Variable</em>}'.
550 * <!-- begin-user-doc -->
551 * This default implementation returns null so that we can easily ignore cases;
552 * it's useful to ignore a case when inheritance will catch all the cases anyway.
553 * <!-- end-user-doc -->
554 * @return the new adapter.
555 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
556 * @generated
557 */
558 public Adapter createVariableAdapter() {
559 return null;
560 }
561
562 /**
563 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression <em>Quantified Expression</em>}'.
564 * <!-- begin-user-doc -->
565 * This default implementation returns null so that we can easily ignore cases;
566 * it's useful to ignore a case when inheritance will catch all the cases anyway.
567 * <!-- end-user-doc -->
568 * @return the new adapter.
569 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression
570 * @generated
571 */
572 public Adapter createQuantifiedExpressionAdapter() {
573 return null;
574 }
575
576 /**
577 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Exists <em>Exists</em>}'.
578 * <!-- begin-user-doc -->
579 * This default implementation returns null so that we can easily ignore cases;
580 * it's useful to ignore a case when inheritance will catch all the cases anyway.
581 * <!-- end-user-doc -->
582 * @return the new adapter.
583 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Exists
584 * @generated
585 */
586 public Adapter createExistsAdapter() {
587 return null;
588 }
589
590 /**
591 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Forall <em>Forall</em>}'.
592 * <!-- begin-user-doc -->
593 * This default implementation returns null so that we can easily ignore cases;
594 * it's useful to ignore a case when inheritance will catch all the cases anyway.
595 * <!-- end-user-doc -->
596 * @return the new adapter.
597 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Forall
598 * @generated
599 */
600 public Adapter createForallAdapter() {
601 return null;
602 }
603
604 /**
605 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolOperation <em>Bool Operation</em>}'.
606 * <!-- begin-user-doc -->
607 * This default implementation returns null so that we can easily ignore cases;
608 * it's useful to ignore a case when inheritance will catch all the cases anyway.
609 * <!-- end-user-doc -->
610 * @return the new adapter.
611 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolOperation
612 * @generated
613 */
614 public Adapter createBoolOperationAdapter() {
615 return null;
616 }
617
618 /**
619 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.And <em>And</em>}'.
620 * <!-- begin-user-doc -->
621 * This default implementation returns null so that we can easily ignore cases;
622 * it's useful to ignore a case when inheritance will catch all the cases anyway.
623 * <!-- end-user-doc -->
624 * @return the new adapter.
625 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.And
626 * @generated
627 */
628 public Adapter createAndAdapter() {
629 return null;
630 }
631
632 /**
633 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Or <em>Or</em>}'.
634 * <!-- begin-user-doc -->
635 * This default implementation returns null so that we can easily ignore cases;
636 * it's useful to ignore a case when inheritance will catch all the cases anyway.
637 * <!-- end-user-doc -->
638 * @return the new adapter.
639 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Or
640 * @generated
641 */
642 public Adapter createOrAdapter() {
643 return null;
644 }
645
646 /**
647 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl <em>Impl</em>}'.
648 * <!-- begin-user-doc -->
649 * This default implementation returns null so that we can easily ignore cases;
650 * it's useful to ignore a case when inheritance will catch all the cases anyway.
651 * <!-- end-user-doc -->
652 * @return the new adapter.
653 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl
654 * @generated
655 */
656 public Adapter createImplAdapter() {
657 return null;
658 }
659
660 /**
661 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Not <em>Not</em>}'.
662 * <!-- begin-user-doc -->
663 * This default implementation returns null so that we can easily ignore cases;
664 * it's useful to ignore a case when inheritance will catch all the cases anyway.
665 * <!-- end-user-doc -->
666 * @return the new adapter.
667 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Not
668 * @generated
669 */
670 public Adapter createNotAdapter() {
671 return null;
672 }
673
674 /**
675 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff <em>Iff</em>}'.
676 * <!-- begin-user-doc -->
677 * This default implementation returns null so that we can easily ignore cases;
678 * it's useful to ignore a case when inheritance will catch all the cases anyway.
679 * <!-- end-user-doc -->
680 * @return the new adapter.
681 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff
682 * @generated
683 */
684 public Adapter createIffAdapter() {
685 return null;
686 }
687
688 /**
689 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.PrimitiveRelation <em>Primitive Relation</em>}'.
690 * <!-- begin-user-doc -->
691 * This default implementation returns null so that we can easily ignore cases;
692 * it's useful to ignore a case when inheritance will catch all the cases anyway.
693 * <!-- end-user-doc -->
694 * @return the new adapter.
695 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.PrimitiveRelation
696 * @generated
697 */
698 public Adapter createPrimitiveRelationAdapter() {
699 return null;
700 }
701
702 /**
703 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals <em>Equals</em>}'.
704 * <!-- begin-user-doc -->
705 * This default implementation returns null so that we can easily ignore cases;
706 * it's useful to ignore a case when inheritance will catch all the cases anyway.
707 * <!-- end-user-doc -->
708 * @return the new adapter.
709 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals
710 * @generated
711 */
712 public Adapter createEqualsAdapter() {
713 return null;
714 }
715
716 /**
717 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Distinct <em>Distinct</em>}'.
718 * <!-- begin-user-doc -->
719 * This default implementation returns null so that we can easily ignore cases;
720 * it's useful to ignore a case when inheritance will catch all the cases anyway.
721 * <!-- end-user-doc -->
722 * @return the new adapter.
723 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Distinct
724 * @generated
725 */
726 public Adapter createDistinctAdapter() {
727 return null;
728 }
729
730 /**
731 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan <em>Less Than</em>}'.
732 * <!-- begin-user-doc -->
733 * This default implementation returns null so that we can easily ignore cases;
734 * it's useful to ignore a case when inheritance will catch all the cases anyway.
735 * <!-- end-user-doc -->
736 * @return the new adapter.
737 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan
738 * @generated
739 */
740 public Adapter createLessThanAdapter() {
741 return null;
742 }
743
744 /**
745 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan <em>More Than</em>}'.
746 * <!-- begin-user-doc -->
747 * This default implementation returns null so that we can easily ignore cases;
748 * it's useful to ignore a case when inheritance will catch all the cases anyway.
749 * <!-- end-user-doc -->
750 * @return the new adapter.
751 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan
752 * @generated
753 */
754 public Adapter createMoreThanAdapter() {
755 return null;
756 }
757
758 /**
759 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan <em>Less Or Equal Than</em>}'.
760 * <!-- begin-user-doc -->
761 * This default implementation returns null so that we can easily ignore cases;
762 * it's useful to ignore a case when inheritance will catch all the cases anyway.
763 * <!-- end-user-doc -->
764 * @return the new adapter.
765 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan
766 * @generated
767 */
768 public Adapter createLessOrEqualThanAdapter() {
769 return null;
770 }
771
772 /**
773 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan <em>More Or Equal Than</em>}'.
774 * <!-- begin-user-doc -->
775 * This default implementation returns null so that we can easily ignore cases;
776 * it's useful to ignore a case when inheritance will catch all the cases anyway.
777 * <!-- end-user-doc -->
778 * @return the new adapter.
779 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan
780 * @generated
781 */
782 public Adapter createMoreOrEqualThanAdapter() {
783 return null;
784 }
785
786 /**
787 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntOperation <em>Int Operation</em>}'.
788 * <!-- begin-user-doc -->
789 * This default implementation returns null so that we can easily ignore cases;
790 * it's useful to ignore a case when inheritance will catch all the cases anyway.
791 * <!-- end-user-doc -->
792 * @return the new adapter.
793 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntOperation
794 * @generated
795 */
796 public Adapter createIntOperationAdapter() {
797 return null;
798 }
799
800 /**
801 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Plus <em>Plus</em>}'.
802 * <!-- begin-user-doc -->
803 * This default implementation returns null so that we can easily ignore cases;
804 * it's useful to ignore a case when inheritance will catch all the cases anyway.
805 * <!-- end-user-doc -->
806 * @return the new adapter.
807 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Plus
808 * @generated
809 */
810 public Adapter createPlusAdapter() {
811 return null;
812 }
813
814 /**
815 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Minus <em>Minus</em>}'.
816 * <!-- begin-user-doc -->
817 * This default implementation returns null so that we can easily ignore cases;
818 * it's useful to ignore a case when inheritance will catch all the cases anyway.
819 * <!-- end-user-doc -->
820 * @return the new adapter.
821 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Minus
822 * @generated
823 */
824 public Adapter createMinusAdapter() {
825 return null;
826 }
827
828 /**
829 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Multiply <em>Multiply</em>}'.
830 * <!-- begin-user-doc -->
831 * This default implementation returns null so that we can easily ignore cases;
832 * it's useful to ignore a case when inheritance will catch all the cases anyway.
833 * <!-- end-user-doc -->
834 * @return the new adapter.
835 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Multiply
836 * @generated
837 */
838 public Adapter createMultiplyAdapter() {
839 return null;
840 }
841
842 /**
843 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Divison <em>Divison</em>}'.
844 * <!-- begin-user-doc -->
845 * This default implementation returns null so that we can easily ignore cases;
846 * it's useful to ignore a case when inheritance will catch all the cases anyway.
847 * <!-- end-user-doc -->
848 * @return the new adapter.
849 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Divison
850 * @generated
851 */
852 public Adapter createDivisonAdapter() {
853 return null;
854 }
855
856 /**
857 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Mod <em>Mod</em>}'.
858 * <!-- begin-user-doc -->
859 * This default implementation returns null so that we can easily ignore cases;
860 * it's useful to ignore a case when inheritance will catch all the cases anyway.
861 * <!-- end-user-doc -->
862 * @return the new adapter.
863 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Mod
864 * @generated
865 */
866 public Adapter createModAdapter() {
867 return null;
868 }
869
870 /**
871 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDescriptor <em>Type Descriptor</em>}'.
872 * <!-- begin-user-doc -->
873 * This default implementation returns null so that we can easily ignore cases;
874 * it's useful to ignore a case when inheritance will catch all the cases anyway.
875 * <!-- end-user-doc -->
876 * @return the new adapter.
877 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDescriptor
878 * @generated
879 */
880 public Adapter createTypeDescriptorAdapter() {
881 return null;
882 }
883
884 /**
885 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription <em>Term Description</em>}'.
886 * <!-- begin-user-doc -->
887 * This default implementation returns null so that we can easily ignore cases;
888 * it's useful to ignore a case when inheritance will catch all the cases anyway.
889 * <!-- end-user-doc -->
890 * @return the new adapter.
891 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription
892 * @generated
893 */
894 public Adapter createTermDescriptionAdapter() {
895 return null;
896 }
897
898 /**
899 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion <em>Assertion</em>}'.
900 * <!-- begin-user-doc -->
901 * This default implementation returns null so that we can easily ignore cases;
902 * it's useful to ignore a case when inheritance will catch all the cases anyway.
903 * <!-- end-user-doc -->
904 * @return the new adapter.
905 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion
906 * @generated
907 */
908 public Adapter createAssertionAdapter() {
909 return null;
910 }
911
912 /**
913 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation <em>Relation</em>}'.
914 * <!-- begin-user-doc -->
915 * This default implementation returns null so that we can easily ignore cases;
916 * it's useful to ignore a case when inheritance will catch all the cases anyway.
917 * <!-- end-user-doc -->
918 * @return the new adapter.
919 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
920 * @generated
921 */
922 public Adapter createRelationAdapter() {
923 return null;
924 }
925
926 /**
927 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant <em>Constant</em>}'.
928 * <!-- begin-user-doc -->
929 * This default implementation returns null so that we can easily ignore cases;
930 * it's useful to ignore a case when inheritance will catch all the cases anyway.
931 * <!-- end-user-doc -->
932 * @return the new adapter.
933 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant
934 * @generated
935 */
936 public Adapter createConstantAdapter() {
937 return null;
938 }
939
940 /**
941 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition <em>Constant Definition</em>}'.
942 * <!-- begin-user-doc -->
943 * This default implementation returns null so that we can easily ignore cases;
944 * it's useful to ignore a case when inheritance will catch all the cases anyway.
945 * <!-- end-user-doc -->
946 * @return the new adapter.
947 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition
948 * @generated
949 */
950 public Adapter createConstantDefinitionAdapter() {
951 return null;
952 }
953
954 /**
955 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition <em>Relation Definition</em>}'.
956 * <!-- begin-user-doc -->
957 * This default implementation returns null so that we can easily ignore cases;
958 * it's useful to ignore a case when inheritance will catch all the cases anyway.
959 * <!-- end-user-doc -->
960 * @return the new adapter.
961 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
962 * @generated
963 */
964 public Adapter createRelationDefinitionAdapter() {
965 return null;
966 }
967
968 /**
969 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition <em>Function Definition</em>}'.
970 * <!-- begin-user-doc -->
971 * This default implementation returns null so that we can easily ignore cases;
972 * it's useful to ignore a case when inheritance will catch all the cases anyway.
973 * <!-- end-user-doc -->
974 * @return the new adapter.
975 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition
976 * @generated
977 */
978 public Adapter createFunctionDefinitionAdapter() {
979 return null;
980 }
981
982 /**
983 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse <em>If Then Else</em>}'.
984 * <!-- begin-user-doc -->
985 * This default implementation returns null so that we can easily ignore cases;
986 * it's useful to ignore a case when inheritance will catch all the cases anyway.
987 * <!-- end-user-doc -->
988 * @return the new adapter.
989 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse
990 * @generated
991 */
992 public Adapter createIfThenElseAdapter() {
993 return null;
994 }
995
996 /**
997 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration <em>Constant Declaration</em>}'.
998 * <!-- begin-user-doc -->
999 * This default implementation returns null so that we can easily ignore cases;
1000 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1001 * <!-- end-user-doc -->
1002 * @return the new adapter.
1003 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
1004 * @generated
1005 */
1006 public Adapter createConstantDeclarationAdapter() {
1007 return null;
1008 }
1009
1010 /**
1011 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration <em>Relation Declaration</em>}'.
1012 * <!-- begin-user-doc -->
1013 * This default implementation returns null so that we can easily ignore cases;
1014 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1015 * <!-- end-user-doc -->
1016 * @return the new adapter.
1017 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
1018 * @generated
1019 */
1020 public Adapter createRelationDeclarationAdapter() {
1021 return null;
1022 }
1023
1024 /**
1025 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration <em>Function Declaration</em>}'.
1026 * <!-- begin-user-doc -->
1027 * This default implementation returns null so that we can easily ignore cases;
1028 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1029 * <!-- end-user-doc -->
1030 * @return the new adapter.
1031 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration
1032 * @generated
1033 */
1034 public Adapter createFunctionDeclarationAdapter() {
1035 return null;
1036 }
1037
1038 /**
1039 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration <em>Type Declaration</em>}'.
1040 * <!-- begin-user-doc -->
1041 * This default implementation returns null so that we can easily ignore cases;
1042 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1043 * <!-- end-user-doc -->
1044 * @return the new adapter.
1045 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
1046 * @generated
1047 */
1048 public Adapter createTypeDeclarationAdapter() {
1049 return null;
1050 }
1051
1052 /**
1053 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.UnknownBecauseUninterpreted <em>Unknown Because Uninterpreted</em>}'.
1054 * <!-- begin-user-doc -->
1055 * This default implementation returns null so that we can easily ignore cases;
1056 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1057 * <!-- end-user-doc -->
1058 * @return the new adapter.
1059 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.UnknownBecauseUninterpreted
1060 * @generated
1061 */
1062 public Adapter createUnknownBecauseUninterpretedAdapter() {
1063 return null;
1064 }
1065
1066 /**
1067 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf <em>Instance Of</em>}'.
1068 * <!-- begin-user-doc -->
1069 * This default implementation returns null so that we can easily ignore cases;
1070 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1071 * <!-- end-user-doc -->
1072 * @return the new adapter.
1073 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf
1074 * @generated
1075 */
1076 public Adapter createInstanceOfAdapter() {
1077 return null;
1078 }
1079
1080 /**
1081 * Creates a new adapter for the default case.
1082 * <!-- begin-user-doc -->
1083 * This default implementation returns null.
1084 * <!-- end-user-doc -->
1085 * @return the new adapter.
1086 * @generated
1087 */
1088 public Adapter createEObjectAdapter() {
1089 return null;
1090 }
1091
1092} //LogiclanguageAdapterFactory
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/util/LogiclanguageSwitch.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/util/LogiclanguageSwitch.java
new file mode 100644
index 00000000..a2a1e10a
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/util/LogiclanguageSwitch.java
@@ -0,0 +1,1374 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.util;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.*;
6
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EPackage;
9
10import org.eclipse.emf.ecore.util.Switch;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Switch</b> for the model's inheritance hierarchy.
15 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
16 * to invoke the <code>caseXXX</code> method for each class of the model,
17 * starting with the actual class of the object
18 * and proceeding up the inheritance hierarchy
19 * until a non-null result is returned,
20 * which is the result of the switch.
21 * <!-- end-user-doc -->
22 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage
23 * @generated
24 */
25public class LogiclanguageSwitch<T> extends Switch<T> {
26 /**
27 * The cached model package
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 protected static LogiclanguagePackage modelPackage;
33
34 /**
35 * Creates an instance of the switch.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 public LogiclanguageSwitch() {
41 if (modelPackage == null) {
42 modelPackage = LogiclanguagePackage.eINSTANCE;
43 }
44 }
45
46 /**
47 * Checks whether this is a switch for the given package.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @param ePackage the package in question.
51 * @return whether this is a switch for the given package.
52 * @generated
53 */
54 @Override
55 protected boolean isSwitchFor(EPackage ePackage) {
56 return ePackage == modelPackage;
57 }
58
59 /**
60 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @return the first non-null result returned by a <code>caseXXX</code> call.
64 * @generated
65 */
66 @Override
67 protected T doSwitch(int classifierID, EObject theEObject) {
68 switch (classifierID) {
69 case LogiclanguagePackage.TYPE: {
70 Type type = (Type)theEObject;
71 T result = caseType(type);
72 if (result == null) result = caseTypeDescriptor(type);
73 if (result == null) result = defaultCase(theEObject);
74 return result;
75 }
76 case LogiclanguagePackage.DEFINED_ELEMENT: {
77 DefinedElement definedElement = (DefinedElement)theEObject;
78 T result = caseDefinedElement(definedElement);
79 if (result == null) result = caseSymbolicDeclaration(definedElement);
80 if (result == null) result = caseTermDescription(definedElement);
81 if (result == null) result = defaultCase(theEObject);
82 return result;
83 }
84 case LogiclanguagePackage.TYPE_DEFINITION: {
85 TypeDefinition typeDefinition = (TypeDefinition)theEObject;
86 T result = caseTypeDefinition(typeDefinition);
87 if (result == null) result = caseType(typeDefinition);
88 if (result == null) result = caseTypeDescriptor(typeDefinition);
89 if (result == null) result = defaultCase(theEObject);
90 return result;
91 }
92 case LogiclanguagePackage.TYPE_REFERENCE: {
93 TypeReference typeReference = (TypeReference)theEObject;
94 T result = caseTypeReference(typeReference);
95 if (result == null) result = caseTypeDescriptor(typeReference);
96 if (result == null) result = defaultCase(theEObject);
97 return result;
98 }
99 case LogiclanguagePackage.COMPLEX_TYPE_REFERENCE: {
100 ComplexTypeReference complexTypeReference = (ComplexTypeReference)theEObject;
101 T result = caseComplexTypeReference(complexTypeReference);
102 if (result == null) result = caseTypeReference(complexTypeReference);
103 if (result == null) result = caseTypeDescriptor(complexTypeReference);
104 if (result == null) result = defaultCase(theEObject);
105 return result;
106 }
107 case LogiclanguagePackage.PRIMITIVE_TYPE_REFERENCE: {
108 PrimitiveTypeReference primitiveTypeReference = (PrimitiveTypeReference)theEObject;
109 T result = casePrimitiveTypeReference(primitiveTypeReference);
110 if (result == null) result = caseTypeReference(primitiveTypeReference);
111 if (result == null) result = caseTypeDescriptor(primitiveTypeReference);
112 if (result == null) result = defaultCase(theEObject);
113 return result;
114 }
115 case LogiclanguagePackage.INT_TYPE_REFERENCE: {
116 IntTypeReference intTypeReference = (IntTypeReference)theEObject;
117 T result = caseIntTypeReference(intTypeReference);
118 if (result == null) result = casePrimitiveTypeReference(intTypeReference);
119 if (result == null) result = caseTypeReference(intTypeReference);
120 if (result == null) result = caseTypeDescriptor(intTypeReference);
121 if (result == null) result = defaultCase(theEObject);
122 return result;
123 }
124 case LogiclanguagePackage.BOOL_TYPE_REFERENCE: {
125 BoolTypeReference boolTypeReference = (BoolTypeReference)theEObject;
126 T result = caseBoolTypeReference(boolTypeReference);
127 if (result == null) result = casePrimitiveTypeReference(boolTypeReference);
128 if (result == null) result = caseTypeReference(boolTypeReference);
129 if (result == null) result = caseTypeDescriptor(boolTypeReference);
130 if (result == null) result = defaultCase(theEObject);
131 return result;
132 }
133 case LogiclanguagePackage.REAL_TYPE_REFERENCE: {
134 RealTypeReference realTypeReference = (RealTypeReference)theEObject;
135 T result = caseRealTypeReference(realTypeReference);
136 if (result == null) result = casePrimitiveTypeReference(realTypeReference);
137 if (result == null) result = caseTypeReference(realTypeReference);
138 if (result == null) result = caseTypeDescriptor(realTypeReference);
139 if (result == null) result = defaultCase(theEObject);
140 return result;
141 }
142 case LogiclanguagePackage.FUNCTION: {
143 Function function = (Function)theEObject;
144 T result = caseFunction(function);
145 if (result == null) result = caseSymbolicDeclaration(function);
146 if (result == null) result = caseTermDescription(function);
147 if (result == null) result = defaultCase(theEObject);
148 return result;
149 }
150 case LogiclanguagePackage.TERM: {
151 Term term = (Term)theEObject;
152 T result = caseTerm(term);
153 if (result == null) result = caseTermDescription(term);
154 if (result == null) result = defaultCase(theEObject);
155 return result;
156 }
157 case LogiclanguagePackage.SYMBOLIC_DECLARATION: {
158 SymbolicDeclaration symbolicDeclaration = (SymbolicDeclaration)theEObject;
159 T result = caseSymbolicDeclaration(symbolicDeclaration);
160 if (result == null) result = caseTermDescription(symbolicDeclaration);
161 if (result == null) result = defaultCase(theEObject);
162 return result;
163 }
164 case LogiclanguagePackage.SYMBOLIC_VALUE: {
165 SymbolicValue symbolicValue = (SymbolicValue)theEObject;
166 T result = caseSymbolicValue(symbolicValue);
167 if (result == null) result = caseTerm(symbolicValue);
168 if (result == null) result = caseTermDescription(symbolicValue);
169 if (result == null) result = defaultCase(theEObject);
170 return result;
171 }
172 case LogiclanguagePackage.ATOMIC_TERM: {
173 AtomicTerm atomicTerm = (AtomicTerm)theEObject;
174 T result = caseAtomicTerm(atomicTerm);
175 if (result == null) result = caseTerm(atomicTerm);
176 if (result == null) result = caseTermDescription(atomicTerm);
177 if (result == null) result = defaultCase(theEObject);
178 return result;
179 }
180 case LogiclanguagePackage.INT_LITERAL: {
181 IntLiteral intLiteral = (IntLiteral)theEObject;
182 T result = caseIntLiteral(intLiteral);
183 if (result == null) result = caseAtomicTerm(intLiteral);
184 if (result == null) result = caseTerm(intLiteral);
185 if (result == null) result = caseTermDescription(intLiteral);
186 if (result == null) result = defaultCase(theEObject);
187 return result;
188 }
189 case LogiclanguagePackage.BOOL_LITERAL: {
190 BoolLiteral boolLiteral = (BoolLiteral)theEObject;
191 T result = caseBoolLiteral(boolLiteral);
192 if (result == null) result = caseAtomicTerm(boolLiteral);
193 if (result == null) result = caseTerm(boolLiteral);
194 if (result == null) result = caseTermDescription(boolLiteral);
195 if (result == null) result = defaultCase(theEObject);
196 return result;
197 }
198 case LogiclanguagePackage.REAL_LITERAL: {
199 RealLiteral realLiteral = (RealLiteral)theEObject;
200 T result = caseRealLiteral(realLiteral);
201 if (result == null) result = caseAtomicTerm(realLiteral);
202 if (result == null) result = caseTerm(realLiteral);
203 if (result == null) result = caseTermDescription(realLiteral);
204 if (result == null) result = defaultCase(theEObject);
205 return result;
206 }
207 case LogiclanguagePackage.VARIABLE: {
208 Variable variable = (Variable)theEObject;
209 T result = caseVariable(variable);
210 if (result == null) result = caseSymbolicDeclaration(variable);
211 if (result == null) result = caseTermDescription(variable);
212 if (result == null) result = defaultCase(theEObject);
213 return result;
214 }
215 case LogiclanguagePackage.QUANTIFIED_EXPRESSION: {
216 QuantifiedExpression quantifiedExpression = (QuantifiedExpression)theEObject;
217 T result = caseQuantifiedExpression(quantifiedExpression);
218 if (result == null) result = caseTerm(quantifiedExpression);
219 if (result == null) result = caseTermDescription(quantifiedExpression);
220 if (result == null) result = defaultCase(theEObject);
221 return result;
222 }
223 case LogiclanguagePackage.EXISTS: {
224 Exists exists = (Exists)theEObject;
225 T result = caseExists(exists);
226 if (result == null) result = caseQuantifiedExpression(exists);
227 if (result == null) result = caseTerm(exists);
228 if (result == null) result = caseTermDescription(exists);
229 if (result == null) result = defaultCase(theEObject);
230 return result;
231 }
232 case LogiclanguagePackage.FORALL: {
233 Forall forall = (Forall)theEObject;
234 T result = caseForall(forall);
235 if (result == null) result = caseQuantifiedExpression(forall);
236 if (result == null) result = caseTerm(forall);
237 if (result == null) result = caseTermDescription(forall);
238 if (result == null) result = defaultCase(theEObject);
239 return result;
240 }
241 case LogiclanguagePackage.BOOL_OPERATION: {
242 BoolOperation boolOperation = (BoolOperation)theEObject;
243 T result = caseBoolOperation(boolOperation);
244 if (result == null) result = caseTerm(boolOperation);
245 if (result == null) result = caseTermDescription(boolOperation);
246 if (result == null) result = defaultCase(theEObject);
247 return result;
248 }
249 case LogiclanguagePackage.AND: {
250 And and = (And)theEObject;
251 T result = caseAnd(and);
252 if (result == null) result = caseBoolOperation(and);
253 if (result == null) result = caseTerm(and);
254 if (result == null) result = caseTermDescription(and);
255 if (result == null) result = defaultCase(theEObject);
256 return result;
257 }
258 case LogiclanguagePackage.OR: {
259 Or or = (Or)theEObject;
260 T result = caseOr(or);
261 if (result == null) result = caseBoolOperation(or);
262 if (result == null) result = caseTerm(or);
263 if (result == null) result = caseTermDescription(or);
264 if (result == null) result = defaultCase(theEObject);
265 return result;
266 }
267 case LogiclanguagePackage.IMPL: {
268 Impl impl = (Impl)theEObject;
269 T result = caseImpl(impl);
270 if (result == null) result = caseBoolOperation(impl);
271 if (result == null) result = caseTerm(impl);
272 if (result == null) result = caseTermDescription(impl);
273 if (result == null) result = defaultCase(theEObject);
274 return result;
275 }
276 case LogiclanguagePackage.NOT: {
277 Not not = (Not)theEObject;
278 T result = caseNot(not);
279 if (result == null) result = caseBoolOperation(not);
280 if (result == null) result = caseTerm(not);
281 if (result == null) result = caseTermDescription(not);
282 if (result == null) result = defaultCase(theEObject);
283 return result;
284 }
285 case LogiclanguagePackage.IFF: {
286 Iff iff = (Iff)theEObject;
287 T result = caseIff(iff);
288 if (result == null) result = caseBoolOperation(iff);
289 if (result == null) result = caseTerm(iff);
290 if (result == null) result = caseTermDescription(iff);
291 if (result == null) result = defaultCase(theEObject);
292 return result;
293 }
294 case LogiclanguagePackage.PRIMITIVE_RELATION: {
295 PrimitiveRelation primitiveRelation = (PrimitiveRelation)theEObject;
296 T result = casePrimitiveRelation(primitiveRelation);
297 if (result == null) result = caseTerm(primitiveRelation);
298 if (result == null) result = caseTermDescription(primitiveRelation);
299 if (result == null) result = defaultCase(theEObject);
300 return result;
301 }
302 case LogiclanguagePackage.EQUALS: {
303 Equals equals = (Equals)theEObject;
304 T result = caseEquals(equals);
305 if (result == null) result = casePrimitiveRelation(equals);
306 if (result == null) result = caseTerm(equals);
307 if (result == null) result = caseTermDescription(equals);
308 if (result == null) result = defaultCase(theEObject);
309 return result;
310 }
311 case LogiclanguagePackage.DISTINCT: {
312 Distinct distinct = (Distinct)theEObject;
313 T result = caseDistinct(distinct);
314 if (result == null) result = casePrimitiveRelation(distinct);
315 if (result == null) result = caseTerm(distinct);
316 if (result == null) result = caseTermDescription(distinct);
317 if (result == null) result = defaultCase(theEObject);
318 return result;
319 }
320 case LogiclanguagePackage.LESS_THAN: {
321 LessThan lessThan = (LessThan)theEObject;
322 T result = caseLessThan(lessThan);
323 if (result == null) result = casePrimitiveRelation(lessThan);
324 if (result == null) result = caseTerm(lessThan);
325 if (result == null) result = caseTermDescription(lessThan);
326 if (result == null) result = defaultCase(theEObject);
327 return result;
328 }
329 case LogiclanguagePackage.MORE_THAN: {
330 MoreThan moreThan = (MoreThan)theEObject;
331 T result = caseMoreThan(moreThan);
332 if (result == null) result = casePrimitiveRelation(moreThan);
333 if (result == null) result = caseTerm(moreThan);
334 if (result == null) result = caseTermDescription(moreThan);
335 if (result == null) result = defaultCase(theEObject);
336 return result;
337 }
338 case LogiclanguagePackage.LESS_OR_EQUAL_THAN: {
339 LessOrEqualThan lessOrEqualThan = (LessOrEqualThan)theEObject;
340 T result = caseLessOrEqualThan(lessOrEqualThan);
341 if (result == null) result = casePrimitiveRelation(lessOrEqualThan);
342 if (result == null) result = caseTerm(lessOrEqualThan);
343 if (result == null) result = caseTermDescription(lessOrEqualThan);
344 if (result == null) result = defaultCase(theEObject);
345 return result;
346 }
347 case LogiclanguagePackage.MORE_OR_EQUAL_THAN: {
348 MoreOrEqualThan moreOrEqualThan = (MoreOrEqualThan)theEObject;
349 T result = caseMoreOrEqualThan(moreOrEqualThan);
350 if (result == null) result = casePrimitiveRelation(moreOrEqualThan);
351 if (result == null) result = caseTerm(moreOrEqualThan);
352 if (result == null) result = caseTermDescription(moreOrEqualThan);
353 if (result == null) result = defaultCase(theEObject);
354 return result;
355 }
356 case LogiclanguagePackage.INT_OPERATION: {
357 IntOperation intOperation = (IntOperation)theEObject;
358 T result = caseIntOperation(intOperation);
359 if (result == null) result = caseTerm(intOperation);
360 if (result == null) result = caseTermDescription(intOperation);
361 if (result == null) result = defaultCase(theEObject);
362 return result;
363 }
364 case LogiclanguagePackage.PLUS: {
365 Plus plus = (Plus)theEObject;
366 T result = casePlus(plus);
367 if (result == null) result = caseIntOperation(plus);
368 if (result == null) result = caseTerm(plus);
369 if (result == null) result = caseTermDescription(plus);
370 if (result == null) result = defaultCase(theEObject);
371 return result;
372 }
373 case LogiclanguagePackage.MINUS: {
374 Minus minus = (Minus)theEObject;
375 T result = caseMinus(minus);
376 if (result == null) result = caseIntOperation(minus);
377 if (result == null) result = caseTerm(minus);
378 if (result == null) result = caseTermDescription(minus);
379 if (result == null) result = defaultCase(theEObject);
380 return result;
381 }
382 case LogiclanguagePackage.MULTIPLY: {
383 Multiply multiply = (Multiply)theEObject;
384 T result = caseMultiply(multiply);
385 if (result == null) result = caseIntOperation(multiply);
386 if (result == null) result = caseTerm(multiply);
387 if (result == null) result = caseTermDescription(multiply);
388 if (result == null) result = defaultCase(theEObject);
389 return result;
390 }
391 case LogiclanguagePackage.DIVISON: {
392 Divison divison = (Divison)theEObject;
393 T result = caseDivison(divison);
394 if (result == null) result = caseIntOperation(divison);
395 if (result == null) result = caseTerm(divison);
396 if (result == null) result = caseTermDescription(divison);
397 if (result == null) result = defaultCase(theEObject);
398 return result;
399 }
400 case LogiclanguagePackage.MOD: {
401 Mod mod = (Mod)theEObject;
402 T result = caseMod(mod);
403 if (result == null) result = caseIntOperation(mod);
404 if (result == null) result = caseTerm(mod);
405 if (result == null) result = caseTermDescription(mod);
406 if (result == null) result = defaultCase(theEObject);
407 return result;
408 }
409 case LogiclanguagePackage.TYPE_DESCRIPTOR: {
410 TypeDescriptor typeDescriptor = (TypeDescriptor)theEObject;
411 T result = caseTypeDescriptor(typeDescriptor);
412 if (result == null) result = defaultCase(theEObject);
413 return result;
414 }
415 case LogiclanguagePackage.TERM_DESCRIPTION: {
416 TermDescription termDescription = (TermDescription)theEObject;
417 T result = caseTermDescription(termDescription);
418 if (result == null) result = defaultCase(theEObject);
419 return result;
420 }
421 case LogiclanguagePackage.ASSERTION: {
422 Assertion assertion = (Assertion)theEObject;
423 T result = caseAssertion(assertion);
424 if (result == null) result = defaultCase(theEObject);
425 return result;
426 }
427 case LogiclanguagePackage.RELATION: {
428 Relation relation = (Relation)theEObject;
429 T result = caseRelation(relation);
430 if (result == null) result = caseSymbolicDeclaration(relation);
431 if (result == null) result = caseTermDescription(relation);
432 if (result == null) result = defaultCase(theEObject);
433 return result;
434 }
435 case LogiclanguagePackage.CONSTANT: {
436 Constant constant = (Constant)theEObject;
437 T result = caseConstant(constant);
438 if (result == null) result = caseSymbolicDeclaration(constant);
439 if (result == null) result = caseTermDescription(constant);
440 if (result == null) result = defaultCase(theEObject);
441 return result;
442 }
443 case LogiclanguagePackage.CONSTANT_DEFINITION: {
444 ConstantDefinition constantDefinition = (ConstantDefinition)theEObject;
445 T result = caseConstantDefinition(constantDefinition);
446 if (result == null) result = caseConstant(constantDefinition);
447 if (result == null) result = caseSymbolicDeclaration(constantDefinition);
448 if (result == null) result = caseTermDescription(constantDefinition);
449 if (result == null) result = defaultCase(theEObject);
450 return result;
451 }
452 case LogiclanguagePackage.RELATION_DEFINITION: {
453 RelationDefinition relationDefinition = (RelationDefinition)theEObject;
454 T result = caseRelationDefinition(relationDefinition);
455 if (result == null) result = caseRelation(relationDefinition);
456 if (result == null) result = caseSymbolicDeclaration(relationDefinition);
457 if (result == null) result = caseTermDescription(relationDefinition);
458 if (result == null) result = defaultCase(theEObject);
459 return result;
460 }
461 case LogiclanguagePackage.FUNCTION_DEFINITION: {
462 FunctionDefinition functionDefinition = (FunctionDefinition)theEObject;
463 T result = caseFunctionDefinition(functionDefinition);
464 if (result == null) result = caseFunction(functionDefinition);
465 if (result == null) result = caseSymbolicDeclaration(functionDefinition);
466 if (result == null) result = caseTermDescription(functionDefinition);
467 if (result == null) result = defaultCase(theEObject);
468 return result;
469 }
470 case LogiclanguagePackage.IF_THEN_ELSE: {
471 IfThenElse ifThenElse = (IfThenElse)theEObject;
472 T result = caseIfThenElse(ifThenElse);
473 if (result == null) result = caseTerm(ifThenElse);
474 if (result == null) result = caseTermDescription(ifThenElse);
475 if (result == null) result = defaultCase(theEObject);
476 return result;
477 }
478 case LogiclanguagePackage.CONSTANT_DECLARATION: {
479 ConstantDeclaration constantDeclaration = (ConstantDeclaration)theEObject;
480 T result = caseConstantDeclaration(constantDeclaration);
481 if (result == null) result = caseConstant(constantDeclaration);
482 if (result == null) result = caseSymbolicDeclaration(constantDeclaration);
483 if (result == null) result = caseTermDescription(constantDeclaration);
484 if (result == null) result = defaultCase(theEObject);
485 return result;
486 }
487 case LogiclanguagePackage.RELATION_DECLARATION: {
488 RelationDeclaration relationDeclaration = (RelationDeclaration)theEObject;
489 T result = caseRelationDeclaration(relationDeclaration);
490 if (result == null) result = caseRelation(relationDeclaration);
491 if (result == null) result = caseSymbolicDeclaration(relationDeclaration);
492 if (result == null) result = caseTermDescription(relationDeclaration);
493 if (result == null) result = defaultCase(theEObject);
494 return result;
495 }
496 case LogiclanguagePackage.FUNCTION_DECLARATION: {
497 FunctionDeclaration functionDeclaration = (FunctionDeclaration)theEObject;
498 T result = caseFunctionDeclaration(functionDeclaration);
499 if (result == null) result = caseFunction(functionDeclaration);
500 if (result == null) result = caseSymbolicDeclaration(functionDeclaration);
501 if (result == null) result = caseTermDescription(functionDeclaration);
502 if (result == null) result = defaultCase(theEObject);
503 return result;
504 }
505 case LogiclanguagePackage.TYPE_DECLARATION: {
506 TypeDeclaration typeDeclaration = (TypeDeclaration)theEObject;
507 T result = caseTypeDeclaration(typeDeclaration);
508 if (result == null) result = caseType(typeDeclaration);
509 if (result == null) result = caseTypeDescriptor(typeDeclaration);
510 if (result == null) result = defaultCase(theEObject);
511 return result;
512 }
513 case LogiclanguagePackage.UNKNOWN_BECAUSE_UNINTERPRETED: {
514 UnknownBecauseUninterpreted unknownBecauseUninterpreted = (UnknownBecauseUninterpreted)theEObject;
515 T result = caseUnknownBecauseUninterpreted(unknownBecauseUninterpreted);
516 if (result == null) result = caseTerm(unknownBecauseUninterpreted);
517 if (result == null) result = caseTermDescription(unknownBecauseUninterpreted);
518 if (result == null) result = defaultCase(theEObject);
519 return result;
520 }
521 case LogiclanguagePackage.INSTANCE_OF: {
522 InstanceOf instanceOf = (InstanceOf)theEObject;
523 T result = caseInstanceOf(instanceOf);
524 if (result == null) result = caseTerm(instanceOf);
525 if (result == null) result = caseTermDescription(instanceOf);
526 if (result == null) result = defaultCase(theEObject);
527 return result;
528 }
529 default: return defaultCase(theEObject);
530 }
531 }
532
533 /**
534 * Returns the result of interpreting the object as an instance of '<em>Type</em>'.
535 * <!-- begin-user-doc -->
536 * This implementation returns null;
537 * returning a non-null result will terminate the switch.
538 * <!-- end-user-doc -->
539 * @param object the target of the switch.
540 * @return the result of interpreting the object as an instance of '<em>Type</em>'.
541 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
542 * @generated
543 */
544 public T caseType(Type object) {
545 return null;
546 }
547
548 /**
549 * Returns the result of interpreting the object as an instance of '<em>Defined Element</em>'.
550 * <!-- begin-user-doc -->
551 * This implementation returns null;
552 * returning a non-null result will terminate the switch.
553 * <!-- end-user-doc -->
554 * @param object the target of the switch.
555 * @return the result of interpreting the object as an instance of '<em>Defined Element</em>'.
556 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
557 * @generated
558 */
559 public T caseDefinedElement(DefinedElement object) {
560 return null;
561 }
562
563 /**
564 * Returns the result of interpreting the object as an instance of '<em>Type Definition</em>'.
565 * <!-- begin-user-doc -->
566 * This implementation returns null;
567 * returning a non-null result will terminate the switch.
568 * <!-- end-user-doc -->
569 * @param object the target of the switch.
570 * @return the result of interpreting the object as an instance of '<em>Type Definition</em>'.
571 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
572 * @generated
573 */
574 public T caseTypeDefinition(TypeDefinition object) {
575 return null;
576 }
577
578 /**
579 * Returns the result of interpreting the object as an instance of '<em>Type Reference</em>'.
580 * <!-- begin-user-doc -->
581 * This implementation returns null;
582 * returning a non-null result will terminate the switch.
583 * <!-- end-user-doc -->
584 * @param object the target of the switch.
585 * @return the result of interpreting the object as an instance of '<em>Type Reference</em>'.
586 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
587 * @generated
588 */
589 public T caseTypeReference(TypeReference object) {
590 return null;
591 }
592
593 /**
594 * Returns the result of interpreting the object as an instance of '<em>Complex Type Reference</em>'.
595 * <!-- begin-user-doc -->
596 * This implementation returns null;
597 * returning a non-null result will terminate the switch.
598 * <!-- end-user-doc -->
599 * @param object the target of the switch.
600 * @return the result of interpreting the object as an instance of '<em>Complex Type Reference</em>'.
601 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
602 * @generated
603 */
604 public T caseComplexTypeReference(ComplexTypeReference object) {
605 return null;
606 }
607
608 /**
609 * Returns the result of interpreting the object as an instance of '<em>Primitive Type Reference</em>'.
610 * <!-- begin-user-doc -->
611 * This implementation returns null;
612 * returning a non-null result will terminate the switch.
613 * <!-- end-user-doc -->
614 * @param object the target of the switch.
615 * @return the result of interpreting the object as an instance of '<em>Primitive Type Reference</em>'.
616 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
617 * @generated
618 */
619 public T casePrimitiveTypeReference(PrimitiveTypeReference object) {
620 return null;
621 }
622
623 /**
624 * Returns the result of interpreting the object as an instance of '<em>Int Type Reference</em>'.
625 * <!-- begin-user-doc -->
626 * This implementation returns null;
627 * returning a non-null result will terminate the switch.
628 * <!-- end-user-doc -->
629 * @param object the target of the switch.
630 * @return the result of interpreting the object as an instance of '<em>Int Type Reference</em>'.
631 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
632 * @generated
633 */
634 public T caseIntTypeReference(IntTypeReference object) {
635 return null;
636 }
637
638 /**
639 * Returns the result of interpreting the object as an instance of '<em>Bool Type Reference</em>'.
640 * <!-- begin-user-doc -->
641 * This implementation returns null;
642 * returning a non-null result will terminate the switch.
643 * <!-- end-user-doc -->
644 * @param object the target of the switch.
645 * @return the result of interpreting the object as an instance of '<em>Bool Type Reference</em>'.
646 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
647 * @generated
648 */
649 public T caseBoolTypeReference(BoolTypeReference object) {
650 return null;
651 }
652
653 /**
654 * Returns the result of interpreting the object as an instance of '<em>Real Type Reference</em>'.
655 * <!-- begin-user-doc -->
656 * This implementation returns null;
657 * returning a non-null result will terminate the switch.
658 * <!-- end-user-doc -->
659 * @param object the target of the switch.
660 * @return the result of interpreting the object as an instance of '<em>Real Type Reference</em>'.
661 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
662 * @generated
663 */
664 public T caseRealTypeReference(RealTypeReference object) {
665 return null;
666 }
667
668 /**
669 * Returns the result of interpreting the object as an instance of '<em>Function</em>'.
670 * <!-- begin-user-doc -->
671 * This implementation returns null;
672 * returning a non-null result will terminate the switch.
673 * <!-- end-user-doc -->
674 * @param object the target of the switch.
675 * @return the result of interpreting the object as an instance of '<em>Function</em>'.
676 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
677 * @generated
678 */
679 public T caseFunction(Function object) {
680 return null;
681 }
682
683 /**
684 * Returns the result of interpreting the object as an instance of '<em>Term</em>'.
685 * <!-- begin-user-doc -->
686 * This implementation returns null;
687 * returning a non-null result will terminate the switch.
688 * <!-- end-user-doc -->
689 * @param object the target of the switch.
690 * @return the result of interpreting the object as an instance of '<em>Term</em>'.
691 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
692 * @generated
693 */
694 public T caseTerm(Term object) {
695 return null;
696 }
697
698 /**
699 * Returns the result of interpreting the object as an instance of '<em>Symbolic Declaration</em>'.
700 * <!-- begin-user-doc -->
701 * This implementation returns null;
702 * returning a non-null result will terminate the switch.
703 * <!-- end-user-doc -->
704 * @param object the target of the switch.
705 * @return the result of interpreting the object as an instance of '<em>Symbolic Declaration</em>'.
706 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
707 * @generated
708 */
709 public T caseSymbolicDeclaration(SymbolicDeclaration object) {
710 return null;
711 }
712
713 /**
714 * Returns the result of interpreting the object as an instance of '<em>Symbolic Value</em>'.
715 * <!-- begin-user-doc -->
716 * This implementation returns null;
717 * returning a non-null result will terminate the switch.
718 * <!-- end-user-doc -->
719 * @param object the target of the switch.
720 * @return the result of interpreting the object as an instance of '<em>Symbolic Value</em>'.
721 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
722 * @generated
723 */
724 public T caseSymbolicValue(SymbolicValue object) {
725 return null;
726 }
727
728 /**
729 * Returns the result of interpreting the object as an instance of '<em>Atomic Term</em>'.
730 * <!-- begin-user-doc -->
731 * This implementation returns null;
732 * returning a non-null result will terminate the switch.
733 * <!-- end-user-doc -->
734 * @param object the target of the switch.
735 * @return the result of interpreting the object as an instance of '<em>Atomic Term</em>'.
736 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
737 * @generated
738 */
739 public T caseAtomicTerm(AtomicTerm object) {
740 return null;
741 }
742
743 /**
744 * Returns the result of interpreting the object as an instance of '<em>Int Literal</em>'.
745 * <!-- begin-user-doc -->
746 * This implementation returns null;
747 * returning a non-null result will terminate the switch.
748 * <!-- end-user-doc -->
749 * @param object the target of the switch.
750 * @return the result of interpreting the object as an instance of '<em>Int Literal</em>'.
751 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
752 * @generated
753 */
754 public T caseIntLiteral(IntLiteral object) {
755 return null;
756 }
757
758 /**
759 * Returns the result of interpreting the object as an instance of '<em>Bool Literal</em>'.
760 * <!-- begin-user-doc -->
761 * This implementation returns null;
762 * returning a non-null result will terminate the switch.
763 * <!-- end-user-doc -->
764 * @param object the target of the switch.
765 * @return the result of interpreting the object as an instance of '<em>Bool Literal</em>'.
766 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
767 * @generated
768 */
769 public T caseBoolLiteral(BoolLiteral object) {
770 return null;
771 }
772
773 /**
774 * Returns the result of interpreting the object as an instance of '<em>Real Literal</em>'.
775 * <!-- begin-user-doc -->
776 * This implementation returns null;
777 * returning a non-null result will terminate the switch.
778 * <!-- end-user-doc -->
779 * @param object the target of the switch.
780 * @return the result of interpreting the object as an instance of '<em>Real Literal</em>'.
781 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
782 * @generated
783 */
784 public T caseRealLiteral(RealLiteral object) {
785 return null;
786 }
787
788 /**
789 * Returns the result of interpreting the object as an instance of '<em>Variable</em>'.
790 * <!-- begin-user-doc -->
791 * This implementation returns null;
792 * returning a non-null result will terminate the switch.
793 * <!-- end-user-doc -->
794 * @param object the target of the switch.
795 * @return the result of interpreting the object as an instance of '<em>Variable</em>'.
796 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
797 * @generated
798 */
799 public T caseVariable(Variable object) {
800 return null;
801 }
802
803 /**
804 * Returns the result of interpreting the object as an instance of '<em>Quantified Expression</em>'.
805 * <!-- begin-user-doc -->
806 * This implementation returns null;
807 * returning a non-null result will terminate the switch.
808 * <!-- end-user-doc -->
809 * @param object the target of the switch.
810 * @return the result of interpreting the object as an instance of '<em>Quantified Expression</em>'.
811 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
812 * @generated
813 */
814 public T caseQuantifiedExpression(QuantifiedExpression object) {
815 return null;
816 }
817
818 /**
819 * Returns the result of interpreting the object as an instance of '<em>Exists</em>'.
820 * <!-- begin-user-doc -->
821 * This implementation returns null;
822 * returning a non-null result will terminate the switch.
823 * <!-- end-user-doc -->
824 * @param object the target of the switch.
825 * @return the result of interpreting the object as an instance of '<em>Exists</em>'.
826 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
827 * @generated
828 */
829 public T caseExists(Exists object) {
830 return null;
831 }
832
833 /**
834 * Returns the result of interpreting the object as an instance of '<em>Forall</em>'.
835 * <!-- begin-user-doc -->
836 * This implementation returns null;
837 * returning a non-null result will terminate the switch.
838 * <!-- end-user-doc -->
839 * @param object the target of the switch.
840 * @return the result of interpreting the object as an instance of '<em>Forall</em>'.
841 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
842 * @generated
843 */
844 public T caseForall(Forall object) {
845 return null;
846 }
847
848 /**
849 * Returns the result of interpreting the object as an instance of '<em>Bool Operation</em>'.
850 * <!-- begin-user-doc -->
851 * This implementation returns null;
852 * returning a non-null result will terminate the switch.
853 * <!-- end-user-doc -->
854 * @param object the target of the switch.
855 * @return the result of interpreting the object as an instance of '<em>Bool Operation</em>'.
856 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
857 * @generated
858 */
859 public T caseBoolOperation(BoolOperation object) {
860 return null;
861 }
862
863 /**
864 * Returns the result of interpreting the object as an instance of '<em>And</em>'.
865 * <!-- begin-user-doc -->
866 * This implementation returns null;
867 * returning a non-null result will terminate the switch.
868 * <!-- end-user-doc -->
869 * @param object the target of the switch.
870 * @return the result of interpreting the object as an instance of '<em>And</em>'.
871 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
872 * @generated
873 */
874 public T caseAnd(And object) {
875 return null;
876 }
877
878 /**
879 * Returns the result of interpreting the object as an instance of '<em>Or</em>'.
880 * <!-- begin-user-doc -->
881 * This implementation returns null;
882 * returning a non-null result will terminate the switch.
883 * <!-- end-user-doc -->
884 * @param object the target of the switch.
885 * @return the result of interpreting the object as an instance of '<em>Or</em>'.
886 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
887 * @generated
888 */
889 public T caseOr(Or object) {
890 return null;
891 }
892
893 /**
894 * Returns the result of interpreting the object as an instance of '<em>Impl</em>'.
895 * <!-- begin-user-doc -->
896 * This implementation returns null;
897 * returning a non-null result will terminate the switch.
898 * <!-- end-user-doc -->
899 * @param object the target of the switch.
900 * @return the result of interpreting the object as an instance of '<em>Impl</em>'.
901 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
902 * @generated
903 */
904 public T caseImpl(Impl object) {
905 return null;
906 }
907
908 /**
909 * Returns the result of interpreting the object as an instance of '<em>Not</em>'.
910 * <!-- begin-user-doc -->
911 * This implementation returns null;
912 * returning a non-null result will terminate the switch.
913 * <!-- end-user-doc -->
914 * @param object the target of the switch.
915 * @return the result of interpreting the object as an instance of '<em>Not</em>'.
916 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
917 * @generated
918 */
919 public T caseNot(Not object) {
920 return null;
921 }
922
923 /**
924 * Returns the result of interpreting the object as an instance of '<em>Iff</em>'.
925 * <!-- begin-user-doc -->
926 * This implementation returns null;
927 * returning a non-null result will terminate the switch.
928 * <!-- end-user-doc -->
929 * @param object the target of the switch.
930 * @return the result of interpreting the object as an instance of '<em>Iff</em>'.
931 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
932 * @generated
933 */
934 public T caseIff(Iff object) {
935 return null;
936 }
937
938 /**
939 * Returns the result of interpreting the object as an instance of '<em>Primitive Relation</em>'.
940 * <!-- begin-user-doc -->
941 * This implementation returns null;
942 * returning a non-null result will terminate the switch.
943 * <!-- end-user-doc -->
944 * @param object the target of the switch.
945 * @return the result of interpreting the object as an instance of '<em>Primitive Relation</em>'.
946 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
947 * @generated
948 */
949 public T casePrimitiveRelation(PrimitiveRelation object) {
950 return null;
951 }
952
953 /**
954 * Returns the result of interpreting the object as an instance of '<em>Equals</em>'.
955 * <!-- begin-user-doc -->
956 * This implementation returns null;
957 * returning a non-null result will terminate the switch.
958 * <!-- end-user-doc -->
959 * @param object the target of the switch.
960 * @return the result of interpreting the object as an instance of '<em>Equals</em>'.
961 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
962 * @generated
963 */
964 public T caseEquals(Equals object) {
965 return null;
966 }
967
968 /**
969 * Returns the result of interpreting the object as an instance of '<em>Distinct</em>'.
970 * <!-- begin-user-doc -->
971 * This implementation returns null;
972 * returning a non-null result will terminate the switch.
973 * <!-- end-user-doc -->
974 * @param object the target of the switch.
975 * @return the result of interpreting the object as an instance of '<em>Distinct</em>'.
976 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
977 * @generated
978 */
979 public T caseDistinct(Distinct object) {
980 return null;
981 }
982
983 /**
984 * Returns the result of interpreting the object as an instance of '<em>Less Than</em>'.
985 * <!-- begin-user-doc -->
986 * This implementation returns null;
987 * returning a non-null result will terminate the switch.
988 * <!-- end-user-doc -->
989 * @param object the target of the switch.
990 * @return the result of interpreting the object as an instance of '<em>Less Than</em>'.
991 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
992 * @generated
993 */
994 public T caseLessThan(LessThan object) {
995 return null;
996 }
997
998 /**
999 * Returns the result of interpreting the object as an instance of '<em>More Than</em>'.
1000 * <!-- begin-user-doc -->
1001 * This implementation returns null;
1002 * returning a non-null result will terminate the switch.
1003 * <!-- end-user-doc -->
1004 * @param object the target of the switch.
1005 * @return the result of interpreting the object as an instance of '<em>More Than</em>'.
1006 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1007 * @generated
1008 */
1009 public T caseMoreThan(MoreThan object) {
1010 return null;
1011 }
1012
1013 /**
1014 * Returns the result of interpreting the object as an instance of '<em>Less Or Equal Than</em>'.
1015 * <!-- begin-user-doc -->
1016 * This implementation returns null;
1017 * returning a non-null result will terminate the switch.
1018 * <!-- end-user-doc -->
1019 * @param object the target of the switch.
1020 * @return the result of interpreting the object as an instance of '<em>Less Or Equal Than</em>'.
1021 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1022 * @generated
1023 */
1024 public T caseLessOrEqualThan(LessOrEqualThan object) {
1025 return null;
1026 }
1027
1028 /**
1029 * Returns the result of interpreting the object as an instance of '<em>More Or Equal Than</em>'.
1030 * <!-- begin-user-doc -->
1031 * This implementation returns null;
1032 * returning a non-null result will terminate the switch.
1033 * <!-- end-user-doc -->
1034 * @param object the target of the switch.
1035 * @return the result of interpreting the object as an instance of '<em>More Or Equal Than</em>'.
1036 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1037 * @generated
1038 */
1039 public T caseMoreOrEqualThan(MoreOrEqualThan object) {
1040 return null;
1041 }
1042
1043 /**
1044 * Returns the result of interpreting the object as an instance of '<em>Int Operation</em>'.
1045 * <!-- begin-user-doc -->
1046 * This implementation returns null;
1047 * returning a non-null result will terminate the switch.
1048 * <!-- end-user-doc -->
1049 * @param object the target of the switch.
1050 * @return the result of interpreting the object as an instance of '<em>Int Operation</em>'.
1051 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1052 * @generated
1053 */
1054 public T caseIntOperation(IntOperation object) {
1055 return null;
1056 }
1057
1058 /**
1059 * Returns the result of interpreting the object as an instance of '<em>Plus</em>'.
1060 * <!-- begin-user-doc -->
1061 * This implementation returns null;
1062 * returning a non-null result will terminate the switch.
1063 * <!-- end-user-doc -->
1064 * @param object the target of the switch.
1065 * @return the result of interpreting the object as an instance of '<em>Plus</em>'.
1066 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1067 * @generated
1068 */
1069 public T casePlus(Plus object) {
1070 return null;
1071 }
1072
1073 /**
1074 * Returns the result of interpreting the object as an instance of '<em>Minus</em>'.
1075 * <!-- begin-user-doc -->
1076 * This implementation returns null;
1077 * returning a non-null result will terminate the switch.
1078 * <!-- end-user-doc -->
1079 * @param object the target of the switch.
1080 * @return the result of interpreting the object as an instance of '<em>Minus</em>'.
1081 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1082 * @generated
1083 */
1084 public T caseMinus(Minus object) {
1085 return null;
1086 }
1087
1088 /**
1089 * Returns the result of interpreting the object as an instance of '<em>Multiply</em>'.
1090 * <!-- begin-user-doc -->
1091 * This implementation returns null;
1092 * returning a non-null result will terminate the switch.
1093 * <!-- end-user-doc -->
1094 * @param object the target of the switch.
1095 * @return the result of interpreting the object as an instance of '<em>Multiply</em>'.
1096 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1097 * @generated
1098 */
1099 public T caseMultiply(Multiply object) {
1100 return null;
1101 }
1102
1103 /**
1104 * Returns the result of interpreting the object as an instance of '<em>Divison</em>'.
1105 * <!-- begin-user-doc -->
1106 * This implementation returns null;
1107 * returning a non-null result will terminate the switch.
1108 * <!-- end-user-doc -->
1109 * @param object the target of the switch.
1110 * @return the result of interpreting the object as an instance of '<em>Divison</em>'.
1111 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1112 * @generated
1113 */
1114 public T caseDivison(Divison object) {
1115 return null;
1116 }
1117
1118 /**
1119 * Returns the result of interpreting the object as an instance of '<em>Mod</em>'.
1120 * <!-- begin-user-doc -->
1121 * This implementation returns null;
1122 * returning a non-null result will terminate the switch.
1123 * <!-- end-user-doc -->
1124 * @param object the target of the switch.
1125 * @return the result of interpreting the object as an instance of '<em>Mod</em>'.
1126 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1127 * @generated
1128 */
1129 public T caseMod(Mod object) {
1130 return null;
1131 }
1132
1133 /**
1134 * Returns the result of interpreting the object as an instance of '<em>Type Descriptor</em>'.
1135 * <!-- begin-user-doc -->
1136 * This implementation returns null;
1137 * returning a non-null result will terminate the switch.
1138 * <!-- end-user-doc -->
1139 * @param object the target of the switch.
1140 * @return the result of interpreting the object as an instance of '<em>Type Descriptor</em>'.
1141 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1142 * @generated
1143 */
1144 public T caseTypeDescriptor(TypeDescriptor object) {
1145 return null;
1146 }
1147
1148 /**
1149 * Returns the result of interpreting the object as an instance of '<em>Term Description</em>'.
1150 * <!-- begin-user-doc -->
1151 * This implementation returns null;
1152 * returning a non-null result will terminate the switch.
1153 * <!-- end-user-doc -->
1154 * @param object the target of the switch.
1155 * @return the result of interpreting the object as an instance of '<em>Term Description</em>'.
1156 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1157 * @generated
1158 */
1159 public T caseTermDescription(TermDescription object) {
1160 return null;
1161 }
1162
1163 /**
1164 * Returns the result of interpreting the object as an instance of '<em>Assertion</em>'.
1165 * <!-- begin-user-doc -->
1166 * This implementation returns null;
1167 * returning a non-null result will terminate the switch.
1168 * <!-- end-user-doc -->
1169 * @param object the target of the switch.
1170 * @return the result of interpreting the object as an instance of '<em>Assertion</em>'.
1171 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1172 * @generated
1173 */
1174 public T caseAssertion(Assertion object) {
1175 return null;
1176 }
1177
1178 /**
1179 * Returns the result of interpreting the object as an instance of '<em>Relation</em>'.
1180 * <!-- begin-user-doc -->
1181 * This implementation returns null;
1182 * returning a non-null result will terminate the switch.
1183 * <!-- end-user-doc -->
1184 * @param object the target of the switch.
1185 * @return the result of interpreting the object as an instance of '<em>Relation</em>'.
1186 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1187 * @generated
1188 */
1189 public T caseRelation(Relation object) {
1190 return null;
1191 }
1192
1193 /**
1194 * Returns the result of interpreting the object as an instance of '<em>Constant</em>'.
1195 * <!-- begin-user-doc -->
1196 * This implementation returns null;
1197 * returning a non-null result will terminate the switch.
1198 * <!-- end-user-doc -->
1199 * @param object the target of the switch.
1200 * @return the result of interpreting the object as an instance of '<em>Constant</em>'.
1201 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1202 * @generated
1203 */
1204 public T caseConstant(Constant object) {
1205 return null;
1206 }
1207
1208 /**
1209 * Returns the result of interpreting the object as an instance of '<em>Constant Definition</em>'.
1210 * <!-- begin-user-doc -->
1211 * This implementation returns null;
1212 * returning a non-null result will terminate the switch.
1213 * <!-- end-user-doc -->
1214 * @param object the target of the switch.
1215 * @return the result of interpreting the object as an instance of '<em>Constant Definition</em>'.
1216 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1217 * @generated
1218 */
1219 public T caseConstantDefinition(ConstantDefinition object) {
1220 return null;
1221 }
1222
1223 /**
1224 * Returns the result of interpreting the object as an instance of '<em>Relation Definition</em>'.
1225 * <!-- begin-user-doc -->
1226 * This implementation returns null;
1227 * returning a non-null result will terminate the switch.
1228 * <!-- end-user-doc -->
1229 * @param object the target of the switch.
1230 * @return the result of interpreting the object as an instance of '<em>Relation Definition</em>'.
1231 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1232 * @generated
1233 */
1234 public T caseRelationDefinition(RelationDefinition object) {
1235 return null;
1236 }
1237
1238 /**
1239 * Returns the result of interpreting the object as an instance of '<em>Function Definition</em>'.
1240 * <!-- begin-user-doc -->
1241 * This implementation returns null;
1242 * returning a non-null result will terminate the switch.
1243 * <!-- end-user-doc -->
1244 * @param object the target of the switch.
1245 * @return the result of interpreting the object as an instance of '<em>Function Definition</em>'.
1246 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1247 * @generated
1248 */
1249 public T caseFunctionDefinition(FunctionDefinition object) {
1250 return null;
1251 }
1252
1253 /**
1254 * Returns the result of interpreting the object as an instance of '<em>If Then Else</em>'.
1255 * <!-- begin-user-doc -->
1256 * This implementation returns null;
1257 * returning a non-null result will terminate the switch.
1258 * <!-- end-user-doc -->
1259 * @param object the target of the switch.
1260 * @return the result of interpreting the object as an instance of '<em>If Then Else</em>'.
1261 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1262 * @generated
1263 */
1264 public T caseIfThenElse(IfThenElse object) {
1265 return null;
1266 }
1267
1268 /**
1269 * Returns the result of interpreting the object as an instance of '<em>Constant Declaration</em>'.
1270 * <!-- begin-user-doc -->
1271 * This implementation returns null;
1272 * returning a non-null result will terminate the switch.
1273 * <!-- end-user-doc -->
1274 * @param object the target of the switch.
1275 * @return the result of interpreting the object as an instance of '<em>Constant Declaration</em>'.
1276 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1277 * @generated
1278 */
1279 public T caseConstantDeclaration(ConstantDeclaration object) {
1280 return null;
1281 }
1282
1283 /**
1284 * Returns the result of interpreting the object as an instance of '<em>Relation Declaration</em>'.
1285 * <!-- begin-user-doc -->
1286 * This implementation returns null;
1287 * returning a non-null result will terminate the switch.
1288 * <!-- end-user-doc -->
1289 * @param object the target of the switch.
1290 * @return the result of interpreting the object as an instance of '<em>Relation Declaration</em>'.
1291 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1292 * @generated
1293 */
1294 public T caseRelationDeclaration(RelationDeclaration object) {
1295 return null;
1296 }
1297
1298 /**
1299 * Returns the result of interpreting the object as an instance of '<em>Function Declaration</em>'.
1300 * <!-- begin-user-doc -->
1301 * This implementation returns null;
1302 * returning a non-null result will terminate the switch.
1303 * <!-- end-user-doc -->
1304 * @param object the target of the switch.
1305 * @return the result of interpreting the object as an instance of '<em>Function Declaration</em>'.
1306 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1307 * @generated
1308 */
1309 public T caseFunctionDeclaration(FunctionDeclaration object) {
1310 return null;
1311 }
1312
1313 /**
1314 * Returns the result of interpreting the object as an instance of '<em>Type Declaration</em>'.
1315 * <!-- begin-user-doc -->
1316 * This implementation returns null;
1317 * returning a non-null result will terminate the switch.
1318 * <!-- end-user-doc -->
1319 * @param object the target of the switch.
1320 * @return the result of interpreting the object as an instance of '<em>Type Declaration</em>'.
1321 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1322 * @generated
1323 */
1324 public T caseTypeDeclaration(TypeDeclaration object) {
1325 return null;
1326 }
1327
1328 /**
1329 * Returns the result of interpreting the object as an instance of '<em>Unknown Because Uninterpreted</em>'.
1330 * <!-- begin-user-doc -->
1331 * This implementation returns null;
1332 * returning a non-null result will terminate the switch.
1333 * <!-- end-user-doc -->
1334 * @param object the target of the switch.
1335 * @return the result of interpreting the object as an instance of '<em>Unknown Because Uninterpreted</em>'.
1336 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1337 * @generated
1338 */
1339 public T caseUnknownBecauseUninterpreted(UnknownBecauseUninterpreted object) {
1340 return null;
1341 }
1342
1343 /**
1344 * Returns the result of interpreting the object as an instance of '<em>Instance Of</em>'.
1345 * <!-- begin-user-doc -->
1346 * This implementation returns null;
1347 * returning a non-null result will terminate the switch.
1348 * <!-- end-user-doc -->
1349 * @param object the target of the switch.
1350 * @return the result of interpreting the object as an instance of '<em>Instance Of</em>'.
1351 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1352 * @generated
1353 */
1354 public T caseInstanceOf(InstanceOf object) {
1355 return null;
1356 }
1357
1358 /**
1359 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
1360 * <!-- begin-user-doc -->
1361 * This implementation returns null;
1362 * returning a non-null result will terminate the switch, but this is the last case anyway.
1363 * <!-- end-user-doc -->
1364 * @param object the target of the switch.
1365 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
1366 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
1367 * @generated
1368 */
1369 @Override
1370 public T defaultCase(EObject object) {
1371 return null;
1372 }
1373
1374} //LogiclanguageSwitch
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/Annotation.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/Annotation.java
new file mode 100644
index 00000000..29575aee
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/Annotation.java
@@ -0,0 +1,18 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Annotation</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getAnnotation()
14 * @model
15 * @generated
16 */
17public interface Annotation extends EObject {
18} // Annotation
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/AssertionAnnotation.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/AssertionAnnotation.java
new file mode 100644
index 00000000..2b06e688
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/AssertionAnnotation.java
@@ -0,0 +1,52 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Assertion Annotation</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation#getTarget <em>Target</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getAssertionAnnotation()
20 * @model
21 * @generated
22 */
23public interface AssertionAnnotation extends Annotation {
24 /**
25 * Returns the value of the '<em><b>Target</b></em>' reference.
26 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion#getAnnotations <em>Annotations</em>}'.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Target</em>' reference isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Target</em>' reference.
34 * @see #setTarget(Assertion)
35 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getAssertionAnnotation_Target()
36 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion#getAnnotations
37 * @model opposite="annotations" required="true"
38 * @generated
39 */
40 Assertion getTarget();
41
42 /**
43 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation#getTarget <em>Target</em>}' reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Target</em>' reference.
47 * @see #getTarget()
48 * @generated
49 */
50 void setTarget(Assertion value);
51
52} // AssertionAnnotation
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/ConstantAnnotation.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/ConstantAnnotation.java
new file mode 100644
index 00000000..f48cedf6
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/ConstantAnnotation.java
@@ -0,0 +1,52 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Constant Annotation</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ConstantAnnotation#getTarget <em>Target</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getConstantAnnotation()
20 * @model
21 * @generated
22 */
23public interface ConstantAnnotation extends Annotation {
24 /**
25 * Returns the value of the '<em><b>Target</b></em>' reference.
26 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant#getAnnotations <em>Annotations</em>}'.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Target</em>' reference isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Target</em>' reference.
34 * @see #setTarget(Constant)
35 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getConstantAnnotation_Target()
36 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant#getAnnotations
37 * @model opposite="annotations" required="true"
38 * @generated
39 */
40 Constant getTarget();
41
42 /**
43 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ConstantAnnotation#getTarget <em>Target</em>}' reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Target</em>' reference.
47 * @see #getTarget()
48 * @generated
49 */
50 void setTarget(Constant value);
51
52} // ConstantAnnotation
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/ContainmentHierarchy.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/ContainmentHierarchy.java
new file mode 100644
index 00000000..f3f04ff4
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/ContainmentHierarchy.java
@@ -0,0 +1,108 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation;
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EObject;
13
14/**
15 * <!-- begin-user-doc -->
16 * A representation of the model object '<em><b>Containment Hierarchy</b></em>'.
17 * <!-- end-user-doc -->
18 *
19 * <p>
20 * The following features are supported:
21 * </p>
22 * <ul>
23 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy#getTypesOrderedInHierarchy <em>Types Ordered In Hierarchy</em>}</li>
24 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy#getContainmentFunctions <em>Containment Functions</em>}</li>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy#getContainmentRelations <em>Containment Relations</em>}</li>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy#getRootConstant <em>Root Constant</em>}</li>
27 * </ul>
28 *
29 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getContainmentHierarchy()
30 * @model
31 * @generated
32 */
33public interface ContainmentHierarchy extends EObject {
34 /**
35 * Returns the value of the '<em><b>Types Ordered In Hierarchy</b></em>' reference list.
36 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type}.
37 * <!-- begin-user-doc -->
38 * <p>
39 * If the meaning of the '<em>Types Ordered In Hierarchy</em>' reference list isn't clear,
40 * there really should be more of a description here...
41 * </p>
42 * <!-- end-user-doc -->
43 * @return the value of the '<em>Types Ordered In Hierarchy</em>' reference list.
44 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getContainmentHierarchy_TypesOrderedInHierarchy()
45 * @model
46 * @generated
47 */
48 EList<Type> getTypesOrderedInHierarchy();
49
50 /**
51 * Returns the value of the '<em><b>Containment Functions</b></em>' reference list.
52 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function}.
53 * <!-- begin-user-doc -->
54 * <p>
55 * If the meaning of the '<em>Containment Functions</em>' reference list isn't clear,
56 * there really should be more of a description here...
57 * </p>
58 * <!-- end-user-doc -->
59 * @return the value of the '<em>Containment Functions</em>' reference list.
60 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getContainmentHierarchy_ContainmentFunctions()
61 * @model
62 * @generated
63 */
64 EList<Function> getContainmentFunctions();
65
66 /**
67 * Returns the value of the '<em><b>Containment Relations</b></em>' reference list.
68 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation}.
69 * <!-- begin-user-doc -->
70 * <p>
71 * If the meaning of the '<em>Containment Relations</em>' reference list isn't clear,
72 * there really should be more of a description here...
73 * </p>
74 * <!-- end-user-doc -->
75 * @return the value of the '<em>Containment Relations</em>' reference list.
76 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getContainmentHierarchy_ContainmentRelations()
77 * @model
78 * @generated
79 */
80 EList<Relation> getContainmentRelations();
81
82 /**
83 * Returns the value of the '<em><b>Root Constant</b></em>' reference.
84 * <!-- begin-user-doc -->
85 * <p>
86 * If the meaning of the '<em>Root Constant</em>' reference isn't clear,
87 * there really should be more of a description here...
88 * </p>
89 * <!-- end-user-doc -->
90 * @return the value of the '<em>Root Constant</em>' reference.
91 * @see #setRootConstant(Constant)
92 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getContainmentHierarchy_RootConstant()
93 * @model
94 * @generated
95 */
96 Constant getRootConstant();
97
98 /**
99 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy#getRootConstant <em>Root Constant</em>}' reference.
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @param value the new value of the '<em>Root Constant</em>' reference.
103 * @see #getRootConstant()
104 * @generated
105 */
106 void setRootConstant(Constant value);
107
108} // ContainmentHierarchy
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/FunctionAnnotation.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/FunctionAnnotation.java
new file mode 100644
index 00000000..b10d5e1b
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/FunctionAnnotation.java
@@ -0,0 +1,52 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Function Annotation</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.FunctionAnnotation#getTarget <em>Target</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getFunctionAnnotation()
20 * @model
21 * @generated
22 */
23public interface FunctionAnnotation extends Annotation {
24 /**
25 * Returns the value of the '<em><b>Target</b></em>' reference.
26 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function#getAnnotations <em>Annotations</em>}'.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Target</em>' reference isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Target</em>' reference.
34 * @see #setTarget(Function)
35 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getFunctionAnnotation_Target()
36 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function#getAnnotations
37 * @model opposite="annotations" required="true"
38 * @generated
39 */
40 Function getTarget();
41
42 /**
43 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.FunctionAnnotation#getTarget <em>Target</em>}' reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Target</em>' reference.
47 * @see #getTarget()
48 * @generated
49 */
50 void setTarget(Function value);
51
52} // FunctionAnnotation
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/LogicProblem.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/LogicProblem.java
new file mode 100644
index 00000000..bf028318
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/LogicProblem.java
@@ -0,0 +1,168 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function;
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation;
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type;
11
12import org.eclipse.emf.common.util.EList;
13
14import org.eclipse.emf.ecore.EObject;
15
16/**
17 * <!-- begin-user-doc -->
18 * A representation of the model object '<em><b>Logic Problem</b></em>'.
19 * <!-- end-user-doc -->
20 *
21 * <p>
22 * The following features are supported:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getTypes <em>Types</em>}</li>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getFunctions <em>Functions</em>}</li>
27 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getAssertions <em>Assertions</em>}</li>
28 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getRelations <em>Relations</em>}</li>
29 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getConstants <em>Constants</em>}</li>
30 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getElements <em>Elements</em>}</li>
31 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getContainmentHierarchies <em>Containment Hierarchies</em>}</li>
32 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getAnnotations <em>Annotations</em>}</li>
33 * </ul>
34 *
35 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getLogicProblem()
36 * @model
37 * @generated
38 */
39public interface LogicProblem extends EObject {
40 /**
41 * Returns the value of the '<em><b>Types</b></em>' containment reference list.
42 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type}.
43 * <!-- begin-user-doc -->
44 * <p>
45 * If the meaning of the '<em>Types</em>' containment reference list isn't clear,
46 * there really should be more of a description here...
47 * </p>
48 * <!-- end-user-doc -->
49 * @return the value of the '<em>Types</em>' containment reference list.
50 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getLogicProblem_Types()
51 * @model containment="true"
52 * @generated
53 */
54 EList<Type> getTypes();
55
56 /**
57 * Returns the value of the '<em><b>Functions</b></em>' containment reference list.
58 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function}.
59 * <!-- begin-user-doc -->
60 * <p>
61 * If the meaning of the '<em>Functions</em>' containment reference list isn't clear,
62 * there really should be more of a description here...
63 * </p>
64 * <!-- end-user-doc -->
65 * @return the value of the '<em>Functions</em>' containment reference list.
66 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getLogicProblem_Functions()
67 * @model containment="true"
68 * @generated
69 */
70 EList<Function> getFunctions();
71
72 /**
73 * Returns the value of the '<em><b>Assertions</b></em>' containment reference list.
74 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion}.
75 * <!-- begin-user-doc -->
76 * <p>
77 * If the meaning of the '<em>Assertions</em>' containment reference list isn't clear,
78 * there really should be more of a description here...
79 * </p>
80 * <!-- end-user-doc -->
81 * @return the value of the '<em>Assertions</em>' containment reference list.
82 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getLogicProblem_Assertions()
83 * @model containment="true"
84 * @generated
85 */
86 EList<Assertion> getAssertions();
87
88 /**
89 * Returns the value of the '<em><b>Relations</b></em>' containment reference list.
90 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation}.
91 * <!-- begin-user-doc -->
92 * <p>
93 * If the meaning of the '<em>Relations</em>' containment reference list isn't clear,
94 * there really should be more of a description here...
95 * </p>
96 * <!-- end-user-doc -->
97 * @return the value of the '<em>Relations</em>' containment reference list.
98 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getLogicProblem_Relations()
99 * @model containment="true"
100 * @generated
101 */
102 EList<Relation> getRelations();
103
104 /**
105 * Returns the value of the '<em><b>Constants</b></em>' containment reference list.
106 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant}.
107 * <!-- begin-user-doc -->
108 * <p>
109 * If the meaning of the '<em>Constants</em>' containment reference list isn't clear,
110 * there really should be more of a description here...
111 * </p>
112 * <!-- end-user-doc -->
113 * @return the value of the '<em>Constants</em>' containment reference list.
114 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getLogicProblem_Constants()
115 * @model containment="true"
116 * @generated
117 */
118 EList<Constant> getConstants();
119
120 /**
121 * Returns the value of the '<em><b>Elements</b></em>' containment reference list.
122 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement}.
123 * <!-- begin-user-doc -->
124 * <p>
125 * If the meaning of the '<em>Elements</em>' containment reference list isn't clear,
126 * there really should be more of a description here...
127 * </p>
128 * <!-- end-user-doc -->
129 * @return the value of the '<em>Elements</em>' containment reference list.
130 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getLogicProblem_Elements()
131 * @model containment="true"
132 * @generated
133 */
134 EList<DefinedElement> getElements();
135
136 /**
137 * Returns the value of the '<em><b>Containment Hierarchies</b></em>' containment reference list.
138 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy}.
139 * <!-- begin-user-doc -->
140 * <p>
141 * If the meaning of the '<em>Containment Hierarchies</em>' reference list isn't clear,
142 * there really should be more of a description here...
143 * </p>
144 * <!-- end-user-doc -->
145 * @return the value of the '<em>Containment Hierarchies</em>' containment reference list.
146 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getLogicProblem_ContainmentHierarchies()
147 * @model containment="true"
148 * @generated
149 */
150 EList<ContainmentHierarchy> getContainmentHierarchies();
151
152 /**
153 * Returns the value of the '<em><b>Annotations</b></em>' containment reference list.
154 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation}.
155 * <!-- begin-user-doc -->
156 * <p>
157 * If the meaning of the '<em>Annotations</em>' containment reference list isn't clear,
158 * there really should be more of a description here...
159 * </p>
160 * <!-- end-user-doc -->
161 * @return the value of the '<em>Annotations</em>' containment reference list.
162 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getLogicProblem_Annotations()
163 * @model containment="true"
164 * @generated
165 */
166 EList<Annotation> getAnnotations();
167
168} // LogicProblem
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/LogicproblemFactory.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/LogicproblemFactory.java
new file mode 100644
index 00000000..82e754b5
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/LogicproblemFactory.java
@@ -0,0 +1,96 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem;
4
5import org.eclipse.emf.ecore.EFactory;
6
7/**
8 * <!-- begin-user-doc -->
9 * The <b>Factory</b> for the model.
10 * It provides a create method for each non-abstract class of the model.
11 * <!-- end-user-doc -->
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage
13 * @generated
14 */
15public interface LogicproblemFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 LogicproblemFactory eINSTANCE = hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>Logic Problem</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>Logic Problem</em>'.
29 * @generated
30 */
31 LogicProblem createLogicProblem();
32
33 /**
34 * Returns a new object of class '<em>Containment Hierarchy</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Containment Hierarchy</em>'.
38 * @generated
39 */
40 ContainmentHierarchy createContainmentHierarchy();
41
42 /**
43 * Returns a new object of class '<em>Relation Annotation</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>Relation Annotation</em>'.
47 * @generated
48 */
49 RelationAnnotation createRelationAnnotation();
50
51 /**
52 * Returns a new object of class '<em>Constant Annotation</em>'.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return a new object of class '<em>Constant Annotation</em>'.
56 * @generated
57 */
58 ConstantAnnotation createConstantAnnotation();
59
60 /**
61 * Returns a new object of class '<em>Function Annotation</em>'.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return a new object of class '<em>Function Annotation</em>'.
65 * @generated
66 */
67 FunctionAnnotation createFunctionAnnotation();
68
69 /**
70 * Returns a new object of class '<em>Assertion Annotation</em>'.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @return a new object of class '<em>Assertion Annotation</em>'.
74 * @generated
75 */
76 AssertionAnnotation createAssertionAnnotation();
77
78 /**
79 * Returns a new object of class '<em>Annotation</em>'.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @return a new object of class '<em>Annotation</em>'.
83 * @generated
84 */
85 Annotation createAnnotation();
86
87 /**
88 * Returns the package supported by this factory.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @return the package supported by this factory.
92 * @generated
93 */
94 LogicproblemPackage getLogicproblemPackage();
95
96} //LogicproblemFactory
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/LogicproblemPackage.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/LogicproblemPackage.java
new file mode 100644
index 00000000..c02f189a
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/LogicproblemPackage.java
@@ -0,0 +1,867 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem;
4
5import org.eclipse.emf.ecore.EClass;
6import org.eclipse.emf.ecore.EPackage;
7import org.eclipse.emf.ecore.EReference;
8
9/**
10 * <!-- begin-user-doc -->
11 * The <b>Package</b> for the model.
12 * It contains accessors for the meta objects to represent
13 * <ul>
14 * <li>each class,</li>
15 * <li>each feature of each class,</li>
16 * <li>each operation of each class,</li>
17 * <li>each enum,</li>
18 * <li>and each data type</li>
19 * </ul>
20 * <!-- end-user-doc -->
21 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemFactory
22 * @model kind="package"
23 * @generated
24 */
25public interface LogicproblemPackage extends EPackage {
26 /**
27 * The package name.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 String eNAME = "logicproblem";
33
34 /**
35 * The package namespace URI.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 String eNS_URI = "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem";
41
42 /**
43 * The package namespace name.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 String eNS_PREFIX = "language";
49
50 /**
51 * The singleton instance of the package.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 LogicproblemPackage eINSTANCE = hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemPackageImpl.init();
57
58 /**
59 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicProblemImpl <em>Logic Problem</em>}' class.
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicProblemImpl
63 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemPackageImpl#getLogicProblem()
64 * @generated
65 */
66 int LOGIC_PROBLEM = 0;
67
68 /**
69 * The feature id for the '<em><b>Types</b></em>' containment reference list.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 * @ordered
74 */
75 int LOGIC_PROBLEM__TYPES = 0;
76
77 /**
78 * The feature id for the '<em><b>Functions</b></em>' containment reference list.
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 * @ordered
83 */
84 int LOGIC_PROBLEM__FUNCTIONS = 1;
85
86 /**
87 * The feature id for the '<em><b>Assertions</b></em>' containment reference list.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 * @ordered
92 */
93 int LOGIC_PROBLEM__ASSERTIONS = 2;
94
95 /**
96 * The feature id for the '<em><b>Relations</b></em>' containment reference list.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 * @ordered
101 */
102 int LOGIC_PROBLEM__RELATIONS = 3;
103
104 /**
105 * The feature id for the '<em><b>Constants</b></em>' containment reference list.
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 * @ordered
110 */
111 int LOGIC_PROBLEM__CONSTANTS = 4;
112
113 /**
114 * The feature id for the '<em><b>Elements</b></em>' containment reference list.
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 * @ordered
119 */
120 int LOGIC_PROBLEM__ELEMENTS = 5;
121
122 /**
123 * The feature id for the '<em><b>Containment Hierarchies</b></em>' containment reference list.
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 * @ordered
128 */
129 int LOGIC_PROBLEM__CONTAINMENT_HIERARCHIES = 6;
130
131 /**
132 * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 * @ordered
137 */
138 int LOGIC_PROBLEM__ANNOTATIONS = 7;
139
140 /**
141 * The number of structural features of the '<em>Logic Problem</em>' class.
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 * @ordered
146 */
147 int LOGIC_PROBLEM_FEATURE_COUNT = 8;
148
149 /**
150 * The number of operations of the '<em>Logic Problem</em>' class.
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 * @ordered
155 */
156 int LOGIC_PROBLEM_OPERATION_COUNT = 0;
157
158 /**
159 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.ContainmentHierarchyImpl <em>Containment Hierarchy</em>}' class.
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.ContainmentHierarchyImpl
163 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemPackageImpl#getContainmentHierarchy()
164 * @generated
165 */
166 int CONTAINMENT_HIERARCHY = 1;
167
168 /**
169 * The feature id for the '<em><b>Types Ordered In Hierarchy</b></em>' reference list.
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 * @ordered
174 */
175 int CONTAINMENT_HIERARCHY__TYPES_ORDERED_IN_HIERARCHY = 0;
176
177 /**
178 * The feature id for the '<em><b>Containment Functions</b></em>' reference list.
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 * @ordered
183 */
184 int CONTAINMENT_HIERARCHY__CONTAINMENT_FUNCTIONS = 1;
185
186 /**
187 * The feature id for the '<em><b>Containment Relations</b></em>' reference list.
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 * @ordered
192 */
193 int CONTAINMENT_HIERARCHY__CONTAINMENT_RELATIONS = 2;
194
195 /**
196 * The feature id for the '<em><b>Root Constant</b></em>' reference.
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @generated
200 * @ordered
201 */
202 int CONTAINMENT_HIERARCHY__ROOT_CONSTANT = 3;
203
204 /**
205 * The number of structural features of the '<em>Containment Hierarchy</em>' class.
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @generated
209 * @ordered
210 */
211 int CONTAINMENT_HIERARCHY_FEATURE_COUNT = 4;
212
213 /**
214 * The number of operations of the '<em>Containment Hierarchy</em>' class.
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 * @ordered
219 */
220 int CONTAINMENT_HIERARCHY_OPERATION_COUNT = 0;
221
222 /**
223 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.AnnotationImpl <em>Annotation</em>}' class.
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.AnnotationImpl
227 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemPackageImpl#getAnnotation()
228 * @generated
229 */
230 int ANNOTATION = 6;
231
232 /**
233 * The number of structural features of the '<em>Annotation</em>' class.
234 * <!-- begin-user-doc -->
235 * <!-- end-user-doc -->
236 * @generated
237 * @ordered
238 */
239 int ANNOTATION_FEATURE_COUNT = 0;
240
241 /**
242 * The number of operations of the '<em>Annotation</em>' class.
243 * <!-- begin-user-doc -->
244 * <!-- end-user-doc -->
245 * @generated
246 * @ordered
247 */
248 int ANNOTATION_OPERATION_COUNT = 0;
249
250 /**
251 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.RelationAnnotationImpl <em>Relation Annotation</em>}' class.
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.RelationAnnotationImpl
255 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemPackageImpl#getRelationAnnotation()
256 * @generated
257 */
258 int RELATION_ANNOTATION = 2;
259
260 /**
261 * The feature id for the '<em><b>Target</b></em>' reference.
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @generated
265 * @ordered
266 */
267 int RELATION_ANNOTATION__TARGET = ANNOTATION_FEATURE_COUNT + 0;
268
269 /**
270 * The number of structural features of the '<em>Relation Annotation</em>' class.
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @generated
274 * @ordered
275 */
276 int RELATION_ANNOTATION_FEATURE_COUNT = ANNOTATION_FEATURE_COUNT + 1;
277
278 /**
279 * The number of operations of the '<em>Relation Annotation</em>' class.
280 * <!-- begin-user-doc -->
281 * <!-- end-user-doc -->
282 * @generated
283 * @ordered
284 */
285 int RELATION_ANNOTATION_OPERATION_COUNT = ANNOTATION_OPERATION_COUNT + 0;
286
287 /**
288 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.ConstantAnnotationImpl <em>Constant Annotation</em>}' class.
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.ConstantAnnotationImpl
292 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemPackageImpl#getConstantAnnotation()
293 * @generated
294 */
295 int CONSTANT_ANNOTATION = 3;
296
297 /**
298 * The feature id for the '<em><b>Target</b></em>' reference.
299 * <!-- begin-user-doc -->
300 * <!-- end-user-doc -->
301 * @generated
302 * @ordered
303 */
304 int CONSTANT_ANNOTATION__TARGET = ANNOTATION_FEATURE_COUNT + 0;
305
306 /**
307 * The number of structural features of the '<em>Constant Annotation</em>' class.
308 * <!-- begin-user-doc -->
309 * <!-- end-user-doc -->
310 * @generated
311 * @ordered
312 */
313 int CONSTANT_ANNOTATION_FEATURE_COUNT = ANNOTATION_FEATURE_COUNT + 1;
314
315 /**
316 * The number of operations of the '<em>Constant Annotation</em>' class.
317 * <!-- begin-user-doc -->
318 * <!-- end-user-doc -->
319 * @generated
320 * @ordered
321 */
322 int CONSTANT_ANNOTATION_OPERATION_COUNT = ANNOTATION_OPERATION_COUNT + 0;
323
324 /**
325 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.FunctionAnnotationImpl <em>Function Annotation</em>}' class.
326 * <!-- begin-user-doc -->
327 * <!-- end-user-doc -->
328 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.FunctionAnnotationImpl
329 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemPackageImpl#getFunctionAnnotation()
330 * @generated
331 */
332 int FUNCTION_ANNOTATION = 4;
333
334 /**
335 * The feature id for the '<em><b>Target</b></em>' reference.
336 * <!-- begin-user-doc -->
337 * <!-- end-user-doc -->
338 * @generated
339 * @ordered
340 */
341 int FUNCTION_ANNOTATION__TARGET = ANNOTATION_FEATURE_COUNT + 0;
342
343 /**
344 * The number of structural features of the '<em>Function Annotation</em>' class.
345 * <!-- begin-user-doc -->
346 * <!-- end-user-doc -->
347 * @generated
348 * @ordered
349 */
350 int FUNCTION_ANNOTATION_FEATURE_COUNT = ANNOTATION_FEATURE_COUNT + 1;
351
352 /**
353 * The number of operations of the '<em>Function Annotation</em>' class.
354 * <!-- begin-user-doc -->
355 * <!-- end-user-doc -->
356 * @generated
357 * @ordered
358 */
359 int FUNCTION_ANNOTATION_OPERATION_COUNT = ANNOTATION_OPERATION_COUNT + 0;
360
361 /**
362 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.AssertionAnnotationImpl <em>Assertion Annotation</em>}' class.
363 * <!-- begin-user-doc -->
364 * <!-- end-user-doc -->
365 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.AssertionAnnotationImpl
366 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemPackageImpl#getAssertionAnnotation()
367 * @generated
368 */
369 int ASSERTION_ANNOTATION = 5;
370
371 /**
372 * The feature id for the '<em><b>Target</b></em>' reference.
373 * <!-- begin-user-doc -->
374 * <!-- end-user-doc -->
375 * @generated
376 * @ordered
377 */
378 int ASSERTION_ANNOTATION__TARGET = ANNOTATION_FEATURE_COUNT + 0;
379
380 /**
381 * The number of structural features of the '<em>Assertion Annotation</em>' class.
382 * <!-- begin-user-doc -->
383 * <!-- end-user-doc -->
384 * @generated
385 * @ordered
386 */
387 int ASSERTION_ANNOTATION_FEATURE_COUNT = ANNOTATION_FEATURE_COUNT + 1;
388
389 /**
390 * The number of operations of the '<em>Assertion Annotation</em>' class.
391 * <!-- begin-user-doc -->
392 * <!-- end-user-doc -->
393 * @generated
394 * @ordered
395 */
396 int ASSERTION_ANNOTATION_OPERATION_COUNT = ANNOTATION_OPERATION_COUNT + 0;
397
398 /**
399 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem <em>Logic Problem</em>}'.
400 * <!-- begin-user-doc -->
401 * <!-- end-user-doc -->
402 * @return the meta object for class '<em>Logic Problem</em>'.
403 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
404 * @generated
405 */
406 EClass getLogicProblem();
407
408 /**
409 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getTypes <em>Types</em>}'.
410 * <!-- begin-user-doc -->
411 * <!-- end-user-doc -->
412 * @return the meta object for the containment reference list '<em>Types</em>'.
413 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getTypes()
414 * @see #getLogicProblem()
415 * @generated
416 */
417 EReference getLogicProblem_Types();
418
419 /**
420 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getFunctions <em>Functions</em>}'.
421 * <!-- begin-user-doc -->
422 * <!-- end-user-doc -->
423 * @return the meta object for the containment reference list '<em>Functions</em>'.
424 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getFunctions()
425 * @see #getLogicProblem()
426 * @generated
427 */
428 EReference getLogicProblem_Functions();
429
430 /**
431 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getAssertions <em>Assertions</em>}'.
432 * <!-- begin-user-doc -->
433 * <!-- end-user-doc -->
434 * @return the meta object for the containment reference list '<em>Assertions</em>'.
435 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getAssertions()
436 * @see #getLogicProblem()
437 * @generated
438 */
439 EReference getLogicProblem_Assertions();
440
441 /**
442 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getRelations <em>Relations</em>}'.
443 * <!-- begin-user-doc -->
444 * <!-- end-user-doc -->
445 * @return the meta object for the containment reference list '<em>Relations</em>'.
446 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getRelations()
447 * @see #getLogicProblem()
448 * @generated
449 */
450 EReference getLogicProblem_Relations();
451
452 /**
453 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getConstants <em>Constants</em>}'.
454 * <!-- begin-user-doc -->
455 * <!-- end-user-doc -->
456 * @return the meta object for the containment reference list '<em>Constants</em>'.
457 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getConstants()
458 * @see #getLogicProblem()
459 * @generated
460 */
461 EReference getLogicProblem_Constants();
462
463 /**
464 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getElements <em>Elements</em>}'.
465 * <!-- begin-user-doc -->
466 * <!-- end-user-doc -->
467 * @return the meta object for the containment reference list '<em>Elements</em>'.
468 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getElements()
469 * @see #getLogicProblem()
470 * @generated
471 */
472 EReference getLogicProblem_Elements();
473
474 /**
475 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getContainmentHierarchies <em>Containment Hierarchies</em>}'.
476 * <!-- begin-user-doc -->
477 * <!-- end-user-doc -->
478 * @return the meta object for the containment reference list '<em>Containment Hierarchies</em>'.
479 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getContainmentHierarchies()
480 * @see #getLogicProblem()
481 * @generated
482 */
483 EReference getLogicProblem_ContainmentHierarchies();
484
485 /**
486 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getAnnotations <em>Annotations</em>}'.
487 * <!-- begin-user-doc -->
488 * <!-- end-user-doc -->
489 * @return the meta object for the containment reference list '<em>Annotations</em>'.
490 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem#getAnnotations()
491 * @see #getLogicProblem()
492 * @generated
493 */
494 EReference getLogicProblem_Annotations();
495
496 /**
497 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy <em>Containment Hierarchy</em>}'.
498 * <!-- begin-user-doc -->
499 * <!-- end-user-doc -->
500 * @return the meta object for class '<em>Containment Hierarchy</em>'.
501 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy
502 * @generated
503 */
504 EClass getContainmentHierarchy();
505
506 /**
507 * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy#getTypesOrderedInHierarchy <em>Types Ordered In Hierarchy</em>}'.
508 * <!-- begin-user-doc -->
509 * <!-- end-user-doc -->
510 * @return the meta object for the reference list '<em>Types Ordered In Hierarchy</em>'.
511 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy#getTypesOrderedInHierarchy()
512 * @see #getContainmentHierarchy()
513 * @generated
514 */
515 EReference getContainmentHierarchy_TypesOrderedInHierarchy();
516
517 /**
518 * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy#getContainmentFunctions <em>Containment Functions</em>}'.
519 * <!-- begin-user-doc -->
520 * <!-- end-user-doc -->
521 * @return the meta object for the reference list '<em>Containment Functions</em>'.
522 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy#getContainmentFunctions()
523 * @see #getContainmentHierarchy()
524 * @generated
525 */
526 EReference getContainmentHierarchy_ContainmentFunctions();
527
528 /**
529 * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy#getContainmentRelations <em>Containment Relations</em>}'.
530 * <!-- begin-user-doc -->
531 * <!-- end-user-doc -->
532 * @return the meta object for the reference list '<em>Containment Relations</em>'.
533 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy#getContainmentRelations()
534 * @see #getContainmentHierarchy()
535 * @generated
536 */
537 EReference getContainmentHierarchy_ContainmentRelations();
538
539 /**
540 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy#getRootConstant <em>Root Constant</em>}'.
541 * <!-- begin-user-doc -->
542 * <!-- end-user-doc -->
543 * @return the meta object for the reference '<em>Root Constant</em>'.
544 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy#getRootConstant()
545 * @see #getContainmentHierarchy()
546 * @generated
547 */
548 EReference getContainmentHierarchy_RootConstant();
549
550 /**
551 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation <em>Relation Annotation</em>}'.
552 * <!-- begin-user-doc -->
553 * <!-- end-user-doc -->
554 * @return the meta object for class '<em>Relation Annotation</em>'.
555 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation
556 * @generated
557 */
558 EClass getRelationAnnotation();
559
560 /**
561 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation#getTarget <em>Target</em>}'.
562 * <!-- begin-user-doc -->
563 * <!-- end-user-doc -->
564 * @return the meta object for the reference '<em>Target</em>'.
565 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation#getTarget()
566 * @see #getRelationAnnotation()
567 * @generated
568 */
569 EReference getRelationAnnotation_Target();
570
571 /**
572 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ConstantAnnotation <em>Constant Annotation</em>}'.
573 * <!-- begin-user-doc -->
574 * <!-- end-user-doc -->
575 * @return the meta object for class '<em>Constant Annotation</em>'.
576 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ConstantAnnotation
577 * @generated
578 */
579 EClass getConstantAnnotation();
580
581 /**
582 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ConstantAnnotation#getTarget <em>Target</em>}'.
583 * <!-- begin-user-doc -->
584 * <!-- end-user-doc -->
585 * @return the meta object for the reference '<em>Target</em>'.
586 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ConstantAnnotation#getTarget()
587 * @see #getConstantAnnotation()
588 * @generated
589 */
590 EReference getConstantAnnotation_Target();
591
592 /**
593 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.FunctionAnnotation <em>Function Annotation</em>}'.
594 * <!-- begin-user-doc -->
595 * <!-- end-user-doc -->
596 * @return the meta object for class '<em>Function Annotation</em>'.
597 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.FunctionAnnotation
598 * @generated
599 */
600 EClass getFunctionAnnotation();
601
602 /**
603 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.FunctionAnnotation#getTarget <em>Target</em>}'.
604 * <!-- begin-user-doc -->
605 * <!-- end-user-doc -->
606 * @return the meta object for the reference '<em>Target</em>'.
607 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.FunctionAnnotation#getTarget()
608 * @see #getFunctionAnnotation()
609 * @generated
610 */
611 EReference getFunctionAnnotation_Target();
612
613 /**
614 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation <em>Assertion Annotation</em>}'.
615 * <!-- begin-user-doc -->
616 * <!-- end-user-doc -->
617 * @return the meta object for class '<em>Assertion Annotation</em>'.
618 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation
619 * @generated
620 */
621 EClass getAssertionAnnotation();
622
623 /**
624 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation#getTarget <em>Target</em>}'.
625 * <!-- begin-user-doc -->
626 * <!-- end-user-doc -->
627 * @return the meta object for the reference '<em>Target</em>'.
628 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation#getTarget()
629 * @see #getAssertionAnnotation()
630 * @generated
631 */
632 EReference getAssertionAnnotation_Target();
633
634 /**
635 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation <em>Annotation</em>}'.
636 * <!-- begin-user-doc -->
637 * <!-- end-user-doc -->
638 * @return the meta object for class '<em>Annotation</em>'.
639 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation
640 * @generated
641 */
642 EClass getAnnotation();
643
644 /**
645 * Returns the factory that creates the instances of the model.
646 * <!-- begin-user-doc -->
647 * <!-- end-user-doc -->
648 * @return the factory that creates the instances of the model.
649 * @generated
650 */
651 LogicproblemFactory getLogicproblemFactory();
652
653 /**
654 * <!-- begin-user-doc -->
655 * Defines literals for the meta objects that represent
656 * <ul>
657 * <li>each class,</li>
658 * <li>each feature of each class,</li>
659 * <li>each operation of each class,</li>
660 * <li>each enum,</li>
661 * <li>and each data type</li>
662 * </ul>
663 * <!-- end-user-doc -->
664 * @generated
665 */
666 interface Literals {
667 /**
668 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicProblemImpl <em>Logic Problem</em>}' class.
669 * <!-- begin-user-doc -->
670 * <!-- end-user-doc -->
671 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicProblemImpl
672 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemPackageImpl#getLogicProblem()
673 * @generated
674 */
675 EClass LOGIC_PROBLEM = eINSTANCE.getLogicProblem();
676
677 /**
678 * The meta object literal for the '<em><b>Types</b></em>' containment reference list feature.
679 * <!-- begin-user-doc -->
680 * <!-- end-user-doc -->
681 * @generated
682 */
683 EReference LOGIC_PROBLEM__TYPES = eINSTANCE.getLogicProblem_Types();
684
685 /**
686 * The meta object literal for the '<em><b>Functions</b></em>' containment reference list feature.
687 * <!-- begin-user-doc -->
688 * <!-- end-user-doc -->
689 * @generated
690 */
691 EReference LOGIC_PROBLEM__FUNCTIONS = eINSTANCE.getLogicProblem_Functions();
692
693 /**
694 * The meta object literal for the '<em><b>Assertions</b></em>' containment reference list feature.
695 * <!-- begin-user-doc -->
696 * <!-- end-user-doc -->
697 * @generated
698 */
699 EReference LOGIC_PROBLEM__ASSERTIONS = eINSTANCE.getLogicProblem_Assertions();
700
701 /**
702 * The meta object literal for the '<em><b>Relations</b></em>' containment reference list feature.
703 * <!-- begin-user-doc -->
704 * <!-- end-user-doc -->
705 * @generated
706 */
707 EReference LOGIC_PROBLEM__RELATIONS = eINSTANCE.getLogicProblem_Relations();
708
709 /**
710 * The meta object literal for the '<em><b>Constants</b></em>' containment reference list feature.
711 * <!-- begin-user-doc -->
712 * <!-- end-user-doc -->
713 * @generated
714 */
715 EReference LOGIC_PROBLEM__CONSTANTS = eINSTANCE.getLogicProblem_Constants();
716
717 /**
718 * The meta object literal for the '<em><b>Elements</b></em>' containment reference list feature.
719 * <!-- begin-user-doc -->
720 * <!-- end-user-doc -->
721 * @generated
722 */
723 EReference LOGIC_PROBLEM__ELEMENTS = eINSTANCE.getLogicProblem_Elements();
724
725 /**
726 * The meta object literal for the '<em><b>Containment Hierarchies</b></em>' containment reference list feature.
727 * <!-- begin-user-doc -->
728 * <!-- end-user-doc -->
729 * @generated
730 */
731 EReference LOGIC_PROBLEM__CONTAINMENT_HIERARCHIES = eINSTANCE.getLogicProblem_ContainmentHierarchies();
732
733 /**
734 * The meta object literal for the '<em><b>Annotations</b></em>' containment reference list feature.
735 * <!-- begin-user-doc -->
736 * <!-- end-user-doc -->
737 * @generated
738 */
739 EReference LOGIC_PROBLEM__ANNOTATIONS = eINSTANCE.getLogicProblem_Annotations();
740
741 /**
742 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.ContainmentHierarchyImpl <em>Containment Hierarchy</em>}' class.
743 * <!-- begin-user-doc -->
744 * <!-- end-user-doc -->
745 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.ContainmentHierarchyImpl
746 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemPackageImpl#getContainmentHierarchy()
747 * @generated
748 */
749 EClass CONTAINMENT_HIERARCHY = eINSTANCE.getContainmentHierarchy();
750
751 /**
752 * The meta object literal for the '<em><b>Types Ordered In Hierarchy</b></em>' reference list feature.
753 * <!-- begin-user-doc -->
754 * <!-- end-user-doc -->
755 * @generated
756 */
757 EReference CONTAINMENT_HIERARCHY__TYPES_ORDERED_IN_HIERARCHY = eINSTANCE.getContainmentHierarchy_TypesOrderedInHierarchy();
758
759 /**
760 * The meta object literal for the '<em><b>Containment Functions</b></em>' reference list feature.
761 * <!-- begin-user-doc -->
762 * <!-- end-user-doc -->
763 * @generated
764 */
765 EReference CONTAINMENT_HIERARCHY__CONTAINMENT_FUNCTIONS = eINSTANCE.getContainmentHierarchy_ContainmentFunctions();
766
767 /**
768 * The meta object literal for the '<em><b>Containment Relations</b></em>' reference list feature.
769 * <!-- begin-user-doc -->
770 * <!-- end-user-doc -->
771 * @generated
772 */
773 EReference CONTAINMENT_HIERARCHY__CONTAINMENT_RELATIONS = eINSTANCE.getContainmentHierarchy_ContainmentRelations();
774
775 /**
776 * The meta object literal for the '<em><b>Root Constant</b></em>' reference feature.
777 * <!-- begin-user-doc -->
778 * <!-- end-user-doc -->
779 * @generated
780 */
781 EReference CONTAINMENT_HIERARCHY__ROOT_CONSTANT = eINSTANCE.getContainmentHierarchy_RootConstant();
782
783 /**
784 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.RelationAnnotationImpl <em>Relation Annotation</em>}' class.
785 * <!-- begin-user-doc -->
786 * <!-- end-user-doc -->
787 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.RelationAnnotationImpl
788 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemPackageImpl#getRelationAnnotation()
789 * @generated
790 */
791 EClass RELATION_ANNOTATION = eINSTANCE.getRelationAnnotation();
792
793 /**
794 * The meta object literal for the '<em><b>Target</b></em>' reference feature.
795 * <!-- begin-user-doc -->
796 * <!-- end-user-doc -->
797 * @generated
798 */
799 EReference RELATION_ANNOTATION__TARGET = eINSTANCE.getRelationAnnotation_Target();
800
801 /**
802 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.ConstantAnnotationImpl <em>Constant Annotation</em>}' class.
803 * <!-- begin-user-doc -->
804 * <!-- end-user-doc -->
805 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.ConstantAnnotationImpl
806 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemPackageImpl#getConstantAnnotation()
807 * @generated
808 */
809 EClass CONSTANT_ANNOTATION = eINSTANCE.getConstantAnnotation();
810
811 /**
812 * The meta object literal for the '<em><b>Target</b></em>' reference feature.
813 * <!-- begin-user-doc -->
814 * <!-- end-user-doc -->
815 * @generated
816 */
817 EReference CONSTANT_ANNOTATION__TARGET = eINSTANCE.getConstantAnnotation_Target();
818
819 /**
820 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.FunctionAnnotationImpl <em>Function Annotation</em>}' class.
821 * <!-- begin-user-doc -->
822 * <!-- end-user-doc -->
823 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.FunctionAnnotationImpl
824 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemPackageImpl#getFunctionAnnotation()
825 * @generated
826 */
827 EClass FUNCTION_ANNOTATION = eINSTANCE.getFunctionAnnotation();
828
829 /**
830 * The meta object literal for the '<em><b>Target</b></em>' reference feature.
831 * <!-- begin-user-doc -->
832 * <!-- end-user-doc -->
833 * @generated
834 */
835 EReference FUNCTION_ANNOTATION__TARGET = eINSTANCE.getFunctionAnnotation_Target();
836
837 /**
838 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.AssertionAnnotationImpl <em>Assertion Annotation</em>}' class.
839 * <!-- begin-user-doc -->
840 * <!-- end-user-doc -->
841 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.AssertionAnnotationImpl
842 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemPackageImpl#getAssertionAnnotation()
843 * @generated
844 */
845 EClass ASSERTION_ANNOTATION = eINSTANCE.getAssertionAnnotation();
846
847 /**
848 * The meta object literal for the '<em><b>Target</b></em>' reference feature.
849 * <!-- begin-user-doc -->
850 * <!-- end-user-doc -->
851 * @generated
852 */
853 EReference ASSERTION_ANNOTATION__TARGET = eINSTANCE.getAssertionAnnotation_Target();
854
855 /**
856 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.AnnotationImpl <em>Annotation</em>}' class.
857 * <!-- begin-user-doc -->
858 * <!-- end-user-doc -->
859 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.AnnotationImpl
860 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemPackageImpl#getAnnotation()
861 * @generated
862 */
863 EClass ANNOTATION = eINSTANCE.getAnnotation();
864
865 }
866
867} //LogicproblemPackage
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/RelationAnnotation.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/RelationAnnotation.java
new file mode 100644
index 00000000..588a8c10
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/RelationAnnotation.java
@@ -0,0 +1,52 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Relation Annotation</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation#getTarget <em>Target</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getRelationAnnotation()
20 * @model
21 * @generated
22 */
23public interface RelationAnnotation extends Annotation {
24 /**
25 * Returns the value of the '<em><b>Target</b></em>' reference.
26 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation#getAnnotations <em>Annotations</em>}'.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Target</em>' reference isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Target</em>' reference.
34 * @see #setTarget(Relation)
35 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#getRelationAnnotation_Target()
36 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation#getAnnotations
37 * @model opposite="annotations" required="true"
38 * @generated
39 */
40 Relation getTarget();
41
42 /**
43 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation#getTarget <em>Target</em>}' reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Target</em>' reference.
47 * @see #getTarget()
48 * @generated
49 */
50 void setTarget(Relation value);
51
52} // RelationAnnotation
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/AnnotationImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/AnnotationImpl.java
new file mode 100644
index 00000000..365aa206
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/AnnotationImpl.java
@@ -0,0 +1,39 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
11
12/**
13 * <!-- begin-user-doc -->
14 * An implementation of the model object '<em><b>Annotation</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * @generated
18 */
19public class AnnotationImpl extends MinimalEObjectImpl.Container implements Annotation {
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected AnnotationImpl() {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass() {
36 return LogicproblemPackage.Literals.ANNOTATION;
37 }
38
39} //AnnotationImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/AssertionAnnotationImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/AssertionAnnotationImpl.java
new file mode 100644
index 00000000..1e015974
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/AssertionAnnotationImpl.java
@@ -0,0 +1,211 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion;
6
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation;
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
10
11import org.eclipse.emf.common.notify.Notification;
12
13import org.eclipse.emf.common.notify.NotificationChain;
14import org.eclipse.emf.ecore.EClass;
15import org.eclipse.emf.ecore.InternalEObject;
16
17import org.eclipse.emf.ecore.impl.ENotificationImpl;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Assertion Annotation</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.AssertionAnnotationImpl#getTarget <em>Target</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class AssertionAnnotationImpl extends AnnotationImpl implements AssertionAnnotation {
33 /**
34 * The cached value of the '{@link #getTarget() <em>Target</em>}' reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getTarget()
38 * @generated
39 * @ordered
40 */
41 protected Assertion target;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 protected AssertionAnnotationImpl() {
49 super();
50 }
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 @Override
58 protected EClass eStaticClass() {
59 return LogicproblemPackage.Literals.ASSERTION_ANNOTATION;
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 public Assertion getTarget() {
68 if (target != null && target.eIsProxy()) {
69 InternalEObject oldTarget = (InternalEObject)target;
70 target = (Assertion)eResolveProxy(oldTarget);
71 if (target != oldTarget) {
72 if (eNotificationRequired())
73 eNotify(new ENotificationImpl(this, Notification.RESOLVE, LogicproblemPackage.ASSERTION_ANNOTATION__TARGET, oldTarget, target));
74 }
75 }
76 return target;
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 public Assertion basicGetTarget() {
85 return target;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public NotificationChain basicSetTarget(Assertion newTarget, NotificationChain msgs) {
94 Assertion oldTarget = target;
95 target = newTarget;
96 if (eNotificationRequired()) {
97 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogicproblemPackage.ASSERTION_ANNOTATION__TARGET, oldTarget, newTarget);
98 if (msgs == null) msgs = notification; else msgs.add(notification);
99 }
100 return msgs;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 public void setTarget(Assertion newTarget) {
109 if (newTarget != target) {
110 NotificationChain msgs = null;
111 if (target != null)
112 msgs = ((InternalEObject)target).eInverseRemove(this, LogiclanguagePackage.ASSERTION__ANNOTATIONS, Assertion.class, msgs);
113 if (newTarget != null)
114 msgs = ((InternalEObject)newTarget).eInverseAdd(this, LogiclanguagePackage.ASSERTION__ANNOTATIONS, Assertion.class, msgs);
115 msgs = basicSetTarget(newTarget, msgs);
116 if (msgs != null) msgs.dispatch();
117 }
118 else if (eNotificationRequired())
119 eNotify(new ENotificationImpl(this, Notification.SET, LogicproblemPackage.ASSERTION_ANNOTATION__TARGET, newTarget, newTarget));
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
129 switch (featureID) {
130 case LogicproblemPackage.ASSERTION_ANNOTATION__TARGET:
131 if (target != null)
132 msgs = ((InternalEObject)target).eInverseRemove(this, LogiclanguagePackage.ASSERTION__ANNOTATIONS, Assertion.class, msgs);
133 return basicSetTarget((Assertion)otherEnd, msgs);
134 }
135 return super.eInverseAdd(otherEnd, featureID, msgs);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
145 switch (featureID) {
146 case LogicproblemPackage.ASSERTION_ANNOTATION__TARGET:
147 return basicSetTarget(null, msgs);
148 }
149 return super.eInverseRemove(otherEnd, featureID, msgs);
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 @Override
158 public Object eGet(int featureID, boolean resolve, boolean coreType) {
159 switch (featureID) {
160 case LogicproblemPackage.ASSERTION_ANNOTATION__TARGET:
161 if (resolve) return getTarget();
162 return basicGetTarget();
163 }
164 return super.eGet(featureID, resolve, coreType);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public void eSet(int featureID, Object newValue) {
174 switch (featureID) {
175 case LogicproblemPackage.ASSERTION_ANNOTATION__TARGET:
176 setTarget((Assertion)newValue);
177 return;
178 }
179 super.eSet(featureID, newValue);
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @Override
188 public void eUnset(int featureID) {
189 switch (featureID) {
190 case LogicproblemPackage.ASSERTION_ANNOTATION__TARGET:
191 setTarget((Assertion)null);
192 return;
193 }
194 super.eUnset(featureID);
195 }
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 @Override
203 public boolean eIsSet(int featureID) {
204 switch (featureID) {
205 case LogicproblemPackage.ASSERTION_ANNOTATION__TARGET:
206 return target != null;
207 }
208 return super.eIsSet(featureID);
209 }
210
211} //AssertionAnnotationImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/ConstantAnnotationImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/ConstantAnnotationImpl.java
new file mode 100644
index 00000000..734ce70c
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/ConstantAnnotationImpl.java
@@ -0,0 +1,211 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant;
6
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ConstantAnnotation;
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
10
11import org.eclipse.emf.common.notify.Notification;
12
13import org.eclipse.emf.common.notify.NotificationChain;
14import org.eclipse.emf.ecore.EClass;
15import org.eclipse.emf.ecore.InternalEObject;
16
17import org.eclipse.emf.ecore.impl.ENotificationImpl;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Constant Annotation</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.ConstantAnnotationImpl#getTarget <em>Target</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class ConstantAnnotationImpl extends AnnotationImpl implements ConstantAnnotation {
33 /**
34 * The cached value of the '{@link #getTarget() <em>Target</em>}' reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getTarget()
38 * @generated
39 * @ordered
40 */
41 protected Constant target;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 protected ConstantAnnotationImpl() {
49 super();
50 }
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 @Override
58 protected EClass eStaticClass() {
59 return LogicproblemPackage.Literals.CONSTANT_ANNOTATION;
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 public Constant getTarget() {
68 if (target != null && target.eIsProxy()) {
69 InternalEObject oldTarget = (InternalEObject)target;
70 target = (Constant)eResolveProxy(oldTarget);
71 if (target != oldTarget) {
72 if (eNotificationRequired())
73 eNotify(new ENotificationImpl(this, Notification.RESOLVE, LogicproblemPackage.CONSTANT_ANNOTATION__TARGET, oldTarget, target));
74 }
75 }
76 return target;
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 public Constant basicGetTarget() {
85 return target;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public NotificationChain basicSetTarget(Constant newTarget, NotificationChain msgs) {
94 Constant oldTarget = target;
95 target = newTarget;
96 if (eNotificationRequired()) {
97 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogicproblemPackage.CONSTANT_ANNOTATION__TARGET, oldTarget, newTarget);
98 if (msgs == null) msgs = notification; else msgs.add(notification);
99 }
100 return msgs;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 public void setTarget(Constant newTarget) {
109 if (newTarget != target) {
110 NotificationChain msgs = null;
111 if (target != null)
112 msgs = ((InternalEObject)target).eInverseRemove(this, LogiclanguagePackage.CONSTANT__ANNOTATIONS, Constant.class, msgs);
113 if (newTarget != null)
114 msgs = ((InternalEObject)newTarget).eInverseAdd(this, LogiclanguagePackage.CONSTANT__ANNOTATIONS, Constant.class, msgs);
115 msgs = basicSetTarget(newTarget, msgs);
116 if (msgs != null) msgs.dispatch();
117 }
118 else if (eNotificationRequired())
119 eNotify(new ENotificationImpl(this, Notification.SET, LogicproblemPackage.CONSTANT_ANNOTATION__TARGET, newTarget, newTarget));
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
129 switch (featureID) {
130 case LogicproblemPackage.CONSTANT_ANNOTATION__TARGET:
131 if (target != null)
132 msgs = ((InternalEObject)target).eInverseRemove(this, LogiclanguagePackage.CONSTANT__ANNOTATIONS, Constant.class, msgs);
133 return basicSetTarget((Constant)otherEnd, msgs);
134 }
135 return super.eInverseAdd(otherEnd, featureID, msgs);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
145 switch (featureID) {
146 case LogicproblemPackage.CONSTANT_ANNOTATION__TARGET:
147 return basicSetTarget(null, msgs);
148 }
149 return super.eInverseRemove(otherEnd, featureID, msgs);
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 @Override
158 public Object eGet(int featureID, boolean resolve, boolean coreType) {
159 switch (featureID) {
160 case LogicproblemPackage.CONSTANT_ANNOTATION__TARGET:
161 if (resolve) return getTarget();
162 return basicGetTarget();
163 }
164 return super.eGet(featureID, resolve, coreType);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public void eSet(int featureID, Object newValue) {
174 switch (featureID) {
175 case LogicproblemPackage.CONSTANT_ANNOTATION__TARGET:
176 setTarget((Constant)newValue);
177 return;
178 }
179 super.eSet(featureID, newValue);
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @Override
188 public void eUnset(int featureID) {
189 switch (featureID) {
190 case LogicproblemPackage.CONSTANT_ANNOTATION__TARGET:
191 setTarget((Constant)null);
192 return;
193 }
194 super.eUnset(featureID);
195 }
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 @Override
203 public boolean eIsSet(int featureID) {
204 switch (featureID) {
205 case LogicproblemPackage.CONSTANT_ANNOTATION__TARGET:
206 return target != null;
207 }
208 return super.eIsSet(featureID);
209 }
210
211} //ConstantAnnotationImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/ContainmentHierarchyImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/ContainmentHierarchyImpl.java
new file mode 100644
index 00000000..909f49a5
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/ContainmentHierarchyImpl.java
@@ -0,0 +1,270 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation;
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type;
9
10import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy;
11import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
12
13import java.util.Collection;
14
15import org.eclipse.emf.common.notify.Notification;
16
17import org.eclipse.emf.common.util.EList;
18
19import org.eclipse.emf.ecore.EClass;
20import org.eclipse.emf.ecore.InternalEObject;
21
22import org.eclipse.emf.ecore.impl.ENotificationImpl;
23import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
24
25import org.eclipse.emf.ecore.util.EObjectResolvingEList;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model object '<em><b>Containment Hierarchy</b></em>'.
30 * <!-- end-user-doc -->
31 * <p>
32 * The following features are implemented:
33 * </p>
34 * <ul>
35 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.ContainmentHierarchyImpl#getTypesOrderedInHierarchy <em>Types Ordered In Hierarchy</em>}</li>
36 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.ContainmentHierarchyImpl#getContainmentFunctions <em>Containment Functions</em>}</li>
37 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.ContainmentHierarchyImpl#getContainmentRelations <em>Containment Relations</em>}</li>
38 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.ContainmentHierarchyImpl#getRootConstant <em>Root Constant</em>}</li>
39 * </ul>
40 *
41 * @generated
42 */
43public class ContainmentHierarchyImpl extends MinimalEObjectImpl.Container implements ContainmentHierarchy {
44 /**
45 * The cached value of the '{@link #getTypesOrderedInHierarchy() <em>Types Ordered In Hierarchy</em>}' reference list.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getTypesOrderedInHierarchy()
49 * @generated
50 * @ordered
51 */
52 protected EList<Type> typesOrderedInHierarchy;
53
54 /**
55 * The cached value of the '{@link #getContainmentFunctions() <em>Containment Functions</em>}' reference list.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #getContainmentFunctions()
59 * @generated
60 * @ordered
61 */
62 protected EList<Function> containmentFunctions;
63
64 /**
65 * The cached value of the '{@link #getContainmentRelations() <em>Containment Relations</em>}' reference list.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @see #getContainmentRelations()
69 * @generated
70 * @ordered
71 */
72 protected EList<Relation> containmentRelations;
73
74 /**
75 * The cached value of the '{@link #getRootConstant() <em>Root Constant</em>}' reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @see #getRootConstant()
79 * @generated
80 * @ordered
81 */
82 protected Constant rootConstant;
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 protected ContainmentHierarchyImpl() {
90 super();
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 @Override
99 protected EClass eStaticClass() {
100 return LogicproblemPackage.Literals.CONTAINMENT_HIERARCHY;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 public EList<Type> getTypesOrderedInHierarchy() {
109 if (typesOrderedInHierarchy == null) {
110 typesOrderedInHierarchy = new EObjectResolvingEList<Type>(Type.class, this, LogicproblemPackage.CONTAINMENT_HIERARCHY__TYPES_ORDERED_IN_HIERARCHY);
111 }
112 return typesOrderedInHierarchy;
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 public EList<Function> getContainmentFunctions() {
121 if (containmentFunctions == null) {
122 containmentFunctions = new EObjectResolvingEList<Function>(Function.class, this, LogicproblemPackage.CONTAINMENT_HIERARCHY__CONTAINMENT_FUNCTIONS);
123 }
124 return containmentFunctions;
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 public EList<Relation> getContainmentRelations() {
133 if (containmentRelations == null) {
134 containmentRelations = new EObjectResolvingEList<Relation>(Relation.class, this, LogicproblemPackage.CONTAINMENT_HIERARCHY__CONTAINMENT_RELATIONS);
135 }
136 return containmentRelations;
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 public Constant getRootConstant() {
145 if (rootConstant != null && rootConstant.eIsProxy()) {
146 InternalEObject oldRootConstant = (InternalEObject)rootConstant;
147 rootConstant = (Constant)eResolveProxy(oldRootConstant);
148 if (rootConstant != oldRootConstant) {
149 if (eNotificationRequired())
150 eNotify(new ENotificationImpl(this, Notification.RESOLVE, LogicproblemPackage.CONTAINMENT_HIERARCHY__ROOT_CONSTANT, oldRootConstant, rootConstant));
151 }
152 }
153 return rootConstant;
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 public Constant basicGetRootConstant() {
162 return rootConstant;
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 public void setRootConstant(Constant newRootConstant) {
171 Constant oldRootConstant = rootConstant;
172 rootConstant = newRootConstant;
173 if (eNotificationRequired())
174 eNotify(new ENotificationImpl(this, Notification.SET, LogicproblemPackage.CONTAINMENT_HIERARCHY__ROOT_CONSTANT, oldRootConstant, rootConstant));
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public Object eGet(int featureID, boolean resolve, boolean coreType) {
184 switch (featureID) {
185 case LogicproblemPackage.CONTAINMENT_HIERARCHY__TYPES_ORDERED_IN_HIERARCHY:
186 return getTypesOrderedInHierarchy();
187 case LogicproblemPackage.CONTAINMENT_HIERARCHY__CONTAINMENT_FUNCTIONS:
188 return getContainmentFunctions();
189 case LogicproblemPackage.CONTAINMENT_HIERARCHY__CONTAINMENT_RELATIONS:
190 return getContainmentRelations();
191 case LogicproblemPackage.CONTAINMENT_HIERARCHY__ROOT_CONSTANT:
192 if (resolve) return getRootConstant();
193 return basicGetRootConstant();
194 }
195 return super.eGet(featureID, resolve, coreType);
196 }
197
198 /**
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated
202 */
203 @SuppressWarnings("unchecked")
204 @Override
205 public void eSet(int featureID, Object newValue) {
206 switch (featureID) {
207 case LogicproblemPackage.CONTAINMENT_HIERARCHY__TYPES_ORDERED_IN_HIERARCHY:
208 getTypesOrderedInHierarchy().clear();
209 getTypesOrderedInHierarchy().addAll((Collection<? extends Type>)newValue);
210 return;
211 case LogicproblemPackage.CONTAINMENT_HIERARCHY__CONTAINMENT_FUNCTIONS:
212 getContainmentFunctions().clear();
213 getContainmentFunctions().addAll((Collection<? extends Function>)newValue);
214 return;
215 case LogicproblemPackage.CONTAINMENT_HIERARCHY__CONTAINMENT_RELATIONS:
216 getContainmentRelations().clear();
217 getContainmentRelations().addAll((Collection<? extends Relation>)newValue);
218 return;
219 case LogicproblemPackage.CONTAINMENT_HIERARCHY__ROOT_CONSTANT:
220 setRootConstant((Constant)newValue);
221 return;
222 }
223 super.eSet(featureID, newValue);
224 }
225
226 /**
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @generated
230 */
231 @Override
232 public void eUnset(int featureID) {
233 switch (featureID) {
234 case LogicproblemPackage.CONTAINMENT_HIERARCHY__TYPES_ORDERED_IN_HIERARCHY:
235 getTypesOrderedInHierarchy().clear();
236 return;
237 case LogicproblemPackage.CONTAINMENT_HIERARCHY__CONTAINMENT_FUNCTIONS:
238 getContainmentFunctions().clear();
239 return;
240 case LogicproblemPackage.CONTAINMENT_HIERARCHY__CONTAINMENT_RELATIONS:
241 getContainmentRelations().clear();
242 return;
243 case LogicproblemPackage.CONTAINMENT_HIERARCHY__ROOT_CONSTANT:
244 setRootConstant((Constant)null);
245 return;
246 }
247 super.eUnset(featureID);
248 }
249
250 /**
251 * <!-- begin-user-doc -->
252 * <!-- end-user-doc -->
253 * @generated
254 */
255 @Override
256 public boolean eIsSet(int featureID) {
257 switch (featureID) {
258 case LogicproblemPackage.CONTAINMENT_HIERARCHY__TYPES_ORDERED_IN_HIERARCHY:
259 return typesOrderedInHierarchy != null && !typesOrderedInHierarchy.isEmpty();
260 case LogicproblemPackage.CONTAINMENT_HIERARCHY__CONTAINMENT_FUNCTIONS:
261 return containmentFunctions != null && !containmentFunctions.isEmpty();
262 case LogicproblemPackage.CONTAINMENT_HIERARCHY__CONTAINMENT_RELATIONS:
263 return containmentRelations != null && !containmentRelations.isEmpty();
264 case LogicproblemPackage.CONTAINMENT_HIERARCHY__ROOT_CONSTANT:
265 return rootConstant != null;
266 }
267 return super.eIsSet(featureID);
268 }
269
270} //ContainmentHierarchyImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/FunctionAnnotationImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/FunctionAnnotationImpl.java
new file mode 100644
index 00000000..77ee58c2
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/FunctionAnnotationImpl.java
@@ -0,0 +1,211 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function;
6
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.FunctionAnnotation;
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
10
11import org.eclipse.emf.common.notify.Notification;
12
13import org.eclipse.emf.common.notify.NotificationChain;
14import org.eclipse.emf.ecore.EClass;
15import org.eclipse.emf.ecore.InternalEObject;
16
17import org.eclipse.emf.ecore.impl.ENotificationImpl;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Function Annotation</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.FunctionAnnotationImpl#getTarget <em>Target</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class FunctionAnnotationImpl extends AnnotationImpl implements FunctionAnnotation {
33 /**
34 * The cached value of the '{@link #getTarget() <em>Target</em>}' reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getTarget()
38 * @generated
39 * @ordered
40 */
41 protected Function target;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 protected FunctionAnnotationImpl() {
49 super();
50 }
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 @Override
58 protected EClass eStaticClass() {
59 return LogicproblemPackage.Literals.FUNCTION_ANNOTATION;
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 public Function getTarget() {
68 if (target != null && target.eIsProxy()) {
69 InternalEObject oldTarget = (InternalEObject)target;
70 target = (Function)eResolveProxy(oldTarget);
71 if (target != oldTarget) {
72 if (eNotificationRequired())
73 eNotify(new ENotificationImpl(this, Notification.RESOLVE, LogicproblemPackage.FUNCTION_ANNOTATION__TARGET, oldTarget, target));
74 }
75 }
76 return target;
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 public Function basicGetTarget() {
85 return target;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public NotificationChain basicSetTarget(Function newTarget, NotificationChain msgs) {
94 Function oldTarget = target;
95 target = newTarget;
96 if (eNotificationRequired()) {
97 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogicproblemPackage.FUNCTION_ANNOTATION__TARGET, oldTarget, newTarget);
98 if (msgs == null) msgs = notification; else msgs.add(notification);
99 }
100 return msgs;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 public void setTarget(Function newTarget) {
109 if (newTarget != target) {
110 NotificationChain msgs = null;
111 if (target != null)
112 msgs = ((InternalEObject)target).eInverseRemove(this, LogiclanguagePackage.FUNCTION__ANNOTATIONS, Function.class, msgs);
113 if (newTarget != null)
114 msgs = ((InternalEObject)newTarget).eInverseAdd(this, LogiclanguagePackage.FUNCTION__ANNOTATIONS, Function.class, msgs);
115 msgs = basicSetTarget(newTarget, msgs);
116 if (msgs != null) msgs.dispatch();
117 }
118 else if (eNotificationRequired())
119 eNotify(new ENotificationImpl(this, Notification.SET, LogicproblemPackage.FUNCTION_ANNOTATION__TARGET, newTarget, newTarget));
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
129 switch (featureID) {
130 case LogicproblemPackage.FUNCTION_ANNOTATION__TARGET:
131 if (target != null)
132 msgs = ((InternalEObject)target).eInverseRemove(this, LogiclanguagePackage.FUNCTION__ANNOTATIONS, Function.class, msgs);
133 return basicSetTarget((Function)otherEnd, msgs);
134 }
135 return super.eInverseAdd(otherEnd, featureID, msgs);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
145 switch (featureID) {
146 case LogicproblemPackage.FUNCTION_ANNOTATION__TARGET:
147 return basicSetTarget(null, msgs);
148 }
149 return super.eInverseRemove(otherEnd, featureID, msgs);
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 @Override
158 public Object eGet(int featureID, boolean resolve, boolean coreType) {
159 switch (featureID) {
160 case LogicproblemPackage.FUNCTION_ANNOTATION__TARGET:
161 if (resolve) return getTarget();
162 return basicGetTarget();
163 }
164 return super.eGet(featureID, resolve, coreType);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public void eSet(int featureID, Object newValue) {
174 switch (featureID) {
175 case LogicproblemPackage.FUNCTION_ANNOTATION__TARGET:
176 setTarget((Function)newValue);
177 return;
178 }
179 super.eSet(featureID, newValue);
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @Override
188 public void eUnset(int featureID) {
189 switch (featureID) {
190 case LogicproblemPackage.FUNCTION_ANNOTATION__TARGET:
191 setTarget((Function)null);
192 return;
193 }
194 super.eUnset(featureID);
195 }
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 @Override
203 public boolean eIsSet(int featureID) {
204 switch (featureID) {
205 case LogicproblemPackage.FUNCTION_ANNOTATION__TARGET:
206 return target != null;
207 }
208 return super.eIsSet(featureID);
209 }
210
211} //FunctionAnnotationImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/LogicProblemImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/LogicProblemImpl.java
new file mode 100644
index 00000000..70b31163
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/LogicProblemImpl.java
@@ -0,0 +1,411 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function;
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation;
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type;
11import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation;
12import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy;
13import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
14import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
15
16import java.util.Collection;
17
18import org.eclipse.emf.common.notify.NotificationChain;
19
20import org.eclipse.emf.common.util.EList;
21
22import org.eclipse.emf.ecore.EClass;
23import org.eclipse.emf.ecore.InternalEObject;
24
25import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
26
27import org.eclipse.emf.ecore.util.EObjectContainmentEList;
28import org.eclipse.emf.ecore.util.InternalEList;
29
30/**
31 * <!-- begin-user-doc -->
32 * An implementation of the model object '<em><b>Logic Problem</b></em>'.
33 * <!-- end-user-doc -->
34 * <p>
35 * The following features are implemented:
36 * </p>
37 * <ul>
38 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicProblemImpl#getTypes <em>Types</em>}</li>
39 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicProblemImpl#getFunctions <em>Functions</em>}</li>
40 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicProblemImpl#getAssertions <em>Assertions</em>}</li>
41 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicProblemImpl#getRelations <em>Relations</em>}</li>
42 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicProblemImpl#getConstants <em>Constants</em>}</li>
43 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicProblemImpl#getElements <em>Elements</em>}</li>
44 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicProblemImpl#getContainmentHierarchies <em>Containment Hierarchies</em>}</li>
45 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicProblemImpl#getAnnotations <em>Annotations</em>}</li>
46 * </ul>
47 *
48 * @generated
49 */
50public class LogicProblemImpl extends MinimalEObjectImpl.Container implements LogicProblem {
51 /**
52 * The cached value of the '{@link #getTypes() <em>Types</em>}' containment reference list.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getTypes()
56 * @generated
57 * @ordered
58 */
59 protected EList<Type> types;
60
61 /**
62 * The cached value of the '{@link #getFunctions() <em>Functions</em>}' containment reference list.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getFunctions()
66 * @generated
67 * @ordered
68 */
69 protected EList<Function> functions;
70
71 /**
72 * The cached value of the '{@link #getAssertions() <em>Assertions</em>}' containment reference list.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @see #getAssertions()
76 * @generated
77 * @ordered
78 */
79 protected EList<Assertion> assertions;
80
81 /**
82 * The cached value of the '{@link #getRelations() <em>Relations</em>}' containment reference list.
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @see #getRelations()
86 * @generated
87 * @ordered
88 */
89 protected EList<Relation> relations;
90
91 /**
92 * The cached value of the '{@link #getConstants() <em>Constants</em>}' containment reference list.
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @see #getConstants()
96 * @generated
97 * @ordered
98 */
99 protected EList<Constant> constants;
100
101 /**
102 * The cached value of the '{@link #getElements() <em>Elements</em>}' containment reference list.
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @see #getElements()
106 * @generated
107 * @ordered
108 */
109 protected EList<DefinedElement> elements;
110
111 /**
112 * The cached value of the '{@link #getContainmentHierarchies() <em>Containment Hierarchies</em>}' containment reference list.
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @see #getContainmentHierarchies()
116 * @generated
117 * @ordered
118 */
119 protected EList<ContainmentHierarchy> containmentHierarchies;
120
121 /**
122 * The cached value of the '{@link #getAnnotations() <em>Annotations</em>}' containment reference list.
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @see #getAnnotations()
126 * @generated
127 * @ordered
128 */
129 protected EList<Annotation> annotations;
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 protected LogicProblemImpl() {
137 super();
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 @Override
146 protected EClass eStaticClass() {
147 return LogicproblemPackage.Literals.LOGIC_PROBLEM;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public EList<Type> getTypes() {
156 if (types == null) {
157 types = new EObjectContainmentEList<Type>(Type.class, this, LogicproblemPackage.LOGIC_PROBLEM__TYPES);
158 }
159 return types;
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 public EList<Function> getFunctions() {
168 if (functions == null) {
169 functions = new EObjectContainmentEList<Function>(Function.class, this, LogicproblemPackage.LOGIC_PROBLEM__FUNCTIONS);
170 }
171 return functions;
172 }
173
174 /**
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 */
179 public EList<Assertion> getAssertions() {
180 if (assertions == null) {
181 assertions = new EObjectContainmentEList<Assertion>(Assertion.class, this, LogicproblemPackage.LOGIC_PROBLEM__ASSERTIONS);
182 }
183 return assertions;
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 public EList<Relation> getRelations() {
192 if (relations == null) {
193 relations = new EObjectContainmentEList<Relation>(Relation.class, this, LogicproblemPackage.LOGIC_PROBLEM__RELATIONS);
194 }
195 return relations;
196 }
197
198 /**
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated
202 */
203 public EList<Constant> getConstants() {
204 if (constants == null) {
205 constants = new EObjectContainmentEList<Constant>(Constant.class, this, LogicproblemPackage.LOGIC_PROBLEM__CONSTANTS);
206 }
207 return constants;
208 }
209
210 /**
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @generated
214 */
215 public EList<DefinedElement> getElements() {
216 if (elements == null) {
217 elements = new EObjectContainmentEList<DefinedElement>(DefinedElement.class, this, LogicproblemPackage.LOGIC_PROBLEM__ELEMENTS);
218 }
219 return elements;
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 public EList<ContainmentHierarchy> getContainmentHierarchies() {
228 if (containmentHierarchies == null) {
229 containmentHierarchies = new EObjectContainmentEList<ContainmentHierarchy>(ContainmentHierarchy.class, this, LogicproblemPackage.LOGIC_PROBLEM__CONTAINMENT_HIERARCHIES);
230 }
231 return containmentHierarchies;
232 }
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 public EList<Annotation> getAnnotations() {
240 if (annotations == null) {
241 annotations = new EObjectContainmentEList<Annotation>(Annotation.class, this, LogicproblemPackage.LOGIC_PROBLEM__ANNOTATIONS);
242 }
243 return annotations;
244 }
245
246 /**
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 */
251 @Override
252 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
253 switch (featureID) {
254 case LogicproblemPackage.LOGIC_PROBLEM__TYPES:
255 return ((InternalEList<?>)getTypes()).basicRemove(otherEnd, msgs);
256 case LogicproblemPackage.LOGIC_PROBLEM__FUNCTIONS:
257 return ((InternalEList<?>)getFunctions()).basicRemove(otherEnd, msgs);
258 case LogicproblemPackage.LOGIC_PROBLEM__ASSERTIONS:
259 return ((InternalEList<?>)getAssertions()).basicRemove(otherEnd, msgs);
260 case LogicproblemPackage.LOGIC_PROBLEM__RELATIONS:
261 return ((InternalEList<?>)getRelations()).basicRemove(otherEnd, msgs);
262 case LogicproblemPackage.LOGIC_PROBLEM__CONSTANTS:
263 return ((InternalEList<?>)getConstants()).basicRemove(otherEnd, msgs);
264 case LogicproblemPackage.LOGIC_PROBLEM__ELEMENTS:
265 return ((InternalEList<?>)getElements()).basicRemove(otherEnd, msgs);
266 case LogicproblemPackage.LOGIC_PROBLEM__CONTAINMENT_HIERARCHIES:
267 return ((InternalEList<?>)getContainmentHierarchies()).basicRemove(otherEnd, msgs);
268 case LogicproblemPackage.LOGIC_PROBLEM__ANNOTATIONS:
269 return ((InternalEList<?>)getAnnotations()).basicRemove(otherEnd, msgs);
270 }
271 return super.eInverseRemove(otherEnd, featureID, msgs);
272 }
273
274 /**
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @generated
278 */
279 @Override
280 public Object eGet(int featureID, boolean resolve, boolean coreType) {
281 switch (featureID) {
282 case LogicproblemPackage.LOGIC_PROBLEM__TYPES:
283 return getTypes();
284 case LogicproblemPackage.LOGIC_PROBLEM__FUNCTIONS:
285 return getFunctions();
286 case LogicproblemPackage.LOGIC_PROBLEM__ASSERTIONS:
287 return getAssertions();
288 case LogicproblemPackage.LOGIC_PROBLEM__RELATIONS:
289 return getRelations();
290 case LogicproblemPackage.LOGIC_PROBLEM__CONSTANTS:
291 return getConstants();
292 case LogicproblemPackage.LOGIC_PROBLEM__ELEMENTS:
293 return getElements();
294 case LogicproblemPackage.LOGIC_PROBLEM__CONTAINMENT_HIERARCHIES:
295 return getContainmentHierarchies();
296 case LogicproblemPackage.LOGIC_PROBLEM__ANNOTATIONS:
297 return getAnnotations();
298 }
299 return super.eGet(featureID, resolve, coreType);
300 }
301
302 /**
303 * <!-- begin-user-doc -->
304 * <!-- end-user-doc -->
305 * @generated
306 */
307 @SuppressWarnings("unchecked")
308 @Override
309 public void eSet(int featureID, Object newValue) {
310 switch (featureID) {
311 case LogicproblemPackage.LOGIC_PROBLEM__TYPES:
312 getTypes().clear();
313 getTypes().addAll((Collection<? extends Type>)newValue);
314 return;
315 case LogicproblemPackage.LOGIC_PROBLEM__FUNCTIONS:
316 getFunctions().clear();
317 getFunctions().addAll((Collection<? extends Function>)newValue);
318 return;
319 case LogicproblemPackage.LOGIC_PROBLEM__ASSERTIONS:
320 getAssertions().clear();
321 getAssertions().addAll((Collection<? extends Assertion>)newValue);
322 return;
323 case LogicproblemPackage.LOGIC_PROBLEM__RELATIONS:
324 getRelations().clear();
325 getRelations().addAll((Collection<? extends Relation>)newValue);
326 return;
327 case LogicproblemPackage.LOGIC_PROBLEM__CONSTANTS:
328 getConstants().clear();
329 getConstants().addAll((Collection<? extends Constant>)newValue);
330 return;
331 case LogicproblemPackage.LOGIC_PROBLEM__ELEMENTS:
332 getElements().clear();
333 getElements().addAll((Collection<? extends DefinedElement>)newValue);
334 return;
335 case LogicproblemPackage.LOGIC_PROBLEM__CONTAINMENT_HIERARCHIES:
336 getContainmentHierarchies().clear();
337 getContainmentHierarchies().addAll((Collection<? extends ContainmentHierarchy>)newValue);
338 return;
339 case LogicproblemPackage.LOGIC_PROBLEM__ANNOTATIONS:
340 getAnnotations().clear();
341 getAnnotations().addAll((Collection<? extends Annotation>)newValue);
342 return;
343 }
344 super.eSet(featureID, newValue);
345 }
346
347 /**
348 * <!-- begin-user-doc -->
349 * <!-- end-user-doc -->
350 * @generated
351 */
352 @Override
353 public void eUnset(int featureID) {
354 switch (featureID) {
355 case LogicproblemPackage.LOGIC_PROBLEM__TYPES:
356 getTypes().clear();
357 return;
358 case LogicproblemPackage.LOGIC_PROBLEM__FUNCTIONS:
359 getFunctions().clear();
360 return;
361 case LogicproblemPackage.LOGIC_PROBLEM__ASSERTIONS:
362 getAssertions().clear();
363 return;
364 case LogicproblemPackage.LOGIC_PROBLEM__RELATIONS:
365 getRelations().clear();
366 return;
367 case LogicproblemPackage.LOGIC_PROBLEM__CONSTANTS:
368 getConstants().clear();
369 return;
370 case LogicproblemPackage.LOGIC_PROBLEM__ELEMENTS:
371 getElements().clear();
372 return;
373 case LogicproblemPackage.LOGIC_PROBLEM__CONTAINMENT_HIERARCHIES:
374 getContainmentHierarchies().clear();
375 return;
376 case LogicproblemPackage.LOGIC_PROBLEM__ANNOTATIONS:
377 getAnnotations().clear();
378 return;
379 }
380 super.eUnset(featureID);
381 }
382
383 /**
384 * <!-- begin-user-doc -->
385 * <!-- end-user-doc -->
386 * @generated
387 */
388 @Override
389 public boolean eIsSet(int featureID) {
390 switch (featureID) {
391 case LogicproblemPackage.LOGIC_PROBLEM__TYPES:
392 return types != null && !types.isEmpty();
393 case LogicproblemPackage.LOGIC_PROBLEM__FUNCTIONS:
394 return functions != null && !functions.isEmpty();
395 case LogicproblemPackage.LOGIC_PROBLEM__ASSERTIONS:
396 return assertions != null && !assertions.isEmpty();
397 case LogicproblemPackage.LOGIC_PROBLEM__RELATIONS:
398 return relations != null && !relations.isEmpty();
399 case LogicproblemPackage.LOGIC_PROBLEM__CONSTANTS:
400 return constants != null && !constants.isEmpty();
401 case LogicproblemPackage.LOGIC_PROBLEM__ELEMENTS:
402 return elements != null && !elements.isEmpty();
403 case LogicproblemPackage.LOGIC_PROBLEM__CONTAINMENT_HIERARCHIES:
404 return containmentHierarchies != null && !containmentHierarchies.isEmpty();
405 case LogicproblemPackage.LOGIC_PROBLEM__ANNOTATIONS:
406 return annotations != null && !annotations.isEmpty();
407 }
408 return super.eIsSet(featureID);
409 }
410
411} //LogicProblemImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/LogicproblemFactoryImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/LogicproblemFactoryImpl.java
new file mode 100644
index 00000000..66a8f116
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/LogicproblemFactoryImpl.java
@@ -0,0 +1,161 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.*;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage;
10
11import org.eclipse.emf.ecore.impl.EFactoryImpl;
12
13import org.eclipse.emf.ecore.plugin.EcorePlugin;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model <b>Factory</b>.
18 * <!-- end-user-doc -->
19 * @generated
20 */
21public class LogicproblemFactoryImpl extends EFactoryImpl implements LogicproblemFactory {
22 /**
23 * Creates the default factory implementation.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @generated
27 */
28 public static LogicproblemFactory init() {
29 try {
30 LogicproblemFactory theLogicproblemFactory = (LogicproblemFactory)EPackage.Registry.INSTANCE.getEFactory(LogicproblemPackage.eNS_URI);
31 if (theLogicproblemFactory != null) {
32 return theLogicproblemFactory;
33 }
34 }
35 catch (Exception exception) {
36 EcorePlugin.INSTANCE.log(exception);
37 }
38 return new LogicproblemFactoryImpl();
39 }
40
41 /**
42 * Creates an instance of the factory.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 public LogicproblemFactoryImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 public EObject create(EClass eClass) {
58 switch (eClass.getClassifierID()) {
59 case LogicproblemPackage.LOGIC_PROBLEM: return createLogicProblem();
60 case LogicproblemPackage.CONTAINMENT_HIERARCHY: return createContainmentHierarchy();
61 case LogicproblemPackage.RELATION_ANNOTATION: return createRelationAnnotation();
62 case LogicproblemPackage.CONSTANT_ANNOTATION: return createConstantAnnotation();
63 case LogicproblemPackage.FUNCTION_ANNOTATION: return createFunctionAnnotation();
64 case LogicproblemPackage.ASSERTION_ANNOTATION: return createAssertionAnnotation();
65 case LogicproblemPackage.ANNOTATION: return createAnnotation();
66 default:
67 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
68 }
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public LogicProblem createLogicProblem() {
77 LogicProblemImpl logicProblem = new LogicProblemImpl();
78 return logicProblem;
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 public ContainmentHierarchy createContainmentHierarchy() {
87 ContainmentHierarchyImpl containmentHierarchy = new ContainmentHierarchyImpl();
88 return containmentHierarchy;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 public RelationAnnotation createRelationAnnotation() {
97 RelationAnnotationImpl relationAnnotation = new RelationAnnotationImpl();
98 return relationAnnotation;
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 public ConstantAnnotation createConstantAnnotation() {
107 ConstantAnnotationImpl constantAnnotation = new ConstantAnnotationImpl();
108 return constantAnnotation;
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 public FunctionAnnotation createFunctionAnnotation() {
117 FunctionAnnotationImpl functionAnnotation = new FunctionAnnotationImpl();
118 return functionAnnotation;
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 public AssertionAnnotation createAssertionAnnotation() {
127 AssertionAnnotationImpl assertionAnnotation = new AssertionAnnotationImpl();
128 return assertionAnnotation;
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 public Annotation createAnnotation() {
137 AnnotationImpl annotation = new AnnotationImpl();
138 return annotation;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 public LogicproblemPackage getLogicproblemPackage() {
147 return (LogicproblemPackage)getEPackage();
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @deprecated
154 * @generated
155 */
156 @Deprecated
157 public static LogicproblemPackage getPackage() {
158 return LogicproblemPackage.eINSTANCE;
159 }
160
161} //LogicproblemFactoryImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/LogicproblemPackageImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/LogicproblemPackageImpl.java
new file mode 100644
index 00000000..1dd429e7
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/LogicproblemPackageImpl.java
@@ -0,0 +1,490 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl;
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation;
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation;
10import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ConstantAnnotation;
11import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy;
12import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.FunctionAnnotation;
13import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
14import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemFactory;
15import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
16
17import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation;
18import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage;
19
20import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl;
21
22import org.eclipse.emf.ecore.EClass;
23import org.eclipse.emf.ecore.EPackage;
24import org.eclipse.emf.ecore.EReference;
25
26import org.eclipse.emf.ecore.impl.EPackageImpl;
27
28/**
29 * <!-- begin-user-doc -->
30 * An implementation of the model <b>Package</b>.
31 * <!-- end-user-doc -->
32 * @generated
33 */
34public class LogicproblemPackageImpl extends EPackageImpl implements LogicproblemPackage {
35 /**
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 private EClass logicProblemEClass = null;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 private EClass containmentHierarchyEClass = null;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 private EClass relationAnnotationEClass = null;
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 private EClass constantAnnotationEClass = null;
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 private EClass functionAnnotationEClass = null;
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 private EClass assertionAnnotationEClass = null;
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 private EClass annotationEClass = null;
83
84 /**
85 * Creates an instance of the model <b>Package</b>, registered with
86 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
87 * package URI value.
88 * <p>Note: the correct way to create the package is via the static
89 * factory method {@link #init init()}, which also performs
90 * initialization of the package, or returns the registered package,
91 * if one already exists.
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @see org.eclipse.emf.ecore.EPackage.Registry
95 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage#eNS_URI
96 * @see #init()
97 * @generated
98 */
99 private LogicproblemPackageImpl() {
100 super(eNS_URI, LogicproblemFactory.eINSTANCE);
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 private static boolean isInited = false;
109
110 /**
111 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
112 *
113 * <p>This method is used to initialize {@link LogicproblemPackage#eINSTANCE} when that field is accessed.
114 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @see #eNS_URI
118 * @see #createPackageContents()
119 * @see #initializePackageContents()
120 * @generated
121 */
122 public static LogicproblemPackage init() {
123 if (isInited) return (LogicproblemPackage)EPackage.Registry.INSTANCE.getEPackage(LogicproblemPackage.eNS_URI);
124
125 // Obtain or create and register package
126 LogicproblemPackageImpl theLogicproblemPackage = (LogicproblemPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof LogicproblemPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new LogicproblemPackageImpl());
127
128 isInited = true;
129
130 // Obtain or create and register interdependencies
131 LogiclanguagePackageImpl theLogiclanguagePackage = (LogiclanguagePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(LogiclanguagePackage.eNS_URI) instanceof LogiclanguagePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(LogiclanguagePackage.eNS_URI) : LogiclanguagePackage.eINSTANCE);
132 LogicresultPackageImpl theLogicresultPackage = (LogicresultPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(LogicresultPackage.eNS_URI) instanceof LogicresultPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(LogicresultPackage.eNS_URI) : LogicresultPackage.eINSTANCE);
133
134 // Create package meta-data objects
135 theLogicproblemPackage.createPackageContents();
136 theLogiclanguagePackage.createPackageContents();
137 theLogicresultPackage.createPackageContents();
138
139 // Initialize created meta-data
140 theLogicproblemPackage.initializePackageContents();
141 theLogiclanguagePackage.initializePackageContents();
142 theLogicresultPackage.initializePackageContents();
143
144 // Mark meta-data to indicate it can't be changed
145 theLogicproblemPackage.freeze();
146
147
148 // Update the registry and return the package
149 EPackage.Registry.INSTANCE.put(LogicproblemPackage.eNS_URI, theLogicproblemPackage);
150 return theLogicproblemPackage;
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 public EClass getLogicProblem() {
159 return logicProblemEClass;
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 public EReference getLogicProblem_Types() {
168 return (EReference)logicProblemEClass.getEStructuralFeatures().get(0);
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 public EReference getLogicProblem_Functions() {
177 return (EReference)logicProblemEClass.getEStructuralFeatures().get(1);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 public EReference getLogicProblem_Assertions() {
186 return (EReference)logicProblemEClass.getEStructuralFeatures().get(2);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 public EReference getLogicProblem_Relations() {
195 return (EReference)logicProblemEClass.getEStructuralFeatures().get(3);
196 }
197
198 /**
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated
202 */
203 public EReference getLogicProblem_Constants() {
204 return (EReference)logicProblemEClass.getEStructuralFeatures().get(4);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 public EReference getLogicProblem_Elements() {
213 return (EReference)logicProblemEClass.getEStructuralFeatures().get(5);
214 }
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 public EReference getLogicProblem_ContainmentHierarchies() {
222 return (EReference)logicProblemEClass.getEStructuralFeatures().get(6);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 public EReference getLogicProblem_Annotations() {
231 return (EReference)logicProblemEClass.getEStructuralFeatures().get(7);
232 }
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 public EClass getContainmentHierarchy() {
240 return containmentHierarchyEClass;
241 }
242
243 /**
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @generated
247 */
248 public EReference getContainmentHierarchy_TypesOrderedInHierarchy() {
249 return (EReference)containmentHierarchyEClass.getEStructuralFeatures().get(0);
250 }
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 public EReference getContainmentHierarchy_ContainmentFunctions() {
258 return (EReference)containmentHierarchyEClass.getEStructuralFeatures().get(1);
259 }
260
261 /**
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @generated
265 */
266 public EReference getContainmentHierarchy_ContainmentRelations() {
267 return (EReference)containmentHierarchyEClass.getEStructuralFeatures().get(2);
268 }
269
270 /**
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @generated
274 */
275 public EReference getContainmentHierarchy_RootConstant() {
276 return (EReference)containmentHierarchyEClass.getEStructuralFeatures().get(3);
277 }
278
279 /**
280 * <!-- begin-user-doc -->
281 * <!-- end-user-doc -->
282 * @generated
283 */
284 public EClass getRelationAnnotation() {
285 return relationAnnotationEClass;
286 }
287
288 /**
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @generated
292 */
293 public EReference getRelationAnnotation_Target() {
294 return (EReference)relationAnnotationEClass.getEStructuralFeatures().get(0);
295 }
296
297 /**
298 * <!-- begin-user-doc -->
299 * <!-- end-user-doc -->
300 * @generated
301 */
302 public EClass getConstantAnnotation() {
303 return constantAnnotationEClass;
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 public EReference getConstantAnnotation_Target() {
312 return (EReference)constantAnnotationEClass.getEStructuralFeatures().get(0);
313 }
314
315 /**
316 * <!-- begin-user-doc -->
317 * <!-- end-user-doc -->
318 * @generated
319 */
320 public EClass getFunctionAnnotation() {
321 return functionAnnotationEClass;
322 }
323
324 /**
325 * <!-- begin-user-doc -->
326 * <!-- end-user-doc -->
327 * @generated
328 */
329 public EReference getFunctionAnnotation_Target() {
330 return (EReference)functionAnnotationEClass.getEStructuralFeatures().get(0);
331 }
332
333 /**
334 * <!-- begin-user-doc -->
335 * <!-- end-user-doc -->
336 * @generated
337 */
338 public EClass getAssertionAnnotation() {
339 return assertionAnnotationEClass;
340 }
341
342 /**
343 * <!-- begin-user-doc -->
344 * <!-- end-user-doc -->
345 * @generated
346 */
347 public EReference getAssertionAnnotation_Target() {
348 return (EReference)assertionAnnotationEClass.getEStructuralFeatures().get(0);
349 }
350
351 /**
352 * <!-- begin-user-doc -->
353 * <!-- end-user-doc -->
354 * @generated
355 */
356 public EClass getAnnotation() {
357 return annotationEClass;
358 }
359
360 /**
361 * <!-- begin-user-doc -->
362 * <!-- end-user-doc -->
363 * @generated
364 */
365 public LogicproblemFactory getLogicproblemFactory() {
366 return (LogicproblemFactory)getEFactoryInstance();
367 }
368
369 /**
370 * <!-- begin-user-doc -->
371 * <!-- end-user-doc -->
372 * @generated
373 */
374 private boolean isCreated = false;
375
376 /**
377 * Creates the meta-model objects for the package. This method is
378 * guarded to have no affect on any invocation but its first.
379 * <!-- begin-user-doc -->
380 * <!-- end-user-doc -->
381 * @generated
382 */
383 public void createPackageContents() {
384 if (isCreated) return;
385 isCreated = true;
386
387 // Create classes and their features
388 logicProblemEClass = createEClass(LOGIC_PROBLEM);
389 createEReference(logicProblemEClass, LOGIC_PROBLEM__TYPES);
390 createEReference(logicProblemEClass, LOGIC_PROBLEM__FUNCTIONS);
391 createEReference(logicProblemEClass, LOGIC_PROBLEM__ASSERTIONS);
392 createEReference(logicProblemEClass, LOGIC_PROBLEM__RELATIONS);
393 createEReference(logicProblemEClass, LOGIC_PROBLEM__CONSTANTS);
394 createEReference(logicProblemEClass, LOGIC_PROBLEM__ELEMENTS);
395 createEReference(logicProblemEClass, LOGIC_PROBLEM__CONTAINMENT_HIERARCHIES);
396 createEReference(logicProblemEClass, LOGIC_PROBLEM__ANNOTATIONS);
397
398 containmentHierarchyEClass = createEClass(CONTAINMENT_HIERARCHY);
399 createEReference(containmentHierarchyEClass, CONTAINMENT_HIERARCHY__TYPES_ORDERED_IN_HIERARCHY);
400 createEReference(containmentHierarchyEClass, CONTAINMENT_HIERARCHY__CONTAINMENT_FUNCTIONS);
401 createEReference(containmentHierarchyEClass, CONTAINMENT_HIERARCHY__CONTAINMENT_RELATIONS);
402 createEReference(containmentHierarchyEClass, CONTAINMENT_HIERARCHY__ROOT_CONSTANT);
403
404 relationAnnotationEClass = createEClass(RELATION_ANNOTATION);
405 createEReference(relationAnnotationEClass, RELATION_ANNOTATION__TARGET);
406
407 constantAnnotationEClass = createEClass(CONSTANT_ANNOTATION);
408 createEReference(constantAnnotationEClass, CONSTANT_ANNOTATION__TARGET);
409
410 functionAnnotationEClass = createEClass(FUNCTION_ANNOTATION);
411 createEReference(functionAnnotationEClass, FUNCTION_ANNOTATION__TARGET);
412
413 assertionAnnotationEClass = createEClass(ASSERTION_ANNOTATION);
414 createEReference(assertionAnnotationEClass, ASSERTION_ANNOTATION__TARGET);
415
416 annotationEClass = createEClass(ANNOTATION);
417 }
418
419 /**
420 * <!-- begin-user-doc -->
421 * <!-- end-user-doc -->
422 * @generated
423 */
424 private boolean isInitialized = false;
425
426 /**
427 * Complete the initialization of the package and its meta-model. This
428 * method is guarded to have no affect on any invocation but its first.
429 * <!-- begin-user-doc -->
430 * <!-- end-user-doc -->
431 * @generated
432 */
433 public void initializePackageContents() {
434 if (isInitialized) return;
435 isInitialized = true;
436
437 // Initialize package
438 setName(eNAME);
439 setNsPrefix(eNS_PREFIX);
440 setNsURI(eNS_URI);
441
442 // Obtain other dependent packages
443 LogiclanguagePackage theLogiclanguagePackage = (LogiclanguagePackage)EPackage.Registry.INSTANCE.getEPackage(LogiclanguagePackage.eNS_URI);
444
445 // Create type parameters
446
447 // Set bounds for type parameters
448
449 // Add supertypes to classes
450 relationAnnotationEClass.getESuperTypes().add(this.getAnnotation());
451 constantAnnotationEClass.getESuperTypes().add(this.getAnnotation());
452 functionAnnotationEClass.getESuperTypes().add(this.getAnnotation());
453 assertionAnnotationEClass.getESuperTypes().add(this.getAnnotation());
454
455 // Initialize classes, features, and operations; add parameters
456 initEClass(logicProblemEClass, LogicProblem.class, "LogicProblem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
457 initEReference(getLogicProblem_Types(), theLogiclanguagePackage.getType(), null, "types", null, 0, -1, LogicProblem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
458 initEReference(getLogicProblem_Functions(), theLogiclanguagePackage.getFunction(), null, "functions", null, 0, -1, LogicProblem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
459 initEReference(getLogicProblem_Assertions(), theLogiclanguagePackage.getAssertion(), null, "assertions", null, 0, -1, LogicProblem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
460 initEReference(getLogicProblem_Relations(), theLogiclanguagePackage.getRelation(), null, "relations", null, 0, -1, LogicProblem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
461 initEReference(getLogicProblem_Constants(), theLogiclanguagePackage.getConstant(), null, "constants", null, 0, -1, LogicProblem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
462 initEReference(getLogicProblem_Elements(), theLogiclanguagePackage.getDefinedElement(), null, "elements", null, 0, -1, LogicProblem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
463 initEReference(getLogicProblem_ContainmentHierarchies(), this.getContainmentHierarchy(), null, "containmentHierarchies", null, 0, -1, LogicProblem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
464 initEReference(getLogicProblem_Annotations(), this.getAnnotation(), null, "annotations", null, 0, -1, LogicProblem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
465
466 initEClass(containmentHierarchyEClass, ContainmentHierarchy.class, "ContainmentHierarchy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
467 initEReference(getContainmentHierarchy_TypesOrderedInHierarchy(), theLogiclanguagePackage.getType(), null, "typesOrderedInHierarchy", null, 0, -1, ContainmentHierarchy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
468 initEReference(getContainmentHierarchy_ContainmentFunctions(), theLogiclanguagePackage.getFunction(), null, "containmentFunctions", null, 0, -1, ContainmentHierarchy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
469 initEReference(getContainmentHierarchy_ContainmentRelations(), theLogiclanguagePackage.getRelation(), null, "containmentRelations", null, 0, -1, ContainmentHierarchy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
470 initEReference(getContainmentHierarchy_RootConstant(), theLogiclanguagePackage.getConstant(), null, "rootConstant", null, 0, 1, ContainmentHierarchy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
471
472 initEClass(relationAnnotationEClass, RelationAnnotation.class, "RelationAnnotation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
473 initEReference(getRelationAnnotation_Target(), theLogiclanguagePackage.getRelation(), theLogiclanguagePackage.getRelation_Annotations(), "target", null, 1, 1, RelationAnnotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
474
475 initEClass(constantAnnotationEClass, ConstantAnnotation.class, "ConstantAnnotation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
476 initEReference(getConstantAnnotation_Target(), theLogiclanguagePackage.getConstant(), theLogiclanguagePackage.getConstant_Annotations(), "target", null, 1, 1, ConstantAnnotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
477
478 initEClass(functionAnnotationEClass, FunctionAnnotation.class, "FunctionAnnotation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
479 initEReference(getFunctionAnnotation_Target(), theLogiclanguagePackage.getFunction(), theLogiclanguagePackage.getFunction_Annotations(), "target", null, 1, 1, FunctionAnnotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
480
481 initEClass(assertionAnnotationEClass, AssertionAnnotation.class, "AssertionAnnotation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
482 initEReference(getAssertionAnnotation_Target(), theLogiclanguagePackage.getAssertion(), theLogiclanguagePackage.getAssertion_Annotations(), "target", null, 1, 1, AssertionAnnotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
483
484 initEClass(annotationEClass, Annotation.class, "Annotation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
485
486 // Create resource
487 createResource(eNS_URI);
488 }
489
490} //LogicproblemPackageImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/RelationAnnotationImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/RelationAnnotationImpl.java
new file mode 100644
index 00000000..23fb6e5d
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/impl/RelationAnnotationImpl.java
@@ -0,0 +1,211 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation;
7
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation;
10
11import org.eclipse.emf.common.notify.Notification;
12
13import org.eclipse.emf.common.notify.NotificationChain;
14import org.eclipse.emf.ecore.EClass;
15import org.eclipse.emf.ecore.InternalEObject;
16
17import org.eclipse.emf.ecore.impl.ENotificationImpl;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Relation Annotation</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.RelationAnnotationImpl#getTarget <em>Target</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class RelationAnnotationImpl extends AnnotationImpl implements RelationAnnotation {
33 /**
34 * The cached value of the '{@link #getTarget() <em>Target</em>}' reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getTarget()
38 * @generated
39 * @ordered
40 */
41 protected Relation target;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 protected RelationAnnotationImpl() {
49 super();
50 }
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 @Override
58 protected EClass eStaticClass() {
59 return LogicproblemPackage.Literals.RELATION_ANNOTATION;
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 public Relation getTarget() {
68 if (target != null && target.eIsProxy()) {
69 InternalEObject oldTarget = (InternalEObject)target;
70 target = (Relation)eResolveProxy(oldTarget);
71 if (target != oldTarget) {
72 if (eNotificationRequired())
73 eNotify(new ENotificationImpl(this, Notification.RESOLVE, LogicproblemPackage.RELATION_ANNOTATION__TARGET, oldTarget, target));
74 }
75 }
76 return target;
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 public Relation basicGetTarget() {
85 return target;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public NotificationChain basicSetTarget(Relation newTarget, NotificationChain msgs) {
94 Relation oldTarget = target;
95 target = newTarget;
96 if (eNotificationRequired()) {
97 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogicproblemPackage.RELATION_ANNOTATION__TARGET, oldTarget, newTarget);
98 if (msgs == null) msgs = notification; else msgs.add(notification);
99 }
100 return msgs;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 public void setTarget(Relation newTarget) {
109 if (newTarget != target) {
110 NotificationChain msgs = null;
111 if (target != null)
112 msgs = ((InternalEObject)target).eInverseRemove(this, LogiclanguagePackage.RELATION__ANNOTATIONS, Relation.class, msgs);
113 if (newTarget != null)
114 msgs = ((InternalEObject)newTarget).eInverseAdd(this, LogiclanguagePackage.RELATION__ANNOTATIONS, Relation.class, msgs);
115 msgs = basicSetTarget(newTarget, msgs);
116 if (msgs != null) msgs.dispatch();
117 }
118 else if (eNotificationRequired())
119 eNotify(new ENotificationImpl(this, Notification.SET, LogicproblemPackage.RELATION_ANNOTATION__TARGET, newTarget, newTarget));
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
129 switch (featureID) {
130 case LogicproblemPackage.RELATION_ANNOTATION__TARGET:
131 if (target != null)
132 msgs = ((InternalEObject)target).eInverseRemove(this, LogiclanguagePackage.RELATION__ANNOTATIONS, Relation.class, msgs);
133 return basicSetTarget((Relation)otherEnd, msgs);
134 }
135 return super.eInverseAdd(otherEnd, featureID, msgs);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
145 switch (featureID) {
146 case LogicproblemPackage.RELATION_ANNOTATION__TARGET:
147 return basicSetTarget(null, msgs);
148 }
149 return super.eInverseRemove(otherEnd, featureID, msgs);
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 @Override
158 public Object eGet(int featureID, boolean resolve, boolean coreType) {
159 switch (featureID) {
160 case LogicproblemPackage.RELATION_ANNOTATION__TARGET:
161 if (resolve) return getTarget();
162 return basicGetTarget();
163 }
164 return super.eGet(featureID, resolve, coreType);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public void eSet(int featureID, Object newValue) {
174 switch (featureID) {
175 case LogicproblemPackage.RELATION_ANNOTATION__TARGET:
176 setTarget((Relation)newValue);
177 return;
178 }
179 super.eSet(featureID, newValue);
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @Override
188 public void eUnset(int featureID) {
189 switch (featureID) {
190 case LogicproblemPackage.RELATION_ANNOTATION__TARGET:
191 setTarget((Relation)null);
192 return;
193 }
194 super.eUnset(featureID);
195 }
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 @Override
203 public boolean eIsSet(int featureID) {
204 switch (featureID) {
205 case LogicproblemPackage.RELATION_ANNOTATION__TARGET:
206 return target != null;
207 }
208 return super.eIsSet(featureID);
209 }
210
211} //RelationAnnotationImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/util/LogicproblemAdapterFactory.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/util/LogicproblemAdapterFactory.java
new file mode 100644
index 00000000..568a625c
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/util/LogicproblemAdapterFactory.java
@@ -0,0 +1,228 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.util;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.*;
6
7import org.eclipse.emf.common.notify.Adapter;
8import org.eclipse.emf.common.notify.Notifier;
9
10import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
11
12import org.eclipse.emf.ecore.EObject;
13
14/**
15 * <!-- begin-user-doc -->
16 * The <b>Adapter Factory</b> for the model.
17 * It provides an adapter <code>createXXX</code> method for each class of the model.
18 * <!-- end-user-doc -->
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage
20 * @generated
21 */
22public class LogicproblemAdapterFactory extends AdapterFactoryImpl {
23 /**
24 * The cached model package.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 protected static LogicproblemPackage modelPackage;
30
31 /**
32 * Creates an instance of the adapter factory.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 public LogicproblemAdapterFactory() {
38 if (modelPackage == null) {
39 modelPackage = LogicproblemPackage.eINSTANCE;
40 }
41 }
42
43 /**
44 * Returns whether this factory is applicable for the type of the object.
45 * <!-- begin-user-doc -->
46 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
47 * <!-- end-user-doc -->
48 * @return whether this factory is applicable for the type of the object.
49 * @generated
50 */
51 @Override
52 public boolean isFactoryForType(Object object) {
53 if (object == modelPackage) {
54 return true;
55 }
56 if (object instanceof EObject) {
57 return ((EObject)object).eClass().getEPackage() == modelPackage;
58 }
59 return false;
60 }
61
62 /**
63 * The switch that delegates to the <code>createXXX</code> methods.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected LogicproblemSwitch<Adapter> modelSwitch =
69 new LogicproblemSwitch<Adapter>() {
70 @Override
71 public Adapter caseLogicProblem(LogicProblem object) {
72 return createLogicProblemAdapter();
73 }
74 @Override
75 public Adapter caseContainmentHierarchy(ContainmentHierarchy object) {
76 return createContainmentHierarchyAdapter();
77 }
78 @Override
79 public Adapter caseRelationAnnotation(RelationAnnotation object) {
80 return createRelationAnnotationAdapter();
81 }
82 @Override
83 public Adapter caseConstantAnnotation(ConstantAnnotation object) {
84 return createConstantAnnotationAdapter();
85 }
86 @Override
87 public Adapter caseFunctionAnnotation(FunctionAnnotation object) {
88 return createFunctionAnnotationAdapter();
89 }
90 @Override
91 public Adapter caseAssertionAnnotation(AssertionAnnotation object) {
92 return createAssertionAnnotationAdapter();
93 }
94 @Override
95 public Adapter caseAnnotation(Annotation object) {
96 return createAnnotationAdapter();
97 }
98 @Override
99 public Adapter defaultCase(EObject object) {
100 return createEObjectAdapter();
101 }
102 };
103
104 /**
105 * Creates an adapter for the <code>target</code>.
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @param target the object to adapt.
109 * @return the adapter for the <code>target</code>.
110 * @generated
111 */
112 @Override
113 public Adapter createAdapter(Notifier target) {
114 return modelSwitch.doSwitch((EObject)target);
115 }
116
117
118 /**
119 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem <em>Logic Problem</em>}'.
120 * <!-- begin-user-doc -->
121 * This default implementation returns null so that we can easily ignore cases;
122 * it's useful to ignore a case when inheritance will catch all the cases anyway.
123 * <!-- end-user-doc -->
124 * @return the new adapter.
125 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
126 * @generated
127 */
128 public Adapter createLogicProblemAdapter() {
129 return null;
130 }
131
132 /**
133 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy <em>Containment Hierarchy</em>}'.
134 * <!-- begin-user-doc -->
135 * This default implementation returns null so that we can easily ignore cases;
136 * it's useful to ignore a case when inheritance will catch all the cases anyway.
137 * <!-- end-user-doc -->
138 * @return the new adapter.
139 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy
140 * @generated
141 */
142 public Adapter createContainmentHierarchyAdapter() {
143 return null;
144 }
145
146 /**
147 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation <em>Relation Annotation</em>}'.
148 * <!-- begin-user-doc -->
149 * This default implementation returns null so that we can easily ignore cases;
150 * it's useful to ignore a case when inheritance will catch all the cases anyway.
151 * <!-- end-user-doc -->
152 * @return the new adapter.
153 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation
154 * @generated
155 */
156 public Adapter createRelationAnnotationAdapter() {
157 return null;
158 }
159
160 /**
161 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ConstantAnnotation <em>Constant Annotation</em>}'.
162 * <!-- begin-user-doc -->
163 * This default implementation returns null so that we can easily ignore cases;
164 * it's useful to ignore a case when inheritance will catch all the cases anyway.
165 * <!-- end-user-doc -->
166 * @return the new adapter.
167 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ConstantAnnotation
168 * @generated
169 */
170 public Adapter createConstantAnnotationAdapter() {
171 return null;
172 }
173
174 /**
175 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.FunctionAnnotation <em>Function Annotation</em>}'.
176 * <!-- begin-user-doc -->
177 * This default implementation returns null so that we can easily ignore cases;
178 * it's useful to ignore a case when inheritance will catch all the cases anyway.
179 * <!-- end-user-doc -->
180 * @return the new adapter.
181 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.FunctionAnnotation
182 * @generated
183 */
184 public Adapter createFunctionAnnotationAdapter() {
185 return null;
186 }
187
188 /**
189 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation <em>Assertion Annotation</em>}'.
190 * <!-- begin-user-doc -->
191 * This default implementation returns null so that we can easily ignore cases;
192 * it's useful to ignore a case when inheritance will catch all the cases anyway.
193 * <!-- end-user-doc -->
194 * @return the new adapter.
195 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation
196 * @generated
197 */
198 public Adapter createAssertionAnnotationAdapter() {
199 return null;
200 }
201
202 /**
203 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation <em>Annotation</em>}'.
204 * <!-- begin-user-doc -->
205 * This default implementation returns null so that we can easily ignore cases;
206 * it's useful to ignore a case when inheritance will catch all the cases anyway.
207 * <!-- end-user-doc -->
208 * @return the new adapter.
209 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation
210 * @generated
211 */
212 public Adapter createAnnotationAdapter() {
213 return null;
214 }
215
216 /**
217 * Creates a new adapter for the default case.
218 * <!-- begin-user-doc -->
219 * This default implementation returns null.
220 * <!-- end-user-doc -->
221 * @return the new adapter.
222 * @generated
223 */
224 public Adapter createEObjectAdapter() {
225 return null;
226 }
227
228} //LogicproblemAdapterFactory
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/util/LogicproblemSwitch.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/util/LogicproblemSwitch.java
new file mode 100644
index 00000000..4a79b4a0
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicproblem/util/LogicproblemSwitch.java
@@ -0,0 +1,240 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.util;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.*;
6
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EPackage;
9
10import org.eclipse.emf.ecore.util.Switch;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Switch</b> for the model's inheritance hierarchy.
15 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
16 * to invoke the <code>caseXXX</code> method for each class of the model,
17 * starting with the actual class of the object
18 * and proceeding up the inheritance hierarchy
19 * until a non-null result is returned,
20 * which is the result of the switch.
21 * <!-- end-user-doc -->
22 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage
23 * @generated
24 */
25public class LogicproblemSwitch<T> extends Switch<T> {
26 /**
27 * The cached model package
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 protected static LogicproblemPackage modelPackage;
33
34 /**
35 * Creates an instance of the switch.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 public LogicproblemSwitch() {
41 if (modelPackage == null) {
42 modelPackage = LogicproblemPackage.eINSTANCE;
43 }
44 }
45
46 /**
47 * Checks whether this is a switch for the given package.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @param ePackage the package in question.
51 * @return whether this is a switch for the given package.
52 * @generated
53 */
54 @Override
55 protected boolean isSwitchFor(EPackage ePackage) {
56 return ePackage == modelPackage;
57 }
58
59 /**
60 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @return the first non-null result returned by a <code>caseXXX</code> call.
64 * @generated
65 */
66 @Override
67 protected T doSwitch(int classifierID, EObject theEObject) {
68 switch (classifierID) {
69 case LogicproblemPackage.LOGIC_PROBLEM: {
70 LogicProblem logicProblem = (LogicProblem)theEObject;
71 T result = caseLogicProblem(logicProblem);
72 if (result == null) result = defaultCase(theEObject);
73 return result;
74 }
75 case LogicproblemPackage.CONTAINMENT_HIERARCHY: {
76 ContainmentHierarchy containmentHierarchy = (ContainmentHierarchy)theEObject;
77 T result = caseContainmentHierarchy(containmentHierarchy);
78 if (result == null) result = defaultCase(theEObject);
79 return result;
80 }
81 case LogicproblemPackage.RELATION_ANNOTATION: {
82 RelationAnnotation relationAnnotation = (RelationAnnotation)theEObject;
83 T result = caseRelationAnnotation(relationAnnotation);
84 if (result == null) result = caseAnnotation(relationAnnotation);
85 if (result == null) result = defaultCase(theEObject);
86 return result;
87 }
88 case LogicproblemPackage.CONSTANT_ANNOTATION: {
89 ConstantAnnotation constantAnnotation = (ConstantAnnotation)theEObject;
90 T result = caseConstantAnnotation(constantAnnotation);
91 if (result == null) result = caseAnnotation(constantAnnotation);
92 if (result == null) result = defaultCase(theEObject);
93 return result;
94 }
95 case LogicproblemPackage.FUNCTION_ANNOTATION: {
96 FunctionAnnotation functionAnnotation = (FunctionAnnotation)theEObject;
97 T result = caseFunctionAnnotation(functionAnnotation);
98 if (result == null) result = caseAnnotation(functionAnnotation);
99 if (result == null) result = defaultCase(theEObject);
100 return result;
101 }
102 case LogicproblemPackage.ASSERTION_ANNOTATION: {
103 AssertionAnnotation assertionAnnotation = (AssertionAnnotation)theEObject;
104 T result = caseAssertionAnnotation(assertionAnnotation);
105 if (result == null) result = caseAnnotation(assertionAnnotation);
106 if (result == null) result = defaultCase(theEObject);
107 return result;
108 }
109 case LogicproblemPackage.ANNOTATION: {
110 Annotation annotation = (Annotation)theEObject;
111 T result = caseAnnotation(annotation);
112 if (result == null) result = defaultCase(theEObject);
113 return result;
114 }
115 default: return defaultCase(theEObject);
116 }
117 }
118
119 /**
120 * Returns the result of interpreting the object as an instance of '<em>Logic Problem</em>'.
121 * <!-- begin-user-doc -->
122 * This implementation returns null;
123 * returning a non-null result will terminate the switch.
124 * <!-- end-user-doc -->
125 * @param object the target of the switch.
126 * @return the result of interpreting the object as an instance of '<em>Logic Problem</em>'.
127 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
128 * @generated
129 */
130 public T caseLogicProblem(LogicProblem object) {
131 return null;
132 }
133
134 /**
135 * Returns the result of interpreting the object as an instance of '<em>Containment Hierarchy</em>'.
136 * <!-- begin-user-doc -->
137 * This implementation returns null;
138 * returning a non-null result will terminate the switch.
139 * <!-- end-user-doc -->
140 * @param object the target of the switch.
141 * @return the result of interpreting the object as an instance of '<em>Containment Hierarchy</em>'.
142 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
143 * @generated
144 */
145 public T caseContainmentHierarchy(ContainmentHierarchy object) {
146 return null;
147 }
148
149 /**
150 * Returns the result of interpreting the object as an instance of '<em>Relation Annotation</em>'.
151 * <!-- begin-user-doc -->
152 * This implementation returns null;
153 * returning a non-null result will terminate the switch.
154 * <!-- end-user-doc -->
155 * @param object the target of the switch.
156 * @return the result of interpreting the object as an instance of '<em>Relation Annotation</em>'.
157 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
158 * @generated
159 */
160 public T caseRelationAnnotation(RelationAnnotation object) {
161 return null;
162 }
163
164 /**
165 * Returns the result of interpreting the object as an instance of '<em>Constant Annotation</em>'.
166 * <!-- begin-user-doc -->
167 * This implementation returns null;
168 * returning a non-null result will terminate the switch.
169 * <!-- end-user-doc -->
170 * @param object the target of the switch.
171 * @return the result of interpreting the object as an instance of '<em>Constant Annotation</em>'.
172 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
173 * @generated
174 */
175 public T caseConstantAnnotation(ConstantAnnotation object) {
176 return null;
177 }
178
179 /**
180 * Returns the result of interpreting the object as an instance of '<em>Function Annotation</em>'.
181 * <!-- begin-user-doc -->
182 * This implementation returns null;
183 * returning a non-null result will terminate the switch.
184 * <!-- end-user-doc -->
185 * @param object the target of the switch.
186 * @return the result of interpreting the object as an instance of '<em>Function Annotation</em>'.
187 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
188 * @generated
189 */
190 public T caseFunctionAnnotation(FunctionAnnotation object) {
191 return null;
192 }
193
194 /**
195 * Returns the result of interpreting the object as an instance of '<em>Assertion Annotation</em>'.
196 * <!-- begin-user-doc -->
197 * This implementation returns null;
198 * returning a non-null result will terminate the switch.
199 * <!-- end-user-doc -->
200 * @param object the target of the switch.
201 * @return the result of interpreting the object as an instance of '<em>Assertion Annotation</em>'.
202 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
203 * @generated
204 */
205 public T caseAssertionAnnotation(AssertionAnnotation object) {
206 return null;
207 }
208
209 /**
210 * Returns the result of interpreting the object as an instance of '<em>Annotation</em>'.
211 * <!-- begin-user-doc -->
212 * This implementation returns null;
213 * returning a non-null result will terminate the switch.
214 * <!-- end-user-doc -->
215 * @param object the target of the switch.
216 * @return the result of interpreting the object as an instance of '<em>Annotation</em>'.
217 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
218 * @generated
219 */
220 public T caseAnnotation(Annotation object) {
221 return null;
222 }
223
224 /**
225 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
226 * <!-- begin-user-doc -->
227 * This implementation returns null;
228 * returning a non-null result will terminate the switch, but this is the last case anyway.
229 * <!-- end-user-doc -->
230 * @param object the target of the switch.
231 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
232 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
233 * @generated
234 */
235 @Override
236 public T defaultCase(EObject object) {
237 return null;
238 }
239
240} //LogicproblemSwitch
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/ErrorResult.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/ErrorResult.java
new file mode 100644
index 00000000..c3ff095c
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/ErrorResult.java
@@ -0,0 +1,49 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Error Result</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ErrorResult#getMessage <em>Message</em>}</li>
16 * </ul>
17 *
18 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getErrorResult()
19 * @model
20 * @generated
21 */
22public interface ErrorResult extends UnknownResult {
23 /**
24 * Returns the value of the '<em><b>Message</b></em>' attribute.
25 * <!-- begin-user-doc -->
26 * <p>
27 * If the meaning of the '<em>Message</em>' attribute isn't clear,
28 * there really should be more of a description here...
29 * </p>
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Message</em>' attribute.
32 * @see #setMessage(String)
33 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getErrorResult_Message()
34 * @model required="true"
35 * @generated
36 */
37 String getMessage();
38
39 /**
40 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ErrorResult#getMessage <em>Message</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Message</em>' attribute.
44 * @see #getMessage()
45 * @generated
46 */
47 void setMessage(String value);
48
49} // ErrorResult
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/InconsistencyResult.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/InconsistencyResult.java
new file mode 100644
index 00000000..f2f452fc
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/InconsistencyResult.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Inconsistency Result</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getInconsistencyResult()
13 * @model
14 * @generated
15 */
16public interface InconsistencyResult extends LogicResult {
17} // InconsistencyResult
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/InsuficientResourcesResult.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/InsuficientResourcesResult.java
new file mode 100644
index 00000000..20a92059
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/InsuficientResourcesResult.java
@@ -0,0 +1,49 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Insuficient Resources Result</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InsuficientResourcesResult#getResourceName <em>Resource Name</em>}</li>
16 * </ul>
17 *
18 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getInsuficientResourcesResult()
19 * @model
20 * @generated
21 */
22public interface InsuficientResourcesResult extends UnknownResult {
23 /**
24 * Returns the value of the '<em><b>Resource Name</b></em>' attribute.
25 * <!-- begin-user-doc -->
26 * <p>
27 * If the meaning of the '<em>Resource Name</em>' attribute isn't clear,
28 * there really should be more of a description here...
29 * </p>
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Resource Name</em>' attribute.
32 * @see #setResourceName(String)
33 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getInsuficientResourcesResult_ResourceName()
34 * @model required="true"
35 * @generated
36 */
37 String getResourceName();
38
39 /**
40 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InsuficientResourcesResult#getResourceName <em>Resource Name</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Resource Name</em>' attribute.
44 * @see #getResourceName()
45 * @generated
46 */
47 void setResourceName(String value);
48
49} // InsuficientResourcesResult
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/IntStatisticEntry.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/IntStatisticEntry.java
new file mode 100644
index 00000000..4c005d4c
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/IntStatisticEntry.java
@@ -0,0 +1,49 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Int Statistic Entry</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.IntStatisticEntry#getValue <em>Value</em>}</li>
16 * </ul>
17 *
18 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getIntStatisticEntry()
19 * @model
20 * @generated
21 */
22public interface IntStatisticEntry extends StatisticEntry {
23 /**
24 * Returns the value of the '<em><b>Value</b></em>' attribute.
25 * <!-- begin-user-doc -->
26 * <p>
27 * If the meaning of the '<em>Value</em>' attribute isn't clear,
28 * there really should be more of a description here...
29 * </p>
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Value</em>' attribute.
32 * @see #setValue(int)
33 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getIntStatisticEntry_Value()
34 * @model required="true"
35 * @generated
36 */
37 int getValue();
38
39 /**
40 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.IntStatisticEntry#getValue <em>Value</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Value</em>' attribute.
44 * @see #getValue()
45 * @generated
46 */
47 void setValue(int value);
48
49} // IntStatisticEntry
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/LogicResult.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/LogicResult.java
new file mode 100644
index 00000000..94644ffd
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/LogicResult.java
@@ -0,0 +1,124 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
6
7import org.eclipse.emf.common.util.EList;
8import org.eclipse.emf.ecore.EObject;
9
10/**
11 * <!-- begin-user-doc -->
12 * A representation of the model object '<em><b>Logic Result</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * <p>
16 * The following features are supported:
17 * </p>
18 * <ul>
19 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult#getProblem <em>Problem</em>}</li>
20 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult#getStatistics <em>Statistics</em>}</li>
21 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult#getTrace <em>Trace</em>}</li>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult#getRepresentation <em>Representation</em>}</li>
23 * </ul>
24 *
25 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getLogicResult()
26 * @model abstract="true"
27 * @generated
28 */
29public interface LogicResult extends EObject {
30 /**
31 * Returns the value of the '<em><b>Problem</b></em>' reference.
32 * <!-- begin-user-doc -->
33 * <p>
34 * If the meaning of the '<em>Problem</em>' reference isn't clear,
35 * there really should be more of a description here...
36 * </p>
37 * <!-- end-user-doc -->
38 * @return the value of the '<em>Problem</em>' reference.
39 * @see #setProblem(LogicProblem)
40 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getLogicResult_Problem()
41 * @model
42 * @generated
43 */
44 LogicProblem getProblem();
45
46 /**
47 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult#getProblem <em>Problem</em>}' reference.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @param value the new value of the '<em>Problem</em>' reference.
51 * @see #getProblem()
52 * @generated
53 */
54 void setProblem(LogicProblem value);
55
56 /**
57 * Returns the value of the '<em><b>Statistics</b></em>' containment reference.
58 * <!-- begin-user-doc -->
59 * <p>
60 * If the meaning of the '<em>Statistics</em>' containment reference isn't clear,
61 * there really should be more of a description here...
62 * </p>
63 * <!-- end-user-doc -->
64 * @return the value of the '<em>Statistics</em>' containment reference.
65 * @see #setStatistics(Statistics)
66 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getLogicResult_Statistics()
67 * @model containment="true"
68 * @generated
69 */
70 Statistics getStatistics();
71
72 /**
73 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult#getStatistics <em>Statistics</em>}' containment reference.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @param value the new value of the '<em>Statistics</em>' containment reference.
77 * @see #getStatistics()
78 * @generated
79 */
80 void setStatistics(Statistics value);
81
82 /**
83 * Returns the value of the '<em><b>Trace</b></em>' attribute.
84 * <!-- begin-user-doc -->
85 * <p>
86 * If the meaning of the '<em>Trace</em>' attribute isn't clear,
87 * there really should be more of a description here...
88 * </p>
89 * <!-- end-user-doc -->
90 * @return the value of the '<em>Trace</em>' attribute.
91 * @see #setTrace(Object)
92 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getLogicResult_Trace()
93 * @model transient="true"
94 * @generated
95 */
96 Object getTrace();
97
98 /**
99 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult#getTrace <em>Trace</em>}' attribute.
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @param value the new value of the '<em>Trace</em>' attribute.
103 * @see #getTrace()
104 * @generated
105 */
106 void setTrace(Object value);
107
108 /**
109 * Returns the value of the '<em><b>Representation</b></em>' attribute list.
110 * The list contents are of type {@link java.lang.Object}.
111 * <!-- begin-user-doc -->
112 * <p>
113 * If the meaning of the '<em>Representation</em>' attribute isn't clear,
114 * there really should be more of a description here...
115 * </p>
116 * <!-- end-user-doc -->
117 * @return the value of the '<em>Representation</em>' attribute list.
118 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getLogicResult_Representation()
119 * @model transient="true"
120 * @generated
121 */
122 EList<Object> getRepresentation();
123
124} // LogicResult
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/LogicresultFactory.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/LogicresultFactory.java
new file mode 100644
index 00000000..24f62cc3
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/LogicresultFactory.java
@@ -0,0 +1,114 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult;
4
5import org.eclipse.emf.ecore.EFactory;
6
7/**
8 * <!-- begin-user-doc -->
9 * The <b>Factory</b> for the model.
10 * It provides a create method for each non-abstract class of the model.
11 * <!-- end-user-doc -->
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage
13 * @generated
14 */
15public interface LogicresultFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 LogicresultFactory eINSTANCE = hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>Model Result</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>Model Result</em>'.
29 * @generated
30 */
31 ModelResult createModelResult();
32
33 /**
34 * Returns a new object of class '<em>Inconsistency Result</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Inconsistency Result</em>'.
38 * @generated
39 */
40 InconsistencyResult createInconsistencyResult();
41
42 /**
43 * Returns a new object of class '<em>Insuficient Resources Result</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>Insuficient Resources Result</em>'.
47 * @generated
48 */
49 InsuficientResourcesResult createInsuficientResourcesResult();
50
51 /**
52 * Returns a new object of class '<em>Error Result</em>'.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return a new object of class '<em>Error Result</em>'.
56 * @generated
57 */
58 ErrorResult createErrorResult();
59
60 /**
61 * Returns a new object of class '<em>Statistics</em>'.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return a new object of class '<em>Statistics</em>'.
65 * @generated
66 */
67 Statistics createStatistics();
68
69 /**
70 * Returns a new object of class '<em>Undecidable Result</em>'.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @return a new object of class '<em>Undecidable Result</em>'.
74 * @generated
75 */
76 UndecidableResult createUndecidableResult();
77
78 /**
79 * Returns a new object of class '<em>Int Statistic Entry</em>'.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @return a new object of class '<em>Int Statistic Entry</em>'.
83 * @generated
84 */
85 IntStatisticEntry createIntStatisticEntry();
86
87 /**
88 * Returns a new object of class '<em>Real Statistic Entry</em>'.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @return a new object of class '<em>Real Statistic Entry</em>'.
92 * @generated
93 */
94 RealStatisticEntry createRealStatisticEntry();
95
96 /**
97 * Returns a new object of class '<em>String Statistic Entry</em>'.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @return a new object of class '<em>String Statistic Entry</em>'.
101 * @generated
102 */
103 StringStatisticEntry createStringStatisticEntry();
104
105 /**
106 * Returns the package supported by this factory.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @return the package supported by this factory.
110 * @generated
111 */
112 LogicresultPackage getLogicresultPackage();
113
114} //LogicresultFactory
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/LogicresultPackage.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/LogicresultPackage.java
new file mode 100644
index 00000000..cf171ab5
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/LogicresultPackage.java
@@ -0,0 +1,1353 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult;
4
5import org.eclipse.emf.ecore.EAttribute;
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EPackage;
8import org.eclipse.emf.ecore.EReference;
9
10/**
11 * <!-- begin-user-doc -->
12 * The <b>Package</b> for the model.
13 * It contains accessors for the meta objects to represent
14 * <ul>
15 * <li>each class,</li>
16 * <li>each feature of each class,</li>
17 * <li>each operation of each class,</li>
18 * <li>each enum,</li>
19 * <li>and each data type</li>
20 * </ul>
21 * <!-- end-user-doc -->
22 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultFactory
23 * @model kind="package"
24 * @generated
25 */
26public interface LogicresultPackage extends EPackage {
27 /**
28 * The package name.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 String eNAME = "logicresult";
34
35 /**
36 * The package namespace URI.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @generated
40 */
41 String eNS_URI = "http://www.bme.hu/mit/inf/dslreasoner/logic/model/result";
42
43 /**
44 * The package namespace name.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @generated
48 */
49 String eNS_PREFIX = "language";
50
51 /**
52 * The singleton instance of the package.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 LogicresultPackage eINSTANCE = hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl.init();
58
59 /**
60 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicResultImpl <em>Logic Result</em>}' class.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicResultImpl
64 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getLogicResult()
65 * @generated
66 */
67 int LOGIC_RESULT = 0;
68
69 /**
70 * The feature id for the '<em><b>Problem</b></em>' reference.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 * @ordered
75 */
76 int LOGIC_RESULT__PROBLEM = 0;
77
78 /**
79 * The feature id for the '<em><b>Statistics</b></em>' containment reference.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 * @ordered
84 */
85 int LOGIC_RESULT__STATISTICS = 1;
86
87 /**
88 * The feature id for the '<em><b>Trace</b></em>' attribute.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 * @ordered
93 */
94 int LOGIC_RESULT__TRACE = 2;
95
96 /**
97 * The feature id for the '<em><b>Representation</b></em>' attribute list.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 * @ordered
102 */
103 int LOGIC_RESULT__REPRESENTATION = 3;
104
105 /**
106 * The number of structural features of the '<em>Logic Result</em>' class.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 * @ordered
111 */
112 int LOGIC_RESULT_FEATURE_COUNT = 4;
113
114 /**
115 * The number of operations of the '<em>Logic Result</em>' class.
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 * @ordered
120 */
121 int LOGIC_RESULT_OPERATION_COUNT = 0;
122
123 /**
124 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.ModelResultImpl <em>Model Result</em>}' class.
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.ModelResultImpl
128 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getModelResult()
129 * @generated
130 */
131 int MODEL_RESULT = 1;
132
133 /**
134 * The feature id for the '<em><b>Problem</b></em>' reference.
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 * @ordered
139 */
140 int MODEL_RESULT__PROBLEM = LOGIC_RESULT__PROBLEM;
141
142 /**
143 * The feature id for the '<em><b>Statistics</b></em>' containment reference.
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 * @ordered
148 */
149 int MODEL_RESULT__STATISTICS = LOGIC_RESULT__STATISTICS;
150
151 /**
152 * The feature id for the '<em><b>Trace</b></em>' attribute.
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 * @ordered
157 */
158 int MODEL_RESULT__TRACE = LOGIC_RESULT__TRACE;
159
160 /**
161 * The feature id for the '<em><b>Representation</b></em>' attribute list.
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 * @ordered
166 */
167 int MODEL_RESULT__REPRESENTATION = LOGIC_RESULT__REPRESENTATION;
168
169 /**
170 * The feature id for the '<em><b>Max Integer</b></em>' attribute.
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 * @ordered
175 */
176 int MODEL_RESULT__MAX_INTEGER = LOGIC_RESULT_FEATURE_COUNT + 0;
177
178 /**
179 * The feature id for the '<em><b>Min Integer</b></em>' attribute.
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 * @ordered
184 */
185 int MODEL_RESULT__MIN_INTEGER = LOGIC_RESULT_FEATURE_COUNT + 1;
186
187 /**
188 * The number of structural features of the '<em>Model Result</em>' class.
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @generated
192 * @ordered
193 */
194 int MODEL_RESULT_FEATURE_COUNT = LOGIC_RESULT_FEATURE_COUNT + 2;
195
196 /**
197 * The number of operations of the '<em>Model Result</em>' class.
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 * @ordered
202 */
203 int MODEL_RESULT_OPERATION_COUNT = LOGIC_RESULT_OPERATION_COUNT + 0;
204
205 /**
206 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.InconsistencyResultImpl <em>Inconsistency Result</em>}' class.
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.InconsistencyResultImpl
210 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getInconsistencyResult()
211 * @generated
212 */
213 int INCONSISTENCY_RESULT = 2;
214
215 /**
216 * The feature id for the '<em><b>Problem</b></em>' reference.
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 * @ordered
221 */
222 int INCONSISTENCY_RESULT__PROBLEM = LOGIC_RESULT__PROBLEM;
223
224 /**
225 * The feature id for the '<em><b>Statistics</b></em>' containment reference.
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 * @ordered
230 */
231 int INCONSISTENCY_RESULT__STATISTICS = LOGIC_RESULT__STATISTICS;
232
233 /**
234 * The feature id for the '<em><b>Trace</b></em>' attribute.
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 * @ordered
239 */
240 int INCONSISTENCY_RESULT__TRACE = LOGIC_RESULT__TRACE;
241
242 /**
243 * The feature id for the '<em><b>Representation</b></em>' attribute list.
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @generated
247 * @ordered
248 */
249 int INCONSISTENCY_RESULT__REPRESENTATION = LOGIC_RESULT__REPRESENTATION;
250
251 /**
252 * The number of structural features of the '<em>Inconsistency Result</em>' class.
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 * @ordered
257 */
258 int INCONSISTENCY_RESULT_FEATURE_COUNT = LOGIC_RESULT_FEATURE_COUNT + 0;
259
260 /**
261 * The number of operations of the '<em>Inconsistency Result</em>' class.
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @generated
265 * @ordered
266 */
267 int INCONSISTENCY_RESULT_OPERATION_COUNT = LOGIC_RESULT_OPERATION_COUNT + 0;
268
269 /**
270 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.UnknownResultImpl <em>Unknown Result</em>}' class.
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.UnknownResultImpl
274 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getUnknownResult()
275 * @generated
276 */
277 int UNKNOWN_RESULT = 3;
278
279 /**
280 * The feature id for the '<em><b>Problem</b></em>' reference.
281 * <!-- begin-user-doc -->
282 * <!-- end-user-doc -->
283 * @generated
284 * @ordered
285 */
286 int UNKNOWN_RESULT__PROBLEM = LOGIC_RESULT__PROBLEM;
287
288 /**
289 * The feature id for the '<em><b>Statistics</b></em>' containment reference.
290 * <!-- begin-user-doc -->
291 * <!-- end-user-doc -->
292 * @generated
293 * @ordered
294 */
295 int UNKNOWN_RESULT__STATISTICS = LOGIC_RESULT__STATISTICS;
296
297 /**
298 * The feature id for the '<em><b>Trace</b></em>' attribute.
299 * <!-- begin-user-doc -->
300 * <!-- end-user-doc -->
301 * @generated
302 * @ordered
303 */
304 int UNKNOWN_RESULT__TRACE = LOGIC_RESULT__TRACE;
305
306 /**
307 * The feature id for the '<em><b>Representation</b></em>' attribute list.
308 * <!-- begin-user-doc -->
309 * <!-- end-user-doc -->
310 * @generated
311 * @ordered
312 */
313 int UNKNOWN_RESULT__REPRESENTATION = LOGIC_RESULT__REPRESENTATION;
314
315 /**
316 * The number of structural features of the '<em>Unknown Result</em>' class.
317 * <!-- begin-user-doc -->
318 * <!-- end-user-doc -->
319 * @generated
320 * @ordered
321 */
322 int UNKNOWN_RESULT_FEATURE_COUNT = LOGIC_RESULT_FEATURE_COUNT + 0;
323
324 /**
325 * The number of operations of the '<em>Unknown Result</em>' class.
326 * <!-- begin-user-doc -->
327 * <!-- end-user-doc -->
328 * @generated
329 * @ordered
330 */
331 int UNKNOWN_RESULT_OPERATION_COUNT = LOGIC_RESULT_OPERATION_COUNT + 0;
332
333 /**
334 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.InsuficientResourcesResultImpl <em>Insuficient Resources Result</em>}' class.
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.InsuficientResourcesResultImpl
338 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getInsuficientResourcesResult()
339 * @generated
340 */
341 int INSUFICIENT_RESOURCES_RESULT = 4;
342
343 /**
344 * The feature id for the '<em><b>Problem</b></em>' reference.
345 * <!-- begin-user-doc -->
346 * <!-- end-user-doc -->
347 * @generated
348 * @ordered
349 */
350 int INSUFICIENT_RESOURCES_RESULT__PROBLEM = UNKNOWN_RESULT__PROBLEM;
351
352 /**
353 * The feature id for the '<em><b>Statistics</b></em>' containment reference.
354 * <!-- begin-user-doc -->
355 * <!-- end-user-doc -->
356 * @generated
357 * @ordered
358 */
359 int INSUFICIENT_RESOURCES_RESULT__STATISTICS = UNKNOWN_RESULT__STATISTICS;
360
361 /**
362 * The feature id for the '<em><b>Trace</b></em>' attribute.
363 * <!-- begin-user-doc -->
364 * <!-- end-user-doc -->
365 * @generated
366 * @ordered
367 */
368 int INSUFICIENT_RESOURCES_RESULT__TRACE = UNKNOWN_RESULT__TRACE;
369
370 /**
371 * The feature id for the '<em><b>Representation</b></em>' attribute list.
372 * <!-- begin-user-doc -->
373 * <!-- end-user-doc -->
374 * @generated
375 * @ordered
376 */
377 int INSUFICIENT_RESOURCES_RESULT__REPRESENTATION = UNKNOWN_RESULT__REPRESENTATION;
378
379 /**
380 * The feature id for the '<em><b>Resource Name</b></em>' attribute.
381 * <!-- begin-user-doc -->
382 * <!-- end-user-doc -->
383 * @generated
384 * @ordered
385 */
386 int INSUFICIENT_RESOURCES_RESULT__RESOURCE_NAME = UNKNOWN_RESULT_FEATURE_COUNT + 0;
387
388 /**
389 * The number of structural features of the '<em>Insuficient Resources Result</em>' class.
390 * <!-- begin-user-doc -->
391 * <!-- end-user-doc -->
392 * @generated
393 * @ordered
394 */
395 int INSUFICIENT_RESOURCES_RESULT_FEATURE_COUNT = UNKNOWN_RESULT_FEATURE_COUNT + 1;
396
397 /**
398 * The number of operations of the '<em>Insuficient Resources Result</em>' class.
399 * <!-- begin-user-doc -->
400 * <!-- end-user-doc -->
401 * @generated
402 * @ordered
403 */
404 int INSUFICIENT_RESOURCES_RESULT_OPERATION_COUNT = UNKNOWN_RESULT_OPERATION_COUNT + 0;
405
406 /**
407 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.ErrorResultImpl <em>Error Result</em>}' class.
408 * <!-- begin-user-doc -->
409 * <!-- end-user-doc -->
410 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.ErrorResultImpl
411 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getErrorResult()
412 * @generated
413 */
414 int ERROR_RESULT = 5;
415
416 /**
417 * The feature id for the '<em><b>Problem</b></em>' reference.
418 * <!-- begin-user-doc -->
419 * <!-- end-user-doc -->
420 * @generated
421 * @ordered
422 */
423 int ERROR_RESULT__PROBLEM = UNKNOWN_RESULT__PROBLEM;
424
425 /**
426 * The feature id for the '<em><b>Statistics</b></em>' containment reference.
427 * <!-- begin-user-doc -->
428 * <!-- end-user-doc -->
429 * @generated
430 * @ordered
431 */
432 int ERROR_RESULT__STATISTICS = UNKNOWN_RESULT__STATISTICS;
433
434 /**
435 * The feature id for the '<em><b>Trace</b></em>' attribute.
436 * <!-- begin-user-doc -->
437 * <!-- end-user-doc -->
438 * @generated
439 * @ordered
440 */
441 int ERROR_RESULT__TRACE = UNKNOWN_RESULT__TRACE;
442
443 /**
444 * The feature id for the '<em><b>Representation</b></em>' attribute list.
445 * <!-- begin-user-doc -->
446 * <!-- end-user-doc -->
447 * @generated
448 * @ordered
449 */
450 int ERROR_RESULT__REPRESENTATION = UNKNOWN_RESULT__REPRESENTATION;
451
452 /**
453 * The feature id for the '<em><b>Message</b></em>' attribute.
454 * <!-- begin-user-doc -->
455 * <!-- end-user-doc -->
456 * @generated
457 * @ordered
458 */
459 int ERROR_RESULT__MESSAGE = UNKNOWN_RESULT_FEATURE_COUNT + 0;
460
461 /**
462 * The number of structural features of the '<em>Error Result</em>' class.
463 * <!-- begin-user-doc -->
464 * <!-- end-user-doc -->
465 * @generated
466 * @ordered
467 */
468 int ERROR_RESULT_FEATURE_COUNT = UNKNOWN_RESULT_FEATURE_COUNT + 1;
469
470 /**
471 * The number of operations of the '<em>Error Result</em>' class.
472 * <!-- begin-user-doc -->
473 * <!-- end-user-doc -->
474 * @generated
475 * @ordered
476 */
477 int ERROR_RESULT_OPERATION_COUNT = UNKNOWN_RESULT_OPERATION_COUNT + 0;
478
479 /**
480 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StatisticsImpl <em>Statistics</em>}' class.
481 * <!-- begin-user-doc -->
482 * <!-- end-user-doc -->
483 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StatisticsImpl
484 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getStatistics()
485 * @generated
486 */
487 int STATISTICS = 6;
488
489 /**
490 * The feature id for the '<em><b>Entries</b></em>' containment reference list.
491 * <!-- begin-user-doc -->
492 * <!-- end-user-doc -->
493 * @generated
494 * @ordered
495 */
496 int STATISTICS__ENTRIES = 0;
497
498 /**
499 * The feature id for the '<em><b>Transformation Time</b></em>' attribute.
500 * <!-- begin-user-doc -->
501 * <!-- end-user-doc -->
502 * @generated
503 * @ordered
504 */
505 int STATISTICS__TRANSFORMATION_TIME = 1;
506
507 /**
508 * The feature id for the '<em><b>Solver Time</b></em>' attribute.
509 * <!-- begin-user-doc -->
510 * <!-- end-user-doc -->
511 * @generated
512 * @ordered
513 */
514 int STATISTICS__SOLVER_TIME = 2;
515
516 /**
517 * The feature id for the '<em><b>Solver Memory</b></em>' attribute.
518 * <!-- begin-user-doc -->
519 * <!-- end-user-doc -->
520 * @generated
521 * @ordered
522 */
523 int STATISTICS__SOLVER_MEMORY = 3;
524
525 /**
526 * The number of structural features of the '<em>Statistics</em>' class.
527 * <!-- begin-user-doc -->
528 * <!-- end-user-doc -->
529 * @generated
530 * @ordered
531 */
532 int STATISTICS_FEATURE_COUNT = 4;
533
534 /**
535 * The number of operations of the '<em>Statistics</em>' class.
536 * <!-- begin-user-doc -->
537 * <!-- end-user-doc -->
538 * @generated
539 * @ordered
540 */
541 int STATISTICS_OPERATION_COUNT = 0;
542
543 /**
544 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StatisticEntryImpl <em>Statistic Entry</em>}' class.
545 * <!-- begin-user-doc -->
546 * <!-- end-user-doc -->
547 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StatisticEntryImpl
548 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getStatisticEntry()
549 * @generated
550 */
551 int STATISTIC_ENTRY = 7;
552
553 /**
554 * The feature id for the '<em><b>Name</b></em>' attribute.
555 * <!-- begin-user-doc -->
556 * <!-- end-user-doc -->
557 * @generated
558 * @ordered
559 */
560 int STATISTIC_ENTRY__NAME = 0;
561
562 /**
563 * The number of structural features of the '<em>Statistic Entry</em>' class.
564 * <!-- begin-user-doc -->
565 * <!-- end-user-doc -->
566 * @generated
567 * @ordered
568 */
569 int STATISTIC_ENTRY_FEATURE_COUNT = 1;
570
571 /**
572 * The number of operations of the '<em>Statistic Entry</em>' class.
573 * <!-- begin-user-doc -->
574 * <!-- end-user-doc -->
575 * @generated
576 * @ordered
577 */
578 int STATISTIC_ENTRY_OPERATION_COUNT = 0;
579
580 /**
581 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.UndecidableResultImpl <em>Undecidable Result</em>}' class.
582 * <!-- begin-user-doc -->
583 * <!-- end-user-doc -->
584 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.UndecidableResultImpl
585 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getUndecidableResult()
586 * @generated
587 */
588 int UNDECIDABLE_RESULT = 8;
589
590 /**
591 * The feature id for the '<em><b>Problem</b></em>' reference.
592 * <!-- begin-user-doc -->
593 * <!-- end-user-doc -->
594 * @generated
595 * @ordered
596 */
597 int UNDECIDABLE_RESULT__PROBLEM = UNKNOWN_RESULT__PROBLEM;
598
599 /**
600 * The feature id for the '<em><b>Statistics</b></em>' containment reference.
601 * <!-- begin-user-doc -->
602 * <!-- end-user-doc -->
603 * @generated
604 * @ordered
605 */
606 int UNDECIDABLE_RESULT__STATISTICS = UNKNOWN_RESULT__STATISTICS;
607
608 /**
609 * The feature id for the '<em><b>Trace</b></em>' attribute.
610 * <!-- begin-user-doc -->
611 * <!-- end-user-doc -->
612 * @generated
613 * @ordered
614 */
615 int UNDECIDABLE_RESULT__TRACE = UNKNOWN_RESULT__TRACE;
616
617 /**
618 * The feature id for the '<em><b>Representation</b></em>' attribute list.
619 * <!-- begin-user-doc -->
620 * <!-- end-user-doc -->
621 * @generated
622 * @ordered
623 */
624 int UNDECIDABLE_RESULT__REPRESENTATION = UNKNOWN_RESULT__REPRESENTATION;
625
626 /**
627 * The number of structural features of the '<em>Undecidable Result</em>' class.
628 * <!-- begin-user-doc -->
629 * <!-- end-user-doc -->
630 * @generated
631 * @ordered
632 */
633 int UNDECIDABLE_RESULT_FEATURE_COUNT = UNKNOWN_RESULT_FEATURE_COUNT + 0;
634
635 /**
636 * The number of operations of the '<em>Undecidable Result</em>' class.
637 * <!-- begin-user-doc -->
638 * <!-- end-user-doc -->
639 * @generated
640 * @ordered
641 */
642 int UNDECIDABLE_RESULT_OPERATION_COUNT = UNKNOWN_RESULT_OPERATION_COUNT + 0;
643
644 /**
645 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.IntStatisticEntryImpl <em>Int Statistic Entry</em>}' class.
646 * <!-- begin-user-doc -->
647 * <!-- end-user-doc -->
648 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.IntStatisticEntryImpl
649 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getIntStatisticEntry()
650 * @generated
651 */
652 int INT_STATISTIC_ENTRY = 9;
653
654 /**
655 * The feature id for the '<em><b>Name</b></em>' attribute.
656 * <!-- begin-user-doc -->
657 * <!-- end-user-doc -->
658 * @generated
659 * @ordered
660 */
661 int INT_STATISTIC_ENTRY__NAME = STATISTIC_ENTRY__NAME;
662
663 /**
664 * The feature id for the '<em><b>Value</b></em>' attribute.
665 * <!-- begin-user-doc -->
666 * <!-- end-user-doc -->
667 * @generated
668 * @ordered
669 */
670 int INT_STATISTIC_ENTRY__VALUE = STATISTIC_ENTRY_FEATURE_COUNT + 0;
671
672 /**
673 * The number of structural features of the '<em>Int Statistic Entry</em>' class.
674 * <!-- begin-user-doc -->
675 * <!-- end-user-doc -->
676 * @generated
677 * @ordered
678 */
679 int INT_STATISTIC_ENTRY_FEATURE_COUNT = STATISTIC_ENTRY_FEATURE_COUNT + 1;
680
681 /**
682 * The number of operations of the '<em>Int Statistic Entry</em>' class.
683 * <!-- begin-user-doc -->
684 * <!-- end-user-doc -->
685 * @generated
686 * @ordered
687 */
688 int INT_STATISTIC_ENTRY_OPERATION_COUNT = STATISTIC_ENTRY_OPERATION_COUNT + 0;
689
690 /**
691 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.RealStatisticEntryImpl <em>Real Statistic Entry</em>}' class.
692 * <!-- begin-user-doc -->
693 * <!-- end-user-doc -->
694 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.RealStatisticEntryImpl
695 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getRealStatisticEntry()
696 * @generated
697 */
698 int REAL_STATISTIC_ENTRY = 10;
699
700 /**
701 * The feature id for the '<em><b>Name</b></em>' attribute.
702 * <!-- begin-user-doc -->
703 * <!-- end-user-doc -->
704 * @generated
705 * @ordered
706 */
707 int REAL_STATISTIC_ENTRY__NAME = STATISTIC_ENTRY__NAME;
708
709 /**
710 * The feature id for the '<em><b>Value</b></em>' attribute.
711 * <!-- begin-user-doc -->
712 * <!-- end-user-doc -->
713 * @generated
714 * @ordered
715 */
716 int REAL_STATISTIC_ENTRY__VALUE = STATISTIC_ENTRY_FEATURE_COUNT + 0;
717
718 /**
719 * The number of structural features of the '<em>Real Statistic Entry</em>' class.
720 * <!-- begin-user-doc -->
721 * <!-- end-user-doc -->
722 * @generated
723 * @ordered
724 */
725 int REAL_STATISTIC_ENTRY_FEATURE_COUNT = STATISTIC_ENTRY_FEATURE_COUNT + 1;
726
727 /**
728 * The number of operations of the '<em>Real Statistic Entry</em>' class.
729 * <!-- begin-user-doc -->
730 * <!-- end-user-doc -->
731 * @generated
732 * @ordered
733 */
734 int REAL_STATISTIC_ENTRY_OPERATION_COUNT = STATISTIC_ENTRY_OPERATION_COUNT + 0;
735
736
737 /**
738 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StringStatisticEntryImpl <em>String Statistic Entry</em>}' class.
739 * <!-- begin-user-doc -->
740 * <!-- end-user-doc -->
741 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StringStatisticEntryImpl
742 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getStringStatisticEntry()
743 * @generated
744 */
745 int STRING_STATISTIC_ENTRY = 11;
746
747 /**
748 * The feature id for the '<em><b>Name</b></em>' attribute.
749 * <!-- begin-user-doc -->
750 * <!-- end-user-doc -->
751 * @generated
752 * @ordered
753 */
754 int STRING_STATISTIC_ENTRY__NAME = STATISTIC_ENTRY__NAME;
755
756 /**
757 * The feature id for the '<em><b>Value</b></em>' attribute.
758 * <!-- begin-user-doc -->
759 * <!-- end-user-doc -->
760 * @generated
761 * @ordered
762 */
763 int STRING_STATISTIC_ENTRY__VALUE = STATISTIC_ENTRY_FEATURE_COUNT + 0;
764
765 /**
766 * The number of structural features of the '<em>String Statistic Entry</em>' class.
767 * <!-- begin-user-doc -->
768 * <!-- end-user-doc -->
769 * @generated
770 * @ordered
771 */
772 int STRING_STATISTIC_ENTRY_FEATURE_COUNT = STATISTIC_ENTRY_FEATURE_COUNT + 1;
773
774 /**
775 * The number of operations of the '<em>String Statistic Entry</em>' class.
776 * <!-- begin-user-doc -->
777 * <!-- end-user-doc -->
778 * @generated
779 * @ordered
780 */
781 int STRING_STATISTIC_ENTRY_OPERATION_COUNT = STATISTIC_ENTRY_OPERATION_COUNT + 0;
782
783
784 /**
785 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult <em>Logic Result</em>}'.
786 * <!-- begin-user-doc -->
787 * <!-- end-user-doc -->
788 * @return the meta object for class '<em>Logic Result</em>'.
789 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult
790 * @generated
791 */
792 EClass getLogicResult();
793
794 /**
795 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult#getProblem <em>Problem</em>}'.
796 * <!-- begin-user-doc -->
797 * <!-- end-user-doc -->
798 * @return the meta object for the reference '<em>Problem</em>'.
799 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult#getProblem()
800 * @see #getLogicResult()
801 * @generated
802 */
803 EReference getLogicResult_Problem();
804
805 /**
806 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult#getStatistics <em>Statistics</em>}'.
807 * <!-- begin-user-doc -->
808 * <!-- end-user-doc -->
809 * @return the meta object for the containment reference '<em>Statistics</em>'.
810 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult#getStatistics()
811 * @see #getLogicResult()
812 * @generated
813 */
814 EReference getLogicResult_Statistics();
815
816 /**
817 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult#getTrace <em>Trace</em>}'.
818 * <!-- begin-user-doc -->
819 * <!-- end-user-doc -->
820 * @return the meta object for the attribute '<em>Trace</em>'.
821 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult#getTrace()
822 * @see #getLogicResult()
823 * @generated
824 */
825 EAttribute getLogicResult_Trace();
826
827 /**
828 * Returns the meta object for the attribute list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult#getRepresentation <em>Representation</em>}'.
829 * <!-- begin-user-doc -->
830 * <!-- end-user-doc -->
831 * @return the meta object for the attribute list '<em>Representation</em>'.
832 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult#getRepresentation()
833 * @see #getLogicResult()
834 * @generated
835 */
836 EAttribute getLogicResult_Representation();
837
838 /**
839 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult <em>Model Result</em>}'.
840 * <!-- begin-user-doc -->
841 * <!-- end-user-doc -->
842 * @return the meta object for class '<em>Model Result</em>'.
843 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult
844 * @generated
845 */
846 EClass getModelResult();
847
848 /**
849 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult#getMaxInteger <em>Max Integer</em>}'.
850 * <!-- begin-user-doc -->
851 * <!-- end-user-doc -->
852 * @return the meta object for the attribute '<em>Max Integer</em>'.
853 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult#getMaxInteger()
854 * @see #getModelResult()
855 * @generated
856 */
857 EAttribute getModelResult_MaxInteger();
858
859 /**
860 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult#getMinInteger <em>Min Integer</em>}'.
861 * <!-- begin-user-doc -->
862 * <!-- end-user-doc -->
863 * @return the meta object for the attribute '<em>Min Integer</em>'.
864 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult#getMinInteger()
865 * @see #getModelResult()
866 * @generated
867 */
868 EAttribute getModelResult_MinInteger();
869
870 /**
871 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InconsistencyResult <em>Inconsistency Result</em>}'.
872 * <!-- begin-user-doc -->
873 * <!-- end-user-doc -->
874 * @return the meta object for class '<em>Inconsistency Result</em>'.
875 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InconsistencyResult
876 * @generated
877 */
878 EClass getInconsistencyResult();
879
880 /**
881 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.UnknownResult <em>Unknown Result</em>}'.
882 * <!-- begin-user-doc -->
883 * <!-- end-user-doc -->
884 * @return the meta object for class '<em>Unknown Result</em>'.
885 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.UnknownResult
886 * @generated
887 */
888 EClass getUnknownResult();
889
890 /**
891 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InsuficientResourcesResult <em>Insuficient Resources Result</em>}'.
892 * <!-- begin-user-doc -->
893 * <!-- end-user-doc -->
894 * @return the meta object for class '<em>Insuficient Resources Result</em>'.
895 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InsuficientResourcesResult
896 * @generated
897 */
898 EClass getInsuficientResourcesResult();
899
900 /**
901 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InsuficientResourcesResult#getResourceName <em>Resource Name</em>}'.
902 * <!-- begin-user-doc -->
903 * <!-- end-user-doc -->
904 * @return the meta object for the attribute '<em>Resource Name</em>'.
905 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InsuficientResourcesResult#getResourceName()
906 * @see #getInsuficientResourcesResult()
907 * @generated
908 */
909 EAttribute getInsuficientResourcesResult_ResourceName();
910
911 /**
912 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ErrorResult <em>Error Result</em>}'.
913 * <!-- begin-user-doc -->
914 * <!-- end-user-doc -->
915 * @return the meta object for class '<em>Error Result</em>'.
916 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ErrorResult
917 * @generated
918 */
919 EClass getErrorResult();
920
921 /**
922 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ErrorResult#getMessage <em>Message</em>}'.
923 * <!-- begin-user-doc -->
924 * <!-- end-user-doc -->
925 * @return the meta object for the attribute '<em>Message</em>'.
926 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ErrorResult#getMessage()
927 * @see #getErrorResult()
928 * @generated
929 */
930 EAttribute getErrorResult_Message();
931
932 /**
933 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics <em>Statistics</em>}'.
934 * <!-- begin-user-doc -->
935 * <!-- end-user-doc -->
936 * @return the meta object for class '<em>Statistics</em>'.
937 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics
938 * @generated
939 */
940 EClass getStatistics();
941
942 /**
943 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics#getEntries <em>Entries</em>}'.
944 * <!-- begin-user-doc -->
945 * <!-- end-user-doc -->
946 * @return the meta object for the containment reference list '<em>Entries</em>'.
947 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics#getEntries()
948 * @see #getStatistics()
949 * @generated
950 */
951 EReference getStatistics_Entries();
952
953 /**
954 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics#getTransformationTime <em>Transformation Time</em>}'.
955 * <!-- begin-user-doc -->
956 * <!-- end-user-doc -->
957 * @return the meta object for the attribute '<em>Transformation Time</em>'.
958 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics#getTransformationTime()
959 * @see #getStatistics()
960 * @generated
961 */
962 EAttribute getStatistics_TransformationTime();
963
964 /**
965 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics#getSolverTime <em>Solver Time</em>}'.
966 * <!-- begin-user-doc -->
967 * <!-- end-user-doc -->
968 * @return the meta object for the attribute '<em>Solver Time</em>'.
969 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics#getSolverTime()
970 * @see #getStatistics()
971 * @generated
972 */
973 EAttribute getStatistics_SolverTime();
974
975 /**
976 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics#getSolverMemory <em>Solver Memory</em>}'.
977 * <!-- begin-user-doc -->
978 * <!-- end-user-doc -->
979 * @return the meta object for the attribute '<em>Solver Memory</em>'.
980 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics#getSolverMemory()
981 * @see #getStatistics()
982 * @generated
983 */
984 EAttribute getStatistics_SolverMemory();
985
986 /**
987 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StatisticEntry <em>Statistic Entry</em>}'.
988 * <!-- begin-user-doc -->
989 * <!-- end-user-doc -->
990 * @return the meta object for class '<em>Statistic Entry</em>'.
991 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StatisticEntry
992 * @generated
993 */
994 EClass getStatisticEntry();
995
996 /**
997 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StatisticEntry#getName <em>Name</em>}'.
998 * <!-- begin-user-doc -->
999 * <!-- end-user-doc -->
1000 * @return the meta object for the attribute '<em>Name</em>'.
1001 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StatisticEntry#getName()
1002 * @see #getStatisticEntry()
1003 * @generated
1004 */
1005 EAttribute getStatisticEntry_Name();
1006
1007 /**
1008 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.UndecidableResult <em>Undecidable Result</em>}'.
1009 * <!-- begin-user-doc -->
1010 * <!-- end-user-doc -->
1011 * @return the meta object for class '<em>Undecidable Result</em>'.
1012 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.UndecidableResult
1013 * @generated
1014 */
1015 EClass getUndecidableResult();
1016
1017 /**
1018 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.IntStatisticEntry <em>Int Statistic Entry</em>}'.
1019 * <!-- begin-user-doc -->
1020 * <!-- end-user-doc -->
1021 * @return the meta object for class '<em>Int Statistic Entry</em>'.
1022 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.IntStatisticEntry
1023 * @generated
1024 */
1025 EClass getIntStatisticEntry();
1026
1027 /**
1028 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.IntStatisticEntry#getValue <em>Value</em>}'.
1029 * <!-- begin-user-doc -->
1030 * <!-- end-user-doc -->
1031 * @return the meta object for the attribute '<em>Value</em>'.
1032 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.IntStatisticEntry#getValue()
1033 * @see #getIntStatisticEntry()
1034 * @generated
1035 */
1036 EAttribute getIntStatisticEntry_Value();
1037
1038 /**
1039 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.RealStatisticEntry <em>Real Statistic Entry</em>}'.
1040 * <!-- begin-user-doc -->
1041 * <!-- end-user-doc -->
1042 * @return the meta object for class '<em>Real Statistic Entry</em>'.
1043 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.RealStatisticEntry
1044 * @generated
1045 */
1046 EClass getRealStatisticEntry();
1047
1048 /**
1049 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.RealStatisticEntry#getValue <em>Value</em>}'.
1050 * <!-- begin-user-doc -->
1051 * <!-- end-user-doc -->
1052 * @return the meta object for the attribute '<em>Value</em>'.
1053 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.RealStatisticEntry#getValue()
1054 * @see #getRealStatisticEntry()
1055 * @generated
1056 */
1057 EAttribute getRealStatisticEntry_Value();
1058
1059 /**
1060 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StringStatisticEntry <em>String Statistic Entry</em>}'.
1061 * <!-- begin-user-doc -->
1062 * <!-- end-user-doc -->
1063 * @return the meta object for class '<em>String Statistic Entry</em>'.
1064 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StringStatisticEntry
1065 * @generated
1066 */
1067 EClass getStringStatisticEntry();
1068
1069 /**
1070 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StringStatisticEntry#getValue <em>Value</em>}'.
1071 * <!-- begin-user-doc -->
1072 * <!-- end-user-doc -->
1073 * @return the meta object for the attribute '<em>Value</em>'.
1074 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StringStatisticEntry#getValue()
1075 * @see #getStringStatisticEntry()
1076 * @generated
1077 */
1078 EAttribute getStringStatisticEntry_Value();
1079
1080 /**
1081 * Returns the factory that creates the instances of the model.
1082 * <!-- begin-user-doc -->
1083 * <!-- end-user-doc -->
1084 * @return the factory that creates the instances of the model.
1085 * @generated
1086 */
1087 LogicresultFactory getLogicresultFactory();
1088
1089 /**
1090 * <!-- begin-user-doc -->
1091 * Defines literals for the meta objects that represent
1092 * <ul>
1093 * <li>each class,</li>
1094 * <li>each feature of each class,</li>
1095 * <li>each operation of each class,</li>
1096 * <li>each enum,</li>
1097 * <li>and each data type</li>
1098 * </ul>
1099 * <!-- end-user-doc -->
1100 * @generated
1101 */
1102 interface Literals {
1103 /**
1104 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicResultImpl <em>Logic Result</em>}' class.
1105 * <!-- begin-user-doc -->
1106 * <!-- end-user-doc -->
1107 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicResultImpl
1108 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getLogicResult()
1109 * @generated
1110 */
1111 EClass LOGIC_RESULT = eINSTANCE.getLogicResult();
1112
1113 /**
1114 * The meta object literal for the '<em><b>Problem</b></em>' reference feature.
1115 * <!-- begin-user-doc -->
1116 * <!-- end-user-doc -->
1117 * @generated
1118 */
1119 EReference LOGIC_RESULT__PROBLEM = eINSTANCE.getLogicResult_Problem();
1120
1121 /**
1122 * The meta object literal for the '<em><b>Statistics</b></em>' containment reference feature.
1123 * <!-- begin-user-doc -->
1124 * <!-- end-user-doc -->
1125 * @generated
1126 */
1127 EReference LOGIC_RESULT__STATISTICS = eINSTANCE.getLogicResult_Statistics();
1128
1129 /**
1130 * The meta object literal for the '<em><b>Trace</b></em>' attribute feature.
1131 * <!-- begin-user-doc -->
1132 * <!-- end-user-doc -->
1133 * @generated
1134 */
1135 EAttribute LOGIC_RESULT__TRACE = eINSTANCE.getLogicResult_Trace();
1136
1137 /**
1138 * The meta object literal for the '<em><b>Representation</b></em>' attribute list feature.
1139 * <!-- begin-user-doc -->
1140 * <!-- end-user-doc -->
1141 * @generated
1142 */
1143 EAttribute LOGIC_RESULT__REPRESENTATION = eINSTANCE.getLogicResult_Representation();
1144
1145 /**
1146 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.ModelResultImpl <em>Model Result</em>}' class.
1147 * <!-- begin-user-doc -->
1148 * <!-- end-user-doc -->
1149 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.ModelResultImpl
1150 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getModelResult()
1151 * @generated
1152 */
1153 EClass MODEL_RESULT = eINSTANCE.getModelResult();
1154
1155 /**
1156 * The meta object literal for the '<em><b>Max Integer</b></em>' attribute feature.
1157 * <!-- begin-user-doc -->
1158 * <!-- end-user-doc -->
1159 * @generated
1160 */
1161 EAttribute MODEL_RESULT__MAX_INTEGER = eINSTANCE.getModelResult_MaxInteger();
1162
1163 /**
1164 * The meta object literal for the '<em><b>Min Integer</b></em>' attribute feature.
1165 * <!-- begin-user-doc -->
1166 * <!-- end-user-doc -->
1167 * @generated
1168 */
1169 EAttribute MODEL_RESULT__MIN_INTEGER = eINSTANCE.getModelResult_MinInteger();
1170
1171 /**
1172 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.InconsistencyResultImpl <em>Inconsistency Result</em>}' class.
1173 * <!-- begin-user-doc -->
1174 * <!-- end-user-doc -->
1175 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.InconsistencyResultImpl
1176 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getInconsistencyResult()
1177 * @generated
1178 */
1179 EClass INCONSISTENCY_RESULT = eINSTANCE.getInconsistencyResult();
1180
1181 /**
1182 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.UnknownResultImpl <em>Unknown Result</em>}' class.
1183 * <!-- begin-user-doc -->
1184 * <!-- end-user-doc -->
1185 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.UnknownResultImpl
1186 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getUnknownResult()
1187 * @generated
1188 */
1189 EClass UNKNOWN_RESULT = eINSTANCE.getUnknownResult();
1190
1191 /**
1192 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.InsuficientResourcesResultImpl <em>Insuficient Resources Result</em>}' class.
1193 * <!-- begin-user-doc -->
1194 * <!-- end-user-doc -->
1195 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.InsuficientResourcesResultImpl
1196 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getInsuficientResourcesResult()
1197 * @generated
1198 */
1199 EClass INSUFICIENT_RESOURCES_RESULT = eINSTANCE.getInsuficientResourcesResult();
1200
1201 /**
1202 * The meta object literal for the '<em><b>Resource Name</b></em>' attribute feature.
1203 * <!-- begin-user-doc -->
1204 * <!-- end-user-doc -->
1205 * @generated
1206 */
1207 EAttribute INSUFICIENT_RESOURCES_RESULT__RESOURCE_NAME = eINSTANCE.getInsuficientResourcesResult_ResourceName();
1208
1209 /**
1210 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.ErrorResultImpl <em>Error Result</em>}' class.
1211 * <!-- begin-user-doc -->
1212 * <!-- end-user-doc -->
1213 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.ErrorResultImpl
1214 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getErrorResult()
1215 * @generated
1216 */
1217 EClass ERROR_RESULT = eINSTANCE.getErrorResult();
1218
1219 /**
1220 * The meta object literal for the '<em><b>Message</b></em>' attribute feature.
1221 * <!-- begin-user-doc -->
1222 * <!-- end-user-doc -->
1223 * @generated
1224 */
1225 EAttribute ERROR_RESULT__MESSAGE = eINSTANCE.getErrorResult_Message();
1226
1227 /**
1228 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StatisticsImpl <em>Statistics</em>}' class.
1229 * <!-- begin-user-doc -->
1230 * <!-- end-user-doc -->
1231 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StatisticsImpl
1232 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getStatistics()
1233 * @generated
1234 */
1235 EClass STATISTICS = eINSTANCE.getStatistics();
1236
1237 /**
1238 * The meta object literal for the '<em><b>Entries</b></em>' containment reference list feature.
1239 * <!-- begin-user-doc -->
1240 * <!-- end-user-doc -->
1241 * @generated
1242 */
1243 EReference STATISTICS__ENTRIES = eINSTANCE.getStatistics_Entries();
1244
1245 /**
1246 * The meta object literal for the '<em><b>Transformation Time</b></em>' attribute feature.
1247 * <!-- begin-user-doc -->
1248 * <!-- end-user-doc -->
1249 * @generated
1250 */
1251 EAttribute STATISTICS__TRANSFORMATION_TIME = eINSTANCE.getStatistics_TransformationTime();
1252
1253 /**
1254 * The meta object literal for the '<em><b>Solver Time</b></em>' attribute feature.
1255 * <!-- begin-user-doc -->
1256 * <!-- end-user-doc -->
1257 * @generated
1258 */
1259 EAttribute STATISTICS__SOLVER_TIME = eINSTANCE.getStatistics_SolverTime();
1260
1261 /**
1262 * The meta object literal for the '<em><b>Solver Memory</b></em>' attribute feature.
1263 * <!-- begin-user-doc -->
1264 * <!-- end-user-doc -->
1265 * @generated
1266 */
1267 EAttribute STATISTICS__SOLVER_MEMORY = eINSTANCE.getStatistics_SolverMemory();
1268
1269 /**
1270 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StatisticEntryImpl <em>Statistic Entry</em>}' class.
1271 * <!-- begin-user-doc -->
1272 * <!-- end-user-doc -->
1273 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StatisticEntryImpl
1274 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getStatisticEntry()
1275 * @generated
1276 */
1277 EClass STATISTIC_ENTRY = eINSTANCE.getStatisticEntry();
1278
1279 /**
1280 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
1281 * <!-- begin-user-doc -->
1282 * <!-- end-user-doc -->
1283 * @generated
1284 */
1285 EAttribute STATISTIC_ENTRY__NAME = eINSTANCE.getStatisticEntry_Name();
1286
1287 /**
1288 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.UndecidableResultImpl <em>Undecidable Result</em>}' class.
1289 * <!-- begin-user-doc -->
1290 * <!-- end-user-doc -->
1291 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.UndecidableResultImpl
1292 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getUndecidableResult()
1293 * @generated
1294 */
1295 EClass UNDECIDABLE_RESULT = eINSTANCE.getUndecidableResult();
1296
1297 /**
1298 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.IntStatisticEntryImpl <em>Int Statistic Entry</em>}' class.
1299 * <!-- begin-user-doc -->
1300 * <!-- end-user-doc -->
1301 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.IntStatisticEntryImpl
1302 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getIntStatisticEntry()
1303 * @generated
1304 */
1305 EClass INT_STATISTIC_ENTRY = eINSTANCE.getIntStatisticEntry();
1306
1307 /**
1308 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
1309 * <!-- begin-user-doc -->
1310 * <!-- end-user-doc -->
1311 * @generated
1312 */
1313 EAttribute INT_STATISTIC_ENTRY__VALUE = eINSTANCE.getIntStatisticEntry_Value();
1314
1315 /**
1316 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.RealStatisticEntryImpl <em>Real Statistic Entry</em>}' class.
1317 * <!-- begin-user-doc -->
1318 * <!-- end-user-doc -->
1319 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.RealStatisticEntryImpl
1320 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getRealStatisticEntry()
1321 * @generated
1322 */
1323 EClass REAL_STATISTIC_ENTRY = eINSTANCE.getRealStatisticEntry();
1324
1325 /**
1326 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
1327 * <!-- begin-user-doc -->
1328 * <!-- end-user-doc -->
1329 * @generated
1330 */
1331 EAttribute REAL_STATISTIC_ENTRY__VALUE = eINSTANCE.getRealStatisticEntry_Value();
1332
1333 /**
1334 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StringStatisticEntryImpl <em>String Statistic Entry</em>}' class.
1335 * <!-- begin-user-doc -->
1336 * <!-- end-user-doc -->
1337 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StringStatisticEntryImpl
1338 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicresultPackageImpl#getStringStatisticEntry()
1339 * @generated
1340 */
1341 EClass STRING_STATISTIC_ENTRY = eINSTANCE.getStringStatisticEntry();
1342
1343 /**
1344 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
1345 * <!-- begin-user-doc -->
1346 * <!-- end-user-doc -->
1347 * @generated
1348 */
1349 EAttribute STRING_STATISTIC_ENTRY__VALUE = eINSTANCE.getStringStatisticEntry_Value();
1350
1351 }
1352
1353} //LogicresultPackage
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/ModelResult.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/ModelResult.java
new file mode 100644
index 00000000..6cef941d
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/ModelResult.java
@@ -0,0 +1,76 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Model Result</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult#getMaxInteger <em>Max Integer</em>}</li>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult#getMinInteger <em>Min Integer</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getModelResult()
20 * @model
21 * @generated
22 */
23public interface ModelResult extends LogicResult {
24 /**
25 * Returns the value of the '<em><b>Max Integer</b></em>' attribute.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Max Integer</em>' attribute isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Max Integer</em>' attribute.
33 * @see #setMaxInteger(int)
34 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getModelResult_MaxInteger()
35 * @model required="true"
36 * @generated
37 */
38 int getMaxInteger();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult#getMaxInteger <em>Max Integer</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Max Integer</em>' attribute.
45 * @see #getMaxInteger()
46 * @generated
47 */
48 void setMaxInteger(int value);
49
50 /**
51 * Returns the value of the '<em><b>Min Integer</b></em>' attribute.
52 * <!-- begin-user-doc -->
53 * <p>
54 * If the meaning of the '<em>Min Integer</em>' attribute isn't clear,
55 * there really should be more of a description here...
56 * </p>
57 * <!-- end-user-doc -->
58 * @return the value of the '<em>Min Integer</em>' attribute.
59 * @see #setMinInteger(int)
60 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getModelResult_MinInteger()
61 * @model required="true"
62 * @generated
63 */
64 int getMinInteger();
65
66 /**
67 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult#getMinInteger <em>Min Integer</em>}' attribute.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @param value the new value of the '<em>Min Integer</em>' attribute.
71 * @see #getMinInteger()
72 * @generated
73 */
74 void setMinInteger(int value);
75
76} // ModelResult
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/RealStatisticEntry.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/RealStatisticEntry.java
new file mode 100644
index 00000000..427416bf
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/RealStatisticEntry.java
@@ -0,0 +1,49 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Real Statistic Entry</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.RealStatisticEntry#getValue <em>Value</em>}</li>
16 * </ul>
17 *
18 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getRealStatisticEntry()
19 * @model
20 * @generated
21 */
22public interface RealStatisticEntry extends StatisticEntry {
23 /**
24 * Returns the value of the '<em><b>Value</b></em>' attribute.
25 * <!-- begin-user-doc -->
26 * <p>
27 * If the meaning of the '<em>Value</em>' attribute isn't clear,
28 * there really should be more of a description here...
29 * </p>
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Value</em>' attribute.
32 * @see #setValue(double)
33 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getRealStatisticEntry_Value()
34 * @model required="true"
35 * @generated
36 */
37 double getValue();
38
39 /**
40 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.RealStatisticEntry#getValue <em>Value</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Value</em>' attribute.
44 * @see #getValue()
45 * @generated
46 */
47 void setValue(double value);
48
49} // RealStatisticEntry
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/StatisticEntry.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/StatisticEntry.java
new file mode 100644
index 00000000..f805c781
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/StatisticEntry.java
@@ -0,0 +1,50 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Statistic Entry</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StatisticEntry#getName <em>Name</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getStatisticEntry()
20 * @model abstract="true"
21 * @generated
22 */
23public interface StatisticEntry extends EObject {
24 /**
25 * Returns the value of the '<em><b>Name</b></em>' attribute.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Name</em>' attribute isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Name</em>' attribute.
33 * @see #setName(String)
34 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getStatisticEntry_Name()
35 * @model required="true"
36 * @generated
37 */
38 String getName();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StatisticEntry#getName <em>Name</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Name</em>' attribute.
45 * @see #getName()
46 * @generated
47 */
48 void setName(String value);
49
50} // StatisticEntry
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/Statistics.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/Statistics.java
new file mode 100644
index 00000000..5b14d009
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/Statistics.java
@@ -0,0 +1,126 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Statistics</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics#getEntries <em>Entries</em>}</li>
19 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics#getTransformationTime <em>Transformation Time</em>}</li>
20 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics#getSolverTime <em>Solver Time</em>}</li>
21 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics#getSolverMemory <em>Solver Memory</em>}</li>
22 * </ul>
23 *
24 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getStatistics()
25 * @model
26 * @generated
27 */
28public interface Statistics extends EObject {
29 /**
30 * Returns the value of the '<em><b>Entries</b></em>' containment reference list.
31 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StatisticEntry}.
32 * <!-- begin-user-doc -->
33 * <p>
34 * If the meaning of the '<em>Entries</em>' containment reference list isn't clear,
35 * there really should be more of a description here...
36 * </p>
37 * <!-- end-user-doc -->
38 * @return the value of the '<em>Entries</em>' containment reference list.
39 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getStatistics_Entries()
40 * @model containment="true"
41 * @generated
42 */
43 EList<StatisticEntry> getEntries();
44
45 /**
46 * Returns the value of the '<em><b>Transformation Time</b></em>' attribute.
47 * The default value is <code>"-1"</code>.
48 * <!-- begin-user-doc -->
49 * <p>
50 * If the meaning of the '<em>Transformation Time</em>' attribute isn't clear,
51 * there really should be more of a description here...
52 * </p>
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Transformation Time</em>' attribute.
55 * @see #setTransformationTime(int)
56 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getStatistics_TransformationTime()
57 * @model default="-1" required="true"
58 * @generated
59 */
60 int getTransformationTime();
61
62 /**
63 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics#getTransformationTime <em>Transformation Time</em>}' attribute.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @param value the new value of the '<em>Transformation Time</em>' attribute.
67 * @see #getTransformationTime()
68 * @generated
69 */
70 void setTransformationTime(int value);
71
72 /**
73 * Returns the value of the '<em><b>Solver Time</b></em>' attribute.
74 * The default value is <code>"-1"</code>.
75 * <!-- begin-user-doc -->
76 * <p>
77 * If the meaning of the '<em>Solver Time</em>' attribute isn't clear,
78 * there really should be more of a description here...
79 * </p>
80 * <!-- end-user-doc -->
81 * @return the value of the '<em>Solver Time</em>' attribute.
82 * @see #setSolverTime(int)
83 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getStatistics_SolverTime()
84 * @model default="-1" required="true"
85 * @generated
86 */
87 int getSolverTime();
88
89 /**
90 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics#getSolverTime <em>Solver Time</em>}' attribute.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @param value the new value of the '<em>Solver Time</em>' attribute.
94 * @see #getSolverTime()
95 * @generated
96 */
97 void setSolverTime(int value);
98
99 /**
100 * Returns the value of the '<em><b>Solver Memory</b></em>' attribute.
101 * The default value is <code>"-1"</code>.
102 * <!-- begin-user-doc -->
103 * <p>
104 * If the meaning of the '<em>Solver Memory</em>' attribute isn't clear,
105 * there really should be more of a description here...
106 * </p>
107 * <!-- end-user-doc -->
108 * @return the value of the '<em>Solver Memory</em>' attribute.
109 * @see #setSolverMemory(int)
110 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getStatistics_SolverMemory()
111 * @model default="-1"
112 * @generated
113 */
114 int getSolverMemory();
115
116 /**
117 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics#getSolverMemory <em>Solver Memory</em>}' attribute.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @param value the new value of the '<em>Solver Memory</em>' attribute.
121 * @see #getSolverMemory()
122 * @generated
123 */
124 void setSolverMemory(int value);
125
126} // Statistics
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/StringStatisticEntry.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/StringStatisticEntry.java
new file mode 100644
index 00000000..7d9208fa
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/StringStatisticEntry.java
@@ -0,0 +1,50 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>String Statistic Entry</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 * <p>
12 * The following features are supported:
13 * </p>
14 * <ul>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StringStatisticEntry#getValue <em>Value</em>}</li>
16 * </ul>
17 *
18 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getStringStatisticEntry()
19 * @model
20 * @generated
21 */
22public interface StringStatisticEntry extends StatisticEntry {
23 /**
24 * Returns the value of the '<em><b>Value</b></em>' attribute.
25 * The default value is <code>"Unfilled"</code>.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Value</em>' attribute isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Value</em>' attribute.
33 * @see #setValue(String)
34 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getStringStatisticEntry_Value()
35 * @model default="Unfilled" required="true"
36 * @generated
37 */
38 String getValue();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StringStatisticEntry#getValue <em>Value</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Value</em>' attribute.
45 * @see #getValue()
46 * @generated
47 */
48 void setValue(String value);
49
50} // StringStatisticEntry
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/UndecidableResult.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/UndecidableResult.java
new file mode 100644
index 00000000..e820eb4f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/UndecidableResult.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Undecidable Result</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getUndecidableResult()
13 * @model
14 * @generated
15 */
16public interface UndecidableResult extends UnknownResult {
17} // UndecidableResult
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/UnknownResult.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/UnknownResult.java
new file mode 100644
index 00000000..25afa286
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/UnknownResult.java
@@ -0,0 +1,17 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>Unknown Result</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#getUnknownResult()
13 * @model abstract="true"
14 * @generated
15 */
16public interface UnknownResult extends LogicResult {
17} // UnknownResult
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/ErrorResultImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/ErrorResultImpl.java
new file mode 100644
index 00000000..579bc772
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/ErrorResultImpl.java
@@ -0,0 +1,162 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ErrorResult;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Error Result</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.ErrorResultImpl#getMessage <em>Message</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class ErrorResultImpl extends UnknownResultImpl implements ErrorResult {
28 /**
29 * The default value of the '{@link #getMessage() <em>Message</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getMessage()
33 * @generated
34 * @ordered
35 */
36 protected static final String MESSAGE_EDEFAULT = null;
37
38 /**
39 * The cached value of the '{@link #getMessage() <em>Message</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getMessage()
43 * @generated
44 * @ordered
45 */
46 protected String message = MESSAGE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected ErrorResultImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return LogicresultPackage.Literals.ERROR_RESULT;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public String getMessage() {
73 return message;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setMessage(String newMessage) {
82 String oldMessage = message;
83 message = newMessage;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, LogicresultPackage.ERROR_RESULT__MESSAGE, oldMessage, message));
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 @Override
94 public Object eGet(int featureID, boolean resolve, boolean coreType) {
95 switch (featureID) {
96 case LogicresultPackage.ERROR_RESULT__MESSAGE:
97 return getMessage();
98 }
99 return super.eGet(featureID, resolve, coreType);
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 @Override
108 public void eSet(int featureID, Object newValue) {
109 switch (featureID) {
110 case LogicresultPackage.ERROR_RESULT__MESSAGE:
111 setMessage((String)newValue);
112 return;
113 }
114 super.eSet(featureID, newValue);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public void eUnset(int featureID) {
124 switch (featureID) {
125 case LogicresultPackage.ERROR_RESULT__MESSAGE:
126 setMessage(MESSAGE_EDEFAULT);
127 return;
128 }
129 super.eUnset(featureID);
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public boolean eIsSet(int featureID) {
139 switch (featureID) {
140 case LogicresultPackage.ERROR_RESULT__MESSAGE:
141 return MESSAGE_EDEFAULT == null ? message != null : !MESSAGE_EDEFAULT.equals(message);
142 }
143 return super.eIsSet(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public String toString() {
153 if (eIsProxy()) return super.toString();
154
155 StringBuffer result = new StringBuffer(super.toString());
156 result.append(" (message: ");
157 result.append(message);
158 result.append(')');
159 return result.toString();
160 }
161
162} //ErrorResultImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/InconsistencyResultImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/InconsistencyResultImpl.java
new file mode 100644
index 00000000..de24477d
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/InconsistencyResultImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InconsistencyResult;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Inconsistency Result</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class InconsistencyResultImpl extends LogicResultImpl implements InconsistencyResult {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected InconsistencyResultImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogicresultPackage.Literals.INCONSISTENCY_RESULT;
35 }
36
37} //InconsistencyResultImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/InsuficientResourcesResultImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/InsuficientResourcesResultImpl.java
new file mode 100644
index 00000000..3f8d7ebf
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/InsuficientResourcesResultImpl.java
@@ -0,0 +1,162 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InsuficientResourcesResult;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Insuficient Resources Result</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.InsuficientResourcesResultImpl#getResourceName <em>Resource Name</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class InsuficientResourcesResultImpl extends UnknownResultImpl implements InsuficientResourcesResult {
28 /**
29 * The default value of the '{@link #getResourceName() <em>Resource Name</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getResourceName()
33 * @generated
34 * @ordered
35 */
36 protected static final String RESOURCE_NAME_EDEFAULT = null;
37
38 /**
39 * The cached value of the '{@link #getResourceName() <em>Resource Name</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getResourceName()
43 * @generated
44 * @ordered
45 */
46 protected String resourceName = RESOURCE_NAME_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected InsuficientResourcesResultImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return LogicresultPackage.Literals.INSUFICIENT_RESOURCES_RESULT;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public String getResourceName() {
73 return resourceName;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setResourceName(String newResourceName) {
82 String oldResourceName = resourceName;
83 resourceName = newResourceName;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, LogicresultPackage.INSUFICIENT_RESOURCES_RESULT__RESOURCE_NAME, oldResourceName, resourceName));
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 @Override
94 public Object eGet(int featureID, boolean resolve, boolean coreType) {
95 switch (featureID) {
96 case LogicresultPackage.INSUFICIENT_RESOURCES_RESULT__RESOURCE_NAME:
97 return getResourceName();
98 }
99 return super.eGet(featureID, resolve, coreType);
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 @Override
108 public void eSet(int featureID, Object newValue) {
109 switch (featureID) {
110 case LogicresultPackage.INSUFICIENT_RESOURCES_RESULT__RESOURCE_NAME:
111 setResourceName((String)newValue);
112 return;
113 }
114 super.eSet(featureID, newValue);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public void eUnset(int featureID) {
124 switch (featureID) {
125 case LogicresultPackage.INSUFICIENT_RESOURCES_RESULT__RESOURCE_NAME:
126 setResourceName(RESOURCE_NAME_EDEFAULT);
127 return;
128 }
129 super.eUnset(featureID);
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public boolean eIsSet(int featureID) {
139 switch (featureID) {
140 case LogicresultPackage.INSUFICIENT_RESOURCES_RESULT__RESOURCE_NAME:
141 return RESOURCE_NAME_EDEFAULT == null ? resourceName != null : !RESOURCE_NAME_EDEFAULT.equals(resourceName);
142 }
143 return super.eIsSet(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public String toString() {
153 if (eIsProxy()) return super.toString();
154
155 StringBuffer result = new StringBuffer(super.toString());
156 result.append(" (resourceName: ");
157 result.append(resourceName);
158 result.append(')');
159 return result.toString();
160 }
161
162} //InsuficientResourcesResultImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/IntStatisticEntryImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/IntStatisticEntryImpl.java
new file mode 100644
index 00000000..e8bedf70
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/IntStatisticEntryImpl.java
@@ -0,0 +1,162 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.IntStatisticEntry;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Int Statistic Entry</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.IntStatisticEntryImpl#getValue <em>Value</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class IntStatisticEntryImpl extends StatisticEntryImpl implements IntStatisticEntry {
28 /**
29 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getValue()
33 * @generated
34 * @ordered
35 */
36 protected static final int VALUE_EDEFAULT = 0;
37
38 /**
39 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getValue()
43 * @generated
44 * @ordered
45 */
46 protected int value = VALUE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected IntStatisticEntryImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return LogicresultPackage.Literals.INT_STATISTIC_ENTRY;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public int getValue() {
73 return value;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setValue(int newValue) {
82 int oldValue = value;
83 value = newValue;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, LogicresultPackage.INT_STATISTIC_ENTRY__VALUE, oldValue, value));
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 @Override
94 public Object eGet(int featureID, boolean resolve, boolean coreType) {
95 switch (featureID) {
96 case LogicresultPackage.INT_STATISTIC_ENTRY__VALUE:
97 return getValue();
98 }
99 return super.eGet(featureID, resolve, coreType);
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 @Override
108 public void eSet(int featureID, Object newValue) {
109 switch (featureID) {
110 case LogicresultPackage.INT_STATISTIC_ENTRY__VALUE:
111 setValue((Integer)newValue);
112 return;
113 }
114 super.eSet(featureID, newValue);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public void eUnset(int featureID) {
124 switch (featureID) {
125 case LogicresultPackage.INT_STATISTIC_ENTRY__VALUE:
126 setValue(VALUE_EDEFAULT);
127 return;
128 }
129 super.eUnset(featureID);
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public boolean eIsSet(int featureID) {
139 switch (featureID) {
140 case LogicresultPackage.INT_STATISTIC_ENTRY__VALUE:
141 return value != VALUE_EDEFAULT;
142 }
143 return super.eIsSet(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public String toString() {
153 if (eIsProxy()) return super.toString();
154
155 StringBuffer result = new StringBuffer(super.toString());
156 result.append(" (value: ");
157 result.append(value);
158 result.append(')');
159 return result.toString();
160 }
161
162} //IntStatisticEntryImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/LogicResultImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/LogicResultImpl.java
new file mode 100644
index 00000000..1bd5c833
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/LogicResultImpl.java
@@ -0,0 +1,346 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
6
7import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult;
8import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage;
9import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics;
10
11import java.util.Collection;
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16import org.eclipse.emf.ecore.EClass;
17import org.eclipse.emf.ecore.InternalEObject;
18
19import org.eclipse.emf.ecore.impl.ENotificationImpl;
20import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
21import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Logic Result</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicResultImpl#getProblem <em>Problem</em>}</li>
32 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicResultImpl#getStatistics <em>Statistics</em>}</li>
33 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicResultImpl#getTrace <em>Trace</em>}</li>
34 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.LogicResultImpl#getRepresentation <em>Representation</em>}</li>
35 * </ul>
36 *
37 * @generated
38 */
39public abstract class LogicResultImpl extends MinimalEObjectImpl.Container implements LogicResult {
40 /**
41 * The cached value of the '{@link #getProblem() <em>Problem</em>}' reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getProblem()
45 * @generated
46 * @ordered
47 */
48 protected LogicProblem problem;
49
50 /**
51 * The cached value of the '{@link #getStatistics() <em>Statistics</em>}' containment reference.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #getStatistics()
55 * @generated
56 * @ordered
57 */
58 protected Statistics statistics;
59
60 /**
61 * The default value of the '{@link #getTrace() <em>Trace</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #getTrace()
65 * @generated
66 * @ordered
67 */
68 protected static final Object TRACE_EDEFAULT = null;
69
70 /**
71 * The cached value of the '{@link #getTrace() <em>Trace</em>}' attribute.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @see #getTrace()
75 * @generated
76 * @ordered
77 */
78 protected Object trace = TRACE_EDEFAULT;
79
80 /**
81 * The cached value of the '{@link #getRepresentation() <em>Representation</em>}' attribute list.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @see #getRepresentation()
85 * @generated
86 * @ordered
87 */
88 protected EList<Object> representation;
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 protected LogicResultImpl() {
96 super();
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 protected EClass eStaticClass() {
106 return LogicresultPackage.Literals.LOGIC_RESULT;
107 }
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 public LogicProblem getProblem() {
115 if (problem != null && problem.eIsProxy()) {
116 InternalEObject oldProblem = (InternalEObject)problem;
117 problem = (LogicProblem)eResolveProxy(oldProblem);
118 if (problem != oldProblem) {
119 if (eNotificationRequired())
120 eNotify(new ENotificationImpl(this, Notification.RESOLVE, LogicresultPackage.LOGIC_RESULT__PROBLEM, oldProblem, problem));
121 }
122 }
123 return problem;
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 public LogicProblem basicGetProblem() {
132 return problem;
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 public void setProblem(LogicProblem newProblem) {
141 LogicProblem oldProblem = problem;
142 problem = newProblem;
143 if (eNotificationRequired())
144 eNotify(new ENotificationImpl(this, Notification.SET, LogicresultPackage.LOGIC_RESULT__PROBLEM, oldProblem, problem));
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 public Statistics getStatistics() {
153 return statistics;
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 public NotificationChain basicSetStatistics(Statistics newStatistics, NotificationChain msgs) {
162 Statistics oldStatistics = statistics;
163 statistics = newStatistics;
164 if (eNotificationRequired()) {
165 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LogicresultPackage.LOGIC_RESULT__STATISTICS, oldStatistics, newStatistics);
166 if (msgs == null) msgs = notification; else msgs.add(notification);
167 }
168 return msgs;
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 public void setStatistics(Statistics newStatistics) {
177 if (newStatistics != statistics) {
178 NotificationChain msgs = null;
179 if (statistics != null)
180 msgs = ((InternalEObject)statistics).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LogicresultPackage.LOGIC_RESULT__STATISTICS, null, msgs);
181 if (newStatistics != null)
182 msgs = ((InternalEObject)newStatistics).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LogicresultPackage.LOGIC_RESULT__STATISTICS, null, msgs);
183 msgs = basicSetStatistics(newStatistics, msgs);
184 if (msgs != null) msgs.dispatch();
185 }
186 else if (eNotificationRequired())
187 eNotify(new ENotificationImpl(this, Notification.SET, LogicresultPackage.LOGIC_RESULT__STATISTICS, newStatistics, newStatistics));
188 }
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 public Object getTrace() {
196 return trace;
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 public void setTrace(Object newTrace) {
205 Object oldTrace = trace;
206 trace = newTrace;
207 if (eNotificationRequired())
208 eNotify(new ENotificationImpl(this, Notification.SET, LogicresultPackage.LOGIC_RESULT__TRACE, oldTrace, trace));
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 public EList<Object> getRepresentation() {
217 if (representation == null) {
218 representation = new EDataTypeUniqueEList<Object>(Object.class, this, LogicresultPackage.LOGIC_RESULT__REPRESENTATION);
219 }
220 return representation;
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
230 switch (featureID) {
231 case LogicresultPackage.LOGIC_RESULT__STATISTICS:
232 return basicSetStatistics(null, msgs);
233 }
234 return super.eInverseRemove(otherEnd, featureID, msgs);
235 }
236
237 /**
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @generated
241 */
242 @Override
243 public Object eGet(int featureID, boolean resolve, boolean coreType) {
244 switch (featureID) {
245 case LogicresultPackage.LOGIC_RESULT__PROBLEM:
246 if (resolve) return getProblem();
247 return basicGetProblem();
248 case LogicresultPackage.LOGIC_RESULT__STATISTICS:
249 return getStatistics();
250 case LogicresultPackage.LOGIC_RESULT__TRACE:
251 return getTrace();
252 case LogicresultPackage.LOGIC_RESULT__REPRESENTATION:
253 return getRepresentation();
254 }
255 return super.eGet(featureID, resolve, coreType);
256 }
257
258 /**
259 * <!-- begin-user-doc -->
260 * <!-- end-user-doc -->
261 * @generated
262 */
263 @SuppressWarnings("unchecked")
264 @Override
265 public void eSet(int featureID, Object newValue) {
266 switch (featureID) {
267 case LogicresultPackage.LOGIC_RESULT__PROBLEM:
268 setProblem((LogicProblem)newValue);
269 return;
270 case LogicresultPackage.LOGIC_RESULT__STATISTICS:
271 setStatistics((Statistics)newValue);
272 return;
273 case LogicresultPackage.LOGIC_RESULT__TRACE:
274 setTrace(newValue);
275 return;
276 case LogicresultPackage.LOGIC_RESULT__REPRESENTATION:
277 getRepresentation().clear();
278 getRepresentation().addAll((Collection<? extends Object>)newValue);
279 return;
280 }
281 super.eSet(featureID, newValue);
282 }
283
284 /**
285 * <!-- begin-user-doc -->
286 * <!-- end-user-doc -->
287 * @generated
288 */
289 @Override
290 public void eUnset(int featureID) {
291 switch (featureID) {
292 case LogicresultPackage.LOGIC_RESULT__PROBLEM:
293 setProblem((LogicProblem)null);
294 return;
295 case LogicresultPackage.LOGIC_RESULT__STATISTICS:
296 setStatistics((Statistics)null);
297 return;
298 case LogicresultPackage.LOGIC_RESULT__TRACE:
299 setTrace(TRACE_EDEFAULT);
300 return;
301 case LogicresultPackage.LOGIC_RESULT__REPRESENTATION:
302 getRepresentation().clear();
303 return;
304 }
305 super.eUnset(featureID);
306 }
307
308 /**
309 * <!-- begin-user-doc -->
310 * <!-- end-user-doc -->
311 * @generated
312 */
313 @Override
314 public boolean eIsSet(int featureID) {
315 switch (featureID) {
316 case LogicresultPackage.LOGIC_RESULT__PROBLEM:
317 return problem != null;
318 case LogicresultPackage.LOGIC_RESULT__STATISTICS:
319 return statistics != null;
320 case LogicresultPackage.LOGIC_RESULT__TRACE:
321 return TRACE_EDEFAULT == null ? trace != null : !TRACE_EDEFAULT.equals(trace);
322 case LogicresultPackage.LOGIC_RESULT__REPRESENTATION:
323 return representation != null && !representation.isEmpty();
324 }
325 return super.eIsSet(featureID);
326 }
327
328 /**
329 * <!-- begin-user-doc -->
330 * <!-- end-user-doc -->
331 * @generated
332 */
333 @Override
334 public String toString() {
335 if (eIsProxy()) return super.toString();
336
337 StringBuffer result = new StringBuffer(super.toString());
338 result.append(" (trace: ");
339 result.append(trace);
340 result.append(", representation: ");
341 result.append(representation);
342 result.append(')');
343 return result.toString();
344 }
345
346} //LogicResultImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/LogicresultFactoryImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/LogicresultFactoryImpl.java
new file mode 100644
index 00000000..5a102523
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/LogicresultFactoryImpl.java
@@ -0,0 +1,183 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.*;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage;
10
11import org.eclipse.emf.ecore.impl.EFactoryImpl;
12
13import org.eclipse.emf.ecore.plugin.EcorePlugin;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model <b>Factory</b>.
18 * <!-- end-user-doc -->
19 * @generated
20 */
21public class LogicresultFactoryImpl extends EFactoryImpl implements LogicresultFactory {
22 /**
23 * Creates the default factory implementation.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @generated
27 */
28 public static LogicresultFactory init() {
29 try {
30 LogicresultFactory theLogicresultFactory = (LogicresultFactory)EPackage.Registry.INSTANCE.getEFactory(LogicresultPackage.eNS_URI);
31 if (theLogicresultFactory != null) {
32 return theLogicresultFactory;
33 }
34 }
35 catch (Exception exception) {
36 EcorePlugin.INSTANCE.log(exception);
37 }
38 return new LogicresultFactoryImpl();
39 }
40
41 /**
42 * Creates an instance of the factory.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 public LogicresultFactoryImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 public EObject create(EClass eClass) {
58 switch (eClass.getClassifierID()) {
59 case LogicresultPackage.MODEL_RESULT: return createModelResult();
60 case LogicresultPackage.INCONSISTENCY_RESULT: return createInconsistencyResult();
61 case LogicresultPackage.INSUFICIENT_RESOURCES_RESULT: return createInsuficientResourcesResult();
62 case LogicresultPackage.ERROR_RESULT: return createErrorResult();
63 case LogicresultPackage.STATISTICS: return createStatistics();
64 case LogicresultPackage.UNDECIDABLE_RESULT: return createUndecidableResult();
65 case LogicresultPackage.INT_STATISTIC_ENTRY: return createIntStatisticEntry();
66 case LogicresultPackage.REAL_STATISTIC_ENTRY: return createRealStatisticEntry();
67 case LogicresultPackage.STRING_STATISTIC_ENTRY: return createStringStatisticEntry();
68 default:
69 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
70 }
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 public ModelResult createModelResult() {
79 ModelResultImpl modelResult = new ModelResultImpl();
80 return modelResult;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 public InconsistencyResult createInconsistencyResult() {
89 InconsistencyResultImpl inconsistencyResult = new InconsistencyResultImpl();
90 return inconsistencyResult;
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 public InsuficientResourcesResult createInsuficientResourcesResult() {
99 InsuficientResourcesResultImpl insuficientResourcesResult = new InsuficientResourcesResultImpl();
100 return insuficientResourcesResult;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 public ErrorResult createErrorResult() {
109 ErrorResultImpl errorResult = new ErrorResultImpl();
110 return errorResult;
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public Statistics createStatistics() {
119 StatisticsImpl statistics = new StatisticsImpl();
120 return statistics;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public UndecidableResult createUndecidableResult() {
129 UndecidableResultImpl undecidableResult = new UndecidableResultImpl();
130 return undecidableResult;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public IntStatisticEntry createIntStatisticEntry() {
139 IntStatisticEntryImpl intStatisticEntry = new IntStatisticEntryImpl();
140 return intStatisticEntry;
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 public RealStatisticEntry createRealStatisticEntry() {
149 RealStatisticEntryImpl realStatisticEntry = new RealStatisticEntryImpl();
150 return realStatisticEntry;
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 public StringStatisticEntry createStringStatisticEntry() {
159 StringStatisticEntryImpl stringStatisticEntry = new StringStatisticEntryImpl();
160 return stringStatisticEntry;
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 public LogicresultPackage getLogicresultPackage() {
169 return (LogicresultPackage)getEPackage();
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @deprecated
176 * @generated
177 */
178 @Deprecated
179 public static LogicresultPackage getPackage() {
180 return LogicresultPackage.eINSTANCE;
181 }
182
183} //LogicresultFactoryImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/LogicresultPackageImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/LogicresultPackageImpl.java
new file mode 100644
index 00000000..8b0e0605
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/LogicresultPackageImpl.java
@@ -0,0 +1,602 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.LogiclanguagePackageImpl;
8
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
10
11import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.LogicproblemPackageImpl;
12
13import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ErrorResult;
14import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InconsistencyResult;
15import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InsuficientResourcesResult;
16import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.IntStatisticEntry;
17import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult;
18import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultFactory;
19import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage;
20import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult;
21import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.RealStatisticEntry;
22import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StatisticEntry;
23import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics;
24import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StringStatisticEntry;
25import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.UndecidableResult;
26import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.UnknownResult;
27
28import org.eclipse.emf.ecore.EAttribute;
29import org.eclipse.emf.ecore.EClass;
30import org.eclipse.emf.ecore.EPackage;
31import org.eclipse.emf.ecore.EReference;
32
33import org.eclipse.emf.ecore.impl.EPackageImpl;
34
35/**
36 * <!-- begin-user-doc -->
37 * An implementation of the model <b>Package</b>.
38 * <!-- end-user-doc -->
39 * @generated
40 */
41public class LogicresultPackageImpl extends EPackageImpl implements LogicresultPackage {
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 private EClass logicResultEClass = null;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 private EClass modelResultEClass = null;
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 private EClass inconsistencyResultEClass = null;
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 private EClass unknownResultEClass = null;
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 private EClass insuficientResourcesResultEClass = null;
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 private EClass errorResultEClass = null;
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 private EClass statisticsEClass = null;
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 private EClass statisticEntryEClass = null;
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 private EClass undecidableResultEClass = null;
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 private EClass intStatisticEntryEClass = null;
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 private EClass realStatisticEntryEClass = null;
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 private EClass stringStatisticEntryEClass = null;
125
126 /**
127 * Creates an instance of the model <b>Package</b>, registered with
128 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
129 * package URI value.
130 * <p>Note: the correct way to create the package is via the static
131 * factory method {@link #init init()}, which also performs
132 * initialization of the package, or returns the registered package,
133 * if one already exists.
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @see org.eclipse.emf.ecore.EPackage.Registry
137 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage#eNS_URI
138 * @see #init()
139 * @generated
140 */
141 private LogicresultPackageImpl() {
142 super(eNS_URI, LogicresultFactory.eINSTANCE);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 private static boolean isInited = false;
151
152 /**
153 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
154 *
155 * <p>This method is used to initialize {@link LogicresultPackage#eINSTANCE} when that field is accessed.
156 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @see #eNS_URI
160 * @see #createPackageContents()
161 * @see #initializePackageContents()
162 * @generated
163 */
164 public static LogicresultPackage init() {
165 if (isInited) return (LogicresultPackage)EPackage.Registry.INSTANCE.getEPackage(LogicresultPackage.eNS_URI);
166
167 // Obtain or create and register package
168 LogicresultPackageImpl theLogicresultPackage = (LogicresultPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof LogicresultPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new LogicresultPackageImpl());
169
170 isInited = true;
171
172 // Obtain or create and register interdependencies
173 LogiclanguagePackageImpl theLogiclanguagePackage = (LogiclanguagePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(LogiclanguagePackage.eNS_URI) instanceof LogiclanguagePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(LogiclanguagePackage.eNS_URI) : LogiclanguagePackage.eINSTANCE);
174 LogicproblemPackageImpl theLogicproblemPackage = (LogicproblemPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(LogicproblemPackage.eNS_URI) instanceof LogicproblemPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(LogicproblemPackage.eNS_URI) : LogicproblemPackage.eINSTANCE);
175
176 // Create package meta-data objects
177 theLogicresultPackage.createPackageContents();
178 theLogiclanguagePackage.createPackageContents();
179 theLogicproblemPackage.createPackageContents();
180
181 // Initialize created meta-data
182 theLogicresultPackage.initializePackageContents();
183 theLogiclanguagePackage.initializePackageContents();
184 theLogicproblemPackage.initializePackageContents();
185
186 // Mark meta-data to indicate it can't be changed
187 theLogicresultPackage.freeze();
188
189
190 // Update the registry and return the package
191 EPackage.Registry.INSTANCE.put(LogicresultPackage.eNS_URI, theLogicresultPackage);
192 return theLogicresultPackage;
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 public EClass getLogicResult() {
201 return logicResultEClass;
202 }
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 public EReference getLogicResult_Problem() {
210 return (EReference)logicResultEClass.getEStructuralFeatures().get(0);
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 public EReference getLogicResult_Statistics() {
219 return (EReference)logicResultEClass.getEStructuralFeatures().get(1);
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 public EAttribute getLogicResult_Trace() {
228 return (EAttribute)logicResultEClass.getEStructuralFeatures().get(2);
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 public EAttribute getLogicResult_Representation() {
237 return (EAttribute)logicResultEClass.getEStructuralFeatures().get(3);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 public EClass getModelResult() {
246 return modelResultEClass;
247 }
248
249 /**
250 * <!-- begin-user-doc -->
251 * <!-- end-user-doc -->
252 * @generated
253 */
254 public EAttribute getModelResult_MaxInteger() {
255 return (EAttribute)modelResultEClass.getEStructuralFeatures().get(0);
256 }
257
258 /**
259 * <!-- begin-user-doc -->
260 * <!-- end-user-doc -->
261 * @generated
262 */
263 public EAttribute getModelResult_MinInteger() {
264 return (EAttribute)modelResultEClass.getEStructuralFeatures().get(1);
265 }
266
267 /**
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 public EClass getInconsistencyResult() {
273 return inconsistencyResultEClass;
274 }
275
276 /**
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 */
281 public EClass getUnknownResult() {
282 return unknownResultEClass;
283 }
284
285 /**
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @generated
289 */
290 public EClass getInsuficientResourcesResult() {
291 return insuficientResourcesResultEClass;
292 }
293
294 /**
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @generated
298 */
299 public EAttribute getInsuficientResourcesResult_ResourceName() {
300 return (EAttribute)insuficientResourcesResultEClass.getEStructuralFeatures().get(0);
301 }
302
303 /**
304 * <!-- begin-user-doc -->
305 * <!-- end-user-doc -->
306 * @generated
307 */
308 public EClass getErrorResult() {
309 return errorResultEClass;
310 }
311
312 /**
313 * <!-- begin-user-doc -->
314 * <!-- end-user-doc -->
315 * @generated
316 */
317 public EAttribute getErrorResult_Message() {
318 return (EAttribute)errorResultEClass.getEStructuralFeatures().get(0);
319 }
320
321 /**
322 * <!-- begin-user-doc -->
323 * <!-- end-user-doc -->
324 * @generated
325 */
326 public EClass getStatistics() {
327 return statisticsEClass;
328 }
329
330 /**
331 * <!-- begin-user-doc -->
332 * <!-- end-user-doc -->
333 * @generated
334 */
335 public EReference getStatistics_Entries() {
336 return (EReference)statisticsEClass.getEStructuralFeatures().get(0);
337 }
338
339 /**
340 * <!-- begin-user-doc -->
341 * <!-- end-user-doc -->
342 * @generated
343 */
344 public EAttribute getStatistics_TransformationTime() {
345 return (EAttribute)statisticsEClass.getEStructuralFeatures().get(1);
346 }
347
348 /**
349 * <!-- begin-user-doc -->
350 * <!-- end-user-doc -->
351 * @generated
352 */
353 public EAttribute getStatistics_SolverTime() {
354 return (EAttribute)statisticsEClass.getEStructuralFeatures().get(2);
355 }
356
357 /**
358 * <!-- begin-user-doc -->
359 * <!-- end-user-doc -->
360 * @generated
361 */
362 public EAttribute getStatistics_SolverMemory() {
363 return (EAttribute)statisticsEClass.getEStructuralFeatures().get(3);
364 }
365
366 /**
367 * <!-- begin-user-doc -->
368 * <!-- end-user-doc -->
369 * @generated
370 */
371 public EClass getStatisticEntry() {
372 return statisticEntryEClass;
373 }
374
375 /**
376 * <!-- begin-user-doc -->
377 * <!-- end-user-doc -->
378 * @generated
379 */
380 public EAttribute getStatisticEntry_Name() {
381 return (EAttribute)statisticEntryEClass.getEStructuralFeatures().get(0);
382 }
383
384 /**
385 * <!-- begin-user-doc -->
386 * <!-- end-user-doc -->
387 * @generated
388 */
389 public EClass getUndecidableResult() {
390 return undecidableResultEClass;
391 }
392
393 /**
394 * <!-- begin-user-doc -->
395 * <!-- end-user-doc -->
396 * @generated
397 */
398 public EClass getIntStatisticEntry() {
399 return intStatisticEntryEClass;
400 }
401
402 /**
403 * <!-- begin-user-doc -->
404 * <!-- end-user-doc -->
405 * @generated
406 */
407 public EAttribute getIntStatisticEntry_Value() {
408 return (EAttribute)intStatisticEntryEClass.getEStructuralFeatures().get(0);
409 }
410
411 /**
412 * <!-- begin-user-doc -->
413 * <!-- end-user-doc -->
414 * @generated
415 */
416 public EClass getRealStatisticEntry() {
417 return realStatisticEntryEClass;
418 }
419
420 /**
421 * <!-- begin-user-doc -->
422 * <!-- end-user-doc -->
423 * @generated
424 */
425 public EAttribute getRealStatisticEntry_Value() {
426 return (EAttribute)realStatisticEntryEClass.getEStructuralFeatures().get(0);
427 }
428
429 /**
430 * <!-- begin-user-doc -->
431 * <!-- end-user-doc -->
432 * @generated
433 */
434 public EClass getStringStatisticEntry() {
435 return stringStatisticEntryEClass;
436 }
437
438 /**
439 * <!-- begin-user-doc -->
440 * <!-- end-user-doc -->
441 * @generated
442 */
443 public EAttribute getStringStatisticEntry_Value() {
444 return (EAttribute)stringStatisticEntryEClass.getEStructuralFeatures().get(0);
445 }
446
447 /**
448 * <!-- begin-user-doc -->
449 * <!-- end-user-doc -->
450 * @generated
451 */
452 public LogicresultFactory getLogicresultFactory() {
453 return (LogicresultFactory)getEFactoryInstance();
454 }
455
456 /**
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @generated
460 */
461 private boolean isCreated = false;
462
463 /**
464 * Creates the meta-model objects for the package. This method is
465 * guarded to have no affect on any invocation but its first.
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @generated
469 */
470 public void createPackageContents() {
471 if (isCreated) return;
472 isCreated = true;
473
474 // Create classes and their features
475 logicResultEClass = createEClass(LOGIC_RESULT);
476 createEReference(logicResultEClass, LOGIC_RESULT__PROBLEM);
477 createEReference(logicResultEClass, LOGIC_RESULT__STATISTICS);
478 createEAttribute(logicResultEClass, LOGIC_RESULT__TRACE);
479 createEAttribute(logicResultEClass, LOGIC_RESULT__REPRESENTATION);
480
481 modelResultEClass = createEClass(MODEL_RESULT);
482 createEAttribute(modelResultEClass, MODEL_RESULT__MAX_INTEGER);
483 createEAttribute(modelResultEClass, MODEL_RESULT__MIN_INTEGER);
484
485 inconsistencyResultEClass = createEClass(INCONSISTENCY_RESULT);
486
487 unknownResultEClass = createEClass(UNKNOWN_RESULT);
488
489 insuficientResourcesResultEClass = createEClass(INSUFICIENT_RESOURCES_RESULT);
490 createEAttribute(insuficientResourcesResultEClass, INSUFICIENT_RESOURCES_RESULT__RESOURCE_NAME);
491
492 errorResultEClass = createEClass(ERROR_RESULT);
493 createEAttribute(errorResultEClass, ERROR_RESULT__MESSAGE);
494
495 statisticsEClass = createEClass(STATISTICS);
496 createEReference(statisticsEClass, STATISTICS__ENTRIES);
497 createEAttribute(statisticsEClass, STATISTICS__TRANSFORMATION_TIME);
498 createEAttribute(statisticsEClass, STATISTICS__SOLVER_TIME);
499 createEAttribute(statisticsEClass, STATISTICS__SOLVER_MEMORY);
500
501 statisticEntryEClass = createEClass(STATISTIC_ENTRY);
502 createEAttribute(statisticEntryEClass, STATISTIC_ENTRY__NAME);
503
504 undecidableResultEClass = createEClass(UNDECIDABLE_RESULT);
505
506 intStatisticEntryEClass = createEClass(INT_STATISTIC_ENTRY);
507 createEAttribute(intStatisticEntryEClass, INT_STATISTIC_ENTRY__VALUE);
508
509 realStatisticEntryEClass = createEClass(REAL_STATISTIC_ENTRY);
510 createEAttribute(realStatisticEntryEClass, REAL_STATISTIC_ENTRY__VALUE);
511
512 stringStatisticEntryEClass = createEClass(STRING_STATISTIC_ENTRY);
513 createEAttribute(stringStatisticEntryEClass, STRING_STATISTIC_ENTRY__VALUE);
514 }
515
516 /**
517 * <!-- begin-user-doc -->
518 * <!-- end-user-doc -->
519 * @generated
520 */
521 private boolean isInitialized = false;
522
523 /**
524 * Complete the initialization of the package and its meta-model. This
525 * method is guarded to have no affect on any invocation but its first.
526 * <!-- begin-user-doc -->
527 * <!-- end-user-doc -->
528 * @generated
529 */
530 public void initializePackageContents() {
531 if (isInitialized) return;
532 isInitialized = true;
533
534 // Initialize package
535 setName(eNAME);
536 setNsPrefix(eNS_PREFIX);
537 setNsURI(eNS_URI);
538
539 // Obtain other dependent packages
540 LogicproblemPackage theLogicproblemPackage = (LogicproblemPackage)EPackage.Registry.INSTANCE.getEPackage(LogicproblemPackage.eNS_URI);
541
542 // Create type parameters
543
544 // Set bounds for type parameters
545
546 // Add supertypes to classes
547 modelResultEClass.getESuperTypes().add(this.getLogicResult());
548 inconsistencyResultEClass.getESuperTypes().add(this.getLogicResult());
549 unknownResultEClass.getESuperTypes().add(this.getLogicResult());
550 insuficientResourcesResultEClass.getESuperTypes().add(this.getUnknownResult());
551 errorResultEClass.getESuperTypes().add(this.getUnknownResult());
552 undecidableResultEClass.getESuperTypes().add(this.getUnknownResult());
553 intStatisticEntryEClass.getESuperTypes().add(this.getStatisticEntry());
554 realStatisticEntryEClass.getESuperTypes().add(this.getStatisticEntry());
555 stringStatisticEntryEClass.getESuperTypes().add(this.getStatisticEntry());
556
557 // Initialize classes, features, and operations; add parameters
558 initEClass(logicResultEClass, LogicResult.class, "LogicResult", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
559 initEReference(getLogicResult_Problem(), theLogicproblemPackage.getLogicProblem(), null, "problem", null, 0, 1, LogicResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
560 initEReference(getLogicResult_Statistics(), this.getStatistics(), null, "statistics", null, 0, 1, LogicResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
561 initEAttribute(getLogicResult_Trace(), ecorePackage.getEJavaObject(), "trace", null, 0, 1, LogicResult.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
562 initEAttribute(getLogicResult_Representation(), ecorePackage.getEJavaObject(), "representation", null, 0, -1, LogicResult.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
563
564 initEClass(modelResultEClass, ModelResult.class, "ModelResult", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
565 initEAttribute(getModelResult_MaxInteger(), ecorePackage.getEInt(), "maxInteger", null, 1, 1, ModelResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
566 initEAttribute(getModelResult_MinInteger(), ecorePackage.getEInt(), "minInteger", null, 1, 1, ModelResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
567
568 initEClass(inconsistencyResultEClass, InconsistencyResult.class, "InconsistencyResult", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
569
570 initEClass(unknownResultEClass, UnknownResult.class, "UnknownResult", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
571
572 initEClass(insuficientResourcesResultEClass, InsuficientResourcesResult.class, "InsuficientResourcesResult", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
573 initEAttribute(getInsuficientResourcesResult_ResourceName(), ecorePackage.getEString(), "resourceName", null, 1, 1, InsuficientResourcesResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
574
575 initEClass(errorResultEClass, ErrorResult.class, "ErrorResult", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
576 initEAttribute(getErrorResult_Message(), ecorePackage.getEString(), "message", null, 1, 1, ErrorResult.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
577
578 initEClass(statisticsEClass, Statistics.class, "Statistics", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
579 initEReference(getStatistics_Entries(), this.getStatisticEntry(), null, "entries", null, 0, -1, Statistics.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
580 initEAttribute(getStatistics_TransformationTime(), ecorePackage.getEInt(), "transformationTime", "-1", 1, 1, Statistics.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
581 initEAttribute(getStatistics_SolverTime(), ecorePackage.getEInt(), "solverTime", "-1", 1, 1, Statistics.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
582 initEAttribute(getStatistics_SolverMemory(), ecorePackage.getEInt(), "solverMemory", "-1", 0, 1, Statistics.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
583
584 initEClass(statisticEntryEClass, StatisticEntry.class, "StatisticEntry", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
585 initEAttribute(getStatisticEntry_Name(), ecorePackage.getEString(), "name", null, 1, 1, StatisticEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
586
587 initEClass(undecidableResultEClass, UndecidableResult.class, "UndecidableResult", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
588
589 initEClass(intStatisticEntryEClass, IntStatisticEntry.class, "IntStatisticEntry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
590 initEAttribute(getIntStatisticEntry_Value(), ecorePackage.getEInt(), "value", null, 1, 1, IntStatisticEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
591
592 initEClass(realStatisticEntryEClass, RealStatisticEntry.class, "RealStatisticEntry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
593 initEAttribute(getRealStatisticEntry_Value(), ecorePackage.getEDouble(), "value", null, 1, 1, RealStatisticEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
594
595 initEClass(stringStatisticEntryEClass, StringStatisticEntry.class, "StringStatisticEntry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
596 initEAttribute(getStringStatisticEntry_Value(), ecorePackage.getEString(), "value", "Unfilled", 1, 1, StringStatisticEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
597
598 // Create resource
599 createResource(eNS_URI);
600 }
601
602} //LogicresultPackageImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/ModelResultImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/ModelResultImpl.java
new file mode 100644
index 00000000..63a15a81
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/ModelResultImpl.java
@@ -0,0 +1,216 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Model Result</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.ModelResultImpl#getMaxInteger <em>Max Integer</em>}</li>
23 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.ModelResultImpl#getMinInteger <em>Min Integer</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class ModelResultImpl extends LogicResultImpl implements ModelResult {
29 /**
30 * The default value of the '{@link #getMaxInteger() <em>Max Integer</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getMaxInteger()
34 * @generated
35 * @ordered
36 */
37 protected static final int MAX_INTEGER_EDEFAULT = 0;
38
39 /**
40 * The cached value of the '{@link #getMaxInteger() <em>Max Integer</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getMaxInteger()
44 * @generated
45 * @ordered
46 */
47 protected int maxInteger = MAX_INTEGER_EDEFAULT;
48
49 /**
50 * The default value of the '{@link #getMinInteger() <em>Min Integer</em>}' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #getMinInteger()
54 * @generated
55 * @ordered
56 */
57 protected static final int MIN_INTEGER_EDEFAULT = 0;
58
59 /**
60 * The cached value of the '{@link #getMinInteger() <em>Min Integer</em>}' attribute.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see #getMinInteger()
64 * @generated
65 * @ordered
66 */
67 protected int minInteger = MIN_INTEGER_EDEFAULT;
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 protected ModelResultImpl() {
75 super();
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 protected EClass eStaticClass() {
85 return LogicresultPackage.Literals.MODEL_RESULT;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public int getMaxInteger() {
94 return maxInteger;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 public void setMaxInteger(int newMaxInteger) {
103 int oldMaxInteger = maxInteger;
104 maxInteger = newMaxInteger;
105 if (eNotificationRequired())
106 eNotify(new ENotificationImpl(this, Notification.SET, LogicresultPackage.MODEL_RESULT__MAX_INTEGER, oldMaxInteger, maxInteger));
107 }
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 public int getMinInteger() {
115 return minInteger;
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 public void setMinInteger(int newMinInteger) {
124 int oldMinInteger = minInteger;
125 minInteger = newMinInteger;
126 if (eNotificationRequired())
127 eNotify(new ENotificationImpl(this, Notification.SET, LogicresultPackage.MODEL_RESULT__MIN_INTEGER, oldMinInteger, minInteger));
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public Object eGet(int featureID, boolean resolve, boolean coreType) {
137 switch (featureID) {
138 case LogicresultPackage.MODEL_RESULT__MAX_INTEGER:
139 return getMaxInteger();
140 case LogicresultPackage.MODEL_RESULT__MIN_INTEGER:
141 return getMinInteger();
142 }
143 return super.eGet(featureID, resolve, coreType);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public void eSet(int featureID, Object newValue) {
153 switch (featureID) {
154 case LogicresultPackage.MODEL_RESULT__MAX_INTEGER:
155 setMaxInteger((Integer)newValue);
156 return;
157 case LogicresultPackage.MODEL_RESULT__MIN_INTEGER:
158 setMinInteger((Integer)newValue);
159 return;
160 }
161 super.eSet(featureID, newValue);
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public void eUnset(int featureID) {
171 switch (featureID) {
172 case LogicresultPackage.MODEL_RESULT__MAX_INTEGER:
173 setMaxInteger(MAX_INTEGER_EDEFAULT);
174 return;
175 case LogicresultPackage.MODEL_RESULT__MIN_INTEGER:
176 setMinInteger(MIN_INTEGER_EDEFAULT);
177 return;
178 }
179 super.eUnset(featureID);
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @Override
188 public boolean eIsSet(int featureID) {
189 switch (featureID) {
190 case LogicresultPackage.MODEL_RESULT__MAX_INTEGER:
191 return maxInteger != MAX_INTEGER_EDEFAULT;
192 case LogicresultPackage.MODEL_RESULT__MIN_INTEGER:
193 return minInteger != MIN_INTEGER_EDEFAULT;
194 }
195 return super.eIsSet(featureID);
196 }
197
198 /**
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated
202 */
203 @Override
204 public String toString() {
205 if (eIsProxy()) return super.toString();
206
207 StringBuffer result = new StringBuffer(super.toString());
208 result.append(" (maxInteger: ");
209 result.append(maxInteger);
210 result.append(", minInteger: ");
211 result.append(minInteger);
212 result.append(')');
213 return result.toString();
214 }
215
216} //ModelResultImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/RealStatisticEntryImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/RealStatisticEntryImpl.java
new file mode 100644
index 00000000..ed09f0df
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/RealStatisticEntryImpl.java
@@ -0,0 +1,162 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.RealStatisticEntry;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Real Statistic Entry</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.RealStatisticEntryImpl#getValue <em>Value</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class RealStatisticEntryImpl extends StatisticEntryImpl implements RealStatisticEntry {
28 /**
29 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getValue()
33 * @generated
34 * @ordered
35 */
36 protected static final double VALUE_EDEFAULT = 0.0;
37
38 /**
39 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getValue()
43 * @generated
44 * @ordered
45 */
46 protected double value = VALUE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected RealStatisticEntryImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return LogicresultPackage.Literals.REAL_STATISTIC_ENTRY;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public double getValue() {
73 return value;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setValue(double newValue) {
82 double oldValue = value;
83 value = newValue;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, LogicresultPackage.REAL_STATISTIC_ENTRY__VALUE, oldValue, value));
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 @Override
94 public Object eGet(int featureID, boolean resolve, boolean coreType) {
95 switch (featureID) {
96 case LogicresultPackage.REAL_STATISTIC_ENTRY__VALUE:
97 return getValue();
98 }
99 return super.eGet(featureID, resolve, coreType);
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 @Override
108 public void eSet(int featureID, Object newValue) {
109 switch (featureID) {
110 case LogicresultPackage.REAL_STATISTIC_ENTRY__VALUE:
111 setValue((Double)newValue);
112 return;
113 }
114 super.eSet(featureID, newValue);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public void eUnset(int featureID) {
124 switch (featureID) {
125 case LogicresultPackage.REAL_STATISTIC_ENTRY__VALUE:
126 setValue(VALUE_EDEFAULT);
127 return;
128 }
129 super.eUnset(featureID);
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public boolean eIsSet(int featureID) {
139 switch (featureID) {
140 case LogicresultPackage.REAL_STATISTIC_ENTRY__VALUE:
141 return value != VALUE_EDEFAULT;
142 }
143 return super.eIsSet(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public String toString() {
153 if (eIsProxy()) return super.toString();
154
155 StringBuffer result = new StringBuffer(super.toString());
156 result.append(" (value: ");
157 result.append(value);
158 result.append(')');
159 return result.toString();
160 }
161
162} //RealStatisticEntryImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/StatisticEntryImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/StatisticEntryImpl.java
new file mode 100644
index 00000000..bc1c5a92
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/StatisticEntryImpl.java
@@ -0,0 +1,163 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StatisticEntry;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Statistic Entry</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StatisticEntryImpl#getName <em>Name</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public abstract class StatisticEntryImpl extends MinimalEObjectImpl.Container implements StatisticEntry {
29 /**
30 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getName()
34 * @generated
35 * @ordered
36 */
37 protected static final String NAME_EDEFAULT = null;
38
39 /**
40 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getName()
44 * @generated
45 * @ordered
46 */
47 protected String name = NAME_EDEFAULT;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected StatisticEntryImpl() {
55 super();
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 @Override
64 protected EClass eStaticClass() {
65 return LogicresultPackage.Literals.STATISTIC_ENTRY;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 public String getName() {
74 return name;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public void setName(String newName) {
83 String oldName = name;
84 name = newName;
85 if (eNotificationRequired())
86 eNotify(new ENotificationImpl(this, Notification.SET, LogicresultPackage.STATISTIC_ENTRY__NAME, oldName, name));
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public Object eGet(int featureID, boolean resolve, boolean coreType) {
96 switch (featureID) {
97 case LogicresultPackage.STATISTIC_ENTRY__NAME:
98 return getName();
99 }
100 return super.eGet(featureID, resolve, coreType);
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void eSet(int featureID, Object newValue) {
110 switch (featureID) {
111 case LogicresultPackage.STATISTIC_ENTRY__NAME:
112 setName((String)newValue);
113 return;
114 }
115 super.eSet(featureID, newValue);
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public void eUnset(int featureID) {
125 switch (featureID) {
126 case LogicresultPackage.STATISTIC_ENTRY__NAME:
127 setName(NAME_EDEFAULT);
128 return;
129 }
130 super.eUnset(featureID);
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 public boolean eIsSet(int featureID) {
140 switch (featureID) {
141 case LogicresultPackage.STATISTIC_ENTRY__NAME:
142 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
143 }
144 return super.eIsSet(featureID);
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public String toString() {
154 if (eIsProxy()) return super.toString();
155
156 StringBuffer result = new StringBuffer(super.toString());
157 result.append(" (name: ");
158 result.append(name);
159 result.append(')');
160 return result.toString();
161 }
162
163} //StatisticEntryImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/StatisticsImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/StatisticsImpl.java
new file mode 100644
index 00000000..77d43c97
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/StatisticsImpl.java
@@ -0,0 +1,330 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StatisticEntry;
7import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.Notification;
12import org.eclipse.emf.common.notify.NotificationChain;
13
14import org.eclipse.emf.common.util.EList;
15
16import org.eclipse.emf.ecore.EClass;
17import org.eclipse.emf.ecore.InternalEObject;
18
19import org.eclipse.emf.ecore.impl.ENotificationImpl;
20import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
21
22import org.eclipse.emf.ecore.util.EObjectContainmentEList;
23import org.eclipse.emf.ecore.util.InternalEList;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model object '<em><b>Statistics</b></em>'.
28 * <!-- end-user-doc -->
29 * <p>
30 * The following features are implemented:
31 * </p>
32 * <ul>
33 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StatisticsImpl#getEntries <em>Entries</em>}</li>
34 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StatisticsImpl#getTransformationTime <em>Transformation Time</em>}</li>
35 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StatisticsImpl#getSolverTime <em>Solver Time</em>}</li>
36 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StatisticsImpl#getSolverMemory <em>Solver Memory</em>}</li>
37 * </ul>
38 *
39 * @generated
40 */
41public class StatisticsImpl extends MinimalEObjectImpl.Container implements Statistics {
42 /**
43 * The cached value of the '{@link #getEntries() <em>Entries</em>}' containment reference list.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getEntries()
47 * @generated
48 * @ordered
49 */
50 protected EList<StatisticEntry> entries;
51
52 /**
53 * The default value of the '{@link #getTransformationTime() <em>Transformation Time</em>}' attribute.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #getTransformationTime()
57 * @generated
58 * @ordered
59 */
60 protected static final int TRANSFORMATION_TIME_EDEFAULT = -1;
61
62 /**
63 * The cached value of the '{@link #getTransformationTime() <em>Transformation Time</em>}' attribute.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @see #getTransformationTime()
67 * @generated
68 * @ordered
69 */
70 protected int transformationTime = TRANSFORMATION_TIME_EDEFAULT;
71
72 /**
73 * The default value of the '{@link #getSolverTime() <em>Solver Time</em>}' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @see #getSolverTime()
77 * @generated
78 * @ordered
79 */
80 protected static final int SOLVER_TIME_EDEFAULT = -1;
81
82 /**
83 * The cached value of the '{@link #getSolverTime() <em>Solver Time</em>}' attribute.
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @see #getSolverTime()
87 * @generated
88 * @ordered
89 */
90 protected int solverTime = SOLVER_TIME_EDEFAULT;
91
92 /**
93 * The default value of the '{@link #getSolverMemory() <em>Solver Memory</em>}' attribute.
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @see #getSolverMemory()
97 * @generated
98 * @ordered
99 */
100 protected static final int SOLVER_MEMORY_EDEFAULT = -1;
101
102 /**
103 * The cached value of the '{@link #getSolverMemory() <em>Solver Memory</em>}' attribute.
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @see #getSolverMemory()
107 * @generated
108 * @ordered
109 */
110 protected int solverMemory = SOLVER_MEMORY_EDEFAULT;
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 protected StatisticsImpl() {
118 super();
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 protected EClass eStaticClass() {
128 return LogicresultPackage.Literals.STATISTICS;
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 public EList<StatisticEntry> getEntries() {
137 if (entries == null) {
138 entries = new EObjectContainmentEList<StatisticEntry>(StatisticEntry.class, this, LogicresultPackage.STATISTICS__ENTRIES);
139 }
140 return entries;
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 public int getTransformationTime() {
149 return transformationTime;
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 public void setTransformationTime(int newTransformationTime) {
158 int oldTransformationTime = transformationTime;
159 transformationTime = newTransformationTime;
160 if (eNotificationRequired())
161 eNotify(new ENotificationImpl(this, Notification.SET, LogicresultPackage.STATISTICS__TRANSFORMATION_TIME, oldTransformationTime, transformationTime));
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 public int getSolverTime() {
170 return solverTime;
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 public void setSolverTime(int newSolverTime) {
179 int oldSolverTime = solverTime;
180 solverTime = newSolverTime;
181 if (eNotificationRequired())
182 eNotify(new ENotificationImpl(this, Notification.SET, LogicresultPackage.STATISTICS__SOLVER_TIME, oldSolverTime, solverTime));
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 public int getSolverMemory() {
191 return solverMemory;
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 public void setSolverMemory(int newSolverMemory) {
200 int oldSolverMemory = solverMemory;
201 solverMemory = newSolverMemory;
202 if (eNotificationRequired())
203 eNotify(new ENotificationImpl(this, Notification.SET, LogicresultPackage.STATISTICS__SOLVER_MEMORY, oldSolverMemory, solverMemory));
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
213 switch (featureID) {
214 case LogicresultPackage.STATISTICS__ENTRIES:
215 return ((InternalEList<?>)getEntries()).basicRemove(otherEnd, msgs);
216 }
217 return super.eInverseRemove(otherEnd, featureID, msgs);
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public Object eGet(int featureID, boolean resolve, boolean coreType) {
227 switch (featureID) {
228 case LogicresultPackage.STATISTICS__ENTRIES:
229 return getEntries();
230 case LogicresultPackage.STATISTICS__TRANSFORMATION_TIME:
231 return getTransformationTime();
232 case LogicresultPackage.STATISTICS__SOLVER_TIME:
233 return getSolverTime();
234 case LogicresultPackage.STATISTICS__SOLVER_MEMORY:
235 return getSolverMemory();
236 }
237 return super.eGet(featureID, resolve, coreType);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @SuppressWarnings("unchecked")
246 @Override
247 public void eSet(int featureID, Object newValue) {
248 switch (featureID) {
249 case LogicresultPackage.STATISTICS__ENTRIES:
250 getEntries().clear();
251 getEntries().addAll((Collection<? extends StatisticEntry>)newValue);
252 return;
253 case LogicresultPackage.STATISTICS__TRANSFORMATION_TIME:
254 setTransformationTime((Integer)newValue);
255 return;
256 case LogicresultPackage.STATISTICS__SOLVER_TIME:
257 setSolverTime((Integer)newValue);
258 return;
259 case LogicresultPackage.STATISTICS__SOLVER_MEMORY:
260 setSolverMemory((Integer)newValue);
261 return;
262 }
263 super.eSet(featureID, newValue);
264 }
265
266 /**
267 * <!-- begin-user-doc -->
268 * <!-- end-user-doc -->
269 * @generated
270 */
271 @Override
272 public void eUnset(int featureID) {
273 switch (featureID) {
274 case LogicresultPackage.STATISTICS__ENTRIES:
275 getEntries().clear();
276 return;
277 case LogicresultPackage.STATISTICS__TRANSFORMATION_TIME:
278 setTransformationTime(TRANSFORMATION_TIME_EDEFAULT);
279 return;
280 case LogicresultPackage.STATISTICS__SOLVER_TIME:
281 setSolverTime(SOLVER_TIME_EDEFAULT);
282 return;
283 case LogicresultPackage.STATISTICS__SOLVER_MEMORY:
284 setSolverMemory(SOLVER_MEMORY_EDEFAULT);
285 return;
286 }
287 super.eUnset(featureID);
288 }
289
290 /**
291 * <!-- begin-user-doc -->
292 * <!-- end-user-doc -->
293 * @generated
294 */
295 @Override
296 public boolean eIsSet(int featureID) {
297 switch (featureID) {
298 case LogicresultPackage.STATISTICS__ENTRIES:
299 return entries != null && !entries.isEmpty();
300 case LogicresultPackage.STATISTICS__TRANSFORMATION_TIME:
301 return transformationTime != TRANSFORMATION_TIME_EDEFAULT;
302 case LogicresultPackage.STATISTICS__SOLVER_TIME:
303 return solverTime != SOLVER_TIME_EDEFAULT;
304 case LogicresultPackage.STATISTICS__SOLVER_MEMORY:
305 return solverMemory != SOLVER_MEMORY_EDEFAULT;
306 }
307 return super.eIsSet(featureID);
308 }
309
310 /**
311 * <!-- begin-user-doc -->
312 * <!-- end-user-doc -->
313 * @generated
314 */
315 @Override
316 public String toString() {
317 if (eIsProxy()) return super.toString();
318
319 StringBuffer result = new StringBuffer(super.toString());
320 result.append(" (transformationTime: ");
321 result.append(transformationTime);
322 result.append(", solverTime: ");
323 result.append(solverTime);
324 result.append(", solverMemory: ");
325 result.append(solverMemory);
326 result.append(')');
327 return result.toString();
328 }
329
330} //StatisticsImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/StringStatisticEntryImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/StringStatisticEntryImpl.java
new file mode 100644
index 00000000..8698f73b
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/StringStatisticEntryImpl.java
@@ -0,0 +1,162 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StringStatisticEntry;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>String Statistic Entry</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.StringStatisticEntryImpl#getValue <em>Value</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class StringStatisticEntryImpl extends StatisticEntryImpl implements StringStatisticEntry {
28 /**
29 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getValue()
33 * @generated
34 * @ordered
35 */
36 protected static final String VALUE_EDEFAULT = "Unfilled";
37
38 /**
39 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getValue()
43 * @generated
44 * @ordered
45 */
46 protected String value = VALUE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected StringStatisticEntryImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return LogicresultPackage.Literals.STRING_STATISTIC_ENTRY;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public String getValue() {
73 return value;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setValue(String newValue) {
82 String oldValue = value;
83 value = newValue;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, LogicresultPackage.STRING_STATISTIC_ENTRY__VALUE, oldValue, value));
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 @Override
94 public Object eGet(int featureID, boolean resolve, boolean coreType) {
95 switch (featureID) {
96 case LogicresultPackage.STRING_STATISTIC_ENTRY__VALUE:
97 return getValue();
98 }
99 return super.eGet(featureID, resolve, coreType);
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 @Override
108 public void eSet(int featureID, Object newValue) {
109 switch (featureID) {
110 case LogicresultPackage.STRING_STATISTIC_ENTRY__VALUE:
111 setValue((String)newValue);
112 return;
113 }
114 super.eSet(featureID, newValue);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public void eUnset(int featureID) {
124 switch (featureID) {
125 case LogicresultPackage.STRING_STATISTIC_ENTRY__VALUE:
126 setValue(VALUE_EDEFAULT);
127 return;
128 }
129 super.eUnset(featureID);
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public boolean eIsSet(int featureID) {
139 switch (featureID) {
140 case LogicresultPackage.STRING_STATISTIC_ENTRY__VALUE:
141 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
142 }
143 return super.eIsSet(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public String toString() {
153 if (eIsProxy()) return super.toString();
154
155 StringBuffer result = new StringBuffer(super.toString());
156 result.append(" (value: ");
157 result.append(value);
158 result.append(')');
159 return result.toString();
160 }
161
162} //StringStatisticEntryImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/UndecidableResultImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/UndecidableResultImpl.java
new file mode 100644
index 00000000..12da9c45
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/UndecidableResultImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.UndecidableResult;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Undecidable Result</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class UndecidableResultImpl extends UnknownResultImpl implements UndecidableResult {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected UndecidableResultImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogicresultPackage.Literals.UNDECIDABLE_RESULT;
35 }
36
37} //UndecidableResultImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/UnknownResultImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/UnknownResultImpl.java
new file mode 100644
index 00000000..2f8b416e
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/impl/UnknownResultImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.UnknownResult;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Unknown Result</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class UnknownResultImpl extends LogicResultImpl implements UnknownResult {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected UnknownResultImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return LogicresultPackage.Literals.UNKNOWN_RESULT;
35 }
36
37} //UnknownResultImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/util/LogicresultAdapterFactory.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/util/LogicresultAdapterFactory.java
new file mode 100644
index 00000000..4b624c4d
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/util/LogicresultAdapterFactory.java
@@ -0,0 +1,318 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult.util;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.*;
6
7import org.eclipse.emf.common.notify.Adapter;
8import org.eclipse.emf.common.notify.Notifier;
9
10import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
11
12import org.eclipse.emf.ecore.EObject;
13
14/**
15 * <!-- begin-user-doc -->
16 * The <b>Adapter Factory</b> for the model.
17 * It provides an adapter <code>createXXX</code> method for each class of the model.
18 * <!-- end-user-doc -->
19 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage
20 * @generated
21 */
22public class LogicresultAdapterFactory extends AdapterFactoryImpl {
23 /**
24 * The cached model package.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 protected static LogicresultPackage modelPackage;
30
31 /**
32 * Creates an instance of the adapter factory.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 public LogicresultAdapterFactory() {
38 if (modelPackage == null) {
39 modelPackage = LogicresultPackage.eINSTANCE;
40 }
41 }
42
43 /**
44 * Returns whether this factory is applicable for the type of the object.
45 * <!-- begin-user-doc -->
46 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
47 * <!-- end-user-doc -->
48 * @return whether this factory is applicable for the type of the object.
49 * @generated
50 */
51 @Override
52 public boolean isFactoryForType(Object object) {
53 if (object == modelPackage) {
54 return true;
55 }
56 if (object instanceof EObject) {
57 return ((EObject)object).eClass().getEPackage() == modelPackage;
58 }
59 return false;
60 }
61
62 /**
63 * The switch that delegates to the <code>createXXX</code> methods.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected LogicresultSwitch<Adapter> modelSwitch =
69 new LogicresultSwitch<Adapter>() {
70 @Override
71 public Adapter caseLogicResult(LogicResult object) {
72 return createLogicResultAdapter();
73 }
74 @Override
75 public Adapter caseModelResult(ModelResult object) {
76 return createModelResultAdapter();
77 }
78 @Override
79 public Adapter caseInconsistencyResult(InconsistencyResult object) {
80 return createInconsistencyResultAdapter();
81 }
82 @Override
83 public Adapter caseUnknownResult(UnknownResult object) {
84 return createUnknownResultAdapter();
85 }
86 @Override
87 public Adapter caseInsuficientResourcesResult(InsuficientResourcesResult object) {
88 return createInsuficientResourcesResultAdapter();
89 }
90 @Override
91 public Adapter caseErrorResult(ErrorResult object) {
92 return createErrorResultAdapter();
93 }
94 @Override
95 public Adapter caseStatistics(Statistics object) {
96 return createStatisticsAdapter();
97 }
98 @Override
99 public Adapter caseStatisticEntry(StatisticEntry object) {
100 return createStatisticEntryAdapter();
101 }
102 @Override
103 public Adapter caseUndecidableResult(UndecidableResult object) {
104 return createUndecidableResultAdapter();
105 }
106 @Override
107 public Adapter caseIntStatisticEntry(IntStatisticEntry object) {
108 return createIntStatisticEntryAdapter();
109 }
110 @Override
111 public Adapter caseRealStatisticEntry(RealStatisticEntry object) {
112 return createRealStatisticEntryAdapter();
113 }
114 @Override
115 public Adapter caseStringStatisticEntry(StringStatisticEntry object) {
116 return createStringStatisticEntryAdapter();
117 }
118 @Override
119 public Adapter defaultCase(EObject object) {
120 return createEObjectAdapter();
121 }
122 };
123
124 /**
125 * Creates an adapter for the <code>target</code>.
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @param target the object to adapt.
129 * @return the adapter for the <code>target</code>.
130 * @generated
131 */
132 @Override
133 public Adapter createAdapter(Notifier target) {
134 return modelSwitch.doSwitch((EObject)target);
135 }
136
137
138 /**
139 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult <em>Logic Result</em>}'.
140 * <!-- begin-user-doc -->
141 * This default implementation returns null so that we can easily ignore cases;
142 * it's useful to ignore a case when inheritance will catch all the cases anyway.
143 * <!-- end-user-doc -->
144 * @return the new adapter.
145 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult
146 * @generated
147 */
148 public Adapter createLogicResultAdapter() {
149 return null;
150 }
151
152 /**
153 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult <em>Model Result</em>}'.
154 * <!-- begin-user-doc -->
155 * This default implementation returns null so that we can easily ignore cases;
156 * it's useful to ignore a case when inheritance will catch all the cases anyway.
157 * <!-- end-user-doc -->
158 * @return the new adapter.
159 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult
160 * @generated
161 */
162 public Adapter createModelResultAdapter() {
163 return null;
164 }
165
166 /**
167 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InconsistencyResult <em>Inconsistency Result</em>}'.
168 * <!-- begin-user-doc -->
169 * This default implementation returns null so that we can easily ignore cases;
170 * it's useful to ignore a case when inheritance will catch all the cases anyway.
171 * <!-- end-user-doc -->
172 * @return the new adapter.
173 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InconsistencyResult
174 * @generated
175 */
176 public Adapter createInconsistencyResultAdapter() {
177 return null;
178 }
179
180 /**
181 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.UnknownResult <em>Unknown Result</em>}'.
182 * <!-- begin-user-doc -->
183 * This default implementation returns null so that we can easily ignore cases;
184 * it's useful to ignore a case when inheritance will catch all the cases anyway.
185 * <!-- end-user-doc -->
186 * @return the new adapter.
187 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.UnknownResult
188 * @generated
189 */
190 public Adapter createUnknownResultAdapter() {
191 return null;
192 }
193
194 /**
195 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InsuficientResourcesResult <em>Insuficient Resources Result</em>}'.
196 * <!-- begin-user-doc -->
197 * This default implementation returns null so that we can easily ignore cases;
198 * it's useful to ignore a case when inheritance will catch all the cases anyway.
199 * <!-- end-user-doc -->
200 * @return the new adapter.
201 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InsuficientResourcesResult
202 * @generated
203 */
204 public Adapter createInsuficientResourcesResultAdapter() {
205 return null;
206 }
207
208 /**
209 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ErrorResult <em>Error Result</em>}'.
210 * <!-- begin-user-doc -->
211 * This default implementation returns null so that we can easily ignore cases;
212 * it's useful to ignore a case when inheritance will catch all the cases anyway.
213 * <!-- end-user-doc -->
214 * @return the new adapter.
215 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ErrorResult
216 * @generated
217 */
218 public Adapter createErrorResultAdapter() {
219 return null;
220 }
221
222 /**
223 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics <em>Statistics</em>}'.
224 * <!-- begin-user-doc -->
225 * This default implementation returns null so that we can easily ignore cases;
226 * it's useful to ignore a case when inheritance will catch all the cases anyway.
227 * <!-- end-user-doc -->
228 * @return the new adapter.
229 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics
230 * @generated
231 */
232 public Adapter createStatisticsAdapter() {
233 return null;
234 }
235
236 /**
237 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StatisticEntry <em>Statistic Entry</em>}'.
238 * <!-- begin-user-doc -->
239 * This default implementation returns null so that we can easily ignore cases;
240 * it's useful to ignore a case when inheritance will catch all the cases anyway.
241 * <!-- end-user-doc -->
242 * @return the new adapter.
243 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StatisticEntry
244 * @generated
245 */
246 public Adapter createStatisticEntryAdapter() {
247 return null;
248 }
249
250 /**
251 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.UndecidableResult <em>Undecidable Result</em>}'.
252 * <!-- begin-user-doc -->
253 * This default implementation returns null so that we can easily ignore cases;
254 * it's useful to ignore a case when inheritance will catch all the cases anyway.
255 * <!-- end-user-doc -->
256 * @return the new adapter.
257 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.UndecidableResult
258 * @generated
259 */
260 public Adapter createUndecidableResultAdapter() {
261 return null;
262 }
263
264 /**
265 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.IntStatisticEntry <em>Int Statistic Entry</em>}'.
266 * <!-- begin-user-doc -->
267 * This default implementation returns null so that we can easily ignore cases;
268 * it's useful to ignore a case when inheritance will catch all the cases anyway.
269 * <!-- end-user-doc -->
270 * @return the new adapter.
271 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.IntStatisticEntry
272 * @generated
273 */
274 public Adapter createIntStatisticEntryAdapter() {
275 return null;
276 }
277
278 /**
279 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.RealStatisticEntry <em>Real Statistic Entry</em>}'.
280 * <!-- begin-user-doc -->
281 * This default implementation returns null so that we can easily ignore cases;
282 * it's useful to ignore a case when inheritance will catch all the cases anyway.
283 * <!-- end-user-doc -->
284 * @return the new adapter.
285 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.RealStatisticEntry
286 * @generated
287 */
288 public Adapter createRealStatisticEntryAdapter() {
289 return null;
290 }
291
292 /**
293 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StringStatisticEntry <em>String Statistic Entry</em>}'.
294 * <!-- begin-user-doc -->
295 * This default implementation returns null so that we can easily ignore cases;
296 * it's useful to ignore a case when inheritance will catch all the cases anyway.
297 * <!-- end-user-doc -->
298 * @return the new adapter.
299 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StringStatisticEntry
300 * @generated
301 */
302 public Adapter createStringStatisticEntryAdapter() {
303 return null;
304 }
305
306 /**
307 * Creates a new adapter for the default case.
308 * <!-- begin-user-doc -->
309 * This default implementation returns null.
310 * <!-- end-user-doc -->
311 * @return the new adapter.
312 * @generated
313 */
314 public Adapter createEObjectAdapter() {
315 return null;
316 }
317
318} //LogicresultAdapterFactory
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/util/LogicresultSwitch.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/util/LogicresultSwitch.java
new file mode 100644
index 00000000..2cdf142b
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logicresult/util/LogicresultSwitch.java
@@ -0,0 +1,353 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logicresult.util;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.*;
6
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EPackage;
9
10import org.eclipse.emf.ecore.util.Switch;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Switch</b> for the model's inheritance hierarchy.
15 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
16 * to invoke the <code>caseXXX</code> method for each class of the model,
17 * starting with the actual class of the object
18 * and proceeding up the inheritance hierarchy
19 * until a non-null result is returned,
20 * which is the result of the switch.
21 * <!-- end-user-doc -->
22 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage
23 * @generated
24 */
25public class LogicresultSwitch<T> extends Switch<T> {
26 /**
27 * The cached model package
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 protected static LogicresultPackage modelPackage;
33
34 /**
35 * Creates an instance of the switch.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 public LogicresultSwitch() {
41 if (modelPackage == null) {
42 modelPackage = LogicresultPackage.eINSTANCE;
43 }
44 }
45
46 /**
47 * Checks whether this is a switch for the given package.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @param ePackage the package in question.
51 * @return whether this is a switch for the given package.
52 * @generated
53 */
54 @Override
55 protected boolean isSwitchFor(EPackage ePackage) {
56 return ePackage == modelPackage;
57 }
58
59 /**
60 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @return the first non-null result returned by a <code>caseXXX</code> call.
64 * @generated
65 */
66 @Override
67 protected T doSwitch(int classifierID, EObject theEObject) {
68 switch (classifierID) {
69 case LogicresultPackage.LOGIC_RESULT: {
70 LogicResult logicResult = (LogicResult)theEObject;
71 T result = caseLogicResult(logicResult);
72 if (result == null) result = defaultCase(theEObject);
73 return result;
74 }
75 case LogicresultPackage.MODEL_RESULT: {
76 ModelResult modelResult = (ModelResult)theEObject;
77 T result = caseModelResult(modelResult);
78 if (result == null) result = caseLogicResult(modelResult);
79 if (result == null) result = defaultCase(theEObject);
80 return result;
81 }
82 case LogicresultPackage.INCONSISTENCY_RESULT: {
83 InconsistencyResult inconsistencyResult = (InconsistencyResult)theEObject;
84 T result = caseInconsistencyResult(inconsistencyResult);
85 if (result == null) result = caseLogicResult(inconsistencyResult);
86 if (result == null) result = defaultCase(theEObject);
87 return result;
88 }
89 case LogicresultPackage.UNKNOWN_RESULT: {
90 UnknownResult unknownResult = (UnknownResult)theEObject;
91 T result = caseUnknownResult(unknownResult);
92 if (result == null) result = caseLogicResult(unknownResult);
93 if (result == null) result = defaultCase(theEObject);
94 return result;
95 }
96 case LogicresultPackage.INSUFICIENT_RESOURCES_RESULT: {
97 InsuficientResourcesResult insuficientResourcesResult = (InsuficientResourcesResult)theEObject;
98 T result = caseInsuficientResourcesResult(insuficientResourcesResult);
99 if (result == null) result = caseUnknownResult(insuficientResourcesResult);
100 if (result == null) result = caseLogicResult(insuficientResourcesResult);
101 if (result == null) result = defaultCase(theEObject);
102 return result;
103 }
104 case LogicresultPackage.ERROR_RESULT: {
105 ErrorResult errorResult = (ErrorResult)theEObject;
106 T result = caseErrorResult(errorResult);
107 if (result == null) result = caseUnknownResult(errorResult);
108 if (result == null) result = caseLogicResult(errorResult);
109 if (result == null) result = defaultCase(theEObject);
110 return result;
111 }
112 case LogicresultPackage.STATISTICS: {
113 Statistics statistics = (Statistics)theEObject;
114 T result = caseStatistics(statistics);
115 if (result == null) result = defaultCase(theEObject);
116 return result;
117 }
118 case LogicresultPackage.STATISTIC_ENTRY: {
119 StatisticEntry statisticEntry = (StatisticEntry)theEObject;
120 T result = caseStatisticEntry(statisticEntry);
121 if (result == null) result = defaultCase(theEObject);
122 return result;
123 }
124 case LogicresultPackage.UNDECIDABLE_RESULT: {
125 UndecidableResult undecidableResult = (UndecidableResult)theEObject;
126 T result = caseUndecidableResult(undecidableResult);
127 if (result == null) result = caseUnknownResult(undecidableResult);
128 if (result == null) result = caseLogicResult(undecidableResult);
129 if (result == null) result = defaultCase(theEObject);
130 return result;
131 }
132 case LogicresultPackage.INT_STATISTIC_ENTRY: {
133 IntStatisticEntry intStatisticEntry = (IntStatisticEntry)theEObject;
134 T result = caseIntStatisticEntry(intStatisticEntry);
135 if (result == null) result = caseStatisticEntry(intStatisticEntry);
136 if (result == null) result = defaultCase(theEObject);
137 return result;
138 }
139 case LogicresultPackage.REAL_STATISTIC_ENTRY: {
140 RealStatisticEntry realStatisticEntry = (RealStatisticEntry)theEObject;
141 T result = caseRealStatisticEntry(realStatisticEntry);
142 if (result == null) result = caseStatisticEntry(realStatisticEntry);
143 if (result == null) result = defaultCase(theEObject);
144 return result;
145 }
146 case LogicresultPackage.STRING_STATISTIC_ENTRY: {
147 StringStatisticEntry stringStatisticEntry = (StringStatisticEntry)theEObject;
148 T result = caseStringStatisticEntry(stringStatisticEntry);
149 if (result == null) result = caseStatisticEntry(stringStatisticEntry);
150 if (result == null) result = defaultCase(theEObject);
151 return result;
152 }
153 default: return defaultCase(theEObject);
154 }
155 }
156
157 /**
158 * Returns the result of interpreting the object as an instance of '<em>Logic Result</em>'.
159 * <!-- begin-user-doc -->
160 * This implementation returns null;
161 * returning a non-null result will terminate the switch.
162 * <!-- end-user-doc -->
163 * @param object the target of the switch.
164 * @return the result of interpreting the object as an instance of '<em>Logic Result</em>'.
165 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
166 * @generated
167 */
168 public T caseLogicResult(LogicResult object) {
169 return null;
170 }
171
172 /**
173 * Returns the result of interpreting the object as an instance of '<em>Model Result</em>'.
174 * <!-- begin-user-doc -->
175 * This implementation returns null;
176 * returning a non-null result will terminate the switch.
177 * <!-- end-user-doc -->
178 * @param object the target of the switch.
179 * @return the result of interpreting the object as an instance of '<em>Model Result</em>'.
180 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
181 * @generated
182 */
183 public T caseModelResult(ModelResult object) {
184 return null;
185 }
186
187 /**
188 * Returns the result of interpreting the object as an instance of '<em>Inconsistency Result</em>'.
189 * <!-- begin-user-doc -->
190 * This implementation returns null;
191 * returning a non-null result will terminate the switch.
192 * <!-- end-user-doc -->
193 * @param object the target of the switch.
194 * @return the result of interpreting the object as an instance of '<em>Inconsistency Result</em>'.
195 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
196 * @generated
197 */
198 public T caseInconsistencyResult(InconsistencyResult object) {
199 return null;
200 }
201
202 /**
203 * Returns the result of interpreting the object as an instance of '<em>Unknown Result</em>'.
204 * <!-- begin-user-doc -->
205 * This implementation returns null;
206 * returning a non-null result will terminate the switch.
207 * <!-- end-user-doc -->
208 * @param object the target of the switch.
209 * @return the result of interpreting the object as an instance of '<em>Unknown Result</em>'.
210 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
211 * @generated
212 */
213 public T caseUnknownResult(UnknownResult object) {
214 return null;
215 }
216
217 /**
218 * Returns the result of interpreting the object as an instance of '<em>Insuficient Resources Result</em>'.
219 * <!-- begin-user-doc -->
220 * This implementation returns null;
221 * returning a non-null result will terminate the switch.
222 * <!-- end-user-doc -->
223 * @param object the target of the switch.
224 * @return the result of interpreting the object as an instance of '<em>Insuficient Resources Result</em>'.
225 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
226 * @generated
227 */
228 public T caseInsuficientResourcesResult(InsuficientResourcesResult object) {
229 return null;
230 }
231
232 /**
233 * Returns the result of interpreting the object as an instance of '<em>Error Result</em>'.
234 * <!-- begin-user-doc -->
235 * This implementation returns null;
236 * returning a non-null result will terminate the switch.
237 * <!-- end-user-doc -->
238 * @param object the target of the switch.
239 * @return the result of interpreting the object as an instance of '<em>Error Result</em>'.
240 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
241 * @generated
242 */
243 public T caseErrorResult(ErrorResult object) {
244 return null;
245 }
246
247 /**
248 * Returns the result of interpreting the object as an instance of '<em>Statistics</em>'.
249 * <!-- begin-user-doc -->
250 * This implementation returns null;
251 * returning a non-null result will terminate the switch.
252 * <!-- end-user-doc -->
253 * @param object the target of the switch.
254 * @return the result of interpreting the object as an instance of '<em>Statistics</em>'.
255 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
256 * @generated
257 */
258 public T caseStatistics(Statistics object) {
259 return null;
260 }
261
262 /**
263 * Returns the result of interpreting the object as an instance of '<em>Statistic Entry</em>'.
264 * <!-- begin-user-doc -->
265 * This implementation returns null;
266 * returning a non-null result will terminate the switch.
267 * <!-- end-user-doc -->
268 * @param object the target of the switch.
269 * @return the result of interpreting the object as an instance of '<em>Statistic Entry</em>'.
270 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
271 * @generated
272 */
273 public T caseStatisticEntry(StatisticEntry object) {
274 return null;
275 }
276
277 /**
278 * Returns the result of interpreting the object as an instance of '<em>Undecidable Result</em>'.
279 * <!-- begin-user-doc -->
280 * This implementation returns null;
281 * returning a non-null result will terminate the switch.
282 * <!-- end-user-doc -->
283 * @param object the target of the switch.
284 * @return the result of interpreting the object as an instance of '<em>Undecidable Result</em>'.
285 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
286 * @generated
287 */
288 public T caseUndecidableResult(UndecidableResult object) {
289 return null;
290 }
291
292 /**
293 * Returns the result of interpreting the object as an instance of '<em>Int Statistic Entry</em>'.
294 * <!-- begin-user-doc -->
295 * This implementation returns null;
296 * returning a non-null result will terminate the switch.
297 * <!-- end-user-doc -->
298 * @param object the target of the switch.
299 * @return the result of interpreting the object as an instance of '<em>Int Statistic Entry</em>'.
300 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
301 * @generated
302 */
303 public T caseIntStatisticEntry(IntStatisticEntry object) {
304 return null;
305 }
306
307 /**
308 * Returns the result of interpreting the object as an instance of '<em>Real Statistic Entry</em>'.
309 * <!-- begin-user-doc -->
310 * This implementation returns null;
311 * returning a non-null result will terminate the switch.
312 * <!-- end-user-doc -->
313 * @param object the target of the switch.
314 * @return the result of interpreting the object as an instance of '<em>Real Statistic Entry</em>'.
315 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
316 * @generated
317 */
318 public T caseRealStatisticEntry(RealStatisticEntry object) {
319 return null;
320 }
321
322 /**
323 * Returns the result of interpreting the object as an instance of '<em>String Statistic Entry</em>'.
324 * <!-- begin-user-doc -->
325 * This implementation returns null;
326 * returning a non-null result will terminate the switch.
327 * <!-- end-user-doc -->
328 * @param object the target of the switch.
329 * @return the result of interpreting the object as an instance of '<em>String Statistic Entry</em>'.
330 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
331 * @generated
332 */
333 public T caseStringStatisticEntry(StringStatisticEntry object) {
334 return null;
335 }
336
337 /**
338 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
339 * <!-- begin-user-doc -->
340 * This implementation returns null;
341 * returning a non-null result will terminate the switch, but this is the last case anyway.
342 * <!-- end-user-doc -->
343 * @param object the target of the switch.
344 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
345 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
346 * @generated
347 */
348 @Override
349 public T defaultCase(EObject object) {
350 return null;
351 }
352
353} //LogicresultSwitch
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/Types_and_Type_References.pdf b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/Types_and_Type_References.pdf
new file mode 100644
index 00000000..880b40d9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/Types_and_Type_References.pdf
Binary files differ
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/Types_and_Type_References.svg b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/Types_and_Type_References.svg
new file mode 100644
index 00000000..a7981214
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/Types_and_Type_References.svg
@@ -0,0 +1,388 @@
1<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-dasharray="none" shape-rendering="auto" font-family="'Dialog'" width="913" text-rendering="auto" fill-opacity="1" contentScriptType="text/ecmascript" color-interpolation="auto" color-rendering="auto" preserveAspectRatio="xMidYMid meet" font-size="12" viewBox="0 0 913 338" fill="black" stroke="black" image-rendering="auto" stroke-miterlimit="10" zoomAndPan="magnify" version="1.0" stroke-linecap="square" stroke-linejoin="miter" contentStyleType="text/css" font-style="normal" height="338" stroke-width="1" stroke-dashoffset="0" font-weight="normal" stroke-opacity="1">
2<!--Generated by the Batik Graphics2D SVG Generator-->
3<defs id="genericDefs"/>
4<g>
5<defs id="defs1">
6<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
7<path d="M127 94 L307 94 L307 164 L127 164 L127 94 Z"/>
8</clipPath>
9<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
10<path d="M127 94 L305 94 L305 162 L127 162 L127 94 Z"/>
11</clipPath>
12<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
13<path d="M194 99 L237 99 L237 117 L194 117 L194 99 Z"/>
14</clipPath>
15<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
16<path d="M194 99 L239 99 L239 117 L194 117 L194 99 Z"/>
17</clipPath>
18<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
19<path d="M132 122 L228 122 L228 140 L132 140 L132 122 Z"/>
20</clipPath>
21<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
22<path d="M132 122 L230 122 L230 140 L132 140 L132 122 Z"/>
23</clipPath>
24<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
25<path d="M132 138 L300 138 L300 156 L132 156 L132 138 Z"/>
26</clipPath>
27<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
28<path d="M132 138 L302 138 L302 156 L132 156 L132 138 Z"/>
29</clipPath>
30<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
31<path d="M128 120 L304 120 L304 161 L128 161 L128 120 Z"/>
32</clipPath>
33<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
34<path d="M40 284 L162 284 L162 329 L40 329 L40 284 Z"/>
35</clipPath>
36<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
37<path d="M40 284 L160 284 L160 327 L40 327 L40 284 Z"/>
38</clipPath>
39<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
40<path d="M48 289 L151 289 L151 307 L48 307 L48 289 Z"/>
41</clipPath>
42<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
43<path d="M48 289 L153 289 L153 307 L48 307 L48 289 Z"/>
44</clipPath>
45<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
46<path d="M41 310 L159 310 L159 326 L41 326 L41 310 Z"/>
47</clipPath>
48<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
49<path d="M40 204 L162 204 L162 249 L40 249 L40 204 Z"/>
50</clipPath>
51<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
52<path d="M40 204 L160 204 L160 247 L40 247 L40 204 Z"/>
53</clipPath>
54<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
55<path d="M52 209 L147 209 L147 227 L52 227 L52 209 Z"/>
56</clipPath>
57<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
58<path d="M52 209 L149 209 L149 227 L52 227 L52 209 Z"/>
59</clipPath>
60<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
61<path d="M41 230 L159 230 L159 246 L41 246 L41 230 Z"/>
62</clipPath>
63<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
64<path d="M547 109 L669 109 L669 164 L547 164 L547 109 Z"/>
65</clipPath>
66<clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
67<path d="M547 109 L667 109 L667 162 L547 162 L547 109 Z"/>
68</clipPath>
69<clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
70<path d="M563 114 L650 114 L650 132 L563 132 L563 114 Z"/>
71</clipPath>
72<clipPath clipPathUnits="userSpaceOnUse" id="clipPath23">
73<path d="M563 114 L652 114 L652 132 L563 132 L563 114 Z"/>
74</clipPath>
75<clipPath clipPathUnits="userSpaceOnUse" id="clipPath24">
76<path d="M548 135 L666 135 L666 161 L548 161 L548 135 Z"/>
77</clipPath>
78<clipPath clipPathUnits="userSpaceOnUse" id="clipPath25">
79<path d="M437 199 L579 199 L579 244 L437 244 L437 199 Z"/>
80</clipPath>
81<clipPath clipPathUnits="userSpaceOnUse" id="clipPath26">
82<path d="M437 199 L577 199 L577 242 L437 242 L437 199 Z"/>
83</clipPath>
84<clipPath clipPathUnits="userSpaceOnUse" id="clipPath27">
85<path d="M438 204 L576 204 L576 222 L438 222 L438 204 Z"/>
86</clipPath>
87<clipPath clipPathUnits="userSpaceOnUse" id="clipPath28">
88<path d="M438 204 L578 204 L578 222 L438 222 L438 204 Z"/>
89</clipPath>
90<clipPath clipPathUnits="userSpaceOnUse" id="clipPath29">
91<path d="M438 225 L576 225 L576 241 L438 241 L438 225 Z"/>
92</clipPath>
93<clipPath clipPathUnits="userSpaceOnUse" id="clipPath30">
94<path d="M637 199 L770 199 L770 244 L637 244 L637 199 Z"/>
95</clipPath>
96<clipPath clipPathUnits="userSpaceOnUse" id="clipPath31">
97<path d="M637 199 L768 199 L768 242 L637 242 L637 199 Z"/>
98</clipPath>
99<clipPath clipPathUnits="userSpaceOnUse" id="clipPath32">
100<path d="M638 204 L767 204 L767 222 L638 222 L638 204 Z"/>
101</clipPath>
102<clipPath clipPathUnits="userSpaceOnUse" id="clipPath33">
103<path d="M638 204 L769 204 L769 222 L638 222 L638 204 Z"/>
104</clipPath>
105<clipPath clipPathUnits="userSpaceOnUse" id="clipPath34">
106<path d="M638 225 L767 225 L767 241 L638 241 L638 225 Z"/>
107</clipPath>
108<clipPath clipPathUnits="userSpaceOnUse" id="clipPath35">
109<path d="M507 275 L629 275 L629 318 L507 318 L507 275 Z"/>
110</clipPath>
111<clipPath clipPathUnits="userSpaceOnUse" id="clipPath36">
112<path d="M507 275 L627 275 L627 316 L507 316 L507 275 Z"/>
113</clipPath>
114<clipPath clipPathUnits="userSpaceOnUse" id="clipPath37">
115<path d="M513 280 L621 280 L621 298 L513 298 L513 280 Z"/>
116</clipPath>
117<clipPath clipPathUnits="userSpaceOnUse" id="clipPath38">
118<path d="M513 280 L623 280 L623 298 L513 298 L513 280 Z"/>
119</clipPath>
120<clipPath clipPathUnits="userSpaceOnUse" id="clipPath39">
121<path d="M508 301 L626 301 L626 315 L508 315 L508 301 Z"/>
122</clipPath>
123<clipPath clipPathUnits="userSpaceOnUse" id="clipPath40">
124<path d="M782 275 L904 275 L904 318 L782 318 L782 275 Z"/>
125</clipPath>
126<clipPath clipPathUnits="userSpaceOnUse" id="clipPath41">
127<path d="M782 275 L902 275 L902 316 L782 316 L782 275 Z"/>
128</clipPath>
129<clipPath clipPathUnits="userSpaceOnUse" id="clipPath42">
130<path d="M783 280 L901 280 L901 298 L783 298 L783 280 Z"/>
131</clipPath>
132<clipPath clipPathUnits="userSpaceOnUse" id="clipPath43">
133<path d="M783 280 L903 280 L903 298 L783 298 L783 280 Z"/>
134</clipPath>
135<clipPath clipPathUnits="userSpaceOnUse" id="clipPath44">
136<path d="M783 301 L901 301 L901 315 L783 315 L783 301 Z"/>
137</clipPath>
138<clipPath clipPathUnits="userSpaceOnUse" id="clipPath45">
139<path d="M643 275 L765 275 L765 318 L643 318 L643 275 Z"/>
140</clipPath>
141<clipPath clipPathUnits="userSpaceOnUse" id="clipPath46">
142<path d="M643 275 L763 275 L763 316 L643 316 L643 275 Z"/>
143</clipPath>
144<clipPath clipPathUnits="userSpaceOnUse" id="clipPath47">
145<path d="M645 280 L761 280 L761 298 L645 298 L645 280 Z"/>
146</clipPath>
147<clipPath clipPathUnits="userSpaceOnUse" id="clipPath48">
148<path d="M645 280 L763 280 L763 298 L645 298 L645 280 Z"/>
149</clipPath>
150<clipPath clipPathUnits="userSpaceOnUse" id="clipPath49">
151<path d="M644 301 L762 301 L762 315 L644 315 L644 301 Z"/>
152</clipPath>
153<clipPath clipPathUnits="userSpaceOnUse" id="clipPath50">
154<path d="M277 9 L399 9 L399 52 L277 52 L277 9 Z"/>
155</clipPath>
156<clipPath clipPathUnits="userSpaceOnUse" id="clipPath51">
157<path d="M277 9 L397 9 L397 50 L277 50 L277 9 Z"/>
158</clipPath>
159<clipPath clipPathUnits="userSpaceOnUse" id="clipPath52">
160<path d="M291 14 L383 14 L383 32 L291 32 L291 14 Z"/>
161</clipPath>
162<clipPath clipPathUnits="userSpaceOnUse" id="clipPath53">
163<path d="M291 14 L385 14 L385 32 L291 32 L291 14 Z"/>
164</clipPath>
165<clipPath clipPathUnits="userSpaceOnUse" id="clipPath54">
166<path d="M278 35 L396 35 L396 49 L278 49 L278 35 Z"/>
167</clipPath>
168<clipPath clipPathUnits="userSpaceOnUse" id="clipPath55">
169<path d="M232 199 L354 199 L354 244 L232 244 L232 199 Z"/>
170</clipPath>
171<clipPath clipPathUnits="userSpaceOnUse" id="clipPath56">
172<path d="M232 199 L352 199 L352 242 L232 242 L232 199 Z"/>
173</clipPath>
174<clipPath clipPathUnits="userSpaceOnUse" id="clipPath57">
175<path d="M241 204 L343 204 L343 222 L241 222 L241 204 Z"/>
176</clipPath>
177<clipPath clipPathUnits="userSpaceOnUse" id="clipPath58">
178<path d="M241 204 L345 204 L345 222 L241 222 L241 204 Z"/>
179</clipPath>
180<clipPath clipPathUnits="userSpaceOnUse" id="clipPath59">
181<path d="M233 225 L351 225 L351 241 L233 241 L233 225 Z"/>
182</clipPath>
183<clipPath clipPathUnits="userSpaceOnUse" id="clipPath60">
184<path d="M-1 -1 L914 -1 L914 339 L-1 339 L-1 -1 Z"/>
185</clipPath>
186<clipPath clipPathUnits="userSpaceOnUse" id="clipPath61">
187<path d="M22 254 L98 254 L98 269 L22 269 L22 254 Z"/>
188</clipPath>
189<clipPath clipPathUnits="userSpaceOnUse" id="clipPath62">
190<path d="M95 277 L104 277 L104 287 L95 287 L95 277 Z"/>
191</clipPath>
192<clipPath clipPathUnits="userSpaceOnUse" id="clipPath63">
193<path d="M163 208 L232 208 L232 223 L163 223 L163 208 Z"/>
194</clipPath>
195<clipPath clipPathUnits="userSpaceOnUse" id="clipPath64">
196<path d="M225 221 L235 221 L235 230 L225 230 L225 221 Z"/>
197</clipPath>
198<clipPath clipPathUnits="userSpaceOnUse" id="clipPath65">
199<path d="M391 151 L463 151 L463 166 L391 166 L391 151 Z"/>
200</clipPath>
201<clipPath clipPathUnits="userSpaceOnUse" id="clipPath66">
202<path d="M303 144 L313 144 L313 153 L303 153 L303 144 Z"/>
203</clipPath>
204<clipPath clipPathUnits="userSpaceOnUse" id="clipPath67">
205<path d="M333 48 L344 48 L344 59 L333 59 L333 48 Z"/>
206</clipPath>
207<clipPath clipPathUnits="userSpaceOnUse" id="clipPath68">
208<path d="M212 160 L223 160 L223 171 L212 171 L212 160 Z"/>
209</clipPath>
210<clipPath clipPathUnits="userSpaceOnUse" id="clipPath69">
211<path d="M603 160 L614 160 L614 171 L603 171 L603 160 Z"/>
212</clipPath>
213<clipPath clipPathUnits="userSpaceOnUse" id="clipPath70">
214<path d="M697 240 L708 240 L708 251 L697 251 L697 240 Z"/>
215</clipPath>
216<clipPath clipPathUnits="userSpaceOnUse" id="clipPath71">
217<path d="M53 141 L139 141 L139 156 L53 156 L53 141 Z"/>
218</clipPath>
219<clipPath clipPathUnits="userSpaceOnUse" id="clipPath72">
220<path d="M56 94 L132 94 L132 109 L56 109 L56 94 Z"/>
221</clipPath>
222<clipPath clipPathUnits="userSpaceOnUse" id="clipPath73">
223<path d="M120 154 L130 154 L130 163 L120 163 L120 154 Z"/>
224</clipPath>
225<clipPath clipPathUnits="userSpaceOnUse" id="clipPath74">
226<path d="M120 106 L130 106 L130 115 L120 115 L120 106 Z"/>
227</clipPath>
228</defs>
229<g font-size="11" fill="rgb(131,122,133)" font-family="'Segoe UI'" stroke-linejoin="round" font-style="italic" stroke="rgb(131,122,133)" stroke-width="0" stroke-miterlimit="0">
230<rect x="129" y="96" clip-path="url(#clipPath1)" width="176" rx="4" opacity="0.2549" ry="4" height="66" stroke="none"/>
231<rect x="130" y="97" clip-path="url(#clipPath1)" width="176" rx="4" opacity="0.2549" ry="4" height="66" stroke="none"/>
232<rect x="128" y="95" clip-path="url(#clipPath2)" fill="white" width="176" rx="4" ry="4" height="66" stroke="none"/>
233</g>
234<g stroke-linecap="butt" font-size="11" fill="rgb(125,125,125)" font-family="'Segoe UI'" font-style="italic" stroke="rgb(125,125,125)" stroke-width="1.1">
235<rect x="128" y="95" clip-path="url(#clipPath2)" fill="none" width="175" rx="4" ry="4" height="65"/>
236<image x="195" y="100" clip-path="url(#clipPath3)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA2UlEQVR42mP8//8/&#13;&#10;AyWABUQwMjKimAI0lJFYAxgh6lFdATSQYW6NPk5NSc0XGFFcANMEtR1MR9cuwqp5&#13;&#10;aXMcpheQNRIC/9B8h9MF//+zMjDC1P6HeZaB4c9f7IEIDzhYgK5cMA2rC/78Z0I1&#13;&#10;AD3E+0pNGLJa5uL0wrSaEyh8JnQFv/8y4Q0DdHkWdAW//jKC/Q/xDmYYgOTxGvAb&#13;&#10;qKC7bzVEE7YwIGjAPyaGquIAnF5oLNxJIAz+EQiDfwTC4A+BMCDohb/AeC7OysTp&#13;&#10;AmYmAi6YNPsAIynZGQCn3VpKGCzVQQAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/>
237<text x="214" y="113" clip-path="url(#clipPath4)" fill="black" stroke="none" xml:space="preserve">Type</text>
238</g>
239<g stroke-width="1.1" font-size="11" font-family="'Segoe UI'" font-weight="bold" stroke-linecap="butt">
240<image x="133" y="123" clip-path="url(#clipPath5)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAm0lEQVR42mNgGAWM&#13;&#10;6AJza/T/E9KU3HIRro8FXfLHHyaG5MYFODXPrU9A4TOhK/j6iwWv7ejyGKo/AxX8&#13;&#10;/88K8R/Mof+hnv0PkcdrAMiG4qxMnC7gYGGhUSxI2pf9f36wixGXQpD8mpm1YHZI&#13;&#10;ejMDTC0TTJKQTSDNII0gDDOIaBfgsgCknokYf4IUItsKYmP1Ai4a5m+QRphXqAYA&#13;&#10;oPhIDrK3I0IAAAAASUVORK5CYII=" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/>
241<text xml:space="preserve" x="152" y="136" clip-path="url(#clipPath6)" stroke="none">name : EString</text>
242<image x="133" y="139" clip-path="url(#clipPath7)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAcklEQVR42mNgGAWM&#13;&#10;6AJza/T/E9KU3HIRro8FXfLHHyaG5MYFODXPrU9A4TOhK/j6iwWv7ejyGKo/AxX8&#13;&#10;/88K8R/Mof+hnv0PkcdrAMiG4qxMnC7gYGGhczRJ2pfhjRUmSjTT3gVkpURctj8/&#13;&#10;2MVIk0AGAJdzIYcp/aiWAAAAAElFTkSuQmCC" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/>
243<text xml:space="preserve" x="152" y="152" clip-path="url(#clipPath8)" stroke="none">isAbstract : EBoolean = false</text>
244</g>
245<g stroke-linecap="butt" font-size="11" fill="rgb(125,125,125)" font-family="'Segoe UI'" font-style="italic" stroke="rgb(125,125,125)" stroke-width="1.1">
246<line clip-path="url(#clipPath9)" fill="none" x1="129" x2="303" y1="121" y2="121"/>
247<rect x="42" y="286" clip-path="url(#clipPath10)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="41" stroke="none"/>
248<rect x="43" y="287" clip-path="url(#clipPath10)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="41" stroke="none"/>
249<rect x="41" y="285" clip-path="url(#clipPath11)" fill="white" width="118" rx="4" ry="4" height="41" stroke="none"/>
250<rect x="41" y="285" clip-path="url(#clipPath11)" fill="none" width="117" rx="4" ry="4" height="40" stroke="black"/>
251<image stroke="black" width="16" xlink:show="embed" xlink:type="simple" fill="black" clip-path="url(#clipPath12)" preserveAspectRatio="none" height="16" font-style="normal" x="49" y="290" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAtElEQVR42mNgGGjA&#13;&#10;iC4wt0b/PyFNyS0X4fpYsCmIrl2EU/PS5jgUPhO6gn//GfHaji6P4YI/fxkY/v9n&#13;&#10;hfgPpvY/1LP/IfL4DfjPxLBqwTQGXAEBksdrwO9/TAzhiak4vTCt5gT+MPj9lwlv&#13;&#10;GKDLY7jg119GvGEAksfvBaCC7r7VDLgC4Q9BA4BhUFUcgNMLjYU7CYTBPwJh8I+J&#13;&#10;UDpgJJAOCHjhLzCei7MycbqAmYmJurkRAGS/RaNk4/qhAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
252<text x="68" y="303" clip-path="url(#clipPath13)" fill="black" font-style="normal" stroke="none" xml:space="preserve">DefinedElement</text>
253<line clip-path="url(#clipPath14)" fill="none" x1="42" x2="158" y1="311" y2="311" stroke="black"/>
254<rect x="42" y="206" clip-path="url(#clipPath15)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="41" stroke="none"/>
255<rect x="43" y="207" clip-path="url(#clipPath15)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="41" stroke="none"/>
256<rect x="41" y="205" clip-path="url(#clipPath16)" fill="white" width="118" rx="4" ry="4" height="41" stroke="none"/>
257<rect x="41" y="205" clip-path="url(#clipPath16)" fill="none" width="117" rx="4" ry="4" height="40" stroke="black"/>
258<image stroke="black" width="16" xlink:show="embed" xlink:type="simple" fill="black" clip-path="url(#clipPath17)" preserveAspectRatio="none" height="16" font-style="normal" x="53" y="210" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAtElEQVR42mNgGGjA&#13;&#10;iC4wt0b/PyFNyS0X4fpYsCmIrl2EU/PS5jgUPhO6gn//GfHaji6P4YI/fxkY/v9n&#13;&#10;hfgPpvY/1LP/IfL4DfjPxLBqwTQGXAEBksdrwO9/TAzhiak4vTCt5gT+MPj9lwlv&#13;&#10;GKDLY7jg119GvGEAksfvBaCC7r7VDLgC4Q9BA4BhUFUcgNMLjYU7CYTBPwJh8I+J&#13;&#10;UDpgJJAOCHjhLzCei7MycbqAmYmJurkRAGS/RaNk4/qhAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
259<text x="72" y="223" clip-path="url(#clipPath18)" fill="black" font-style="normal" stroke="none" xml:space="preserve">TypeDefinition</text>
260<line clip-path="url(#clipPath19)" fill="none" x1="42" x2="158" y1="231" y2="231" stroke="black"/>
261<rect x="549" y="111" clip-path="url(#clipPath20)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="51" stroke="none"/>
262<rect x="550" y="112" clip-path="url(#clipPath20)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="51" stroke="none"/>
263<rect x="548" y="110" clip-path="url(#clipPath21)" fill="white" width="118" rx="4" ry="4" height="51" stroke="none"/>
264<rect x="548" y="110" clip-path="url(#clipPath21)" fill="none" width="117" rx="4" ry="4" height="50"/>
265<image x="564" y="115" clip-path="url(#clipPath22)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA2UlEQVR42mP8//8/&#13;&#10;AyWABUQwMjKimAI0lJFYAxgh6lFdATSQYW6NPk5NSc0XGFFcANMEtR1MR9cuwqp5&#13;&#10;aXMcpheQNRIC/9B8h9MF//+zMjDC1P6HeZaB4c9f7IEIDzhYgK5cMA2rC/78Z0I1&#13;&#10;AD3E+0pNGLJa5uL0wrSaEyh8JnQFv/8y4Q0DdHkWdAW//jKC/Q/xDmYYgOTxGvAb&#13;&#10;qKC7bzVEE7YwIGjAPyaGquIAnF5oLNxJIAz+EQiDfwTC4A+BMCDohb/AeC7OysTp&#13;&#10;AmYmAi6YNPsAIynZGQCn3VpKGCzVQQAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/>
266<text x="583" y="128" clip-path="url(#clipPath23)" fill="black" stroke="none" xml:space="preserve">TypeReference</text>
267<line clip-path="url(#clipPath24)" fill="none" x1="549" x2="665" y1="136" y2="136"/>
268<rect x="439" y="201" clip-path="url(#clipPath25)" fill="rgb(131,122,133)" width="138" rx="4" opacity="0.2549" ry="4" height="41" stroke="none"/>
269<rect x="440" y="202" clip-path="url(#clipPath25)" fill="rgb(131,122,133)" width="138" rx="4" opacity="0.2549" ry="4" height="41" stroke="none"/>
270<rect x="438" y="200" clip-path="url(#clipPath26)" fill="white" width="138" rx="4" ry="4" height="41" stroke="none"/>
271<rect x="438" y="200" clip-path="url(#clipPath26)" fill="none" width="137" rx="4" ry="4" height="40" stroke="black"/>
272<image stroke="black" width="16" xlink:show="embed" xlink:type="simple" fill="black" clip-path="url(#clipPath27)" preserveAspectRatio="none" height="16" font-style="normal" x="439" y="205" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAtElEQVR42mNgGGjA&#13;&#10;iC4wt0b/PyFNyS0X4fpYsCmIrl2EU/PS5jgUPhO6gn//GfHaji6P4YI/fxkY/v9n&#13;&#10;hfgPpvY/1LP/IfL4DfjPxLBqwTQGXAEBksdrwO9/TAzhiak4vTCt5gT+MPj9lwlv&#13;&#10;GKDLY7jg119GvGEAksfvBaCC7r7VDLgC4Q9BA4BhUFUcgNMLjYU7CYTBPwJh8I+J&#13;&#10;UDpgJJAOCHjhLzCei7MycbqAmYmJurkRAGS/RaNk4/qhAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
273<text x="458" y="218" clip-path="url(#clipPath28)" fill="black" font-style="normal" stroke="none" xml:space="preserve">ComplexTypeReference</text>
274<line clip-path="url(#clipPath29)" fill="none" x1="439" x2="575" y1="226" y2="226" stroke="black"/>
275<rect x="639" y="201" clip-path="url(#clipPath30)" fill="rgb(131,122,133)" width="129" rx="4" opacity="0.2549" ry="4" height="41" stroke="none"/>
276<rect x="640" y="202" clip-path="url(#clipPath30)" fill="rgb(131,122,133)" width="129" rx="4" opacity="0.2549" ry="4" height="41" stroke="none"/>
277<rect x="638" y="200" clip-path="url(#clipPath31)" fill="white" width="129" rx="4" ry="4" height="41" stroke="none"/>
278<rect x="638" y="200" clip-path="url(#clipPath31)" fill="none" width="128" rx="4" ry="4" height="40"/>
279<image x="639" y="205" clip-path="url(#clipPath32)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA2UlEQVR42mP8//8/&#13;&#10;AyWABUQwMjKimAI0lJFYAxgh6lFdATSQYW6NPk5NSc0XGFFcANMEtR1MR9cuwqp5&#13;&#10;aXMcpheQNRIC/9B8h9MF//+zMjDC1P6HeZaB4c9f7IEIDzhYgK5cMA2rC/78Z0I1&#13;&#10;AD3E+0pNGLJa5uL0wrSaEyh8JnQFv/8y4Q0DdHkWdAW//jKC/Q/xDmYYgOTxGvAb&#13;&#10;qKC7bzVEE7YwIGjAPyaGquIAnF5oLNxJIAz+EQiDfwTC4A+BMCDohb/AeC7OysTp&#13;&#10;AmYmAi6YNPsAIynZGQCn3VpKGCzVQQAAAABJRU5ErkJggg==" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/>
280<text x="658" y="218" clip-path="url(#clipPath33)" fill="black" stroke="none" xml:space="preserve">PrimitiveTypeReference</text>
281<line clip-path="url(#clipPath34)" fill="none" x1="639" x2="766" y1="226" y2="226"/>
282<rect x="509" y="277" clip-path="url(#clipPath35)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
283<rect x="510" y="278" clip-path="url(#clipPath35)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
284<rect x="508" y="276" clip-path="url(#clipPath36)" fill="white" width="118" rx="4" ry="4" height="39" stroke="none"/>
285<rect x="508" y="276" clip-path="url(#clipPath36)" fill="none" width="117" rx="4" ry="4" height="38" stroke="black"/>
286<image stroke="black" width="16" xlink:show="embed" xlink:type="simple" fill="black" clip-path="url(#clipPath37)" preserveAspectRatio="none" height="16" font-style="normal" x="514" y="281" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAtElEQVR42mNgGGjA&#13;&#10;iC4wt0b/PyFNyS0X4fpYsCmIrl2EU/PS5jgUPhO6gn//GfHaji6P4YI/fxkY/v9n&#13;&#10;hfgPpvY/1LP/IfL4DfjPxLBqwTQGXAEBksdrwO9/TAzhiak4vTCt5gT+MPj9lwlv&#13;&#10;GKDLY7jg119GvGEAksfvBaCC7r7VDLgC4Q9BA4BhUFUcgNMLjYU7CYTBPwJh8I+J&#13;&#10;UDpgJJAOCHjhLzCei7MycbqAmYmJurkRAGS/RaNk4/qhAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
287<text x="533" y="294" clip-path="url(#clipPath38)" fill="black" font-style="normal" stroke="none" xml:space="preserve">IntTypeReference</text>
288<line clip-path="url(#clipPath39)" fill="none" x1="509" x2="625" y1="302" y2="302" stroke="black"/>
289<rect x="784" y="277" clip-path="url(#clipPath40)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
290<rect x="785" y="278" clip-path="url(#clipPath40)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
291<rect x="783" y="276" clip-path="url(#clipPath41)" fill="white" width="118" rx="4" ry="4" height="39" stroke="none"/>
292<rect x="783" y="276" clip-path="url(#clipPath41)" fill="none" width="117" rx="4" ry="4" height="38" stroke="black"/>
293<image stroke="black" width="16" xlink:show="embed" xlink:type="simple" fill="black" clip-path="url(#clipPath42)" preserveAspectRatio="none" height="16" font-style="normal" x="784" y="281" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAtElEQVR42mNgGGjA&#13;&#10;iC4wt0b/PyFNyS0X4fpYsCmIrl2EU/PS5jgUPhO6gn//GfHaji6P4YI/fxkY/v9n&#13;&#10;hfgPpvY/1LP/IfL4DfjPxLBqwTQGXAEBksdrwO9/TAzhiak4vTCt5gT+MPj9lwlv&#13;&#10;GKDLY7jg119GvGEAksfvBaCC7r7VDLgC4Q9BA4BhUFUcgNMLjYU7CYTBPwJh8I+J&#13;&#10;UDpgJJAOCHjhLzCei7MycbqAmYmJurkRAGS/RaNk4/qhAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
294<text x="803" y="294" clip-path="url(#clipPath43)" fill="black" font-style="normal" stroke="none" xml:space="preserve">BoolTypeReference</text>
295<line clip-path="url(#clipPath44)" fill="none" x1="784" x2="900" y1="302" y2="302" stroke="black"/>
296<rect x="645" y="277" clip-path="url(#clipPath45)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
297<rect x="646" y="278" clip-path="url(#clipPath45)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
298<rect x="644" y="276" clip-path="url(#clipPath46)" fill="white" width="118" rx="4" ry="4" height="39" stroke="none"/>
299<rect x="644" y="276" clip-path="url(#clipPath46)" fill="none" width="117" rx="4" ry="4" height="38" stroke="black"/>
300<image stroke="black" width="16" xlink:show="embed" xlink:type="simple" fill="black" clip-path="url(#clipPath47)" preserveAspectRatio="none" height="16" font-style="normal" x="646" y="281" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAtElEQVR42mNgGGjA&#13;&#10;iC4wt0b/PyFNyS0X4fpYsCmIrl2EU/PS5jgUPhO6gn//GfHaji6P4YI/fxkY/v9n&#13;&#10;hfgPpvY/1LP/IfL4DfjPxLBqwTQGXAEBksdrwO9/TAzhiak4vTCt5gT+MPj9lwlv&#13;&#10;GKDLY7jg119GvGEAksfvBaCC7r7VDLgC4Q9BA4BhUFUcgNMLjYU7CYTBPwJh8I+J&#13;&#10;UDpgJJAOCHjhLzCei7MycbqAmYmJurkRAGS/RaNk4/qhAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
301<text x="665" y="294" clip-path="url(#clipPath48)" fill="black" font-style="normal" stroke="none" xml:space="preserve">RealTypeReference</text>
302<line clip-path="url(#clipPath49)" fill="none" x1="645" x2="761" y1="302" y2="302" stroke="black"/>
303<rect x="279" y="11" clip-path="url(#clipPath50)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
304<rect x="280" y="12" clip-path="url(#clipPath50)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="39" stroke="none"/>
305<rect x="278" y="10" clip-path="url(#clipPath51)" fill="white" width="118" rx="4" ry="4" height="39" stroke="none"/>
306<rect x="278" y="10" clip-path="url(#clipPath51)" fill="none" width="117" rx="4" ry="4" height="38"/>
307<image x="292" y="15" clip-path="url(#clipPath52)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA3klEQVR42mP8//8/&#13;&#10;AyWABUQwMjLCTQEayEiKAYwQPQhXAA1jmFujj1dTUvMFuCUsIBtBLgAZAtMcXbsI&#13;&#10;p+alzXEofCZ0Bf8I+ABdnglmO9T/DKmtF4A0KxgzMEDxfwT95y/2QEQRXLVgGgOu&#13;&#10;uPnzH9XRLOih3l9m+j88MRWnF6bVnMAfBr//MuENA3R5FnQFv/4yQv0P8hosccAi&#13;&#10;HCKP14DfQAXdfasZcAXCH4IG/GNiqCoOwOmFxsKdBMLgH4Ew+EcgDP4QCAOCXvgL&#13;&#10;jOfirEycLmBmIuCCSbMPkJQbAUo3Y/K+45+lAAAAAElFTkSuQmCC" xlink:type="simple" xlink:actuate="onLoad" height="16" preserveAspectRatio="none" xlink:show="embed"/>
308<text x="311" y="28" clip-path="url(#clipPath53)" fill="black" stroke="none" xml:space="preserve">TypeDescriptor</text>
309<line clip-path="url(#clipPath54)" fill="none" x1="279" x2="395" y1="36" y2="36"/>
310<rect x="234" y="201" clip-path="url(#clipPath55)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="41" stroke="none"/>
311<rect x="235" y="202" clip-path="url(#clipPath55)" fill="rgb(131,122,133)" width="118" rx="4" opacity="0.2549" ry="4" height="41" stroke="none"/>
312<rect x="233" y="200" clip-path="url(#clipPath56)" fill="white" width="118" rx="4" ry="4" height="41" stroke="none"/>
313<rect x="233" y="200" clip-path="url(#clipPath56)" fill="none" width="117" rx="4" ry="4" height="40" stroke="black"/>
314<image stroke="black" width="16" xlink:show="embed" xlink:type="simple" fill="black" clip-path="url(#clipPath57)" preserveAspectRatio="none" height="16" font-style="normal" x="242" y="205" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAtElEQVR42mNgGGjA&#13;&#10;iC4wt0b/PyFNyS0X4fpYsCmIrl2EU/PS5jgUPhO6gn//GfHaji6P4YI/fxkY/v9n&#13;&#10;hfgPpvY/1LP/IfL4DfjPxLBqwTQGXAEBksdrwO9/TAzhiak4vTCt5gT+MPj9lwlv&#13;&#10;GKDLY7jg119GvGEAksfvBaCC7r7VDLgC4Q9BA4BhUFUcgNMLjYU7CYTBPwJh8I+J&#13;&#10;UDpgJJAOCHjhLzCei7MycbqAmYmJurkRAGS/RaNk4/qhAAAAAElFTkSuQmCC" xlink:actuate="onLoad"/>
315<text x="261" y="218" clip-path="url(#clipPath58)" fill="black" font-style="normal" stroke="none" xml:space="preserve">TypeDeclaration</text>
316<line clip-path="url(#clipPath59)" fill="none" x1="234" x2="350" y1="226" y2="226" stroke="black"/>
317<line clip-path="url(#clipPath60)" fill="none" x1="99" x2="99" y1="246" y2="285" stroke="black"/>
318<text x="23" y="267" clip-path="url(#clipPath61)" fill="black" font-style="normal" stroke="none" xml:space="preserve">[0..*] elements</text>
319<line clip-path="url(#clipPath62)" fill="none" x1="96" x2="99" y1="278" y2="285" stroke="black"/>
320<line clip-path="url(#clipPath62)" fill="none" x1="99" x2="102" y1="285" y2="278" stroke="black"/>
321<line clip-path="url(#clipPath60)" fill="none" x1="159" x2="233" y1="225" y2="225" stroke="black"/>
322<text x="164" y="221" clip-path="url(#clipPath63)" fill="black" font-style="normal" stroke="none" xml:space="preserve">[0..1] defines</text>
323<line clip-path="url(#clipPath64)" fill="none" x1="226" x2="233" y1="228" y2="225" stroke="black"/>
324<line clip-path="url(#clipPath64)" fill="none" x1="233" x2="226" y1="225" y2="222" stroke="black"/>
325<line clip-path="url(#clipPath60)" fill="none" x1="497" x2="497" y1="200" y2="148" stroke="black"/>
326<line clip-path="url(#clipPath60)" fill="none" x1="497" x2="304" y1="148" y2="148" stroke="black"/>
327<text x="392" y="164" clip-path="url(#clipPath65)" fill="black" font-style="normal" stroke="none" xml:space="preserve">[0..1] referred</text>
328<line clip-path="url(#clipPath66)" fill="none" x1="311" x2="304" y1="145" y2="148" stroke="black"/>
329<line clip-path="url(#clipPath66)" fill="none" x1="304" x2="311" y1="148" y2="151" stroke="black"/>
330</g>
331<g stroke-linecap="butt" font-size="11" fill="rgb(136,136,136)" font-family="'Segoe UI'" stroke-dasharray="5,5" stroke="rgb(136,136,136)" stroke-width="1.1">
332<line clip-path="url(#clipPath60)" fill="none" x1="216" x2="216" y1="95" y2="67"/>
333<line clip-path="url(#clipPath60)" fill="none" x1="216" x2="338" y1="67" y2="67"/>
334<line clip-path="url(#clipPath60)" fill="none" x1="338" x2="338" y1="67" y2="49"/>
335<polygon fill="white" clip-path="url(#clipPath67)" points=" 338 49 342 57 334 57" stroke="none"/>
336<polygon fill="none" stroke-dasharray="none" clip-path="url(#clipPath67)" points=" 338 49 342 57 334 57"/>
337<line clip-path="url(#clipPath60)" fill="none" x1="100" x2="100" y1="205" y2="179" stroke-dasharray="none"/>
338<line clip-path="url(#clipPath60)" fill="none" x1="100" x2="217" y1="179" y2="179" stroke-dasharray="none"/>
339<line clip-path="url(#clipPath60)" fill="none" x1="217" x2="217" y1="179" y2="161" stroke-dasharray="none"/>
340<polygon fill="white" stroke-dasharray="none" clip-path="url(#clipPath68)" points=" 217 161 221 169 213 169" stroke="none"/>
341<polygon fill="none" stroke-dasharray="none" clip-path="url(#clipPath68)" points=" 217 161 221 169 213 169"/>
342<line clip-path="url(#clipPath60)" fill="none" x1="607" x2="607" y1="110" y2="67"/>
343<line clip-path="url(#clipPath60)" fill="none" x1="607" x2="338" y1="67" y2="67"/>
344<line clip-path="url(#clipPath60)" fill="none" x1="338" x2="338" y1="67" y2="49"/>
345<polygon fill="white" clip-path="url(#clipPath67)" points=" 338 49 342 57 334 57" stroke="none"/>
346<polygon fill="none" stroke-dasharray="none" clip-path="url(#clipPath67)" points=" 338 49 342 57 334 57"/>
347<line clip-path="url(#clipPath60)" fill="none" x1="507" x2="507" y1="200" y2="179" stroke-dasharray="none"/>
348<line clip-path="url(#clipPath60)" fill="none" x1="507" x2="608" y1="179" y2="179" stroke-dasharray="none"/>
349<line clip-path="url(#clipPath60)" fill="none" x1="608" x2="608" y1="179" y2="161" stroke-dasharray="none"/>
350<polygon fill="white" stroke-dasharray="none" clip-path="url(#clipPath69)" points=" 608 161 612 169 604 169" stroke="none"/>
351<polygon fill="none" stroke-dasharray="none" clip-path="url(#clipPath69)" points=" 608 161 612 169 604 169"/>
352<line clip-path="url(#clipPath60)" fill="none" x1="702" x2="702" y1="200" y2="179" stroke-dasharray="none"/>
353<line clip-path="url(#clipPath60)" fill="none" x1="702" x2="608" y1="179" y2="179" stroke-dasharray="none"/>
354<line clip-path="url(#clipPath60)" fill="none" x1="608" x2="608" y1="179" y2="161" stroke-dasharray="none"/>
355<polygon fill="white" stroke-dasharray="none" clip-path="url(#clipPath69)" points=" 608 161 612 169 604 169" stroke="none"/>
356<polygon fill="none" stroke-dasharray="none" clip-path="url(#clipPath69)" points=" 608 161 612 169 604 169"/>
357<line clip-path="url(#clipPath60)" fill="none" x1="567" x2="567" y1="276" y2="260" stroke-dasharray="none"/>
358<line clip-path="url(#clipPath60)" fill="none" x1="567" x2="702" y1="260" y2="260" stroke-dasharray="none"/>
359<line clip-path="url(#clipPath60)" fill="none" x1="702" x2="702" y1="260" y2="241" stroke-dasharray="none"/>
360<polygon fill="white" stroke-dasharray="none" clip-path="url(#clipPath70)" points=" 702 241 706 249 698 249" stroke="none"/>
361<polygon fill="none" stroke-dasharray="none" clip-path="url(#clipPath70)" points=" 702 241 706 249 698 249"/>
362<line clip-path="url(#clipPath60)" fill="none" x1="842" x2="842" y1="276" y2="260" stroke-dasharray="none"/>
363<line clip-path="url(#clipPath60)" fill="none" x1="842" x2="702" y1="260" y2="260" stroke-dasharray="none"/>
364<line clip-path="url(#clipPath60)" fill="none" x1="702" x2="702" y1="260" y2="241" stroke-dasharray="none"/>
365<polygon fill="white" stroke-dasharray="none" clip-path="url(#clipPath70)" points=" 702 241 706 249 698 249" stroke="none"/>
366<polygon fill="none" stroke-dasharray="none" clip-path="url(#clipPath70)" points=" 702 241 706 249 698 249"/>
367<line clip-path="url(#clipPath60)" fill="none" x1="703" x2="703" y1="276" y2="260" stroke-dasharray="none"/>
368<line clip-path="url(#clipPath60)" fill="none" x1="703" x2="702" y1="260" y2="260" stroke-dasharray="none"/>
369<line clip-path="url(#clipPath60)" fill="none" x1="702" x2="702" y1="260" y2="241" stroke-dasharray="none"/>
370<polygon fill="white" stroke-dasharray="none" clip-path="url(#clipPath70)" points=" 702 241 706 249 698 249" stroke="none"/>
371<polygon fill="none" stroke-dasharray="none" clip-path="url(#clipPath70)" points=" 702 241 706 249 698 249"/>
372<line clip-path="url(#clipPath60)" fill="none" x1="292" x2="292" y1="200" y2="179" stroke-dasharray="none"/>
373<line clip-path="url(#clipPath60)" fill="none" x1="292" x2="217" y1="179" y2="179" stroke-dasharray="none"/>
374<line clip-path="url(#clipPath60)" fill="none" x1="217" x2="217" y1="179" y2="161" stroke-dasharray="none"/>
375<polygon fill="white" stroke-dasharray="none" clip-path="url(#clipPath68)" points=" 217 161 221 169 213 169" stroke="none"/>
376<polygon fill="none" stroke-dasharray="none" clip-path="url(#clipPath68)" points=" 217 161 221 169 213 169"/>
377<line clip-path="url(#clipPath60)" fill="none" x1="128" x2="42" y1="158" y2="158" stroke-dasharray="none" stroke="black"/>
378<line clip-path="url(#clipPath60)" fill="none" x1="42" x2="42" y1="158" y2="110" stroke-dasharray="none" stroke="black"/>
379<line clip-path="url(#clipPath60)" fill="none" x1="42" x2="128" y1="110" y2="110" stroke-dasharray="none" stroke="black"/>
380<text x="54" y="154" clip-path="url(#clipPath71)" fill="black" stroke-dasharray="none" stroke="none" xml:space="preserve">[0..*] supertypes</text>
381<text x="57" y="107" clip-path="url(#clipPath72)" fill="black" stroke-dasharray="none" stroke="none" xml:space="preserve">[0..*] subtypes</text>
382<line clip-path="url(#clipPath73)" fill="none" x1="121" x2="128" y1="161" y2="158" stroke-dasharray="none" stroke="black"/>
383<line clip-path="url(#clipPath73)" fill="none" x1="128" x2="121" y1="158" y2="155" stroke-dasharray="none" stroke="black"/>
384<line clip-path="url(#clipPath74)" fill="none" x1="121" x2="128" y1="113" y2="110" stroke-dasharray="none" stroke="black"/>
385<line clip-path="url(#clipPath74)" fill="none" x1="128" x2="121" y1="110" y2="107" stroke-dasharray="none" stroke="black"/>
386</g>
387</g>
388</svg>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/Constants, Functions and Relations.png b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/Constants, Functions and Relations.png
new file mode 100644
index 00000000..1378b0e9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/Constants, Functions and Relations.png
Binary files differ
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/Types and Type References.png b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/Types and Type References.png
new file mode 100644
index 00000000..dd502e4e
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/Types and Type References.png
Binary files differ
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/logicproblem.png b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/logicproblem.png
new file mode 100644
index 00000000..55ca6714
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/logicproblem.png
Binary files differ
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/logicresult class diagram.png b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/logicresult class diagram.png
new file mode 100644
index 00000000..a6bdaefa
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/logicresult class diagram.png
Binary files differ
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/neighbourhoodrepresentation class diagram.png b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/neighbourhoodrepresentation class diagram.png
new file mode 100644
index 00000000..718ca82a
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/figures/neighbourhoodrepresentation class diagram.png
Binary files differ
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.aird b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.aird
new file mode 100644
index 00000000..5daa782f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.aird
@@ -0,0 +1,9603 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<viewpoint:DAnalysis xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style" xmi:id="_VrVKcDx1EeWiQ_wtFd6fGQ" selectedViews="_WD40YDx1EeWiQ_wtFd6fGQ _WEG20Dx1EeWiQ_wtFd6fGQ _WEIE8Dx1EeWiQ_wtFd6fGQ _WEOLkDx1EeWiQ_wtFd6fGQ" version="10.1.0.201509162000">
3 <semanticResources>logiclanguage.ecore</semanticResources>
4 <semanticResources>http://www.eclipse.org/emf/2002/Ecore</semanticResources>
5 <semanticResources>logicproblem.ecore</semanticResources>
6 <semanticResources>logicresult.ecore</semanticResources>
7 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_WD40YDx1EeWiQ_wtFd6fGQ">
8 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_XL9PsDx1EeWiQ_wtFd6fGQ" name="All elements">
9 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_XL9PsTx1EeWiQ_wtFd6fGQ" source="DANNOTATION_CUSTOMIZATION_KEY">
10 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_XL9Psjx1EeWiQ_wtFd6fGQ">
11 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_bcoasDx1EeWiQ_wtFd6fGQ" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
12 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
13 <labelFormat>bold</labelFormat>
14 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
15 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
16 </computedStyleDescriptions>
17 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan">
18 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
19 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_bdKmMTx1EeWiQ_wtFd6fGQ" showIcon="false" labelExpression="service:render">
20 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
21 </centerLabelStyleDescription>
22 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_bdKmMjx1EeWiQ_wtFd6fGQ" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
23 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
24 </endLabelStyleDescription>
25 </computedStyleDescriptions>
26 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_bd8CQDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan">
27 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
28 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_bd8CQTx1EeWiQ_wtFd6fGQ" showIcon="false" labelExpression="service:render">
29 <labelFormat>bold</labelFormat>
30 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
31 </centerLabelStyleDescription>
32 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_bd8CQjx1EeWiQ_wtFd6fGQ" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
33 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
34 </endLabelStyleDescription>
35 </computedStyleDescriptions>
36 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_OE0bYAGOEeaDEJmvhpl9gg" sourceArrow="InputArrow" routingStyle="manhattan">
37 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
38 <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_OE0bYQGOEeaDEJmvhpl9gg" showIcon="false" labelExpression="service:renderEOpposite">
39 <labelFormat>bold</labelFormat>
40 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
41 </beginLabelStyleDescription>
42 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_OE0bYgGOEeaDEJmvhpl9gg" showIcon="false" labelExpression="service:render">
43 <labelFormat>bold</labelFormat>
44 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
45 </endLabelStyleDescription>
46 </computedStyleDescriptions>
47 </data>
48 </ownedAnnotationEntries>
49 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_XMn-EDx1EeWiQ_wtFd6fGQ" source="GMF_DIAGRAMS">
50 <data xmi:type="notation:Diagram" xmi:id="_XMolIDx1EeWiQ_wtFd6fGQ" type="Sirius" element="_XL9PsDx1EeWiQ_wtFd6fGQ" measurementUnit="Pixel">
51 <children xmi:type="notation:Node" xmi:id="_be9V8Dx1EeWiQ_wtFd6fGQ" type="2003" element="_bZ1lYDx1EeWiQ_wtFd6fGQ">
52 <children xmi:type="notation:Node" xmi:id="_be_LIDx1EeWiQ_wtFd6fGQ" type="5007"/>
53 <children xmi:type="notation:Node" xmi:id="_bfCOcDx1EeWiQ_wtFd6fGQ" type="7004">
54 <children xmi:type="notation:Node" xmi:id="_bf4jADx1EeWiQ_wtFd6fGQ" type="3010" element="_bcl-cDx1EeWiQ_wtFd6fGQ">
55 <styles xmi:type="notation:FontStyle" xmi:id="_bf4jATx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8" bold="true"/>
56 <layoutConstraint xmi:type="notation:Location" xmi:id="_bf4jAjx1EeWiQ_wtFd6fGQ"/>
57 </children>
58 <children xmi:type="notation:Node" xmi:id="_OFAooAGOEeaDEJmvhpl9gg" type="3010" element="_ODWbwAGOEeaDEJmvhpl9gg">
59 <styles xmi:type="notation:FontStyle" xmi:id="_OFAooQGOEeaDEJmvhpl9gg" fontName="Segoe UI" fontHeight="8" bold="true"/>
60 <layoutConstraint xmi:type="notation:Location" xmi:id="_OFAoogGOEeaDEJmvhpl9gg"/>
61 </children>
62 <styles xmi:type="notation:SortingStyle" xmi:id="_bfCOcTx1EeWiQ_wtFd6fGQ"/>
63 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfCOcjx1EeWiQ_wtFd6fGQ"/>
64 </children>
65 <styles xmi:type="notation:ShapeStyle" xmi:id="_be9V8Tx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
66 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_be9V8jx1EeWiQ_wtFd6fGQ" x="4508" y="190"/>
67 </children>
68 <children xmi:type="notation:Node" xmi:id="_bfDckDx1EeWiQ_wtFd6fGQ" type="2003" element="_baDn0Dx1EeWiQ_wtFd6fGQ">
69 <children xmi:type="notation:Node" xmi:id="_bfEDoDx1EeWiQ_wtFd6fGQ" type="5007"/>
70 <children xmi:type="notation:Node" xmi:id="_bfEDoTx1EeWiQ_wtFd6fGQ" type="7004">
71 <styles xmi:type="notation:SortingStyle" xmi:id="_bfEDojx1EeWiQ_wtFd6fGQ"/>
72 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfEDozx1EeWiQ_wtFd6fGQ"/>
73 </children>
74 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfDckTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
75 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfDckjx1EeWiQ_wtFd6fGQ" x="4190" y="680"/>
76 </children>
77 <children xmi:type="notation:Node" xmi:id="_bfEqsDx1EeWiQ_wtFd6fGQ" type="2003" element="_baGEEDx1EeWiQ_wtFd6fGQ">
78 <children xmi:type="notation:Node" xmi:id="_bfFRwDx1EeWiQ_wtFd6fGQ" type="5007"/>
79 <children xmi:type="notation:Node" xmi:id="_bfFRwTx1EeWiQ_wtFd6fGQ" type="7004">
80 <styles xmi:type="notation:SortingStyle" xmi:id="_bfFRwjx1EeWiQ_wtFd6fGQ"/>
81 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfFRwzx1EeWiQ_wtFd6fGQ"/>
82 </children>
83 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfEqsTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
84 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfEqsjx1EeWiQ_wtFd6fGQ" x="4535" y="865"/>
85 </children>
86 <children xmi:type="notation:Node" xmi:id="_bfGf4Dx1EeWiQ_wtFd6fGQ" type="2003" element="_baKVgDx1EeWiQ_wtFd6fGQ">
87 <children xmi:type="notation:Node" xmi:id="_bfHG8Dx1EeWiQ_wtFd6fGQ" type="5007"/>
88 <children xmi:type="notation:Node" xmi:id="_bfHG8Tx1EeWiQ_wtFd6fGQ" type="7004">
89 <styles xmi:type="notation:SortingStyle" xmi:id="_bfHG8jx1EeWiQ_wtFd6fGQ"/>
90 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfHG8zx1EeWiQ_wtFd6fGQ"/>
91 </children>
92 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfGf4Tx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
93 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfGf4jx1EeWiQ_wtFd6fGQ" x="4140" y="257"/>
94 </children>
95 <children xmi:type="notation:Node" xmi:id="_bfHuADx1EeWiQ_wtFd6fGQ" type="2003" element="_baMxwDx1EeWiQ_wtFd6fGQ">
96 <children xmi:type="notation:Node" xmi:id="_bfHuAzx1EeWiQ_wtFd6fGQ" type="5007"/>
97 <children xmi:type="notation:Node" xmi:id="_bfIVEDx1EeWiQ_wtFd6fGQ" type="7004">
98 <styles xmi:type="notation:SortingStyle" xmi:id="_bfIVETx1EeWiQ_wtFd6fGQ"/>
99 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfIVEjx1EeWiQ_wtFd6fGQ"/>
100 </children>
101 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfHuATx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
102 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfHuAjx1EeWiQ_wtFd6fGQ" x="4892" y="565"/>
103 </children>
104 <children xmi:type="notation:Node" xmi:id="_bfIVEzx1EeWiQ_wtFd6fGQ" type="2003" element="_baPOADx1EeWiQ_wtFd6fGQ">
105 <children xmi:type="notation:Node" xmi:id="_bfI8IDx1EeWiQ_wtFd6fGQ" type="5007"/>
106 <children xmi:type="notation:Node" xmi:id="_bfJjMDx1EeWiQ_wtFd6fGQ" type="7004">
107 <styles xmi:type="notation:SortingStyle" xmi:id="_bfJjMTx1EeWiQ_wtFd6fGQ"/>
108 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfJjMjx1EeWiQ_wtFd6fGQ"/>
109 </children>
110 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfIVFDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
111 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfIVFTx1EeWiQ_wtFd6fGQ" x="5390" y="208"/>
112 </children>
113 <children xmi:type="notation:Node" xmi:id="_bfKKQDx1EeWiQ_wtFd6fGQ" type="2003" element="_baRDMDx1EeWiQ_wtFd6fGQ">
114 <children xmi:type="notation:Node" xmi:id="_bfKxUDx1EeWiQ_wtFd6fGQ" type="5007"/>
115 <children xmi:type="notation:Node" xmi:id="_bfKxUTx1EeWiQ_wtFd6fGQ" type="7004">
116 <styles xmi:type="notation:SortingStyle" xmi:id="_bfKxUjx1EeWiQ_wtFd6fGQ"/>
117 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfKxUzx1EeWiQ_wtFd6fGQ"/>
118 </children>
119 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfKKQTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
120 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfKKQjx1EeWiQ_wtFd6fGQ" x="4625" y="440"/>
121 </children>
122 <children xmi:type="notation:Node" xmi:id="_bfLYYDx1EeWiQ_wtFd6fGQ" type="2003" element="_baYX8Dx1EeWiQ_wtFd6fGQ">
123 <children xmi:type="notation:Node" xmi:id="_bfLYYzx1EeWiQ_wtFd6fGQ" type="5007"/>
124 <children xmi:type="notation:Node" xmi:id="_bfL_cDx1EeWiQ_wtFd6fGQ" type="7004">
125 <styles xmi:type="notation:SortingStyle" xmi:id="_bfL_cTx1EeWiQ_wtFd6fGQ"/>
126 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfL_cjx1EeWiQ_wtFd6fGQ"/>
127 </children>
128 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfLYYTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
129 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfLYYjx1EeWiQ_wtFd6fGQ" x="4440" y="440"/>
130 </children>
131 <children xmi:type="notation:Node" xmi:id="_bfL_czx1EeWiQ_wtFd6fGQ" type="2003" element="_baa0MDx1EeWiQ_wtFd6fGQ">
132 <children xmi:type="notation:Node" xmi:id="_bfMmgDx1EeWiQ_wtFd6fGQ" type="5007"/>
133 <children xmi:type="notation:Node" xmi:id="_bfMmgTx1EeWiQ_wtFd6fGQ" type="7004">
134 <styles xmi:type="notation:SortingStyle" xmi:id="_bfMmgjx1EeWiQ_wtFd6fGQ"/>
135 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfMmgzx1EeWiQ_wtFd6fGQ"/>
136 </children>
137 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfL_dDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
138 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfL_dTx1EeWiQ_wtFd6fGQ" x="4260" y="440"/>
139 </children>
140 <children xmi:type="notation:Node" xmi:id="_bfMmhDx1EeWiQ_wtFd6fGQ" type="2003" element="_badQcDx1EeWiQ_wtFd6fGQ">
141 <children xmi:type="notation:Node" xmi:id="_bfNNkDx1EeWiQ_wtFd6fGQ" type="5007"/>
142 <children xmi:type="notation:Node" xmi:id="_bfNNkTx1EeWiQ_wtFd6fGQ" type="7004">
143 <styles xmi:type="notation:SortingStyle" xmi:id="_bfNNkjx1EeWiQ_wtFd6fGQ"/>
144 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfNNkzx1EeWiQ_wtFd6fGQ"/>
145 </children>
146 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfMmhTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
147 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfMmhjx1EeWiQ_wtFd6fGQ" x="3960" y="705"/>
148 </children>
149 <children xmi:type="notation:Node" xmi:id="_bfN0oDx1EeWiQ_wtFd6fGQ" type="2003" element="_bafssDx1EeWiQ_wtFd6fGQ">
150 <children xmi:type="notation:Node" xmi:id="_bfObsDx1EeWiQ_wtFd6fGQ" type="5007"/>
151 <children xmi:type="notation:Node" xmi:id="_bfObsTx1EeWiQ_wtFd6fGQ" type="7004">
152 <styles xmi:type="notation:SortingStyle" xmi:id="_bfObsjx1EeWiQ_wtFd6fGQ"/>
153 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfObszx1EeWiQ_wtFd6fGQ"/>
154 </children>
155 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfN0oTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
156 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfN0ojx1EeWiQ_wtFd6fGQ" x="-615" y="-310"/>
157 </children>
158 <children xmi:type="notation:Node" xmi:id="_bfObtDx1EeWiQ_wtFd6fGQ" type="2003" element="_bahh4Dx1EeWiQ_wtFd6fGQ">
159 <children xmi:type="notation:Node" xmi:id="_bfPCwDx1EeWiQ_wtFd6fGQ" type="5007"/>
160 <children xmi:type="notation:Node" xmi:id="_bfPCwTx1EeWiQ_wtFd6fGQ" type="7004">
161 <children xmi:type="notation:Node" xmi:id="_bf5xIDx1EeWiQ_wtFd6fGQ" type="3010" element="_bcuhUDx1EeWiQ_wtFd6fGQ">
162 <styles xmi:type="notation:FontStyle" xmi:id="_bf5xITx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8" bold="true"/>
163 <layoutConstraint xmi:type="notation:Location" xmi:id="_bf5xIjx1EeWiQ_wtFd6fGQ"/>
164 </children>
165 <styles xmi:type="notation:SortingStyle" xmi:id="_bfPCwjx1EeWiQ_wtFd6fGQ"/>
166 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfPCwzx1EeWiQ_wtFd6fGQ"/>
167 </children>
168 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfObtTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
169 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfObtjx1EeWiQ_wtFd6fGQ" x="3670" y="305"/>
170 </children>
171 <children xmi:type="notation:Node" xmi:id="_bfPp0Dx1EeWiQ_wtFd6fGQ" type="2003" element="_baj-IDx1EeWiQ_wtFd6fGQ">
172 <children xmi:type="notation:Node" xmi:id="_bfPp0zx1EeWiQ_wtFd6fGQ" type="5007"/>
173 <children xmi:type="notation:Node" xmi:id="_bfQQ4Dx1EeWiQ_wtFd6fGQ" type="7004">
174 <styles xmi:type="notation:SortingStyle" xmi:id="_bfQQ4Tx1EeWiQ_wtFd6fGQ"/>
175 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfQQ4jx1EeWiQ_wtFd6fGQ"/>
176 </children>
177 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfPp0Tx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
178 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfPp0jx1EeWiQ_wtFd6fGQ" x="4290" y="130"/>
179 </children>
180 <children xmi:type="notation:Node" xmi:id="_bfQQ4zx1EeWiQ_wtFd6fGQ" type="2003" element="_balzUDx1EeWiQ_wtFd6fGQ">
181 <children xmi:type="notation:Node" xmi:id="_bfQ38Dx1EeWiQ_wtFd6fGQ" type="5007"/>
182 <children xmi:type="notation:Node" xmi:id="_bfQ38Tx1EeWiQ_wtFd6fGQ" type="7004">
183 <styles xmi:type="notation:SortingStyle" xmi:id="_bfQ38jx1EeWiQ_wtFd6fGQ"/>
184 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfQ38zx1EeWiQ_wtFd6fGQ"/>
185 </children>
186 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfQQ5Dx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
187 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfQQ5Tx1EeWiQ_wtFd6fGQ" x="1018" y="325"/>
188 </children>
189 <children xmi:type="notation:Node" xmi:id="_bfRfADx1EeWiQ_wtFd6fGQ" type="2003" element="_bao2oDx1EeWiQ_wtFd6fGQ">
190 <children xmi:type="notation:Node" xmi:id="_bfStIDx1EeWiQ_wtFd6fGQ" type="5007"/>
191 <children xmi:type="notation:Node" xmi:id="_bfTUMDx1EeWiQ_wtFd6fGQ" type="7004">
192 <children xmi:type="notation:Node" xmi:id="_bf6YMDx1EeWiQ_wtFd6fGQ" type="3010" element="_bcw9kDx1EeWiQ_wtFd6fGQ">
193 <styles xmi:type="notation:FontStyle" xmi:id="_bf6YMTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
194 <layoutConstraint xmi:type="notation:Location" xmi:id="_bf6YMjx1EeWiQ_wtFd6fGQ"/>
195 </children>
196 <styles xmi:type="notation:SortingStyle" xmi:id="_bfTUMTx1EeWiQ_wtFd6fGQ"/>
197 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfTUMjx1EeWiQ_wtFd6fGQ"/>
198 </children>
199 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfRfATx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
200 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfRfAjx1EeWiQ_wtFd6fGQ" x="-2490" y="10"/>
201 </children>
202 <children xmi:type="notation:Node" xmi:id="_bfT7QDx1EeWiQ_wtFd6fGQ" type="2003" element="_batvIDx1EeWiQ_wtFd6fGQ">
203 <children xmi:type="notation:Node" xmi:id="_bfUiUDx1EeWiQ_wtFd6fGQ" type="5007"/>
204 <children xmi:type="notation:Node" xmi:id="_bfUiUTx1EeWiQ_wtFd6fGQ" type="7004">
205 <children xmi:type="notation:Node" xmi:id="_bf6_QDx1EeWiQ_wtFd6fGQ" type="3010" element="_bcyLsDx1EeWiQ_wtFd6fGQ">
206 <styles xmi:type="notation:FontStyle" xmi:id="_bf6_QTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
207 <layoutConstraint xmi:type="notation:Location" xmi:id="_bf6_Qjx1EeWiQ_wtFd6fGQ"/>
208 </children>
209 <styles xmi:type="notation:SortingStyle" xmi:id="_bfUiUjx1EeWiQ_wtFd6fGQ"/>
210 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfUiUzx1EeWiQ_wtFd6fGQ"/>
211 </children>
212 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfT7QTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
213 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfT7Qjx1EeWiQ_wtFd6fGQ" x="-2120" y="10"/>
214 </children>
215 <children xmi:type="notation:Node" xmi:id="_bfVJYDx1EeWiQ_wtFd6fGQ" type="2003" element="_bawLYDx1EeWiQ_wtFd6fGQ">
216 <children xmi:type="notation:Node" xmi:id="_bfVJYzx1EeWiQ_wtFd6fGQ" type="5007"/>
217 <children xmi:type="notation:Node" xmi:id="_bfVJZDx1EeWiQ_wtFd6fGQ" type="7004">
218 <children xmi:type="notation:Node" xmi:id="_bf7mUDx1EeWiQ_wtFd6fGQ" type="3010" element="_bczZ0Dx1EeWiQ_wtFd6fGQ">
219 <styles xmi:type="notation:FontStyle" xmi:id="_bf7mUTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
220 <layoutConstraint xmi:type="notation:Location" xmi:id="_bf7mUjx1EeWiQ_wtFd6fGQ"/>
221 </children>
222 <styles xmi:type="notation:SortingStyle" xmi:id="_bfVJZTx1EeWiQ_wtFd6fGQ"/>
223 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfVJZjx1EeWiQ_wtFd6fGQ"/>
224 </children>
225 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfVJYTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
226 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfVJYjx1EeWiQ_wtFd6fGQ" x="-2310" y="10"/>
227 </children>
228 <children xmi:type="notation:Node" xmi:id="_bfVwcDx1EeWiQ_wtFd6fGQ" type="2003" element="_baynoDx1EeWiQ_wtFd6fGQ">
229 <children xmi:type="notation:Node" xmi:id="_bfWXgDx1EeWiQ_wtFd6fGQ" type="5007"/>
230 <children xmi:type="notation:Node" xmi:id="_bfWXgTx1EeWiQ_wtFd6fGQ" type="7004">
231 <styles xmi:type="notation:SortingStyle" xmi:id="_bfWXgjx1EeWiQ_wtFd6fGQ"/>
232 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfWXgzx1EeWiQ_wtFd6fGQ"/>
233 </children>
234 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfVwcTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
235 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfVwcjx1EeWiQ_wtFd6fGQ" x="3843" y="950"/>
236 </children>
237 <children xmi:type="notation:Node" xmi:id="_bfWXhDx1EeWiQ_wtFd6fGQ" type="2003" element="_ba1D4Dx1EeWiQ_wtFd6fGQ">
238 <children xmi:type="notation:Node" xmi:id="_bfW-kDx1EeWiQ_wtFd6fGQ" type="5007"/>
239 <children xmi:type="notation:Node" xmi:id="_bfW-kTx1EeWiQ_wtFd6fGQ" type="7004">
240 <styles xmi:type="notation:SortingStyle" xmi:id="_bfW-kjx1EeWiQ_wtFd6fGQ"/>
241 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfW-kzx1EeWiQ_wtFd6fGQ"/>
242 </children>
243 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfWXhTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
244 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfWXhjx1EeWiQ_wtFd6fGQ" x="-1515" y="10"/>
245 </children>
246 <children xmi:type="notation:Node" xmi:id="_bfW-lDx1EeWiQ_wtFd6fGQ" type="2003" element="_ba3gIDx1EeWiQ_wtFd6fGQ">
247 <children xmi:type="notation:Node" xmi:id="_bfXloDx1EeWiQ_wtFd6fGQ" type="5007"/>
248 <children xmi:type="notation:Node" xmi:id="_bfXloTx1EeWiQ_wtFd6fGQ" type="7004">
249 <styles xmi:type="notation:SortingStyle" xmi:id="_bfXlojx1EeWiQ_wtFd6fGQ"/>
250 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfXlozx1EeWiQ_wtFd6fGQ"/>
251 </children>
252 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfW-lTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
253 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfW-ljx1EeWiQ_wtFd6fGQ" x="1965" y="641"/>
254 </children>
255 <children xmi:type="notation:Node" xmi:id="_bfYMsDx1EeWiQ_wtFd6fGQ" type="2003" element="_ba58YDx1EeWiQ_wtFd6fGQ">
256 <children xmi:type="notation:Node" xmi:id="_bfYzwDx1EeWiQ_wtFd6fGQ" type="5007"/>
257 <children xmi:type="notation:Node" xmi:id="_bfYzwTx1EeWiQ_wtFd6fGQ" type="7004">
258 <styles xmi:type="notation:SortingStyle" xmi:id="_bfYzwjx1EeWiQ_wtFd6fGQ"/>
259 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfYzwzx1EeWiQ_wtFd6fGQ"/>
260 </children>
261 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfYMsTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
262 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfYMsjx1EeWiQ_wtFd6fGQ" x="1782" y="641"/>
263 </children>
264 <children xmi:type="notation:Node" xmi:id="_bfYzxDx1EeWiQ_wtFd6fGQ" type="2003" element="_ba7xkDx1EeWiQ_wtFd6fGQ">
265 <children xmi:type="notation:Node" xmi:id="_bfZa0Dx1EeWiQ_wtFd6fGQ" type="5007"/>
266 <children xmi:type="notation:Node" xmi:id="_bfZa0Tx1EeWiQ_wtFd6fGQ" type="7004">
267 <styles xmi:type="notation:SortingStyle" xmi:id="_bfZa0jx1EeWiQ_wtFd6fGQ"/>
268 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfZa0zx1EeWiQ_wtFd6fGQ"/>
269 </children>
270 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfYzxTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
271 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfYzxjx1EeWiQ_wtFd6fGQ" x="-1155" y="-150"/>
272 </children>
273 <children xmi:type="notation:Node" xmi:id="_bfZa1Dx1EeWiQ_wtFd6fGQ" type="2003" element="_ba9mwDx1EeWiQ_wtFd6fGQ">
274 <children xmi:type="notation:Node" xmi:id="_bfaB4Dx1EeWiQ_wtFd6fGQ" type="5007"/>
275 <children xmi:type="notation:Node" xmi:id="_bfaB4Tx1EeWiQ_wtFd6fGQ" type="7004">
276 <styles xmi:type="notation:SortingStyle" xmi:id="_bfaB4jx1EeWiQ_wtFd6fGQ"/>
277 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfaB4zx1EeWiQ_wtFd6fGQ"/>
278 </children>
279 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfZa1Tx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
280 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfZa1jx1EeWiQ_wtFd6fGQ" x="-975" y="10"/>
281 </children>
282 <children xmi:type="notation:Node" xmi:id="_bfao8Dx1EeWiQ_wtFd6fGQ" type="2003" element="_ba_b8Dx1EeWiQ_wtFd6fGQ">
283 <children xmi:type="notation:Node" xmi:id="_bfao8zx1EeWiQ_wtFd6fGQ" type="5007"/>
284 <children xmi:type="notation:Node" xmi:id="_bfbQADx1EeWiQ_wtFd6fGQ" type="7004">
285 <styles xmi:type="notation:SortingStyle" xmi:id="_bfbQATx1EeWiQ_wtFd6fGQ"/>
286 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfbQAjx1EeWiQ_wtFd6fGQ"/>
287 </children>
288 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfao8Tx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
289 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfao8jx1EeWiQ_wtFd6fGQ" x="-1335" y="10"/>
290 </children>
291 <children xmi:type="notation:Node" xmi:id="_bfbQAzx1EeWiQ_wtFd6fGQ" type="2003" element="_bbBRIDx1EeWiQ_wtFd6fGQ">
292 <children xmi:type="notation:Node" xmi:id="_bfceIDx1EeWiQ_wtFd6fGQ" type="5007"/>
293 <children xmi:type="notation:Node" xmi:id="_bfceITx1EeWiQ_wtFd6fGQ" type="7004">
294 <styles xmi:type="notation:SortingStyle" xmi:id="_bfceIjx1EeWiQ_wtFd6fGQ"/>
295 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfceIzx1EeWiQ_wtFd6fGQ"/>
296 </children>
297 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfbQBDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
298 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfbQBTx1EeWiQ_wtFd6fGQ" x="-1905" y="10"/>
299 </children>
300 <children xmi:type="notation:Node" xmi:id="_bfceJDx1EeWiQ_wtFd6fGQ" type="2003" element="_bbDtYDx1EeWiQ_wtFd6fGQ">
301 <children xmi:type="notation:Node" xmi:id="_bfdFMDx1EeWiQ_wtFd6fGQ" type="5007"/>
302 <children xmi:type="notation:Node" xmi:id="_bfdFMTx1EeWiQ_wtFd6fGQ" type="7004">
303 <styles xmi:type="notation:SortingStyle" xmi:id="_bfdFMjx1EeWiQ_wtFd6fGQ"/>
304 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfdFMzx1EeWiQ_wtFd6fGQ"/>
305 </children>
306 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfceJTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
307 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfceJjx1EeWiQ_wtFd6fGQ" x="-795" y="10"/>
308 </children>
309 <children xmi:type="notation:Node" xmi:id="_bfdsQDx1EeWiQ_wtFd6fGQ" type="2003" element="_bbFikDx1EeWiQ_wtFd6fGQ">
310 <children xmi:type="notation:Node" xmi:id="_bfdsQzx1EeWiQ_wtFd6fGQ" type="5007"/>
311 <children xmi:type="notation:Node" xmi:id="_bfeTUDx1EeWiQ_wtFd6fGQ" type="7004">
312 <styles xmi:type="notation:SortingStyle" xmi:id="_bfeTUTx1EeWiQ_wtFd6fGQ"/>
313 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfeTUjx1EeWiQ_wtFd6fGQ"/>
314 </children>
315 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfdsQTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
316 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfdsQjx1EeWiQ_wtFd6fGQ" x="-615" y="10"/>
317 </children>
318 <children xmi:type="notation:Node" xmi:id="_bfeTUzx1EeWiQ_wtFd6fGQ" type="2003" element="_bbGwsDx1EeWiQ_wtFd6fGQ">
319 <children xmi:type="notation:Node" xmi:id="_bfe6YDx1EeWiQ_wtFd6fGQ" type="5007"/>
320 <children xmi:type="notation:Node" xmi:id="_bfe6YTx1EeWiQ_wtFd6fGQ" type="7004">
321 <styles xmi:type="notation:SortingStyle" xmi:id="_bfe6Yjx1EeWiQ_wtFd6fGQ"/>
322 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfe6Yzx1EeWiQ_wtFd6fGQ"/>
323 </children>
324 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfeTVDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
325 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfeTVTx1EeWiQ_wtFd6fGQ" x="-75" y="-150"/>
326 </children>
327 <children xmi:type="notation:Node" xmi:id="_bfhWoDx1EeWiQ_wtFd6fGQ" type="2003" element="_bbIl4Dx1EeWiQ_wtFd6fGQ">
328 <children xmi:type="notation:Node" xmi:id="_bfh9sDx1EeWiQ_wtFd6fGQ" type="5007"/>
329 <children xmi:type="notation:Node" xmi:id="_bfjL0Dx1EeWiQ_wtFd6fGQ" type="7004">
330 <styles xmi:type="notation:SortingStyle" xmi:id="_bfjL0Tx1EeWiQ_wtFd6fGQ"/>
331 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfjL0jx1EeWiQ_wtFd6fGQ"/>
332 </children>
333 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfhWoTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
334 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfhWojx1EeWiQ_wtFd6fGQ" x="-1725" y="10"/>
335 </children>
336 <children xmi:type="notation:Node" xmi:id="_bfjL0zx1EeWiQ_wtFd6fGQ" type="2003" element="_bbKbEDx1EeWiQ_wtFd6fGQ">
337 <children xmi:type="notation:Node" xmi:id="_bfjy4Dx1EeWiQ_wtFd6fGQ" type="5007"/>
338 <children xmi:type="notation:Node" xmi:id="_bfjy4Tx1EeWiQ_wtFd6fGQ" type="7004">
339 <styles xmi:type="notation:SortingStyle" xmi:id="_bfjy4jx1EeWiQ_wtFd6fGQ"/>
340 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfjy4zx1EeWiQ_wtFd6fGQ"/>
341 </children>
342 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfjL1Dx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
343 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfjL1Tx1EeWiQ_wtFd6fGQ" x="-255" y="10"/>
344 </children>
345 <children xmi:type="notation:Node" xmi:id="_bfkZ8Dx1EeWiQ_wtFd6fGQ" type="2003" element="_bbNeYDx1EeWiQ_wtFd6fGQ">
346 <children xmi:type="notation:Node" xmi:id="_bfloEDx1EeWiQ_wtFd6fGQ" type="5007"/>
347 <children xmi:type="notation:Node" xmi:id="_bfmPIDx1EeWiQ_wtFd6fGQ" type="7004">
348 <styles xmi:type="notation:SortingStyle" xmi:id="_bfm2MDx1EeWiQ_wtFd6fGQ"/>
349 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfm2MTx1EeWiQ_wtFd6fGQ"/>
350 </children>
351 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfkZ8Tx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
352 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfkZ8jx1EeWiQ_wtFd6fGQ" x="-435" y="10"/>
353 </children>
354 <children xmi:type="notation:Node" xmi:id="_bfm2Mjx1EeWiQ_wtFd6fGQ" type="2003" element="_bbPTkDx1EeWiQ_wtFd6fGQ">
355 <children xmi:type="notation:Node" xmi:id="_bfndQDx1EeWiQ_wtFd6fGQ" type="5007"/>
356 <children xmi:type="notation:Node" xmi:id="_bfndQTx1EeWiQ_wtFd6fGQ" type="7004">
357 <styles xmi:type="notation:SortingStyle" xmi:id="_bfndQjx1EeWiQ_wtFd6fGQ"/>
358 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfndQzx1EeWiQ_wtFd6fGQ"/>
359 </children>
360 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfm2Mzx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
361 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfm2NDx1EeWiQ_wtFd6fGQ" x="297" y="10"/>
362 </children>
363 <children xmi:type="notation:Node" xmi:id="_bfoEUDx1EeWiQ_wtFd6fGQ" type="2003" element="_bbRIwDx1EeWiQ_wtFd6fGQ">
364 <children xmi:type="notation:Node" xmi:id="_bfoEUzx1EeWiQ_wtFd6fGQ" type="5007"/>
365 <children xmi:type="notation:Node" xmi:id="_bfoEVDx1EeWiQ_wtFd6fGQ" type="7004">
366 <styles xmi:type="notation:SortingStyle" xmi:id="_bfoEVTx1EeWiQ_wtFd6fGQ"/>
367 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfoEVjx1EeWiQ_wtFd6fGQ"/>
368 </children>
369 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfoEUTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
370 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfoEUjx1EeWiQ_wtFd6fGQ" x="105" y="10"/>
371 </children>
372 <children xmi:type="notation:Node" xmi:id="_bforYDx1EeWiQ_wtFd6fGQ" type="2003" element="_bbTlADx1EeWiQ_wtFd6fGQ">
373 <children xmi:type="notation:Node" xmi:id="_bfpScDx1EeWiQ_wtFd6fGQ" type="5007"/>
374 <children xmi:type="notation:Node" xmi:id="_bfpScTx1EeWiQ_wtFd6fGQ" type="7004">
375 <styles xmi:type="notation:SortingStyle" xmi:id="_bfpScjx1EeWiQ_wtFd6fGQ"/>
376 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfpSczx1EeWiQ_wtFd6fGQ"/>
377 </children>
378 <styles xmi:type="notation:ShapeStyle" xmi:id="_bforYTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
379 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bforYjx1EeWiQ_wtFd6fGQ" x="477" y="10"/>
380 </children>
381 <children xmi:type="notation:Node" xmi:id="_bfpSdDx1EeWiQ_wtFd6fGQ" type="2003" element="_bbVaMDx1EeWiQ_wtFd6fGQ">
382 <children xmi:type="notation:Node" xmi:id="_bfqgkDx1EeWiQ_wtFd6fGQ" type="5007"/>
383 <children xmi:type="notation:Node" xmi:id="_bfqgkTx1EeWiQ_wtFd6fGQ" type="7004">
384 <styles xmi:type="notation:SortingStyle" xmi:id="_bfqgkjx1EeWiQ_wtFd6fGQ"/>
385 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfqgkzx1EeWiQ_wtFd6fGQ"/>
386 </children>
387 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfpSdTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
388 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfpSdjx1EeWiQ_wtFd6fGQ" x="-2670" y="-150"/>
389 </children>
390 <children xmi:type="notation:Node" xmi:id="_bfrHoDx1EeWiQ_wtFd6fGQ" type="2003" element="_bbaSsDx1EeWiQ_wtFd6fGQ">
391 <children xmi:type="notation:Node" xmi:id="_bfsVwDx1EeWiQ_wtFd6fGQ" type="5007"/>
392 <children xmi:type="notation:Node" xmi:id="_bfs80Dx1EeWiQ_wtFd6fGQ" type="7004">
393 <styles xmi:type="notation:SortingStyle" xmi:id="_bfs80Tx1EeWiQ_wtFd6fGQ"/>
394 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfs80jx1EeWiQ_wtFd6fGQ"/>
395 </children>
396 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfrHoTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
397 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfrHojx1EeWiQ_wtFd6fGQ" x="540" y="484"/>
398 </children>
399 <children xmi:type="notation:Node" xmi:id="_bfuK8Dx1EeWiQ_wtFd6fGQ" type="2003" element="_bbekIDx1EeWiQ_wtFd6fGQ">
400 <children xmi:type="notation:Node" xmi:id="_bfuK8zx1EeWiQ_wtFd6fGQ" type="5007"/>
401 <children xmi:type="notation:Node" xmi:id="_bfwAIDx1EeWiQ_wtFd6fGQ" type="7004">
402 <styles xmi:type="notation:SortingStyle" xmi:id="_bfwAITx1EeWiQ_wtFd6fGQ"/>
403 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfwAIjx1EeWiQ_wtFd6fGQ"/>
404 </children>
405 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfuK8Tx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
406 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfuK8jx1EeWiQ_wtFd6fGQ" y="484"/>
407 </children>
408 <children xmi:type="notation:Node" xmi:id="_bfwAIzx1EeWiQ_wtFd6fGQ" type="2003" element="_bbgZUDx1EeWiQ_wtFd6fGQ">
409 <children xmi:type="notation:Node" xmi:id="_bfwnMDx1EeWiQ_wtFd6fGQ" type="5007"/>
410 <children xmi:type="notation:Node" xmi:id="_bfwnMTx1EeWiQ_wtFd6fGQ" type="7004">
411 <styles xmi:type="notation:SortingStyle" xmi:id="_bfwnMjx1EeWiQ_wtFd6fGQ"/>
412 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfwnMzx1EeWiQ_wtFd6fGQ"/>
413 </children>
414 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfwAJDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
415 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfwAJTx1EeWiQ_wtFd6fGQ" x="360" y="484"/>
416 </children>
417 <children xmi:type="notation:Node" xmi:id="_bfxOQDx1EeWiQ_wtFd6fGQ" type="2003" element="_bbi1kDx1EeWiQ_wtFd6fGQ">
418 <children xmi:type="notation:Node" xmi:id="_bfx1UDx1EeWiQ_wtFd6fGQ" type="5007"/>
419 <children xmi:type="notation:Node" xmi:id="_bfx1UTx1EeWiQ_wtFd6fGQ" type="7004">
420 <styles xmi:type="notation:SortingStyle" xmi:id="_bfx1Ujx1EeWiQ_wtFd6fGQ"/>
421 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfx1Uzx1EeWiQ_wtFd6fGQ"/>
422 </children>
423 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfxOQTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
424 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfxOQjx1EeWiQ_wtFd6fGQ" x="180" y="484"/>
425 </children>
426 <children xmi:type="notation:Node" xmi:id="_bfx1VDx1EeWiQ_wtFd6fGQ" type="2003" element="_bbkqwDx1EeWiQ_wtFd6fGQ">
427 <children xmi:type="notation:Node" xmi:id="_bfycYDx1EeWiQ_wtFd6fGQ" type="5007"/>
428 <children xmi:type="notation:Node" xmi:id="_bfycYTx1EeWiQ_wtFd6fGQ" type="7004">
429 <styles xmi:type="notation:SortingStyle" xmi:id="_bfycYjx1EeWiQ_wtFd6fGQ"/>
430 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfycYzx1EeWiQ_wtFd6fGQ"/>
431 </children>
432 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfx1VTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
433 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfx1Vjx1EeWiQ_wtFd6fGQ" x="721" y="484"/>
434 </children>
435 <children xmi:type="notation:Node" xmi:id="_bfzDcDx1EeWiQ_wtFd6fGQ" type="2003" element="_bbl44Dx1EeWiQ_wtFd6fGQ">
436 <children xmi:type="notation:Node" xmi:id="_bfzqgDx1EeWiQ_wtFd6fGQ" type="5007"/>
437 <children xmi:type="notation:Node" xmi:id="_bfzqgTx1EeWiQ_wtFd6fGQ" type="7004">
438 <styles xmi:type="notation:SortingStyle" xmi:id="_bfzqgjx1EeWiQ_wtFd6fGQ"/>
439 <styles xmi:type="notation:FilteringStyle" xmi:id="_bfzqgzx1EeWiQ_wtFd6fGQ"/>
440 </children>
441 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfzDcTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
442 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfzDcjx1EeWiQ_wtFd6fGQ" x="4560"/>
443 </children>
444 <children xmi:type="notation:Node" xmi:id="_bfzqhDx1EeWiQ_wtFd6fGQ" type="2003" element="_bbnuEDx1EeWiQ_wtFd6fGQ">
445 <children xmi:type="notation:Node" xmi:id="_bf0RkDx1EeWiQ_wtFd6fGQ" type="5007"/>
446 <children xmi:type="notation:Node" xmi:id="_bf0RkTx1EeWiQ_wtFd6fGQ" type="7004">
447 <styles xmi:type="notation:SortingStyle" xmi:id="_bf0Rkjx1EeWiQ_wtFd6fGQ"/>
448 <styles xmi:type="notation:FilteringStyle" xmi:id="_bf0Rkzx1EeWiQ_wtFd6fGQ"/>
449 </children>
450 <styles xmi:type="notation:ShapeStyle" xmi:id="_bfzqhTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
451 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bfzqhjx1EeWiQ_wtFd6fGQ" x="3675"/>
452 </children>
453 <children xmi:type="notation:Node" xmi:id="_bf04oDx1EeWiQ_wtFd6fGQ" type="2003" element="_bbpjQDx1EeWiQ_wtFd6fGQ">
454 <children xmi:type="notation:Node" xmi:id="_bf1fsDx1EeWiQ_wtFd6fGQ" type="5007"/>
455 <children xmi:type="notation:Node" xmi:id="_bf1fsTx1EeWiQ_wtFd6fGQ" type="7004">
456 <children xmi:type="notation:Node" xmi:id="_bf80cDx1EeWiQ_wtFd6fGQ" type="3010" element="_bc45YDx1EeWiQ_wtFd6fGQ">
457 <styles xmi:type="notation:FontStyle" xmi:id="_bf80cTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8" bold="true"/>
458 <layoutConstraint xmi:type="notation:Location" xmi:id="_bf80cjx1EeWiQ_wtFd6fGQ"/>
459 </children>
460 <styles xmi:type="notation:SortingStyle" xmi:id="_bf1fsjx1EeWiQ_wtFd6fGQ"/>
461 <styles xmi:type="notation:FilteringStyle" xmi:id="_bf1fszx1EeWiQ_wtFd6fGQ"/>
462 </children>
463 <styles xmi:type="notation:ShapeStyle" xmi:id="_bf04oTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
464 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bf04ojx1EeWiQ_wtFd6fGQ" x="625" y="140"/>
465 </children>
466 <children xmi:type="notation:Node" xmi:id="_bf1ftDx1EeWiQ_wtFd6fGQ" type="2003" element="_bbrYcDx1EeWiQ_wtFd6fGQ">
467 <children xmi:type="notation:Node" xmi:id="_bf2GwDx1EeWiQ_wtFd6fGQ" type="5007"/>
468 <children xmi:type="notation:Node" xmi:id="_bf2GwTx1EeWiQ_wtFd6fGQ" type="7004">
469 <styles xmi:type="notation:SortingStyle" xmi:id="_bf2Gwjx1EeWiQ_wtFd6fGQ"/>
470 <styles xmi:type="notation:FilteringStyle" xmi:id="_bf2Gwzx1EeWiQ_wtFd6fGQ"/>
471 </children>
472 <styles xmi:type="notation:ShapeStyle" xmi:id="_bf1ftTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
473 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bf1ftjx1EeWiQ_wtFd6fGQ" x="3585" y="555"/>
474 </children>
475 <children xmi:type="notation:Node" xmi:id="_bf2t0Dx1EeWiQ_wtFd6fGQ" type="2003" element="_bbsmkDx1EeWiQ_wtFd6fGQ">
476 <children xmi:type="notation:Node" xmi:id="_bf2t0zx1EeWiQ_wtFd6fGQ" type="5007"/>
477 <children xmi:type="notation:Node" xmi:id="_bf3U4Dx1EeWiQ_wtFd6fGQ" type="7004">
478 <styles xmi:type="notation:SortingStyle" xmi:id="_bf3U4Tx1EeWiQ_wtFd6fGQ"/>
479 <styles xmi:type="notation:FilteringStyle" xmi:id="_bf3U4jx1EeWiQ_wtFd6fGQ"/>
480 </children>
481 <styles xmi:type="notation:ShapeStyle" xmi:id="_bf2t0Tx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
482 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bf2t0jx1EeWiQ_wtFd6fGQ" x="3390" y="505"/>
483 </children>
484 <children xmi:type="notation:Node" xmi:id="_wfBzgGBxEeWUrY3nJWVIeg" type="2003" element="_wdcfIGBxEeWUrY3nJWVIeg">
485 <children xmi:type="notation:Node" xmi:id="_wfK9cGBxEeWUrY3nJWVIeg" type="5007"/>
486 <children xmi:type="notation:Node" xmi:id="_wfLkgGBxEeWUrY3nJWVIeg" type="7004">
487 <styles xmi:type="notation:SortingStyle" xmi:id="_wfLkgWBxEeWUrY3nJWVIeg"/>
488 <styles xmi:type="notation:FilteringStyle" xmi:id="_wfLkgmBxEeWUrY3nJWVIeg"/>
489 </children>
490 <styles xmi:type="notation:ShapeStyle" xmi:id="_wfBzgWBxEeWUrY3nJWVIeg" fontName="Segoe UI" fontHeight="8"/>
491 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wfBzgmBxEeWUrY3nJWVIeg" x="3200" y="777" width="128" height="100"/>
492 </children>
493 <children xmi:type="notation:Node" xmi:id="_JNtTwGByEeWUrY3nJWVIeg" type="2003" element="_JM3mQGByEeWUrY3nJWVIeg">
494 <children xmi:type="notation:Node" xmi:id="_JNtTw2ByEeWUrY3nJWVIeg" type="5007"/>
495 <children xmi:type="notation:Node" xmi:id="_JNtTxGByEeWUrY3nJWVIeg" type="7004">
496 <styles xmi:type="notation:SortingStyle" xmi:id="_JNtTxWByEeWUrY3nJWVIeg"/>
497 <styles xmi:type="notation:FilteringStyle" xmi:id="_JNtTxmByEeWUrY3nJWVIeg"/>
498 </children>
499 <styles xmi:type="notation:ShapeStyle" xmi:id="_JNtTwWByEeWUrY3nJWVIeg" fontName="Segoe UI" fontHeight="8"/>
500 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JNtTwmByEeWUrY3nJWVIeg" x="3726" y="845" width="120" height="100"/>
501 </children>
502 <children xmi:type="notation:Node" xmi:id="_7SX58GB0EeWUrY3nJWVIeg" type="2003" element="_7R9DMGB0EeWUrY3nJWVIeg">
503 <children xmi:type="notation:Node" xmi:id="_7SX582B0EeWUrY3nJWVIeg" type="5007"/>
504 <children xmi:type="notation:Node" xmi:id="_7SX59GB0EeWUrY3nJWVIeg" type="7004">
505 <styles xmi:type="notation:SortingStyle" xmi:id="_7SX59WB0EeWUrY3nJWVIeg"/>
506 <styles xmi:type="notation:FilteringStyle" xmi:id="_7SX59mB0EeWUrY3nJWVIeg"/>
507 </children>
508 <styles xmi:type="notation:ShapeStyle" xmi:id="_7SX58WB0EeWUrY3nJWVIeg" fontName="Segoe UI" fontHeight="8"/>
509 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SX58mB0EeWUrY3nJWVIeg" x="3965" y="865"/>
510 </children>
511 <children xmi:type="notation:Node" xmi:id="_LmGKoGB2EeWUrY3nJWVIeg" type="2003" element="_LltJEGB2EeWUrY3nJWVIeg">
512 <children xmi:type="notation:Node" xmi:id="_LmGKo2B2EeWUrY3nJWVIeg" type="5007"/>
513 <children xmi:type="notation:Node" xmi:id="_LmGKpGB2EeWUrY3nJWVIeg" type="7004">
514 <styles xmi:type="notation:SortingStyle" xmi:id="_LmGKpWB2EeWUrY3nJWVIeg"/>
515 <styles xmi:type="notation:FilteringStyle" xmi:id="_LmGKpmB2EeWUrY3nJWVIeg"/>
516 </children>
517 <styles xmi:type="notation:ShapeStyle" xmi:id="_LmGKoWB2EeWUrY3nJWVIeg" fontName="Segoe UI" fontHeight="8"/>
518 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LmGKomB2EeWUrY3nJWVIeg" x="2645" y="20" width="120" height="100"/>
519 </children>
520 <children xmi:type="notation:Node" xmi:id="_Erh_sGL8EeW2rMch79jPxg" type="2003" element="_EpuB0GL8EeW2rMch79jPxg">
521 <children xmi:type="notation:Node" xmi:id="_ErrwsGL8EeW2rMch79jPxg" type="5007"/>
522 <children xmi:type="notation:Node" xmi:id="_ErsXwGL8EeW2rMch79jPxg" type="7004">
523 <styles xmi:type="notation:SortingStyle" xmi:id="_ErsXwWL8EeW2rMch79jPxg"/>
524 <styles xmi:type="notation:FilteringStyle" xmi:id="_ErsXwmL8EeW2rMch79jPxg"/>
525 </children>
526 <styles xmi:type="notation:ShapeStyle" xmi:id="_ErimwGL8EeW2rMch79jPxg" fontName="Segoe UI" fontHeight="8"/>
527 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ErimwWL8EeW2rMch79jPxg" x="3425" y="777" width="133" height="100"/>
528 </children>
529 <children xmi:type="notation:Node" xmi:id="_MVy8sGL8EeW2rMch79jPxg" type="2003" element="_MU49wGL8EeW2rMch79jPxg">
530 <children xmi:type="notation:Node" xmi:id="_MVzjwGL8EeW2rMch79jPxg" type="5007"/>
531 <children xmi:type="notation:Node" xmi:id="_MVzjwWL8EeW2rMch79jPxg" type="7004">
532 <styles xmi:type="notation:SortingStyle" xmi:id="_MVzjwmL8EeW2rMch79jPxg"/>
533 <styles xmi:type="notation:FilteringStyle" xmi:id="_MVzjw2L8EeW2rMch79jPxg"/>
534 </children>
535 <styles xmi:type="notation:ShapeStyle" xmi:id="_MVy8sWL8EeW2rMch79jPxg" fontName="Segoe UI" fontHeight="8"/>
536 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MVy8smL8EeW2rMch79jPxg" x="3565" y="890" width="120" height="100"/>
537 </children>
538 <children xmi:type="notation:Node" xmi:id="_TVDN0GL8EeW2rMch79jPxg" type="2003" element="_TUMSMGL8EeW2rMch79jPxg">
539 <children xmi:type="notation:Node" xmi:id="_TVD04GL8EeW2rMch79jPxg" type="5007"/>
540 <children xmi:type="notation:Node" xmi:id="_TVD04WL8EeW2rMch79jPxg" type="7004">
541 <styles xmi:type="notation:SortingStyle" xmi:id="_TVD04mL8EeW2rMch79jPxg"/>
542 <styles xmi:type="notation:FilteringStyle" xmi:id="_TVD042L8EeW2rMch79jPxg"/>
543 </children>
544 <styles xmi:type="notation:ShapeStyle" xmi:id="_TVDN0WL8EeW2rMch79jPxg" fontName="Segoe UI" fontHeight="8"/>
545 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TVDN0mL8EeW2rMch79jPxg" x="4210" y="865" width="120" height="100"/>
546 </children>
547 <children xmi:type="notation:Node" xmi:id="_XPI6YGPkEeWuQbyserbs4Q" type="2003" element="_XNsv8GPkEeWuQbyserbs4Q">
548 <children xmi:type="notation:Node" xmi:id="_XPRdQGPkEeWuQbyserbs4Q" type="5007"/>
549 <children xmi:type="notation:Node" xmi:id="_XPSEUGPkEeWuQbyserbs4Q" type="7004">
550 <styles xmi:type="notation:SortingStyle" xmi:id="_XPSEUWPkEeWuQbyserbs4Q"/>
551 <styles xmi:type="notation:FilteringStyle" xmi:id="_XPSEUmPkEeWuQbyserbs4Q"/>
552 </children>
553 <styles xmi:type="notation:ShapeStyle" xmi:id="_XPI6YWPkEeWuQbyserbs4Q" fontName="Segoe UI" fontHeight="8"/>
554 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XPI6YmPkEeWuQbyserbs4Q" x="4615" y="680" width="120" height="100"/>
555 </children>
556 <children xmi:type="notation:Node" xmi:id="_QqFNcAGOEeaDEJmvhpl9gg" type="2003" element="_QmrUIAGOEeaDEJmvhpl9gg">
557 <children xmi:type="notation:Node" xmi:id="_QqGbkAGOEeaDEJmvhpl9gg" type="5007"/>
558 <children xmi:type="notation:Node" xmi:id="_QqHpsAGOEeaDEJmvhpl9gg" type="7004">
559 <styles xmi:type="notation:SortingStyle" xmi:id="_QqHpsQGOEeaDEJmvhpl9gg"/>
560 <styles xmi:type="notation:FilteringStyle" xmi:id="_QqHpsgGOEeaDEJmvhpl9gg"/>
561 </children>
562 <styles xmi:type="notation:ShapeStyle" xmi:id="_QqFNcQGOEeaDEJmvhpl9gg" fontName="Segoe UI" fontHeight="8"/>
563 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QqFNcgGOEeaDEJmvhpl9gg" x="-2235" y="140" width="192" height="49"/>
564 </children>
565 <styles xmi:type="notation:DiagramStyle" xmi:id="_XMolITx1EeWiQ_wtFd6fGQ"/>
566 <edges xmi:type="notation:Edge" xmi:id="_bgwswDx1EeWiQ_wtFd6fGQ" type="4001" element="_bdQs0Dx1EeWiQ_wtFd6fGQ" source="_bfHuADx1EeWiQ_wtFd6fGQ" target="_be9V8Dx1EeWiQ_wtFd6fGQ">
567 <children xmi:type="notation:Node" xmi:id="_bgxT0Tx1EeWiQ_wtFd6fGQ" type="6001">
568 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgxT0jx1EeWiQ_wtFd6fGQ" y="-10"/>
569 </children>
570 <children xmi:type="notation:Node" xmi:id="_bgxT0zx1EeWiQ_wtFd6fGQ" type="6002">
571 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgxT1Dx1EeWiQ_wtFd6fGQ" y="10"/>
572 </children>
573 <children xmi:type="notation:Node" xmi:id="_bgxT1Tx1EeWiQ_wtFd6fGQ" type="6003">
574 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgxT1jx1EeWiQ_wtFd6fGQ" y="10"/>
575 </children>
576 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bgwswTx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
577 <styles xmi:type="notation:FontStyle" xmi:id="_bgwswjx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
578 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bgxT0Dx1EeWiQ_wtFd6fGQ" points="[0, 0, 394, 277]$[0, -139, 394, 138]$[-394, -139, 0, 138]$[-394, -277, 0, 0]"/>
579 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bgx64Dx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
580 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bgx64Tx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
581 </edges>
582 <edges xmi:type="notation:Edge" xmi:id="_bgyh8Dx1EeWiQ_wtFd6fGQ" type="4001" element="_bdRT4Dx1EeWiQ_wtFd6fGQ" source="_bfMmhDx1EeWiQ_wtFd6fGQ" target="_bfGf4Dx1EeWiQ_wtFd6fGQ">
583 <children xmi:type="notation:Node" xmi:id="_bgyh9Dx1EeWiQ_wtFd6fGQ" type="6001">
584 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgyh9Tx1EeWiQ_wtFd6fGQ" y="-10"/>
585 </children>
586 <children xmi:type="notation:Node" xmi:id="_bgyh9jx1EeWiQ_wtFd6fGQ" type="6002">
587 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgyh9zx1EeWiQ_wtFd6fGQ" y="10"/>
588 </children>
589 <children xmi:type="notation:Node" xmi:id="_bgyh-Dx1EeWiQ_wtFd6fGQ" type="6003">
590 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bgyh-Tx1EeWiQ_wtFd6fGQ" y="10"/>
591 </children>
592 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bgyh8Tx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
593 <styles xmi:type="notation:FontStyle" xmi:id="_bgyh8jx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
594 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bgyh8zx1EeWiQ_wtFd6fGQ" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
595 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bgzJADx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
596 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bgzwEDx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
597 </edges>
598 <edges xmi:type="notation:Edge" xmi:id="_bgzwETx1EeWiQ_wtFd6fGQ" type="4001" element="_bdTJEDx1EeWiQ_wtFd6fGQ" source="_bfMmhDx1EeWiQ_wtFd6fGQ" target="_bfGf4Dx1EeWiQ_wtFd6fGQ">
599 <children xmi:type="notation:Node" xmi:id="_bg0XIDx1EeWiQ_wtFd6fGQ" type="6001">
600 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg0XITx1EeWiQ_wtFd6fGQ" y="-10"/>
601 </children>
602 <children xmi:type="notation:Node" xmi:id="_bg0XIjx1EeWiQ_wtFd6fGQ" type="6002">
603 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg0XIzx1EeWiQ_wtFd6fGQ" y="10"/>
604 </children>
605 <children xmi:type="notation:Node" xmi:id="_bg0XJDx1EeWiQ_wtFd6fGQ" type="6003">
606 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg0XJTx1EeWiQ_wtFd6fGQ" y="10"/>
607 </children>
608 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bgzwEjx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
609 <styles xmi:type="notation:FontStyle" xmi:id="_bgzwEzx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
610 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bgzwFDx1EeWiQ_wtFd6fGQ" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
611 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg0-MDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
612 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg0-MTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
613 </edges>
614 <edges xmi:type="notation:Edge" xmi:id="_bg0-Mjx1EeWiQ_wtFd6fGQ" type="4001" element="_bdU-QDx1EeWiQ_wtFd6fGQ" source="_bfPp0Dx1EeWiQ_wtFd6fGQ" target="_bfObtDx1EeWiQ_wtFd6fGQ">
615 <children xmi:type="notation:Node" xmi:id="_bg1lQDx1EeWiQ_wtFd6fGQ" type="6001">
616 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg1lQTx1EeWiQ_wtFd6fGQ" y="-10"/>
617 </children>
618 <children xmi:type="notation:Node" xmi:id="_bg1lQjx1EeWiQ_wtFd6fGQ" type="6002">
619 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg1lQzx1EeWiQ_wtFd6fGQ" y="10"/>
620 </children>
621 <children xmi:type="notation:Node" xmi:id="_bg1lRDx1EeWiQ_wtFd6fGQ" type="6003">
622 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg1lRTx1EeWiQ_wtFd6fGQ" y="10"/>
623 </children>
624 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bg0-Mzx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
625 <styles xmi:type="notation:FontStyle" xmi:id="_bg0-NDx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
626 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bg0-NTx1EeWiQ_wtFd6fGQ" points="[0, 0, -360, 60]$[360, -60, 0, 0]"/>
627 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg2MUDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
628 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg2MUTx1EeWiQ_wtFd6fGQ" id="(0.49586776859504134,1.0)"/>
629 </edges>
630 <edges xmi:type="notation:Edge" xmi:id="_bg2MUjx1EeWiQ_wtFd6fGQ" type="4001" element="_bdVlUDx1EeWiQ_wtFd6fGQ" source="_bfPp0Dx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
631 <children xmi:type="notation:Node" xmi:id="_bg2zYDx1EeWiQ_wtFd6fGQ" type="6001">
632 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg2zYTx1EeWiQ_wtFd6fGQ" y="-10"/>
633 </children>
634 <children xmi:type="notation:Node" xmi:id="_bg2zYjx1EeWiQ_wtFd6fGQ" type="6002">
635 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg2zYzx1EeWiQ_wtFd6fGQ" y="10"/>
636 </children>
637 <children xmi:type="notation:Node" xmi:id="_bg2zZDx1EeWiQ_wtFd6fGQ" type="6003">
638 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg2zZTx1EeWiQ_wtFd6fGQ" y="10"/>
639 </children>
640 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bg2MUzx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
641 <styles xmi:type="notation:FontStyle" xmi:id="_bg2MVDx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
642 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bg2MVTx1EeWiQ_wtFd6fGQ" points="[0, 0, 2517, 60]$[-2517, -60, 0, 0]"/>
643 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg3acDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
644 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg3acTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
645 </edges>
646 <edges xmi:type="notation:Edge" xmi:id="_bg3acjx1EeWiQ_wtFd6fGQ" type="4001" element="_bdXagDx1EeWiQ_wtFd6fGQ" source="_bfVwcDx1EeWiQ_wtFd6fGQ" target="_bfGf4Dx1EeWiQ_wtFd6fGQ">
647 <children xmi:type="notation:Node" xmi:id="_bg4BgDx1EeWiQ_wtFd6fGQ" type="6001">
648 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg4BgTx1EeWiQ_wtFd6fGQ" y="-10"/>
649 </children>
650 <children xmi:type="notation:Node" xmi:id="_bg4Bgjx1EeWiQ_wtFd6fGQ" type="6002">
651 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg4Bgzx1EeWiQ_wtFd6fGQ" y="10"/>
652 </children>
653 <children xmi:type="notation:Node" xmi:id="_bg4BhDx1EeWiQ_wtFd6fGQ" type="6003">
654 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg4BhTx1EeWiQ_wtFd6fGQ" y="10"/>
655 </children>
656 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bg3aczx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
657 <styles xmi:type="notation:FontStyle" xmi:id="_bg3adDx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
658 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bg3adTx1EeWiQ_wtFd6fGQ" points="[59, 50, -238, 645]$[247, 50, -50, 645]$[247, -174, -50, 421]$[297, -174, 0, 421]$[297, -595, 0, 0]"/>
659 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg4okDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
660 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg4okTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
661 </edges>
662 <edges xmi:type="notation:Edge" xmi:id="_bg4okjx1EeWiQ_wtFd6fGQ" type="4001" element="_bdYooDx1EeWiQ_wtFd6fGQ" source="_bfWXhDx1EeWiQ_wtFd6fGQ" target="_bfVwcDx1EeWiQ_wtFd6fGQ">
663 <children xmi:type="notation:Node" xmi:id="_bg5PoDx1EeWiQ_wtFd6fGQ" type="6001">
664 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg5PoTx1EeWiQ_wtFd6fGQ" y="-10"/>
665 </children>
666 <children xmi:type="notation:Node" xmi:id="_bg5Pojx1EeWiQ_wtFd6fGQ" type="6002">
667 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg5Pozx1EeWiQ_wtFd6fGQ" y="10"/>
668 </children>
669 <children xmi:type="notation:Node" xmi:id="_bg5PpDx1EeWiQ_wtFd6fGQ" type="6003">
670 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg5PpTx1EeWiQ_wtFd6fGQ" y="10"/>
671 </children>
672 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bg4okzx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
673 <styles xmi:type="notation:FontStyle" xmi:id="_bg4olDx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
674 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bg4olTx1EeWiQ_wtFd6fGQ" points="[60, 7, -5298, -1031]$[2723, 7, -2635, -1031]$[2723, 1030, -2635, -8]$[5316, 1030, -42, -8]"/>
675 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg52sDx1EeWiQ_wtFd6fGQ" id="(0.49586776859504134,0.0)"/>
676 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg52sTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
677 </edges>
678 <edges xmi:type="notation:Edge" xmi:id="_bg6dwDx1EeWiQ_wtFd6fGQ" type="4001" element="_bdZ2wDx1EeWiQ_wtFd6fGQ" source="_bfWXhDx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
679 <children xmi:type="notation:Node" xmi:id="_bg6dxDx1EeWiQ_wtFd6fGQ" type="6001">
680 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg6dxTx1EeWiQ_wtFd6fGQ" y="-10"/>
681 </children>
682 <children xmi:type="notation:Node" xmi:id="_bg6dxjx1EeWiQ_wtFd6fGQ" type="6002">
683 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg6dxzx1EeWiQ_wtFd6fGQ" y="10"/>
684 </children>
685 <children xmi:type="notation:Node" xmi:id="_bg7E0Dx1EeWiQ_wtFd6fGQ" type="6003">
686 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg7E0Tx1EeWiQ_wtFd6fGQ" y="10"/>
687 </children>
688 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bg6dwTx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
689 <styles xmi:type="notation:FontStyle" xmi:id="_bg6dwjx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
690 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bg6dwzx1EeWiQ_wtFd6fGQ" points="[0, 0, -904, 220]$[1, -160, -903, 60]$[904, -220, 0, 0]"/>
691 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg7E0jx1EeWiQ_wtFd6fGQ" id="(0.49586776859504134,0.0)"/>
692 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg7E0zx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
693 </edges>
694 <edges xmi:type="notation:Edge" xmi:id="_bg7r4Dx1EeWiQ_wtFd6fGQ" type="4001" element="_bdbE4Dx1EeWiQ_wtFd6fGQ" source="_bfZa1Dx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
695 <children xmi:type="notation:Node" xmi:id="_bg7r5Dx1EeWiQ_wtFd6fGQ" type="6001">
696 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg7r5Tx1EeWiQ_wtFd6fGQ" y="-10"/>
697 </children>
698 <children xmi:type="notation:Node" xmi:id="_bg8S8Dx1EeWiQ_wtFd6fGQ" type="6002">
699 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg8S8Tx1EeWiQ_wtFd6fGQ" y="10"/>
700 </children>
701 <children xmi:type="notation:Node" xmi:id="_bg8S8jx1EeWiQ_wtFd6fGQ" type="6003">
702 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg8S8zx1EeWiQ_wtFd6fGQ" y="10"/>
703 </children>
704 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bg7r4Tx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
705 <styles xmi:type="notation:FontStyle" xmi:id="_bg7r4jx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
706 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bg7r4zx1EeWiQ_wtFd6fGQ" points="[0, 0, -362, 220]$[1, -160, -361, 60]$[362, -220, 0, 0]"/>
707 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg8S9Dx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
708 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg8S9Tx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
709 </edges>
710 <edges xmi:type="notation:Edge" xmi:id="_bg86ADx1EeWiQ_wtFd6fGQ" type="4001" element="_bdcTADx1EeWiQ_wtFd6fGQ" source="_bfao8Dx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
711 <children xmi:type="notation:Node" xmi:id="_bg86BDx1EeWiQ_wtFd6fGQ" type="6001">
712 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg86BTx1EeWiQ_wtFd6fGQ" y="-10"/>
713 </children>
714 <children xmi:type="notation:Node" xmi:id="_bg9hEDx1EeWiQ_wtFd6fGQ" type="6002">
715 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg9hETx1EeWiQ_wtFd6fGQ" y="10"/>
716 </children>
717 <children xmi:type="notation:Node" xmi:id="_bg-IIDx1EeWiQ_wtFd6fGQ" type="6003">
718 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg-IITx1EeWiQ_wtFd6fGQ" y="10"/>
719 </children>
720 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bg86ATx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
721 <styles xmi:type="notation:FontStyle" xmi:id="_bg86Ajx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
722 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bg86Azx1EeWiQ_wtFd6fGQ" points="[0, 0, -723, 220]$[1, -160, -722, 60]$[723, -220, 0, 0]"/>
723 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg-IIjx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
724 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg-IIzx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
725 </edges>
726 <edges xmi:type="notation:Edge" xmi:id="_bg-vMDx1EeWiQ_wtFd6fGQ" type="4001" element="_bdjAsDx1EeWiQ_wtFd6fGQ" source="_bfbQAzx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
727 <children xmi:type="notation:Node" xmi:id="_bg-vNDx1EeWiQ_wtFd6fGQ" type="6001">
728 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg-vNTx1EeWiQ_wtFd6fGQ" y="-10"/>
729 </children>
730 <children xmi:type="notation:Node" xmi:id="_bg-vNjx1EeWiQ_wtFd6fGQ" type="6002">
731 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg-vNzx1EeWiQ_wtFd6fGQ" y="10"/>
732 </children>
733 <children xmi:type="notation:Node" xmi:id="_bg_WQDx1EeWiQ_wtFd6fGQ" type="6003">
734 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg_WQTx1EeWiQ_wtFd6fGQ" y="10"/>
735 </children>
736 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bg-vMTx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
737 <styles xmi:type="notation:FontStyle" xmi:id="_bg-vMjx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
738 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bg-vMzx1EeWiQ_wtFd6fGQ" points="[0, 0, -1435, 220]$[-223, -61, -1658, 159]$[-223, -160, -1658, 60]$[1435, -220, 0, 0]"/>
739 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg_WQjx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
740 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bg_WQzx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
741 </edges>
742 <edges xmi:type="notation:Edge" xmi:id="_bg_9UDx1EeWiQ_wtFd6fGQ" type="4001" element="_bdkO0Dx1EeWiQ_wtFd6fGQ" source="_bfbQAzx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
743 <children xmi:type="notation:Node" xmi:id="_bg_9VDx1EeWiQ_wtFd6fGQ" type="6001">
744 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg_9VTx1EeWiQ_wtFd6fGQ" y="-10"/>
745 </children>
746 <children xmi:type="notation:Node" xmi:id="_bg_9Vjx1EeWiQ_wtFd6fGQ" type="6002">
747 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bg_9Vzx1EeWiQ_wtFd6fGQ" y="10"/>
748 </children>
749 <children xmi:type="notation:Node" xmi:id="_bhAkYDx1EeWiQ_wtFd6fGQ" type="6003">
750 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhAkYTx1EeWiQ_wtFd6fGQ" y="10"/>
751 </children>
752 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bg_9UTx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
753 <styles xmi:type="notation:FontStyle" xmi:id="_bg_9Ujx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
754 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bg_9Uzx1EeWiQ_wtFd6fGQ" points="[0, 0, -1435, 220]$[-42, -61, -1477, 159]$[-42, -160, -1477, 60]$[1435, -220, 0, 0]"/>
755 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhAkYjx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
756 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhAkYzx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
757 </edges>
758 <edges xmi:type="notation:Edge" xmi:id="_bhBLcDx1EeWiQ_wtFd6fGQ" type="4001" element="_bdlc8Dx1EeWiQ_wtFd6fGQ" source="_bfceJDx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
759 <children xmi:type="notation:Node" xmi:id="_bhBLdDx1EeWiQ_wtFd6fGQ" type="6001">
760 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhBLdTx1EeWiQ_wtFd6fGQ" y="-10"/>
761 </children>
762 <children xmi:type="notation:Node" xmi:id="_bhBygDx1EeWiQ_wtFd6fGQ" type="6002">
763 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhBygTx1EeWiQ_wtFd6fGQ" y="10"/>
764 </children>
765 <children xmi:type="notation:Node" xmi:id="_bhBygjx1EeWiQ_wtFd6fGQ" type="6003">
766 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhBygzx1EeWiQ_wtFd6fGQ" y="10"/>
767 </children>
768 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhBLcTx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
769 <styles xmi:type="notation:FontStyle" xmi:id="_bhBLcjx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
770 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhBLczx1EeWiQ_wtFd6fGQ" points="[0, 0, -181, 220]$[1, -160, -180, 60]$[181, -220, 0, 0]"/>
771 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhByhDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
772 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhByhTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
773 </edges>
774 <edges xmi:type="notation:Edge" xmi:id="_bhCZkDx1EeWiQ_wtFd6fGQ" type="4001" element="_bdmrEDx1EeWiQ_wtFd6fGQ" source="_bfdsQDx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
775 <children xmi:type="notation:Node" xmi:id="_bhCZlDx1EeWiQ_wtFd6fGQ" type="6001">
776 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhCZlTx1EeWiQ_wtFd6fGQ" y="-10"/>
777 </children>
778 <children xmi:type="notation:Node" xmi:id="_bhCZljx1EeWiQ_wtFd6fGQ" type="6002">
779 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhCZlzx1EeWiQ_wtFd6fGQ" y="10"/>
780 </children>
781 <children xmi:type="notation:Node" xmi:id="_bhDAoDx1EeWiQ_wtFd6fGQ" type="6003">
782 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhDAoTx1EeWiQ_wtFd6fGQ" y="10"/>
783 </children>
784 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhCZkTx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
785 <styles xmi:type="notation:FontStyle" xmi:id="_bhCZkjx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
786 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhCZkzx1EeWiQ_wtFd6fGQ" points="[0, 0, 0, 220]$[0, -220, 0, 0]"/>
787 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhDnsDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
788 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhDnsTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
789 </edges>
790 <edges xmi:type="notation:Edge" xmi:id="_bhE10Dx1EeWiQ_wtFd6fGQ" type="4001" element="_bdn5MDx1EeWiQ_wtFd6fGQ" source="_bfdsQDx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
791 <children xmi:type="notation:Node" xmi:id="_bhGD8Dx1EeWiQ_wtFd6fGQ" type="6001">
792 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhGD8Tx1EeWiQ_wtFd6fGQ" y="-10"/>
793 </children>
794 <children xmi:type="notation:Node" xmi:id="_bhGrADx1EeWiQ_wtFd6fGQ" type="6002">
795 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhGrATx1EeWiQ_wtFd6fGQ" y="10"/>
796 </children>
797 <children xmi:type="notation:Node" xmi:id="_bhHSEDx1EeWiQ_wtFd6fGQ" type="6003">
798 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhHSETx1EeWiQ_wtFd6fGQ" y="10"/>
799 </children>
800 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhE10Tx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
801 <styles xmi:type="notation:FontStyle" xmi:id="_bhE10jx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
802 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhE10zx1EeWiQ_wtFd6fGQ" points="[0, 0, 0, 220]$[180, -61, 180, 159]$[180, -160, 180, 60]$[0, -220, 0, 0]"/>
803 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhH5IDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
804 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhH5ITx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
805 </edges>
806 <edges xmi:type="notation:Edge" xmi:id="_bhIgMDx1EeWiQ_wtFd6fGQ" type="4001" element="_bdpuYDx1EeWiQ_wtFd6fGQ" source="_bfhWoDx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
807 <children xmi:type="notation:Node" xmi:id="_bhJHQDx1EeWiQ_wtFd6fGQ" type="6001">
808 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhJHQTx1EeWiQ_wtFd6fGQ" y="-10"/>
809 </children>
810 <children xmi:type="notation:Node" xmi:id="_bhJHQjx1EeWiQ_wtFd6fGQ" type="6002">
811 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhJHQzx1EeWiQ_wtFd6fGQ" y="10"/>
812 </children>
813 <children xmi:type="notation:Node" xmi:id="_bhJHRDx1EeWiQ_wtFd6fGQ" type="6003">
814 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhJHRTx1EeWiQ_wtFd6fGQ" y="10"/>
815 </children>
816 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhIgMTx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
817 <styles xmi:type="notation:FontStyle" xmi:id="_bhIgMjx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
818 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhIgMzx1EeWiQ_wtFd6fGQ" points="[0, 0, -1116, 220]$[-180, -61, -1296, 159]$[-180, -160, -1296, 60]$[1116, -220, 0, 0]"/>
819 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhJuUDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
820 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhJuUTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
821 </edges>
822 <edges xmi:type="notation:Edge" xmi:id="_bhJuUjx1EeWiQ_wtFd6fGQ" type="4001" element="_bdq8gDx1EeWiQ_wtFd6fGQ" source="_bfhWoDx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
823 <children xmi:type="notation:Node" xmi:id="_bhKVYDx1EeWiQ_wtFd6fGQ" type="6001">
824 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhKVYTx1EeWiQ_wtFd6fGQ" y="-10"/>
825 </children>
826 <children xmi:type="notation:Node" xmi:id="_bhKVYjx1EeWiQ_wtFd6fGQ" type="6002">
827 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhKVYzx1EeWiQ_wtFd6fGQ" y="10"/>
828 </children>
829 <children xmi:type="notation:Node" xmi:id="_bhKVZDx1EeWiQ_wtFd6fGQ" type="6003">
830 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhKVZTx1EeWiQ_wtFd6fGQ" y="10"/>
831 </children>
832 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhJuUzx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
833 <styles xmi:type="notation:FontStyle" xmi:id="_bhJuVDx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
834 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhJuVTx1EeWiQ_wtFd6fGQ" points="[0, 0, -1116, 220]$[1, -160, -1115, 60]$[1116, -220, 0, 0]"/>
835 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhK8cDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
836 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhK8cTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
837 </edges>
838 <edges xmi:type="notation:Edge" xmi:id="_bhK8cjx1EeWiQ_wtFd6fGQ" type="4001" element="_bdsxsDx1EeWiQ_wtFd6fGQ" source="_bfjL0zx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
839 <children xmi:type="notation:Node" xmi:id="_bhLjgDx1EeWiQ_wtFd6fGQ" type="6001">
840 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhLjgTx1EeWiQ_wtFd6fGQ" y="-10"/>
841 </children>
842 <children xmi:type="notation:Node" xmi:id="_bhLjgjx1EeWiQ_wtFd6fGQ" type="6002">
843 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhLjgzx1EeWiQ_wtFd6fGQ" y="10"/>
844 </children>
845 <children xmi:type="notation:Node" xmi:id="_bhLjhDx1EeWiQ_wtFd6fGQ" type="6003">
846 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhLjhTx1EeWiQ_wtFd6fGQ" y="10"/>
847 </children>
848 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhK8czx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
849 <styles xmi:type="notation:FontStyle" xmi:id="_bhK8dDx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
850 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhK8dTx1EeWiQ_wtFd6fGQ" points="[0, 0, 724, 220]$[-1, -160, 723, 60]$[-724, -220, 0, 0]"/>
851 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhMKkDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
852 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhMKkTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
853 </edges>
854 <edges xmi:type="notation:Edge" xmi:id="_bhMKkjx1EeWiQ_wtFd6fGQ" type="4001" element="_bdt_0Dx1EeWiQ_wtFd6fGQ" source="_bfkZ8Dx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
855 <children xmi:type="notation:Node" xmi:id="_bhMxoDx1EeWiQ_wtFd6fGQ" type="6001">
856 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhMxoTx1EeWiQ_wtFd6fGQ" y="-10"/>
857 </children>
858 <children xmi:type="notation:Node" xmi:id="_bhMxojx1EeWiQ_wtFd6fGQ" type="6002">
859 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhMxozx1EeWiQ_wtFd6fGQ" y="10"/>
860 </children>
861 <children xmi:type="notation:Node" xmi:id="_bhMxpDx1EeWiQ_wtFd6fGQ" type="6003">
862 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhMxpTx1EeWiQ_wtFd6fGQ" y="10"/>
863 </children>
864 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhMKkzx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
865 <styles xmi:type="notation:FontStyle" xmi:id="_bhMKlDx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
866 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhMKlTx1EeWiQ_wtFd6fGQ" points="[0, 0, 543, 220]$[-180, -61, 363, 159]$[-182, -160, 361, 60]$[-543, -220, 0, 0]"/>
867 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhNYsDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
868 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhNYsTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
869 </edges>
870 <edges xmi:type="notation:Edge" xmi:id="_bhNYsjx1EeWiQ_wtFd6fGQ" type="4001" element="_bdvN8Dx1EeWiQ_wtFd6fGQ" source="_bfkZ8Dx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
871 <children xmi:type="notation:Node" xmi:id="_bhN_wDx1EeWiQ_wtFd6fGQ" type="6001">
872 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhN_wTx1EeWiQ_wtFd6fGQ" y="-10"/>
873 </children>
874 <children xmi:type="notation:Node" xmi:id="_bhN_wjx1EeWiQ_wtFd6fGQ" type="6002">
875 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhN_wzx1EeWiQ_wtFd6fGQ" y="10"/>
876 </children>
877 <children xmi:type="notation:Node" xmi:id="_bhN_xDx1EeWiQ_wtFd6fGQ" type="6003">
878 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhN_xTx1EeWiQ_wtFd6fGQ" y="10"/>
879 </children>
880 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhNYszx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
881 <styles xmi:type="notation:FontStyle" xmi:id="_bhNYtDx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
882 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhNYtTx1EeWiQ_wtFd6fGQ" points="[0, 0, 543, 220]$[-1, -160, 542, 60]$[-543, -220, 0, 0]"/>
883 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhOm0Dx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
884 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhOm0Tx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
885 </edges>
886 <edges xmi:type="notation:Edge" xmi:id="_bhOm0jx1EeWiQ_wtFd6fGQ" type="4001" element="_bdwcEDx1EeWiQ_wtFd6fGQ" source="_bfm2Mjx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
887 <children xmi:type="notation:Node" xmi:id="_bhPN4Dx1EeWiQ_wtFd6fGQ" type="6001">
888 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhPN4Tx1EeWiQ_wtFd6fGQ" y="-10"/>
889 </children>
890 <children xmi:type="notation:Node" xmi:id="_bhPN4jx1EeWiQ_wtFd6fGQ" type="6002">
891 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhPN4zx1EeWiQ_wtFd6fGQ" y="10"/>
892 </children>
893 <children xmi:type="notation:Node" xmi:id="_bhPN5Dx1EeWiQ_wtFd6fGQ" type="6003">
894 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhPN5Tx1EeWiQ_wtFd6fGQ" y="10"/>
895 </children>
896 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhOm0zx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
897 <styles xmi:type="notation:FontStyle" xmi:id="_bhOm1Dx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
898 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhOm1Tx1EeWiQ_wtFd6fGQ" points="[0, -50, 1447, 270]$[180, -111, 1627, 209]$[180, -210, 1627, 110]$[-1447, -270, 0, 50]"/>
899 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhPN5jx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
900 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhP08Dx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
901 </edges>
902 <edges xmi:type="notation:Edge" xmi:id="_bhP08Tx1EeWiQ_wtFd6fGQ" type="4001" element="_bdyRQDx1EeWiQ_wtFd6fGQ" source="_bfm2Mjx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
903 <children xmi:type="notation:Node" xmi:id="_bhP09Tx1EeWiQ_wtFd6fGQ" type="6001">
904 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhP09jx1EeWiQ_wtFd6fGQ" y="-10"/>
905 </children>
906 <children xmi:type="notation:Node" xmi:id="_bhQcADx1EeWiQ_wtFd6fGQ" type="6002">
907 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhQcATx1EeWiQ_wtFd6fGQ" y="10"/>
908 </children>
909 <children xmi:type="notation:Node" xmi:id="_bhQcAjx1EeWiQ_wtFd6fGQ" type="6003">
910 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhQcAzx1EeWiQ_wtFd6fGQ" y="10"/>
911 </children>
912 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhP08jx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
913 <styles xmi:type="notation:FontStyle" xmi:id="_bhP08zx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
914 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhP09Dx1EeWiQ_wtFd6fGQ" points="[0, 0, 1447, 220]$[-1, -160, 1446, 60]$[-1447, -220, 0, 0]"/>
915 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhQcBDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
916 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhQcBTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
917 </edges>
918 <edges xmi:type="notation:Edge" xmi:id="_bhRDEDx1EeWiQ_wtFd6fGQ" type="4001" element="_bdzfYDx1EeWiQ_wtFd6fGQ" source="_bfoEUDx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
919 <children xmi:type="notation:Node" xmi:id="_bhRDFDx1EeWiQ_wtFd6fGQ" type="6001">
920 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhRDFTx1EeWiQ_wtFd6fGQ" y="-10"/>
921 </children>
922 <children xmi:type="notation:Node" xmi:id="_bhRDFjx1EeWiQ_wtFd6fGQ" type="6002">
923 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhRDFzx1EeWiQ_wtFd6fGQ" y="10"/>
924 </children>
925 <children xmi:type="notation:Node" xmi:id="_bhRDGDx1EeWiQ_wtFd6fGQ" type="6003">
926 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhRDGTx1EeWiQ_wtFd6fGQ" y="10"/>
927 </children>
928 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhRDETx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
929 <styles xmi:type="notation:FontStyle" xmi:id="_bhRDEjx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
930 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhRDEzx1EeWiQ_wtFd6fGQ" points="[0, 0, 1085, 220]$[-1, -160, 1084, 60]$[-1085, -220, 0, 0]"/>
931 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhRqIDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
932 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhRqITx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
933 </edges>
934 <edges xmi:type="notation:Edge" xmi:id="_bhRqIjx1EeWiQ_wtFd6fGQ" type="4001" element="_bd0tgDx1EeWiQ_wtFd6fGQ" source="_bfoEUDx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
935 <children xmi:type="notation:Node" xmi:id="_bhSRMDx1EeWiQ_wtFd6fGQ" type="6001">
936 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhSRMTx1EeWiQ_wtFd6fGQ" y="-10"/>
937 </children>
938 <children xmi:type="notation:Node" xmi:id="_bhSRMjx1EeWiQ_wtFd6fGQ" type="6002">
939 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhSRMzx1EeWiQ_wtFd6fGQ" y="10"/>
940 </children>
941 <children xmi:type="notation:Node" xmi:id="_bhSRNDx1EeWiQ_wtFd6fGQ" type="6003">
942 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhSRNTx1EeWiQ_wtFd6fGQ" y="10"/>
943 </children>
944 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhRqIzx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
945 <styles xmi:type="notation:FontStyle" xmi:id="_bhRqJDx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
946 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhRqJTx1EeWiQ_wtFd6fGQ" points="[0, -50, 1085, 270]$[180, -111, 1265, 209]$[180, -210, 1265, 110]$[-1085, -270, 0, 50]"/>
947 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhS4QDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
948 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhS4QTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
949 </edges>
950 <edges xmi:type="notation:Edge" xmi:id="_bhS4Qjx1EeWiQ_wtFd6fGQ" type="4001" element="_bd17oDx1EeWiQ_wtFd6fGQ" source="_bforYDx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
951 <children xmi:type="notation:Node" xmi:id="_bhTfUDx1EeWiQ_wtFd6fGQ" type="6001">
952 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhTfUTx1EeWiQ_wtFd6fGQ" y="-10"/>
953 </children>
954 <children xmi:type="notation:Node" xmi:id="_bhTfUjx1EeWiQ_wtFd6fGQ" type="6002">
955 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhTfUzx1EeWiQ_wtFd6fGQ" y="10"/>
956 </children>
957 <children xmi:type="notation:Node" xmi:id="_bhTfVDx1EeWiQ_wtFd6fGQ" type="6003">
958 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhTfVTx1EeWiQ_wtFd6fGQ" y="10"/>
959 </children>
960 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhS4Qzx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
961 <styles xmi:type="notation:FontStyle" xmi:id="_bhS4RDx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
962 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhS4RTx1EeWiQ_wtFd6fGQ" points="[0, 0, 1809, 220]$[-1, -160, 1808, 60]$[-1809, -220, 0, 0]"/>
963 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhUGYDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
964 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhUGYTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
965 </edges>
966 <edges xmi:type="notation:Edge" xmi:id="_bhUGYjx1EeWiQ_wtFd6fGQ" type="4001" element="_bd3JwDx1EeWiQ_wtFd6fGQ" source="_bforYDx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
967 <children xmi:type="notation:Node" xmi:id="_bhUGZjx1EeWiQ_wtFd6fGQ" type="6001">
968 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhUGZzx1EeWiQ_wtFd6fGQ" y="-10"/>
969 </children>
970 <children xmi:type="notation:Node" xmi:id="_bhUtcDx1EeWiQ_wtFd6fGQ" type="6002">
971 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhUtcTx1EeWiQ_wtFd6fGQ" y="10"/>
972 </children>
973 <children xmi:type="notation:Node" xmi:id="_bhUtcjx1EeWiQ_wtFd6fGQ" type="6003">
974 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhUtczx1EeWiQ_wtFd6fGQ" y="10"/>
975 </children>
976 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhUGYzx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
977 <styles xmi:type="notation:FontStyle" xmi:id="_bhUGZDx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
978 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhUGZTx1EeWiQ_wtFd6fGQ" points="[0, 0, 1809, 220]$[180, -61, 1989, 159]$[180, -160, 1989, 60]$[-1809, -220, 0, 0]"/>
979 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhUtdDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
980 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhUtdTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
981 </edges>
982 <edges xmi:type="notation:Edge" xmi:id="_bhVUgDx1EeWiQ_wtFd6fGQ" type="4001" element="_bd4-8Dx1EeWiQ_wtFd6fGQ" source="_bfpSdDx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
983 <children xmi:type="notation:Node" xmi:id="_bhVUhDx1EeWiQ_wtFd6fGQ" type="6001">
984 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhVUhTx1EeWiQ_wtFd6fGQ" y="-10"/>
985 </children>
986 <children xmi:type="notation:Node" xmi:id="_bhVUhjx1EeWiQ_wtFd6fGQ" type="6002">
987 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhVUhzx1EeWiQ_wtFd6fGQ" y="10"/>
988 </children>
989 <children xmi:type="notation:Node" xmi:id="_bhVUiDx1EeWiQ_wtFd6fGQ" type="6003">
990 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhVUiTx1EeWiQ_wtFd6fGQ" y="10"/>
991 </children>
992 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhVUgTx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
993 <styles xmi:type="notation:FontStyle" xmi:id="_bhVUgjx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
994 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhVUgzx1EeWiQ_wtFd6fGQ" points="[0, 0, -2199, 60]$[2199, -60, 0, 0]"/>
995 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhV7kDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
996 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhV7kTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
997 </edges>
998 <edges xmi:type="notation:Edge" xmi:id="_bhWioDx1EeWiQ_wtFd6fGQ" type="4001" element="_bd6NEDx1EeWiQ_wtFd6fGQ" source="_bfpSdDx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
999 <children xmi:type="notation:Node" xmi:id="_bhXJsDx1EeWiQ_wtFd6fGQ" type="6001">
1000 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhXJsTx1EeWiQ_wtFd6fGQ" y="-10"/>
1001 </children>
1002 <children xmi:type="notation:Node" xmi:id="_bhXJsjx1EeWiQ_wtFd6fGQ" type="6002">
1003 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhXJszx1EeWiQ_wtFd6fGQ" y="10"/>
1004 </children>
1005 <children xmi:type="notation:Node" xmi:id="_bhXJtDx1EeWiQ_wtFd6fGQ" type="6003">
1006 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhXJtTx1EeWiQ_wtFd6fGQ" y="10"/>
1007 </children>
1008 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhWioTx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
1009 <styles xmi:type="notation:FontStyle" xmi:id="_bhWiojx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1010 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhWiozx1EeWiQ_wtFd6fGQ" points="[0, 0, -2199, 60]$[2199, -60, 0, 0]"/>
1011 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhXwwDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1012 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhXwwTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1013 </edges>
1014 <edges xmi:type="notation:Edge" xmi:id="_bhXwwjx1EeWiQ_wtFd6fGQ" type="4001" element="_bd7bMDx1EeWiQ_wtFd6fGQ" source="_bf04oDx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
1015 <children xmi:type="notation:Node" xmi:id="_bhYX0Dx1EeWiQ_wtFd6fGQ" type="6001">
1016 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhYX0Tx1EeWiQ_wtFd6fGQ" y="-10"/>
1017 </children>
1018 <children xmi:type="notation:Node" xmi:id="_bhYX0jx1EeWiQ_wtFd6fGQ" type="6002">
1019 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhYX0zx1EeWiQ_wtFd6fGQ" y="10"/>
1020 </children>
1021 <children xmi:type="notation:Node" xmi:id="_bhYX1Dx1EeWiQ_wtFd6fGQ" type="6003">
1022 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhYX1Tx1EeWiQ_wtFd6fGQ" y="10"/>
1023 </children>
1024 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhXwwzx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
1025 <styles xmi:type="notation:FontStyle" xmi:id="_bhXwxDx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1026 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhXwxTx1EeWiQ_wtFd6fGQ" points="[0, 0, -2019, 60]$[2019, -60, 0, 0]"/>
1027 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhYX1jx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1028 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhYX1zx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1029 </edges>
1030 <edges xmi:type="notation:Edge" xmi:id="_bhY-4Dx1EeWiQ_wtFd6fGQ" type="4001" element="_bd8pUzx1EeWiQ_wtFd6fGQ" source="_bf1ftDx1EeWiQ_wtFd6fGQ" target="_bfGf4Dx1EeWiQ_wtFd6fGQ">
1031 <children xmi:type="notation:Node" xmi:id="_bhY-5Dx1EeWiQ_wtFd6fGQ" type="6001">
1032 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhY-5Tx1EeWiQ_wtFd6fGQ" y="-10"/>
1033 </children>
1034 <children xmi:type="notation:Node" xmi:id="_bhY-5jx1EeWiQ_wtFd6fGQ" type="6002">
1035 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhY-5zx1EeWiQ_wtFd6fGQ" y="10"/>
1036 </children>
1037 <children xmi:type="notation:Node" xmi:id="_bhZl8Dx1EeWiQ_wtFd6fGQ" type="6003">
1038 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhZl8Tx1EeWiQ_wtFd6fGQ" y="10"/>
1039 </children>
1040 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhY-4Tx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
1041 <styles xmi:type="notation:FontStyle" xmi:id="_bhY-4jx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1042 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhY-4zx1EeWiQ_wtFd6fGQ" points="[0, 0, -360, 60]$[360, -60, 0, 0]"/>
1043 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhZl8jx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1044 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhZl8zx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1045 </edges>
1046 <edges xmi:type="notation:Edge" xmi:id="_bhaNADx1EeWiQ_wtFd6fGQ" type="4001" element="_bd-egDx1EeWiQ_wtFd6fGQ" source="_bf2t0Dx1EeWiQ_wtFd6fGQ" target="_bfGf4Dx1EeWiQ_wtFd6fGQ">
1047 <children xmi:type="notation:Node" xmi:id="_bhaNBDx1EeWiQ_wtFd6fGQ" type="6001">
1048 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhaNBTx1EeWiQ_wtFd6fGQ" y="-10"/>
1049 </children>
1050 <children xmi:type="notation:Node" xmi:id="_bhaNBjx1EeWiQ_wtFd6fGQ" type="6002">
1051 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhaNBzx1EeWiQ_wtFd6fGQ" y="10"/>
1052 </children>
1053 <children xmi:type="notation:Node" xmi:id="_bhaNCDx1EeWiQ_wtFd6fGQ" type="6003">
1054 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhaNCTx1EeWiQ_wtFd6fGQ" y="10"/>
1055 </children>
1056 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhaNATx1EeWiQ_wtFd6fGQ" routing="Rectilinear"/>
1057 <styles xmi:type="notation:FontStyle" xmi:id="_bhaNAjx1EeWiQ_wtFd6fGQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1058 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhaNAzx1EeWiQ_wtFd6fGQ" points="[0, 0, -180, 60]$[180, -60, 0, 0]"/>
1059 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bha0EDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1060 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bha0ETx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1061 </edges>
1062 <edges xmi:type="notation:Edge" xmi:id="_bha0Ejx1EeWiQ_wtFd6fGQ" type="4001" element="_beBh0Dx1EeWiQ_wtFd6fGQ" source="_be9V8Dx1EeWiQ_wtFd6fGQ" target="_bfzDcDx1EeWiQ_wtFd6fGQ">
1063 <children xmi:type="notation:Node" xmi:id="_bhbbIDx1EeWiQ_wtFd6fGQ" type="6001">
1064 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhbbITx1EeWiQ_wtFd6fGQ" y="-10"/>
1065 </children>
1066 <children xmi:type="notation:Node" xmi:id="_bhbbIjx1EeWiQ_wtFd6fGQ" type="6002">
1067 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhbbIzx1EeWiQ_wtFd6fGQ" y="10"/>
1068 </children>
1069 <children xmi:type="notation:Node" xmi:id="_bhbbJDx1EeWiQ_wtFd6fGQ" type="6003">
1070 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhbbJTx1EeWiQ_wtFd6fGQ" y="10"/>
1071 </children>
1072 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bha0Ezx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1073 <styles xmi:type="notation:FontStyle" xmi:id="_bha0FDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1074 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bha0FTx1EeWiQ_wtFd6fGQ" points="[0, 0, 338, 60]$[-338, -60, 0, 0]"/>
1075 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhcCMDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1076 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhcCMTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1077 </edges>
1078 <edges xmi:type="notation:Edge" xmi:id="_bhcCMjx1EeWiQ_wtFd6fGQ" type="4001" element="_beDXADx1EeWiQ_wtFd6fGQ" source="_bfDckDx1EeWiQ_wtFd6fGQ" target="_bfObtDx1EeWiQ_wtFd6fGQ">
1079 <children xmi:type="notation:Node" xmi:id="_bhcpQDx1EeWiQ_wtFd6fGQ" type="6001">
1080 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhcpQTx1EeWiQ_wtFd6fGQ" y="-10"/>
1081 </children>
1082 <children xmi:type="notation:Node" xmi:id="_bhcpQjx1EeWiQ_wtFd6fGQ" type="6002">
1083 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhcpQzx1EeWiQ_wtFd6fGQ" y="10"/>
1084 </children>
1085 <children xmi:type="notation:Node" xmi:id="_bhcpRDx1EeWiQ_wtFd6fGQ" type="6003">
1086 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhcpRTx1EeWiQ_wtFd6fGQ" y="10"/>
1087 </children>
1088 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhcCMzx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1089 <styles xmi:type="notation:FontStyle" xmi:id="_bhcCNDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1090 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhcCNTx1EeWiQ_wtFd6fGQ" points="[0, 0, 731, 60]$[-731, -60, 0, 0]"/>
1091 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhdQUDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1092 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhdQUTx1EeWiQ_wtFd6fGQ" id="(0.49586776859504134,1.0)"/>
1093 </edges>
1094 <edges xmi:type="notation:Edge" xmi:id="_bhdQUjx1EeWiQ_wtFd6fGQ" type="4001" element="_beElIDx1EeWiQ_wtFd6fGQ" source="_bfEqsDx1EeWiQ_wtFd6fGQ" target="_be9V8Dx1EeWiQ_wtFd6fGQ">
1095 <children xmi:type="notation:Node" xmi:id="_bhdQVjx1EeWiQ_wtFd6fGQ" type="6001">
1096 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhdQVzx1EeWiQ_wtFd6fGQ" y="-10"/>
1097 </children>
1098 <children xmi:type="notation:Node" xmi:id="_bhd3YDx1EeWiQ_wtFd6fGQ" type="6002">
1099 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhd3YTx1EeWiQ_wtFd6fGQ" y="10"/>
1100 </children>
1101 <children xmi:type="notation:Node" xmi:id="_bhd3Yjx1EeWiQ_wtFd6fGQ" type="6003">
1102 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhd3Yzx1EeWiQ_wtFd6fGQ" y="10"/>
1103 </children>
1104 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhdQUzx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1105 <styles xmi:type="notation:FontStyle" xmi:id="_bhdQVDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1106 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhdQVTx1EeWiQ_wtFd6fGQ" points="[0, 0, 0, 220]$[0, -220, 0, 0]"/>
1107 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhd3ZDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1108 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhd3ZTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1109 </edges>
1110 <edges xmi:type="notation:Edge" xmi:id="_bhfFgjx1EeWiQ_wtFd6fGQ" type="4001" element="_beGaUDx1EeWiQ_wtFd6fGQ" source="_bfGf4Dx1EeWiQ_wtFd6fGQ" target="_bfzDcDx1EeWiQ_wtFd6fGQ">
1111 <children xmi:type="notation:Node" xmi:id="_bhfskDx1EeWiQ_wtFd6fGQ" type="6001">
1112 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhfskTx1EeWiQ_wtFd6fGQ" y="-10"/>
1113 </children>
1114 <children xmi:type="notation:Node" xmi:id="_bhfskjx1EeWiQ_wtFd6fGQ" type="6002">
1115 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhfskzx1EeWiQ_wtFd6fGQ" y="10"/>
1116 </children>
1117 <children xmi:type="notation:Node" xmi:id="_bhfslDx1EeWiQ_wtFd6fGQ" type="6003">
1118 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhfslTx1EeWiQ_wtFd6fGQ" y="10"/>
1119 </children>
1120 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhfFgzx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1121 <styles xmi:type="notation:FontStyle" xmi:id="_bhfFhDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1122 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhfFhTx1EeWiQ_wtFd6fGQ" points="[0, 0, -338, 60]$[338, -60, 0, 0]"/>
1123 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhg6sDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1124 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhg6sTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1125 </edges>
1126 <edges xmi:type="notation:Edge" xmi:id="_bhg6sjx1EeWiQ_wtFd6fGQ" type="4001" element="_beHBYDx1EeWiQ_wtFd6fGQ" source="_bfHuADx1EeWiQ_wtFd6fGQ" target="_bfGf4Dx1EeWiQ_wtFd6fGQ">
1127 <children xmi:type="notation:Node" xmi:id="_bhhhwDx1EeWiQ_wtFd6fGQ" type="6001">
1128 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhhhwTx1EeWiQ_wtFd6fGQ" y="-10"/>
1129 </children>
1130 <children xmi:type="notation:Node" xmi:id="_bhhhwjx1EeWiQ_wtFd6fGQ" type="6002">
1131 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhhhwzx1EeWiQ_wtFd6fGQ" y="10"/>
1132 </children>
1133 <children xmi:type="notation:Node" xmi:id="_bhhhxDx1EeWiQ_wtFd6fGQ" type="6003">
1134 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhhhxTx1EeWiQ_wtFd6fGQ" y="10"/>
1135 </children>
1136 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhg6szx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1137 <styles xmi:type="notation:FontStyle" xmi:id="_bhg6tDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1138 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhg6tTx1EeWiQ_wtFd6fGQ" points="[0, 0, 561, 60]$[-561, -60, 0, 0]"/>
1139 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhiI0Dx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1140 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhiI0Tx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1141 </edges>
1142 <edges xmi:type="notation:Edge" xmi:id="_bhiI0jx1EeWiQ_wtFd6fGQ" type="4001" element="_beHoczx1EeWiQ_wtFd6fGQ" source="_bfIVEzx1EeWiQ_wtFd6fGQ" target="_bfGf4Dx1EeWiQ_wtFd6fGQ">
1143 <children xmi:type="notation:Node" xmi:id="_bhiv4Dx1EeWiQ_wtFd6fGQ" type="6001">
1144 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhiv4Tx1EeWiQ_wtFd6fGQ" y="-10"/>
1145 </children>
1146 <children xmi:type="notation:Node" xmi:id="_bhiv4jx1EeWiQ_wtFd6fGQ" type="6002">
1147 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhiv4zx1EeWiQ_wtFd6fGQ" y="10"/>
1148 </children>
1149 <children xmi:type="notation:Node" xmi:id="_bhiv5Dx1EeWiQ_wtFd6fGQ" type="6003">
1150 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhiv5Tx1EeWiQ_wtFd6fGQ" y="10"/>
1151 </children>
1152 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhiI0zx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1153 <styles xmi:type="notation:FontStyle" xmi:id="_bhiI1Dx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1154 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhiI1Tx1EeWiQ_wtFd6fGQ" points="[0, 0, 185, 60]$[-185, -60, 0, 0]"/>
1155 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhiv5jx1EeWiQ_wtFd6fGQ" id="(0.4961832061068702,0.0)"/>
1156 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhjW8Dx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1157 </edges>
1158 <edges xmi:type="notation:Edge" xmi:id="_bhjW8Tx1EeWiQ_wtFd6fGQ" type="4001" element="_beIPgzx1EeWiQ_wtFd6fGQ" source="_bfKKQDx1EeWiQ_wtFd6fGQ" target="_bfIVEzx1EeWiQ_wtFd6fGQ">
1159 <children xmi:type="notation:Node" xmi:id="_bhjW9Tx1EeWiQ_wtFd6fGQ" type="6001">
1160 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhj-ADx1EeWiQ_wtFd6fGQ" y="-10"/>
1161 </children>
1162 <children xmi:type="notation:Node" xmi:id="_bhj-ATx1EeWiQ_wtFd6fGQ" type="6002">
1163 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhj-Ajx1EeWiQ_wtFd6fGQ" y="10"/>
1164 </children>
1165 <children xmi:type="notation:Node" xmi:id="_bhj-Azx1EeWiQ_wtFd6fGQ" type="6003">
1166 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhj-BDx1EeWiQ_wtFd6fGQ" y="10"/>
1167 </children>
1168 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhjW8jx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1169 <styles xmi:type="notation:FontStyle" xmi:id="_bhjW8zx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1170 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhjW9Dx1EeWiQ_wtFd6fGQ" points="[0, 0, 180, 60]$[-180, -60, 0, 0]"/>
1171 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhj-BTx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1172 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhj-Bjx1EeWiQ_wtFd6fGQ" id="(0.4961832061068702,1.0)"/>
1173 </edges>
1174 <edges xmi:type="notation:Edge" xmi:id="_bhklEDx1EeWiQ_wtFd6fGQ" type="4001" element="_beJdoDx1EeWiQ_wtFd6fGQ" source="_bfLYYDx1EeWiQ_wtFd6fGQ" target="_bfIVEzx1EeWiQ_wtFd6fGQ">
1175 <children xmi:type="notation:Node" xmi:id="_bhklFDx1EeWiQ_wtFd6fGQ" type="6001">
1176 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhklFTx1EeWiQ_wtFd6fGQ" y="-10"/>
1177 </children>
1178 <children xmi:type="notation:Node" xmi:id="_bhlMIDx1EeWiQ_wtFd6fGQ" type="6002">
1179 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhlMITx1EeWiQ_wtFd6fGQ" y="10"/>
1180 </children>
1181 <children xmi:type="notation:Node" xmi:id="_bhlMIjx1EeWiQ_wtFd6fGQ" type="6003">
1182 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhlMIzx1EeWiQ_wtFd6fGQ" y="10"/>
1183 </children>
1184 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhklETx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1185 <styles xmi:type="notation:FontStyle" xmi:id="_bhklEjx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1186 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhklEzx1EeWiQ_wtFd6fGQ" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
1187 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhlMJDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1188 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhlMJTx1EeWiQ_wtFd6fGQ" id="(0.4961832061068702,1.0)"/>
1189 </edges>
1190 <edges xmi:type="notation:Edge" xmi:id="_bhlzMDx1EeWiQ_wtFd6fGQ" type="4001" element="_beKrwDx1EeWiQ_wtFd6fGQ" source="_bfL_czx1EeWiQ_wtFd6fGQ" target="_bfIVEzx1EeWiQ_wtFd6fGQ">
1191 <children xmi:type="notation:Node" xmi:id="_bhlzNDx1EeWiQ_wtFd6fGQ" type="6001">
1192 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhlzNTx1EeWiQ_wtFd6fGQ" y="-10"/>
1193 </children>
1194 <children xmi:type="notation:Node" xmi:id="_bhlzNjx1EeWiQ_wtFd6fGQ" type="6002">
1195 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhlzNzx1EeWiQ_wtFd6fGQ" y="10"/>
1196 </children>
1197 <children xmi:type="notation:Node" xmi:id="_bhmaQDx1EeWiQ_wtFd6fGQ" type="6003">
1198 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhmaQTx1EeWiQ_wtFd6fGQ" y="10"/>
1199 </children>
1200 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhlzMTx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1201 <styles xmi:type="notation:FontStyle" xmi:id="_bhlzMjx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1202 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhlzMzx1EeWiQ_wtFd6fGQ" points="[0, 0, -180, 60]$[180, -60, 0, 0]"/>
1203 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhmaQjx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1204 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhmaQzx1EeWiQ_wtFd6fGQ" id="(0.4961832061068702,1.0)"/>
1205 </edges>
1206 <edges xmi:type="notation:Edge" xmi:id="_bhnBUDx1EeWiQ_wtFd6fGQ" type="4001" element="_beLS0zx1EeWiQ_wtFd6fGQ" source="_bfMmhDx1EeWiQ_wtFd6fGQ" target="_bfObtDx1EeWiQ_wtFd6fGQ">
1207 <children xmi:type="notation:Node" xmi:id="_bhnBVDx1EeWiQ_wtFd6fGQ" type="6001">
1208 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhnBVTx1EeWiQ_wtFd6fGQ" y="-10"/>
1209 </children>
1210 <children xmi:type="notation:Node" xmi:id="_bhnBVjx1EeWiQ_wtFd6fGQ" type="6002">
1211 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhnBVzx1EeWiQ_wtFd6fGQ" y="10"/>
1212 </children>
1213 <children xmi:type="notation:Node" xmi:id="_bhnBWDx1EeWiQ_wtFd6fGQ" type="6003">
1214 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhnBWTx1EeWiQ_wtFd6fGQ" y="10"/>
1215 </children>
1216 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhnBUTx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1217 <styles xmi:type="notation:FontStyle" xmi:id="_bhnBUjx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1218 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhnBUzx1EeWiQ_wtFd6fGQ" points="[0, 0, 360, 60]$[-360, -60, 0, 0]"/>
1219 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhnoYDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1220 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhnoYTx1EeWiQ_wtFd6fGQ" id="(0.49586776859504134,1.0)"/>
1221 </edges>
1222 <edges xmi:type="notation:Edge" xmi:id="_bhnoYjx1EeWiQ_wtFd6fGQ" type="4001" element="_beMg8Dx1EeWiQ_wtFd6fGQ" source="_bfN0oDx1EeWiQ_wtFd6fGQ" target="_bfzqhDx1EeWiQ_wtFd6fGQ">
1223 <children xmi:type="notation:Node" xmi:id="_bhoPcDx1EeWiQ_wtFd6fGQ" type="6001">
1224 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhoPcTx1EeWiQ_wtFd6fGQ" y="-10"/>
1225 </children>
1226 <children xmi:type="notation:Node" xmi:id="_bhoPcjx1EeWiQ_wtFd6fGQ" type="6002">
1227 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhoPczx1EeWiQ_wtFd6fGQ" y="10"/>
1228 </children>
1229 <children xmi:type="notation:Node" xmi:id="_bhoPdDx1EeWiQ_wtFd6fGQ" type="6003">
1230 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhoPdTx1EeWiQ_wtFd6fGQ" y="10"/>
1231 </children>
1232 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhnoYzx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1233 <styles xmi:type="notation:FontStyle" xmi:id="_bhnoZDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1234 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhnoZTx1EeWiQ_wtFd6fGQ" points="[0, 0, -1439, 60]$[1439, -60, 0, 0]"/>
1235 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bho2gDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1236 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bho2gTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1237 </edges>
1238 <edges xmi:type="notation:Edge" xmi:id="_bho2gjx1EeWiQ_wtFd6fGQ" type="4001" element="_beNIAzx1EeWiQ_wtFd6fGQ" source="_bfObtDx1EeWiQ_wtFd6fGQ" target="_bfzqhDx1EeWiQ_wtFd6fGQ">
1239 <children xmi:type="notation:Node" xmi:id="_bhpdkDx1EeWiQ_wtFd6fGQ" type="6001">
1240 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhpdkTx1EeWiQ_wtFd6fGQ" y="-10"/>
1241 </children>
1242 <children xmi:type="notation:Node" xmi:id="_bhpdkjx1EeWiQ_wtFd6fGQ" type="6002">
1243 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhpdkzx1EeWiQ_wtFd6fGQ" y="10"/>
1244 </children>
1245 <children xmi:type="notation:Node" xmi:id="_bhpdlDx1EeWiQ_wtFd6fGQ" type="6003">
1246 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhpdlTx1EeWiQ_wtFd6fGQ" y="10"/>
1247 </children>
1248 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bho2gzx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1249 <styles xmi:type="notation:FontStyle" xmi:id="_bho2hDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1250 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bho2hTx1EeWiQ_wtFd6fGQ" points="[0, 0, 1438, 60]$[-1438, -60, 0, 0]"/>
1251 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhqEoDx1EeWiQ_wtFd6fGQ" id="(0.49586776859504134,0.0)"/>
1252 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhqEoTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1253 </edges>
1254 <edges xmi:type="notation:Edge" xmi:id="_bhqEojx1EeWiQ_wtFd6fGQ" type="4001" element="_beOWIDx1EeWiQ_wtFd6fGQ" source="_bfPp0Dx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
1255 <children xmi:type="notation:Node" xmi:id="_bhqrsDx1EeWiQ_wtFd6fGQ" type="6001">
1256 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhqrsTx1EeWiQ_wtFd6fGQ" y="-10"/>
1257 </children>
1258 <children xmi:type="notation:Node" xmi:id="_bhqrsjx1EeWiQ_wtFd6fGQ" type="6002">
1259 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhqrszx1EeWiQ_wtFd6fGQ" y="10"/>
1260 </children>
1261 <children xmi:type="notation:Node" xmi:id="_bhqrtDx1EeWiQ_wtFd6fGQ" type="6003">
1262 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhqrtTx1EeWiQ_wtFd6fGQ" y="10"/>
1263 </children>
1264 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhqEozx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1265 <styles xmi:type="notation:FontStyle" xmi:id="_bhqEpDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1266 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhqEpTx1EeWiQ_wtFd6fGQ" points="[0, 0, 2517, 60]$[-2517, -60, 0, 0]"/>
1267 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhrSwDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1268 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhrSwTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1269 </edges>
1270 <edges xmi:type="notation:Edge" xmi:id="_bhrSwjx1EeWiQ_wtFd6fGQ" type="4001" element="_beO9MDx1EeWiQ_wtFd6fGQ" source="_bfQQ4zx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
1271 <children xmi:type="notation:Node" xmi:id="_bhr50Dx1EeWiQ_wtFd6fGQ" type="6001">
1272 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhr50Tx1EeWiQ_wtFd6fGQ" y="-10"/>
1273 </children>
1274 <children xmi:type="notation:Node" xmi:id="_bhr50jx1EeWiQ_wtFd6fGQ" type="6002">
1275 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhr50zx1EeWiQ_wtFd6fGQ" y="10"/>
1276 </children>
1277 <children xmi:type="notation:Node" xmi:id="_bhr51Dx1EeWiQ_wtFd6fGQ" type="6003">
1278 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhr51Tx1EeWiQ_wtFd6fGQ" y="10"/>
1279 </children>
1280 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhrSwzx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1281 <styles xmi:type="notation:FontStyle" xmi:id="_bhrSxDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1282 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhrSxTx1EeWiQ_wtFd6fGQ" points="[0, 0, -1839, 60]$[1839, -60, 0, 0]"/>
1283 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhsg4Dx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1284 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhsg4Tx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1285 </edges>
1286 <edges xmi:type="notation:Edge" xmi:id="_bhsg4jx1EeWiQ_wtFd6fGQ" type="4001" element="_bePkQzx1EeWiQ_wtFd6fGQ" source="_bfRfADx1EeWiQ_wtFd6fGQ" target="_bfQQ4zx1EeWiQ_wtFd6fGQ">
1287 <children xmi:type="notation:Node" xmi:id="_bhtH8Dx1EeWiQ_wtFd6fGQ" type="6001">
1288 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhtH8Tx1EeWiQ_wtFd6fGQ" y="-10"/>
1289 </children>
1290 <children xmi:type="notation:Node" xmi:id="_bhtH8jx1EeWiQ_wtFd6fGQ" type="6002">
1291 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhtH8zx1EeWiQ_wtFd6fGQ" y="10"/>
1292 </children>
1293 <children xmi:type="notation:Node" xmi:id="_bhtH9Dx1EeWiQ_wtFd6fGQ" type="6003">
1294 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhtH9Tx1EeWiQ_wtFd6fGQ" y="10"/>
1295 </children>
1296 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhsg4zx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1297 <styles xmi:type="notation:FontStyle" xmi:id="_bhsg5Dx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1298 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhsg5Tx1EeWiQ_wtFd6fGQ" points="[0, 0, -180, 60]$[180, -60, 0, 0]"/>
1299 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhtH9jx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1300 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhtvADx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1301 </edges>
1302 <edges xmi:type="notation:Edge" xmi:id="_bhtvATx1EeWiQ_wtFd6fGQ" type="4001" element="_beRZcDx1EeWiQ_wtFd6fGQ" source="_bfT7QDx1EeWiQ_wtFd6fGQ" target="_bfQQ4zx1EeWiQ_wtFd6fGQ">
1303 <children xmi:type="notation:Node" xmi:id="_bhtvBTx1EeWiQ_wtFd6fGQ" type="6001">
1304 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhtvBjx1EeWiQ_wtFd6fGQ" y="-10"/>
1305 </children>
1306 <children xmi:type="notation:Node" xmi:id="_bhuWEDx1EeWiQ_wtFd6fGQ" type="6002">
1307 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhuWETx1EeWiQ_wtFd6fGQ" y="10"/>
1308 </children>
1309 <children xmi:type="notation:Node" xmi:id="_bhuWEjx1EeWiQ_wtFd6fGQ" type="6003">
1310 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhuWEzx1EeWiQ_wtFd6fGQ" y="10"/>
1311 </children>
1312 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhtvAjx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1313 <styles xmi:type="notation:FontStyle" xmi:id="_bhtvAzx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1314 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhtvBDx1EeWiQ_wtFd6fGQ" points="[0, 0, 207, 60]$[-207, -60, 0, 0]"/>
1315 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhuWFDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1316 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhuWFTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1317 </edges>
1318 <edges xmi:type="notation:Edge" xmi:id="_bhu9IDx1EeWiQ_wtFd6fGQ" type="4001" element="_beSAgDx1EeWiQ_wtFd6fGQ" source="_bfVJYDx1EeWiQ_wtFd6fGQ" target="_bfQQ4zx1EeWiQ_wtFd6fGQ">
1319 <children xmi:type="notation:Node" xmi:id="_bhu9JDx1EeWiQ_wtFd6fGQ" type="6001">
1320 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhu9JTx1EeWiQ_wtFd6fGQ" y="-10"/>
1321 </children>
1322 <children xmi:type="notation:Node" xmi:id="_bhu9Jjx1EeWiQ_wtFd6fGQ" type="6002">
1323 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhu9Jzx1EeWiQ_wtFd6fGQ" y="10"/>
1324 </children>
1325 <children xmi:type="notation:Node" xmi:id="_bhvkMDx1EeWiQ_wtFd6fGQ" type="6003">
1326 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhvkMTx1EeWiQ_wtFd6fGQ" y="10"/>
1327 </children>
1328 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhu9ITx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1329 <styles xmi:type="notation:FontStyle" xmi:id="_bhu9Ijx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1330 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhu9Izx1EeWiQ_wtFd6fGQ" points="[0, 0, 5, 60]$[-5, -60, 0, 0]"/>
1331 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhvkMjx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1332 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhvkMzx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1333 </edges>
1334 <edges xmi:type="notation:Edge" xmi:id="_bhvkNDx1EeWiQ_wtFd6fGQ" type="4001" element="_beTOoDx1EeWiQ_wtFd6fGQ" source="_bfVwcDx1EeWiQ_wtFd6fGQ" target="_bfObtDx1EeWiQ_wtFd6fGQ">
1335 <children xmi:type="notation:Node" xmi:id="_bhwLQzx1EeWiQ_wtFd6fGQ" type="6001">
1336 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhwLRDx1EeWiQ_wtFd6fGQ" y="-10"/>
1337 </children>
1338 <children xmi:type="notation:Node" xmi:id="_bhwLRTx1EeWiQ_wtFd6fGQ" type="6002">
1339 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhwLRjx1EeWiQ_wtFd6fGQ" y="10"/>
1340 </children>
1341 <children xmi:type="notation:Node" xmi:id="_bhwLRzx1EeWiQ_wtFd6fGQ" type="6003">
1342 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhwLSDx1EeWiQ_wtFd6fGQ" y="10"/>
1343 </children>
1344 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhwLQDx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1345 <styles xmi:type="notation:FontStyle" xmi:id="_bhwLQTx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1346 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhwLQjx1EeWiQ_wtFd6fGQ" points="[-1, 0, 172, 547]$[-1, -386, 172, 161]$[-172, -386, 1, 161]$[-172, -547, 1, 0]"/>
1347 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhwyUDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1348 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhwyUTx1EeWiQ_wtFd6fGQ" id="(0.49586776859504134,1.0)"/>
1349 </edges>
1350 <edges xmi:type="notation:Edge" xmi:id="_bhwyUjx1EeWiQ_wtFd6fGQ" type="4001" element="_beT1sDx1EeWiQ_wtFd6fGQ" source="_bfWXhDx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
1351 <children xmi:type="notation:Node" xmi:id="_bhyAcDx1EeWiQ_wtFd6fGQ" type="6001">
1352 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhyAcTx1EeWiQ_wtFd6fGQ" y="-10"/>
1353 </children>
1354 <children xmi:type="notation:Node" xmi:id="_bhyAcjx1EeWiQ_wtFd6fGQ" type="6002">
1355 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhyAczx1EeWiQ_wtFd6fGQ" y="10"/>
1356 </children>
1357 <children xmi:type="notation:Node" xmi:id="_bhyAdDx1EeWiQ_wtFd6fGQ" type="6003">
1358 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhyAdTx1EeWiQ_wtFd6fGQ" y="10"/>
1359 </children>
1360 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhwyUzx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1361 <styles xmi:type="notation:FontStyle" xmi:id="_bhwyVDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1362 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhwyVTx1EeWiQ_wtFd6fGQ" points="[0, 0, -904, 220]$[-105, -61, -1009, 159]$[-105, -160, -1009, 60]$[904, -220, 0, 0]"/>
1363 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhyngDx1EeWiQ_wtFd6fGQ" id="(0.49586776859504134,0.0)"/>
1364 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhyngTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1365 </edges>
1366 <edges xmi:type="notation:Edge" xmi:id="_bhyngjx1EeWiQ_wtFd6fGQ" type="4001" element="_beUcwDx1EeWiQ_wtFd6fGQ" source="_bfW-lDx1EeWiQ_wtFd6fGQ" target="_bfWXhDx1EeWiQ_wtFd6fGQ">
1367 <children xmi:type="notation:Node" xmi:id="_bhzOkDx1EeWiQ_wtFd6fGQ" type="6001">
1368 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhzOkTx1EeWiQ_wtFd6fGQ" y="-10"/>
1369 </children>
1370 <children xmi:type="notation:Node" xmi:id="_bhzOkjx1EeWiQ_wtFd6fGQ" type="6002">
1371 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhzOkzx1EeWiQ_wtFd6fGQ" y="10"/>
1372 </children>
1373 <children xmi:type="notation:Node" xmi:id="_bhzOlDx1EeWiQ_wtFd6fGQ" type="6003">
1374 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bhzOlTx1EeWiQ_wtFd6fGQ" y="10"/>
1375 </children>
1376 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhyngzx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1377 <styles xmi:type="notation:FontStyle" xmi:id="_bhynhDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1378 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhynhTx1EeWiQ_wtFd6fGQ" points="[0, 0, 90, 60]$[-90, -60, 0, 0]"/>
1379 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhz1oDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1380 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bhz1oTx1EeWiQ_wtFd6fGQ" id="(0.49586776859504134,1.0)"/>
1381 </edges>
1382 <edges xmi:type="notation:Edge" xmi:id="_bhz1ojx1EeWiQ_wtFd6fGQ" type="4001" element="_beVq4Dx1EeWiQ_wtFd6fGQ" source="_bfYMsDx1EeWiQ_wtFd6fGQ" target="_bfWXhDx1EeWiQ_wtFd6fGQ">
1383 <children xmi:type="notation:Node" xmi:id="_bh0csDx1EeWiQ_wtFd6fGQ" type="6001">
1384 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh0csTx1EeWiQ_wtFd6fGQ" y="-10"/>
1385 </children>
1386 <children xmi:type="notation:Node" xmi:id="_bh0csjx1EeWiQ_wtFd6fGQ" type="6002">
1387 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh0cszx1EeWiQ_wtFd6fGQ" y="10"/>
1388 </children>
1389 <children xmi:type="notation:Node" xmi:id="_bh0ctDx1EeWiQ_wtFd6fGQ" type="6003">
1390 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh0ctTx1EeWiQ_wtFd6fGQ" y="10"/>
1391 </children>
1392 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bhz1ozx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1393 <styles xmi:type="notation:FontStyle" xmi:id="_bhz1pDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1394 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bhz1pTx1EeWiQ_wtFd6fGQ" points="[0, 0, -90, 60]$[90, -60, 0, 0]"/>
1395 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh1DwDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1396 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh1DwTx1EeWiQ_wtFd6fGQ" id="(0.49586776859504134,1.0)"/>
1397 </edges>
1398 <edges xmi:type="notation:Edge" xmi:id="_bh1Dwjx1EeWiQ_wtFd6fGQ" type="4001" element="_beWR8Dx1EeWiQ_wtFd6fGQ" source="_bfYzxDx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
1399 <children xmi:type="notation:Node" xmi:id="_bh1q0Dx1EeWiQ_wtFd6fGQ" type="6001">
1400 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh1q0Tx1EeWiQ_wtFd6fGQ" y="-10"/>
1401 </children>
1402 <children xmi:type="notation:Node" xmi:id="_bh1q0jx1EeWiQ_wtFd6fGQ" type="6002">
1403 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh1q0zx1EeWiQ_wtFd6fGQ" y="10"/>
1404 </children>
1405 <children xmi:type="notation:Node" xmi:id="_bh1q1Dx1EeWiQ_wtFd6fGQ" type="6003">
1406 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh1q1Tx1EeWiQ_wtFd6fGQ" y="10"/>
1407 </children>
1408 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bh1Dwzx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1409 <styles xmi:type="notation:FontStyle" xmi:id="_bh1DxDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1410 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bh1DxTx1EeWiQ_wtFd6fGQ" points="[0, 0, -542, 60]$[542, -60, 0, 0]"/>
1411 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh1q1jx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1412 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh2R4Dx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1413 </edges>
1414 <edges xmi:type="notation:Edge" xmi:id="_bh2R4Tx1EeWiQ_wtFd6fGQ" type="4001" element="_beW5Azx1EeWiQ_wtFd6fGQ" source="_bfZa1Dx1EeWiQ_wtFd6fGQ" target="_bfYzxDx1EeWiQ_wtFd6fGQ">
1415 <children xmi:type="notation:Node" xmi:id="_bh2R5Tx1EeWiQ_wtFd6fGQ" type="6001">
1416 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh248Dx1EeWiQ_wtFd6fGQ" y="-10"/>
1417 </children>
1418 <children xmi:type="notation:Node" xmi:id="_bh248Tx1EeWiQ_wtFd6fGQ" type="6002">
1419 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh248jx1EeWiQ_wtFd6fGQ" y="10"/>
1420 </children>
1421 <children xmi:type="notation:Node" xmi:id="_bh248zx1EeWiQ_wtFd6fGQ" type="6003">
1422 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh249Dx1EeWiQ_wtFd6fGQ" y="10"/>
1423 </children>
1424 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bh2R4jx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1425 <styles xmi:type="notation:FontStyle" xmi:id="_bh2R4zx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1426 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bh2R5Dx1EeWiQ_wtFd6fGQ" points="[0, 0, 180, 60]$[-180, -60, 0, 0]"/>
1427 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh249Tx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1428 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh249jx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1429 </edges>
1430 <edges xmi:type="notation:Edge" xmi:id="_bh3gADx1EeWiQ_wtFd6fGQ" type="4001" element="_beYHIDx1EeWiQ_wtFd6fGQ" source="_bfao8Dx1EeWiQ_wtFd6fGQ" target="_bfYzxDx1EeWiQ_wtFd6fGQ">
1431 <children xmi:type="notation:Node" xmi:id="_bh3gBDx1EeWiQ_wtFd6fGQ" type="6001">
1432 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh3gBTx1EeWiQ_wtFd6fGQ" y="-10"/>
1433 </children>
1434 <children xmi:type="notation:Node" xmi:id="_bh3gBjx1EeWiQ_wtFd6fGQ" type="6002">
1435 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh4HEDx1EeWiQ_wtFd6fGQ" y="10"/>
1436 </children>
1437 <children xmi:type="notation:Node" xmi:id="_bh4HETx1EeWiQ_wtFd6fGQ" type="6003">
1438 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh4HEjx1EeWiQ_wtFd6fGQ" y="10"/>
1439 </children>
1440 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bh3gATx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1441 <styles xmi:type="notation:FontStyle" xmi:id="_bh3gAjx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1442 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bh3gAzx1EeWiQ_wtFd6fGQ" points="[0, 0, -181, 60]$[181, -60, 0, 0]"/>
1443 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh4HEzx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1444 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh4HFDx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1445 </edges>
1446 <edges xmi:type="notation:Edge" xmi:id="_bh4uIDx1EeWiQ_wtFd6fGQ" type="4001" element="_beYuMDx1EeWiQ_wtFd6fGQ" source="_bfbQAzx1EeWiQ_wtFd6fGQ" target="_bfYzxDx1EeWiQ_wtFd6fGQ">
1447 <children xmi:type="notation:Node" xmi:id="_bh4uJDx1EeWiQ_wtFd6fGQ" type="6001">
1448 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh4uJTx1EeWiQ_wtFd6fGQ" y="-10"/>
1449 </children>
1450 <children xmi:type="notation:Node" xmi:id="_bh4uJjx1EeWiQ_wtFd6fGQ" type="6002">
1451 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh4uJzx1EeWiQ_wtFd6fGQ" y="10"/>
1452 </children>
1453 <children xmi:type="notation:Node" xmi:id="_bh4uKDx1EeWiQ_wtFd6fGQ" type="6003">
1454 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh4uKTx1EeWiQ_wtFd6fGQ" y="10"/>
1455 </children>
1456 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bh4uITx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1457 <styles xmi:type="notation:FontStyle" xmi:id="_bh4uIjx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1458 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bh4uIzx1EeWiQ_wtFd6fGQ" points="[0, 0, -893, 60]$[893, -60, 0, 0]"/>
1459 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh5VMDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1460 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh5VMTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1461 </edges>
1462 <edges xmi:type="notation:Edge" xmi:id="_bh5VMjx1EeWiQ_wtFd6fGQ" type="4001" element="_beZVQzx1EeWiQ_wtFd6fGQ" source="_bfceJDx1EeWiQ_wtFd6fGQ" target="_bfYzxDx1EeWiQ_wtFd6fGQ">
1463 <children xmi:type="notation:Node" xmi:id="_bh58QDx1EeWiQ_wtFd6fGQ" type="6001">
1464 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh58QTx1EeWiQ_wtFd6fGQ" y="-10"/>
1465 </children>
1466 <children xmi:type="notation:Node" xmi:id="_bh58Qjx1EeWiQ_wtFd6fGQ" type="6002">
1467 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh58Qzx1EeWiQ_wtFd6fGQ" y="10"/>
1468 </children>
1469 <children xmi:type="notation:Node" xmi:id="_bh58RDx1EeWiQ_wtFd6fGQ" type="6003">
1470 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh58RTx1EeWiQ_wtFd6fGQ" y="10"/>
1471 </children>
1472 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bh5VMzx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1473 <styles xmi:type="notation:FontStyle" xmi:id="_bh5VNDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1474 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bh5VNTx1EeWiQ_wtFd6fGQ" points="[0, 0, 361, 60]$[-361, -60, 0, 0]"/>
1475 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh6jUDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1476 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh6jUTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1477 </edges>
1478 <edges xmi:type="notation:Edge" xmi:id="_bh6jUjx1EeWiQ_wtFd6fGQ" type="4001" element="_beajYDx1EeWiQ_wtFd6fGQ" source="_bfdsQDx1EeWiQ_wtFd6fGQ" target="_bfYzxDx1EeWiQ_wtFd6fGQ">
1479 <children xmi:type="notation:Node" xmi:id="_bh7KYDx1EeWiQ_wtFd6fGQ" type="6001">
1480 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh7KYTx1EeWiQ_wtFd6fGQ" y="-10"/>
1481 </children>
1482 <children xmi:type="notation:Node" xmi:id="_bh7KYjx1EeWiQ_wtFd6fGQ" type="6002">
1483 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh7KYzx1EeWiQ_wtFd6fGQ" y="10"/>
1484 </children>
1485 <children xmi:type="notation:Node" xmi:id="_bh7KZDx1EeWiQ_wtFd6fGQ" type="6003">
1486 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh7KZTx1EeWiQ_wtFd6fGQ" y="10"/>
1487 </children>
1488 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bh6jUzx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1489 <styles xmi:type="notation:FontStyle" xmi:id="_bh6jVDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1490 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bh6jVTx1EeWiQ_wtFd6fGQ" points="[0, 0, 542, 60]$[-542, -60, 0, 0]"/>
1491 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh7KZjx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1492 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh7KZzx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1493 </edges>
1494 <edges xmi:type="notation:Edge" xmi:id="_bh7xcDx1EeWiQ_wtFd6fGQ" type="4001" element="_bebKcDx1EeWiQ_wtFd6fGQ" source="_bfeTUzx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
1495 <children xmi:type="notation:Node" xmi:id="_bh7xdDx1EeWiQ_wtFd6fGQ" type="6001">
1496 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh7xdTx1EeWiQ_wtFd6fGQ" y="-10"/>
1497 </children>
1498 <children xmi:type="notation:Node" xmi:id="_bh8YgDx1EeWiQ_wtFd6fGQ" type="6002">
1499 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh8YgTx1EeWiQ_wtFd6fGQ" y="10"/>
1500 </children>
1501 <children xmi:type="notation:Node" xmi:id="_bh8Ygjx1EeWiQ_wtFd6fGQ" type="6003">
1502 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh8Ygzx1EeWiQ_wtFd6fGQ" y="10"/>
1503 </children>
1504 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bh7xcTx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1505 <styles xmi:type="notation:FontStyle" xmi:id="_bh7xcjx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1506 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bh7xczx1EeWiQ_wtFd6fGQ" points="[0, 0, 905, 60]$[-905, -60, 0, 0]"/>
1507 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh8YhDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1508 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh8YhTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1509 </edges>
1510 <edges xmi:type="notation:Edge" xmi:id="_bh8_kDx1EeWiQ_wtFd6fGQ" type="4001" element="_bebxgzx1EeWiQ_wtFd6fGQ" source="_bfhWoDx1EeWiQ_wtFd6fGQ" target="_bfeTUzx1EeWiQ_wtFd6fGQ">
1511 <children xmi:type="notation:Node" xmi:id="_bh8_lDx1EeWiQ_wtFd6fGQ" type="6001">
1512 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh8_lTx1EeWiQ_wtFd6fGQ" y="-10"/>
1513 </children>
1514 <children xmi:type="notation:Node" xmi:id="_bh9moDx1EeWiQ_wtFd6fGQ" type="6002">
1515 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh9moTx1EeWiQ_wtFd6fGQ" y="10"/>
1516 </children>
1517 <children xmi:type="notation:Node" xmi:id="_bh9mojx1EeWiQ_wtFd6fGQ" type="6003">
1518 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh9mozx1EeWiQ_wtFd6fGQ" y="10"/>
1519 </children>
1520 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bh8_kTx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1521 <styles xmi:type="notation:FontStyle" xmi:id="_bh8_kjx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1522 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bh8_kzx1EeWiQ_wtFd6fGQ" points="[0, 0, -2021, 60]$[2021, -60, 0, 0]"/>
1523 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh9mpDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1524 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh9mpTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1525 </edges>
1526 <edges xmi:type="notation:Edge" xmi:id="_bh-NsDx1EeWiQ_wtFd6fGQ" type="4001" element="_bec_oDx1EeWiQ_wtFd6fGQ" source="_bfjL0zx1EeWiQ_wtFd6fGQ" target="_bfeTUzx1EeWiQ_wtFd6fGQ">
1527 <children xmi:type="notation:Node" xmi:id="_bh-NtDx1EeWiQ_wtFd6fGQ" type="6001">
1528 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh-NtTx1EeWiQ_wtFd6fGQ" y="-10"/>
1529 </children>
1530 <children xmi:type="notation:Node" xmi:id="_bh-Ntjx1EeWiQ_wtFd6fGQ" type="6002">
1531 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh-Ntzx1EeWiQ_wtFd6fGQ" y="10"/>
1532 </children>
1533 <children xmi:type="notation:Node" xmi:id="_bh-NuDx1EeWiQ_wtFd6fGQ" type="6003">
1534 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh-NuTx1EeWiQ_wtFd6fGQ" y="10"/>
1535 </children>
1536 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bh-NsTx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1537 <styles xmi:type="notation:FontStyle" xmi:id="_bh-Nsjx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1538 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bh-Nszx1EeWiQ_wtFd6fGQ" points="[0, 0, -181, 60]$[181, -60, 0, 0]"/>
1539 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh-0wDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1540 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bh-0wTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1541 </edges>
1542 <edges xmi:type="notation:Edge" xmi:id="_bh-0wjx1EeWiQ_wtFd6fGQ" type="4001" element="_beeNwDx1EeWiQ_wtFd6fGQ" source="_bfkZ8Dx1EeWiQ_wtFd6fGQ" target="_bfeTUzx1EeWiQ_wtFd6fGQ">
1543 <children xmi:type="notation:Node" xmi:id="_bh_b0Dx1EeWiQ_wtFd6fGQ" type="6001">
1544 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh_b0Tx1EeWiQ_wtFd6fGQ" y="-10"/>
1545 </children>
1546 <children xmi:type="notation:Node" xmi:id="_bh_b0jx1EeWiQ_wtFd6fGQ" type="6002">
1547 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh_b0zx1EeWiQ_wtFd6fGQ" y="10"/>
1548 </children>
1549 <children xmi:type="notation:Node" xmi:id="_bh_b1Dx1EeWiQ_wtFd6fGQ" type="6003">
1550 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh_b1Tx1EeWiQ_wtFd6fGQ" y="10"/>
1551 </children>
1552 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bh-0wzx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1553 <styles xmi:type="notation:FontStyle" xmi:id="_bh-0xDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1554 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bh-0xTx1EeWiQ_wtFd6fGQ" points="[0, 0, -362, 60]$[362, -60, 0, 0]"/>
1555 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biAC4Dx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1556 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biAC4Tx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1557 </edges>
1558 <edges xmi:type="notation:Edge" xmi:id="_biAC4jx1EeWiQ_wtFd6fGQ" type="4001" element="_beifMDx1EeWiQ_wtFd6fGQ" source="_bfm2Mjx1EeWiQ_wtFd6fGQ" target="_bfeTUzx1EeWiQ_wtFd6fGQ">
1559 <children xmi:type="notation:Node" xmi:id="_biAp8Dx1EeWiQ_wtFd6fGQ" type="6001">
1560 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biAp8Tx1EeWiQ_wtFd6fGQ" y="-10"/>
1561 </children>
1562 <children xmi:type="notation:Node" xmi:id="_biAp8jx1EeWiQ_wtFd6fGQ" type="6002">
1563 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biAp8zx1EeWiQ_wtFd6fGQ" y="10"/>
1564 </children>
1565 <children xmi:type="notation:Node" xmi:id="_biBRADx1EeWiQ_wtFd6fGQ" type="6003">
1566 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biBRATx1EeWiQ_wtFd6fGQ" y="10"/>
1567 </children>
1568 <styles xmi:type="notation:ConnectorStyle" xmi:id="_biAC4zx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1569 <styles xmi:type="notation:FontStyle" xmi:id="_biAC5Dx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1570 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_biAC5Tx1EeWiQ_wtFd6fGQ" points="[0, 0, 542, 60]$[-542, -60, 0, 0]"/>
1571 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biBRAjx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1572 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biBRAzx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1573 </edges>
1574 <edges xmi:type="notation:Edge" xmi:id="_biB4EDx1EeWiQ_wtFd6fGQ" type="4001" element="_bejtUDx1EeWiQ_wtFd6fGQ" source="_bfoEUDx1EeWiQ_wtFd6fGQ" target="_bfeTUzx1EeWiQ_wtFd6fGQ">
1575 <children xmi:type="notation:Node" xmi:id="_biB4FDx1EeWiQ_wtFd6fGQ" type="6001">
1576 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biB4FTx1EeWiQ_wtFd6fGQ" y="-10"/>
1577 </children>
1578 <children xmi:type="notation:Node" xmi:id="_biB4Fjx1EeWiQ_wtFd6fGQ" type="6002">
1579 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biB4Fzx1EeWiQ_wtFd6fGQ" y="10"/>
1580 </children>
1581 <children xmi:type="notation:Node" xmi:id="_biCfIDx1EeWiQ_wtFd6fGQ" type="6003">
1582 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biCfITx1EeWiQ_wtFd6fGQ" y="10"/>
1583 </children>
1584 <styles xmi:type="notation:ConnectorStyle" xmi:id="_biB4ETx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1585 <styles xmi:type="notation:FontStyle" xmi:id="_biB4Ejx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1586 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_biB4Ezx1EeWiQ_wtFd6fGQ" points="[0, 0, 180, 60]$[-180, -60, 0, 0]"/>
1587 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biCfIjx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1588 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biCfIzx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1589 </edges>
1590 <edges xmi:type="notation:Edge" xmi:id="_biDGMDx1EeWiQ_wtFd6fGQ" type="4001" element="_bekUYDx1EeWiQ_wtFd6fGQ" source="_bforYDx1EeWiQ_wtFd6fGQ" target="_bfeTUzx1EeWiQ_wtFd6fGQ">
1591 <children xmi:type="notation:Node" xmi:id="_biDGNDx1EeWiQ_wtFd6fGQ" type="6001">
1592 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biDGNTx1EeWiQ_wtFd6fGQ" y="-10"/>
1593 </children>
1594 <children xmi:type="notation:Node" xmi:id="_biDGNjx1EeWiQ_wtFd6fGQ" type="6002">
1595 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biDGNzx1EeWiQ_wtFd6fGQ" y="10"/>
1596 </children>
1597 <children xmi:type="notation:Node" xmi:id="_biDtQDx1EeWiQ_wtFd6fGQ" type="6003">
1598 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biDtQTx1EeWiQ_wtFd6fGQ" y="10"/>
1599 </children>
1600 <styles xmi:type="notation:ConnectorStyle" xmi:id="_biDGMTx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1601 <styles xmi:type="notation:FontStyle" xmi:id="_biDGMjx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1602 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_biDGMzx1EeWiQ_wtFd6fGQ" points="[0, 0, 904, 60]$[-904, -60, 0, 0]"/>
1603 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biDtQjx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1604 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biDtQzx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1605 </edges>
1606 <edges xmi:type="notation:Edge" xmi:id="_biDtRDx1EeWiQ_wtFd6fGQ" type="4001" element="_bek7cDx1EeWiQ_wtFd6fGQ" source="_bfpSdDx1EeWiQ_wtFd6fGQ" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
1607 <children xmi:type="notation:Node" xmi:id="_biEUUDx1EeWiQ_wtFd6fGQ" type="6001">
1608 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biEUUTx1EeWiQ_wtFd6fGQ" y="-10"/>
1609 </children>
1610 <children xmi:type="notation:Node" xmi:id="_biEUUjx1EeWiQ_wtFd6fGQ" type="6002">
1611 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biEUUzx1EeWiQ_wtFd6fGQ" y="10"/>
1612 </children>
1613 <children xmi:type="notation:Node" xmi:id="_biEUVDx1EeWiQ_wtFd6fGQ" type="6003">
1614 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biEUVTx1EeWiQ_wtFd6fGQ" y="10"/>
1615 </children>
1616 <styles xmi:type="notation:ConnectorStyle" xmi:id="_biDtRTx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1617 <styles xmi:type="notation:FontStyle" xmi:id="_biDtRjx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1618 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_biDtRzx1EeWiQ_wtFd6fGQ" points="[0, 0, -2199, 60]$[2199, -60, 0, 0]"/>
1619 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biE7YDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1620 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biE7YTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1621 </edges>
1622 <edges xmi:type="notation:Edge" xmi:id="_biE7Yjx1EeWiQ_wtFd6fGQ" type="4001" element="_bemJkDx1EeWiQ_wtFd6fGQ" source="_bfrHoDx1EeWiQ_wtFd6fGQ" target="_bfpSdDx1EeWiQ_wtFd6fGQ">
1623 <children xmi:type="notation:Node" xmi:id="_biFicDx1EeWiQ_wtFd6fGQ" type="6001">
1624 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biFicTx1EeWiQ_wtFd6fGQ" y="-10"/>
1625 </children>
1626 <children xmi:type="notation:Node" xmi:id="_biFicjx1EeWiQ_wtFd6fGQ" type="6002">
1627 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biFiczx1EeWiQ_wtFd6fGQ" y="10"/>
1628 </children>
1629 <children xmi:type="notation:Node" xmi:id="_biFidDx1EeWiQ_wtFd6fGQ" type="6003">
1630 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biFidTx1EeWiQ_wtFd6fGQ" y="10"/>
1631 </children>
1632 <styles xmi:type="notation:ConnectorStyle" xmi:id="_biE7Yzx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1633 <styles xmi:type="notation:FontStyle" xmi:id="_biE7ZDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1634 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_biE7ZTx1EeWiQ_wtFd6fGQ" points="[0, 0, -180, 60]$[180, -60, 0, 0]"/>
1635 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biGJgDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1636 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biGJgTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1637 </edges>
1638 <edges xmi:type="notation:Edge" xmi:id="_biGJgjx1EeWiQ_wtFd6fGQ" type="4001" element="_bemwoDx1EeWiQ_wtFd6fGQ" source="_bfuK8Dx1EeWiQ_wtFd6fGQ" target="_bfpSdDx1EeWiQ_wtFd6fGQ">
1639 <children xmi:type="notation:Node" xmi:id="_biGwkDx1EeWiQ_wtFd6fGQ" type="6001">
1640 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biGwkTx1EeWiQ_wtFd6fGQ" y="-10"/>
1641 </children>
1642 <children xmi:type="notation:Node" xmi:id="_biGwkjx1EeWiQ_wtFd6fGQ" type="6002">
1643 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biGwkzx1EeWiQ_wtFd6fGQ" y="10"/>
1644 </children>
1645 <children xmi:type="notation:Node" xmi:id="_biGwlDx1EeWiQ_wtFd6fGQ" type="6003">
1646 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biGwlTx1EeWiQ_wtFd6fGQ" y="10"/>
1647 </children>
1648 <styles xmi:type="notation:ConnectorStyle" xmi:id="_biGJgzx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1649 <styles xmi:type="notation:FontStyle" xmi:id="_biGJhDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1650 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_biGJhTx1EeWiQ_wtFd6fGQ" points="[0, 0, -720, 60]$[720, -60, 0, 0]"/>
1651 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biHXoDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1652 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biHXoTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1653 </edges>
1654 <edges xmi:type="notation:Edge" xmi:id="_biHXojx1EeWiQ_wtFd6fGQ" type="4001" element="_ben-wDx1EeWiQ_wtFd6fGQ" source="_bfwAIzx1EeWiQ_wtFd6fGQ" target="_bfpSdDx1EeWiQ_wtFd6fGQ">
1655 <children xmi:type="notation:Node" xmi:id="_biH-sDx1EeWiQ_wtFd6fGQ" type="6001">
1656 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biH-sTx1EeWiQ_wtFd6fGQ" y="-10"/>
1657 </children>
1658 <children xmi:type="notation:Node" xmi:id="_biH-sjx1EeWiQ_wtFd6fGQ" type="6002">
1659 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biH-szx1EeWiQ_wtFd6fGQ" y="10"/>
1660 </children>
1661 <children xmi:type="notation:Node" xmi:id="_biH-tDx1EeWiQ_wtFd6fGQ" type="6003">
1662 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biH-tTx1EeWiQ_wtFd6fGQ" y="10"/>
1663 </children>
1664 <styles xmi:type="notation:ConnectorStyle" xmi:id="_biHXozx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1665 <styles xmi:type="notation:FontStyle" xmi:id="_biHXpDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1666 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_biHXpTx1EeWiQ_wtFd6fGQ" points="[0, 0, -360, 60]$[360, -60, 0, 0]"/>
1667 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biIlwDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1668 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biIlwTx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1669 </edges>
1670 <edges xmi:type="notation:Edge" xmi:id="_biIlwjx1EeWiQ_wtFd6fGQ" type="4001" element="_bepM4Dx1EeWiQ_wtFd6fGQ" source="_bfxOQDx1EeWiQ_wtFd6fGQ" target="_bfpSdDx1EeWiQ_wtFd6fGQ">
1671 <children xmi:type="notation:Node" xmi:id="_biJM0Dx1EeWiQ_wtFd6fGQ" type="6001">
1672 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biJM0Tx1EeWiQ_wtFd6fGQ" y="-10"/>
1673 </children>
1674 <children xmi:type="notation:Node" xmi:id="_biJM0jx1EeWiQ_wtFd6fGQ" type="6002">
1675 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biJM0zx1EeWiQ_wtFd6fGQ" y="10"/>
1676 </children>
1677 <children xmi:type="notation:Node" xmi:id="_biJM1Dx1EeWiQ_wtFd6fGQ" type="6003">
1678 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biJM1Tx1EeWiQ_wtFd6fGQ" y="10"/>
1679 </children>
1680 <styles xmi:type="notation:ConnectorStyle" xmi:id="_biIlwzx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1681 <styles xmi:type="notation:FontStyle" xmi:id="_biIlxDx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1682 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_biIlxTx1EeWiQ_wtFd6fGQ" points="[0, 0, -540, 60]$[540, -60, 0, 0]"/>
1683 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biJz4Dx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1684 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biJz4Tx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1685 </edges>
1686 <edges xmi:type="notation:Edge" xmi:id="_biJz4jx1EeWiQ_wtFd6fGQ" type="4001" element="_bepz8Dx1EeWiQ_wtFd6fGQ" source="_bfx1VDx1EeWiQ_wtFd6fGQ" target="_bfpSdDx1EeWiQ_wtFd6fGQ">
1687 <children xmi:type="notation:Node" xmi:id="_biKa8Dx1EeWiQ_wtFd6fGQ" type="6001">
1688 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biKa8Tx1EeWiQ_wtFd6fGQ" y="-10"/>
1689 </children>
1690 <children xmi:type="notation:Node" xmi:id="_biKa8jx1EeWiQ_wtFd6fGQ" type="6002">
1691 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biKa8zx1EeWiQ_wtFd6fGQ" y="10"/>
1692 </children>
1693 <children xmi:type="notation:Node" xmi:id="_biKa9Dx1EeWiQ_wtFd6fGQ" type="6003">
1694 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biKa9Tx1EeWiQ_wtFd6fGQ" y="10"/>
1695 </children>
1696 <styles xmi:type="notation:ConnectorStyle" xmi:id="_biJz4zx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1697 <styles xmi:type="notation:FontStyle" xmi:id="_biJz5Dx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1698 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_biJz5Tx1EeWiQ_wtFd6fGQ" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
1699 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biKa9jx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1700 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biKa9zx1EeWiQ_wtFd6fGQ" id="(0.5,1.0)"/>
1701 </edges>
1702 <edges xmi:type="notation:Edge" xmi:id="_biLCADx1EeWiQ_wtFd6fGQ" type="4001" element="_berCEDx1EeWiQ_wtFd6fGQ" source="_bf1ftDx1EeWiQ_wtFd6fGQ" target="_bfObtDx1EeWiQ_wtFd6fGQ">
1703 <children xmi:type="notation:Node" xmi:id="_biLCBDx1EeWiQ_wtFd6fGQ" type="6001">
1704 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biLCBTx1EeWiQ_wtFd6fGQ" y="-10"/>
1705 </children>
1706 <children xmi:type="notation:Node" xmi:id="_biLpEDx1EeWiQ_wtFd6fGQ" type="6002">
1707 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biLpETx1EeWiQ_wtFd6fGQ" y="10"/>
1708 </children>
1709 <children xmi:type="notation:Node" xmi:id="_biLpEjx1EeWiQ_wtFd6fGQ" type="6003">
1710 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biLpEzx1EeWiQ_wtFd6fGQ" y="10"/>
1711 </children>
1712 <styles xmi:type="notation:ConnectorStyle" xmi:id="_biLCATx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1713 <styles xmi:type="notation:FontStyle" xmi:id="_biLCAjx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1714 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_biLCAzx1EeWiQ_wtFd6fGQ" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
1715 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biLpFDx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1716 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biLpFTx1EeWiQ_wtFd6fGQ" id="(0.49586776859504134,1.0)"/>
1717 </edges>
1718 <edges xmi:type="notation:Edge" xmi:id="_biMQIDx1EeWiQ_wtFd6fGQ" type="4001" element="_berpIDx1EeWiQ_wtFd6fGQ" source="_bf2t0Dx1EeWiQ_wtFd6fGQ" target="_bfObtDx1EeWiQ_wtFd6fGQ">
1719 <children xmi:type="notation:Node" xmi:id="_biMQJDx1EeWiQ_wtFd6fGQ" type="6001">
1720 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biMQJTx1EeWiQ_wtFd6fGQ" y="-10"/>
1721 </children>
1722 <children xmi:type="notation:Node" xmi:id="_biMQJjx1EeWiQ_wtFd6fGQ" type="6002">
1723 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biMQJzx1EeWiQ_wtFd6fGQ" y="10"/>
1724 </children>
1725 <children xmi:type="notation:Node" xmi:id="_biM3MDx1EeWiQ_wtFd6fGQ" type="6003">
1726 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biM3MTx1EeWiQ_wtFd6fGQ" y="10"/>
1727 </children>
1728 <styles xmi:type="notation:ConnectorStyle" xmi:id="_biMQITx1EeWiQ_wtFd6fGQ" routing="Tree"/>
1729 <styles xmi:type="notation:FontStyle" xmi:id="_biMQIjx1EeWiQ_wtFd6fGQ" fontName="Segoe UI" fontHeight="8"/>
1730 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_biMQIzx1EeWiQ_wtFd6fGQ" points="[-1, 0, -281, 102]$[-1, -1, -281, 101]$[281, -1, 1, 101]$[281, -102, 1, 0]"/>
1731 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biM3Mjx1EeWiQ_wtFd6fGQ" id="(0.5,0.0)"/>
1732 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biM3Mzx1EeWiQ_wtFd6fGQ" id="(0.49586776859504134,1.0)"/>
1733 </edges>
1734 <edges xmi:type="notation:Edge" xmi:id="_0-Gm4GBxEeWUrY3nJWVIeg" type="4001" element="_08lj8GBxEeWUrY3nJWVIeg" source="_wfBzgGBxEeWUrY3nJWVIeg" target="_bf2t0Dx1EeWiQ_wtFd6fGQ">
1735 <children xmi:type="notation:Node" xmi:id="_0-IcEGBxEeWUrY3nJWVIeg" type="6001">
1736 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-IcEWBxEeWUrY3nJWVIeg" y="-10"/>
1737 </children>
1738 <children xmi:type="notation:Node" xmi:id="_0-JqMGBxEeWUrY3nJWVIeg" type="6002">
1739 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-JqMWBxEeWUrY3nJWVIeg" y="10"/>
1740 </children>
1741 <children xmi:type="notation:Node" xmi:id="_0-K4UGBxEeWUrY3nJWVIeg" type="6003">
1742 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-K4UWBxEeWUrY3nJWVIeg" y="10"/>
1743 </children>
1744 <styles xmi:type="notation:ConnectorStyle" xmi:id="_0-Gm4WBxEeWUrY3nJWVIeg" routing="Tree"/>
1745 <styles xmi:type="notation:FontStyle" xmi:id="_0-Gm4mBxEeWUrY3nJWVIeg" fontName="Segoe UI" fontHeight="8"/>
1746 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0-Gm42BxEeWUrY3nJWVIeg" points="[-1, 0, -187, 174]$[-1, -97, -187, 77]$[187, -97, 1, 77]$[187, -174, 1, 0]"/>
1747 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0-LfYGBxEeWUrY3nJWVIeg" id="(0.5,0.0)"/>
1748 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0-LfYWBxEeWUrY3nJWVIeg" id="(0.5,1.0)"/>
1749 </edges>
1750 <edges xmi:type="notation:Edge" xmi:id="_3k5qAGBxEeWUrY3nJWVIeg" type="4001" element="_3jn3oGBxEeWUrY3nJWVIeg" source="_wfBzgGBxEeWUrY3nJWVIeg" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
1751 <children xmi:type="notation:Node" xmi:id="_3k6REGBxEeWUrY3nJWVIeg" type="6001">
1752 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3k6REWBxEeWUrY3nJWVIeg" y="-10"/>
1753 </children>
1754 <children xmi:type="notation:Node" xmi:id="_3k6REmBxEeWUrY3nJWVIeg" type="6002">
1755 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3k6RE2BxEeWUrY3nJWVIeg" y="10"/>
1756 </children>
1757 <children xmi:type="notation:Node" xmi:id="_3k6RFGBxEeWUrY3nJWVIeg" type="6003">
1758 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3k6RFWBxEeWUrY3nJWVIeg" y="10"/>
1759 </children>
1760 <styles xmi:type="notation:ConnectorStyle" xmi:id="_3k5qAWBxEeWUrY3nJWVIeg" routing="Rectilinear"/>
1761 <styles xmi:type="notation:FontStyle" xmi:id="_3k5qAmBxEeWUrY3nJWVIeg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1762 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3k5qA2BxEeWUrY3nJWVIeg" points="[0, 0, 3819, 989]$[0, -318, 3819, 671]$[-675, -318, 3144, 671]$[-675, -673, 3144, 316]$[-3819, -673, 0, 316]$[-3819, -989, 0, 0]"/>
1763 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3k6RFmBxEeWUrY3nJWVIeg" id="(0.5,0.0)"/>
1764 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3k6RF2BxEeWUrY3nJWVIeg" id="(0.5,1.0)"/>
1765 </edges>
1766 <edges xmi:type="notation:Edge" xmi:id="_y4xcoGByEeWUrY3nJWVIeg" type="4001" element="_y4FgIGByEeWUrY3nJWVIeg" source="_JNtTwGByEeWUrY3nJWVIeg" target="_bfVwcDx1EeWiQ_wtFd6fGQ">
1767 <children xmi:type="notation:Node" xmi:id="_y4xcpGByEeWUrY3nJWVIeg" type="6001">
1768 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y4xcpWByEeWUrY3nJWVIeg" y="-10"/>
1769 </children>
1770 <children xmi:type="notation:Node" xmi:id="_y4xcpmByEeWUrY3nJWVIeg" type="6002">
1771 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y4xcp2ByEeWUrY3nJWVIeg" y="10"/>
1772 </children>
1773 <children xmi:type="notation:Node" xmi:id="_y4yDsGByEeWUrY3nJWVIeg" type="6003">
1774 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y4yDsWByEeWUrY3nJWVIeg" y="10"/>
1775 </children>
1776 <styles xmi:type="notation:ConnectorStyle" xmi:id="_y4xcoWByEeWUrY3nJWVIeg" routing="Rectilinear"/>
1777 <styles xmi:type="notation:FontStyle" xmi:id="_y4xcomByEeWUrY3nJWVIeg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1778 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_y4xco2ByEeWUrY3nJWVIeg" points="[0, -5, -117, -208]$[0, -114, -117, -317]$[117, -114, 0, -317]$[117, 105, 0, -98]"/>
1779 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y4yDsmByEeWUrY3nJWVIeg" id="(0.5,0.0)"/>
1780 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y4yDs2ByEeWUrY3nJWVIeg" id="(0.5,1.0)"/>
1781 </edges>
1782 <edges xmi:type="notation:Edge" xmi:id="_vtgvoGB0EeWUrY3nJWVIeg" type="4001" element="_vtC1kGB0EeWUrY3nJWVIeg" source="_JNtTwGByEeWUrY3nJWVIeg" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
1783 <children xmi:type="notation:Node" xmi:id="_vthWsGB0EeWUrY3nJWVIeg" type="6001">
1784 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vthWsWB0EeWUrY3nJWVIeg" y="-10"/>
1785 </children>
1786 <children xmi:type="notation:Node" xmi:id="_vthWsmB0EeWUrY3nJWVIeg" type="6002">
1787 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vthWs2B0EeWUrY3nJWVIeg" y="10"/>
1788 </children>
1789 <children xmi:type="notation:Node" xmi:id="_vthWtGB0EeWUrY3nJWVIeg" type="6003">
1790 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vthWtWB0EeWUrY3nJWVIeg" y="10"/>
1791 </children>
1792 <styles xmi:type="notation:ConnectorStyle" xmi:id="_vtgvoWB0EeWUrY3nJWVIeg" routing="Rectilinear"/>
1793 <styles xmi:type="notation:FontStyle" xmi:id="_vtgvomB0EeWUrY3nJWVIeg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1794 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vtgvo2B0EeWUrY3nJWVIeg" points="[0, -5, 4341, 1052]$[0, -374, 4341, 683]$[-1018, -374, 3323, 683]$[-1018, -735, 3323, 322]$[-4341, -735, 0, 322]$[-4341, -1057, 0, 0]"/>
1795 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vthWtmB0EeWUrY3nJWVIeg" id="(0.5,0.0)"/>
1796 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vthWt2B0EeWUrY3nJWVIeg" id="(0.5,1.0)"/>
1797 </edges>
1798 <edges xmi:type="notation:Edge" xmi:id="_9yaNwGB0EeWUrY3nJWVIeg" type="4001" element="_9x_-EGB0EeWUrY3nJWVIeg" source="_7SX58GB0EeWUrY3nJWVIeg" target="_bfMmhDx1EeWiQ_wtFd6fGQ">
1799 <children xmi:type="notation:Node" xmi:id="_9yaNxGB0EeWUrY3nJWVIeg" type="6001">
1800 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9yaNxWB0EeWUrY3nJWVIeg" y="-10"/>
1801 </children>
1802 <children xmi:type="notation:Node" xmi:id="_9yaNxmB0EeWUrY3nJWVIeg" type="6002">
1803 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9yaNx2B0EeWUrY3nJWVIeg" y="10"/>
1804 </children>
1805 <children xmi:type="notation:Node" xmi:id="_9yaNyGB0EeWUrY3nJWVIeg" type="6003">
1806 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9yaNyWB0EeWUrY3nJWVIeg" y="10"/>
1807 </children>
1808 <styles xmi:type="notation:ConnectorStyle" xmi:id="_9yaNwWB0EeWUrY3nJWVIeg" routing="Tree"/>
1809 <styles xmi:type="notation:FontStyle" xmi:id="_9yaNwmB0EeWUrY3nJWVIeg" fontName="Segoe UI" fontHeight="8"/>
1810 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9yaNw2B0EeWUrY3nJWVIeg" points="[0, 0, -176, 60]$[176, -60, 0, 0]"/>
1811 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9yaNymB0EeWUrY3nJWVIeg" id="(0.49586776859504134,0.0)"/>
1812 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9yaNy2B0EeWUrY3nJWVIeg" id="(0.5,1.0)"/>
1813 </edges>
1814 <edges xmi:type="notation:Edge" xmi:id="_CHbtQGB1EeWUrY3nJWVIeg" type="4001" element="_CHDSwGB1EeWUrY3nJWVIeg" source="_7SX58GB0EeWUrY3nJWVIeg" target="_bfVwcDx1EeWiQ_wtFd6fGQ">
1815 <children xmi:type="notation:Node" xmi:id="_CHbtRGB1EeWUrY3nJWVIeg" type="6001">
1816 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CHbtRWB1EeWUrY3nJWVIeg" y="-10"/>
1817 </children>
1818 <children xmi:type="notation:Node" xmi:id="_CHbtRmB1EeWUrY3nJWVIeg" type="6002">
1819 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CHbtR2B1EeWUrY3nJWVIeg" y="10"/>
1820 </children>
1821 <children xmi:type="notation:Node" xmi:id="_CHbtSGB1EeWUrY3nJWVIeg" type="6003">
1822 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CHbtSWB1EeWUrY3nJWVIeg" y="10"/>
1823 </children>
1824 <styles xmi:type="notation:ConnectorStyle" xmi:id="_CHbtQWB1EeWUrY3nJWVIeg" routing="Rectilinear"/>
1825 <styles xmi:type="notation:FontStyle" xmi:id="_CHbtQmB1EeWUrY3nJWVIeg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1826 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CHbtQ2B1EeWUrY3nJWVIeg" points="[221, 90, 343, -93]$[39, 90, 161, -93]$[39, 92, 161, -91]$[-63, 92, 59, -91]"/>
1827 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CHbtSmB1EeWUrY3nJWVIeg" id="(0.49586776859504134,0.0)"/>
1828 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CHbtS2B1EeWUrY3nJWVIeg" id="(0.5,1.0)"/>
1829 </edges>
1830 <edges xmi:type="notation:Edge" xmi:id="_Nuid0GB2EeWUrY3nJWVIeg" type="4001" element="_NuL4gGB2EeWUrY3nJWVIeg" source="_LmGKoGB2EeWUrY3nJWVIeg" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
1831 <children xmi:type="notation:Node" xmi:id="_NujE4GB2EeWUrY3nJWVIeg" type="6001">
1832 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NujE4WB2EeWUrY3nJWVIeg" y="-10"/>
1833 </children>
1834 <children xmi:type="notation:Node" xmi:id="_NujE4mB2EeWUrY3nJWVIeg" type="6002">
1835 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NujE42B2EeWUrY3nJWVIeg" y="10"/>
1836 </children>
1837 <children xmi:type="notation:Node" xmi:id="_NujE5GB2EeWUrY3nJWVIeg" type="6003">
1838 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NujE5WB2EeWUrY3nJWVIeg" y="10"/>
1839 </children>
1840 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Nuid0WB2EeWUrY3nJWVIeg" routing="Rectilinear"/>
1841 <styles xmi:type="notation:FontStyle" xmi:id="_Nuid0mB2EeWUrY3nJWVIeg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1842 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Nuid02B2EeWUrY3nJWVIeg" points="[0, 0, -2379, 60]$[2379, -60, 0, 0]"/>
1843 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NujE5mB2EeWUrY3nJWVIeg" id="(0.5,0.0)"/>
1844 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NujE52B2EeWUrY3nJWVIeg" id="(0.5,1.0)"/>
1845 </edges>
1846 <edges xmi:type="notation:Edge" xmi:id="_RGa_oGB2EeWUrY3nJWVIeg" type="4001" element="_RF40IGB2EeWUrY3nJWVIeg" source="_LmGKoGB2EeWUrY3nJWVIeg" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
1847 <children xmi:type="notation:Node" xmi:id="_RGbmsGB2EeWUrY3nJWVIeg" type="6001">
1848 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RGbmsWB2EeWUrY3nJWVIeg" y="-10"/>
1849 </children>
1850 <children xmi:type="notation:Node" xmi:id="_RGbmsmB2EeWUrY3nJWVIeg" type="6002">
1851 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RGbms2B2EeWUrY3nJWVIeg" y="10"/>
1852 </children>
1853 <children xmi:type="notation:Node" xmi:id="_RGbmtGB2EeWUrY3nJWVIeg" type="6003">
1854 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RGbmtWB2EeWUrY3nJWVIeg" y="10"/>
1855 </children>
1856 <styles xmi:type="notation:ConnectorStyle" xmi:id="_RGa_oWB2EeWUrY3nJWVIeg" routing="Tree"/>
1857 <styles xmi:type="notation:FontStyle" xmi:id="_RGa_omB2EeWUrY3nJWVIeg" fontName="Segoe UI" fontHeight="8"/>
1858 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RGa_o2B2EeWUrY3nJWVIeg" points="[0, 0, -2379, 60]$[2379, -60, 0, 0]"/>
1859 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RGbmtmB2EeWUrY3nJWVIeg" id="(0.5,0.0)"/>
1860 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RGbmt2B2EeWUrY3nJWVIeg" id="(0.5,1.0)"/>
1861 </edges>
1862 <edges xmi:type="notation:Edge" xmi:id="_SFEZMGB2EeWUrY3nJWVIeg" type="4001" element="_SEkp8GB2EeWUrY3nJWVIeg" source="_LmGKoGB2EeWUrY3nJWVIeg" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
1863 <children xmi:type="notation:Node" xmi:id="_SFEZNGB2EeWUrY3nJWVIeg" type="6001">
1864 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SFEZNWB2EeWUrY3nJWVIeg" y="-10"/>
1865 </children>
1866 <children xmi:type="notation:Node" xmi:id="_SFEZNmB2EeWUrY3nJWVIeg" type="6002">
1867 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SFEZN2B2EeWUrY3nJWVIeg" y="10"/>
1868 </children>
1869 <children xmi:type="notation:Node" xmi:id="_SFFAQGB2EeWUrY3nJWVIeg" type="6003">
1870 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SFFAQWB2EeWUrY3nJWVIeg" y="10"/>
1871 </children>
1872 <styles xmi:type="notation:ConnectorStyle" xmi:id="_SFEZMWB2EeWUrY3nJWVIeg" routing="Rectilinear"/>
1873 <styles xmi:type="notation:FontStyle" xmi:id="_SFEZMmB2EeWUrY3nJWVIeg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1874 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SFEZM2B2EeWUrY3nJWVIeg" points="[0, 0, -2379, 60]$[2379, -60, 0, 0]"/>
1875 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SFFAQmB2EeWUrY3nJWVIeg" id="(0.5,0.0)"/>
1876 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SFFAQ2B2EeWUrY3nJWVIeg" id="(0.5,1.0)"/>
1877 </edges>
1878 <edges xmi:type="notation:Edge" xmi:id="_UsPPwGB2EeWUrY3nJWVIeg" type="4001" element="_UrvggGB2EeWUrY3nJWVIeg" source="_LmGKoGB2EeWUrY3nJWVIeg" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
1879 <children xmi:type="notation:Node" xmi:id="_UsP20GB2EeWUrY3nJWVIeg" type="6001">
1880 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UsP20WB2EeWUrY3nJWVIeg" y="-10"/>
1881 </children>
1882 <children xmi:type="notation:Node" xmi:id="_UsQd4GB2EeWUrY3nJWVIeg" type="6002">
1883 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UsQd4WB2EeWUrY3nJWVIeg" y="10"/>
1884 </children>
1885 <children xmi:type="notation:Node" xmi:id="_UsRE8GB2EeWUrY3nJWVIeg" type="6003">
1886 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UsRE8WB2EeWUrY3nJWVIeg" y="10"/>
1887 </children>
1888 <styles xmi:type="notation:ConnectorStyle" xmi:id="_UsPPwWB2EeWUrY3nJWVIeg" routing="Rectilinear"/>
1889 <styles xmi:type="notation:FontStyle" xmi:id="_UsPPwmB2EeWUrY3nJWVIeg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1890 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UsPPw2B2EeWUrY3nJWVIeg" points="[0, 0, -2379, 60]$[2379, -60, 0, 0]"/>
1891 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UsRE8mB2EeWUrY3nJWVIeg" id="(0.5,0.0)"/>
1892 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UsRE82B2EeWUrY3nJWVIeg" id="(0.5,1.0)"/>
1893 </edges>
1894 <edges xmi:type="notation:Edge" xmi:id="_Hk6noGL8EeW2rMch79jPxg" type="4001" element="_Hjg5cGL8EeW2rMch79jPxg" source="_Erh_sGL8EeW2rMch79jPxg" target="_bf2t0Dx1EeWiQ_wtFd6fGQ">
1895 <children xmi:type="notation:Node" xmi:id="_Hk8c0GL8EeW2rMch79jPxg" type="6001">
1896 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Hk8c0WL8EeW2rMch79jPxg" y="-10"/>
1897 </children>
1898 <children xmi:type="notation:Node" xmi:id="_Hk9q8GL8EeW2rMch79jPxg" type="6002">
1899 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Hk9q8WL8EeW2rMch79jPxg" y="10"/>
1900 </children>
1901 <children xmi:type="notation:Node" xmi:id="_Hk-SAGL8EeW2rMch79jPxg" type="6003">
1902 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Hk-SAWL8EeW2rMch79jPxg" y="10"/>
1903 </children>
1904 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Hk6noWL8EeW2rMch79jPxg" routing="Tree"/>
1905 <styles xmi:type="notation:FontStyle" xmi:id="_Hk6nomL8EeW2rMch79jPxg" fontName="Segoe UI" fontHeight="8"/>
1906 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Hk6no2L8EeW2rMch79jPxg" points="[0, 0, 87, 229]$[-87, -229, 0, 0]"/>
1907 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Hk_gIGL8EeW2rMch79jPxg" id="(0.5,0.0)"/>
1908 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Hk_gIWL8EeW2rMch79jPxg" id="(0.5,1.0)"/>
1909 </edges>
1910 <edges xmi:type="notation:Edge" xmi:id="_JjSY0GL8EeW2rMch79jPxg" type="4001" element="_Jh4qoGL8EeW2rMch79jPxg" source="_wfBzgGBxEeWUrY3nJWVIeg" target="_Erh_sGL8EeW2rMch79jPxg">
1911 <children xmi:type="notation:Node" xmi:id="_JjS_4GL8EeW2rMch79jPxg" type="6001">
1912 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JjS_4WL8EeW2rMch79jPxg" y="-10"/>
1913 </children>
1914 <children xmi:type="notation:Node" xmi:id="_JjS_4mL8EeW2rMch79jPxg" type="6002">
1915 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JjS_42L8EeW2rMch79jPxg" y="10"/>
1916 </children>
1917 <children xmi:type="notation:Node" xmi:id="_JjS_5GL8EeW2rMch79jPxg" type="6003">
1918 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JjS_5WL8EeW2rMch79jPxg" y="10"/>
1919 </children>
1920 <styles xmi:type="notation:ConnectorStyle" xmi:id="_JjSY0WL8EeW2rMch79jPxg" routing="Rectilinear"/>
1921 <styles xmi:type="notation:FontStyle" xmi:id="_JjSY0mL8EeW2rMch79jPxg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1922 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JjSY02L8EeW2rMch79jPxg" points="[0, 0, -129, -7]$[129, 7, 0, 0]"/>
1923 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JjTm8GL8EeW2rMch79jPxg" id="(1.0,0.33)"/>
1924 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JjTm8WL8EeW2rMch79jPxg" id="(0.0,0.38)"/>
1925 </edges>
1926 <edges xmi:type="notation:Edge" xmi:id="_OZtVMGL8EeW2rMch79jPxg" type="4001" element="_OYoXIGL8EeW2rMch79jPxg" source="_MVy8sGL8EeW2rMch79jPxg" target="_bf1ftDx1EeWiQ_wtFd6fGQ">
1927 <children xmi:type="notation:Node" xmi:id="_OZt8QGL8EeW2rMch79jPxg" type="6001">
1928 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OZt8QWL8EeW2rMch79jPxg" y="-10"/>
1929 </children>
1930 <children xmi:type="notation:Node" xmi:id="_OZt8QmL8EeW2rMch79jPxg" type="6002">
1931 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OZt8Q2L8EeW2rMch79jPxg" y="10"/>
1932 </children>
1933 <children xmi:type="notation:Node" xmi:id="_OZt8RGL8EeW2rMch79jPxg" type="6003">
1934 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OZt8RWL8EeW2rMch79jPxg" y="10"/>
1935 </children>
1936 <styles xmi:type="notation:ConnectorStyle" xmi:id="_OZtVMWL8EeW2rMch79jPxg" routing="Tree"/>
1937 <styles xmi:type="notation:FontStyle" xmi:id="_OZtVMmL8EeW2rMch79jPxg" fontName="Segoe UI" fontHeight="8"/>
1938 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OZtVM2L8EeW2rMch79jPxg" points="[0, 0, -13, 313]$[13, -313, 0, 0]"/>
1939 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OZujUGL8EeW2rMch79jPxg" id="(0.4583333333333333,0.0)"/>
1940 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OZujUWL8EeW2rMch79jPxg" id="(0.5,0.5)"/>
1941 </edges>
1942 <edges xmi:type="notation:Edge" xmi:id="_VHnXoGL8EeW2rMch79jPxg" type="4001" element="_VHCI0GL8EeW2rMch79jPxg" source="_TVDN0GL8EeW2rMch79jPxg" target="_bfMmhDx1EeWiQ_wtFd6fGQ">
1943 <children xmi:type="notation:Node" xmi:id="_VHnXpGL8EeW2rMch79jPxg" type="6001">
1944 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VHnXpWL8EeW2rMch79jPxg" y="-10"/>
1945 </children>
1946 <children xmi:type="notation:Node" xmi:id="_VHnXpmL8EeW2rMch79jPxg" type="6002">
1947 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VHnXp2L8EeW2rMch79jPxg" y="10"/>
1948 </children>
1949 <children xmi:type="notation:Node" xmi:id="_VHnXqGL8EeW2rMch79jPxg" type="6003">
1950 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VHnXqWL8EeW2rMch79jPxg" y="10"/>
1951 </children>
1952 <styles xmi:type="notation:ConnectorStyle" xmi:id="_VHnXoWL8EeW2rMch79jPxg" routing="Tree"/>
1953 <styles xmi:type="notation:FontStyle" xmi:id="_VHnXomL8EeW2rMch79jPxg" fontName="Segoe UI" fontHeight="8"/>
1954 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VHnXo2L8EeW2rMch79jPxg" points="[0, 0, 92, 40]$[-92, -40, 0, 0]"/>
1955 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VHnXqmL8EeW2rMch79jPxg" id="(0.75,0.0)"/>
1956 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VHnXq2L8EeW2rMch79jPxg" id="(0.5,1.0)"/>
1957 </edges>
1958 <edges xmi:type="notation:Edge" xmi:id="_WqPoAGL8EeW2rMch79jPxg" type="4001" element="_WpVCAGL8EeW2rMch79jPxg" source="_JNtTwGByEeWUrY3nJWVIeg" target="_bf1ftDx1EeWiQ_wtFd6fGQ">
1959 <children xmi:type="notation:Node" xmi:id="_WqPoBGL8EeW2rMch79jPxg" type="6001">
1960 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WqPoBWL8EeW2rMch79jPxg" y="-10"/>
1961 </children>
1962 <children xmi:type="notation:Node" xmi:id="_WqQPEGL8EeW2rMch79jPxg" type="6002">
1963 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WqQPEWL8EeW2rMch79jPxg" y="10"/>
1964 </children>
1965 <children xmi:type="notation:Node" xmi:id="_WqQPEmL8EeW2rMch79jPxg" type="6003">
1966 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WqQPE2L8EeW2rMch79jPxg" y="10"/>
1967 </children>
1968 <styles xmi:type="notation:ConnectorStyle" xmi:id="_WqPoAWL8EeW2rMch79jPxg" routing="Tree"/>
1969 <styles xmi:type="notation:FontStyle" xmi:id="_WqPoAmL8EeW2rMch79jPxg" fontName="Segoe UI" fontHeight="8"/>
1970 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WqPoA2L8EeW2rMch79jPxg" points="[0, 0, 174, 253]$[-174, -253, 0, 0]"/>
1971 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WqQPFGL8EeW2rMch79jPxg" id="(0.2857142857142857,0.0)"/>
1972 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WqQPFWL8EeW2rMch79jPxg" id="(0.5,0.5)"/>
1973 </edges>
1974 <edges xmi:type="notation:Edge" xmi:id="_dHn7IGL8EeW2rMch79jPxg" type="4001" element="_dG1Q8GL8EeW2rMch79jPxg" source="_JNtTwGByEeWUrY3nJWVIeg" target="_MVy8sGL8EeW2rMch79jPxg">
1975 <children xmi:type="notation:Node" xmi:id="_dHoiMGL8EeW2rMch79jPxg" type="6001">
1976 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dHoiMWL8EeW2rMch79jPxg" y="-10"/>
1977 </children>
1978 <children xmi:type="notation:Node" xmi:id="_dHoiMmL8EeW2rMch79jPxg" type="6002">
1979 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dHoiM2L8EeW2rMch79jPxg" y="10"/>
1980 </children>
1981 <children xmi:type="notation:Node" xmi:id="_dHoiNGL8EeW2rMch79jPxg" type="6003">
1982 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dHoiNWL8EeW2rMch79jPxg" y="10"/>
1983 </children>
1984 <styles xmi:type="notation:ConnectorStyle" xmi:id="_dHn7IWL8EeW2rMch79jPxg" routing="Rectilinear"/>
1985 <styles xmi:type="notation:FontStyle" xmi:id="_dHn7ImL8EeW2rMch79jPxg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1986 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dHn7I2L8EeW2rMch79jPxg" points="[0, 0, 54, -69]$[-54, 69, 0, 0]"/>
1987 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dHoiNmL8EeW2rMch79jPxg" id="(0.0,0.45)"/>
1988 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dHoiN2L8EeW2rMch79jPxg" id="(1.0,0.5252525252525253)"/>
1989 </edges>
1990 <edges xmi:type="notation:Edge" xmi:id="_gIGCgGL8EeW2rMch79jPxg" type="4001" element="_gHdJUGL8EeW2rMch79jPxg" source="_7SX58GB0EeWUrY3nJWVIeg" target="_TVDN0GL8EeW2rMch79jPxg">
1991 <children xmi:type="notation:Node" xmi:id="_gIGpkGL8EeW2rMch79jPxg" type="6001">
1992 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gIGpkWL8EeW2rMch79jPxg" y="-10"/>
1993 </children>
1994 <children xmi:type="notation:Node" xmi:id="_gIGpkmL8EeW2rMch79jPxg" type="6002">
1995 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gIGpk2L8EeW2rMch79jPxg" y="10"/>
1996 </children>
1997 <children xmi:type="notation:Node" xmi:id="_gIGplGL8EeW2rMch79jPxg" type="6003">
1998 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gIGplWL8EeW2rMch79jPxg" y="10"/>
1999 </children>
2000 <styles xmi:type="notation:ConnectorStyle" xmi:id="_gIGCgWL8EeW2rMch79jPxg" routing="Rectilinear"/>
2001 <styles xmi:type="notation:FontStyle" xmi:id="_gIGCgmL8EeW2rMch79jPxg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
2002 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gIGCg2L8EeW2rMch79jPxg" points="[0, 0, -167, 19]$[167, -19, 0, 0]"/>
2003 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gIGplmL8EeW2rMch79jPxg" id="(1.0,0.49)"/>
2004 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gIGpl2L8EeW2rMch79jPxg" id="(0.0,0.35)"/>
2005 </edges>
2006 <edges xmi:type="notation:Edge" xmi:id="_ahhRIGPkEeWuQbyserbs4Q" type="4001" element="_agR7AGPkEeWuQbyserbs4Q" source="_XPI6YGPkEeWuQbyserbs4Q" target="_be9V8Dx1EeWiQ_wtFd6fGQ">
2007 <children xmi:type="notation:Node" xmi:id="_ahjGUGPkEeWuQbyserbs4Q" type="6001">
2008 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ahjGUWPkEeWuQbyserbs4Q" y="-10"/>
2009 </children>
2010 <children xmi:type="notation:Node" xmi:id="_ahkUcGPkEeWuQbyserbs4Q" type="6002">
2011 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ahkUcWPkEeWuQbyserbs4Q" y="10"/>
2012 </children>
2013 <children xmi:type="notation:Node" xmi:id="_ahk7gGPkEeWuQbyserbs4Q" type="6003">
2014 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ahk7gWPkEeWuQbyserbs4Q" y="10"/>
2015 </children>
2016 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ahhRIWPkEeWuQbyserbs4Q" routing="Tree"/>
2017 <styles xmi:type="notation:FontStyle" xmi:id="_ahhRImPkEeWuQbyserbs4Q" fontName="Segoe UI" fontHeight="8"/>
2018 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ahhRI2PkEeWuQbyserbs4Q" points="[0, 0, 367, 368]$[-367, -368, 0, 0]"/>
2019 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ahmJoGPkEeWuQbyserbs4Q" id="(0.7916666666666666,0.0)"/>
2020 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ahmJoWPkEeWuQbyserbs4Q" id="(0.5,1.0)"/>
2021 </edges>
2022 <edges xmi:type="notation:Edge" xmi:id="_dCq_QGPkEeWuQbyserbs4Q" type="4001" element="_dBnPUGPkEeWuQbyserbs4Q" source="_bfEqsDx1EeWiQ_wtFd6fGQ" target="_XPI6YGPkEeWuQbyserbs4Q">
2023 <children xmi:type="notation:Node" xmi:id="_dCq_RGPkEeWuQbyserbs4Q" type="6001">
2024 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dCq_RWPkEeWuQbyserbs4Q" y="-10"/>
2025 </children>
2026 <children xmi:type="notation:Node" xmi:id="_dCq_RmPkEeWuQbyserbs4Q" type="6002">
2027 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dCq_R2PkEeWuQbyserbs4Q" y="10"/>
2028 </children>
2029 <children xmi:type="notation:Node" xmi:id="_dCq_SGPkEeWuQbyserbs4Q" type="6003">
2030 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dCq_SWPkEeWuQbyserbs4Q" y="10"/>
2031 </children>
2032 <styles xmi:type="notation:ConnectorStyle" xmi:id="_dCq_QWPkEeWuQbyserbs4Q" routing="Rectilinear"/>
2033 <styles xmi:type="notation:FontStyle" xmi:id="_dCq_QmPkEeWuQbyserbs4Q" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
2034 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dCq_Q2PkEeWuQbyserbs4Q" points="[0, 0, -61, 114]$[61, -114, 0, 0]"/>
2035 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dCrmUGPkEeWuQbyserbs4Q" id="(0.7,0.0)"/>
2036 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dCrmUWPkEeWuQbyserbs4Q" id="(0.4166666666666667,1.0)"/>
2037 </edges>
2038 <edges xmi:type="notation:Edge" xmi:id="_OLpkAIPKEeWOre-0TMCmMQ" type="4001" element="_OLE8QIPKEeWOre-0TMCmMQ" source="_be9V8Dx1EeWiQ_wtFd6fGQ" target="_be9V8Dx1EeWiQ_wtFd6fGQ">
2039 <children xmi:type="notation:Node" xmi:id="_OLqLEIPKEeWOre-0TMCmMQ" type="6001">
2040 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OLqLEYPKEeWOre-0TMCmMQ" y="-10"/>
2041 </children>
2042 <children xmi:type="notation:Node" xmi:id="_OLqLEoPKEeWOre-0TMCmMQ" type="6002">
2043 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OLqLE4PKEeWOre-0TMCmMQ" y="10"/>
2044 </children>
2045 <children xmi:type="notation:Node" xmi:id="_OLqLFIPKEeWOre-0TMCmMQ" type="6003">
2046 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OLqLFYPKEeWOre-0TMCmMQ" y="10"/>
2047 </children>
2048 <styles xmi:type="notation:ConnectorStyle" xmi:id="_OLpkAYPKEeWOre-0TMCmMQ" routing="Rectilinear"/>
2049 <styles xmi:type="notation:FontStyle" xmi:id="_OLpkAoPKEeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
2050 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OLpkA4PKEeWOre-0TMCmMQ" points="[4508, 190, 4508, 190]$[4508, 190, 4508, 190]"/>
2051 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OLqyIIPKEeWOre-0TMCmMQ" id="(0.5,0.5)"/>
2052 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OLqyIYPKEeWOre-0TMCmMQ" id="(0.5,0.5)"/>
2053 </edges>
2054 <edges xmi:type="notation:Edge" xmi:id="_whNswIV8EeWhkpx1k3JSIA" type="4001" element="_wgcQsIV8EeWhkpx1k3JSIA" source="_7SX58GB0EeWUrY3nJWVIeg" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
2055 <children xmi:type="notation:Node" xmi:id="_whOT0IV8EeWhkpx1k3JSIA" type="6001">
2056 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_whOT0YV8EeWhkpx1k3JSIA" y="-10"/>
2057 </children>
2058 <children xmi:type="notation:Node" xmi:id="_whOT0oV8EeWhkpx1k3JSIA" type="6002">
2059 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_whOT04V8EeWhkpx1k3JSIA" y="10"/>
2060 </children>
2061 <children xmi:type="notation:Node" xmi:id="_whOT1IV8EeWhkpx1k3JSIA" type="6003">
2062 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_whOT1YV8EeWhkpx1k3JSIA" y="10"/>
2063 </children>
2064 <styles xmi:type="notation:ConnectorStyle" xmi:id="_whNswYV8EeWhkpx1k3JSIA" routing="Rectilinear"/>
2065 <styles xmi:type="notation:FontStyle" xmi:id="_whNswoV8EeWhkpx1k3JSIA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
2066 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_whNsw4V8EeWhkpx1k3JSIA" points="[3965, 865, 3965, 865]$[-616, -311, -616, -311]"/>
2067 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_whOT1oV8EeWhkpx1k3JSIA" id="(0.5,0.5)"/>
2068 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_whOT14V8EeWhkpx1k3JSIA" id="(0.5,0.5)"/>
2069 </edges>
2070 <edges xmi:type="notation:Edge" xmi:id="_OFHWUAGOEeaDEJmvhpl9gg" type="4001" element="_OEz0UAGOEeaDEJmvhpl9gg" source="_bfDckDx1EeWiQ_wtFd6fGQ" target="_bfEqsDx1EeWiQ_wtFd6fGQ">
2071 <children xmi:type="notation:Node" xmi:id="_OFHWVAGOEeaDEJmvhpl9gg" type="6001">
2072 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OFHWVQGOEeaDEJmvhpl9gg" y="-10"/>
2073 </children>
2074 <children xmi:type="notation:Node" xmi:id="_OFH9YAGOEeaDEJmvhpl9gg" type="6002">
2075 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OFH9YQGOEeaDEJmvhpl9gg" y="10"/>
2076 </children>
2077 <children xmi:type="notation:Node" xmi:id="_OFH9YgGOEeaDEJmvhpl9gg" type="6003">
2078 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OFH9YwGOEeaDEJmvhpl9gg" y="10"/>
2079 </children>
2080 <styles xmi:type="notation:ConnectorStyle" xmi:id="_OFHWUQGOEeaDEJmvhpl9gg" routing="Rectilinear"/>
2081 <styles xmi:type="notation:FontStyle" xmi:id="_OFHWUgGOEeaDEJmvhpl9gg" fontName="Segoe UI" fontHeight="8" bold="true"/>
2082 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OFHWUwGOEeaDEJmvhpl9gg" points="[4190, 680, 4190, 680]$[4535, 865, 4535, 865]"/>
2083 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OFH9ZAGOEeaDEJmvhpl9gg" id="(0.5,0.5)"/>
2084 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OFH9ZQGOEeaDEJmvhpl9gg" id="(0.5,0.5)"/>
2085 </edges>
2086 <edges xmi:type="notation:Edge" xmi:id="_X_zd0AGOEeaDEJmvhpl9gg" type="4001" element="_X9kCIAGOEeaDEJmvhpl9gg" source="_QqFNcAGOEeaDEJmvhpl9gg" target="_bfN0oDx1EeWiQ_wtFd6fGQ">
2087 <children xmi:type="notation:Node" xmi:id="_X_0E4AGOEeaDEJmvhpl9gg" type="6001">
2088 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X_0E4QGOEeaDEJmvhpl9gg" y="-10"/>
2089 </children>
2090 <children xmi:type="notation:Node" xmi:id="_X_0r8AGOEeaDEJmvhpl9gg" type="6002">
2091 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X_0r8QGOEeaDEJmvhpl9gg" y="10"/>
2092 </children>
2093 <children xmi:type="notation:Node" xmi:id="_X_0r8gGOEeaDEJmvhpl9gg" type="6003">
2094 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X_0r8wGOEeaDEJmvhpl9gg" y="10"/>
2095 </children>
2096 <styles xmi:type="notation:ConnectorStyle" xmi:id="_X_zd0QGOEeaDEJmvhpl9gg" routing="Tree"/>
2097 <styles xmi:type="notation:FontStyle" xmi:id="_X_zd0gGOEeaDEJmvhpl9gg" fontName="Segoe UI" fontHeight="8"/>
2098 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X_zd0wGOEeaDEJmvhpl9gg" points="[0, 0, -364, 535]$[364, -535, 0, 0]"/>
2099 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X_1TAAGOEeaDEJmvhpl9gg" id="(0.609375,0.0)"/>
2100 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X_1TAQGOEeaDEJmvhpl9gg" id="(0.5,1.0)"/>
2101 </edges>
2102 </data>
2103 </ownedAnnotationEntries>
2104 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bZ1lYDx1EeWiQ_wtFd6fGQ" name="Type" tooltipText="" outgoingEdges="_beBh0Dx1EeWiQ_wtFd6fGQ _OLE8QIPKEeWOre-0TMCmMQ" incomingEdges="_bdQs0Dx1EeWiQ_wtFd6fGQ _beElIDx1EeWiQ_wtFd6fGQ _agR7AGPkEeWuQbyserbs4Q _OLE8QIPKEeWOre-0TMCmMQ" width="12" height="10">
2105 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Type"/>
2106 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Type"/>
2107 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2108 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2109 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2110 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_5YFD4IPIEeWOre-0TMCmMQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2111 <labelFormat>italic</labelFormat>
2112 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2113 </ownedStyle>
2114 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2115 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_bcl-cDx1EeWiQ_wtFd6fGQ" name="name : EString" tooltipText="">
2116 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Type/name"/>
2117 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Type/name"/>
2118 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_bcsFEDx1EeWiQ_wtFd6fGQ" labelAlignment="LEFT" description="_bcoasDx1EeWiQ_wtFd6fGQ">
2119 <labelFormat>bold</labelFormat>
2120 </ownedStyle>
2121 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
2122 </ownedElements>
2123 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_ODWbwAGOEeaDEJmvhpl9gg" name="isAbstract : EBoolean = false" tooltipText="">
2124 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Type/isAbstract"/>
2125 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Type/isAbstract"/>
2126 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_ODXC0AGOEeaDEJmvhpl9gg" labelAlignment="LEFT" description="_bcoasDx1EeWiQ_wtFd6fGQ">
2127 <labelFormat>bold</labelFormat>
2128 </ownedStyle>
2129 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
2130 </ownedElements>
2131 </ownedDiagramElements>
2132 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_baDn0Dx1EeWiQ_wtFd6fGQ" name="DefinedElement" tooltipText="" outgoingEdges="_beDXADx1EeWiQ_wtFd6fGQ _OEz0UAGOEeaDEJmvhpl9gg" width="12" height="10">
2133 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//DefinedElement"/>
2134 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//DefinedElement"/>
2135 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2136 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2137 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2138 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_baE18Dx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2139 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2140 </ownedStyle>
2141 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2142 </ownedDiagramElements>
2143 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_baGEEDx1EeWiQ_wtFd6fGQ" name="TypeDefinition" tooltipText="" outgoingEdges="_beElIDx1EeWiQ_wtFd6fGQ _dBnPUGPkEeWuQbyserbs4Q" incomingEdges="_OEz0UAGOEeaDEJmvhpl9gg" width="12" height="10">
2144 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeDefinition"/>
2145 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeDefinition"/>
2146 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2147 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2148 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2149 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_baGrIDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2150 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2151 </ownedStyle>
2152 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2153 </ownedDiagramElements>
2154 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_baKVgDx1EeWiQ_wtFd6fGQ" name="TypeReference" tooltipText="" outgoingEdges="_beGaUDx1EeWiQ_wtFd6fGQ" incomingEdges="_bdRT4Dx1EeWiQ_wtFd6fGQ _bdTJEDx1EeWiQ_wtFd6fGQ _bdXagDx1EeWiQ_wtFd6fGQ _bd8pUzx1EeWiQ_wtFd6fGQ _bd-egDx1EeWiQ_wtFd6fGQ _beHBYDx1EeWiQ_wtFd6fGQ _beHoczx1EeWiQ_wtFd6fGQ" width="12" height="10">
2155 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeReference"/>
2156 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeReference"/>
2157 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_baLjoDx1EeWiQ_wtFd6fGQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2158 <labelFormat>italic</labelFormat>
2159 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2160 </ownedStyle>
2161 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2162 </ownedDiagramElements>
2163 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_baMxwDx1EeWiQ_wtFd6fGQ" name="ComplexTypeReference" tooltipText="" outgoingEdges="_bdQs0Dx1EeWiQ_wtFd6fGQ _beHBYDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2164 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//ComplexTypeReference"/>
2165 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//ComplexTypeReference"/>
2166 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2167 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2168 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2169 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_baNY0Dx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2170 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2171 </ownedStyle>
2172 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2173 </ownedDiagramElements>
2174 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_baPOADx1EeWiQ_wtFd6fGQ" name="PrimitiveTypeReference" tooltipText="" outgoingEdges="_beHoczx1EeWiQ_wtFd6fGQ" incomingEdges="_beIPgzx1EeWiQ_wtFd6fGQ _beJdoDx1EeWiQ_wtFd6fGQ _beKrwDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2175 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//PrimitiveTypeReference"/>
2176 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//PrimitiveTypeReference"/>
2177 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2178 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2179 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2180 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_baP1EDx1EeWiQ_wtFd6fGQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2181 <labelFormat>italic</labelFormat>
2182 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2183 </ownedStyle>
2184 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2185 </ownedDiagramElements>
2186 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_baRDMDx1EeWiQ_wtFd6fGQ" name="IntTypeReference" tooltipText="" outgoingEdges="_beIPgzx1EeWiQ_wtFd6fGQ" width="12" height="10">
2187 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntTypeReference"/>
2188 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntTypeReference"/>
2189 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_baRqQDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2190 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2191 </ownedStyle>
2192 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2193 </ownedDiagramElements>
2194 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_baYX8Dx1EeWiQ_wtFd6fGQ" name="BoolTypeReference" tooltipText="" outgoingEdges="_beJdoDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2195 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolTypeReference"/>
2196 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolTypeReference"/>
2197 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_baZmEDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2198 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2199 </ownedStyle>
2200 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2201 </ownedDiagramElements>
2202 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_baa0MDx1EeWiQ_wtFd6fGQ" name="RealTypeReference" tooltipText="" outgoingEdges="_beKrwDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2203 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//RealTypeReference"/>
2204 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//RealTypeReference"/>
2205 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bacCUDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2206 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2207 </ownedStyle>
2208 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2209 </ownedDiagramElements>
2210 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_badQcDx1EeWiQ_wtFd6fGQ" name="Function" tooltipText="" outgoingEdges="_bdRT4Dx1EeWiQ_wtFd6fGQ _bdTJEDx1EeWiQ_wtFd6fGQ _beLS0zx1EeWiQ_wtFd6fGQ" incomingEdges="_9x_-EGB0EeWUrY3nJWVIeg _VHCI0GL8EeW2rMch79jPxg" width="12" height="10">
2211 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Function"/>
2212 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Function"/>
2213 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2214 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2215 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2216 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_h3pUkGL8EeW2rMch79jPxg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2217 <labelFormat>italic</labelFormat>
2218 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2219 </ownedStyle>
2220 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2221 </ownedDiagramElements>
2222 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bafssDx1EeWiQ_wtFd6fGQ" name="Term" tooltipText="" outgoingEdges="_beMg8Dx1EeWiQ_wtFd6fGQ" incomingEdges="_bdVlUDx1EeWiQ_wtFd6fGQ _bdZ2wDx1EeWiQ_wtFd6fGQ _bdbE4Dx1EeWiQ_wtFd6fGQ _bdcTADx1EeWiQ_wtFd6fGQ _bdjAsDx1EeWiQ_wtFd6fGQ _bdkO0Dx1EeWiQ_wtFd6fGQ _bdlc8Dx1EeWiQ_wtFd6fGQ _bdmrEDx1EeWiQ_wtFd6fGQ _bdn5MDx1EeWiQ_wtFd6fGQ _bdpuYDx1EeWiQ_wtFd6fGQ _bdq8gDx1EeWiQ_wtFd6fGQ _bdsxsDx1EeWiQ_wtFd6fGQ _bdt_0Dx1EeWiQ_wtFd6fGQ _bdvN8Dx1EeWiQ_wtFd6fGQ _bdwcEDx1EeWiQ_wtFd6fGQ _bdyRQDx1EeWiQ_wtFd6fGQ _bdzfYDx1EeWiQ_wtFd6fGQ _bd0tgDx1EeWiQ_wtFd6fGQ _bd17oDx1EeWiQ_wtFd6fGQ _bd3JwDx1EeWiQ_wtFd6fGQ _bd4-8Dx1EeWiQ_wtFd6fGQ _bd6NEDx1EeWiQ_wtFd6fGQ _bd7bMDx1EeWiQ_wtFd6fGQ _beOWIDx1EeWiQ_wtFd6fGQ _beO9MDx1EeWiQ_wtFd6fGQ _beT1sDx1EeWiQ_wtFd6fGQ _beWR8Dx1EeWiQ_wtFd6fGQ _bebKcDx1EeWiQ_wtFd6fGQ _bek7cDx1EeWiQ_wtFd6fGQ _3jn3oGBxEeWUrY3nJWVIeg _vtC1kGB0EeWUrY3nJWVIeg _NuL4gGB2EeWUrY3nJWVIeg _RF40IGB2EeWUrY3nJWVIeg _SEkp8GB2EeWUrY3nJWVIeg _UrvggGB2EeWUrY3nJWVIeg _wgcQsIV8EeWhkpx1k3JSIA _X9kCIAGOEeaDEJmvhpl9gg" width="12" height="10">
2223 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Term"/>
2224 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Term"/>
2225 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bagTwDx1EeWiQ_wtFd6fGQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2226 <labelFormat>italic</labelFormat>
2227 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2228 </ownedStyle>
2229 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2230 </ownedDiagramElements>
2231 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bahh4Dx1EeWiQ_wtFd6fGQ" name="SymbolicDeclaration" tooltipText="" outgoingEdges="_beNIAzx1EeWiQ_wtFd6fGQ" incomingEdges="_bdU-QDx1EeWiQ_wtFd6fGQ _beDXADx1EeWiQ_wtFd6fGQ _beLS0zx1EeWiQ_wtFd6fGQ _beTOoDx1EeWiQ_wtFd6fGQ _berCEDx1EeWiQ_wtFd6fGQ _berpIDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2232 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//SymbolicDeclaration"/>
2233 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//SymbolicDeclaration"/>
2234 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2235 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2236 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2237 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_baiI8Dx1EeWiQ_wtFd6fGQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2238 <labelFormat>italic</labelFormat>
2239 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2240 </ownedStyle>
2241 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2242 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_bcuhUDx1EeWiQ_wtFd6fGQ" name="name : EString" tooltipText="">
2243 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//SymbolicDeclaration/name"/>
2244 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//SymbolicDeclaration/name"/>
2245 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_bcvvcDx1EeWiQ_wtFd6fGQ" labelAlignment="LEFT" description="_bcoasDx1EeWiQ_wtFd6fGQ">
2246 <labelFormat>bold</labelFormat>
2247 </ownedStyle>
2248 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
2249 </ownedElements>
2250 </ownedDiagramElements>
2251 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_baj-IDx1EeWiQ_wtFd6fGQ" name="SymbolicValue" tooltipText="" outgoingEdges="_bdU-QDx1EeWiQ_wtFd6fGQ _bdVlUDx1EeWiQ_wtFd6fGQ _beOWIDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2252 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//SymbolicValue"/>
2253 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//SymbolicValue"/>
2254 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2255 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2256 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2257 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_baklMDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2258 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2259 </ownedStyle>
2260 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2261 </ownedDiagramElements>
2262 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_balzUDx1EeWiQ_wtFd6fGQ" name="AtomicTerm" tooltipText="" outgoingEdges="_beO9MDx1EeWiQ_wtFd6fGQ" incomingEdges="_bePkQzx1EeWiQ_wtFd6fGQ _beRZcDx1EeWiQ_wtFd6fGQ _beSAgDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2263 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//AtomicTerm"/>
2264 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//AtomicTerm"/>
2265 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2266 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2267 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2268 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_banBcDx1EeWiQ_wtFd6fGQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2269 <labelFormat>italic</labelFormat>
2270 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2271 </ownedStyle>
2272 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2273 </ownedDiagramElements>
2274 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bao2oDx1EeWiQ_wtFd6fGQ" name="IntLiteral" tooltipText="" outgoingEdges="_bePkQzx1EeWiQ_wtFd6fGQ" width="12" height="10">
2275 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntLiteral"/>
2276 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntLiteral"/>
2277 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bar58Dx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2278 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2279 </ownedStyle>
2280 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2281 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_bcw9kDx1EeWiQ_wtFd6fGQ" name="value : EInt" tooltipText="">
2282 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//IntLiteral/value"/>
2283 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//IntLiteral/value"/>
2284 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_bcxkoDx1EeWiQ_wtFd6fGQ" labelAlignment="LEFT">
2285 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
2286 </ownedStyle>
2287 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
2288 </ownedElements>
2289 </ownedDiagramElements>
2290 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_batvIDx1EeWiQ_wtFd6fGQ" name="BoolLiteral" tooltipText="" outgoingEdges="_beRZcDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2291 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolLiteral"/>
2292 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolLiteral"/>
2293 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bau9QDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2294 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2295 </ownedStyle>
2296 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2297 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_bcyLsDx1EeWiQ_wtFd6fGQ" name="value : EBoolean = false" tooltipText="">
2298 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//BoolLiteral/value"/>
2299 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//BoolLiteral/value"/>
2300 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_bcyywDx1EeWiQ_wtFd6fGQ" labelAlignment="LEFT">
2301 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
2302 </ownedStyle>
2303 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
2304 </ownedElements>
2305 </ownedDiagramElements>
2306 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bawLYDx1EeWiQ_wtFd6fGQ" name="RealLiteral" tooltipText="" outgoingEdges="_beSAgDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2307 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//RealLiteral"/>
2308 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//RealLiteral"/>
2309 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_baxZgDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2310 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2311 </ownedStyle>
2312 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2313 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_bczZ0Dx1EeWiQ_wtFd6fGQ" name="value : EBigDecimal" tooltipText="">
2314 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//RealLiteral/value"/>
2315 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//RealLiteral/value"/>
2316 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_bc0A4Dx1EeWiQ_wtFd6fGQ" labelAlignment="LEFT">
2317 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
2318 </ownedStyle>
2319 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
2320 </ownedElements>
2321 </ownedDiagramElements>
2322 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_baynoDx1EeWiQ_wtFd6fGQ" name="Variable" tooltipText="" outgoingEdges="_bdXagDx1EeWiQ_wtFd6fGQ _beTOoDx1EeWiQ_wtFd6fGQ" incomingEdges="_bdYooDx1EeWiQ_wtFd6fGQ _y4FgIGByEeWUrY3nJWVIeg _CHDSwGB1EeWUrY3nJWVIeg" width="12" height="10">
2323 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Variable"/>
2324 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Variable"/>
2325 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2326 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2327 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2328 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bazOsDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2329 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2330 </ownedStyle>
2331 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2332 </ownedDiagramElements>
2333 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ba1D4Dx1EeWiQ_wtFd6fGQ" name="QuantifiedExpression" tooltipText="" outgoingEdges="_bdYooDx1EeWiQ_wtFd6fGQ _bdZ2wDx1EeWiQ_wtFd6fGQ _beT1sDx1EeWiQ_wtFd6fGQ" incomingEdges="_beUcwDx1EeWiQ_wtFd6fGQ _beVq4Dx1EeWiQ_wtFd6fGQ" width="12" height="10">
2334 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//QuantifiedExpression"/>
2335 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//QuantifiedExpression"/>
2336 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ba2SADx1EeWiQ_wtFd6fGQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2337 <labelFormat>italic</labelFormat>
2338 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2339 </ownedStyle>
2340 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2341 </ownedDiagramElements>
2342 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ba3gIDx1EeWiQ_wtFd6fGQ" name="Exists" tooltipText="" outgoingEdges="_beUcwDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2343 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Exists"/>
2344 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Exists"/>
2345 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ba4uQDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2346 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2347 </ownedStyle>
2348 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2349 </ownedDiagramElements>
2350 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ba58YDx1EeWiQ_wtFd6fGQ" name="Forall" tooltipText="" outgoingEdges="_beVq4Dx1EeWiQ_wtFd6fGQ" width="12" height="10">
2351 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Forall"/>
2352 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Forall"/>
2353 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ba6jcDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2354 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2355 </ownedStyle>
2356 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2357 </ownedDiagramElements>
2358 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ba7xkDx1EeWiQ_wtFd6fGQ" name="BoolOperation" tooltipText="" outgoingEdges="_beWR8Dx1EeWiQ_wtFd6fGQ" incomingEdges="_beW5Azx1EeWiQ_wtFd6fGQ _beYHIDx1EeWiQ_wtFd6fGQ _beYuMDx1EeWiQ_wtFd6fGQ _beZVQzx1EeWiQ_wtFd6fGQ _beajYDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2359 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolOperation"/>
2360 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolOperation"/>
2361 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ba8YoDx1EeWiQ_wtFd6fGQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2362 <labelFormat>italic</labelFormat>
2363 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2364 </ownedStyle>
2365 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2366 </ownedDiagramElements>
2367 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ba9mwDx1EeWiQ_wtFd6fGQ" name="And" tooltipText="" outgoingEdges="_bdbE4Dx1EeWiQ_wtFd6fGQ _beW5Azx1EeWiQ_wtFd6fGQ" width="12" height="10">
2368 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//And"/>
2369 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//And"/>
2370 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ba-N0Dx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2371 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2372 </ownedStyle>
2373 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2374 </ownedDiagramElements>
2375 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ba_b8Dx1EeWiQ_wtFd6fGQ" name="Or" tooltipText="" outgoingEdges="_bdcTADx1EeWiQ_wtFd6fGQ _beYHIDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2376 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Or"/>
2377 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Or"/>
2378 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bbAqEDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2379 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2380 </ownedStyle>
2381 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2382 </ownedDiagramElements>
2383 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbBRIDx1EeWiQ_wtFd6fGQ" name="Impl" tooltipText="" outgoingEdges="_bdjAsDx1EeWiQ_wtFd6fGQ _bdkO0Dx1EeWiQ_wtFd6fGQ _beYuMDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2384 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Impl"/>
2385 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Impl"/>
2386 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bbB4MDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2387 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2388 </ownedStyle>
2389 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2390 </ownedDiagramElements>
2391 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbDtYDx1EeWiQ_wtFd6fGQ" name="Not" tooltipText="" outgoingEdges="_bdlc8Dx1EeWiQ_wtFd6fGQ _beZVQzx1EeWiQ_wtFd6fGQ" width="12" height="10">
2392 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Not"/>
2393 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Not"/>
2394 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bbEUcDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2395 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2396 </ownedStyle>
2397 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2398 </ownedDiagramElements>
2399 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbFikDx1EeWiQ_wtFd6fGQ" name="Iff" tooltipText="" outgoingEdges="_bdmrEDx1EeWiQ_wtFd6fGQ _bdn5MDx1EeWiQ_wtFd6fGQ _beajYDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2400 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Iff"/>
2401 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Iff"/>
2402 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bbGJoDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2403 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2404 </ownedStyle>
2405 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2406 </ownedDiagramElements>
2407 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbGwsDx1EeWiQ_wtFd6fGQ" name="PrimitiveRelation" tooltipText="" outgoingEdges="_bebKcDx1EeWiQ_wtFd6fGQ" incomingEdges="_bebxgzx1EeWiQ_wtFd6fGQ _bec_oDx1EeWiQ_wtFd6fGQ _beeNwDx1EeWiQ_wtFd6fGQ _beifMDx1EeWiQ_wtFd6fGQ _bejtUDx1EeWiQ_wtFd6fGQ _bekUYDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2408 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//PrimitiveRelation"/>
2409 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//PrimitiveRelation"/>
2410 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bbHXwDx1EeWiQ_wtFd6fGQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2411 <labelFormat>italic</labelFormat>
2412 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2413 </ownedStyle>
2414 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2415 </ownedDiagramElements>
2416 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbIl4Dx1EeWiQ_wtFd6fGQ" name="Equals" tooltipText="" outgoingEdges="_bdpuYDx1EeWiQ_wtFd6fGQ _bdq8gDx1EeWiQ_wtFd6fGQ _bebxgzx1EeWiQ_wtFd6fGQ" width="12" height="10">
2417 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Equals"/>
2418 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Equals"/>
2419 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bbJM8Dx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2420 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2421 </ownedStyle>
2422 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2423 </ownedDiagramElements>
2424 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbKbEDx1EeWiQ_wtFd6fGQ" name="Distinct" tooltipText="" outgoingEdges="_bdsxsDx1EeWiQ_wtFd6fGQ _bec_oDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2425 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Distinct"/>
2426 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Distinct"/>
2427 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bbLpMDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2428 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2429 </ownedStyle>
2430 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2431 </ownedDiagramElements>
2432 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbNeYDx1EeWiQ_wtFd6fGQ" name="LessThan" tooltipText="" outgoingEdges="_bdt_0Dx1EeWiQ_wtFd6fGQ _bdvN8Dx1EeWiQ_wtFd6fGQ _beeNwDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2433 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//LessThan"/>
2434 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//LessThan"/>
2435 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bbOFcDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2436 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2437 </ownedStyle>
2438 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2439 </ownedDiagramElements>
2440 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbPTkDx1EeWiQ_wtFd6fGQ" name="MoreThan" tooltipText="" outgoingEdges="_bdwcEDx1EeWiQ_wtFd6fGQ _bdyRQDx1EeWiQ_wtFd6fGQ _beifMDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2441 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//MoreThan"/>
2442 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//MoreThan"/>
2443 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bbQhsDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2444 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2445 </ownedStyle>
2446 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2447 </ownedDiagramElements>
2448 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbRIwDx1EeWiQ_wtFd6fGQ" name="LessOrEqualThan" tooltipText="" outgoingEdges="_bdzfYDx1EeWiQ_wtFd6fGQ _bd0tgDx1EeWiQ_wtFd6fGQ _bejtUDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2449 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//LessOrEqualThan"/>
2450 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//LessOrEqualThan"/>
2451 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bbSW4Dx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2452 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2453 </ownedStyle>
2454 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2455 </ownedDiagramElements>
2456 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbTlADx1EeWiQ_wtFd6fGQ" name="MoreOrEqualThan" tooltipText="" outgoingEdges="_bd17oDx1EeWiQ_wtFd6fGQ _bd3JwDx1EeWiQ_wtFd6fGQ _bekUYDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2457 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//MoreOrEqualThan"/>
2458 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//MoreOrEqualThan"/>
2459 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bbUMEDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2460 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2461 </ownedStyle>
2462 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2463 </ownedDiagramElements>
2464 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbVaMDx1EeWiQ_wtFd6fGQ" name="IntOperation" tooltipText="" outgoingEdges="_bd4-8Dx1EeWiQ_wtFd6fGQ _bd6NEDx1EeWiQ_wtFd6fGQ _bek7cDx1EeWiQ_wtFd6fGQ" incomingEdges="_bemJkDx1EeWiQ_wtFd6fGQ _bemwoDx1EeWiQ_wtFd6fGQ _ben-wDx1EeWiQ_wtFd6fGQ _bepM4Dx1EeWiQ_wtFd6fGQ _bepz8Dx1EeWiQ_wtFd6fGQ" width="12" height="10">
2465 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntOperation"/>
2466 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntOperation"/>
2467 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bbWBQDx1EeWiQ_wtFd6fGQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2468 <labelFormat>italic</labelFormat>
2469 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2470 </ownedStyle>
2471 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2472 </ownedDiagramElements>
2473 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbaSsDx1EeWiQ_wtFd6fGQ" name="Plus" tooltipText="" outgoingEdges="_bemJkDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2474 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Plus"/>
2475 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Plus"/>
2476 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bba5wDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2477 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2478 </ownedStyle>
2479 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2480 </ownedDiagramElements>
2481 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbekIDx1EeWiQ_wtFd6fGQ" name="Minus" tooltipText="" outgoingEdges="_bemwoDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2482 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Minus"/>
2483 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Minus"/>
2484 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bbfLMDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2485 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2486 </ownedStyle>
2487 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2488 </ownedDiagramElements>
2489 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbgZUDx1EeWiQ_wtFd6fGQ" name="Multiply" tooltipText="" outgoingEdges="_ben-wDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2490 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Multiply"/>
2491 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Multiply"/>
2492 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bbhncDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2493 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2494 </ownedStyle>
2495 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2496 </ownedDiagramElements>
2497 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbi1kDx1EeWiQ_wtFd6fGQ" name="Divison" tooltipText="" outgoingEdges="_bepM4Dx1EeWiQ_wtFd6fGQ" width="12" height="10">
2498 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Divison"/>
2499 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Divison"/>
2500 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bbjcoDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2501 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2502 </ownedStyle>
2503 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2504 </ownedDiagramElements>
2505 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbkqwDx1EeWiQ_wtFd6fGQ" name="Mod" tooltipText="" outgoingEdges="_bepz8Dx1EeWiQ_wtFd6fGQ" width="12" height="10">
2506 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Mod"/>
2507 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Mod"/>
2508 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bblR0Dx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2509 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2510 </ownedStyle>
2511 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2512 </ownedDiagramElements>
2513 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbl44Dx1EeWiQ_wtFd6fGQ" name="TypeDescriptor" tooltipText="" incomingEdges="_beBh0Dx1EeWiQ_wtFd6fGQ _beGaUDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2514 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeDescriptor"/>
2515 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeDescriptor"/>
2516 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bbmf8Dx1EeWiQ_wtFd6fGQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_interface.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2517 <labelFormat>italic</labelFormat>
2518 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.0/@style"/>
2519 </ownedStyle>
2520 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2521 </ownedDiagramElements>
2522 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbnuEDx1EeWiQ_wtFd6fGQ" name="TermDescription" tooltipText="" incomingEdges="_beMg8Dx1EeWiQ_wtFd6fGQ _beNIAzx1EeWiQ_wtFd6fGQ" width="12" height="10">
2523 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TermDescription"/>
2524 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//TermDescription"/>
2525 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bboVIDx1EeWiQ_wtFd6fGQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_interface.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2526 <labelFormat>italic</labelFormat>
2527 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.0/@style"/>
2528 </ownedStyle>
2529 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2530 </ownedDiagramElements>
2531 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbpjQDx1EeWiQ_wtFd6fGQ" name="Assertion" tooltipText="" outgoingEdges="_bd7bMDx1EeWiQ_wtFd6fGQ" width="12" height="10">
2532 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Assertion"/>
2533 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Assertion"/>
2534 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2535 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2536 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2537 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_bbqKUDx1EeWiQ_wtFd6fGQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2538 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2539 </ownedStyle>
2540 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2541 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_bc45YDx1EeWiQ_wtFd6fGQ" name="name : EString" tooltipText="">
2542 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Assertion/name"/>
2543 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Assertion/name"/>
2544 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_bc5gcDx1EeWiQ_wtFd6fGQ" labelAlignment="LEFT" description="_bcoasDx1EeWiQ_wtFd6fGQ">
2545 <labelFormat>bold</labelFormat>
2546 </ownedStyle>
2547 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
2548 </ownedElements>
2549 </ownedDiagramElements>
2550 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbrYcDx1EeWiQ_wtFd6fGQ" name="Relation" tooltipText="" outgoingEdges="_bd8pUzx1EeWiQ_wtFd6fGQ _berCEDx1EeWiQ_wtFd6fGQ" incomingEdges="_OYoXIGL8EeW2rMch79jPxg _WpVCAGL8EeW2rMch79jPxg" width="12" height="10">
2551 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Relation"/>
2552 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Relation"/>
2553 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2554 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2555 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2556 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_h3sX4GL8EeW2rMch79jPxg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2557 <labelFormat>italic</labelFormat>
2558 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2559 </ownedStyle>
2560 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2561 </ownedDiagramElements>
2562 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_bbsmkDx1EeWiQ_wtFd6fGQ" name="Constant" tooltipText="" outgoingEdges="_bd-egDx1EeWiQ_wtFd6fGQ _berpIDx1EeWiQ_wtFd6fGQ" incomingEdges="_08lj8GBxEeWUrY3nJWVIeg _Hjg5cGL8EeW2rMch79jPxg" width="12" height="10">
2563 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Constant"/>
2564 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Constant"/>
2565 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2566 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2567 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2568 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ZeJTAGL8EeW2rMch79jPxg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2569 <labelFormat>italic</labelFormat>
2570 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2571 </ownedStyle>
2572 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2573 </ownedDiagramElements>
2574 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdQs0Dx1EeWiQ_wtFd6fGQ" name="[0..1] referred" sourceNode="_baMxwDx1EeWiQ_wtFd6fGQ" targetNode="_bZ1lYDx1EeWiQ_wtFd6fGQ">
2575 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//ComplexTypeReference/referred"/>
2576 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//ComplexTypeReference/referred"/>
2577 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdQs0Tx1EeWiQ_wtFd6fGQ" routingStyle="manhattan" strokeColor="0,0,0">
2578 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
2579 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdQs0jx1EeWiQ_wtFd6fGQ" showIcon="false">
2580 <customFeatures>labelSize</customFeatures>
2581 </centerLabelStyle>
2582 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdQs0zx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2583 <customFeatures>labelSize</customFeatures>
2584 </endLabelStyle>
2585 </ownedStyle>
2586 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2587 </ownedDiagramElements>
2588 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdRT4Dx1EeWiQ_wtFd6fGQ" name="[1..1] range" sourceNode="_badQcDx1EeWiQ_wtFd6fGQ" targetNode="_baKVgDx1EeWiQ_wtFd6fGQ">
2589 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Function/range"/>
2590 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Function/range"/>
2591 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_eVC6oIWlEeWhkpx1k3JSIA" description="_bd8CQDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2592 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_eVC6oYWlEeWhkpx1k3JSIA" showIcon="false">
2593 <labelFormat>bold</labelFormat>
2594 </centerLabelStyle>
2595 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_eVC6ooWlEeWhkpx1k3JSIA" labelSize="6" showIcon="false" labelColor="39,76,114"/>
2596 </ownedStyle>
2597 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2598 </ownedDiagramElements>
2599 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdTJEDx1EeWiQ_wtFd6fGQ" name="[0..*] parameters" sourceNode="_badQcDx1EeWiQ_wtFd6fGQ" targetNode="_baKVgDx1EeWiQ_wtFd6fGQ">
2600 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Function/parameters"/>
2601 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Function/parameters"/>
2602 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdUXMDx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2603 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdUXMTx1EeWiQ_wtFd6fGQ" showIcon="false">
2604 <customFeatures>labelSize</customFeatures>
2605 </centerLabelStyle>
2606 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdUXMjx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2607 <customFeatures>labelSize</customFeatures>
2608 </endLabelStyle>
2609 </ownedStyle>
2610 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2611 </ownedDiagramElements>
2612 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdU-QDx1EeWiQ_wtFd6fGQ" name="[0..1] symbolicReference" sourceNode="_baj-IDx1EeWiQ_wtFd6fGQ" targetNode="_bahh4Dx1EeWiQ_wtFd6fGQ">
2613 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//SymbolicValue/symbolicReference"/>
2614 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//SymbolicValue/symbolicReference"/>
2615 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdU-QTx1EeWiQ_wtFd6fGQ" routingStyle="manhattan" strokeColor="0,0,0">
2616 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
2617 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdU-Qjx1EeWiQ_wtFd6fGQ" showIcon="false">
2618 <customFeatures>labelSize</customFeatures>
2619 </centerLabelStyle>
2620 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdU-Qzx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2621 <customFeatures>labelSize</customFeatures>
2622 </endLabelStyle>
2623 </ownedStyle>
2624 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2625 </ownedDiagramElements>
2626 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdVlUDx1EeWiQ_wtFd6fGQ" name="[0..*] parameterSubstitutions" sourceNode="_baj-IDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2627 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//SymbolicValue/parameterSubstitutions"/>
2628 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//SymbolicValue/parameterSubstitutions"/>
2629 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdWzcDx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2630 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdWzcTx1EeWiQ_wtFd6fGQ" showIcon="false">
2631 <customFeatures>labelSize</customFeatures>
2632 </centerLabelStyle>
2633 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdWzcjx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2634 <customFeatures>labelSize</customFeatures>
2635 </endLabelStyle>
2636 </ownedStyle>
2637 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2638 </ownedDiagramElements>
2639 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdXagDx1EeWiQ_wtFd6fGQ" name="[1..1] range" sourceNode="_baynoDx1EeWiQ_wtFd6fGQ" targetNode="_baKVgDx1EeWiQ_wtFd6fGQ">
2640 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Variable/range"/>
2641 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Variable/range"/>
2642 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_e9h28IWlEeWhkpx1k3JSIA" description="_bd8CQDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2643 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_e9h28YWlEeWhkpx1k3JSIA" showIcon="false">
2644 <labelFormat>bold</labelFormat>
2645 </centerLabelStyle>
2646 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_e9h28oWlEeWhkpx1k3JSIA" labelSize="6" showIcon="false" labelColor="39,76,114"/>
2647 </ownedStyle>
2648 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2649 </ownedDiagramElements>
2650 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdYooDx1EeWiQ_wtFd6fGQ" name="[0..*] quantifiedVariables" sourceNode="_ba1D4Dx1EeWiQ_wtFd6fGQ" targetNode="_baynoDx1EeWiQ_wtFd6fGQ">
2651 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//QuantifiedExpression/quantifiedVariables"/>
2652 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//QuantifiedExpression/quantifiedVariables"/>
2653 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdZPsDx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2654 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdZPsTx1EeWiQ_wtFd6fGQ" showIcon="false">
2655 <customFeatures>labelSize</customFeatures>
2656 </centerLabelStyle>
2657 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdZPsjx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2658 <customFeatures>labelSize</customFeatures>
2659 </endLabelStyle>
2660 </ownedStyle>
2661 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2662 </ownedDiagramElements>
2663 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdZ2wDx1EeWiQ_wtFd6fGQ" name="[0..1] expression" sourceNode="_ba1D4Dx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2664 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//QuantifiedExpression/expression"/>
2665 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//QuantifiedExpression/expression"/>
2666 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdad0Dx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2667 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdad0Tx1EeWiQ_wtFd6fGQ" showIcon="false">
2668 <customFeatures>labelSize</customFeatures>
2669 </centerLabelStyle>
2670 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdad0jx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2671 <customFeatures>labelSize</customFeatures>
2672 </endLabelStyle>
2673 </ownedStyle>
2674 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2675 </ownedDiagramElements>
2676 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdbE4Dx1EeWiQ_wtFd6fGQ" name="[0..*] operands" sourceNode="_ba9mwDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2677 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//And/operands"/>
2678 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//And/operands"/>
2679 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdbr8Dx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2680 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdbr8Tx1EeWiQ_wtFd6fGQ" showIcon="false">
2681 <customFeatures>labelSize</customFeatures>
2682 </centerLabelStyle>
2683 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdbr8jx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2684 <customFeatures>labelSize</customFeatures>
2685 </endLabelStyle>
2686 </ownedStyle>
2687 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2688 </ownedDiagramElements>
2689 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdcTADx1EeWiQ_wtFd6fGQ" name="[0..*] operands" sourceNode="_ba_b8Dx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2690 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Or/operands"/>
2691 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Or/operands"/>
2692 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdc6EDx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2693 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdc6ETx1EeWiQ_wtFd6fGQ" showIcon="false">
2694 <customFeatures>labelSize</customFeatures>
2695 </centerLabelStyle>
2696 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdc6Ejx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2697 <customFeatures>labelSize</customFeatures>
2698 </endLabelStyle>
2699 </ownedStyle>
2700 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2701 </ownedDiagramElements>
2702 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdjAsDx1EeWiQ_wtFd6fGQ" name="[0..1] leftOperand" sourceNode="_bbBRIDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2703 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Impl/leftOperand"/>
2704 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Impl/leftOperand"/>
2705 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdjnwDx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2706 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdjnwTx1EeWiQ_wtFd6fGQ" showIcon="false">
2707 <customFeatures>labelSize</customFeatures>
2708 </centerLabelStyle>
2709 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdjnwjx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2710 <customFeatures>labelSize</customFeatures>
2711 </endLabelStyle>
2712 </ownedStyle>
2713 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2714 </ownedDiagramElements>
2715 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdkO0Dx1EeWiQ_wtFd6fGQ" name="[0..1] rightOperand" sourceNode="_bbBRIDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2716 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Impl/rightOperand"/>
2717 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Impl/rightOperand"/>
2718 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdk14Dx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2719 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdk14Tx1EeWiQ_wtFd6fGQ" showIcon="false">
2720 <customFeatures>labelSize</customFeatures>
2721 </centerLabelStyle>
2722 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdk14jx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2723 <customFeatures>labelSize</customFeatures>
2724 </endLabelStyle>
2725 </ownedStyle>
2726 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2727 </ownedDiagramElements>
2728 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdlc8Dx1EeWiQ_wtFd6fGQ" name="[0..1] operand" sourceNode="_bbDtYDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2729 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Not/operand"/>
2730 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Not/operand"/>
2731 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdmEADx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2732 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdmEATx1EeWiQ_wtFd6fGQ" showIcon="false">
2733 <customFeatures>labelSize</customFeatures>
2734 </centerLabelStyle>
2735 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdmEAjx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2736 <customFeatures>labelSize</customFeatures>
2737 </endLabelStyle>
2738 </ownedStyle>
2739 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2740 </ownedDiagramElements>
2741 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdmrEDx1EeWiQ_wtFd6fGQ" name="[0..1] leftOperand" sourceNode="_bbFikDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2742 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Iff/leftOperand"/>
2743 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Iff/leftOperand"/>
2744 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdnSIDx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2745 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdnSITx1EeWiQ_wtFd6fGQ" showIcon="false">
2746 <customFeatures>labelSize</customFeatures>
2747 </centerLabelStyle>
2748 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdnSIjx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2749 <customFeatures>labelSize</customFeatures>
2750 </endLabelStyle>
2751 </ownedStyle>
2752 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2753 </ownedDiagramElements>
2754 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdn5MDx1EeWiQ_wtFd6fGQ" name="[0..1] rightOperand" sourceNode="_bbFikDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2755 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Iff/rightOperand"/>
2756 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Iff/rightOperand"/>
2757 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdogQDx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2758 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdogQTx1EeWiQ_wtFd6fGQ" showIcon="false">
2759 <customFeatures>labelSize</customFeatures>
2760 </centerLabelStyle>
2761 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdogQjx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2762 <customFeatures>labelSize</customFeatures>
2763 </endLabelStyle>
2764 </ownedStyle>
2765 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2766 </ownedDiagramElements>
2767 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdpuYDx1EeWiQ_wtFd6fGQ" name="[0..1] leftOperand" sourceNode="_bbIl4Dx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2768 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Equals/leftOperand"/>
2769 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Equals/leftOperand"/>
2770 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdqVcDx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2771 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdqVcTx1EeWiQ_wtFd6fGQ" showIcon="false">
2772 <customFeatures>labelSize</customFeatures>
2773 </centerLabelStyle>
2774 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdqVcjx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2775 <customFeatures>labelSize</customFeatures>
2776 </endLabelStyle>
2777 </ownedStyle>
2778 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2779 </ownedDiagramElements>
2780 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdq8gDx1EeWiQ_wtFd6fGQ" name="[0..1] rightOperand" sourceNode="_bbIl4Dx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2781 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Equals/rightOperand"/>
2782 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Equals/rightOperand"/>
2783 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdsKoDx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2784 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdsKoTx1EeWiQ_wtFd6fGQ" showIcon="false">
2785 <customFeatures>labelSize</customFeatures>
2786 </centerLabelStyle>
2787 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdsKojx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2788 <customFeatures>labelSize</customFeatures>
2789 </endLabelStyle>
2790 </ownedStyle>
2791 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2792 </ownedDiagramElements>
2793 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdsxsDx1EeWiQ_wtFd6fGQ" name="[0..*] operands" sourceNode="_bbKbEDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2794 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Distinct/operands"/>
2795 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Distinct/operands"/>
2796 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdtYwDx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2797 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdtYwTx1EeWiQ_wtFd6fGQ" showIcon="false">
2798 <customFeatures>labelSize</customFeatures>
2799 </centerLabelStyle>
2800 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdtYwjx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2801 <customFeatures>labelSize</customFeatures>
2802 </endLabelStyle>
2803 </ownedStyle>
2804 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2805 </ownedDiagramElements>
2806 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdt_0Dx1EeWiQ_wtFd6fGQ" name="[0..1] leftOperand" sourceNode="_bbNeYDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2807 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//LessThan/leftOperand"/>
2808 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//LessThan/leftOperand"/>
2809 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdum4Dx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2810 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdum4Tx1EeWiQ_wtFd6fGQ" showIcon="false">
2811 <customFeatures>labelSize</customFeatures>
2812 </centerLabelStyle>
2813 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdum4jx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2814 <customFeatures>labelSize</customFeatures>
2815 </endLabelStyle>
2816 </ownedStyle>
2817 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2818 </ownedDiagramElements>
2819 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdvN8Dx1EeWiQ_wtFd6fGQ" name="[0..1] rightOperand" sourceNode="_bbNeYDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2820 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//LessThan/rightOperand"/>
2821 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//LessThan/rightOperand"/>
2822 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdv1ADx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2823 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdv1ATx1EeWiQ_wtFd6fGQ" showIcon="false">
2824 <customFeatures>labelSize</customFeatures>
2825 </centerLabelStyle>
2826 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdv1Ajx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2827 <customFeatures>labelSize</customFeatures>
2828 </endLabelStyle>
2829 </ownedStyle>
2830 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2831 </ownedDiagramElements>
2832 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdwcEDx1EeWiQ_wtFd6fGQ" name="[0..1] leftOperand" sourceNode="_bbPTkDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2833 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//MoreThan/leftOperand"/>
2834 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//MoreThan/leftOperand"/>
2835 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdxqMDx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2836 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdxqMTx1EeWiQ_wtFd6fGQ" showIcon="false">
2837 <customFeatures>labelSize</customFeatures>
2838 </centerLabelStyle>
2839 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdxqMjx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2840 <customFeatures>labelSize</customFeatures>
2841 </endLabelStyle>
2842 </ownedStyle>
2843 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2844 </ownedDiagramElements>
2845 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdyRQDx1EeWiQ_wtFd6fGQ" name="[0..1] rightOperand" sourceNode="_bbPTkDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2846 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//MoreThan/rightOperand"/>
2847 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//MoreThan/rightOperand"/>
2848 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bdy4UDx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2849 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bdy4UTx1EeWiQ_wtFd6fGQ" showIcon="false">
2850 <customFeatures>labelSize</customFeatures>
2851 </centerLabelStyle>
2852 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bdy4Ujx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2853 <customFeatures>labelSize</customFeatures>
2854 </endLabelStyle>
2855 </ownedStyle>
2856 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2857 </ownedDiagramElements>
2858 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bdzfYDx1EeWiQ_wtFd6fGQ" name="[0..1] leftOperand" sourceNode="_bbRIwDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2859 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//LessOrEqualThan/leftOperand"/>
2860 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//LessOrEqualThan/leftOperand"/>
2861 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bd0GcDx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2862 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bd0GcTx1EeWiQ_wtFd6fGQ" showIcon="false">
2863 <customFeatures>labelSize</customFeatures>
2864 </centerLabelStyle>
2865 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bd0Gcjx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2866 <customFeatures>labelSize</customFeatures>
2867 </endLabelStyle>
2868 </ownedStyle>
2869 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2870 </ownedDiagramElements>
2871 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bd0tgDx1EeWiQ_wtFd6fGQ" name="[0..1] rightOperand" sourceNode="_bbRIwDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2872 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//LessOrEqualThan/rightOperand"/>
2873 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//LessOrEqualThan/rightOperand"/>
2874 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bd1UkDx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2875 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bd1UkTx1EeWiQ_wtFd6fGQ" showIcon="false">
2876 <customFeatures>labelSize</customFeatures>
2877 </centerLabelStyle>
2878 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bd1Ukjx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2879 <customFeatures>labelSize</customFeatures>
2880 </endLabelStyle>
2881 </ownedStyle>
2882 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2883 </ownedDiagramElements>
2884 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bd17oDx1EeWiQ_wtFd6fGQ" name="[0..1] leftOperand" sourceNode="_bbTlADx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2885 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//MoreOrEqualThan/leftOperand"/>
2886 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//MoreOrEqualThan/leftOperand"/>
2887 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bd2isDx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2888 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bd2isTx1EeWiQ_wtFd6fGQ" showIcon="false">
2889 <customFeatures>labelSize</customFeatures>
2890 </centerLabelStyle>
2891 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bd2isjx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2892 <customFeatures>labelSize</customFeatures>
2893 </endLabelStyle>
2894 </ownedStyle>
2895 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2896 </ownedDiagramElements>
2897 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bd3JwDx1EeWiQ_wtFd6fGQ" name="[0..1] rightOperand" sourceNode="_bbTlADx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2898 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//MoreOrEqualThan/rightOperand"/>
2899 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//MoreOrEqualThan/rightOperand"/>
2900 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bd4X4Dx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2901 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bd4X4Tx1EeWiQ_wtFd6fGQ" showIcon="false">
2902 <customFeatures>labelSize</customFeatures>
2903 </centerLabelStyle>
2904 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bd4X4jx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2905 <customFeatures>labelSize</customFeatures>
2906 </endLabelStyle>
2907 </ownedStyle>
2908 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2909 </ownedDiagramElements>
2910 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bd4-8Dx1EeWiQ_wtFd6fGQ" name="[0..1] leftOperand" sourceNode="_bbVaMDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2911 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//IntOperation/leftOperand"/>
2912 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//IntOperation/leftOperand"/>
2913 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bd5mADx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2914 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bd5mATx1EeWiQ_wtFd6fGQ" showIcon="false">
2915 <customFeatures>labelSize</customFeatures>
2916 </centerLabelStyle>
2917 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bd5mAjx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2918 <customFeatures>labelSize</customFeatures>
2919 </endLabelStyle>
2920 </ownedStyle>
2921 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2922 </ownedDiagramElements>
2923 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bd6NEDx1EeWiQ_wtFd6fGQ" name="[0..1] rightOperand" sourceNode="_bbVaMDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2924 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//IntOperation/rightOperand"/>
2925 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//IntOperation/rightOperand"/>
2926 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bd60IDx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2927 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bd60ITx1EeWiQ_wtFd6fGQ" showIcon="false">
2928 <customFeatures>labelSize</customFeatures>
2929 </centerLabelStyle>
2930 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bd60Ijx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2931 <customFeatures>labelSize</customFeatures>
2932 </endLabelStyle>
2933 </ownedStyle>
2934 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2935 </ownedDiagramElements>
2936 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bd7bMDx1EeWiQ_wtFd6fGQ" name="[1..1] value" sourceNode="_bbpjQDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
2937 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Assertion/value"/>
2938 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Assertion/value"/>
2939 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bd8pUDx1EeWiQ_wtFd6fGQ" description="_bd8CQDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2940 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bd8pUTx1EeWiQ_wtFd6fGQ" showIcon="false">
2941 <customFeatures>labelSize</customFeatures>
2942 <labelFormat>bold</labelFormat>
2943 </centerLabelStyle>
2944 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bd8pUjx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2945 <customFeatures>labelSize</customFeatures>
2946 </endLabelStyle>
2947 </ownedStyle>
2948 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2949 </ownedDiagramElements>
2950 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bd8pUzx1EeWiQ_wtFd6fGQ" name="[0..*] parameters" sourceNode="_bbrYcDx1EeWiQ_wtFd6fGQ" targetNode="_baKVgDx1EeWiQ_wtFd6fGQ">
2951 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Relation/parameters"/>
2952 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Relation/parameters"/>
2953 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bd93cDx1EeWiQ_wtFd6fGQ" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2954 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bd93cTx1EeWiQ_wtFd6fGQ" showIcon="false">
2955 <customFeatures>labelSize</customFeatures>
2956 </centerLabelStyle>
2957 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bd93cjx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2958 <customFeatures>labelSize</customFeatures>
2959 </endLabelStyle>
2960 </ownedStyle>
2961 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2962 </ownedDiagramElements>
2963 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bd-egDx1EeWiQ_wtFd6fGQ" name="[1..1] type" sourceNode="_bbsmkDx1EeWiQ_wtFd6fGQ" targetNode="_baKVgDx1EeWiQ_wtFd6fGQ">
2964 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Constant/type"/>
2965 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Constant/type"/>
2966 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bd_soDx1EeWiQ_wtFd6fGQ" description="_bd8CQDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2967 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bd_soTx1EeWiQ_wtFd6fGQ" showIcon="false">
2968 <customFeatures>labelSize</customFeatures>
2969 <labelFormat>bold</labelFormat>
2970 </centerLabelStyle>
2971 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bd_sojx1EeWiQ_wtFd6fGQ" showIcon="false" labelColor="39,76,114">
2972 <customFeatures>labelSize</customFeatures>
2973 </endLabelStyle>
2974 </ownedStyle>
2975 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2976 </ownedDiagramElements>
2977 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beBh0Dx1EeWiQ_wtFd6fGQ" sourceNode="_bZ1lYDx1EeWiQ_wtFd6fGQ" targetNode="_bbl44Dx1EeWiQ_wtFd6fGQ">
2978 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Type"/>
2979 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Type/@eGenericSuperTypes.0"/>
2980 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5YyOgIPIEeWOre-0TMCmMQ" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
2981 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.0/@style"/>
2982 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_5YyOgYPIEeWOre-0TMCmMQ" showIcon="false">
2983 <labelFormat>italic</labelFormat>
2984 </beginLabelStyle>
2985 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_5YyOgoPIEeWOre-0TMCmMQ" showIcon="false"/>
2986 </ownedStyle>
2987 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
2988 </ownedDiagramElements>
2989 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beDXADx1EeWiQ_wtFd6fGQ" sourceNode="_baDn0Dx1EeWiQ_wtFd6fGQ" targetNode="_bahh4Dx1EeWiQ_wtFd6fGQ">
2990 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//DefinedElement"/>
2991 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//DefinedElement/@eGenericSuperTypes.0"/>
2992 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beD-EDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
2993 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
2994 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beD-ETx1EeWiQ_wtFd6fGQ" showIcon="false">
2995 <labelFormat>italic</labelFormat>
2996 </beginLabelStyle>
2997 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beD-Ejx1EeWiQ_wtFd6fGQ" showIcon="false"/>
2998 </ownedStyle>
2999 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3000 </ownedDiagramElements>
3001 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beElIDx1EeWiQ_wtFd6fGQ" sourceNode="_baGEEDx1EeWiQ_wtFd6fGQ" targetNode="_bZ1lYDx1EeWiQ_wtFd6fGQ">
3002 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeDefinition"/>
3003 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//TypeDefinition/@eGenericSuperTypes.0"/>
3004 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beElITx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3005 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3006 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beElIjx1EeWiQ_wtFd6fGQ" showIcon="false">
3007 <labelFormat>italic</labelFormat>
3008 </beginLabelStyle>
3009 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beElIzx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3010 </ownedStyle>
3011 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3012 </ownedDiagramElements>
3013 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beGaUDx1EeWiQ_wtFd6fGQ" sourceNode="_baKVgDx1EeWiQ_wtFd6fGQ" targetNode="_bbl44Dx1EeWiQ_wtFd6fGQ">
3014 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeReference"/>
3015 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//TypeReference/@eGenericSuperTypes.0"/>
3016 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beGaUTx1EeWiQ_wtFd6fGQ" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
3017 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.0/@style"/>
3018 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beGaUjx1EeWiQ_wtFd6fGQ" showIcon="false">
3019 <labelFormat>italic</labelFormat>
3020 </beginLabelStyle>
3021 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beGaUzx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3022 </ownedStyle>
3023 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3024 </ownedDiagramElements>
3025 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beHBYDx1EeWiQ_wtFd6fGQ" sourceNode="_baMxwDx1EeWiQ_wtFd6fGQ" targetNode="_baKVgDx1EeWiQ_wtFd6fGQ">
3026 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//ComplexTypeReference"/>
3027 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//ComplexTypeReference/@eGenericSuperTypes.0"/>
3028 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beHocDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3029 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3030 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beHocTx1EeWiQ_wtFd6fGQ" showIcon="false">
3031 <labelFormat>italic</labelFormat>
3032 </beginLabelStyle>
3033 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beHocjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3034 </ownedStyle>
3035 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3036 </ownedDiagramElements>
3037 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beHoczx1EeWiQ_wtFd6fGQ" sourceNode="_baPOADx1EeWiQ_wtFd6fGQ" targetNode="_baKVgDx1EeWiQ_wtFd6fGQ">
3038 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//PrimitiveTypeReference"/>
3039 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//PrimitiveTypeReference/@eGenericSuperTypes.0"/>
3040 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beIPgDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3041 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3042 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beIPgTx1EeWiQ_wtFd6fGQ" showIcon="false">
3043 <labelFormat>italic</labelFormat>
3044 </beginLabelStyle>
3045 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beIPgjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3046 </ownedStyle>
3047 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3048 </ownedDiagramElements>
3049 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beIPgzx1EeWiQ_wtFd6fGQ" sourceNode="_baRDMDx1EeWiQ_wtFd6fGQ" targetNode="_baPOADx1EeWiQ_wtFd6fGQ">
3050 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntTypeReference"/>
3051 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//IntTypeReference/@eGenericSuperTypes.0"/>
3052 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beI2kDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3053 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3054 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beI2kTx1EeWiQ_wtFd6fGQ" showIcon="false">
3055 <labelFormat>italic</labelFormat>
3056 </beginLabelStyle>
3057 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beI2kjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3058 </ownedStyle>
3059 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3060 </ownedDiagramElements>
3061 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beJdoDx1EeWiQ_wtFd6fGQ" sourceNode="_baYX8Dx1EeWiQ_wtFd6fGQ" targetNode="_baPOADx1EeWiQ_wtFd6fGQ">
3062 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolTypeReference"/>
3063 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//BoolTypeReference/@eGenericSuperTypes.0"/>
3064 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beKEsDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3065 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3066 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beKEsTx1EeWiQ_wtFd6fGQ" showIcon="false">
3067 <labelFormat>italic</labelFormat>
3068 </beginLabelStyle>
3069 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beKEsjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3070 </ownedStyle>
3071 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3072 </ownedDiagramElements>
3073 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beKrwDx1EeWiQ_wtFd6fGQ" sourceNode="_baa0MDx1EeWiQ_wtFd6fGQ" targetNode="_baPOADx1EeWiQ_wtFd6fGQ">
3074 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//RealTypeReference"/>
3075 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//RealTypeReference/@eGenericSuperTypes.0"/>
3076 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beLS0Dx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3077 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3078 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beLS0Tx1EeWiQ_wtFd6fGQ" showIcon="false">
3079 <labelFormat>italic</labelFormat>
3080 </beginLabelStyle>
3081 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beLS0jx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3082 </ownedStyle>
3083 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3084 </ownedDiagramElements>
3085 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beLS0zx1EeWiQ_wtFd6fGQ" sourceNode="_badQcDx1EeWiQ_wtFd6fGQ" targetNode="_bahh4Dx1EeWiQ_wtFd6fGQ">
3086 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Function"/>
3087 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Function/@eGenericSuperTypes.0"/>
3088 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beL54Dx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3089 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3090 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beL54Tx1EeWiQ_wtFd6fGQ" showIcon="false">
3091 <labelFormat>italic</labelFormat>
3092 </beginLabelStyle>
3093 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beL54jx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3094 </ownedStyle>
3095 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3096 </ownedDiagramElements>
3097 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beMg8Dx1EeWiQ_wtFd6fGQ" sourceNode="_bafssDx1EeWiQ_wtFd6fGQ" targetNode="_bbnuEDx1EeWiQ_wtFd6fGQ">
3098 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Term"/>
3099 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Term/@eGenericSuperTypes.0"/>
3100 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beNIADx1EeWiQ_wtFd6fGQ" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
3101 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.0/@style"/>
3102 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beNIATx1EeWiQ_wtFd6fGQ" showIcon="false">
3103 <labelFormat>italic</labelFormat>
3104 </beginLabelStyle>
3105 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beNIAjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3106 </ownedStyle>
3107 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3108 </ownedDiagramElements>
3109 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beNIAzx1EeWiQ_wtFd6fGQ" sourceNode="_bahh4Dx1EeWiQ_wtFd6fGQ" targetNode="_bbnuEDx1EeWiQ_wtFd6fGQ">
3110 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//SymbolicDeclaration"/>
3111 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//SymbolicDeclaration/@eGenericSuperTypes.0"/>
3112 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beNvEDx1EeWiQ_wtFd6fGQ" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
3113 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.0/@style"/>
3114 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beNvETx1EeWiQ_wtFd6fGQ" showIcon="false">
3115 <labelFormat>italic</labelFormat>
3116 </beginLabelStyle>
3117 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beNvEjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3118 </ownedStyle>
3119 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3120 </ownedDiagramElements>
3121 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beOWIDx1EeWiQ_wtFd6fGQ" sourceNode="_baj-IDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
3122 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//SymbolicValue"/>
3123 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//SymbolicValue/@eGenericSuperTypes.0"/>
3124 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beOWITx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3125 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3126 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beOWIjx1EeWiQ_wtFd6fGQ" showIcon="false">
3127 <labelFormat>italic</labelFormat>
3128 </beginLabelStyle>
3129 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beOWIzx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3130 </ownedStyle>
3131 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3132 </ownedDiagramElements>
3133 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beO9MDx1EeWiQ_wtFd6fGQ" sourceNode="_balzUDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
3134 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//AtomicTerm"/>
3135 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//AtomicTerm/@eGenericSuperTypes.0"/>
3136 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bePkQDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3137 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3138 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_bePkQTx1EeWiQ_wtFd6fGQ" showIcon="false">
3139 <labelFormat>italic</labelFormat>
3140 </beginLabelStyle>
3141 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bePkQjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3142 </ownedStyle>
3143 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3144 </ownedDiagramElements>
3145 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bePkQzx1EeWiQ_wtFd6fGQ" sourceNode="_bao2oDx1EeWiQ_wtFd6fGQ" targetNode="_balzUDx1EeWiQ_wtFd6fGQ">
3146 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntLiteral"/>
3147 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//IntLiteral/@eGenericSuperTypes.0"/>
3148 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beQLUDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3149 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3150 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beQLUTx1EeWiQ_wtFd6fGQ" showIcon="false">
3151 <labelFormat>italic</labelFormat>
3152 </beginLabelStyle>
3153 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beQLUjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3154 </ownedStyle>
3155 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3156 </ownedDiagramElements>
3157 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beRZcDx1EeWiQ_wtFd6fGQ" sourceNode="_batvIDx1EeWiQ_wtFd6fGQ" targetNode="_balzUDx1EeWiQ_wtFd6fGQ">
3158 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolLiteral"/>
3159 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//BoolLiteral/@eGenericSuperTypes.0"/>
3160 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beRZcTx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3161 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3162 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beRZcjx1EeWiQ_wtFd6fGQ" showIcon="false">
3163 <labelFormat>italic</labelFormat>
3164 </beginLabelStyle>
3165 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beRZczx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3166 </ownedStyle>
3167 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3168 </ownedDiagramElements>
3169 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beSAgDx1EeWiQ_wtFd6fGQ" sourceNode="_bawLYDx1EeWiQ_wtFd6fGQ" targetNode="_balzUDx1EeWiQ_wtFd6fGQ">
3170 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//RealLiteral"/>
3171 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//RealLiteral/@eGenericSuperTypes.0"/>
3172 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beSnkDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3173 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3174 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beSnkTx1EeWiQ_wtFd6fGQ" showIcon="false">
3175 <labelFormat>italic</labelFormat>
3176 </beginLabelStyle>
3177 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beSnkjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3178 </ownedStyle>
3179 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3180 </ownedDiagramElements>
3181 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beTOoDx1EeWiQ_wtFd6fGQ" sourceNode="_baynoDx1EeWiQ_wtFd6fGQ" targetNode="_bahh4Dx1EeWiQ_wtFd6fGQ">
3182 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Variable"/>
3183 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Variable/@eGenericSuperTypes.0"/>
3184 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beTOoTx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3185 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3186 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beTOojx1EeWiQ_wtFd6fGQ" showIcon="false">
3187 <labelFormat>italic</labelFormat>
3188 </beginLabelStyle>
3189 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beTOozx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3190 </ownedStyle>
3191 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3192 </ownedDiagramElements>
3193 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beT1sDx1EeWiQ_wtFd6fGQ" sourceNode="_ba1D4Dx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
3194 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//QuantifiedExpression"/>
3195 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//QuantifiedExpression/@eGenericSuperTypes.0"/>
3196 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beT1sTx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3197 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3198 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beT1sjx1EeWiQ_wtFd6fGQ" showIcon="false">
3199 <labelFormat>italic</labelFormat>
3200 </beginLabelStyle>
3201 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beT1szx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3202 </ownedStyle>
3203 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3204 </ownedDiagramElements>
3205 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beUcwDx1EeWiQ_wtFd6fGQ" sourceNode="_ba3gIDx1EeWiQ_wtFd6fGQ" targetNode="_ba1D4Dx1EeWiQ_wtFd6fGQ">
3206 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Exists"/>
3207 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Exists/@eGenericSuperTypes.0"/>
3208 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beVD0Dx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3209 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3210 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beVD0Tx1EeWiQ_wtFd6fGQ" showIcon="false">
3211 <labelFormat>italic</labelFormat>
3212 </beginLabelStyle>
3213 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beVD0jx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3214 </ownedStyle>
3215 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3216 </ownedDiagramElements>
3217 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beVq4Dx1EeWiQ_wtFd6fGQ" sourceNode="_ba58YDx1EeWiQ_wtFd6fGQ" targetNode="_ba1D4Dx1EeWiQ_wtFd6fGQ">
3218 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Forall"/>
3219 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Forall/@eGenericSuperTypes.0"/>
3220 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beVq4Tx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3221 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3222 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beVq4jx1EeWiQ_wtFd6fGQ" showIcon="false">
3223 <labelFormat>italic</labelFormat>
3224 </beginLabelStyle>
3225 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beVq4zx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3226 </ownedStyle>
3227 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3228 </ownedDiagramElements>
3229 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beWR8Dx1EeWiQ_wtFd6fGQ" sourceNode="_ba7xkDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
3230 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolOperation"/>
3231 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//BoolOperation/@eGenericSuperTypes.0"/>
3232 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beW5ADx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3233 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3234 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beW5ATx1EeWiQ_wtFd6fGQ" showIcon="false">
3235 <labelFormat>italic</labelFormat>
3236 </beginLabelStyle>
3237 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beW5Ajx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3238 </ownedStyle>
3239 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3240 </ownedDiagramElements>
3241 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beW5Azx1EeWiQ_wtFd6fGQ" sourceNode="_ba9mwDx1EeWiQ_wtFd6fGQ" targetNode="_ba7xkDx1EeWiQ_wtFd6fGQ">
3242 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//And"/>
3243 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//And/@eGenericSuperTypes.0"/>
3244 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beXgEDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3245 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3246 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beXgETx1EeWiQ_wtFd6fGQ" showIcon="false">
3247 <labelFormat>italic</labelFormat>
3248 </beginLabelStyle>
3249 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beXgEjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3250 </ownedStyle>
3251 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3252 </ownedDiagramElements>
3253 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beYHIDx1EeWiQ_wtFd6fGQ" sourceNode="_ba_b8Dx1EeWiQ_wtFd6fGQ" targetNode="_ba7xkDx1EeWiQ_wtFd6fGQ">
3254 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Or"/>
3255 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Or/@eGenericSuperTypes.0"/>
3256 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beYHITx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3257 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3258 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beYHIjx1EeWiQ_wtFd6fGQ" showIcon="false">
3259 <labelFormat>italic</labelFormat>
3260 </beginLabelStyle>
3261 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beYHIzx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3262 </ownedStyle>
3263 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3264 </ownedDiagramElements>
3265 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beYuMDx1EeWiQ_wtFd6fGQ" sourceNode="_bbBRIDx1EeWiQ_wtFd6fGQ" targetNode="_ba7xkDx1EeWiQ_wtFd6fGQ">
3266 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Impl"/>
3267 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Impl/@eGenericSuperTypes.0"/>
3268 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beZVQDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3269 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3270 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beZVQTx1EeWiQ_wtFd6fGQ" showIcon="false">
3271 <labelFormat>italic</labelFormat>
3272 </beginLabelStyle>
3273 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beZVQjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3274 </ownedStyle>
3275 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3276 </ownedDiagramElements>
3277 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beZVQzx1EeWiQ_wtFd6fGQ" sourceNode="_bbDtYDx1EeWiQ_wtFd6fGQ" targetNode="_ba7xkDx1EeWiQ_wtFd6fGQ">
3278 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Not"/>
3279 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Not/@eGenericSuperTypes.0"/>
3280 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beZ8UDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3281 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3282 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beZ8UTx1EeWiQ_wtFd6fGQ" showIcon="false">
3283 <labelFormat>italic</labelFormat>
3284 </beginLabelStyle>
3285 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beZ8Ujx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3286 </ownedStyle>
3287 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3288 </ownedDiagramElements>
3289 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beajYDx1EeWiQ_wtFd6fGQ" sourceNode="_bbFikDx1EeWiQ_wtFd6fGQ" targetNode="_ba7xkDx1EeWiQ_wtFd6fGQ">
3290 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Iff"/>
3291 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Iff/@eGenericSuperTypes.0"/>
3292 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beajYTx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3293 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3294 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beajYjx1EeWiQ_wtFd6fGQ" showIcon="false">
3295 <labelFormat>italic</labelFormat>
3296 </beginLabelStyle>
3297 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beajYzx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3298 </ownedStyle>
3299 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3300 </ownedDiagramElements>
3301 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bebKcDx1EeWiQ_wtFd6fGQ" sourceNode="_bbGwsDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
3302 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//PrimitiveRelation"/>
3303 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//PrimitiveRelation/@eGenericSuperTypes.0"/>
3304 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bebxgDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3305 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3306 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_bebxgTx1EeWiQ_wtFd6fGQ" showIcon="false">
3307 <labelFormat>italic</labelFormat>
3308 </beginLabelStyle>
3309 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bebxgjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3310 </ownedStyle>
3311 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3312 </ownedDiagramElements>
3313 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bebxgzx1EeWiQ_wtFd6fGQ" sourceNode="_bbIl4Dx1EeWiQ_wtFd6fGQ" targetNode="_bbGwsDx1EeWiQ_wtFd6fGQ">
3314 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Equals"/>
3315 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Equals/@eGenericSuperTypes.0"/>
3316 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_becYkDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3317 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3318 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_becYkTx1EeWiQ_wtFd6fGQ" showIcon="false">
3319 <labelFormat>italic</labelFormat>
3320 </beginLabelStyle>
3321 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_becYkjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3322 </ownedStyle>
3323 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3324 </ownedDiagramElements>
3325 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bec_oDx1EeWiQ_wtFd6fGQ" sourceNode="_bbKbEDx1EeWiQ_wtFd6fGQ" targetNode="_bbGwsDx1EeWiQ_wtFd6fGQ">
3326 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Distinct"/>
3327 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Distinct/@eGenericSuperTypes.0"/>
3328 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bedmsDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3329 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3330 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_bedmsTx1EeWiQ_wtFd6fGQ" showIcon="false">
3331 <labelFormat>italic</labelFormat>
3332 </beginLabelStyle>
3333 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bedmsjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3334 </ownedStyle>
3335 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3336 </ownedDiagramElements>
3337 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beeNwDx1EeWiQ_wtFd6fGQ" sourceNode="_bbNeYDx1EeWiQ_wtFd6fGQ" targetNode="_bbGwsDx1EeWiQ_wtFd6fGQ">
3338 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//LessThan"/>
3339 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//LessThan/@eGenericSuperTypes.0"/>
3340 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beeNwTx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3341 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3342 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beeNwjx1EeWiQ_wtFd6fGQ" showIcon="false">
3343 <labelFormat>italic</labelFormat>
3344 </beginLabelStyle>
3345 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beeNwzx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3346 </ownedStyle>
3347 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3348 </ownedDiagramElements>
3349 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_beifMDx1EeWiQ_wtFd6fGQ" sourceNode="_bbPTkDx1EeWiQ_wtFd6fGQ" targetNode="_bbGwsDx1EeWiQ_wtFd6fGQ">
3350 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//MoreThan"/>
3351 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//MoreThan/@eGenericSuperTypes.0"/>
3352 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bejGQDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3353 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3354 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_bejGQTx1EeWiQ_wtFd6fGQ" showIcon="false">
3355 <labelFormat>italic</labelFormat>
3356 </beginLabelStyle>
3357 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bejGQjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3358 </ownedStyle>
3359 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3360 </ownedDiagramElements>
3361 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bejtUDx1EeWiQ_wtFd6fGQ" sourceNode="_bbRIwDx1EeWiQ_wtFd6fGQ" targetNode="_bbGwsDx1EeWiQ_wtFd6fGQ">
3362 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//LessOrEqualThan"/>
3363 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//LessOrEqualThan/@eGenericSuperTypes.0"/>
3364 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bejtUTx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3365 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3366 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_bejtUjx1EeWiQ_wtFd6fGQ" showIcon="false">
3367 <labelFormat>italic</labelFormat>
3368 </beginLabelStyle>
3369 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bejtUzx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3370 </ownedStyle>
3371 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3372 </ownedDiagramElements>
3373 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bekUYDx1EeWiQ_wtFd6fGQ" sourceNode="_bbTlADx1EeWiQ_wtFd6fGQ" targetNode="_bbGwsDx1EeWiQ_wtFd6fGQ">
3374 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//MoreOrEqualThan"/>
3375 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//MoreOrEqualThan/@eGenericSuperTypes.0"/>
3376 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bekUYTx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3377 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3378 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_bekUYjx1EeWiQ_wtFd6fGQ" showIcon="false">
3379 <labelFormat>italic</labelFormat>
3380 </beginLabelStyle>
3381 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bekUYzx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3382 </ownedStyle>
3383 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3384 </ownedDiagramElements>
3385 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bek7cDx1EeWiQ_wtFd6fGQ" sourceNode="_bbVaMDx1EeWiQ_wtFd6fGQ" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
3386 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntOperation"/>
3387 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//IntOperation/@eGenericSuperTypes.0"/>
3388 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beligDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3389 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3390 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beligTx1EeWiQ_wtFd6fGQ" showIcon="false">
3391 <labelFormat>italic</labelFormat>
3392 </beginLabelStyle>
3393 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beligjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3394 </ownedStyle>
3395 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3396 </ownedDiagramElements>
3397 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bemJkDx1EeWiQ_wtFd6fGQ" sourceNode="_bbaSsDx1EeWiQ_wtFd6fGQ" targetNode="_bbVaMDx1EeWiQ_wtFd6fGQ">
3398 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Plus"/>
3399 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Plus/@eGenericSuperTypes.0"/>
3400 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bemJkTx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3401 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3402 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_bemJkjx1EeWiQ_wtFd6fGQ" showIcon="false">
3403 <labelFormat>italic</labelFormat>
3404 </beginLabelStyle>
3405 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bemJkzx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3406 </ownedStyle>
3407 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3408 </ownedDiagramElements>
3409 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bemwoDx1EeWiQ_wtFd6fGQ" sourceNode="_bbekIDx1EeWiQ_wtFd6fGQ" targetNode="_bbVaMDx1EeWiQ_wtFd6fGQ">
3410 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Minus"/>
3411 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Minus/@eGenericSuperTypes.0"/>
3412 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_benXsDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3413 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3414 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_benXsTx1EeWiQ_wtFd6fGQ" showIcon="false">
3415 <labelFormat>italic</labelFormat>
3416 </beginLabelStyle>
3417 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_benXsjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3418 </ownedStyle>
3419 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3420 </ownedDiagramElements>
3421 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_ben-wDx1EeWiQ_wtFd6fGQ" sourceNode="_bbgZUDx1EeWiQ_wtFd6fGQ" targetNode="_bbVaMDx1EeWiQ_wtFd6fGQ">
3422 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Multiply"/>
3423 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Multiply/@eGenericSuperTypes.0"/>
3424 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_beol0Dx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3425 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3426 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_beol0Tx1EeWiQ_wtFd6fGQ" showIcon="false">
3427 <labelFormat>italic</labelFormat>
3428 </beginLabelStyle>
3429 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_beol0jx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3430 </ownedStyle>
3431 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3432 </ownedDiagramElements>
3433 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bepM4Dx1EeWiQ_wtFd6fGQ" sourceNode="_bbi1kDx1EeWiQ_wtFd6fGQ" targetNode="_bbVaMDx1EeWiQ_wtFd6fGQ">
3434 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Divison"/>
3435 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Divison/@eGenericSuperTypes.0"/>
3436 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bepM4Tx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3437 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3438 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_bepM4jx1EeWiQ_wtFd6fGQ" showIcon="false">
3439 <labelFormat>italic</labelFormat>
3440 </beginLabelStyle>
3441 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bepM4zx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3442 </ownedStyle>
3443 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3444 </ownedDiagramElements>
3445 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bepz8Dx1EeWiQ_wtFd6fGQ" sourceNode="_bbkqwDx1EeWiQ_wtFd6fGQ" targetNode="_bbVaMDx1EeWiQ_wtFd6fGQ">
3446 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Mod"/>
3447 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Mod/@eGenericSuperTypes.0"/>
3448 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bepz8Tx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3449 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3450 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_bepz8jx1EeWiQ_wtFd6fGQ" showIcon="false">
3451 <labelFormat>italic</labelFormat>
3452 </beginLabelStyle>
3453 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bepz8zx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3454 </ownedStyle>
3455 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3456 </ownedDiagramElements>
3457 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_berCEDx1EeWiQ_wtFd6fGQ" sourceNode="_bbrYcDx1EeWiQ_wtFd6fGQ" targetNode="_bahh4Dx1EeWiQ_wtFd6fGQ">
3458 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Relation"/>
3459 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Relation/@eGenericSuperTypes.0"/>
3460 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_berCETx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3461 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3462 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_berCEjx1EeWiQ_wtFd6fGQ" showIcon="false">
3463 <labelFormat>italic</labelFormat>
3464 </beginLabelStyle>
3465 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_berCEzx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3466 </ownedStyle>
3467 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3468 </ownedDiagramElements>
3469 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_berpIDx1EeWiQ_wtFd6fGQ" sourceNode="_bbsmkDx1EeWiQ_wtFd6fGQ" targetNode="_bahh4Dx1EeWiQ_wtFd6fGQ">
3470 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Constant"/>
3471 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Constant/@eGenericSuperTypes.0"/>
3472 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_besQMDx1EeWiQ_wtFd6fGQ" targetArrow="InputClosedArrow" routingStyle="tree">
3473 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3474 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_besQMTx1EeWiQ_wtFd6fGQ" showIcon="false">
3475 <labelFormat>italic</labelFormat>
3476 </beginLabelStyle>
3477 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_besQMjx1EeWiQ_wtFd6fGQ" showIcon="false"/>
3478 </ownedStyle>
3479 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3480 </ownedDiagramElements>
3481 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_wdcfIGBxEeWUrY3nJWVIeg" name="ConstantDefinition" tooltipText="" outgoingEdges="_08lj8GBxEeWUrY3nJWVIeg _3jn3oGBxEeWUrY3nJWVIeg _Jh4qoGL8EeW2rMch79jPxg" width="12" height="10">
3482 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//ConstantDefinition"/>
3483 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//ConstantDefinition"/>
3484 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
3485 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
3486 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
3487 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_wddtQGBxEeWUrY3nJWVIeg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
3488 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
3489 </ownedStyle>
3490 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
3491 </ownedDiagramElements>
3492 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_08lj8GBxEeWUrY3nJWVIeg" sourceNode="_wdcfIGBxEeWUrY3nJWVIeg" targetNode="_bbsmkDx1EeWiQ_wtFd6fGQ">
3493 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//ConstantDefinition"/>
3494 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//ConstantDefinition/@eGenericSuperTypes.0"/>
3495 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_08mLAGBxEeWUrY3nJWVIeg" targetArrow="InputClosedArrow" routingStyle="tree">
3496 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3497 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_08mLAWBxEeWUrY3nJWVIeg" showIcon="false">
3498 <labelFormat>italic</labelFormat>
3499 </beginLabelStyle>
3500 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_08mLAmBxEeWUrY3nJWVIeg" showIcon="false"/>
3501 </ownedStyle>
3502 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3503 </ownedDiagramElements>
3504 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_3jn3oGBxEeWUrY3nJWVIeg" name="[1..1] value" sourceNode="_wdcfIGBxEeWUrY3nJWVIeg" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
3505 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//ConstantDefinition/value"/>
3506 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//ConstantDefinition/value"/>
3507 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_9cB1cGBxEeWUrY3nJWVIeg" description="_bd8CQDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
3508 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_9cB1cWBxEeWUrY3nJWVIeg" showIcon="false">
3509 <labelFormat>bold</labelFormat>
3510 </centerLabelStyle>
3511 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_9cB1cmBxEeWUrY3nJWVIeg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
3512 </ownedStyle>
3513 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
3514 </ownedDiagramElements>
3515 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_JM3mQGByEeWUrY3nJWVIeg" name="RelationDefinition" tooltipText="" outgoingEdges="_y4FgIGByEeWUrY3nJWVIeg _vtC1kGB0EeWUrY3nJWVIeg _WpVCAGL8EeW2rMch79jPxg _dG1Q8GL8EeW2rMch79jPxg" width="12" height="10">
3516 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//RelationDefinition"/>
3517 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//RelationDefinition"/>
3518 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
3519 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
3520 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
3521 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_JM3mQWByEeWUrY3nJWVIeg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
3522 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
3523 </ownedStyle>
3524 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
3525 </ownedDiagramElements>
3526 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_y4FgIGByEeWUrY3nJWVIeg" name="[0..*] variables" sourceNode="_JM3mQGByEeWUrY3nJWVIeg" targetNode="_baynoDx1EeWiQ_wtFd6fGQ">
3527 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//RelationDefinition/variables"/>
3528 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//RelationDefinition/variables"/>
3529 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_fzp7AGB0EeWUrY3nJWVIeg" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
3530 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_fzp7AWB0EeWUrY3nJWVIeg" showIcon="false"/>
3531 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_fzp7AmB0EeWUrY3nJWVIeg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
3532 </ownedStyle>
3533 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
3534 </ownedDiagramElements>
3535 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_vtC1kGB0EeWUrY3nJWVIeg" name="[1..1] value" sourceNode="_JM3mQGByEeWUrY3nJWVIeg" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
3536 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//RelationDefinition/value"/>
3537 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//RelationDefinition/value"/>
3538 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_wisrMGB0EeWUrY3nJWVIeg" description="_bd8CQDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
3539 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_wisrMWB0EeWUrY3nJWVIeg" showIcon="false">
3540 <labelFormat>bold</labelFormat>
3541 </centerLabelStyle>
3542 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_wisrMmB0EeWUrY3nJWVIeg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
3543 </ownedStyle>
3544 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
3545 </ownedDiagramElements>
3546 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7R9DMGB0EeWUrY3nJWVIeg" name="FunctionDefinition" tooltipText="" outgoingEdges="_9x_-EGB0EeWUrY3nJWVIeg _CHDSwGB1EeWUrY3nJWVIeg _gHdJUGL8EeW2rMch79jPxg _wgcQsIV8EeWhkpx1k3JSIA" width="12" height="10">
3547 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//FunctionDefinition"/>
3548 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//FunctionDefinition"/>
3549 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
3550 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
3551 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
3552 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7R9DMWB0EeWUrY3nJWVIeg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
3553 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
3554 </ownedStyle>
3555 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
3556 </ownedDiagramElements>
3557 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_9x_-EGB0EeWUrY3nJWVIeg" sourceNode="_7R9DMGB0EeWUrY3nJWVIeg" targetNode="_badQcDx1EeWiQ_wtFd6fGQ">
3558 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//FunctionDefinition"/>
3559 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//FunctionDefinition/@eGenericSuperTypes.0"/>
3560 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_9x_-EWB0EeWUrY3nJWVIeg" targetArrow="InputClosedArrow" routingStyle="tree">
3561 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3562 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_9x_-EmB0EeWUrY3nJWVIeg" showIcon="false">
3563 <labelFormat>italic</labelFormat>
3564 </beginLabelStyle>
3565 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_9x_-E2B0EeWUrY3nJWVIeg" showIcon="false"/>
3566 </ownedStyle>
3567 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3568 </ownedDiagramElements>
3569 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_CHDSwGB1EeWUrY3nJWVIeg" name="[0..*] variable" sourceNode="_7R9DMGB0EeWUrY3nJWVIeg" targetNode="_baynoDx1EeWiQ_wtFd6fGQ">
3570 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//FunctionDefinition/variable"/>
3571 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//FunctionDefinition/variable"/>
3572 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_DF6uwGB1EeWUrY3nJWVIeg" description="_bdKmMDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
3573 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_DF6uwWB1EeWUrY3nJWVIeg" showIcon="false"/>
3574 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_DF6uwmB1EeWUrY3nJWVIeg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
3575 </ownedStyle>
3576 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
3577 </ownedDiagramElements>
3578 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_LltJEGB2EeWUrY3nJWVIeg" name="IfThenElse" tooltipText="" outgoingEdges="_NuL4gGB2EeWUrY3nJWVIeg _RF40IGB2EeWUrY3nJWVIeg _SEkp8GB2EeWUrY3nJWVIeg _UrvggGB2EeWUrY3nJWVIeg" width="12" height="10">
3579 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IfThenElse"/>
3580 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//IfThenElse"/>
3581 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
3582 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
3583 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
3584 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_LltwIGB2EeWUrY3nJWVIeg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
3585 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
3586 </ownedStyle>
3587 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
3588 </ownedDiagramElements>
3589 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_NuL4gGB2EeWUrY3nJWVIeg" name="[1..1] condition" sourceNode="_LltJEGB2EeWUrY3nJWVIeg" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
3590 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/condition"/>
3591 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/condition"/>
3592 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_UIKSUGB2EeWUrY3nJWVIeg" description="_bd8CQDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
3593 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_UIKSUWB2EeWUrY3nJWVIeg" showIcon="false">
3594 <labelFormat>bold</labelFormat>
3595 </centerLabelStyle>
3596 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_UIKSUmB2EeWUrY3nJWVIeg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
3597 </ownedStyle>
3598 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
3599 </ownedDiagramElements>
3600 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_RF40IGB2EeWUrY3nJWVIeg" sourceNode="_LltJEGB2EeWUrY3nJWVIeg" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
3601 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IfThenElse"/>
3602 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//IfThenElse/@eGenericSuperTypes.0"/>
3603 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_RF5bMGB2EeWUrY3nJWVIeg" targetArrow="InputClosedArrow" routingStyle="tree">
3604 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3605 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_RF5bMWB2EeWUrY3nJWVIeg" showIcon="false">
3606 <labelFormat>italic</labelFormat>
3607 </beginLabelStyle>
3608 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_RF5bMmB2EeWUrY3nJWVIeg" showIcon="false"/>
3609 </ownedStyle>
3610 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3611 </ownedDiagramElements>
3612 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_SEkp8GB2EeWUrY3nJWVIeg" name="[1..1] ifTrue" sourceNode="_LltJEGB2EeWUrY3nJWVIeg" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
3613 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/ifTrue"/>
3614 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/ifTrue"/>
3615 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_TZyJYGB2EeWUrY3nJWVIeg" description="_bd8CQDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
3616 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_TZyJYWB2EeWUrY3nJWVIeg" showIcon="false">
3617 <labelFormat>bold</labelFormat>
3618 </centerLabelStyle>
3619 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_TZyJYmB2EeWUrY3nJWVIeg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
3620 </ownedStyle>
3621 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
3622 </ownedDiagramElements>
3623 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_UrvggGB2EeWUrY3nJWVIeg" name="[1..1] ifFalse" sourceNode="_LltJEGB2EeWUrY3nJWVIeg" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
3624 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/ifFalse"/>
3625 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/ifFalse"/>
3626 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_WcH5AGB2EeWUrY3nJWVIeg" description="_bd8CQDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
3627 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_WcH5AWB2EeWUrY3nJWVIeg" showIcon="false">
3628 <labelFormat>bold</labelFormat>
3629 </centerLabelStyle>
3630 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_WcH5AmB2EeWUrY3nJWVIeg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
3631 </ownedStyle>
3632 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
3633 </ownedDiagramElements>
3634 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_EpuB0GL8EeW2rMch79jPxg" name="ConstantDeclaration" tooltipText="" outgoingEdges="_Hjg5cGL8EeW2rMch79jPxg" incomingEdges="_Jh4qoGL8EeW2rMch79jPxg" width="12" height="10">
3635 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//ConstantDeclaration"/>
3636 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//ConstantDeclaration"/>
3637 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_EpvP8GL8EeW2rMch79jPxg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
3638 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
3639 </ownedStyle>
3640 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
3641 </ownedDiagramElements>
3642 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Hjg5cGL8EeW2rMch79jPxg" sourceNode="_EpuB0GL8EeW2rMch79jPxg" targetNode="_bbsmkDx1EeWiQ_wtFd6fGQ">
3643 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//ConstantDeclaration"/>
3644 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//ConstantDeclaration/@eGenericSuperTypes.0"/>
3645 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_HjhggGL8EeW2rMch79jPxg" targetArrow="InputClosedArrow" routingStyle="tree">
3646 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3647 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_HjhggWL8EeW2rMch79jPxg" showIcon="false">
3648 <labelFormat>italic</labelFormat>
3649 </beginLabelStyle>
3650 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_HjhggmL8EeW2rMch79jPxg" showIcon="false"/>
3651 </ownedStyle>
3652 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3653 </ownedDiagramElements>
3654 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Jh4qoGL8EeW2rMch79jPxg" name="[0..1] defines" sourceNode="_wdcfIGBxEeWUrY3nJWVIeg" targetNode="_EpuB0GL8EeW2rMch79jPxg">
3655 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//ConstantDefinition/defines"/>
3656 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//ConstantDefinition/defines"/>
3657 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Jh5RsGL8EeW2rMch79jPxg" routingStyle="manhattan" strokeColor="0,0,0">
3658 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
3659 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Jh5RsWL8EeW2rMch79jPxg" showIcon="false">
3660 <customFeatures>labelSize</customFeatures>
3661 </centerLabelStyle>
3662 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_Jh5RsmL8EeW2rMch79jPxg" showIcon="false" labelColor="39,76,114">
3663 <customFeatures>labelSize</customFeatures>
3664 </endLabelStyle>
3665 </ownedStyle>
3666 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
3667 </ownedDiagramElements>
3668 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_MU49wGL8EeW2rMch79jPxg" name="RelationDeclaration" tooltipText="" outgoingEdges="_OYoXIGL8EeW2rMch79jPxg" incomingEdges="_dG1Q8GL8EeW2rMch79jPxg" width="12" height="10">
3669 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//RelationDeclaration"/>
3670 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//RelationDeclaration"/>
3671 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
3672 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
3673 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
3674 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_MU49wWL8EeW2rMch79jPxg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
3675 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
3676 </ownedStyle>
3677 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
3678 </ownedDiagramElements>
3679 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_OYoXIGL8EeW2rMch79jPxg" sourceNode="_MU49wGL8EeW2rMch79jPxg" targetNode="_bbrYcDx1EeWiQ_wtFd6fGQ">
3680 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//RelationDeclaration"/>
3681 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//RelationDeclaration/@eGenericSuperTypes.0"/>
3682 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_OYoXIWL8EeW2rMch79jPxg" targetArrow="InputClosedArrow" routingStyle="tree">
3683 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3684 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_OYo-MGL8EeW2rMch79jPxg" showIcon="false">
3685 <labelFormat>italic</labelFormat>
3686 </beginLabelStyle>
3687 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_OYo-MWL8EeW2rMch79jPxg" showIcon="false"/>
3688 </ownedStyle>
3689 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3690 </ownedDiagramElements>
3691 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_TUMSMGL8EeW2rMch79jPxg" name="FunctionDeclaration" tooltipText="" outgoingEdges="_VHCI0GL8EeW2rMch79jPxg" incomingEdges="_gHdJUGL8EeW2rMch79jPxg" width="12" height="10">
3692 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//FunctionDeclaration"/>
3693 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//FunctionDeclaration"/>
3694 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
3695 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
3696 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
3697 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_TUM5QGL8EeW2rMch79jPxg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
3698 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
3699 </ownedStyle>
3700 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
3701 </ownedDiagramElements>
3702 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_VHCI0GL8EeW2rMch79jPxg" sourceNode="_TUMSMGL8EeW2rMch79jPxg" targetNode="_badQcDx1EeWiQ_wtFd6fGQ">
3703 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//FunctionDeclaration"/>
3704 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//FunctionDeclaration/@eGenericSuperTypes.0"/>
3705 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_VHCI0WL8EeW2rMch79jPxg" targetArrow="InputClosedArrow" routingStyle="tree">
3706 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3707 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_VHCI0mL8EeW2rMch79jPxg" showIcon="false">
3708 <labelFormat>italic</labelFormat>
3709 </beginLabelStyle>
3710 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_VHCI02L8EeW2rMch79jPxg" showIcon="false"/>
3711 </ownedStyle>
3712 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3713 </ownedDiagramElements>
3714 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_WpVCAGL8EeW2rMch79jPxg" sourceNode="_JM3mQGByEeWUrY3nJWVIeg" targetNode="_bbrYcDx1EeWiQ_wtFd6fGQ">
3715 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//RelationDefinition"/>
3716 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//RelationDefinition/@eGenericSuperTypes.0"/>
3717 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_WpVpEGL8EeW2rMch79jPxg" targetArrow="InputClosedArrow" routingStyle="tree">
3718 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3719 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_WpVpEWL8EeW2rMch79jPxg" showIcon="false">
3720 <labelFormat>italic</labelFormat>
3721 </beginLabelStyle>
3722 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_WpVpEmL8EeW2rMch79jPxg" showIcon="false"/>
3723 </ownedStyle>
3724 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3725 </ownedDiagramElements>
3726 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_dG1Q8GL8EeW2rMch79jPxg" name="[0..1] defines" sourceNode="_JM3mQGByEeWUrY3nJWVIeg" targetNode="_MU49wGL8EeW2rMch79jPxg">
3727 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//RelationDefinition/defines"/>
3728 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//RelationDefinition/defines"/>
3729 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_dG1Q8WL8EeW2rMch79jPxg" routingStyle="manhattan" strokeColor="0,0,0">
3730 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
3731 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_dG14AGL8EeW2rMch79jPxg" showIcon="false">
3732 <customFeatures>labelSize</customFeatures>
3733 </centerLabelStyle>
3734 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_dG14AWL8EeW2rMch79jPxg" showIcon="false" labelColor="39,76,114">
3735 <customFeatures>labelSize</customFeatures>
3736 </endLabelStyle>
3737 </ownedStyle>
3738 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
3739 </ownedDiagramElements>
3740 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_gHdJUGL8EeW2rMch79jPxg" name="[0..1] defines" sourceNode="_7R9DMGB0EeWUrY3nJWVIeg" targetNode="_TUMSMGL8EeW2rMch79jPxg">
3741 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//FunctionDefinition/defines"/>
3742 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//FunctionDefinition/defines"/>
3743 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_gHdwYGL8EeW2rMch79jPxg" routingStyle="manhattan" strokeColor="0,0,0">
3744 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
3745 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_gHdwYWL8EeW2rMch79jPxg" showIcon="false">
3746 <customFeatures>labelSize</customFeatures>
3747 </centerLabelStyle>
3748 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_gHdwYmL8EeW2rMch79jPxg" showIcon="false" labelColor="39,76,114">
3749 <customFeatures>labelSize</customFeatures>
3750 </endLabelStyle>
3751 </ownedStyle>
3752 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
3753 </ownedDiagramElements>
3754 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_XNsv8GPkEeWuQbyserbs4Q" name="TypeDeclaration" tooltipText="" outgoingEdges="_agR7AGPkEeWuQbyserbs4Q" incomingEdges="_dBnPUGPkEeWuQbyserbs4Q" width="12" height="10">
3755 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeDeclaration"/>
3756 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeDeclaration"/>
3757 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
3758 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
3759 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
3760 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_XNtXAGPkEeWuQbyserbs4Q" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
3761 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
3762 </ownedStyle>
3763 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
3764 </ownedDiagramElements>
3765 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_agR7AGPkEeWuQbyserbs4Q" sourceNode="_XNsv8GPkEeWuQbyserbs4Q" targetNode="_bZ1lYDx1EeWiQ_wtFd6fGQ">
3766 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeDeclaration"/>
3767 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//TypeDeclaration/@eGenericSuperTypes.0"/>
3768 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_agSiEGPkEeWuQbyserbs4Q" targetArrow="InputClosedArrow" routingStyle="tree">
3769 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3770 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_agSiEWPkEeWuQbyserbs4Q" showIcon="false">
3771 <labelFormat>italic</labelFormat>
3772 </beginLabelStyle>
3773 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_agSiEmPkEeWuQbyserbs4Q" showIcon="false"/>
3774 </ownedStyle>
3775 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3776 </ownedDiagramElements>
3777 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_dBnPUGPkEeWuQbyserbs4Q" name="[0..1] defines" sourceNode="_baGEEDx1EeWiQ_wtFd6fGQ" targetNode="_XNsv8GPkEeWuQbyserbs4Q">
3778 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//TypeDefinition/defines"/>
3779 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//TypeDefinition/defines"/>
3780 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_dBn2YGPkEeWuQbyserbs4Q" routingStyle="manhattan" strokeColor="0,0,0">
3781 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
3782 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_dBn2YWPkEeWuQbyserbs4Q" showIcon="false">
3783 <customFeatures>labelSize</customFeatures>
3784 </centerLabelStyle>
3785 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_dBn2YmPkEeWuQbyserbs4Q" showIcon="false" labelColor="39,76,114">
3786 <customFeatures>labelSize</customFeatures>
3787 </endLabelStyle>
3788 </ownedStyle>
3789 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
3790 </ownedDiagramElements>
3791 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_OLE8QIPKEeWOre-0TMCmMQ" sourceNode="_bZ1lYDx1EeWiQ_wtFd6fGQ" targetNode="_bZ1lYDx1EeWiQ_wtFd6fGQ" beginLabel="[0..*] supertypes" endLabel="[0..*] subtypes">
3792 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Type/subtypes"/>
3793 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Type/subtypes"/>
3794 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Type/supertypes"/>
3795 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_OLGKYIPKEeWOre-0TMCmMQ" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0">
3796 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style"/>
3797 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_OLGKYYPKEeWOre-0TMCmMQ" showIcon="false"/>
3798 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_OLGKYoPKEeWOre-0TMCmMQ" showIcon="false"/>
3799 </ownedStyle>
3800 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
3801 </ownedDiagramElements>
3802 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_wgcQsIV8EeWhkpx1k3JSIA" name="[1..1] value" sourceNode="_7R9DMGB0EeWUrY3nJWVIeg" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
3803 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//FunctionDefinition/value"/>
3804 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//FunctionDefinition/value"/>
3805 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_wgde0IV8EeWhkpx1k3JSIA" description="_bd8CQDx1EeWiQ_wtFd6fGQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
3806 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_wgde0YV8EeWhkpx1k3JSIA" showIcon="false">
3807 <customFeatures>labelSize</customFeatures>
3808 <labelFormat>bold</labelFormat>
3809 </centerLabelStyle>
3810 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_wgde0oV8EeWhkpx1k3JSIA" showIcon="false" labelColor="39,76,114">
3811 <customFeatures>labelSize</customFeatures>
3812 </endLabelStyle>
3813 </ownedStyle>
3814 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
3815 </ownedDiagramElements>
3816 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_OEz0UAGOEeaDEJmvhpl9gg" sourceNode="_baDn0Dx1EeWiQ_wtFd6fGQ" targetNode="_baGEEDx1EeWiQ_wtFd6fGQ" beginLabel="[0..*] elements" endLabel="[1..*] definedInType">
3817 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//DefinedElement/definedInType"/>
3818 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//DefinedElement/definedInType"/>
3819 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//TypeDefinition/elements"/>
3820 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_OE1CcAGOEeaDEJmvhpl9gg" description="_OE0bYAGOEeaDEJmvhpl9gg" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0">
3821 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_OE1CcQGOEeaDEJmvhpl9gg" showIcon="false">
3822 <labelFormat>bold</labelFormat>
3823 </beginLabelStyle>
3824 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_OE1CcgGOEeaDEJmvhpl9gg" showIcon="false">
3825 <labelFormat>bold</labelFormat>
3826 </endLabelStyle>
3827 </ownedStyle>
3828 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
3829 </ownedDiagramElements>
3830 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_QmrUIAGOEeaDEJmvhpl9gg" name="UnknownBecauseUninterpreted" tooltipText="" outgoingEdges="_X9kCIAGOEeaDEJmvhpl9gg" width="12" height="10">
3831 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//UnknownBecauseUninterpreted"/>
3832 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//UnknownBecauseUninterpreted"/>
3833 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
3834 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
3835 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
3836 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_QmsiQAGOEeaDEJmvhpl9gg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
3837 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
3838 </ownedStyle>
3839 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
3840 </ownedDiagramElements>
3841 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_X9kCIAGOEeaDEJmvhpl9gg" sourceNode="_QmrUIAGOEeaDEJmvhpl9gg" targetNode="_bafssDx1EeWiQ_wtFd6fGQ">
3842 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//UnknownBecauseUninterpreted"/>
3843 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//UnknownBecauseUninterpreted/@eGenericSuperTypes.0"/>
3844 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_X9kpMAGOEeaDEJmvhpl9gg" targetArrow="InputClosedArrow" routingStyle="tree">
3845 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
3846 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_X9kpMQGOEeaDEJmvhpl9gg" showIcon="false">
3847 <labelFormat>italic</labelFormat>
3848 </beginLabelStyle>
3849 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_X9kpMgGOEeaDEJmvhpl9gg" showIcon="false"/>
3850 </ownedStyle>
3851 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
3852 </ownedDiagramElements>
3853 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
3854 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_XL9PtTx1EeWiQ_wtFd6fGQ"/>
3855 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
3856 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
3857 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
3858 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
3859 <target xmi:type="ecore:EPackage" href="logiclanguage.ecore#/"/>
3860 </ownedRepresentations>
3861 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_veq9MGCGEeWg-_mfCA72gg" name="logicproblem class diagram">
3862 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_veq9MWCGEeWg-_mfCA72gg" source="DANNOTATION_CUSTOMIZATION_KEY">
3863 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_veq9MmCGEeWg-_mfCA72gg">
3864 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_w24tUGCGEeWg-_mfCA72gg" sourceArrow="FillDiamond" routingStyle="manhattan">
3865 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
3866 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_w24tUWCGEeWg-_mfCA72gg" showIcon="false" labelExpression="service:render">
3867 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
3868 </centerLabelStyleDescription>
3869 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_w24tUmCGEeWg-_mfCA72gg" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
3870 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
3871 </endLabelStyleDescription>
3872 </computedStyleDescriptions>
3873 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_3QEc8GCGEeWg-_mfCA72gg" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
3874 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
3875 <labelFormat>bold</labelFormat>
3876 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
3877 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
3878 </computedStyleDescriptions>
3879 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_XtkzkMDnEea_b6UyFzv22g" sourceArrow="InputArrow" routingStyle="manhattan">
3880 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
3881 <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_XtkzkcDnEea_b6UyFzv22g" showIcon="false" labelExpression="service:renderEOpposite">
3882 <labelFormat>bold</labelFormat>
3883 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
3884 </beginLabelStyleDescription>
3885 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_XtkzksDnEea_b6UyFzv22g" showIcon="false" labelExpression="service:render">
3886 <labelFormat>bold</labelFormat>
3887 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
3888 </endLabelStyleDescription>
3889 </computedStyleDescriptions>
3890 </data>
3891 </ownedAnnotationEntries>
3892 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_ve6NwGCGEeWg-_mfCA72gg" source="GMF_DIAGRAMS">
3893 <data xmi:type="notation:Diagram" xmi:id="_ve6NwWCGEeWg-_mfCA72gg" type="Sirius" element="_veq9MGCGEeWg-_mfCA72gg" measurementUnit="Pixel">
3894 <children xmi:type="notation:Node" xmi:id="_w2-M4GCGEeWg-_mfCA72gg" type="2003" element="_w2mZcGCGEeWg-_mfCA72gg">
3895 <children xmi:type="notation:Node" xmi:id="_w2_bAGCGEeWg-_mfCA72gg" type="5007"/>
3896 <children xmi:type="notation:Node" xmi:id="_w3ApIGCGEeWg-_mfCA72gg" type="7004">
3897 <styles xmi:type="notation:SortingStyle" xmi:id="_w3ApIWCGEeWg-_mfCA72gg"/>
3898 <styles xmi:type="notation:FilteringStyle" xmi:id="_w3ApImCGEeWg-_mfCA72gg"/>
3899 </children>
3900 <styles xmi:type="notation:ShapeStyle" xmi:id="_w2-M4WCGEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
3901 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w2-M4mCGEeWg-_mfCA72gg" x="450" y="270"/>
3902 </children>
3903 <children xmi:type="notation:Node" xmi:id="_3QU7oGCGEeWg-_mfCA72gg" type="2003" element="_3Pz-QGCGEeWg-_mfCA72gg">
3904 <children xmi:type="notation:Node" xmi:id="_3QVisGCGEeWg-_mfCA72gg" type="5007"/>
3905 <children xmi:type="notation:Node" xmi:id="_3QVisWCGEeWg-_mfCA72gg" type="7004">
3906 <children xmi:type="notation:Node" xmi:id="_3QZ0IGCGEeWg-_mfCA72gg" type="3010" element="_3QD14GCGEeWg-_mfCA72gg">
3907 <styles xmi:type="notation:FontStyle" xmi:id="_3QZ0IWCGEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8" bold="true"/>
3908 <layoutConstraint xmi:type="notation:Location" xmi:id="_3QZ0ImCGEeWg-_mfCA72gg"/>
3909 </children>
3910 <styles xmi:type="notation:SortingStyle" xmi:id="_3QVismCGEeWg-_mfCA72gg"/>
3911 <styles xmi:type="notation:FilteringStyle" xmi:id="_3QVis2CGEeWg-_mfCA72gg"/>
3912 </children>
3913 <styles xmi:type="notation:ShapeStyle" xmi:id="_3QU7oWCGEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
3914 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3QU7omCGEeWg-_mfCA72gg" x="747" y="270"/>
3915 </children>
3916 <children xmi:type="notation:Node" xmi:id="_3QVitGCGEeWg-_mfCA72gg" type="2003" element="_3P1zcGCGEeWg-_mfCA72gg">
3917 <children xmi:type="notation:Node" xmi:id="_3QWJwGCGEeWg-_mfCA72gg" type="5007"/>
3918 <children xmi:type="notation:Node" xmi:id="_3QWJwWCGEeWg-_mfCA72gg" type="7004">
3919 <styles xmi:type="notation:SortingStyle" xmi:id="_3QWJwmCGEeWg-_mfCA72gg"/>
3920 <styles xmi:type="notation:FilteringStyle" xmi:id="_3QWJw2CGEeWg-_mfCA72gg"/>
3921 </children>
3922 <styles xmi:type="notation:ShapeStyle" xmi:id="_3QVitWCGEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
3923 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3QVitmCGEeWg-_mfCA72gg" x="430" y="450" height="68"/>
3924 </children>
3925 <children xmi:type="notation:Node" xmi:id="_3QWw0GCGEeWg-_mfCA72gg" type="2003" element="_3P3BkGCGEeWg-_mfCA72gg">
3926 <children xmi:type="notation:Node" xmi:id="_3QWw02CGEeWg-_mfCA72gg" type="5007"/>
3927 <children xmi:type="notation:Node" xmi:id="_3QWw1GCGEeWg-_mfCA72gg" type="7004">
3928 <styles xmi:type="notation:SortingStyle" xmi:id="_3QWw1WCGEeWg-_mfCA72gg"/>
3929 <styles xmi:type="notation:FilteringStyle" xmi:id="_3QWw1mCGEeWg-_mfCA72gg"/>
3930 </children>
3931 <styles xmi:type="notation:ShapeStyle" xmi:id="_3QWw0WCGEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
3932 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3QWw0mCGEeWg-_mfCA72gg" x="690" y="450" height="68"/>
3933 </children>
3934 <children xmi:type="notation:Node" xmi:id="_3QXX4GCGEeWg-_mfCA72gg" type="2003" element="_3P4PsGCGEeWg-_mfCA72gg">
3935 <children xmi:type="notation:Node" xmi:id="_3QXX42CGEeWg-_mfCA72gg" type="5007"/>
3936 <children xmi:type="notation:Node" xmi:id="_3QYmAGCGEeWg-_mfCA72gg" type="7004">
3937 <styles xmi:type="notation:SortingStyle" xmi:id="_3QYmAWCGEeWg-_mfCA72gg"/>
3938 <styles xmi:type="notation:FilteringStyle" xmi:id="_3QYmAmCGEeWg-_mfCA72gg"/>
3939 </children>
3940 <styles xmi:type="notation:ShapeStyle" xmi:id="_3QXX4WCGEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
3941 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3QXX4mCGEeWg-_mfCA72gg" x="560" y="450" height="68"/>
3942 </children>
3943 <children xmi:type="notation:Node" xmi:id="_3QYmA2CGEeWg-_mfCA72gg" type="2003" element="_3P5d0GCGEeWg-_mfCA72gg">
3944 <children xmi:type="notation:Node" xmi:id="_3QZNEGCGEeWg-_mfCA72gg" type="5007"/>
3945 <children xmi:type="notation:Node" xmi:id="_3QZNEWCGEeWg-_mfCA72gg" type="7004">
3946 <children xmi:type="notation:Node" xmi:id="_3QabMGCGEeWg-_mfCA72gg" type="3010" element="_3QFrEGCGEeWg-_mfCA72gg">
3947 <styles xmi:type="notation:FontStyle" xmi:id="_3QabMWCGEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8" bold="true"/>
3948 <layoutConstraint xmi:type="notation:Location" xmi:id="_3QabMmCGEeWg-_mfCA72gg"/>
3949 </children>
3950 <children xmi:type="notation:Node" xmi:id="_KuD68AGOEeaDEJmvhpl9gg" type="3010" element="_KtsukAGOEeaDEJmvhpl9gg">
3951 <styles xmi:type="notation:FontStyle" xmi:id="_KuD68QGOEeaDEJmvhpl9gg" fontName="Segoe UI" fontHeight="8" bold="true"/>
3952 <layoutConstraint xmi:type="notation:Location" xmi:id="_KuD68gGOEeaDEJmvhpl9gg"/>
3953 </children>
3954 <styles xmi:type="notation:SortingStyle" xmi:id="_3QZNEmCGEeWg-_mfCA72gg"/>
3955 <styles xmi:type="notation:FilteringStyle" xmi:id="_3QZNE2CGEeWg-_mfCA72gg"/>
3956 </children>
3957 <styles xmi:type="notation:ShapeStyle" xmi:id="_3QYmBGCGEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
3958 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3QYmBWCGEeWg-_mfCA72gg" x="240" y="450" height="68"/>
3959 </children>
3960 <children xmi:type="notation:Node" xmi:id="_GffWQIcPEeWhkpx1k3JSIA" type="2003" element="_GfTJAIcPEeWhkpx1k3JSIA">
3961 <children xmi:type="notation:Node" xmi:id="_Gff9UIcPEeWhkpx1k3JSIA" type="5007"/>
3962 <children xmi:type="notation:Node" xmi:id="_Gff9UYcPEeWhkpx1k3JSIA" type="7004">
3963 <styles xmi:type="notation:SortingStyle" xmi:id="_Gff9UocPEeWhkpx1k3JSIA"/>
3964 <styles xmi:type="notation:FilteringStyle" xmi:id="_Gff9U4cPEeWhkpx1k3JSIA"/>
3965 </children>
3966 <styles xmi:type="notation:ShapeStyle" xmi:id="_GffWQYcPEeWhkpx1k3JSIA" fontName="Segoe UI" fontHeight="8"/>
3967 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GffWQocPEeWhkpx1k3JSIA" x="105" y="450" height="68"/>
3968 </children>
3969 <children xmi:type="notation:Node" xmi:id="_hJrcoLw8Eeaj7tVusjQpHg" type="2003" element="_hJDKgLw8Eeaj7tVusjQpHg">
3970 <children xmi:type="notation:Node" xmi:id="_hJyxYLw8Eeaj7tVusjQpHg" type="5007"/>
3971 <children xmi:type="notation:Node" xmi:id="_hJzYcLw8Eeaj7tVusjQpHg" type="7004">
3972 <styles xmi:type="notation:SortingStyle" xmi:id="_hJzYcbw8Eeaj7tVusjQpHg"/>
3973 <styles xmi:type="notation:FilteringStyle" xmi:id="_hJzYcrw8Eeaj7tVusjQpHg"/>
3974 </children>
3975 <styles xmi:type="notation:ShapeStyle" xmi:id="_hJrcobw8Eeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
3976 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hJrcorw8Eeaj7tVusjQpHg" x="551" y="555" width="138" height="43"/>
3977 </children>
3978 <children xmi:type="notation:Node" xmi:id="_p34i4Lw8Eeaj7tVusjQpHg" type="2003" element="_p3bP4Lw8Eeaj7tVusjQpHg">
3979 <children xmi:type="notation:Node" xmi:id="_p35J8Lw8Eeaj7tVusjQpHg" type="5007"/>
3980 <children xmi:type="notation:Node" xmi:id="_p35J8bw8Eeaj7tVusjQpHg" type="7004">
3981 <styles xmi:type="notation:SortingStyle" xmi:id="_p35J8rw8Eeaj7tVusjQpHg"/>
3982 <styles xmi:type="notation:FilteringStyle" xmi:id="_p35J87w8Eeaj7tVusjQpHg"/>
3983 </children>
3984 <styles xmi:type="notation:ShapeStyle" xmi:id="_p34i4bw8Eeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
3985 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p34i4rw8Eeaj7tVusjQpHg" x="415" y="555" width="130" height="38"/>
3986 </children>
3987 <children xmi:type="notation:Node" xmi:id="_t5HjsLw8Eeaj7tVusjQpHg" type="2003" element="_t4w-YLw8Eeaj7tVusjQpHg">
3988 <children xmi:type="notation:Node" xmi:id="_t5JY4Lw8Eeaj7tVusjQpHg" type="5007"/>
3989 <children xmi:type="notation:Node" xmi:id="_t5J_8Lw8Eeaj7tVusjQpHg" type="7004">
3990 <styles xmi:type="notation:SortingStyle" xmi:id="_t5J_8bw8Eeaj7tVusjQpHg"/>
3991 <styles xmi:type="notation:FilteringStyle" xmi:id="_t5J_8rw8Eeaj7tVusjQpHg"/>
3992 </children>
3993 <styles xmi:type="notation:ShapeStyle" xmi:id="_t5IKwLw8Eeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
3994 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t5IKwbw8Eeaj7tVusjQpHg" x="690" y="555" width="133" height="43"/>
3995 </children>
3996 <children xmi:type="notation:Node" xmi:id="_yw2usLw8Eeaj7tVusjQpHg" type="2003" element="_ywfiULw8Eeaj7tVusjQpHg">
3997 <children xmi:type="notation:Node" xmi:id="_yw3VwLw8Eeaj7tVusjQpHg" type="5007"/>
3998 <children xmi:type="notation:Node" xmi:id="_yw3Vwbw8Eeaj7tVusjQpHg" type="7004">
3999 <styles xmi:type="notation:SortingStyle" xmi:id="_yw3Vwrw8Eeaj7tVusjQpHg"/>
4000 <styles xmi:type="notation:FilteringStyle" xmi:id="_yw3Vw7w8Eeaj7tVusjQpHg"/>
4001 </children>
4002 <styles xmi:type="notation:ShapeStyle" xmi:id="_yw2usbw8Eeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
4003 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yw2usrw8Eeaj7tVusjQpHg" x="747" y="395" width="136" height="38"/>
4004 </children>
4005 <children xmi:type="notation:Node" xmi:id="_sCeVsLw9Eeaj7tVusjQpHg" type="2003" element="_sCN3ALw9Eeaj7tVusjQpHg">
4006 <children xmi:type="notation:Node" xmi:id="_sCeVs7w9Eeaj7tVusjQpHg" type="5007"/>
4007 <children xmi:type="notation:Node" xmi:id="_sCeVtLw9Eeaj7tVusjQpHg" type="7004">
4008 <styles xmi:type="notation:SortingStyle" xmi:id="_sCeVtbw9Eeaj7tVusjQpHg"/>
4009 <styles xmi:type="notation:FilteringStyle" xmi:id="_sCeVtrw9Eeaj7tVusjQpHg"/>
4010 </children>
4011 <styles xmi:type="notation:ShapeStyle" xmi:id="_sCeVsbw9Eeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
4012 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCeVsrw9Eeaj7tVusjQpHg" x="945" y="298" width="120" height="43"/>
4013 </children>
4014 <styles xmi:type="notation:DiagramStyle" xmi:id="_ve6NwmCGEeWg-_mfCA72gg"/>
4015 <edges xmi:type="notation:Edge" xmi:id="_3QbCQGCGEeWg-_mfCA72gg" type="4001" element="_3QLKoGCGEeWg-_mfCA72gg" source="_w2-M4GCGEeWg-_mfCA72gg" target="_3QYmA2CGEeWg-_mfCA72gg">
4016 <children xmi:type="notation:Node" xmi:id="_3QbpUGCGEeWg-_mfCA72gg" type="6001">
4017 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3QbpUWCGEeWg-_mfCA72gg" y="-10"/>
4018 </children>
4019 <children xmi:type="notation:Node" xmi:id="_3QbpUmCGEeWg-_mfCA72gg" type="6002">
4020 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3QbpU2CGEeWg-_mfCA72gg" y="10"/>
4021 </children>
4022 <children xmi:type="notation:Node" xmi:id="_3QbpVGCGEeWg-_mfCA72gg" type="6003">
4023 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3QbpVWCGEeWg-_mfCA72gg" y="10"/>
4024 </children>
4025 <styles xmi:type="notation:ConnectorStyle" xmi:id="_3QbCQWCGEeWg-_mfCA72gg" routing="Rectilinear"/>
4026 <styles xmi:type="notation:FontStyle" xmi:id="_3QbCQmCGEeWg-_mfCA72gg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
4027 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3QbCQ2CGEeWg-_mfCA72gg" points="[-59, 90, 151, -188]$[-251, 90, -41, -188]$[-251, 180, -41, -98]"/>
4028 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3QesoGCGEeWg-_mfCA72gg" id="(0.5,0.0)"/>
4029 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3QesoWCGEeWg-_mfCA72gg" id="(0.5,1.4848484848484849)"/>
4030 </edges>
4031 <edges xmi:type="notation:Edge" xmi:id="_3QesomCGEeWg-_mfCA72gg" type="4001" element="_3QMYwGCGEeWg-_mfCA72gg" source="_w2-M4GCGEeWg-_mfCA72gg" target="_3QWw0GCGEeWg-_mfCA72gg">
4032 <children xmi:type="notation:Node" xmi:id="_3QespmCGEeWg-_mfCA72gg" type="6001">
4033 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Qesp2CGEeWg-_mfCA72gg" y="13"/>
4034 </children>
4035 <children xmi:type="notation:Node" xmi:id="_3QfTsGCGEeWg-_mfCA72gg" type="6002">
4036 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3QfTsWCGEeWg-_mfCA72gg" y="10"/>
4037 </children>
4038 <children xmi:type="notation:Node" xmi:id="_3QfTsmCGEeWg-_mfCA72gg" type="6003">
4039 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3QfTs2CGEeWg-_mfCA72gg" y="10"/>
4040 </children>
4041 <styles xmi:type="notation:ConnectorStyle" xmi:id="_3Qeso2CGEeWg-_mfCA72gg" routing="Rectilinear"/>
4042 <styles xmi:type="notation:FontStyle" xmi:id="_3QespGCGEeWg-_mfCA72gg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
4043 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3QespWCGEeWg-_mfCA72gg" points="[59, 90, -181, -188]$[226, 90, -14, -188]$[226, 180, -14, -98]"/>
4044 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3QfTtGCGEeWg-_mfCA72gg" id="(0.5,0.0)"/>
4045 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3QfTtWCGEeWg-_mfCA72gg" id="(0.5,1.4848484848484849)"/>
4046 </edges>
4047 <edges xmi:type="notation:Edge" xmi:id="_3QfTtmCGEeWg-_mfCA72gg" type="4001" element="_3QM_02CGEeWg-_mfCA72gg" source="_w2-M4GCGEeWg-_mfCA72gg" target="_3QU7oGCGEeWg-_mfCA72gg">
4048 <children xmi:type="notation:Node" xmi:id="_3Qf6wGCGEeWg-_mfCA72gg" type="6001">
4049 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Qf6wWCGEeWg-_mfCA72gg" x="6" y="-42"/>
4050 </children>
4051 <children xmi:type="notation:Node" xmi:id="_3Qf6wmCGEeWg-_mfCA72gg" type="6002">
4052 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Qf6w2CGEeWg-_mfCA72gg" y="10"/>
4053 </children>
4054 <children xmi:type="notation:Node" xmi:id="_3Qf6xGCGEeWg-_mfCA72gg" type="6003">
4055 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Qf6xWCGEeWg-_mfCA72gg" y="10"/>
4056 </children>
4057 <styles xmi:type="notation:ConnectorStyle" xmi:id="_3QfTt2CGEeWg-_mfCA72gg" routing="Rectilinear"/>
4058 <styles xmi:type="notation:FontStyle" xmi:id="_3QfTuGCGEeWg-_mfCA72gg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
4059 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3QfTuWCGEeWg-_mfCA72gg" points="[59, 73, -238, -25]$[238, 73, -59, -25]"/>
4060 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Qgh0GCGEeWg-_mfCA72gg" id="(0.5,0.0)"/>
4061 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Qgh0WCGEeWg-_mfCA72gg" id="(0.5,1.0)"/>
4062 </edges>
4063 <edges xmi:type="notation:Edge" xmi:id="_3Qgh0mCGEeWg-_mfCA72gg" type="4001" element="_3QON8GCGEeWg-_mfCA72gg" source="_w2-M4GCGEeWg-_mfCA72gg" target="_3QXX4GCGEeWg-_mfCA72gg">
4064 <children xmi:type="notation:Node" xmi:id="_3QhI4GCGEeWg-_mfCA72gg" type="6001">
4065 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3QhI4WCGEeWg-_mfCA72gg" y="-10"/>
4066 </children>
4067 <children xmi:type="notation:Node" xmi:id="_3QhI4mCGEeWg-_mfCA72gg" type="6002">
4068 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3QhI42CGEeWg-_mfCA72gg" y="10"/>
4069 </children>
4070 <children xmi:type="notation:Node" xmi:id="_3QhI5GCGEeWg-_mfCA72gg" type="6003">
4071 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3QhI5WCGEeWg-_mfCA72gg" y="10"/>
4072 </children>
4073 <styles xmi:type="notation:ConnectorStyle" xmi:id="_3Qgh02CGEeWg-_mfCA72gg" routing="Rectilinear"/>
4074 <styles xmi:type="notation:FontStyle" xmi:id="_3Qgh1GCGEeWg-_mfCA72gg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
4075 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3Qgh1WCGEeWg-_mfCA72gg" points="[59, 97, -51, -181]$[96, 97, -14, -181]$[96, 180, -14, -98]"/>
4076 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3QhI5mCGEeWg-_mfCA72gg" id="(0.5,0.0)"/>
4077 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3QhI52CGEeWg-_mfCA72gg" id="(0.5,1.4848484848484849)"/>
4078 </edges>
4079 <edges xmi:type="notation:Edge" xmi:id="_3QhI6GCGEeWg-_mfCA72gg" type="4001" element="_3QPcEGCGEeWg-_mfCA72gg" source="_w2-M4GCGEeWg-_mfCA72gg" target="_3QVitGCGEeWg-_mfCA72gg">
4080 <children xmi:type="notation:Node" xmi:id="_3Qhv8GCGEeWg-_mfCA72gg" type="6001">
4081 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Qhv8WCGEeWg-_mfCA72gg" y="-10"/>
4082 </children>
4083 <children xmi:type="notation:Node" xmi:id="_3Qhv8mCGEeWg-_mfCA72gg" type="6002">
4084 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Qhv82CGEeWg-_mfCA72gg" y="10"/>
4085 </children>
4086 <children xmi:type="notation:Node" xmi:id="_3Qhv9GCGEeWg-_mfCA72gg" type="6003">
4087 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Qhv9WCGEeWg-_mfCA72gg" y="10"/>
4088 </children>
4089 <styles xmi:type="notation:ConnectorStyle" xmi:id="_3QhI6WCGEeWg-_mfCA72gg" routing="Rectilinear"/>
4090 <styles xmi:type="notation:FontStyle" xmi:id="_3QhI6mCGEeWg-_mfCA72gg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
4091 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3QhI62CGEeWg-_mfCA72gg" points="[8, 98, 28, -180]$[8, 180, 28, -98]"/>
4092 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Qhv9mCGEeWg-_mfCA72gg" id="(0.5,0.0)"/>
4093 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Qhv92CGEeWg-_mfCA72gg" id="(0.5,1.4848484848484849)"/>
4094 </edges>
4095 <edges xmi:type="notation:Edge" xmi:id="_X7_1MIP1EeWOre-0TMCmMQ" visible="false" type="4001" element="_X7-AAIP1EeWOre-0TMCmMQ" source="_3QYmA2CGEeWg-_mfCA72gg" target="_3QYmA2CGEeWg-_mfCA72gg">
4096 <children xmi:type="notation:Node" xmi:id="_X7_1NIP1EeWOre-0TMCmMQ" type="6001">
4097 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X7_1NYP1EeWOre-0TMCmMQ" y="-10"/>
4098 </children>
4099 <children xmi:type="notation:Node" xmi:id="_X7_1NoP1EeWOre-0TMCmMQ" type="6002">
4100 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X8AcQIP1EeWOre-0TMCmMQ" x="-11" y="-9"/>
4101 </children>
4102 <children xmi:type="notation:Node" xmi:id="_X8AcQYP1EeWOre-0TMCmMQ" type="6003">
4103 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X8AcQoP1EeWOre-0TMCmMQ" x="11" y="-9"/>
4104 </children>
4105 <styles xmi:type="notation:ConnectorStyle" xmi:id="_X7_1MYP1EeWOre-0TMCmMQ" routing="Rectilinear"/>
4106 <styles xmi:type="notation:FontStyle" xmi:id="_X7_1MoP1EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
4107 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X7_1M4P1EeWOre-0TMCmMQ" points="[-44, 17, -44, 17]$[-44, 31, -44, 31]$[30, 31, 30, 31]$[30, 17, 30, 17]"/>
4108 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X8AcQ4P1EeWOre-0TMCmMQ" id="(0.5,0.7424242424242424)"/>
4109 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X8AcRIP1EeWOre-0TMCmMQ" id="(0.5,0.7424242424242424)"/>
4110 </edges>
4111 <edges xmi:type="notation:Edge" xmi:id="_IuIYEIcPEeWhkpx1k3JSIA" type="4001" element="_It8x4IcPEeWhkpx1k3JSIA" source="_w2-M4GCGEeWg-_mfCA72gg" target="_GffWQIcPEeWhkpx1k3JSIA">
4112 <children xmi:type="notation:Node" xmi:id="_IuI_IIcPEeWhkpx1k3JSIA" type="6001">
4113 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IuI_IYcPEeWhkpx1k3JSIA" y="-10"/>
4114 </children>
4115 <children xmi:type="notation:Node" xmi:id="_IuI_IocPEeWhkpx1k3JSIA" type="6002">
4116 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IuI_I4cPEeWhkpx1k3JSIA" y="10"/>
4117 </children>
4118 <children xmi:type="notation:Node" xmi:id="_IuI_JIcPEeWhkpx1k3JSIA" type="6003">
4119 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IuI_JYcPEeWhkpx1k3JSIA" y="10"/>
4120 </children>
4121 <styles xmi:type="notation:ConnectorStyle" xmi:id="_IuIYEYcPEeWhkpx1k3JSIA" routing="Rectilinear"/>
4122 <styles xmi:type="notation:FontStyle" xmi:id="_IuIYEocPEeWhkpx1k3JSIA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
4123 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IuIYE4cPEeWhkpx1k3JSIA" points="[0, 0, 295, -131]$[-295, 0, 0, -131]$[-295, 131, 0, 0]"/>
4124 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IuI_JocPEeWhkpx1k3JSIA" id="(0.0,0.5)"/>
4125 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IuI_J4cPEeWhkpx1k3JSIA" id="(0.423728813559322,0.0)"/>
4126 </edges>
4127 <edges xmi:type="notation:Edge" xmi:id="_yzpukLw9Eeaj7tVusjQpHg" type="4001" element="_yzbFELw9Eeaj7tVusjQpHg" source="_w2-M4GCGEeWg-_mfCA72gg" target="_sCeVsLw9Eeaj7tVusjQpHg">
4128 <children xmi:type="notation:Node" xmi:id="_yzqVoLw9Eeaj7tVusjQpHg" type="6001">
4129 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yzqVobw9Eeaj7tVusjQpHg" x="-15" y="-10"/>
4130 </children>
4131 <children xmi:type="notation:Node" xmi:id="_yzqVorw9Eeaj7tVusjQpHg" type="6002">
4132 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yzqVo7w9Eeaj7tVusjQpHg" x="74" y="10"/>
4133 </children>
4134 <children xmi:type="notation:Node" xmi:id="_yzqVpLw9Eeaj7tVusjQpHg" type="6003">
4135 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yzqVpbw9Eeaj7tVusjQpHg" x="-105" y="10"/>
4136 </children>
4137 <styles xmi:type="notation:ConnectorStyle" xmi:id="_yzpukbw9Eeaj7tVusjQpHg" routing="Rectilinear"/>
4138 <styles xmi:type="notation:FontStyle" xmi:id="_yzpukrw9Eeaj7tVusjQpHg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
4139 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yzpuk7w9Eeaj7tVusjQpHg" points="[-30, -48, -494, -48]$[-30, -103, -494, -103]$[465, -103, 1, -103]$[465, -20, 1, -20]"/>
4140 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yzqVprw9Eeaj7tVusjQpHg" id="(0.7666666666666667,0.49)"/>
4141 </edges>
4142 <edges xmi:type="notation:Edge" xmi:id="_0zHE4Lw9Eeaj7tVusjQpHg" type="4001" element="_0y2mMLw9Eeaj7tVusjQpHg" source="_yw2usLw8Eeaj7tVusjQpHg" target="_sCeVsLw9Eeaj7tVusjQpHg">
4143 <children xmi:type="notation:Node" xmi:id="_0zHE5Lw9Eeaj7tVusjQpHg" type="6001">
4144 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0zHE5bw9Eeaj7tVusjQpHg" x="-23" y="-10"/>
4145 </children>
4146 <children xmi:type="notation:Node" xmi:id="_0zHr8Lw9Eeaj7tVusjQpHg" type="6002">
4147 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0zHr8bw9Eeaj7tVusjQpHg" x="-11" y="2"/>
4148 </children>
4149 <children xmi:type="notation:Node" xmi:id="_0zHr8rw9Eeaj7tVusjQpHg" type="6003">
4150 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0zHr87w9Eeaj7tVusjQpHg" x="-15" y="-18"/>
4151 </children>
4152 <styles xmi:type="notation:ConnectorStyle" xmi:id="_0zHE4bw9Eeaj7tVusjQpHg" routing="Tree"/>
4153 <styles xmi:type="notation:FontStyle" xmi:id="_0zHE4rw9Eeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
4154 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0zHE47w9Eeaj7tVusjQpHg" points="[0, 0, -184, 77]$[0, -15, -184, 62]$[185, -15, 1, 62]$[185, -56, 1, 21]"/>
4155 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0zHr9Lw9Eeaj7tVusjQpHg" id="(0.5447761194029851,0.0)"/>
4156 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0zITALw9Eeaj7tVusjQpHg" id="(0.5,0.5)"/>
4157 </edges>
4158 <edges xmi:type="notation:Edge" xmi:id="_12gbkLw9Eeaj7tVusjQpHg" type="4001" element="_12OHsLw9Eeaj7tVusjQpHg" source="_t5HjsLw8Eeaj7tVusjQpHg" target="_sCeVsLw9Eeaj7tVusjQpHg">
4159 <children xmi:type="notation:Node" xmi:id="_12hCoLw9Eeaj7tVusjQpHg" type="6001">
4160 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_12hCobw9Eeaj7tVusjQpHg" x="-160" y="-10"/>
4161 </children>
4162 <children xmi:type="notation:Node" xmi:id="_12hCorw9Eeaj7tVusjQpHg" type="6002">
4163 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_12hCo7w9Eeaj7tVusjQpHg" x="-37" y="9"/>
4164 </children>
4165 <children xmi:type="notation:Node" xmi:id="_12hCpLw9Eeaj7tVusjQpHg" type="6003">
4166 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_12hCpbw9Eeaj7tVusjQpHg" x="-149" y="-21"/>
4167 </children>
4168 <styles xmi:type="notation:ConnectorStyle" xmi:id="_12gbkbw9Eeaj7tVusjQpHg" routing="Tree"/>
4169 <styles xmi:type="notation:FontStyle" xmi:id="_12gbkrw9Eeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
4170 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_12gbk7w9Eeaj7tVusjQpHg" points="[0, 0, -209, 216]$[0, -15, -209, 201]$[199, -15, -10, 201]$[199, -216, -10, 0]"/>
4171 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_12iQwLw9Eeaj7tVusjQpHg" id="(0.8854961832061069,0.0)"/>
4172 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_12iQwbw9Eeaj7tVusjQpHg" id="(0.5932203389830508,1.0)"/>
4173 </edges>
4174 <edges xmi:type="notation:Edge" xmi:id="_3u4ScLw9Eeaj7tVusjQpHg" type="4001" element="_3uiUMLw9Eeaj7tVusjQpHg" source="_hJrcoLw8Eeaj7tVusjQpHg" target="_sCeVsLw9Eeaj7tVusjQpHg">
4175 <children xmi:type="notation:Node" xmi:id="_3u4SdLw9Eeaj7tVusjQpHg" type="6001">
4176 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3u4Sdbw9Eeaj7tVusjQpHg" x="-160" y="-10"/>
4177 </children>
4178 <children xmi:type="notation:Node" xmi:id="_3u4Sdrw9Eeaj7tVusjQpHg" type="6002">
4179 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3u4Sd7w9Eeaj7tVusjQpHg" x="-69" y="6"/>
4180 </children>
4181 <children xmi:type="notation:Node" xmi:id="_3u4SeLw9Eeaj7tVusjQpHg" type="6003">
4182 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3u4Sebw9Eeaj7tVusjQpHg" x="-117" y="-53"/>
4183 </children>
4184 <styles xmi:type="notation:ConnectorStyle" xmi:id="_3u4Scbw9Eeaj7tVusjQpHg" routing="Tree"/>
4185 <styles xmi:type="notation:FontStyle" xmi:id="_3u4Scrw9Eeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
4186 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3u4Sc7w9Eeaj7tVusjQpHg" points="[0, 0, -409, 216]$[0, -15, -409, 201]$[410, -15, 1, 201]$[410, -216, 1, 0]"/>
4187 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3u45gLw9Eeaj7tVusjQpHg" id="(0.3235294117647059,0.0)"/>
4188 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3u45gbw9Eeaj7tVusjQpHg" id="(0.5,1.0)"/>
4189 </edges>
4190 <edges xmi:type="notation:Edge" xmi:id="_48jmgLw9Eeaj7tVusjQpHg" type="4001" element="_48R5sLw9Eeaj7tVusjQpHg" source="_p34i4Lw8Eeaj7tVusjQpHg" target="_sCeVsLw9Eeaj7tVusjQpHg">
4191 <children xmi:type="notation:Node" xmi:id="_48jmhLw9Eeaj7tVusjQpHg" type="6001">
4192 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_48jmhbw9Eeaj7tVusjQpHg" x="-160" y="-10"/>
4193 </children>
4194 <children xmi:type="notation:Node" xmi:id="_48jmhrw9Eeaj7tVusjQpHg" type="6002">
4195 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_48jmh7w9Eeaj7tVusjQpHg" x="-86" y="5"/>
4196 </children>
4197 <children xmi:type="notation:Node" xmi:id="_48kNkLw9Eeaj7tVusjQpHg" type="6003">
4198 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_48kNkbw9Eeaj7tVusjQpHg" x="-100" y="-70"/>
4199 </children>
4200 <styles xmi:type="notation:ConnectorStyle" xmi:id="_48jmgbw9Eeaj7tVusjQpHg" routing="Tree"/>
4201 <styles xmi:type="notation:FontStyle" xmi:id="_48jmgrw9Eeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
4202 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_48jmg7w9Eeaj7tVusjQpHg" points="[0, 0, -466, 245]$[0, -15, -466, 230]$[526, -15, 60, 230]$[526, -216, 60, 29]"/>
4203 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_48kNkrw9Eeaj7tVusjQpHg" id="(0.5,0.0)"/>
4204 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_48kNk7w9Eeaj7tVusjQpHg" id="(0.0,0.2926829268292683)"/>
4205 </edges>
4206 <edges xmi:type="notation:Edge" xmi:id="_ichmYMDjEea_b6UyFzv22g" type="4001" element="_iboOgMDjEea_b6UyFzv22g" source="_p34i4Lw8Eeaj7tVusjQpHg" target="_3QVitGCGEeWg-_mfCA72gg">
4207 <children xmi:type="notation:Node" xmi:id="_icqwUMDjEea_b6UyFzv22g" type="6001">
4208 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_icqwUcDjEea_b6UyFzv22g" y="-10"/>
4209 </children>
4210 <children xmi:type="notation:Node" xmi:id="_icr-cMDjEea_b6UyFzv22g" type="6002">
4211 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_icr-ccDjEea_b6UyFzv22g" y="10"/>
4212 </children>
4213 <children xmi:type="notation:Node" xmi:id="_ictMkMDjEea_b6UyFzv22g" type="6003">
4214 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ictMkcDjEea_b6UyFzv22g" y="10"/>
4215 </children>
4216 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ichmYcDjEea_b6UyFzv22g" routing="Rectilinear"/>
4217 <styles xmi:type="notation:FontStyle" xmi:id="_ichmYsDjEea_b6UyFzv22g" fontName="Segoe UI" fontHeight="8" bold="true"/>
4218 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ichmY8DjEea_b6UyFzv22g" points="[415, 555, 415, 555]$[430, 450, 430, 450]"/>
4219 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_icyFEMDjEea_b6UyFzv22g" id="(0.5,0.5)"/>
4220 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_icyFEcDjEea_b6UyFzv22g" id="(0.5,0.5)"/>
4221 </edges>
4222 <edges xmi:type="notation:Edge" xmi:id="_jkTGwMDjEea_b6UyFzv22g" type="4001" element="_jjvtIMDjEea_b6UyFzv22g" source="_hJrcoLw8Eeaj7tVusjQpHg" target="_3QXX4GCGEeWg-_mfCA72gg">
4223 <children xmi:type="notation:Node" xmi:id="_jkTt0MDjEea_b6UyFzv22g" type="6001">
4224 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jkTt0cDjEea_b6UyFzv22g" y="-10"/>
4225 </children>
4226 <children xmi:type="notation:Node" xmi:id="_jkTt0sDjEea_b6UyFzv22g" type="6002">
4227 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jkTt08DjEea_b6UyFzv22g" y="10"/>
4228 </children>
4229 <children xmi:type="notation:Node" xmi:id="_jkTt1MDjEea_b6UyFzv22g" type="6003">
4230 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jkTt1cDjEea_b6UyFzv22g" y="10"/>
4231 </children>
4232 <styles xmi:type="notation:ConnectorStyle" xmi:id="_jkTGwcDjEea_b6UyFzv22g" routing="Rectilinear"/>
4233 <styles xmi:type="notation:FontStyle" xmi:id="_jkTGwsDjEea_b6UyFzv22g" fontName="Segoe UI" fontHeight="8" bold="true"/>
4234 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jkTGw8DjEea_b6UyFzv22g" points="[551, 555, 551, 555]$[560, 450, 560, 450]"/>
4235 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jkTt1sDjEea_b6UyFzv22g" id="(0.5,0.4883720930232558)"/>
4236 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jkTt18DjEea_b6UyFzv22g" id="(0.5,0.5)"/>
4237 </edges>
4238 <edges xmi:type="notation:Edge" xmi:id="_kiyvUMDjEea_b6UyFzv22g" type="4001" element="_kiXRgMDjEea_b6UyFzv22g" source="_t5HjsLw8Eeaj7tVusjQpHg" target="_3QWw0GCGEeWg-_mfCA72gg">
4239 <children xmi:type="notation:Node" xmi:id="_kizWYMDjEea_b6UyFzv22g" type="6001">
4240 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kizWYcDjEea_b6UyFzv22g" y="-10"/>
4241 </children>
4242 <children xmi:type="notation:Node" xmi:id="_kizWYsDjEea_b6UyFzv22g" type="6002">
4243 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kizWY8DjEea_b6UyFzv22g" y="10"/>
4244 </children>
4245 <children xmi:type="notation:Node" xmi:id="_kiz9cMDjEea_b6UyFzv22g" type="6003">
4246 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kiz9ccDjEea_b6UyFzv22g" y="10"/>
4247 </children>
4248 <styles xmi:type="notation:ConnectorStyle" xmi:id="_kiyvUcDjEea_b6UyFzv22g" routing="Rectilinear"/>
4249 <styles xmi:type="notation:FontStyle" xmi:id="_kiyvUsDjEea_b6UyFzv22g" fontName="Segoe UI" fontHeight="8" bold="true"/>
4250 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kiyvU8DjEea_b6UyFzv22g" points="[690, 555, 690, 555]$[690, 450, 690, 450]"/>
4251 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kiz9csDjEea_b6UyFzv22g" id="(0.49624060150375937,0.4883720930232558)"/>
4252 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kiz9c8DjEea_b6UyFzv22g" id="(0.5,0.5)"/>
4253 </edges>
4254 <edges xmi:type="notation:Edge" xmi:id="_XtsIUMDnEea_b6UyFzv22g" type="4001" element="_XtnP0MDnEea_b6UyFzv22g" source="_yw2usLw8Eeaj7tVusjQpHg" target="_3QU7oGCGEeWg-_mfCA72gg">
4255 <children xmi:type="notation:Node" xmi:id="_XtsIVMDnEea_b6UyFzv22g" type="6001">
4256 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XtsIVcDnEea_b6UyFzv22g" y="-10"/>
4257 </children>
4258 <children xmi:type="notation:Node" xmi:id="_XtsIVsDnEea_b6UyFzv22g" type="6002">
4259 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XtsIV8DnEea_b6UyFzv22g" y="10"/>
4260 </children>
4261 <children xmi:type="notation:Node" xmi:id="_XtsIWMDnEea_b6UyFzv22g" type="6003">
4262 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XtsIWcDnEea_b6UyFzv22g" y="10"/>
4263 </children>
4264 <styles xmi:type="notation:ConnectorStyle" xmi:id="_XtsIUcDnEea_b6UyFzv22g" routing="Rectilinear"/>
4265 <styles xmi:type="notation:FontStyle" xmi:id="_XtsIUsDnEea_b6UyFzv22g" fontName="Segoe UI" fontHeight="8" bold="true"/>
4266 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XtsIU8DnEea_b6UyFzv22g" points="[747, 395, 747, 395]$[747, 270, 747, 270]"/>
4267 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XtsvYMDnEea_b6UyFzv22g" id="(0.5,0.5)"/>
4268 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XtsvYcDnEea_b6UyFzv22g" id="(0.5,0.5)"/>
4269 </edges>
4270 </data>
4271 </ownedAnnotationEntries>
4272 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_w2mZcGCGEeWg-_mfCA72gg" name="LogicProblem" tooltipText="" outgoingEdges="_3QLKoGCGEeWg-_mfCA72gg _3QMYwGCGEeWg-_mfCA72gg _3QM_02CGEeWg-_mfCA72gg _3QON8GCGEeWg-_mfCA72gg _3QPcEGCGEeWg-_mfCA72gg _It8x4IcPEeWhkpx1k3JSIA _yzbFELw9Eeaj7tVusjQpHg" width="12" height="10">
4273 <target xmi:type="ecore:EClass" href="logicproblem.ecore#//LogicProblem"/>
4274 <semanticElements xmi:type="ecore:EClass" href="logicproblem.ecore#//LogicProblem"/>
4275 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
4276 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
4277 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
4278 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_w2o1sGCGEeWg-_mfCA72gg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
4279 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
4280 </ownedStyle>
4281 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
4282 </ownedDiagramElements>
4283 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_3Pz-QGCGEeWg-_mfCA72gg" name="Assertion" tooltipText="" incomingEdges="_3QM_02CGEeWg-_mfCA72gg _XtnP0MDnEea_b6UyFzv22g" width="12" height="10">
4284 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Assertion"/>
4285 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Assertion"/>
4286 <decorations xmi:type="viewpoint:Decoration" xmi:id="_3QHgQGCGEeWg-_mfCA72gg">
4287 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
4288 </decorations>
4289 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
4290 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
4291 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
4292 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_3P0lUGCGEeWg-_mfCA72gg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
4293 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
4294 </ownedStyle>
4295 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
4296 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_3QD14GCGEeWg-_mfCA72gg" name="name : EString" tooltipText="">
4297 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Assertion/name"/>
4298 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Assertion/name"/>
4299 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_3QEc8WCGEeWg-_mfCA72gg" labelAlignment="LEFT" description="_3QEc8GCGEeWg-_mfCA72gg">
4300 <labelFormat>bold</labelFormat>
4301 </ownedStyle>
4302 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
4303 </ownedElements>
4304 </ownedDiagramElements>
4305 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_3P1zcGCGEeWg-_mfCA72gg" name="Constant" tooltipText="" incomingEdges="_3QPcEGCGEeWg-_mfCA72gg _iboOgMDjEea_b6UyFzv22g" width="12" height="10">
4306 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Constant"/>
4307 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Constant"/>
4308 <decorations xmi:type="viewpoint:Decoration" xmi:id="_3QHgQWCGEeWg-_mfCA72gg">
4309 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
4310 </decorations>
4311 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
4312 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
4313 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
4314 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_X75HgIP1EeWOre-0TMCmMQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
4315 <labelFormat>italic</labelFormat>
4316 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
4317 </ownedStyle>
4318 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
4319 </ownedDiagramElements>
4320 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_3P3BkGCGEeWg-_mfCA72gg" name="Function" tooltipText="" incomingEdges="_3QMYwGCGEeWg-_mfCA72gg _kiXRgMDjEea_b6UyFzv22g" width="12" height="10">
4321 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Function"/>
4322 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Function"/>
4323 <decorations xmi:type="viewpoint:Decoration" xmi:id="_3QHgQmCGEeWg-_mfCA72gg">
4324 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
4325 </decorations>
4326 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
4327 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
4328 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
4329 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_X75ukIP1EeWOre-0TMCmMQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
4330 <labelFormat>italic</labelFormat>
4331 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
4332 </ownedStyle>
4333 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
4334 </ownedDiagramElements>
4335 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_3P4PsGCGEeWg-_mfCA72gg" name="Relation" tooltipText="" incomingEdges="_3QON8GCGEeWg-_mfCA72gg _jjvtIMDjEea_b6UyFzv22g" width="12" height="10">
4336 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Relation"/>
4337 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Relation"/>
4338 <decorations xmi:type="viewpoint:Decoration" xmi:id="_3QHgQ2CGEeWg-_mfCA72gg">
4339 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
4340 </decorations>
4341 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
4342 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
4343 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
4344 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_X75ukYP1EeWOre-0TMCmMQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
4345 <labelFormat>italic</labelFormat>
4346 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
4347 </ownedStyle>
4348 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
4349 </ownedDiagramElements>
4350 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_3P5d0GCGEeWg-_mfCA72gg" name="Type" tooltipText="" outgoingEdges="_X7-AAIP1EeWOre-0TMCmMQ" incomingEdges="_3QLKoGCGEeWg-_mfCA72gg _X7-AAIP1EeWOre-0TMCmMQ" width="12" height="10">
4351 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Type"/>
4352 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Type"/>
4353 <decorations xmi:type="viewpoint:Decoration" xmi:id="_3QIHUGCGEeWg-_mfCA72gg">
4354 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
4355 </decorations>
4356 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
4357 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
4358 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
4359 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_X75ukoP1EeWOre-0TMCmMQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
4360 <labelFormat>italic</labelFormat>
4361 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
4362 </ownedStyle>
4363 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
4364 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_3QFrEGCGEeWg-_mfCA72gg" name="name : EString" tooltipText="">
4365 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Type/name"/>
4366 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Type/name"/>
4367 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_3QGSIGCGEeWg-_mfCA72gg" labelAlignment="LEFT" description="_3QEc8GCGEeWg-_mfCA72gg">
4368 <labelFormat>bold</labelFormat>
4369 </ownedStyle>
4370 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
4371 </ownedElements>
4372 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_KtsukAGOEeaDEJmvhpl9gg" name="isAbstract : EBoolean = false" tooltipText="">
4373 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Type/isAbstract"/>
4374 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Type/isAbstract"/>
4375 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_Ktt8sAGOEeaDEJmvhpl9gg" labelAlignment="LEFT" description="_3QEc8GCGEeWg-_mfCA72gg">
4376 <labelFormat>bold</labelFormat>
4377 </ownedStyle>
4378 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
4379 </ownedElements>
4380 </ownedDiagramElements>
4381 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_3QLKoGCGEeWg-_mfCA72gg" name="[0..*] types" sourceNode="_w2mZcGCGEeWg-_mfCA72gg" targetNode="_3P5d0GCGEeWg-_mfCA72gg">
4382 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/types"/>
4383 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/types"/>
4384 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_3QLxsGCGEeWg-_mfCA72gg" description="_w24tUGCGEeWg-_mfCA72gg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
4385 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_3QLxsWCGEeWg-_mfCA72gg" showIcon="false">
4386 <customFeatures>labelSize</customFeatures>
4387 </centerLabelStyle>
4388 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_3QLxsmCGEeWg-_mfCA72gg" showIcon="false" labelColor="39,76,114">
4389 <customFeatures>labelSize</customFeatures>
4390 </endLabelStyle>
4391 </ownedStyle>
4392 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
4393 </ownedDiagramElements>
4394 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_3QMYwGCGEeWg-_mfCA72gg" name="[0..*] functions" sourceNode="_w2mZcGCGEeWg-_mfCA72gg" targetNode="_3P3BkGCGEeWg-_mfCA72gg">
4395 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/functions"/>
4396 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/functions"/>
4397 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_3QM_0GCGEeWg-_mfCA72gg" description="_w24tUGCGEeWg-_mfCA72gg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
4398 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_3QM_0WCGEeWg-_mfCA72gg" showIcon="false">
4399 <customFeatures>labelSize</customFeatures>
4400 </centerLabelStyle>
4401 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_3QM_0mCGEeWg-_mfCA72gg" showIcon="false" labelColor="39,76,114">
4402 <customFeatures>labelSize</customFeatures>
4403 </endLabelStyle>
4404 </ownedStyle>
4405 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
4406 </ownedDiagramElements>
4407 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_3QM_02CGEeWg-_mfCA72gg" name="[0..*] assertions" sourceNode="_w2mZcGCGEeWg-_mfCA72gg" targetNode="_3Pz-QGCGEeWg-_mfCA72gg">
4408 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/assertions"/>
4409 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/assertions"/>
4410 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_3QNm4GCGEeWg-_mfCA72gg" description="_w24tUGCGEeWg-_mfCA72gg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
4411 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_3QNm4WCGEeWg-_mfCA72gg" showIcon="false">
4412 <customFeatures>labelSize</customFeatures>
4413 </centerLabelStyle>
4414 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_3QNm4mCGEeWg-_mfCA72gg" showIcon="false" labelColor="39,76,114">
4415 <customFeatures>labelSize</customFeatures>
4416 </endLabelStyle>
4417 </ownedStyle>
4418 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
4419 </ownedDiagramElements>
4420 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_3QON8GCGEeWg-_mfCA72gg" name="[0..*] relations" sourceNode="_w2mZcGCGEeWg-_mfCA72gg" targetNode="_3P4PsGCGEeWg-_mfCA72gg">
4421 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/relations"/>
4422 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/relations"/>
4423 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_3QO1AGCGEeWg-_mfCA72gg" description="_w24tUGCGEeWg-_mfCA72gg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
4424 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_3QO1AWCGEeWg-_mfCA72gg" showIcon="false">
4425 <customFeatures>labelSize</customFeatures>
4426 </centerLabelStyle>
4427 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_3QO1AmCGEeWg-_mfCA72gg" showIcon="false" labelColor="39,76,114">
4428 <customFeatures>labelSize</customFeatures>
4429 </endLabelStyle>
4430 </ownedStyle>
4431 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
4432 </ownedDiagramElements>
4433 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_3QPcEGCGEeWg-_mfCA72gg" name="[0..*] constants" sourceNode="_w2mZcGCGEeWg-_mfCA72gg" targetNode="_3P1zcGCGEeWg-_mfCA72gg">
4434 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/constants"/>
4435 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/constants"/>
4436 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_3QQDIGCGEeWg-_mfCA72gg" description="_w24tUGCGEeWg-_mfCA72gg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
4437 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_3QQDIWCGEeWg-_mfCA72gg" showIcon="false">
4438 <customFeatures>labelSize</customFeatures>
4439 </centerLabelStyle>
4440 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_3QQDImCGEeWg-_mfCA72gg" showIcon="false" labelColor="39,76,114">
4441 <customFeatures>labelSize</customFeatures>
4442 </endLabelStyle>
4443 </ownedStyle>
4444 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
4445 </ownedDiagramElements>
4446 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_X7-AAIP1EeWOre-0TMCmMQ" visible="false" sourceNode="_3P5d0GCGEeWg-_mfCA72gg" targetNode="_3P5d0GCGEeWg-_mfCA72gg" beginLabel="[0..*] supertypes" endLabel="[0..*] subtypes">
4447 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Type/subtypes"/>
4448 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Type/subtypes"/>
4449 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Type/supertypes"/>
4450 <graphicalFilters xmi:type="diagram:HideFilter" xmi:id="_n-kQ0Lw8Eeaj7tVusjQpHg"/>
4451 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_X7-nEIP1EeWOre-0TMCmMQ" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0">
4452 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style"/>
4453 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_X7-nEYP1EeWOre-0TMCmMQ" showIcon="false"/>
4454 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_X7-nEoP1EeWOre-0TMCmMQ" showIcon="false"/>
4455 </ownedStyle>
4456 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
4457 </ownedDiagramElements>
4458 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_GfTJAIcPEeWhkpx1k3JSIA" name="DefinedElement" tooltipText="" incomingEdges="_It8x4IcPEeWhkpx1k3JSIA" width="12" height="10">
4459 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//DefinedElement"/>
4460 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//DefinedElement"/>
4461 <decorations xmi:type="viewpoint:Decoration" xmi:id="_GfadwIcPEeWhkpx1k3JSIA">
4462 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
4463 </decorations>
4464 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
4465 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
4466 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
4467 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_GfUXIIcPEeWhkpx1k3JSIA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
4468 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
4469 </ownedStyle>
4470 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
4471 </ownedDiagramElements>
4472 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_It8x4IcPEeWhkpx1k3JSIA" name="[0..*] elements" sourceNode="_w2mZcGCGEeWg-_mfCA72gg" targetNode="_GfTJAIcPEeWhkpx1k3JSIA">
4473 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/elements"/>
4474 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/elements"/>
4475 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_K-GPkIcPEeWhkpx1k3JSIA" description="_w24tUGCGEeWg-_mfCA72gg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
4476 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_K-GPkYcPEeWhkpx1k3JSIA" showIcon="false"/>
4477 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_K-GPkocPEeWhkpx1k3JSIA" labelSize="6" showIcon="false" labelColor="39,76,114"/>
4478 </ownedStyle>
4479 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
4480 </ownedDiagramElements>
4481 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_hJDKgLw8Eeaj7tVusjQpHg" name="RelationAnnotation" tooltipText="" outgoingEdges="_3uiUMLw9Eeaj7tVusjQpHg _jjvtIMDjEea_b6UyFzv22g" width="12" height="10">
4482 <target xmi:type="ecore:EClass" href="logicproblem.ecore#//RelationAnnotation"/>
4483 <semanticElements xmi:type="ecore:EClass" href="logicproblem.ecore#//RelationAnnotation"/>
4484 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
4485 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
4486 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
4487 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_XtYmUMDnEea_b6UyFzv22g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
4488 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
4489 </ownedStyle>
4490 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
4491 </ownedDiagramElements>
4492 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_p3bP4Lw8Eeaj7tVusjQpHg" name="ConstantAnnotation" tooltipText="" outgoingEdges="_48R5sLw9Eeaj7tVusjQpHg _iboOgMDjEea_b6UyFzv22g" width="12" height="10">
4493 <target xmi:type="ecore:EClass" href="logicproblem.ecore#//ConstantAnnotation"/>
4494 <semanticElements xmi:type="ecore:EClass" href="logicproblem.ecore#//ConstantAnnotation"/>
4495 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
4496 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
4497 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
4498 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_XtZNYMDnEea_b6UyFzv22g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
4499 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
4500 </ownedStyle>
4501 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
4502 </ownedDiagramElements>
4503 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_t4w-YLw8Eeaj7tVusjQpHg" name="FunctionAnnotation" tooltipText="" outgoingEdges="_12OHsLw9Eeaj7tVusjQpHg _kiXRgMDjEea_b6UyFzv22g" width="12" height="10">
4504 <target xmi:type="ecore:EClass" href="logicproblem.ecore#//FunctionAnnotation"/>
4505 <semanticElements xmi:type="ecore:EClass" href="logicproblem.ecore#//FunctionAnnotation"/>
4506 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
4507 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
4508 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
4509 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_XtZ0cMDnEea_b6UyFzv22g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
4510 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
4511 </ownedStyle>
4512 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
4513 </ownedDiagramElements>
4514 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ywfiULw8Eeaj7tVusjQpHg" name="AssertionAnnotation" tooltipText="" outgoingEdges="_0y2mMLw9Eeaj7tVusjQpHg _XtnP0MDnEea_b6UyFzv22g" width="12" height="10">
4515 <target xmi:type="ecore:EClass" href="logicproblem.ecore#//AssertionAnnotation"/>
4516 <semanticElements xmi:type="ecore:EClass" href="logicproblem.ecore#//AssertionAnnotation"/>
4517 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
4518 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
4519 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
4520 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ywgJYLw8Eeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
4521 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
4522 </ownedStyle>
4523 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
4524 </ownedDiagramElements>
4525 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_sCN3ALw9Eeaj7tVusjQpHg" name="Annotation" tooltipText="" incomingEdges="_yzbFELw9Eeaj7tVusjQpHg _0y2mMLw9Eeaj7tVusjQpHg _12OHsLw9Eeaj7tVusjQpHg _3uiUMLw9Eeaj7tVusjQpHg _48R5sLw9Eeaj7tVusjQpHg" width="12" height="10">
4526 <target xmi:type="ecore:EClass" href="logicproblem.ecore#//Annotation"/>
4527 <semanticElements xmi:type="ecore:EClass" href="logicproblem.ecore#//Annotation"/>
4528 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
4529 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
4530 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
4531 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_sCOeELw9Eeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
4532 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
4533 </ownedStyle>
4534 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
4535 </ownedDiagramElements>
4536 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yzbFELw9Eeaj7tVusjQpHg" name="[0..*] annotations" sourceNode="_w2mZcGCGEeWg-_mfCA72gg" targetNode="_sCN3ALw9Eeaj7tVusjQpHg">
4537 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/annotations"/>
4538 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/annotations"/>
4539 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_yzbsILw9Eeaj7tVusjQpHg" description="_w24tUGCGEeWg-_mfCA72gg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
4540 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_yzbsIbw9Eeaj7tVusjQpHg" showIcon="false">
4541 <customFeatures>labelSize</customFeatures>
4542 </centerLabelStyle>
4543 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_yzbsIrw9Eeaj7tVusjQpHg" showIcon="false" labelColor="39,76,114">
4544 <customFeatures>labelSize</customFeatures>
4545 </endLabelStyle>
4546 </ownedStyle>
4547 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
4548 </ownedDiagramElements>
4549 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_0y2mMLw9Eeaj7tVusjQpHg" sourceNode="_ywfiULw8Eeaj7tVusjQpHg" targetNode="_sCN3ALw9Eeaj7tVusjQpHg">
4550 <target xmi:type="ecore:EClass" href="logicproblem.ecore#//AssertionAnnotation"/>
4551 <semanticElements xmi:type="ecore:EGenericType" href="logicproblem.ecore#//AssertionAnnotation/@eGenericSuperTypes.0"/>
4552 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_0y3NQLw9Eeaj7tVusjQpHg" targetArrow="InputClosedArrow" routingStyle="tree">
4553 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
4554 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_0y3NQbw9Eeaj7tVusjQpHg" showIcon="false">
4555 <labelFormat>italic</labelFormat>
4556 </beginLabelStyle>
4557 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_0y3NQrw9Eeaj7tVusjQpHg" showIcon="false"/>
4558 </ownedStyle>
4559 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
4560 </ownedDiagramElements>
4561 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_12OHsLw9Eeaj7tVusjQpHg" sourceNode="_t4w-YLw8Eeaj7tVusjQpHg" targetNode="_sCN3ALw9Eeaj7tVusjQpHg">
4562 <target xmi:type="ecore:EClass" href="logicproblem.ecore#//FunctionAnnotation"/>
4563 <semanticElements xmi:type="ecore:EGenericType" href="logicproblem.ecore#//FunctionAnnotation/@eGenericSuperTypes.0"/>
4564 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XtjlcMDnEea_b6UyFzv22g" targetArrow="InputClosedArrow" routingStyle="tree">
4565 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
4566 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XtjlccDnEea_b6UyFzv22g" showIcon="false">
4567 <labelFormat>italic</labelFormat>
4568 </beginLabelStyle>
4569 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_XtjlcsDnEea_b6UyFzv22g" showIcon="false"/>
4570 </ownedStyle>
4571 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
4572 </ownedDiagramElements>
4573 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_3uiUMLw9Eeaj7tVusjQpHg" sourceNode="_hJDKgLw8Eeaj7tVusjQpHg" targetNode="_sCN3ALw9Eeaj7tVusjQpHg">
4574 <target xmi:type="ecore:EClass" href="logicproblem.ecore#//RelationAnnotation"/>
4575 <semanticElements xmi:type="ecore:EGenericType" href="logicproblem.ecore#//RelationAnnotation/@eGenericSuperTypes.0"/>
4576 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Xti-YMDnEea_b6UyFzv22g" targetArrow="InputClosedArrow" routingStyle="tree">
4577 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
4578 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_Xti-YcDnEea_b6UyFzv22g" showIcon="false">
4579 <labelFormat>italic</labelFormat>
4580 </beginLabelStyle>
4581 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Xti-YsDnEea_b6UyFzv22g" showIcon="false"/>
4582 </ownedStyle>
4583 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
4584 </ownedDiagramElements>
4585 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_48R5sLw9Eeaj7tVusjQpHg" sourceNode="_p3bP4Lw8Eeaj7tVusjQpHg" targetNode="_sCN3ALw9Eeaj7tVusjQpHg">
4586 <target xmi:type="ecore:EClass" href="logicproblem.ecore#//ConstantAnnotation"/>
4587 <semanticElements xmi:type="ecore:EGenericType" href="logicproblem.ecore#//ConstantAnnotation/@eGenericSuperTypes.0"/>
4588 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Xti-Y8DnEea_b6UyFzv22g" targetArrow="InputClosedArrow" routingStyle="tree">
4589 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
4590 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_Xti-ZMDnEea_b6UyFzv22g" showIcon="false">
4591 <labelFormat>italic</labelFormat>
4592 </beginLabelStyle>
4593 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Xti-ZcDnEea_b6UyFzv22g" showIcon="false"/>
4594 </ownedStyle>
4595 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
4596 </ownedDiagramElements>
4597 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_iboOgMDjEea_b6UyFzv22g" sourceNode="_p3bP4Lw8Eeaj7tVusjQpHg" targetNode="_3P1zcGCGEeWg-_mfCA72gg" beginLabel="[0..*] annotations" endLabel="[1..1] target">
4598 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//ConstantAnnotation/target"/>
4599 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Constant/annotations"/>
4600 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//ConstantAnnotation/target"/>
4601 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Xtkzk8DnEea_b6UyFzv22g" description="_XtkzkMDnEea_b6UyFzv22g" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0">
4602 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XtkzlMDnEea_b6UyFzv22g" showIcon="false">
4603 <labelFormat>bold</labelFormat>
4604 </beginLabelStyle>
4605 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_XtkzlcDnEea_b6UyFzv22g" showIcon="false">
4606 <labelFormat>bold</labelFormat>
4607 </endLabelStyle>
4608 </ownedStyle>
4609 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
4610 </ownedDiagramElements>
4611 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_jjvtIMDjEea_b6UyFzv22g" sourceNode="_hJDKgLw8Eeaj7tVusjQpHg" targetNode="_3P4PsGCGEeWg-_mfCA72gg" beginLabel="[0..*] annotations" endLabel="[1..1] target">
4612 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//RelationAnnotation/target"/>
4613 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Relation/annotations"/>
4614 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//RelationAnnotation/target"/>
4615 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XtlaoMDnEea_b6UyFzv22g" description="_XtkzkMDnEea_b6UyFzv22g" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0">
4616 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XtlaocDnEea_b6UyFzv22g" showIcon="false">
4617 <labelFormat>bold</labelFormat>
4618 </beginLabelStyle>
4619 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_XtlaosDnEea_b6UyFzv22g" showIcon="false">
4620 <labelFormat>bold</labelFormat>
4621 </endLabelStyle>
4622 </ownedStyle>
4623 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
4624 </ownedDiagramElements>
4625 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_kiXRgMDjEea_b6UyFzv22g" sourceNode="_t4w-YLw8Eeaj7tVusjQpHg" targetNode="_3P3BkGCGEeWg-_mfCA72gg" beginLabel="[0..*] annotations" endLabel="[1..1] target">
4626 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//FunctionAnnotation/target"/>
4627 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Function/annotations"/>
4628 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//FunctionAnnotation/target"/>
4629 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XtmBsMDnEea_b6UyFzv22g" description="_XtkzkMDnEea_b6UyFzv22g" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0">
4630 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XtmBscDnEea_b6UyFzv22g" showIcon="false">
4631 <labelFormat>bold</labelFormat>
4632 </beginLabelStyle>
4633 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_XtmBssDnEea_b6UyFzv22g" showIcon="false">
4634 <labelFormat>bold</labelFormat>
4635 </endLabelStyle>
4636 </ownedStyle>
4637 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
4638 </ownedDiagramElements>
4639 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_XtnP0MDnEea_b6UyFzv22g" sourceNode="_ywfiULw8Eeaj7tVusjQpHg" targetNode="_3Pz-QGCGEeWg-_mfCA72gg" beginLabel="[0..*] annotations" endLabel="[1..1] target">
4640 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//AssertionAnnotation/target"/>
4641 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Assertion/annotations"/>
4642 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//AssertionAnnotation/target"/>
4643 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XtnP0cDnEea_b6UyFzv22g" description="_XtkzkMDnEea_b6UyFzv22g" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0">
4644 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XtnP0sDnEea_b6UyFzv22g" showIcon="false">
4645 <labelFormat>bold</labelFormat>
4646 </beginLabelStyle>
4647 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_XtnP08DnEea_b6UyFzv22g" showIcon="false">
4648 <labelFormat>bold</labelFormat>
4649 </endLabelStyle>
4650 </ownedStyle>
4651 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
4652 </ownedDiagramElements>
4653 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
4654 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_veq9NWCGEeWg-_mfCA72gg"/>
4655 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
4656 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
4657 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
4658 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
4659 <target xmi:type="ecore:EPackage" href="logicproblem.ecore#/"/>
4660 </ownedRepresentations>
4661 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_v6LzUIApEeW6pe97ikalXw" name="Types and Type References">
4662 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_v6LzUYApEeW6pe97ikalXw" source="DANNOTATION_CUSTOMIZATION_KEY">
4663 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_v6LzUoApEeW6pe97ikalXw">
4664 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_yNw_gIApEeW6pe97ikalXw" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
4665 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
4666 <labelFormat>bold</labelFormat>
4667 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
4668 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
4669 </computedStyleDescriptions>
4670 </data>
4671 </ownedAnnotationEntries>
4672 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_v6ac0IApEeW6pe97ikalXw" source="GMF_DIAGRAMS">
4673 <data xmi:type="notation:Diagram" xmi:id="_v6ac0YApEeW6pe97ikalXw" type="Sirius" element="_v6LzUIApEeW6pe97ikalXw" measurementUnit="Pixel">
4674 <children xmi:type="notation:Node" xmi:id="_yPoAsIApEeW6pe97ikalXw" type="2003" element="_yLnqcIApEeW6pe97ikalXw">
4675 <children xmi:type="notation:Node" xmi:id="_yPpO0IApEeW6pe97ikalXw" type="5007"/>
4676 <children xmi:type="notation:Node" xmi:id="_yPp14IApEeW6pe97ikalXw" type="7004">
4677 <children xmi:type="notation:Node" xmi:id="_yQXAgIApEeW6pe97ikalXw" type="3010" element="_yNwYcIApEeW6pe97ikalXw">
4678 <styles xmi:type="notation:FontStyle" xmi:id="_yQXAgYApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8" bold="true"/>
4679 <layoutConstraint xmi:type="notation:Location" xmi:id="_yQXAgoApEeW6pe97ikalXw"/>
4680 </children>
4681 <children xmi:type="notation:Node" xmi:id="_XOiewImGEeWccOHwfpGNpw" type="3010" element="_XOL5cImGEeWccOHwfpGNpw">
4682 <styles xmi:type="notation:FontStyle" xmi:id="_XOiewYmGEeWccOHwfpGNpw" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
4683 <layoutConstraint xmi:type="notation:Location" xmi:id="_XOiewomGEeWccOHwfpGNpw"/>
4684 </children>
4685 <styles xmi:type="notation:SortingStyle" xmi:id="_yPp14YApEeW6pe97ikalXw"/>
4686 <styles xmi:type="notation:FilteringStyle" xmi:id="_yPp14oApEeW6pe97ikalXw"/>
4687 </children>
4688 <styles xmi:type="notation:ShapeStyle" xmi:id="_yPoAsYApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8" italic="true"/>
4689 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yPoAsoApEeW6pe97ikalXw" x="200" y="150" height="68"/>
4690 </children>
4691 <children xmi:type="notation:Node" xmi:id="_yPrEAIApEeW6pe97ikalXw" type="2003" element="_yLrU0IApEeW6pe97ikalXw">
4692 <children xmi:type="notation:Node" xmi:id="_yPrEA4ApEeW6pe97ikalXw" type="5007"/>
4693 <children xmi:type="notation:Node" xmi:id="_yPrEBIApEeW6pe97ikalXw" type="7004">
4694 <styles xmi:type="notation:SortingStyle" xmi:id="_yPrEBYApEeW6pe97ikalXw"/>
4695 <styles xmi:type="notation:FilteringStyle" xmi:id="_yPrEBoApEeW6pe97ikalXw"/>
4696 </children>
4697 <styles xmi:type="notation:ShapeStyle" xmi:id="_yPrEAYApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8"/>
4698 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yPrEAoApEeW6pe97ikalXw" x="113" y="340" height="43"/>
4699 </children>
4700 <children xmi:type="notation:Node" xmi:id="_yPrrEIApEeW6pe97ikalXw" type="2003" element="_yLsi8IApEeW6pe97ikalXw">
4701 <children xmi:type="notation:Node" xmi:id="_yPrrE4ApEeW6pe97ikalXw" type="5007"/>
4702 <children xmi:type="notation:Node" xmi:id="_yPsSIIApEeW6pe97ikalXw" type="7004">
4703 <styles xmi:type="notation:SortingStyle" xmi:id="_yPsSIYApEeW6pe97ikalXw"/>
4704 <styles xmi:type="notation:FilteringStyle" xmi:id="_yPsSIoApEeW6pe97ikalXw"/>
4705 </children>
4706 <styles xmi:type="notation:ShapeStyle" xmi:id="_yPrrEYApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8"/>
4707 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yPrrEoApEeW6pe97ikalXw" x="113" y="260" height="43"/>
4708 </children>
4709 <children xmi:type="notation:Node" xmi:id="_yPsSI4ApEeW6pe97ikalXw" type="2003" element="_yLtxEIApEeW6pe97ikalXw">
4710 <children xmi:type="notation:Node" xmi:id="_yPsSJoApEeW6pe97ikalXw" type="5007"/>
4711 <children xmi:type="notation:Node" xmi:id="_yPs5MIApEeW6pe97ikalXw" type="7004">
4712 <styles xmi:type="notation:SortingStyle" xmi:id="_yPs5MYApEeW6pe97ikalXw"/>
4713 <styles xmi:type="notation:FilteringStyle" xmi:id="_yPs5MoApEeW6pe97ikalXw"/>
4714 </children>
4715 <styles xmi:type="notation:ShapeStyle" xmi:id="_yPsSJIApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8" italic="true"/>
4716 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yPsSJYApEeW6pe97ikalXw" x="620" y="165" height="53"/>
4717 </children>
4718 <children xmi:type="notation:Node" xmi:id="_yPs5M4ApEeW6pe97ikalXw" type="2003" element="_yLu_MIApEeW6pe97ikalXw">
4719 <children xmi:type="notation:Node" xmi:id="_yPtgQIApEeW6pe97ikalXw" type="5007"/>
4720 <children xmi:type="notation:Node" xmi:id="_yPtgQYApEeW6pe97ikalXw" type="7004">
4721 <styles xmi:type="notation:SortingStyle" xmi:id="_yPtgQoApEeW6pe97ikalXw"/>
4722 <styles xmi:type="notation:FilteringStyle" xmi:id="_yPtgQ4ApEeW6pe97ikalXw"/>
4723 </children>
4724 <styles xmi:type="notation:ShapeStyle" xmi:id="_yPs5NIApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8"/>
4725 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yPs5NYApEeW6pe97ikalXw" x="510" y="255" height="43"/>
4726 </children>
4727 <children xmi:type="notation:Node" xmi:id="_yPtgRIApEeW6pe97ikalXw" type="2003" element="_yLw0YIApEeW6pe97ikalXw">
4728 <children xmi:type="notation:Node" xmi:id="_yPuuYIApEeW6pe97ikalXw" type="5007"/>
4729 <children xmi:type="notation:Node" xmi:id="_yPuuYYApEeW6pe97ikalXw" type="7004">
4730 <styles xmi:type="notation:SortingStyle" xmi:id="_yPuuYoApEeW6pe97ikalXw"/>
4731 <styles xmi:type="notation:FilteringStyle" xmi:id="_yPuuY4ApEeW6pe97ikalXw"/>
4732 </children>
4733 <styles xmi:type="notation:ShapeStyle" xmi:id="_yPtgRYApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8" italic="true"/>
4734 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yPtgRoApEeW6pe97ikalXw" x="710" y="255" height="43"/>
4735 </children>
4736 <children xmi:type="notation:Node" xmi:id="_yPvVcIApEeW6pe97ikalXw" type="2003" element="_yL_d4IApEeW6pe97ikalXw">
4737 <children xmi:type="notation:Node" xmi:id="_yPvVc4ApEeW6pe97ikalXw" type="5007"/>
4738 <children xmi:type="notation:Node" xmi:id="_yPv8gIApEeW6pe97ikalXw" type="7004">
4739 <styles xmi:type="notation:SortingStyle" xmi:id="_yPv8gYApEeW6pe97ikalXw"/>
4740 <styles xmi:type="notation:FilteringStyle" xmi:id="_yPv8goApEeW6pe97ikalXw"/>
4741 </children>
4742 <styles xmi:type="notation:ShapeStyle" xmi:id="_yPvVcYApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8"/>
4743 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yPvVcoApEeW6pe97ikalXw" x="580" y="331" height="38"/>
4744 </children>
4745 <children xmi:type="notation:Node" xmi:id="_yPwjkIApEeW6pe97ikalXw" type="2003" element="_yMBTEIApEeW6pe97ikalXw">
4746 <children xmi:type="notation:Node" xmi:id="_yPxKoIApEeW6pe97ikalXw" type="5007"/>
4747 <children xmi:type="notation:Node" xmi:id="_yPxKoYApEeW6pe97ikalXw" type="7004">
4748 <styles xmi:type="notation:SortingStyle" xmi:id="_yPxKooApEeW6pe97ikalXw"/>
4749 <styles xmi:type="notation:FilteringStyle" xmi:id="_yPxKo4ApEeW6pe97ikalXw"/>
4750 </children>
4751 <styles xmi:type="notation:ShapeStyle" xmi:id="_yPwjkYApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8"/>
4752 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yPwjkoApEeW6pe97ikalXw" x="855" y="331" height="38"/>
4753 </children>
4754 <children xmi:type="notation:Node" xmi:id="_yPxKpIApEeW6pe97ikalXw" type="2003" element="_yMChMIApEeW6pe97ikalXw">
4755 <children xmi:type="notation:Node" xmi:id="_yPxxsIApEeW6pe97ikalXw" type="5007"/>
4756 <children xmi:type="notation:Node" xmi:id="_yPxxsYApEeW6pe97ikalXw" type="7004">
4757 <styles xmi:type="notation:SortingStyle" xmi:id="_yPxxsoApEeW6pe97ikalXw"/>
4758 <styles xmi:type="notation:FilteringStyle" xmi:id="_yPxxs4ApEeW6pe97ikalXw"/>
4759 </children>
4760 <styles xmi:type="notation:ShapeStyle" xmi:id="_yPxKpYApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8"/>
4761 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yPxKpoApEeW6pe97ikalXw" x="716" y="331" height="38"/>
4762 </children>
4763 <children xmi:type="notation:Node" xmi:id="_yQLaUIApEeW6pe97ikalXw" type="2003" element="_yMqMQIApEeW6pe97ikalXw">
4764 <children xmi:type="notation:Node" xmi:id="_yQLaU4ApEeW6pe97ikalXw" type="5007"/>
4765 <children xmi:type="notation:Node" xmi:id="_yQLaVIApEeW6pe97ikalXw" type="7004">
4766 <styles xmi:type="notation:SortingStyle" xmi:id="_yQLaVYApEeW6pe97ikalXw"/>
4767 <styles xmi:type="notation:FilteringStyle" xmi:id="_yQLaVoApEeW6pe97ikalXw"/>
4768 </children>
4769 <styles xmi:type="notation:ShapeStyle" xmi:id="_yQLaUYApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8" italic="true"/>
4770 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yQLaUoApEeW6pe97ikalXw" x="350" y="65" height="40"/>
4771 </children>
4772 <children xmi:type="notation:Node" xmi:id="_yQVLUIApEeW6pe97ikalXw" type="2003" element="_yM4OsIApEeW6pe97ikalXw">
4773 <children xmi:type="notation:Node" xmi:id="_yQVyYIApEeW6pe97ikalXw" type="5007"/>
4774 <children xmi:type="notation:Node" xmi:id="_yQWZcIApEeW6pe97ikalXw" type="7004">
4775 <styles xmi:type="notation:SortingStyle" xmi:id="_yQWZcYApEeW6pe97ikalXw"/>
4776 <styles xmi:type="notation:FilteringStyle" xmi:id="_yQWZcoApEeW6pe97ikalXw"/>
4777 </children>
4778 <styles xmi:type="notation:ShapeStyle" xmi:id="_yQVLUYApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8"/>
4779 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yQVLUoApEeW6pe97ikalXw" x="305" y="255" height="43"/>
4780 </children>
4781 <styles xmi:type="notation:DiagramStyle" xmi:id="_v6ac0oApEeW6pe97ikalXw"/>
4782 <edges xmi:type="notation:Edge" xmi:id="_yQotUIApEeW6pe97ikalXw" type="4001" element="_yOG9wIApEeW6pe97ikalXw" source="_yPrrEIApEeW6pe97ikalXw" target="_yQVLUIApEeW6pe97ikalXw">
4783 <children xmi:type="notation:Node" xmi:id="_yQpUYIApEeW6pe97ikalXw" type="6001">
4784 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yQpUYYApEeW6pe97ikalXw" y="-10"/>
4785 </children>
4786 <children xmi:type="notation:Node" xmi:id="_yQpUYoApEeW6pe97ikalXw" type="6002">
4787 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yQpUY4ApEeW6pe97ikalXw" y="10"/>
4788 </children>
4789 <children xmi:type="notation:Node" xmi:id="_yQpUZIApEeW6pe97ikalXw" type="6003">
4790 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yQpUZYApEeW6pe97ikalXw" y="10"/>
4791 </children>
4792 <styles xmi:type="notation:ConnectorStyle" xmi:id="_yQotUYApEeW6pe97ikalXw" routing="Rectilinear"/>
4793 <styles xmi:type="notation:FontStyle" xmi:id="_yQotUoApEeW6pe97ikalXw" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
4794 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yQotU4ApEeW6pe97ikalXw" points="[59, 20, -133, -73]$[116, 20, -76, -73]"/>
4795 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yQpUZoApEeW6pe97ikalXw" id="(0.5,0.0)"/>
4796 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yQpUZ4ApEeW6pe97ikalXw" id="(0.5,2.3902439024390243)"/>
4797 </edges>
4798 <edges xmi:type="notation:Edge" xmi:id="_yQp7cIApEeW6pe97ikalXw" type="4001" element="_yOHk04ApEeW6pe97ikalXw" source="_yPs5M4ApEeW6pe97ikalXw" target="_yPoAsIApEeW6pe97ikalXw">
4799 <children xmi:type="notation:Node" xmi:id="_yQqigIApEeW6pe97ikalXw" type="6001">
4800 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yQqigYApEeW6pe97ikalXw" y="-10"/>
4801 </children>
4802 <children xmi:type="notation:Node" xmi:id="_yQqigoApEeW6pe97ikalXw" type="6002">
4803 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yQqig4ApEeW6pe97ikalXw" y="10"/>
4804 </children>
4805 <children xmi:type="notation:Node" xmi:id="_yQqihIApEeW6pe97ikalXw" type="6003">
4806 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yQqihYApEeW6pe97ikalXw" y="10"/>
4807 </children>
4808 <styles xmi:type="notation:ConnectorStyle" xmi:id="_yQp7cYApEeW6pe97ikalXw" routing="Rectilinear"/>
4809 <styles xmi:type="notation:FontStyle" xmi:id="_yQp7coApEeW6pe97ikalXw" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
4810 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yQp7c4ApEeW6pe97ikalXw" points="[-24, -15, 296, -23]$[-24, -52, 296, -60]$[-261, -52, 59, -60]"/>
4811 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yQqihoApEeW6pe97ikalXw" id="(0.5,0.0)"/>
4812 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yQqih4ApEeW6pe97ikalXw" id="(0.5,1.7121212121212122)"/>
4813 </edges>
4814 <edges xmi:type="notation:Edge" xmi:id="_yRgQAIApEeW6pe97ikalXw" type="4001" element="_yOweAIApEeW6pe97ikalXw" source="_yPoAsIApEeW6pe97ikalXw" target="_yQLaUIApEeW6pe97ikalXw">
4815 <children xmi:type="notation:Node" xmi:id="_yRgQBIApEeW6pe97ikalXw" type="6001">
4816 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRgQBYApEeW6pe97ikalXw" y="-10"/>
4817 </children>
4818 <children xmi:type="notation:Node" xmi:id="_yRgQBoApEeW6pe97ikalXw" type="6002">
4819 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRgQB4ApEeW6pe97ikalXw" y="10"/>
4820 </children>
4821 <children xmi:type="notation:Node" xmi:id="_yRg3EIApEeW6pe97ikalXw" type="6003">
4822 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRg3EYApEeW6pe97ikalXw" y="10"/>
4823 </children>
4824 <styles xmi:type="notation:ConnectorStyle" xmi:id="_yRgQAYApEeW6pe97ikalXw" routing="Tree"/>
4825 <styles xmi:type="notation:FontStyle" xmi:id="_yRgQAoApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8"/>
4826 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yRgQA4ApEeW6pe97ikalXw" points="[0, 0, -148, 60]$[148, -60, 0, 0]"/>
4827 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yRg3EoApEeW6pe97ikalXw" id="(0.5,0.22727272727272727)"/>
4828 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yRg3E4ApEeW6pe97ikalXw" id="(0.5,1.0)"/>
4829 </edges>
4830 <edges xmi:type="notation:Edge" xmi:id="_yRiFMoApEeW6pe97ikalXw" type="4001" element="_yOxsI4ApEeW6pe97ikalXw" source="_yPrrEIApEeW6pe97ikalXw" target="_yPoAsIApEeW6pe97ikalXw">
4831 <children xmi:type="notation:Node" xmi:id="_yRisQIApEeW6pe97ikalXw" type="6001">
4832 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRisQYApEeW6pe97ikalXw" y="-10"/>
4833 </children>
4834 <children xmi:type="notation:Node" xmi:id="_yRisQoApEeW6pe97ikalXw" type="6002">
4835 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRisQ4ApEeW6pe97ikalXw" y="10"/>
4836 </children>
4837 <children xmi:type="notation:Node" xmi:id="_yRisRIApEeW6pe97ikalXw" type="6003">
4838 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRisRYApEeW6pe97ikalXw" y="10"/>
4839 </children>
4840 <styles xmi:type="notation:ConnectorStyle" xmi:id="_yRiFM4ApEeW6pe97ikalXw" routing="Tree"/>
4841 <styles xmi:type="notation:FontStyle" xmi:id="_yRiFNIApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8"/>
4842 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yRiFNYApEeW6pe97ikalXw" points="[0, 0, 0, 220]$[0, -220, 0, 0]"/>
4843 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yRisRoApEeW6pe97ikalXw" id="(0.5,0.0)"/>
4844 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yRisR4ApEeW6pe97ikalXw" id="(0.5,1.7121212121212122)"/>
4845 </edges>
4846 <edges xmi:type="notation:Edge" xmi:id="_yRjTUIApEeW6pe97ikalXw" type="4001" element="_yOy6QIApEeW6pe97ikalXw" source="_yPsSI4ApEeW6pe97ikalXw" target="_yQLaUIApEeW6pe97ikalXw">
4847 <children xmi:type="notation:Node" xmi:id="_yRjTVIApEeW6pe97ikalXw" type="6001">
4848 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRjTVYApEeW6pe97ikalXw" y="-10"/>
4849 </children>
4850 <children xmi:type="notation:Node" xmi:id="_yRjTVoApEeW6pe97ikalXw" type="6002">
4851 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRjTV4ApEeW6pe97ikalXw" y="10"/>
4852 </children>
4853 <children xmi:type="notation:Node" xmi:id="_yRjTWIApEeW6pe97ikalXw" type="6003">
4854 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRjTWYApEeW6pe97ikalXw" y="10"/>
4855 </children>
4856 <styles xmi:type="notation:ConnectorStyle" xmi:id="_yRjTUYApEeW6pe97ikalXw" routing="Tree"/>
4857 <styles xmi:type="notation:FontStyle" xmi:id="_yRjTUoApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8"/>
4858 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yRjTU4ApEeW6pe97ikalXw" points="[0, 0, -210, 257]$[0, -230, -210, 27]$[211, -230, 1, 27]$[211, -257, 1, 0]"/>
4859 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yRj6YIApEeW6pe97ikalXw" id="(0.5,0.0)"/>
4860 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yRj6YYApEeW6pe97ikalXw" id="(0.5,1.0)"/>
4861 </edges>
4862 <edges xmi:type="notation:Edge" xmi:id="_yRj6YoApEeW6pe97ikalXw" type="4001" element="_yOzhU4ApEeW6pe97ikalXw" source="_yPs5M4ApEeW6pe97ikalXw" target="_yPsSI4ApEeW6pe97ikalXw">
4863 <children xmi:type="notation:Node" xmi:id="_yRkhcIApEeW6pe97ikalXw" type="6001">
4864 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRkhcYApEeW6pe97ikalXw" y="-10"/>
4865 </children>
4866 <children xmi:type="notation:Node" xmi:id="_yRkhcoApEeW6pe97ikalXw" type="6002">
4867 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRkhc4ApEeW6pe97ikalXw" y="10"/>
4868 </children>
4869 <children xmi:type="notation:Node" xmi:id="_yRkhdIApEeW6pe97ikalXw" type="6003">
4870 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRkhdYApEeW6pe97ikalXw" y="10"/>
4871 </children>
4872 <styles xmi:type="notation:ConnectorStyle" xmi:id="_yRj6Y4ApEeW6pe97ikalXw" routing="Tree"/>
4873 <styles xmi:type="notation:FontStyle" xmi:id="_yRj6ZIApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8"/>
4874 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yRj6ZYApEeW6pe97ikalXw" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
4875 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yRkhdoApEeW6pe97ikalXw" id="(0.5,0.0)"/>
4876 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yRkhd4ApEeW6pe97ikalXw" id="(0.5,1.9215686274509804)"/>
4877 </edges>
4878 <edges xmi:type="notation:Edge" xmi:id="_yRlIgIApEeW6pe97ikalXw" type="4001" element="_yO0IY4ApEeW6pe97ikalXw" source="_yPtgRIApEeW6pe97ikalXw" target="_yPsSI4ApEeW6pe97ikalXw">
4879 <children xmi:type="notation:Node" xmi:id="_yRlIhIApEeW6pe97ikalXw" type="6001">
4880 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRlIhYApEeW6pe97ikalXw" y="-10"/>
4881 </children>
4882 <children xmi:type="notation:Node" xmi:id="_yRlIhoApEeW6pe97ikalXw" type="6002">
4883 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRlIh4ApEeW6pe97ikalXw" y="10"/>
4884 </children>
4885 <children xmi:type="notation:Node" xmi:id="_yRlIiIApEeW6pe97ikalXw" type="6003">
4886 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRlIiYApEeW6pe97ikalXw" y="10"/>
4887 </children>
4888 <styles xmi:type="notation:ConnectorStyle" xmi:id="_yRlIgYApEeW6pe97ikalXw" routing="Tree"/>
4889 <styles xmi:type="notation:FontStyle" xmi:id="_yRlIgoApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8"/>
4890 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yRlIg4ApEeW6pe97ikalXw" points="[0, 0, 195, 60]$[-195, -60, 0, 0]"/>
4891 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yRlvkIApEeW6pe97ikalXw" id="(0.4961832061068702,0.0)"/>
4892 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yRlvkYApEeW6pe97ikalXw" id="(0.5,1.9215686274509804)"/>
4893 </edges>
4894 <edges xmi:type="notation:Edge" xmi:id="_yRlvkoApEeW6pe97ikalXw" type="4001" element="_yO0vc4ApEeW6pe97ikalXw" source="_yPvVcIApEeW6pe97ikalXw" target="_yPtgRIApEeW6pe97ikalXw">
4895 <children xmi:type="notation:Node" xmi:id="_yRmWoIApEeW6pe97ikalXw" type="6001">
4896 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRmWoYApEeW6pe97ikalXw" y="-10"/>
4897 </children>
4898 <children xmi:type="notation:Node" xmi:id="_yRmWooApEeW6pe97ikalXw" type="6002">
4899 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRmWo4ApEeW6pe97ikalXw" y="10"/>
4900 </children>
4901 <children xmi:type="notation:Node" xmi:id="_yRmWpIApEeW6pe97ikalXw" type="6003">
4902 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRmWpYApEeW6pe97ikalXw" y="10"/>
4903 </children>
4904 <styles xmi:type="notation:ConnectorStyle" xmi:id="_yRlvk4ApEeW6pe97ikalXw" routing="Tree"/>
4905 <styles xmi:type="notation:FontStyle" xmi:id="_yRlvlIApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8"/>
4906 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yRlvlYApEeW6pe97ikalXw" points="[0, 0, -180, 60]$[180, -60, 0, 0]"/>
4907 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yRmWpoApEeW6pe97ikalXw" id="(0.5,0.0)"/>
4908 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yRmWp4ApEeW6pe97ikalXw" id="(0.4961832061068702,2.3902439024390243)"/>
4909 </edges>
4910 <edges xmi:type="notation:Edge" xmi:id="_yRm9sIApEeW6pe97ikalXw" type="4001" element="_yO19kIApEeW6pe97ikalXw" source="_yPwjkIApEeW6pe97ikalXw" target="_yPtgRIApEeW6pe97ikalXw">
4911 <children xmi:type="notation:Node" xmi:id="_yRm9tIApEeW6pe97ikalXw" type="6001">
4912 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRm9tYApEeW6pe97ikalXw" y="-10"/>
4913 </children>
4914 <children xmi:type="notation:Node" xmi:id="_yRm9toApEeW6pe97ikalXw" type="6002">
4915 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRm9t4ApEeW6pe97ikalXw" y="10"/>
4916 </children>
4917 <children xmi:type="notation:Node" xmi:id="_yRnkwIApEeW6pe97ikalXw" type="6003">
4918 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRnkwYApEeW6pe97ikalXw" y="10"/>
4919 </children>
4920 <styles xmi:type="notation:ConnectorStyle" xmi:id="_yRm9sYApEeW6pe97ikalXw" routing="Tree"/>
4921 <styles xmi:type="notation:FontStyle" xmi:id="_yRm9soApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8"/>
4922 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yRm9s4ApEeW6pe97ikalXw" points="[0, 0, 140, -22]$[0, -16, 140, -38]$[-140, -16, 0, -38]$[-140, -35, 0, -57]"/>
4923 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yRnkwoApEeW6pe97ikalXw" id="(0.5,0.0)"/>
4924 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yRnkw4ApEeW6pe97ikalXw" id="(0.4961832061068702,2.3902439024390243)"/>
4925 </edges>
4926 <edges xmi:type="notation:Edge" xmi:id="_yRoL0IApEeW6pe97ikalXw" type="4001" element="_yO2ko4ApEeW6pe97ikalXw" source="_yPxKpIApEeW6pe97ikalXw" target="_yPtgRIApEeW6pe97ikalXw">
4927 <children xmi:type="notation:Node" xmi:id="_yRoL1IApEeW6pe97ikalXw" type="6001">
4928 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRoL1YApEeW6pe97ikalXw" y="-10"/>
4929 </children>
4930 <children xmi:type="notation:Node" xmi:id="_yRoL1oApEeW6pe97ikalXw" type="6002">
4931 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRoL14ApEeW6pe97ikalXw" y="10"/>
4932 </children>
4933 <children xmi:type="notation:Node" xmi:id="_yRoL2IApEeW6pe97ikalXw" type="6003">
4934 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yRoL2YApEeW6pe97ikalXw" y="10"/>
4935 </children>
4936 <styles xmi:type="notation:ConnectorStyle" xmi:id="_yRoL0YApEeW6pe97ikalXw" routing="Tree"/>
4937 <styles xmi:type="notation:FontStyle" xmi:id="_yRoL0oApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8"/>
4938 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yRoL04ApEeW6pe97ikalXw" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
4939 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yRoL2oApEeW6pe97ikalXw" id="(0.5,0.0)"/>
4940 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yRoy4IApEeW6pe97ikalXw" id="(0.4961832061068702,2.3902439024390243)"/>
4941 </edges>
4942 <edges xmi:type="notation:Edge" xmi:id="_ySS6MIApEeW6pe97ikalXw" type="4001" element="_yPalU4ApEeW6pe97ikalXw" source="_yQVLUIApEeW6pe97ikalXw" target="_yPoAsIApEeW6pe97ikalXw">
4943 <children xmi:type="notation:Node" xmi:id="_ySThQIApEeW6pe97ikalXw" type="6001">
4944 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ySThQYApEeW6pe97ikalXw" y="-10"/>
4945 </children>
4946 <children xmi:type="notation:Node" xmi:id="_ySUIUIApEeW6pe97ikalXw" type="6002">
4947 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ySUIUYApEeW6pe97ikalXw" y="10"/>
4948 </children>
4949 <children xmi:type="notation:Node" xmi:id="_ySUIUoApEeW6pe97ikalXw" type="6003">
4950 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ySUIU4ApEeW6pe97ikalXw" y="10"/>
4951 </children>
4952 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ySS6MYApEeW6pe97ikalXw" routing="Tree"/>
4953 <styles xmi:type="notation:FontStyle" xmi:id="_ySS6MoApEeW6pe97ikalXw" fontName="Segoe UI" fontHeight="8"/>
4954 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ySS6M4ApEeW6pe97ikalXw" points="[0, 98, -155, 15]$[0, 135, -155, 52]$[156, 135, 1, 52]$[156, 83, 1, 0]"/>
4955 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ySUIVIApEeW6pe97ikalXw" id="(0.5,0.0)"/>
4956 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ySUIVYApEeW6pe97ikalXw" id="(0.5,1.7121212121212122)"/>
4957 </edges>
4958 <edges xmi:type="notation:Edge" xmi:id="_OLi2UIPKEeWOre-0TMCmMQ" type="4001" element="_OLUM0IPKEeWOre-0TMCmMQ" source="_yPoAsIApEeW6pe97ikalXw" target="_yPoAsIApEeW6pe97ikalXw">
4959 <children xmi:type="notation:Node" xmi:id="_OLjdYIPKEeWOre-0TMCmMQ" type="6001">
4960 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OLjdYYPKEeWOre-0TMCmMQ" y="-10"/>
4961 </children>
4962 <children xmi:type="notation:Node" xmi:id="_OLjdYoPKEeWOre-0TMCmMQ" type="6002">
4963 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OLjdY4PKEeWOre-0TMCmMQ" y="10"/>
4964 </children>
4965 <children xmi:type="notation:Node" xmi:id="_OLjdZIPKEeWOre-0TMCmMQ" type="6003">
4966 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OLjdZYPKEeWOre-0TMCmMQ" x="-2" y="-9"/>
4967 </children>
4968 <styles xmi:type="notation:ConnectorStyle" xmi:id="_OLi2UYPKEeWOre-0TMCmMQ" routing="Rectilinear"/>
4969 <styles xmi:type="notation:FontStyle" xmi:id="_OLi2UoPKEeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
4970 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OLi2U4PKEeWOre-0TMCmMQ" points="[-59, -1, -59, -1]$[-174, -1, -174, -1]$[-174, -49, -174, -49]$[-59, -49, -59, -49]"/>
4971 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OLkEcIPKEeWOre-0TMCmMQ" id="(0.5,0.9696969696969697)"/>
4972 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OLkEcYPKEeWOre-0TMCmMQ" id="(0.5,0.9696969696969697)"/>
4973 </edges>
4974 <edges xmi:type="notation:Edge" xmi:id="_JxZeYAGOEeaDEJmvhpl9gg" type="4001" element="_JwoCUAGOEeaDEJmvhpl9gg" source="_yPrrEIApEeW6pe97ikalXw" target="_yPrEAIApEeW6pe97ikalXw">
4975 <children xmi:type="notation:Node" xmi:id="_JxmSsAGOEeaDEJmvhpl9gg" type="6001">
4976 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JxmSsQGOEeaDEJmvhpl9gg" y="-10"/>
4977 </children>
4978 <children xmi:type="notation:Node" xmi:id="_JxuOgAGOEeaDEJmvhpl9gg" type="6002">
4979 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JxuOgQGOEeaDEJmvhpl9gg" x="4" y="56"/>
4980 </children>
4981 <children xmi:type="notation:Node" xmi:id="_JxvcoAGOEeaDEJmvhpl9gg" type="6003">
4982 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JxvcoQGOEeaDEJmvhpl9gg" y="49"/>
4983 </children>
4984 <styles xmi:type="notation:ConnectorStyle" xmi:id="_JxZeYQGOEeaDEJmvhpl9gg" routing="Rectilinear"/>
4985 <styles xmi:type="notation:FontStyle" xmi:id="_JxZeYgGOEeaDEJmvhpl9gg" fontName="Segoe UI" fontHeight="8"/>
4986 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JxZeYwGOEeaDEJmvhpl9gg" points="[13, 21, 13, -59]$[13, 60, 13, -20]"/>
4987 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JyGB8AGOEeaDEJmvhpl9gg" id="(0.5,0.4883720930232558)"/>
4988 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JyGB8QGOEeaDEJmvhpl9gg" id="(0.5,0.4883720930232558)"/>
4989 </edges>
4990 </data>
4991 </ownedAnnotationEntries>
4992 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_yLnqcIApEeW6pe97ikalXw" name="Type" tooltipText="" outgoingEdges="_yOweAIApEeW6pe97ikalXw _OLUM0IPKEeWOre-0TMCmMQ" incomingEdges="_yOHk04ApEeW6pe97ikalXw _yOxsI4ApEeW6pe97ikalXw _yPalU4ApEeW6pe97ikalXw _OLUM0IPKEeWOre-0TMCmMQ" width="12" height="10">
4993 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Type"/>
4994 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Type"/>
4995 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
4996 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
4997 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
4998 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_uOJOEImGEeWccOHwfpGNpw" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
4999 <labelFormat>italic</labelFormat>
5000 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
5001 </ownedStyle>
5002 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
5003 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_yNwYcIApEeW6pe97ikalXw" name="name : EString" tooltipText="">
5004 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Type/name"/>
5005 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Type/name"/>
5006 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_yNxmkIApEeW6pe97ikalXw" labelAlignment="LEFT" description="_yNw_gIApEeW6pe97ikalXw">
5007 <labelFormat>bold</labelFormat>
5008 </ownedStyle>
5009 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
5010 </ownedElements>
5011 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_XOL5cImGEeWccOHwfpGNpw" name="isAbstract : EBoolean = false" tooltipText="">
5012 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Type/isAbstract"/>
5013 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Type/isAbstract"/>
5014 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_uOOGkImGEeWccOHwfpGNpw" labelAlignment="LEFT" description="_yNw_gIApEeW6pe97ikalXw">
5015 <labelFormat>bold</labelFormat>
5016 </ownedStyle>
5017 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
5018 </ownedElements>
5019 </ownedDiagramElements>
5020 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_yLrU0IApEeW6pe97ikalXw" name="DefinedElement" tooltipText="" incomingEdges="_JwoCUAGOEeaDEJmvhpl9gg" width="12" height="10">
5021 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//DefinedElement"/>
5022 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//DefinedElement"/>
5023 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
5024 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
5025 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
5026 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_yLr74IApEeW6pe97ikalXw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
5027 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
5028 </ownedStyle>
5029 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
5030 </ownedDiagramElements>
5031 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_yLsi8IApEeW6pe97ikalXw" name="TypeDefinition" tooltipText="" outgoingEdges="_yOG9wIApEeW6pe97ikalXw _yOxsI4ApEeW6pe97ikalXw _JwoCUAGOEeaDEJmvhpl9gg" width="12" height="10">
5032 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeDefinition"/>
5033 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeDefinition"/>
5034 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
5035 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
5036 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
5037 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_yLtKAIApEeW6pe97ikalXw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
5038 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
5039 </ownedStyle>
5040 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
5041 </ownedDiagramElements>
5042 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_yLtxEIApEeW6pe97ikalXw" name="TypeReference" tooltipText="" outgoingEdges="_yOy6QIApEeW6pe97ikalXw" incomingEdges="_yOzhU4ApEeW6pe97ikalXw _yO0IY4ApEeW6pe97ikalXw" width="12" height="10">
5043 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeReference"/>
5044 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeReference"/>
5045 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
5046 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
5047 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
5048 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_yLuYIIApEeW6pe97ikalXw" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
5049 <labelFormat>italic</labelFormat>
5050 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
5051 </ownedStyle>
5052 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
5053 </ownedDiagramElements>
5054 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_yLu_MIApEeW6pe97ikalXw" name="ComplexTypeReference" tooltipText="" outgoingEdges="_yOHk04ApEeW6pe97ikalXw _yOzhU4ApEeW6pe97ikalXw" width="12" height="10">
5055 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//ComplexTypeReference"/>
5056 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//ComplexTypeReference"/>
5057 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
5058 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
5059 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
5060 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_yLu_MYApEeW6pe97ikalXw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
5061 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
5062 </ownedStyle>
5063 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
5064 </ownedDiagramElements>
5065 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_yLw0YIApEeW6pe97ikalXw" name="PrimitiveTypeReference" tooltipText="" outgoingEdges="_yO0IY4ApEeW6pe97ikalXw" incomingEdges="_yO0vc4ApEeW6pe97ikalXw _yO19kIApEeW6pe97ikalXw _yO2ko4ApEeW6pe97ikalXw" width="12" height="10">
5066 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//PrimitiveTypeReference"/>
5067 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//PrimitiveTypeReference"/>
5068 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
5069 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
5070 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
5071 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_yL7zgIApEeW6pe97ikalXw" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
5072 <labelFormat>italic</labelFormat>
5073 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
5074 </ownedStyle>
5075 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
5076 </ownedDiagramElements>
5077 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_yL_d4IApEeW6pe97ikalXw" name="IntTypeReference" tooltipText="" outgoingEdges="_yO0vc4ApEeW6pe97ikalXw" width="12" height="10">
5078 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntTypeReference"/>
5079 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntTypeReference"/>
5080 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
5081 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
5082 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
5083 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_yL_d4YApEeW6pe97ikalXw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
5084 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
5085 </ownedStyle>
5086 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
5087 </ownedDiagramElements>
5088 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_yMBTEIApEeW6pe97ikalXw" name="BoolTypeReference" tooltipText="" outgoingEdges="_yO19kIApEeW6pe97ikalXw" width="12" height="10">
5089 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolTypeReference"/>
5090 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolTypeReference"/>
5091 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
5092 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
5093 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
5094 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_yMBTEYApEeW6pe97ikalXw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
5095 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
5096 </ownedStyle>
5097 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
5098 </ownedDiagramElements>
5099 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_yMChMIApEeW6pe97ikalXw" name="RealTypeReference" tooltipText="" outgoingEdges="_yO2ko4ApEeW6pe97ikalXw" width="12" height="10">
5100 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//RealTypeReference"/>
5101 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//RealTypeReference"/>
5102 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
5103 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
5104 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
5105 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_yMDIQIApEeW6pe97ikalXw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
5106 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
5107 </ownedStyle>
5108 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
5109 </ownedDiagramElements>
5110 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_yMqMQIApEeW6pe97ikalXw" name="TypeDescriptor" tooltipText="" incomingEdges="_yOweAIApEeW6pe97ikalXw _yOy6QIApEeW6pe97ikalXw" width="12" height="10">
5111 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeDescriptor"/>
5112 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeDescriptor"/>
5113 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
5114 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
5115 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
5116 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_yMqzUIApEeW6pe97ikalXw" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_interface.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
5117 <labelFormat>italic</labelFormat>
5118 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.0/@style"/>
5119 </ownedStyle>
5120 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
5121 </ownedDiagramElements>
5122 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_yM4OsIApEeW6pe97ikalXw" name="TypeDeclaration" tooltipText="" outgoingEdges="_yPalU4ApEeW6pe97ikalXw" incomingEdges="_yOG9wIApEeW6pe97ikalXw" width="12" height="10">
5123 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeDeclaration"/>
5124 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeDeclaration"/>
5125 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
5126 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
5127 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
5128 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_yM4OsYApEeW6pe97ikalXw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
5129 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
5130 </ownedStyle>
5131 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
5132 </ownedDiagramElements>
5133 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yOG9wIApEeW6pe97ikalXw" name="[0..1] defines" sourceNode="_yLsi8IApEeW6pe97ikalXw" targetNode="_yM4OsIApEeW6pe97ikalXw">
5134 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//TypeDefinition/defines"/>
5135 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//TypeDefinition/defines"/>
5136 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_yOHk0IApEeW6pe97ikalXw" routingStyle="manhattan" strokeColor="0,0,0">
5137 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
5138 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_yOHk0YApEeW6pe97ikalXw" showIcon="false">
5139 <customFeatures>labelSize</customFeatures>
5140 </centerLabelStyle>
5141 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_yOHk0oApEeW6pe97ikalXw" showIcon="false" labelColor="39,76,114">
5142 <customFeatures>labelSize</customFeatures>
5143 </endLabelStyle>
5144 </ownedStyle>
5145 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
5146 </ownedDiagramElements>
5147 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yOHk04ApEeW6pe97ikalXw" name="[0..1] referred" sourceNode="_yLu_MIApEeW6pe97ikalXw" targetNode="_yLnqcIApEeW6pe97ikalXw">
5148 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//ComplexTypeReference/referred"/>
5149 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//ComplexTypeReference/referred"/>
5150 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_yOIL4IApEeW6pe97ikalXw" routingStyle="manhattan" strokeColor="0,0,0">
5151 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
5152 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_yOIL4YApEeW6pe97ikalXw" showIcon="false">
5153 <customFeatures>labelSize</customFeatures>
5154 </centerLabelStyle>
5155 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_yOIL4oApEeW6pe97ikalXw" showIcon="false" labelColor="39,76,114">
5156 <customFeatures>labelSize</customFeatures>
5157 </endLabelStyle>
5158 </ownedStyle>
5159 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
5160 </ownedDiagramElements>
5161 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yOweAIApEeW6pe97ikalXw" sourceNode="_yLnqcIApEeW6pe97ikalXw" targetNode="_yMqMQIApEeW6pe97ikalXw">
5162 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Type"/>
5163 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Type/@eGenericSuperTypes.0"/>
5164 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_uOS_EImGEeWccOHwfpGNpw" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
5165 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.0/@style"/>
5166 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_uOS_EYmGEeWccOHwfpGNpw" showIcon="false">
5167 <labelFormat>italic</labelFormat>
5168 </beginLabelStyle>
5169 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_uOS_EomGEeWccOHwfpGNpw" showIcon="false"/>
5170 </ownedStyle>
5171 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
5172 </ownedDiagramElements>
5173 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yOxsI4ApEeW6pe97ikalXw" sourceNode="_yLsi8IApEeW6pe97ikalXw" targetNode="_yLnqcIApEeW6pe97ikalXw">
5174 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeDefinition"/>
5175 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//TypeDefinition/@eGenericSuperTypes.0"/>
5176 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_yOyTMIApEeW6pe97ikalXw" targetArrow="InputClosedArrow" routingStyle="tree">
5177 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
5178 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_yOyTMYApEeW6pe97ikalXw" showIcon="false">
5179 <labelFormat>italic</labelFormat>
5180 </beginLabelStyle>
5181 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_yOyTMoApEeW6pe97ikalXw" showIcon="false"/>
5182 </ownedStyle>
5183 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
5184 </ownedDiagramElements>
5185 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yOy6QIApEeW6pe97ikalXw" sourceNode="_yLtxEIApEeW6pe97ikalXw" targetNode="_yMqMQIApEeW6pe97ikalXw">
5186 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeReference"/>
5187 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//TypeReference/@eGenericSuperTypes.0"/>
5188 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_yOzhUIApEeW6pe97ikalXw" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
5189 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.0/@style"/>
5190 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_yOzhUYApEeW6pe97ikalXw" showIcon="false">
5191 <labelFormat>italic</labelFormat>
5192 </beginLabelStyle>
5193 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_yOzhUoApEeW6pe97ikalXw" showIcon="false"/>
5194 </ownedStyle>
5195 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
5196 </ownedDiagramElements>
5197 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yOzhU4ApEeW6pe97ikalXw" sourceNode="_yLu_MIApEeW6pe97ikalXw" targetNode="_yLtxEIApEeW6pe97ikalXw">
5198 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//ComplexTypeReference"/>
5199 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//ComplexTypeReference/@eGenericSuperTypes.0"/>
5200 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_yO0IYIApEeW6pe97ikalXw" targetArrow="InputClosedArrow" routingStyle="tree">
5201 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
5202 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_yO0IYYApEeW6pe97ikalXw" showIcon="false">
5203 <labelFormat>italic</labelFormat>
5204 </beginLabelStyle>
5205 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_yO0IYoApEeW6pe97ikalXw" showIcon="false"/>
5206 </ownedStyle>
5207 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
5208 </ownedDiagramElements>
5209 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yO0IY4ApEeW6pe97ikalXw" sourceNode="_yLw0YIApEeW6pe97ikalXw" targetNode="_yLtxEIApEeW6pe97ikalXw">
5210 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//PrimitiveTypeReference"/>
5211 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//PrimitiveTypeReference/@eGenericSuperTypes.0"/>
5212 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_yO0vcIApEeW6pe97ikalXw" targetArrow="InputClosedArrow" routingStyle="tree">
5213 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
5214 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_yO0vcYApEeW6pe97ikalXw" showIcon="false">
5215 <labelFormat>italic</labelFormat>
5216 </beginLabelStyle>
5217 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_yO0vcoApEeW6pe97ikalXw" showIcon="false"/>
5218 </ownedStyle>
5219 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
5220 </ownedDiagramElements>
5221 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yO0vc4ApEeW6pe97ikalXw" sourceNode="_yL_d4IApEeW6pe97ikalXw" targetNode="_yLw0YIApEeW6pe97ikalXw">
5222 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntTypeReference"/>
5223 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//IntTypeReference/@eGenericSuperTypes.0"/>
5224 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_yO1WgIApEeW6pe97ikalXw" targetArrow="InputClosedArrow" routingStyle="tree">
5225 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
5226 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_yO1WgYApEeW6pe97ikalXw" showIcon="false">
5227 <labelFormat>italic</labelFormat>
5228 </beginLabelStyle>
5229 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_yO1WgoApEeW6pe97ikalXw" showIcon="false"/>
5230 </ownedStyle>
5231 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
5232 </ownedDiagramElements>
5233 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yO19kIApEeW6pe97ikalXw" sourceNode="_yMBTEIApEeW6pe97ikalXw" targetNode="_yLw0YIApEeW6pe97ikalXw">
5234 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolTypeReference"/>
5235 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//BoolTypeReference/@eGenericSuperTypes.0"/>
5236 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_yO2koIApEeW6pe97ikalXw" targetArrow="InputClosedArrow" routingStyle="tree">
5237 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
5238 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_yO2koYApEeW6pe97ikalXw" showIcon="false">
5239 <labelFormat>italic</labelFormat>
5240 </beginLabelStyle>
5241 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_yO2kooApEeW6pe97ikalXw" showIcon="false"/>
5242 </ownedStyle>
5243 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
5244 </ownedDiagramElements>
5245 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yO2ko4ApEeW6pe97ikalXw" sourceNode="_yMChMIApEeW6pe97ikalXw" targetNode="_yLw0YIApEeW6pe97ikalXw">
5246 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//RealTypeReference"/>
5247 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//RealTypeReference/@eGenericSuperTypes.0"/>
5248 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_yO3LsIApEeW6pe97ikalXw" targetArrow="InputClosedArrow" routingStyle="tree">
5249 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
5250 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_yO3LsYApEeW6pe97ikalXw" showIcon="false">
5251 <labelFormat>italic</labelFormat>
5252 </beginLabelStyle>
5253 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_yO3LsoApEeW6pe97ikalXw" showIcon="false"/>
5254 </ownedStyle>
5255 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
5256 </ownedDiagramElements>
5257 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_yPalU4ApEeW6pe97ikalXw" sourceNode="_yM4OsIApEeW6pe97ikalXw" targetNode="_yLnqcIApEeW6pe97ikalXw">
5258 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeDeclaration"/>
5259 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//TypeDeclaration/@eGenericSuperTypes.0"/>
5260 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_yPbMYIApEeW6pe97ikalXw" targetArrow="InputClosedArrow" routingStyle="tree">
5261 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
5262 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_yPbMYYApEeW6pe97ikalXw" showIcon="false">
5263 <labelFormat>italic</labelFormat>
5264 </beginLabelStyle>
5265 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_yPbMYoApEeW6pe97ikalXw" showIcon="false"/>
5266 </ownedStyle>
5267 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
5268 </ownedDiagramElements>
5269 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_OLUM0IPKEeWOre-0TMCmMQ" sourceNode="_yLnqcIApEeW6pe97ikalXw" targetNode="_yLnqcIApEeW6pe97ikalXw" beginLabel="[0..*] supertypes" endLabel="[0..*] subtypes">
5270 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Type/subtypes"/>
5271 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Type/subtypes"/>
5272 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Type/supertypes"/>
5273 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_OLUz4IPKEeWOre-0TMCmMQ" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0">
5274 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style"/>
5275 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_OLUz4YPKEeWOre-0TMCmMQ" showIcon="false"/>
5276 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_OLUz4oPKEeWOre-0TMCmMQ" showIcon="false"/>
5277 </ownedStyle>
5278 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
5279 </ownedDiagramElements>
5280 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_JwoCUAGOEeaDEJmvhpl9gg" sourceNode="_yLsi8IApEeW6pe97ikalXw" targetNode="_yLrU0IApEeW6pe97ikalXw" beginLabel="[1..*] definedInType" endLabel="[0..*] elements">
5281 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//TypeDefinition/elements"/>
5282 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//DefinedElement/definedInType"/>
5283 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//TypeDefinition/elements"/>
5284 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_JwpQcAGOEeaDEJmvhpl9gg" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0">
5285 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style"/>
5286 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_JwpQcQGOEeaDEJmvhpl9gg" showIcon="false"/>
5287 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_JwpQcgGOEeaDEJmvhpl9gg" showIcon="false"/>
5288 </ownedStyle>
5289 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
5290 </ownedDiagramElements>
5291 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
5292 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_v6LzVYApEeW6pe97ikalXw"/>
5293 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
5294 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
5295 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
5296 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
5297 <target xmi:type="ecore:EPackage" href="logiclanguage.ecore#/"/>
5298 </ownedRepresentations>
5299 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_FSREgIP2EeWOre-0TMCmMQ" name="Constants, Functions and Relations">
5300 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_FSREgYP2EeWOre-0TMCmMQ" source="DANNOTATION_CUSTOMIZATION_KEY">
5301 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_FSREgoP2EeWOre-0TMCmMQ">
5302 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_FSREg4P2EeWOre-0TMCmMQ" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
5303 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
5304 <labelFormat>bold</labelFormat>
5305 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
5306 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
5307 </computedStyleDescriptions>
5308 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_FSREhIP2EeWOre-0TMCmMQ" sourceArrow="FillDiamond" routingStyle="manhattan">
5309 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
5310 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_FSREhYP2EeWOre-0TMCmMQ" showIcon="false" labelExpression="service:render">
5311 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
5312 </centerLabelStyleDescription>
5313 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_FSREhoP2EeWOre-0TMCmMQ" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
5314 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
5315 </endLabelStyleDescription>
5316 </computedStyleDescriptions>
5317 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_FSREh4P2EeWOre-0TMCmMQ" sourceArrow="FillDiamond" routingStyle="manhattan">
5318 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
5319 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_FSREiIP2EeWOre-0TMCmMQ" showIcon="false" labelExpression="service:render">
5320 <labelFormat>bold</labelFormat>
5321 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
5322 </centerLabelStyleDescription>
5323 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_FSREiYP2EeWOre-0TMCmMQ" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
5324 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
5325 </endLabelStyleDescription>
5326 </computedStyleDescriptions>
5327 </data>
5328 </ownedAnnotationEntries>
5329 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_FSREioP2EeWOre-0TMCmMQ" source="GMF_DIAGRAMS">
5330 <data xmi:type="notation:Diagram" xmi:id="_FSREi4P2EeWOre-0TMCmMQ" type="Sirius" element="_FSREgIP2EeWOre-0TMCmMQ" measurementUnit="Pixel">
5331 <children xmi:type="notation:Node" xmi:id="_FSREloP2EeWOre-0TMCmMQ" type="2003" element="_FSRvsIP2EeWOre-0TMCmMQ">
5332 <children xmi:type="notation:Node" xmi:id="_FSREl4P2EeWOre-0TMCmMQ" type="5007"/>
5333 <children xmi:type="notation:Node" xmi:id="_FSREmIP2EeWOre-0TMCmMQ" type="7004">
5334 <styles xmi:type="notation:SortingStyle" xmi:id="_FSREmYP2EeWOre-0TMCmMQ"/>
5335 <styles xmi:type="notation:FilteringStyle" xmi:id="_FSREmoP2EeWOre-0TMCmMQ"/>
5336 </children>
5337 <styles xmi:type="notation:ShapeStyle" xmi:id="_FSREm4P2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5338 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSREnIP2EeWOre-0TMCmMQ" x="-35" y="177" height="40"/>
5339 </children>
5340 <children xmi:type="notation:Node" xmi:id="_FSREpIP2EeWOre-0TMCmMQ" type="2003" element="_FSRvtIP2EeWOre-0TMCmMQ">
5341 <children xmi:type="notation:Node" xmi:id="_FSREpYP2EeWOre-0TMCmMQ" type="5007"/>
5342 <children xmi:type="notation:Node" xmi:id="_FSREpoP2EeWOre-0TMCmMQ" type="7004">
5343 <styles xmi:type="notation:SortingStyle" xmi:id="_FSREp4P2EeWOre-0TMCmMQ"/>
5344 <styles xmi:type="notation:FilteringStyle" xmi:id="_FSREqIP2EeWOre-0TMCmMQ"/>
5345 </children>
5346 <styles xmi:type="notation:ShapeStyle" xmi:id="_FSREqYP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
5347 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSREqoP2EeWOre-0TMCmMQ" x="623" y="-115"/>
5348 </children>
5349 <children xmi:type="notation:Node" xmi:id="_FSREzoP2EeWOre-0TMCmMQ" type="2003" element="_FSRvwIP2EeWOre-0TMCmMQ">
5350 <children xmi:type="notation:Node" xmi:id="_FSREz4P2EeWOre-0TMCmMQ" type="5007"/>
5351 <children xmi:type="notation:Node" xmi:id="_FSRE0IP2EeWOre-0TMCmMQ" type="7004">
5352 <styles xmi:type="notation:SortingStyle" xmi:id="_FSRE0YP2EeWOre-0TMCmMQ"/>
5353 <styles xmi:type="notation:FilteringStyle" xmi:id="_FSRE0oP2EeWOre-0TMCmMQ"/>
5354 </children>
5355 <styles xmi:type="notation:ShapeStyle" xmi:id="_FSRE04P2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5356 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRE1IP2EeWOre-0TMCmMQ" x="485" y="185" height="38"/>
5357 </children>
5358 <children xmi:type="notation:Node" xmi:id="_FSRE1YP2EeWOre-0TMCmMQ" type="2003" element="_FSRvwoP2EeWOre-0TMCmMQ">
5359 <children xmi:type="notation:Node" xmi:id="_FSRE1oP2EeWOre-0TMCmMQ" type="5007"/>
5360 <children xmi:type="notation:Node" xmi:id="_FSRE14P2EeWOre-0TMCmMQ" type="7004">
5361 <styles xmi:type="notation:SortingStyle" xmi:id="_FSRE2IP2EeWOre-0TMCmMQ"/>
5362 <styles xmi:type="notation:FilteringStyle" xmi:id="_FSRE2YP2EeWOre-0TMCmMQ"/>
5363 </children>
5364 <styles xmi:type="notation:ShapeStyle" xmi:id="_FSRE2oP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
5365 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRE24P2EeWOre-0TMCmMQ" x="310" y="490" height="48"/>
5366 </children>
5367 <children xmi:type="notation:Node" xmi:id="_FSRE3IP2EeWOre-0TMCmMQ" type="2003" element="_FSRvxIP2EeWOre-0TMCmMQ">
5368 <children xmi:type="notation:Node" xmi:id="_FSRE3YP2EeWOre-0TMCmMQ" type="5007"/>
5369 <children xmi:type="notation:Node" xmi:id="_FSRE3oP2EeWOre-0TMCmMQ" type="7004">
5370 <children xmi:type="notation:Node" xmi:id="_FSRE34P2EeWOre-0TMCmMQ" type="3010" element="_FSRvxoP2EeWOre-0TMCmMQ">
5371 <styles xmi:type="notation:FontStyle" xmi:id="_FSRE4IP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8" bold="true"/>
5372 <layoutConstraint xmi:type="notation:Location" xmi:id="_FSRE4YP2EeWOre-0TMCmMQ"/>
5373 </children>
5374 <styles xmi:type="notation:SortingStyle" xmi:id="_FSRE4oP2EeWOre-0TMCmMQ"/>
5375 <styles xmi:type="notation:FilteringStyle" xmi:id="_FSRE44P2EeWOre-0TMCmMQ"/>
5376 </children>
5377 <styles xmi:type="notation:ShapeStyle" xmi:id="_FSRE5IP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
5378 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRE5YP2EeWOre-0TMCmMQ" x="445" y="-125"/>
5379 </children>
5380 <children xmi:type="notation:Node" xmi:id="_FSRFEoP2EeWOre-0TMCmMQ" type="2003" element="_FSRv2IP2EeWOre-0TMCmMQ">
5381 <children xmi:type="notation:Node" xmi:id="_FSRFE4P2EeWOre-0TMCmMQ" type="5007"/>
5382 <children xmi:type="notation:Node" xmi:id="_FSRFFIP2EeWOre-0TMCmMQ" type="7004">
5383 <styles xmi:type="notation:SortingStyle" xmi:id="_FSRFFYP2EeWOre-0TMCmMQ"/>
5384 <styles xmi:type="notation:FilteringStyle" xmi:id="_FSRFFoP2EeWOre-0TMCmMQ"/>
5385 </children>
5386 <styles xmi:type="notation:ShapeStyle" xmi:id="_FSRFF4P2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5387 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRFGIP2EeWOre-0TMCmMQ" x="700" y="415" height="48"/>
5388 </children>
5389 <children xmi:type="notation:Node" xmi:id="_FSRFy4P2EeWOre-0TMCmMQ" type="2003" element="_FSRwDoP2EeWOre-0TMCmMQ">
5390 <children xmi:type="notation:Node" xmi:id="_FSRFzIP2EeWOre-0TMCmMQ" type="5007"/>
5391 <children xmi:type="notation:Node" xmi:id="_FSRFzYP2EeWOre-0TMCmMQ" type="7004">
5392 <styles xmi:type="notation:SortingStyle" xmi:id="_FSRFzoP2EeWOre-0TMCmMQ"/>
5393 <styles xmi:type="notation:FilteringStyle" xmi:id="_FSRFz4P2EeWOre-0TMCmMQ"/>
5394 </children>
5395 <styles xmi:type="notation:ShapeStyle" xmi:id="_FSRF0IP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5396 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRF0YP2EeWOre-0TMCmMQ" x="925" y="186" height="28"/>
5397 </children>
5398 <children xmi:type="notation:Node" xmi:id="_FSRF0oP2EeWOre-0TMCmMQ" type="2003" element="_FSRwEIP2EeWOre-0TMCmMQ">
5399 <children xmi:type="notation:Node" xmi:id="_FSRF04P2EeWOre-0TMCmMQ" type="5007"/>
5400 <children xmi:type="notation:Node" xmi:id="_FSRF1IP2EeWOre-0TMCmMQ" type="7004">
5401 <styles xmi:type="notation:SortingStyle" xmi:id="_FSRF1YP2EeWOre-0TMCmMQ"/>
5402 <styles xmi:type="notation:FilteringStyle" xmi:id="_FSRF1oP2EeWOre-0TMCmMQ"/>
5403 </children>
5404 <styles xmi:type="notation:ShapeStyle" xmi:id="_FSRF14P2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5405 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRF2IP2EeWOre-0TMCmMQ" x="130" y="177" height="41"/>
5406 </children>
5407 <children xmi:type="notation:Node" xmi:id="_FSRF2YP2EeWOre-0TMCmMQ" type="2003" element="_FSSTT4P2EeWOre-0TMCmMQ">
5408 <children xmi:type="notation:Node" xmi:id="_FSRF2oP2EeWOre-0TMCmMQ" type="5007"/>
5409 <children xmi:type="notation:Node" xmi:id="_FSRF24P2EeWOre-0TMCmMQ" type="7004">
5410 <styles xmi:type="notation:SortingStyle" xmi:id="_FSRF3IP2EeWOre-0TMCmMQ"/>
5411 <styles xmi:type="notation:FilteringStyle" xmi:id="_FSRF3YP2EeWOre-0TMCmMQ"/>
5412 </children>
5413 <styles xmi:type="notation:ShapeStyle" xmi:id="_FSRF3oP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5414 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRF34P2EeWOre-0TMCmMQ" x="220" y="275" width="128" height="43"/>
5415 </children>
5416 <children xmi:type="notation:Node" xmi:id="_FSRF4IP2EeWOre-0TMCmMQ" type="2003" element="_FSSTWYP2EeWOre-0TMCmMQ">
5417 <children xmi:type="notation:Node" xmi:id="_FSRF4YP2EeWOre-0TMCmMQ" type="5007"/>
5418 <children xmi:type="notation:Node" xmi:id="_FSRF4oP2EeWOre-0TMCmMQ" type="7004">
5419 <styles xmi:type="notation:SortingStyle" xmi:id="_FSRF44P2EeWOre-0TMCmMQ"/>
5420 <styles xmi:type="notation:FilteringStyle" xmi:id="_FSRF5IP2EeWOre-0TMCmMQ"/>
5421 </children>
5422 <styles xmi:type="notation:ShapeStyle" xmi:id="_FSRF5YP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5423 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRF5oP2EeWOre-0TMCmMQ" x="1010" y="274" width="120" height="46"/>
5424 </children>
5425 <children xmi:type="notation:Node" xmi:id="_FSRF54P2EeWOre-0TMCmMQ" type="2003" element="_FSSTY4P2EeWOre-0TMCmMQ">
5426 <children xmi:type="notation:Node" xmi:id="_FSRF6IP2EeWOre-0TMCmMQ" type="5007"/>
5427 <children xmi:type="notation:Node" xmi:id="_FSRF6YP2EeWOre-0TMCmMQ" type="7004">
5428 <styles xmi:type="notation:SortingStyle" xmi:id="_FSRF6oP2EeWOre-0TMCmMQ"/>
5429 <styles xmi:type="notation:FilteringStyle" xmi:id="_FSRF64P2EeWOre-0TMCmMQ"/>
5430 </children>
5431 <styles xmi:type="notation:ShapeStyle" xmi:id="_FSRF7IP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5432 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRF7YP2EeWOre-0TMCmMQ" x="582" y="275" height="43"/>
5433 </children>
5434 <children xmi:type="notation:Node" xmi:id="_FSRF7oP2EeWOre-0TMCmMQ" type="2003" element="_FSSTcYP2EeWOre-0TMCmMQ">
5435 <children xmi:type="notation:Node" xmi:id="_FSRF74P2EeWOre-0TMCmMQ" type="5007"/>
5436 <children xmi:type="notation:Node" xmi:id="_FSRF8IP2EeWOre-0TMCmMQ" type="7004">
5437 <styles xmi:type="notation:SortingStyle" xmi:id="_FSRF8YP2EeWOre-0TMCmMQ"/>
5438 <styles xmi:type="notation:FilteringStyle" xmi:id="_FSRF8oP2EeWOre-0TMCmMQ"/>
5439 </children>
5440 <styles xmi:type="notation:ShapeStyle" xmi:id="_FSRF84P2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5441 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRF9IP2EeWOre-0TMCmMQ" x="310" y="580" width="120" height="100"/>
5442 </children>
5443 <children xmi:type="notation:Node" xmi:id="_FSRF9YP2EeWOre-0TMCmMQ" type="2003" element="_FSSTg4P2EeWOre-0TMCmMQ">
5444 <children xmi:type="notation:Node" xmi:id="_FSRF9oP2EeWOre-0TMCmMQ" type="5007"/>
5445 <children xmi:type="notation:Node" xmi:id="_FSRF94P2EeWOre-0TMCmMQ" type="7004">
5446 <styles xmi:type="notation:SortingStyle" xmi:id="_FSRF-IP2EeWOre-0TMCmMQ"/>
5447 <styles xmi:type="notation:FilteringStyle" xmi:id="_FSRF-YP2EeWOre-0TMCmMQ"/>
5448 </children>
5449 <styles xmi:type="notation:ShapeStyle" xmi:id="_FSRF-oP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5450 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRF-4P2EeWOre-0TMCmMQ" x="30" y="275" height="43"/>
5451 </children>
5452 <children xmi:type="notation:Node" xmi:id="_FSRF_IP2EeWOre-0TMCmMQ" type="2003" element="_FSSTjYP2EeWOre-0TMCmMQ">
5453 <children xmi:type="notation:Node" xmi:id="_FSRF_YP2EeWOre-0TMCmMQ" type="5007"/>
5454 <children xmi:type="notation:Node" xmi:id="_FSRF_oP2EeWOre-0TMCmMQ" type="7004">
5455 <styles xmi:type="notation:SortingStyle" xmi:id="_FSRF_4P2EeWOre-0TMCmMQ"/>
5456 <styles xmi:type="notation:FilteringStyle" xmi:id="_FSRGAIP2EeWOre-0TMCmMQ"/>
5457 </children>
5458 <styles xmi:type="notation:ShapeStyle" xmi:id="_FSRGAYP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5459 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRGAoP2EeWOre-0TMCmMQ" x="765" y="279" width="126" height="38"/>
5460 </children>
5461 <children xmi:type="notation:Node" xmi:id="_FSRGA4P2EeWOre-0TMCmMQ" type="2003" element="_FSSTk4P2EeWOre-0TMCmMQ">
5462 <children xmi:type="notation:Node" xmi:id="_FSRGBIP2EeWOre-0TMCmMQ" type="5007"/>
5463 <children xmi:type="notation:Node" xmi:id="_FSRGBYP2EeWOre-0TMCmMQ" type="7004">
5464 <styles xmi:type="notation:SortingStyle" xmi:id="_FSRGBoP2EeWOre-0TMCmMQ"/>
5465 <styles xmi:type="notation:FilteringStyle" xmi:id="_FSRGB4P2EeWOre-0TMCmMQ"/>
5466 </children>
5467 <styles xmi:type="notation:ShapeStyle" xmi:id="_FSRGCIP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5468 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRGCYP2EeWOre-0TMCmMQ" x="382" y="275" width="133" height="43"/>
5469 </children>
5470 <children xmi:type="notation:Shape" xmi:id="_QM90MIV6EeWhkpx1k3JSIA" type="Note" fontName="Segoe UI" description="Binary Decision Diagram" fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
5471 <children xmi:type="notation:BasicDecorationNode" xmi:id="_QNCssIV6EeWhkpx1k3JSIA" type="DiagramName">
5472 <element xsi:nil="true"/>
5473 </children>
5474 <children xmi:type="notation:BasicDecorationNode" xmi:id="_QNDTwIV6EeWhkpx1k3JSIA" type="Description">
5475 <element xsi:nil="true"/>
5476 </children>
5477 <styles xmi:type="notation:TextStyle" xmi:id="_QM90MYV6EeWhkpx1k3JSIA"/>
5478 <styles xmi:type="notation:LineTypeStyle" xmi:id="_QM90MoV6EeWhkpx1k3JSIA"/>
5479 <element xsi:nil="true"/>
5480 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QM90M4V6EeWhkpx1k3JSIA" x="294" y="710" height="34"/>
5481 </children>
5482 <styles xmi:type="notation:DiagramStyle" xmi:id="_FSRGEYP2EeWOre-0TMCmMQ"/>
5483 <edges xmi:type="notation:Edge" xmi:id="_FSRGKoP2EeWOre-0TMCmMQ" type="4001" element="_FSRwGoP2EeWOre-0TMCmMQ" source="_FSREzoP2EeWOre-0TMCmMQ" target="_FSREpIP2EeWOre-0TMCmMQ">
5484 <children xmi:type="notation:Node" xmi:id="_FSRGK4P2EeWOre-0TMCmMQ" type="6001">
5485 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRGLIP2EeWOre-0TMCmMQ" x="-13" y="-31"/>
5486 </children>
5487 <children xmi:type="notation:Node" xmi:id="_FSRGLYP2EeWOre-0TMCmMQ" type="6002">
5488 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRGLoP2EeWOre-0TMCmMQ" y="10"/>
5489 </children>
5490 <children xmi:type="notation:Node" xmi:id="_FSRGL4P2EeWOre-0TMCmMQ" type="6003">
5491 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRGMIP2EeWOre-0TMCmMQ" y="10"/>
5492 </children>
5493 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRGMYP2EeWOre-0TMCmMQ" routing="Rectilinear"/>
5494 <styles xmi:type="notation:FontStyle" xmi:id="_FSRGMoP2EeWOre-0TMCmMQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
5495 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRGM4P2EeWOre-0TMCmMQ" points="[59, 19, -79, 221]$[138, 19, 0, 221]$[138, -202, 0, 0]"/>
5496 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRGNIP2EeWOre-0TMCmMQ" id="(0.5,0.0)"/>
5497 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRGNYP2EeWOre-0TMCmMQ" id="(0.5,1.0)"/>
5498 </edges>
5499 <edges xmi:type="notation:Edge" xmi:id="_FSRGNoP2EeWOre-0TMCmMQ" type="4001" element="_FSRwHoP2EeWOre-0TMCmMQ" source="_FSREzoP2EeWOre-0TMCmMQ" target="_FSREpIP2EeWOre-0TMCmMQ">
5500 <children xmi:type="notation:Node" xmi:id="_FSRGN4P2EeWOre-0TMCmMQ" type="6001">
5501 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRGOIP2EeWOre-0TMCmMQ" y="-10"/>
5502 </children>
5503 <children xmi:type="notation:Node" xmi:id="_FSRGOYP2EeWOre-0TMCmMQ" type="6002">
5504 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRGOoP2EeWOre-0TMCmMQ" y="10"/>
5505 </children>
5506 <children xmi:type="notation:Node" xmi:id="_FSRGO4P2EeWOre-0TMCmMQ" type="6003">
5507 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRGPIP2EeWOre-0TMCmMQ" y="10"/>
5508 </children>
5509 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRGPYP2EeWOre-0TMCmMQ" routing="Rectilinear"/>
5510 <styles xmi:type="notation:FontStyle" xmi:id="_FSRGPoP2EeWOre-0TMCmMQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
5511 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRGP4P2EeWOre-0TMCmMQ" points="[41, 0, -97, 202]$[41, -252, -97, -50]$[79, -252, -59, -50]"/>
5512 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRGQIP2EeWOre-0TMCmMQ" id="(0.5,0.0)"/>
5513 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRGQYP2EeWOre-0TMCmMQ" id="(0.5,1.0)"/>
5514 </edges>
5515 <edges xmi:type="notation:Edge" xmi:id="_FSRGWoP2EeWOre-0TMCmMQ" type="4001" element="_FSRwKoP2EeWOre-0TMCmMQ" source="_FSRFEoP2EeWOre-0TMCmMQ" target="_FSREpIP2EeWOre-0TMCmMQ">
5516 <children xmi:type="notation:Node" xmi:id="_FSRGW4P2EeWOre-0TMCmMQ" type="6001">
5517 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRGXIP2EeWOre-0TMCmMQ" y="-10"/>
5518 </children>
5519 <children xmi:type="notation:Node" xmi:id="_FSRGXYP2EeWOre-0TMCmMQ" type="6002">
5520 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRGXoP2EeWOre-0TMCmMQ" y="10"/>
5521 </children>
5522 <children xmi:type="notation:Node" xmi:id="_FSRGX4P2EeWOre-0TMCmMQ" type="6003">
5523 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRGYIP2EeWOre-0TMCmMQ" y="10"/>
5524 </children>
5525 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRGYYP2EeWOre-0TMCmMQ" routing="Rectilinear"/>
5526 <styles xmi:type="notation:FontStyle" xmi:id="_FSRGYoP2EeWOre-0TMCmMQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
5527 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRGY4P2EeWOre-0TMCmMQ" points="[-29, 0, 48, 432]$[-29, -432, 48, 0]"/>
5528 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRGZIP2EeWOre-0TMCmMQ" id="(0.5,0.0)"/>
5529 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRGZYP2EeWOre-0TMCmMQ" id="(0.5,1.0)"/>
5530 </edges>
5531 <edges xmi:type="notation:Edge" xmi:id="_FSRsoIP2EeWOre-0TMCmMQ" type="4001" element="_FSRwioP2EeWOre-0TMCmMQ" source="_FSRFy4P2EeWOre-0TMCmMQ" target="_FSREpIP2EeWOre-0TMCmMQ">
5532 <children xmi:type="notation:Node" xmi:id="_FSRsoYP2EeWOre-0TMCmMQ" type="6001">
5533 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRsooP2EeWOre-0TMCmMQ" x="12" y="-10"/>
5534 </children>
5535 <children xmi:type="notation:Node" xmi:id="_FSRso4P2EeWOre-0TMCmMQ" type="6002">
5536 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRspIP2EeWOre-0TMCmMQ" x="-3" y="10"/>
5537 </children>
5538 <children xmi:type="notation:Node" xmi:id="_FSRspYP2EeWOre-0TMCmMQ" type="6003">
5539 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRspoP2EeWOre-0TMCmMQ" x="3" y="10"/>
5540 </children>
5541 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRsp4P2EeWOre-0TMCmMQ" routing="Rectilinear"/>
5542 <styles xmi:type="notation:FontStyle" xmi:id="_FSRsqIP2EeWOre-0TMCmMQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
5543 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRsqYP2EeWOre-0TMCmMQ" points="[-1, -13, 346, 203]$[-1, -254, 346, -38]$[-288, -254, 59, -38]"/>
5544 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRsqoP2EeWOre-0TMCmMQ" id="(0.8833333333333333,0.34146341463414637)"/>
5545 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRsq4P2EeWOre-0TMCmMQ" id="(0.5,1.0)"/>
5546 </edges>
5547 <edges xmi:type="notation:Edge" xmi:id="_FSRsrIP2EeWOre-0TMCmMQ" type="4001" element="_FSSSo4P2EeWOre-0TMCmMQ" source="_FSRF0oP2EeWOre-0TMCmMQ" target="_FSREpIP2EeWOre-0TMCmMQ">
5548 <children xmi:type="notation:Node" xmi:id="_FSRsrYP2EeWOre-0TMCmMQ" type="6001">
5549 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRsroP2EeWOre-0TMCmMQ" y="-10"/>
5550 </children>
5551 <children xmi:type="notation:Node" xmi:id="_FSRsr4P2EeWOre-0TMCmMQ" type="6002">
5552 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRssIP2EeWOre-0TMCmMQ" y="10"/>
5553 </children>
5554 <children xmi:type="notation:Node" xmi:id="_FSRssYP2EeWOre-0TMCmMQ" type="6003">
5555 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRssoP2EeWOre-0TMCmMQ" y="10"/>
5556 </children>
5557 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRss4P2EeWOre-0TMCmMQ" routing="Rectilinear"/>
5558 <styles xmi:type="notation:FontStyle" xmi:id="_FSRstIP2EeWOre-0TMCmMQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
5559 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRstYP2EeWOre-0TMCmMQ" points="[59, 20, -434, 214]$[71, 20, -422, 214]$[71, -167, -422, 27]$[452, -167, -41, 27]$[452, -194, -41, 0]"/>
5560 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRstoP2EeWOre-0TMCmMQ" id="(0.5,0.0)"/>
5561 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRst4P2EeWOre-0TMCmMQ" id="(0.5,1.0)"/>
5562 </edges>
5563 <edges xmi:type="notation:Edge" xmi:id="_FSRsxIP2EeWOre-0TMCmMQ" type="4001" element="_FSSSq4P2EeWOre-0TMCmMQ" source="_FSREloP2EeWOre-0TMCmMQ" target="_FSRE3IP2EeWOre-0TMCmMQ">
5564 <children xmi:type="notation:Node" xmi:id="_FSRsxYP2EeWOre-0TMCmMQ" type="6001">
5565 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRsxoP2EeWOre-0TMCmMQ" y="-10"/>
5566 </children>
5567 <children xmi:type="notation:Node" xmi:id="_FSRsx4P2EeWOre-0TMCmMQ" type="6002">
5568 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRsyIP2EeWOre-0TMCmMQ" y="10"/>
5569 </children>
5570 <children xmi:type="notation:Node" xmi:id="_FSRsyYP2EeWOre-0TMCmMQ" type="6003">
5571 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRsyoP2EeWOre-0TMCmMQ" y="10"/>
5572 </children>
5573 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRsy4P2EeWOre-0TMCmMQ" routing="Tree"/>
5574 <styles xmi:type="notation:FontStyle" xmi:id="_FSRszIP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5575 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRszYP2EeWOre-0TMCmMQ" points="[0, 0, -180, 60]$[180, -60, 0, 0]"/>
5576 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRszoP2EeWOre-0TMCmMQ" id="(0.5,0.0)"/>
5577 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRsz4P2EeWOre-0TMCmMQ" id="(0.49586776859504134,1.0)"/>
5578 </edges>
5579 <edges xmi:type="notation:Edge" xmi:id="_FSRtJIP2EeWOre-0TMCmMQ" type="4001" element="_FSSSy4P2EeWOre-0TMCmMQ" source="_FSREzoP2EeWOre-0TMCmMQ" target="_FSRE3IP2EeWOre-0TMCmMQ">
5580 <children xmi:type="notation:Node" xmi:id="_FSRtJYP2EeWOre-0TMCmMQ" type="6001">
5581 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRtJoP2EeWOre-0TMCmMQ" y="-10"/>
5582 </children>
5583 <children xmi:type="notation:Node" xmi:id="_FSRtJ4P2EeWOre-0TMCmMQ" type="6002">
5584 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRtKIP2EeWOre-0TMCmMQ" y="10"/>
5585 </children>
5586 <children xmi:type="notation:Node" xmi:id="_FSRtKYP2EeWOre-0TMCmMQ" type="6003">
5587 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRtKoP2EeWOre-0TMCmMQ" y="10"/>
5588 </children>
5589 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRtK4P2EeWOre-0TMCmMQ" routing="Tree"/>
5590 <styles xmi:type="notation:FontStyle" xmi:id="_FSRtLIP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5591 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRtLYP2EeWOre-0TMCmMQ" points="[0, 0, 540, 60]$[-540, -60, 0, 0]"/>
5592 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRtLoP2EeWOre-0TMCmMQ" id="(0.5,0.0)"/>
5593 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRtL4P2EeWOre-0TMCmMQ" id="(0.49586776859504134,1.0)"/>
5594 </edges>
5595 <edges xmi:type="notation:Edge" xmi:id="_FSRthIP2EeWOre-0TMCmMQ" type="4001" element="_FSSS64P2EeWOre-0TMCmMQ" source="_FSRFEoP2EeWOre-0TMCmMQ" target="_FSRE3IP2EeWOre-0TMCmMQ">
5596 <children xmi:type="notation:Node" xmi:id="_FSRthYP2EeWOre-0TMCmMQ" type="6001">
5597 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRthoP2EeWOre-0TMCmMQ" y="-10"/>
5598 </children>
5599 <children xmi:type="notation:Node" xmi:id="_FSRth4P2EeWOre-0TMCmMQ" type="6002">
5600 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRtiIP2EeWOre-0TMCmMQ" y="10"/>
5601 </children>
5602 <children xmi:type="notation:Node" xmi:id="_FSRtiYP2EeWOre-0TMCmMQ" type="6003">
5603 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRtioP2EeWOre-0TMCmMQ" y="10"/>
5604 </children>
5605 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRti4P2EeWOre-0TMCmMQ" routing="Tree"/>
5606 <styles xmi:type="notation:FontStyle" xmi:id="_FSRtjIP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5607 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRtjYP2EeWOre-0TMCmMQ" points="[0, 0, 255, 442]$[0, -420, 255, 22]$[-224, -420, 31, 22]$[-224, -442, 31, 0]"/>
5608 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRtjoP2EeWOre-0TMCmMQ" id="(0.5,0.0)"/>
5609 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRtj4P2EeWOre-0TMCmMQ" id="(0.49586776859504134,1.0)"/>
5610 </edges>
5611 <edges xmi:type="notation:Edge" xmi:id="_FSRumIP2EeWOre-0TMCmMQ" type="4001" element="_FSSTR4P2EeWOre-0TMCmMQ" source="_FSRFy4P2EeWOre-0TMCmMQ" target="_FSRE3IP2EeWOre-0TMCmMQ">
5612 <children xmi:type="notation:Node" xmi:id="_FSRumYP2EeWOre-0TMCmMQ" type="6001">
5613 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRumoP2EeWOre-0TMCmMQ" y="-10"/>
5614 </children>
5615 <children xmi:type="notation:Node" xmi:id="_FSRum4P2EeWOre-0TMCmMQ" type="6002">
5616 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRunIP2EeWOre-0TMCmMQ" y="10"/>
5617 </children>
5618 <children xmi:type="notation:Node" xmi:id="_FSRunYP2EeWOre-0TMCmMQ" type="6003">
5619 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRunoP2EeWOre-0TMCmMQ" y="10"/>
5620 </children>
5621 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRun4P2EeWOre-0TMCmMQ" routing="Tree"/>
5622 <styles xmi:type="notation:FontStyle" xmi:id="_FSRuoIP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5623 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRuoYP2EeWOre-0TMCmMQ" points="[0, 0, 180, 60]$[-180, -60, 0, 0]"/>
5624 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRuooP2EeWOre-0TMCmMQ" id="(0.5,-2.769230769230769)"/>
5625 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRuo4P2EeWOre-0TMCmMQ" id="(0.49586776859504134,1.0)"/>
5626 </edges>
5627 <edges xmi:type="notation:Edge" xmi:id="_FSRupIP2EeWOre-0TMCmMQ" type="4001" element="_FSSTS4P2EeWOre-0TMCmMQ" source="_FSRF0oP2EeWOre-0TMCmMQ" target="_FSRE3IP2EeWOre-0TMCmMQ">
5628 <children xmi:type="notation:Node" xmi:id="_FSRupYP2EeWOre-0TMCmMQ" type="6001">
5629 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRupoP2EeWOre-0TMCmMQ" y="-10"/>
5630 </children>
5631 <children xmi:type="notation:Node" xmi:id="_FSRup4P2EeWOre-0TMCmMQ" type="6002">
5632 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRuqIP2EeWOre-0TMCmMQ" y="10"/>
5633 </children>
5634 <children xmi:type="notation:Node" xmi:id="_FSRuqYP2EeWOre-0TMCmMQ" type="6003">
5635 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRuqoP2EeWOre-0TMCmMQ" y="10"/>
5636 </children>
5637 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRuq4P2EeWOre-0TMCmMQ" routing="Tree"/>
5638 <styles xmi:type="notation:FontStyle" xmi:id="_FSRurIP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5639 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRurYP2EeWOre-0TMCmMQ" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
5640 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRuroP2EeWOre-0TMCmMQ" id="(0.5,0.0)"/>
5641 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRur4P2EeWOre-0TMCmMQ" id="(0.49586776859504134,1.0)"/>
5642 </edges>
5643 <edges xmi:type="notation:Edge" xmi:id="_FSRusIP2EeWOre-0TMCmMQ" type="4001" element="_FSSTUYP2EeWOre-0TMCmMQ" source="_FSRF2YP2EeWOre-0TMCmMQ" target="_FSRF0oP2EeWOre-0TMCmMQ">
5644 <children xmi:type="notation:Node" xmi:id="_FSRusYP2EeWOre-0TMCmMQ" type="6001">
5645 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRusoP2EeWOre-0TMCmMQ" y="-10"/>
5646 </children>
5647 <children xmi:type="notation:Node" xmi:id="_FSRus4P2EeWOre-0TMCmMQ" type="6002">
5648 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRutIP2EeWOre-0TMCmMQ" y="10"/>
5649 </children>
5650 <children xmi:type="notation:Node" xmi:id="_FSRutYP2EeWOre-0TMCmMQ" type="6003">
5651 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRutoP2EeWOre-0TMCmMQ" y="10"/>
5652 </children>
5653 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRut4P2EeWOre-0TMCmMQ" routing="Tree"/>
5654 <styles xmi:type="notation:FontStyle" xmi:id="_FSRuuIP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5655 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRuuYP2EeWOre-0TMCmMQ" points="[0, 0, -749, 220]$[109, -61, -640, 159]$[111, -160, -638, 60]$[749, -220, 0, 0]"/>
5656 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRuuoP2EeWOre-0TMCmMQ" id="(0.5,0.0)"/>
5657 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRuu4P2EeWOre-0TMCmMQ" id="(0.5,2.5128205128205128)"/>
5658 </edges>
5659 <edges xmi:type="notation:Edge" xmi:id="_FSRuvIP2EeWOre-0TMCmMQ" type="4001" element="_FSSTVYP2EeWOre-0TMCmMQ" source="_FSRF2YP2EeWOre-0TMCmMQ" target="_FSRE1YP2EeWOre-0TMCmMQ">
5660 <children xmi:type="notation:Node" xmi:id="_FSRuvYP2EeWOre-0TMCmMQ" type="6001">
5661 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRuvoP2EeWOre-0TMCmMQ" y="-10"/>
5662 </children>
5663 <children xmi:type="notation:Node" xmi:id="_FSRuv4P2EeWOre-0TMCmMQ" type="6002">
5664 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRuwIP2EeWOre-0TMCmMQ" y="10"/>
5665 </children>
5666 <children xmi:type="notation:Node" xmi:id="_FSRuwYP2EeWOre-0TMCmMQ" type="6003">
5667 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRuwoP2EeWOre-0TMCmMQ" y="10"/>
5668 </children>
5669 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRuw4P2EeWOre-0TMCmMQ" routing="Rectilinear"/>
5670 <styles xmi:type="notation:FontStyle" xmi:id="_FSRuxIP2EeWOre-0TMCmMQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
5671 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRuxYP2EeWOre-0TMCmMQ" points="[0, 98, -86, -215]$[0, 153, -86, -160]$[86, 153, 0, -160]$[86, 215, 0, -98]"/>
5672 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRuxoP2EeWOre-0TMCmMQ" id="(0.5,0.0)"/>
5673 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRux4P2EeWOre-0TMCmMQ" id="(0.5,2.130434782608696)"/>
5674 </edges>
5675 <edges xmi:type="notation:Edge" xmi:id="_FSRuyIP2EeWOre-0TMCmMQ" type="4001" element="_FSSTW4P2EeWOre-0TMCmMQ" source="_FSRF4IP2EeWOre-0TMCmMQ" target="_FSRFEoP2EeWOre-0TMCmMQ">
5676 <children xmi:type="notation:Node" xmi:id="_FSRuyYP2EeWOre-0TMCmMQ" type="6001">
5677 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRuyoP2EeWOre-0TMCmMQ" y="-10"/>
5678 </children>
5679 <children xmi:type="notation:Node" xmi:id="_FSRuy4P2EeWOre-0TMCmMQ" type="6002">
5680 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRuzIP2EeWOre-0TMCmMQ" y="10"/>
5681 </children>
5682 <children xmi:type="notation:Node" xmi:id="_FSRuzYP2EeWOre-0TMCmMQ" type="6003">
5683 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRuzoP2EeWOre-0TMCmMQ" y="10"/>
5684 </children>
5685 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRuz4P2EeWOre-0TMCmMQ" routing="Rectilinear"/>
5686 <styles xmi:type="notation:FontStyle" xmi:id="_FSRu0IP2EeWOre-0TMCmMQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
5687 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRu0YP2EeWOre-0TMCmMQ" points="[-27, 44, 283, -195]$[-27, 173, 283, -66]$[-211, 173, 99, -66]"/>
5688 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRu0oP2EeWOre-0TMCmMQ" id="(0.5,0.0)"/>
5689 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRu04P2EeWOre-0TMCmMQ" id="(0.5,2.130434782608696)"/>
5690 </edges>
5691 <edges xmi:type="notation:Edge" xmi:id="_FSRu1IP2EeWOre-0TMCmMQ" type="4001" element="_FSSTX4P2EeWOre-0TMCmMQ" source="_FSRF4IP2EeWOre-0TMCmMQ" target="_FSRE1YP2EeWOre-0TMCmMQ">
5692 <children xmi:type="notation:Node" xmi:id="_FSRu1YP2EeWOre-0TMCmMQ" type="6001">
5693 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRu1oP2EeWOre-0TMCmMQ" y="-10"/>
5694 </children>
5695 <children xmi:type="notation:Node" xmi:id="_FSRu14P2EeWOre-0TMCmMQ" type="6002">
5696 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRu2IP2EeWOre-0TMCmMQ" y="10"/>
5697 </children>
5698 <children xmi:type="notation:Node" xmi:id="_FSRu2YP2EeWOre-0TMCmMQ" type="6003">
5699 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRu2oP2EeWOre-0TMCmMQ" y="10"/>
5700 </children>
5701 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRu24P2EeWOre-0TMCmMQ" routing="Rectilinear"/>
5702 <styles xmi:type="notation:FontStyle" xmi:id="_FSRu3IP2EeWOre-0TMCmMQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
5703 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRu3YP2EeWOre-0TMCmMQ" points="[0, 32, 700, -282]$[0, 246, 700, -68]$[-641, 246, 59, -68]"/>
5704 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRu3oP2EeWOre-0TMCmMQ" id="(0.5,0.0)"/>
5705 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRu34P2EeWOre-0TMCmMQ" id="(0.5,2.130434782608696)"/>
5706 </edges>
5707 <edges xmi:type="notation:Edge" xmi:id="_FSRu4IP2EeWOre-0TMCmMQ" type="4001" element="_FSSTZYP2EeWOre-0TMCmMQ" source="_FSRF54P2EeWOre-0TMCmMQ" target="_FSREzoP2EeWOre-0TMCmMQ">
5708 <children xmi:type="notation:Node" xmi:id="_FSRu4YP2EeWOre-0TMCmMQ" type="6001">
5709 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRu4oP2EeWOre-0TMCmMQ" y="-10"/>
5710 </children>
5711 <children xmi:type="notation:Node" xmi:id="_FSRu44P2EeWOre-0TMCmMQ" type="6002">
5712 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRu5IP2EeWOre-0TMCmMQ" y="10"/>
5713 </children>
5714 <children xmi:type="notation:Node" xmi:id="_FSRu5YP2EeWOre-0TMCmMQ" type="6003">
5715 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRu5oP2EeWOre-0TMCmMQ" y="10"/>
5716 </children>
5717 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRu54P2EeWOre-0TMCmMQ" routing="Tree"/>
5718 <styles xmi:type="notation:FontStyle" xmi:id="_FSRu6IP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5719 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRu6YP2EeWOre-0TMCmMQ" points="[0, 0, 1, 220]$[104, -61, 105, 159]$[104, -160, 105, 60]$[-1, -220, 0, 0]"/>
5720 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRu6oP2EeWOre-0TMCmMQ" id="(0.49586776859504134,0.0)"/>
5721 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRu64P2EeWOre-0TMCmMQ" id="(0.5,2.7222222222222223)"/>
5722 </edges>
5723 <edges xmi:type="notation:Edge" xmi:id="_FSRu7IP2EeWOre-0TMCmMQ" type="4001" element="_FSSTaYP2EeWOre-0TMCmMQ" source="_FSRF54P2EeWOre-0TMCmMQ" target="_FSRFEoP2EeWOre-0TMCmMQ">
5724 <children xmi:type="notation:Node" xmi:id="_FSRu7YP2EeWOre-0TMCmMQ" type="6001">
5725 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRu7oP2EeWOre-0TMCmMQ" x="67" y="-28"/>
5726 </children>
5727 <children xmi:type="notation:Node" xmi:id="_FSRu74P2EeWOre-0TMCmMQ" type="6002">
5728 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRu8IP2EeWOre-0TMCmMQ" y="10"/>
5729 </children>
5730 <children xmi:type="notation:Node" xmi:id="_FSRu8YP2EeWOre-0TMCmMQ" type="6003">
5731 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRu8oP2EeWOre-0TMCmMQ" y="10"/>
5732 </children>
5733 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRu84P2EeWOre-0TMCmMQ" routing="Rectilinear"/>
5734 <styles xmi:type="notation:FontStyle" xmi:id="_FSRu9IP2EeWOre-0TMCmMQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
5735 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRu9YP2EeWOre-0TMCmMQ" points="[29, 41, -89, -197]$[29, 177, -89, -61]$[59, 177, -59, -61]"/>
5736 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRu9oP2EeWOre-0TMCmMQ" id="(0.49586776859504134,0.0)"/>
5737 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRu94P2EeWOre-0TMCmMQ" id="(0.5,2.130434782608696)"/>
5738 </edges>
5739 <edges xmi:type="notation:Edge" xmi:id="_FSRvBIP2EeWOre-0TMCmMQ" type="4001" element="_FSSTc4P2EeWOre-0TMCmMQ" source="_FSRF7oP2EeWOre-0TMCmMQ" target="_FSRE1YP2EeWOre-0TMCmMQ">
5740 <children xmi:type="notation:Node" xmi:id="_FSRvBYP2EeWOre-0TMCmMQ" type="6001">
5741 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvBoP2EeWOre-0TMCmMQ" x="44" y="44"/>
5742 </children>
5743 <children xmi:type="notation:Node" xmi:id="_FSRvB4P2EeWOre-0TMCmMQ" type="6002">
5744 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvCIP2EeWOre-0TMCmMQ" y="10"/>
5745 </children>
5746 <children xmi:type="notation:Node" xmi:id="_FSRvCYP2EeWOre-0TMCmMQ" type="6003">
5747 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvCoP2EeWOre-0TMCmMQ" y="10"/>
5748 </children>
5749 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRvC4P2EeWOre-0TMCmMQ" routing="Rectilinear"/>
5750 <styles xmi:type="notation:FontStyle" xmi:id="_FSRvDIP2EeWOre-0TMCmMQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
5751 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRvDYP2EeWOre-0TMCmMQ" points="[-59, 55, -59, 47]$[-309, 55, -309, 47]$[-309, -75, -309, -83]$[-59, -75, -59, -83]"/>
5752 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvDoP2EeWOre-0TMCmMQ" id="(0.5,0.0)"/>
5753 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvD4P2EeWOre-0TMCmMQ" id="(0.5,2.130434782608696)"/>
5754 </edges>
5755 <edges xmi:type="notation:Edge" xmi:id="_FSRvEIP2EeWOre-0TMCmMQ" type="4001" element="_FSSTd4P2EeWOre-0TMCmMQ" source="_FSRF7oP2EeWOre-0TMCmMQ" target="_FSRE1YP2EeWOre-0TMCmMQ">
5756 <children xmi:type="notation:Node" xmi:id="_FSRvEYP2EeWOre-0TMCmMQ" type="6001">
5757 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvEoP2EeWOre-0TMCmMQ" y="-10"/>
5758 </children>
5759 <children xmi:type="notation:Node" xmi:id="_FSRvE4P2EeWOre-0TMCmMQ" type="6002">
5760 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvFIP2EeWOre-0TMCmMQ" y="10"/>
5761 </children>
5762 <children xmi:type="notation:Node" xmi:id="_FSRvFYP2EeWOre-0TMCmMQ" type="6003">
5763 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvFoP2EeWOre-0TMCmMQ" y="10"/>
5764 </children>
5765 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRvF4P2EeWOre-0TMCmMQ" routing="Tree"/>
5766 <styles xmi:type="notation:FontStyle" xmi:id="_FSRvGIP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5767 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRvGYP2EeWOre-0TMCmMQ" points="[0, -12, 2, -8]$[0, -32, 2, -28]$[4, -32, 6, -28]$[4, -56, 6, -52]"/>
5768 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvGoP2EeWOre-0TMCmMQ" id="(0.525,0.13)"/>
5769 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvG4P2EeWOre-0TMCmMQ" id="(0.5,2.130434782608696)"/>
5770 </edges>
5771 <edges xmi:type="notation:Edge" xmi:id="_FSRvHIP2EeWOre-0TMCmMQ" type="4001" element="_FSSTe4P2EeWOre-0TMCmMQ" source="_FSRF7oP2EeWOre-0TMCmMQ" target="_FSRE1YP2EeWOre-0TMCmMQ">
5772 <children xmi:type="notation:Node" xmi:id="_FSRvHYP2EeWOre-0TMCmMQ" type="6001">
5773 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvHoP2EeWOre-0TMCmMQ" x="19" y="34"/>
5774 </children>
5775 <children xmi:type="notation:Node" xmi:id="_FSRvH4P2EeWOre-0TMCmMQ" type="6002">
5776 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvIIP2EeWOre-0TMCmMQ" y="10"/>
5777 </children>
5778 <children xmi:type="notation:Node" xmi:id="_FSRvIYP2EeWOre-0TMCmMQ" type="6003">
5779 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvIoP2EeWOre-0TMCmMQ" y="10"/>
5780 </children>
5781 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRvI4P2EeWOre-0TMCmMQ" routing="Rectilinear"/>
5782 <styles xmi:type="notation:FontStyle" xmi:id="_FSRvJIP2EeWOre-0TMCmMQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
5783 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRvJYP2EeWOre-0TMCmMQ" points="[-139, -54, -189, 28]$[-239, -54, -289, 28]$[-239, -151, -289, -69]$[-9, -151, -59, -69]"/>
5784 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvJoP2EeWOre-0TMCmMQ" id="(0.08333333333333333,0.92)"/>
5785 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvJ4P2EeWOre-0TMCmMQ" id="(0.5,2.130434782608696)"/>
5786 </edges>
5787 <edges xmi:type="notation:Edge" xmi:id="_FSRvKIP2EeWOre-0TMCmMQ" type="4001" element="_FSSTf4P2EeWOre-0TMCmMQ" source="_FSRF7oP2EeWOre-0TMCmMQ" target="_FSRE1YP2EeWOre-0TMCmMQ">
5788 <children xmi:type="notation:Node" xmi:id="_FSRvKYP2EeWOre-0TMCmMQ" type="6001">
5789 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvKoP2EeWOre-0TMCmMQ" x="-11" y="36"/>
5790 </children>
5791 <children xmi:type="notation:Node" xmi:id="_FSRvK4P2EeWOre-0TMCmMQ" type="6002">
5792 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvLIP2EeWOre-0TMCmMQ" y="10"/>
5793 </children>
5794 <children xmi:type="notation:Node" xmi:id="_FSRvLYP2EeWOre-0TMCmMQ" type="6003">
5795 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvLoP2EeWOre-0TMCmMQ" y="10"/>
5796 </children>
5797 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRvL4P2EeWOre-0TMCmMQ" routing="Rectilinear"/>
5798 <styles xmi:type="notation:FontStyle" xmi:id="_FSRvMIP2EeWOre-0TMCmMQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
5799 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRvMYP2EeWOre-0TMCmMQ" points="[-59, 15, -59, 7]$[-269, 15, -269, 7]$[-269, -45, -269, -53]$[-59, -45, -59, -53]"/>
5800 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvMoP2EeWOre-0TMCmMQ" id="(0.5,0.0)"/>
5801 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvM4P2EeWOre-0TMCmMQ" id="(0.5,2.130434782608696)"/>
5802 </edges>
5803 <edges xmi:type="notation:Edge" xmi:id="_FSRvNIP2EeWOre-0TMCmMQ" type="4001" element="_FSSThYP2EeWOre-0TMCmMQ" source="_FSRF9YP2EeWOre-0TMCmMQ" target="_FSRF0oP2EeWOre-0TMCmMQ">
5804 <children xmi:type="notation:Node" xmi:id="_FSRvNYP2EeWOre-0TMCmMQ" type="6001">
5805 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvNoP2EeWOre-0TMCmMQ" y="-10"/>
5806 </children>
5807 <children xmi:type="notation:Node" xmi:id="_FSRvN4P2EeWOre-0TMCmMQ" type="6002">
5808 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvOIP2EeWOre-0TMCmMQ" y="10"/>
5809 </children>
5810 <children xmi:type="notation:Node" xmi:id="_FSRvOYP2EeWOre-0TMCmMQ" type="6003">
5811 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvOoP2EeWOre-0TMCmMQ" y="10"/>
5812 </children>
5813 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRvO4P2EeWOre-0TMCmMQ" routing="Tree"/>
5814 <styles xmi:type="notation:FontStyle" xmi:id="_FSRvPIP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5815 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRvPYP2EeWOre-0TMCmMQ" points="[0, 0, -749, 60]$[749, -60, 0, 0]"/>
5816 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvPoP2EeWOre-0TMCmMQ" id="(0.49612403100775193,0.0)"/>
5817 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvP4P2EeWOre-0TMCmMQ" id="(0.5,2.5128205128205128)"/>
5818 </edges>
5819 <edges xmi:type="notation:Edge" xmi:id="_FSRvQIP2EeWOre-0TMCmMQ" type="4001" element="_FSSTiYP2EeWOre-0TMCmMQ" source="_FSRF2YP2EeWOre-0TMCmMQ" target="_FSRF9YP2EeWOre-0TMCmMQ">
5820 <children xmi:type="notation:Node" xmi:id="_FSRvQYP2EeWOre-0TMCmMQ" type="6001">
5821 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvQoP2EeWOre-0TMCmMQ" y="-10"/>
5822 </children>
5823 <children xmi:type="notation:Node" xmi:id="_FSRvQ4P2EeWOre-0TMCmMQ" type="6002">
5824 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvRIP2EeWOre-0TMCmMQ" y="10"/>
5825 </children>
5826 <children xmi:type="notation:Node" xmi:id="_FSRvRYP2EeWOre-0TMCmMQ" type="6003">
5827 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvRoP2EeWOre-0TMCmMQ" y="10"/>
5828 </children>
5829 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRvR4P2EeWOre-0TMCmMQ" routing="Rectilinear"/>
5830 <styles xmi:type="notation:FontStyle" xmi:id="_FSRvSIP2EeWOre-0TMCmMQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
5831 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRvSYP2EeWOre-0TMCmMQ" points="[-63, 20, 127, -78]$[-126, 20, 64, -78]"/>
5832 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvSoP2EeWOre-0TMCmMQ" id="(0.5,0.0)"/>
5833 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvS4P2EeWOre-0TMCmMQ" id="(0.49612403100775193,2.3902439024390243)"/>
5834 </edges>
5835 <edges xmi:type="notation:Edge" xmi:id="_FSRvTIP2EeWOre-0TMCmMQ" type="4001" element="_FSSTj4P2EeWOre-0TMCmMQ" source="_FSRF_IP2EeWOre-0TMCmMQ" target="_FSRFy4P2EeWOre-0TMCmMQ">
5836 <children xmi:type="notation:Node" xmi:id="_FSRvTYP2EeWOre-0TMCmMQ" type="6001">
5837 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvToP2EeWOre-0TMCmMQ" y="-10"/>
5838 </children>
5839 <children xmi:type="notation:Node" xmi:id="_FSRvT4P2EeWOre-0TMCmMQ" type="6002">
5840 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvUIP2EeWOre-0TMCmMQ" y="10"/>
5841 </children>
5842 <children xmi:type="notation:Node" xmi:id="_FSRvUYP2EeWOre-0TMCmMQ" type="6003">
5843 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvUoP2EeWOre-0TMCmMQ" y="10"/>
5844 </children>
5845 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRvU4P2EeWOre-0TMCmMQ" routing="Tree"/>
5846 <styles xmi:type="notation:FontStyle" xmi:id="_FSRvVIP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5847 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRvVYP2EeWOre-0TMCmMQ" points="[0, 0, -212, 60]$[212, -60, 0, 0]"/>
5848 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvVoP2EeWOre-0TMCmMQ" id="(0.47580645161290325,0.0)"/>
5849 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvV4P2EeWOre-0TMCmMQ" id="(0.5,1.0)"/>
5850 </edges>
5851 <edges xmi:type="notation:Edge" xmi:id="_FSRvWIP2EeWOre-0TMCmMQ" type="4001" element="_FSSTlYP2EeWOre-0TMCmMQ" source="_FSRGA4P2EeWOre-0TMCmMQ" target="_FSREzoP2EeWOre-0TMCmMQ">
5852 <children xmi:type="notation:Node" xmi:id="_FSRvWYP2EeWOre-0TMCmMQ" type="6001">
5853 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvWoP2EeWOre-0TMCmMQ" y="-10"/>
5854 </children>
5855 <children xmi:type="notation:Node" xmi:id="_FSRvW4P2EeWOre-0TMCmMQ" type="6002">
5856 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvXIP2EeWOre-0TMCmMQ" y="10"/>
5857 </children>
5858 <children xmi:type="notation:Node" xmi:id="_FSRvXYP2EeWOre-0TMCmMQ" type="6003">
5859 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvXoP2EeWOre-0TMCmMQ" y="10"/>
5860 </children>
5861 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRvX4P2EeWOre-0TMCmMQ" routing="Tree"/>
5862 <styles xmi:type="notation:FontStyle" xmi:id="_FSRvYIP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5863 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRvYYP2EeWOre-0TMCmMQ" points="[0, 0, 1, 60]$[-1, -60, 0, 0]"/>
5864 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvYoP2EeWOre-0TMCmMQ" id="(0.45038167938931295,0.0)"/>
5865 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvY4P2EeWOre-0TMCmMQ" id="(0.5,2.7222222222222223)"/>
5866 </edges>
5867 <edges xmi:type="notation:Edge" xmi:id="_FSRvZIP2EeWOre-0TMCmMQ" type="4001" element="_FSSTmYP2EeWOre-0TMCmMQ" source="_FSRF4IP2EeWOre-0TMCmMQ" target="_FSRFy4P2EeWOre-0TMCmMQ">
5868 <children xmi:type="notation:Node" xmi:id="_FSRvZYP2EeWOre-0TMCmMQ" type="6001">
5869 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvZoP2EeWOre-0TMCmMQ" y="-10"/>
5870 </children>
5871 <children xmi:type="notation:Node" xmi:id="_FSRvZ4P2EeWOre-0TMCmMQ" type="6002">
5872 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvaIP2EeWOre-0TMCmMQ" y="10"/>
5873 </children>
5874 <children xmi:type="notation:Node" xmi:id="_FSRvaYP2EeWOre-0TMCmMQ" type="6003">
5875 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvaoP2EeWOre-0TMCmMQ" y="10"/>
5876 </children>
5877 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRva4P2EeWOre-0TMCmMQ" routing="Tree"/>
5878 <styles xmi:type="notation:FontStyle" xmi:id="_FSRvbIP2EeWOre-0TMCmMQ" fontName="Segoe UI" fontHeight="8"/>
5879 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRvbYP2EeWOre-0TMCmMQ" points="[0, 0, -107, 220]$[1, -160, -106, 60]$[107, -220, 0, 0]"/>
5880 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvboP2EeWOre-0TMCmMQ" id="(0.5,0.0)"/>
5881 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvb4P2EeWOre-0TMCmMQ" id="(0.5,1.0)"/>
5882 </edges>
5883 <edges xmi:type="notation:Edge" xmi:id="_FSRvcIP2EeWOre-0TMCmMQ" type="4001" element="_FSSTnYP2EeWOre-0TMCmMQ" source="_FSRF4IP2EeWOre-0TMCmMQ" target="_FSRF_IP2EeWOre-0TMCmMQ">
5884 <children xmi:type="notation:Node" xmi:id="_FSRvcYP2EeWOre-0TMCmMQ" type="6001">
5885 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvcoP2EeWOre-0TMCmMQ" y="-10"/>
5886 </children>
5887 <children xmi:type="notation:Node" xmi:id="_FSRvc4P2EeWOre-0TMCmMQ" type="6002">
5888 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvdIP2EeWOre-0TMCmMQ" y="10"/>
5889 </children>
5890 <children xmi:type="notation:Node" xmi:id="_FSRvdYP2EeWOre-0TMCmMQ" type="6003">
5891 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvdoP2EeWOre-0TMCmMQ" y="10"/>
5892 </children>
5893 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRvd4P2EeWOre-0TMCmMQ" routing="Rectilinear"/>
5894 <styles xmi:type="notation:FontStyle" xmi:id="_FSRveIP2EeWOre-0TMCmMQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
5895 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRveYP2EeWOre-0TMCmMQ" points="[-59, 24, 186, -87]$[-180, 24, 65, -87]"/>
5896 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRveoP2EeWOre-0TMCmMQ" id="(0.5,0.0)"/>
5897 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRve4P2EeWOre-0TMCmMQ" id="(0.47580645161290325,2.7222222222222223)"/>
5898 </edges>
5899 <edges xmi:type="notation:Edge" xmi:id="_FSRvfIP2EeWOre-0TMCmMQ" type="4001" element="_FSSToYP2EeWOre-0TMCmMQ" source="_FSRF54P2EeWOre-0TMCmMQ" target="_FSRGA4P2EeWOre-0TMCmMQ">
5900 <children xmi:type="notation:Node" xmi:id="_FSRvfYP2EeWOre-0TMCmMQ" type="6001">
5901 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvfoP2EeWOre-0TMCmMQ" y="-10"/>
5902 </children>
5903 <children xmi:type="notation:Node" xmi:id="_FSRvf4P2EeWOre-0TMCmMQ" type="6002">
5904 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvgIP2EeWOre-0TMCmMQ" y="10"/>
5905 </children>
5906 <children xmi:type="notation:Node" xmi:id="_FSRvgYP2EeWOre-0TMCmMQ" type="6003">
5907 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FSRvgoP2EeWOre-0TMCmMQ" y="10"/>
5908 </children>
5909 <styles xmi:type="notation:ConnectorStyle" xmi:id="_FSRvg4P2EeWOre-0TMCmMQ" routing="Rectilinear"/>
5910 <styles xmi:type="notation:FontStyle" xmi:id="_FSRvhIP2EeWOre-0TMCmMQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
5911 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FSRvhYP2EeWOre-0TMCmMQ" points="[-79, 20, 121, -78]$[-128, 20, 72, -78]"/>
5912 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvhoP2EeWOre-0TMCmMQ" id="(0.49586776859504134,0.0)"/>
5913 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FSRvh4P2EeWOre-0TMCmMQ" id="(0.45038167938931295,2.3902439024390243)"/>
5914 </edges>
5915 <edges xmi:type="notation:Connector" xmi:id="_Ta-BQIV6EeWhkpx1k3JSIA" type="NoteAttachment" source="_QM90MIV6EeWhkpx1k3JSIA" target="_FSRF7oP2EeWOre-0TMCmMQ" lineWidth="1">
5916 <styles xmi:type="notation:ArrowStyle" xmi:id="_Ta-BQYV6EeWhkpx1k3JSIA"/>
5917 <styles xmi:type="notation:LineTypeStyle" xmi:id="_Ta-BQoV6EeWhkpx1k3JSIA"/>
5918 <element xsi:nil="true"/>
5919 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ta-BQ4V6EeWhkpx1k3JSIA" points="[-5, -5, -5, 81]$[-33, -37, -33, 49]"/>
5920 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TbHyQIV6EeWhkpx1k3JSIA" id="(0.5,0.14705882352941177)"/>
5921 </edges>
5922 <edges xmi:type="notation:Edge" xmi:id="_wg15UIV8EeWhkpx1k3JSIA" type="4001" element="_FSSTbYP2EeWOre-0TMCmMQ" source="_FSRF54P2EeWOre-0TMCmMQ" target="_FSRE1YP2EeWOre-0TMCmMQ">
5923 <children xmi:type="notation:Node" xmi:id="_wg3ugIV8EeWhkpx1k3JSIA" type="6001">
5924 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wg3ugYV8EeWhkpx1k3JSIA" y="-10"/>
5925 </children>
5926 <children xmi:type="notation:Node" xmi:id="_wg48oIV8EeWhkpx1k3JSIA" type="6002">
5927 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wg48oYV8EeWhkpx1k3JSIA" y="10"/>
5928 </children>
5929 <children xmi:type="notation:Node" xmi:id="_wg6KwIV8EeWhkpx1k3JSIA" type="6003">
5930 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wg6KwYV8EeWhkpx1k3JSIA" y="10"/>
5931 </children>
5932 <styles xmi:type="notation:ConnectorStyle" xmi:id="_wg15UYV8EeWhkpx1k3JSIA" routing="Rectilinear"/>
5933 <styles xmi:type="notation:FontStyle" xmi:id="_wg15UoV8EeWhkpx1k3JSIA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
5934 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wg15U4V8EeWhkpx1k3JSIA" points="[0, 21, 272, -223]$[0, 207, 272, -37]$[-213, 207, 59, -37]"/>
5935 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wg_qUIV8EeWhkpx1k3JSIA" id="(0.5,1.065217391304348)"/>
5936 </edges>
5937 </data>
5938 </ownedAnnotationEntries>
5939 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_FSRvsIP2EeWOre-0TMCmMQ" name="DefinedElement" tooltipText="" outgoingEdges="_FSSSq4P2EeWOre-0TMCmMQ" width="12" height="10">
5940 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//DefinedElement"/>
5941 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//DefinedElement"/>
5942 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
5943 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
5944 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
5945 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_FSRvsYP2EeWOre-0TMCmMQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
5946 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
5947 </ownedStyle>
5948 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
5949 </ownedDiagramElements>
5950 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_FSRvtIP2EeWOre-0TMCmMQ" name="TypeReference" tooltipText="" incomingEdges="_FSRwGoP2EeWOre-0TMCmMQ _FSRwHoP2EeWOre-0TMCmMQ _FSRwKoP2EeWOre-0TMCmMQ _FSRwioP2EeWOre-0TMCmMQ _FSSSo4P2EeWOre-0TMCmMQ" width="12" height="10">
5951 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeReference"/>
5952 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeReference"/>
5953 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
5954 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
5955 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
5956 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_FSRvtYP2EeWOre-0TMCmMQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
5957 <labelFormat>italic</labelFormat>
5958 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
5959 </ownedStyle>
5960 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
5961 </ownedDiagramElements>
5962 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_FSRvwIP2EeWOre-0TMCmMQ" name="Function" tooltipText="" outgoingEdges="_FSRwGoP2EeWOre-0TMCmMQ _FSRwHoP2EeWOre-0TMCmMQ _FSSSy4P2EeWOre-0TMCmMQ" incomingEdges="_FSSTZYP2EeWOre-0TMCmMQ _FSSTlYP2EeWOre-0TMCmMQ" width="12" height="10">
5963 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Function"/>
5964 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Function"/>
5965 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
5966 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
5967 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
5968 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_FSRvwYP2EeWOre-0TMCmMQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
5969 <labelFormat>italic</labelFormat>
5970 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
5971 </ownedStyle>
5972 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
5973 </ownedDiagramElements>
5974 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_FSRvwoP2EeWOre-0TMCmMQ" name="Term" tooltipText="" incomingEdges="_FSSTVYP2EeWOre-0TMCmMQ _FSSTX4P2EeWOre-0TMCmMQ _FSSTbYP2EeWOre-0TMCmMQ _FSSTc4P2EeWOre-0TMCmMQ _FSSTd4P2EeWOre-0TMCmMQ _FSSTe4P2EeWOre-0TMCmMQ _FSSTf4P2EeWOre-0TMCmMQ" width="12" height="10">
5975 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Term"/>
5976 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Term"/>
5977 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
5978 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
5979 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
5980 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_FSRvw4P2EeWOre-0TMCmMQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
5981 <labelFormat>italic</labelFormat>
5982 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
5983 </ownedStyle>
5984 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
5985 </ownedDiagramElements>
5986 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_FSRvxIP2EeWOre-0TMCmMQ" name="SymbolicDeclaration" tooltipText="" incomingEdges="_FSSSq4P2EeWOre-0TMCmMQ _FSSSy4P2EeWOre-0TMCmMQ _FSSS64P2EeWOre-0TMCmMQ _FSSTR4P2EeWOre-0TMCmMQ _FSSTS4P2EeWOre-0TMCmMQ" width="12" height="10">
5987 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//SymbolicDeclaration"/>
5988 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//SymbolicDeclaration"/>
5989 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
5990 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
5991 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
5992 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_FSRvxYP2EeWOre-0TMCmMQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
5993 <labelFormat>italic</labelFormat>
5994 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
5995 </ownedStyle>
5996 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
5997 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_FSRvxoP2EeWOre-0TMCmMQ" name="name : EString" tooltipText="">
5998 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//SymbolicDeclaration/name"/>
5999 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//SymbolicDeclaration/name"/>
6000 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_FSRvx4P2EeWOre-0TMCmMQ" labelAlignment="LEFT" description="_FSREg4P2EeWOre-0TMCmMQ">
6001 <labelFormat>bold</labelFormat>
6002 </ownedStyle>
6003 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
6004 </ownedElements>
6005 </ownedDiagramElements>
6006 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_FSRv2IP2EeWOre-0TMCmMQ" name="Variable" tooltipText="" outgoingEdges="_FSRwKoP2EeWOre-0TMCmMQ _FSSS64P2EeWOre-0TMCmMQ" incomingEdges="_FSSTW4P2EeWOre-0TMCmMQ _FSSTaYP2EeWOre-0TMCmMQ" width="12" height="10">
6007 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Variable"/>
6008 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Variable"/>
6009 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
6010 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
6011 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
6012 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_FSRv2YP2EeWOre-0TMCmMQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
6013 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
6014 </ownedStyle>
6015 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6016 </ownedDiagramElements>
6017 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_FSRwDoP2EeWOre-0TMCmMQ" name="Relation" tooltipText="" outgoingEdges="_FSRwioP2EeWOre-0TMCmMQ _FSSTR4P2EeWOre-0TMCmMQ" incomingEdges="_FSSTj4P2EeWOre-0TMCmMQ _FSSTmYP2EeWOre-0TMCmMQ" width="12" height="10">
6018 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Relation"/>
6019 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Relation"/>
6020 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
6021 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
6022 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
6023 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_FSRwD4P2EeWOre-0TMCmMQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
6024 <labelFormat>italic</labelFormat>
6025 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
6026 </ownedStyle>
6027 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6028 </ownedDiagramElements>
6029 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_FSRwEIP2EeWOre-0TMCmMQ" name="Constant" tooltipText="" outgoingEdges="_FSSSo4P2EeWOre-0TMCmMQ _FSSTS4P2EeWOre-0TMCmMQ" incomingEdges="_FSSTUYP2EeWOre-0TMCmMQ _FSSThYP2EeWOre-0TMCmMQ" width="12" height="10">
6030 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Constant"/>
6031 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Constant"/>
6032 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
6033 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
6034 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
6035 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_FSRwEYP2EeWOre-0TMCmMQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
6036 <labelFormat>italic</labelFormat>
6037 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
6038 </ownedStyle>
6039 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6040 </ownedDiagramElements>
6041 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSRwGoP2EeWOre-0TMCmMQ" name="[1..1] range" sourceNode="_FSRvwIP2EeWOre-0TMCmMQ" targetNode="_FSRvtIP2EeWOre-0TMCmMQ">
6042 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Function/range"/>
6043 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Function/range"/>
6044 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_eUcdsIWlEeWhkpx1k3JSIA" description="_FSREh4P2EeWOre-0TMCmMQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
6045 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_eUcdsYWlEeWhkpx1k3JSIA" showIcon="false">
6046 <labelFormat>bold</labelFormat>
6047 </centerLabelStyle>
6048 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_eUcdsoWlEeWhkpx1k3JSIA" labelSize="6" showIcon="false" labelColor="39,76,114"/>
6049 </ownedStyle>
6050 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
6051 </ownedDiagramElements>
6052 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSRwHoP2EeWOre-0TMCmMQ" name="[0..*] parameters" sourceNode="_FSRvwIP2EeWOre-0TMCmMQ" targetNode="_FSRvtIP2EeWOre-0TMCmMQ">
6053 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Function/parameters"/>
6054 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Function/parameters"/>
6055 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSRwH4P2EeWOre-0TMCmMQ" description="_FSREhIP2EeWOre-0TMCmMQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
6056 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSRwIIP2EeWOre-0TMCmMQ" showIcon="false">
6057 <customFeatures>labelSize</customFeatures>
6058 </centerLabelStyle>
6059 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_FSRwIYP2EeWOre-0TMCmMQ" showIcon="false" labelColor="39,76,114">
6060 <customFeatures>labelSize</customFeatures>
6061 </endLabelStyle>
6062 </ownedStyle>
6063 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
6064 </ownedDiagramElements>
6065 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSRwKoP2EeWOre-0TMCmMQ" name="[1..1] range" sourceNode="_FSRv2IP2EeWOre-0TMCmMQ" targetNode="_FSRvtIP2EeWOre-0TMCmMQ">
6066 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Variable/range"/>
6067 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Variable/range"/>
6068 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_e8_EYIWlEeWhkpx1k3JSIA" description="_FSREh4P2EeWOre-0TMCmMQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
6069 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_e8_EYYWlEeWhkpx1k3JSIA" showIcon="false">
6070 <labelFormat>bold</labelFormat>
6071 </centerLabelStyle>
6072 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_e8_EYoWlEeWhkpx1k3JSIA" labelSize="6" showIcon="false" labelColor="39,76,114"/>
6073 </ownedStyle>
6074 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
6075 </ownedDiagramElements>
6076 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSRwioP2EeWOre-0TMCmMQ" name="[0..*] parameters" sourceNode="_FSRwDoP2EeWOre-0TMCmMQ" targetNode="_FSRvtIP2EeWOre-0TMCmMQ">
6077 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Relation/parameters"/>
6078 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Relation/parameters"/>
6079 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSSoIP2EeWOre-0TMCmMQ" description="_FSREhIP2EeWOre-0TMCmMQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
6080 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSSoYP2EeWOre-0TMCmMQ" showIcon="false">
6081 <customFeatures>labelSize</customFeatures>
6082 </centerLabelStyle>
6083 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_FSSSooP2EeWOre-0TMCmMQ" showIcon="false" labelColor="39,76,114">
6084 <customFeatures>labelSize</customFeatures>
6085 </endLabelStyle>
6086 </ownedStyle>
6087 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
6088 </ownedDiagramElements>
6089 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSSo4P2EeWOre-0TMCmMQ" name="[1..1] type" sourceNode="_FSRwEIP2EeWOre-0TMCmMQ" targetNode="_FSRvtIP2EeWOre-0TMCmMQ">
6090 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Constant/type"/>
6091 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Constant/type"/>
6092 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSSpIP2EeWOre-0TMCmMQ" description="_FSREh4P2EeWOre-0TMCmMQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
6093 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSSpYP2EeWOre-0TMCmMQ" showIcon="false">
6094 <customFeatures>labelSize</customFeatures>
6095 <labelFormat>bold</labelFormat>
6096 </centerLabelStyle>
6097 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_FSSSpoP2EeWOre-0TMCmMQ" showIcon="false" labelColor="39,76,114">
6098 <customFeatures>labelSize</customFeatures>
6099 </endLabelStyle>
6100 </ownedStyle>
6101 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
6102 </ownedDiagramElements>
6103 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSSq4P2EeWOre-0TMCmMQ" sourceNode="_FSRvsIP2EeWOre-0TMCmMQ" targetNode="_FSRvxIP2EeWOre-0TMCmMQ">
6104 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//DefinedElement"/>
6105 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//DefinedElement/@eGenericSuperTypes.0"/>
6106 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSSrIP2EeWOre-0TMCmMQ" targetArrow="InputClosedArrow" routingStyle="tree">
6107 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
6108 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_FSSSrYP2EeWOre-0TMCmMQ" showIcon="false">
6109 <labelFormat>italic</labelFormat>
6110 </beginLabelStyle>
6111 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSSroP2EeWOre-0TMCmMQ" showIcon="false"/>
6112 </ownedStyle>
6113 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
6114 </ownedDiagramElements>
6115 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSSy4P2EeWOre-0TMCmMQ" sourceNode="_FSRvwIP2EeWOre-0TMCmMQ" targetNode="_FSRvxIP2EeWOre-0TMCmMQ">
6116 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Function"/>
6117 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Function/@eGenericSuperTypes.0"/>
6118 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSSzIP2EeWOre-0TMCmMQ" targetArrow="InputClosedArrow" routingStyle="tree">
6119 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
6120 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_FSSSzYP2EeWOre-0TMCmMQ" showIcon="false">
6121 <labelFormat>italic</labelFormat>
6122 </beginLabelStyle>
6123 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSSzoP2EeWOre-0TMCmMQ" showIcon="false"/>
6124 </ownedStyle>
6125 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
6126 </ownedDiagramElements>
6127 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSS64P2EeWOre-0TMCmMQ" sourceNode="_FSRv2IP2EeWOre-0TMCmMQ" targetNode="_FSRvxIP2EeWOre-0TMCmMQ">
6128 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Variable"/>
6129 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Variable/@eGenericSuperTypes.0"/>
6130 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSS7IP2EeWOre-0TMCmMQ" targetArrow="InputClosedArrow" routingStyle="tree">
6131 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
6132 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_FSSS7YP2EeWOre-0TMCmMQ" showIcon="false">
6133 <labelFormat>italic</labelFormat>
6134 </beginLabelStyle>
6135 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSS7oP2EeWOre-0TMCmMQ" showIcon="false"/>
6136 </ownedStyle>
6137 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
6138 </ownedDiagramElements>
6139 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTR4P2EeWOre-0TMCmMQ" sourceNode="_FSRwDoP2EeWOre-0TMCmMQ" targetNode="_FSRvxIP2EeWOre-0TMCmMQ">
6140 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Relation"/>
6141 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Relation/@eGenericSuperTypes.0"/>
6142 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTSIP2EeWOre-0TMCmMQ" targetArrow="InputClosedArrow" routingStyle="tree">
6143 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
6144 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_FSSTSYP2EeWOre-0TMCmMQ" showIcon="false">
6145 <labelFormat>italic</labelFormat>
6146 </beginLabelStyle>
6147 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTSoP2EeWOre-0TMCmMQ" showIcon="false"/>
6148 </ownedStyle>
6149 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
6150 </ownedDiagramElements>
6151 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTS4P2EeWOre-0TMCmMQ" sourceNode="_FSRwEIP2EeWOre-0TMCmMQ" targetNode="_FSRvxIP2EeWOre-0TMCmMQ">
6152 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Constant"/>
6153 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Constant/@eGenericSuperTypes.0"/>
6154 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTTIP2EeWOre-0TMCmMQ" targetArrow="InputClosedArrow" routingStyle="tree">
6155 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
6156 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_FSSTTYP2EeWOre-0TMCmMQ" showIcon="false">
6157 <labelFormat>italic</labelFormat>
6158 </beginLabelStyle>
6159 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTToP2EeWOre-0TMCmMQ" showIcon="false"/>
6160 </ownedStyle>
6161 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
6162 </ownedDiagramElements>
6163 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_FSSTT4P2EeWOre-0TMCmMQ" name="ConstantDefinition" tooltipText="" outgoingEdges="_FSSTUYP2EeWOre-0TMCmMQ _FSSTVYP2EeWOre-0TMCmMQ _FSSTiYP2EeWOre-0TMCmMQ" width="12" height="10">
6164 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//ConstantDefinition"/>
6165 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//ConstantDefinition"/>
6166 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
6167 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
6168 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
6169 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_FSSTUIP2EeWOre-0TMCmMQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
6170 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
6171 </ownedStyle>
6172 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6173 </ownedDiagramElements>
6174 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTUYP2EeWOre-0TMCmMQ" sourceNode="_FSSTT4P2EeWOre-0TMCmMQ" targetNode="_FSRwEIP2EeWOre-0TMCmMQ">
6175 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//ConstantDefinition"/>
6176 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//ConstantDefinition/@eGenericSuperTypes.0"/>
6177 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTUoP2EeWOre-0TMCmMQ" targetArrow="InputClosedArrow" routingStyle="tree">
6178 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
6179 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_FSSTU4P2EeWOre-0TMCmMQ" showIcon="false">
6180 <labelFormat>italic</labelFormat>
6181 </beginLabelStyle>
6182 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTVIP2EeWOre-0TMCmMQ" showIcon="false"/>
6183 </ownedStyle>
6184 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
6185 </ownedDiagramElements>
6186 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTVYP2EeWOre-0TMCmMQ" name="[1..1] value" sourceNode="_FSSTT4P2EeWOre-0TMCmMQ" targetNode="_FSRvwoP2EeWOre-0TMCmMQ">
6187 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//ConstantDefinition/value"/>
6188 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//ConstantDefinition/value"/>
6189 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTVoP2EeWOre-0TMCmMQ" description="_FSREh4P2EeWOre-0TMCmMQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
6190 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTV4P2EeWOre-0TMCmMQ" showIcon="false">
6191 <labelFormat>bold</labelFormat>
6192 </centerLabelStyle>
6193 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_FSSTWIP2EeWOre-0TMCmMQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
6194 </ownedStyle>
6195 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
6196 </ownedDiagramElements>
6197 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_FSSTWYP2EeWOre-0TMCmMQ" name="RelationDefinition" tooltipText="" outgoingEdges="_FSSTW4P2EeWOre-0TMCmMQ _FSSTX4P2EeWOre-0TMCmMQ _FSSTmYP2EeWOre-0TMCmMQ _FSSTnYP2EeWOre-0TMCmMQ" width="12" height="10">
6198 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//RelationDefinition"/>
6199 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//RelationDefinition"/>
6200 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
6201 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
6202 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
6203 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_FSSTWoP2EeWOre-0TMCmMQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
6204 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
6205 </ownedStyle>
6206 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6207 </ownedDiagramElements>
6208 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTW4P2EeWOre-0TMCmMQ" name="[0..*] variables" sourceNode="_FSSTWYP2EeWOre-0TMCmMQ" targetNode="_FSRv2IP2EeWOre-0TMCmMQ">
6209 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//RelationDefinition/variables"/>
6210 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//RelationDefinition/variables"/>
6211 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTXIP2EeWOre-0TMCmMQ" description="_FSREhIP2EeWOre-0TMCmMQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
6212 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTXYP2EeWOre-0TMCmMQ" showIcon="false"/>
6213 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_FSSTXoP2EeWOre-0TMCmMQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
6214 </ownedStyle>
6215 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
6216 </ownedDiagramElements>
6217 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTX4P2EeWOre-0TMCmMQ" name="[1..1] value" sourceNode="_FSSTWYP2EeWOre-0TMCmMQ" targetNode="_FSRvwoP2EeWOre-0TMCmMQ">
6218 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//RelationDefinition/value"/>
6219 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//RelationDefinition/value"/>
6220 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTYIP2EeWOre-0TMCmMQ" description="_FSREh4P2EeWOre-0TMCmMQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
6221 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTYYP2EeWOre-0TMCmMQ" showIcon="false">
6222 <labelFormat>bold</labelFormat>
6223 </centerLabelStyle>
6224 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_FSSTYoP2EeWOre-0TMCmMQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
6225 </ownedStyle>
6226 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
6227 </ownedDiagramElements>
6228 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_FSSTY4P2EeWOre-0TMCmMQ" name="FunctionDefinition" tooltipText="" outgoingEdges="_FSSTZYP2EeWOre-0TMCmMQ _FSSTaYP2EeWOre-0TMCmMQ _FSSToYP2EeWOre-0TMCmMQ _FSSTbYP2EeWOre-0TMCmMQ" width="12" height="10">
6229 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//FunctionDefinition"/>
6230 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//FunctionDefinition"/>
6231 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
6232 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
6233 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
6234 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_FSSTZIP2EeWOre-0TMCmMQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
6235 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
6236 </ownedStyle>
6237 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6238 </ownedDiagramElements>
6239 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTZYP2EeWOre-0TMCmMQ" sourceNode="_FSSTY4P2EeWOre-0TMCmMQ" targetNode="_FSRvwIP2EeWOre-0TMCmMQ">
6240 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//FunctionDefinition"/>
6241 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//FunctionDefinition/@eGenericSuperTypes.0"/>
6242 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTZoP2EeWOre-0TMCmMQ" targetArrow="InputClosedArrow" routingStyle="tree">
6243 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
6244 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_FSSTZ4P2EeWOre-0TMCmMQ" showIcon="false">
6245 <labelFormat>italic</labelFormat>
6246 </beginLabelStyle>
6247 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTaIP2EeWOre-0TMCmMQ" showIcon="false"/>
6248 </ownedStyle>
6249 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
6250 </ownedDiagramElements>
6251 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTaYP2EeWOre-0TMCmMQ" name="[0..*] variable" sourceNode="_FSSTY4P2EeWOre-0TMCmMQ" targetNode="_FSRv2IP2EeWOre-0TMCmMQ">
6252 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//FunctionDefinition/variable"/>
6253 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//FunctionDefinition/variable"/>
6254 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTaoP2EeWOre-0TMCmMQ" description="_FSREhIP2EeWOre-0TMCmMQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
6255 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTa4P2EeWOre-0TMCmMQ" showIcon="false"/>
6256 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_FSSTbIP2EeWOre-0TMCmMQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
6257 </ownedStyle>
6258 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
6259 </ownedDiagramElements>
6260 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTbYP2EeWOre-0TMCmMQ" name="[1..1] value" sourceNode="_FSSTY4P2EeWOre-0TMCmMQ" targetNode="_FSRvwoP2EeWOre-0TMCmMQ">
6261 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//FunctionDefinition/value"/>
6262 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//FunctionDefinition/value"/>
6263 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTboP2EeWOre-0TMCmMQ" description="_FSREh4P2EeWOre-0TMCmMQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
6264 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTb4P2EeWOre-0TMCmMQ" showIcon="false">
6265 <customFeatures>labelSize</customFeatures>
6266 <labelFormat>bold</labelFormat>
6267 </centerLabelStyle>
6268 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_FSSTcIP2EeWOre-0TMCmMQ" showIcon="false" labelColor="39,76,114">
6269 <customFeatures>labelSize</customFeatures>
6270 </endLabelStyle>
6271 </ownedStyle>
6272 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
6273 </ownedDiagramElements>
6274 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_FSSTcYP2EeWOre-0TMCmMQ" name="IfThenElse" tooltipText="" outgoingEdges="_FSSTc4P2EeWOre-0TMCmMQ _FSSTd4P2EeWOre-0TMCmMQ _FSSTe4P2EeWOre-0TMCmMQ _FSSTf4P2EeWOre-0TMCmMQ" width="12" height="10">
6275 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IfThenElse"/>
6276 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//IfThenElse"/>
6277 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
6278 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
6279 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
6280 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_FSSTcoP2EeWOre-0TMCmMQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
6281 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
6282 </ownedStyle>
6283 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6284 </ownedDiagramElements>
6285 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTc4P2EeWOre-0TMCmMQ" name="[1..1] condition" sourceNode="_FSSTcYP2EeWOre-0TMCmMQ" targetNode="_FSRvwoP2EeWOre-0TMCmMQ">
6286 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/condition"/>
6287 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/condition"/>
6288 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTdIP2EeWOre-0TMCmMQ" description="_FSREh4P2EeWOre-0TMCmMQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
6289 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTdYP2EeWOre-0TMCmMQ" showIcon="false">
6290 <labelFormat>bold</labelFormat>
6291 </centerLabelStyle>
6292 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_FSSTdoP2EeWOre-0TMCmMQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
6293 </ownedStyle>
6294 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
6295 </ownedDiagramElements>
6296 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTd4P2EeWOre-0TMCmMQ" sourceNode="_FSSTcYP2EeWOre-0TMCmMQ" targetNode="_FSRvwoP2EeWOre-0TMCmMQ">
6297 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IfThenElse"/>
6298 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//IfThenElse/@eGenericSuperTypes.0"/>
6299 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTeIP2EeWOre-0TMCmMQ" targetArrow="InputClosedArrow" routingStyle="tree">
6300 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
6301 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_FSSTeYP2EeWOre-0TMCmMQ" showIcon="false">
6302 <labelFormat>italic</labelFormat>
6303 </beginLabelStyle>
6304 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTeoP2EeWOre-0TMCmMQ" showIcon="false"/>
6305 </ownedStyle>
6306 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
6307 </ownedDiagramElements>
6308 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTe4P2EeWOre-0TMCmMQ" name="[1..1] ifTrue" sourceNode="_FSSTcYP2EeWOre-0TMCmMQ" targetNode="_FSRvwoP2EeWOre-0TMCmMQ">
6309 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/ifTrue"/>
6310 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/ifTrue"/>
6311 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTfIP2EeWOre-0TMCmMQ" description="_FSREh4P2EeWOre-0TMCmMQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
6312 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTfYP2EeWOre-0TMCmMQ" showIcon="false">
6313 <labelFormat>bold</labelFormat>
6314 </centerLabelStyle>
6315 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_FSSTfoP2EeWOre-0TMCmMQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
6316 </ownedStyle>
6317 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
6318 </ownedDiagramElements>
6319 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTf4P2EeWOre-0TMCmMQ" name="[1..1] ifFalse" sourceNode="_FSSTcYP2EeWOre-0TMCmMQ" targetNode="_FSRvwoP2EeWOre-0TMCmMQ">
6320 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/ifFalse"/>
6321 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/ifFalse"/>
6322 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTgIP2EeWOre-0TMCmMQ" description="_FSREh4P2EeWOre-0TMCmMQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
6323 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTgYP2EeWOre-0TMCmMQ" showIcon="false">
6324 <labelFormat>bold</labelFormat>
6325 </centerLabelStyle>
6326 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_FSSTgoP2EeWOre-0TMCmMQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
6327 </ownedStyle>
6328 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
6329 </ownedDiagramElements>
6330 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_FSSTg4P2EeWOre-0TMCmMQ" name="ConstantDeclaration" tooltipText="" outgoingEdges="_FSSThYP2EeWOre-0TMCmMQ" incomingEdges="_FSSTiYP2EeWOre-0TMCmMQ" width="12" height="10">
6331 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//ConstantDeclaration"/>
6332 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//ConstantDeclaration"/>
6333 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
6334 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
6335 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
6336 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_FSSThIP2EeWOre-0TMCmMQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
6337 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
6338 </ownedStyle>
6339 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6340 </ownedDiagramElements>
6341 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSThYP2EeWOre-0TMCmMQ" sourceNode="_FSSTg4P2EeWOre-0TMCmMQ" targetNode="_FSRwEIP2EeWOre-0TMCmMQ">
6342 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//ConstantDeclaration"/>
6343 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//ConstantDeclaration/@eGenericSuperTypes.0"/>
6344 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSThoP2EeWOre-0TMCmMQ" targetArrow="InputClosedArrow" routingStyle="tree">
6345 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
6346 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_FSSTh4P2EeWOre-0TMCmMQ" showIcon="false">
6347 <labelFormat>italic</labelFormat>
6348 </beginLabelStyle>
6349 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTiIP2EeWOre-0TMCmMQ" showIcon="false"/>
6350 </ownedStyle>
6351 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
6352 </ownedDiagramElements>
6353 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTiYP2EeWOre-0TMCmMQ" name="[0..1] defines" sourceNode="_FSSTT4P2EeWOre-0TMCmMQ" targetNode="_FSSTg4P2EeWOre-0TMCmMQ">
6354 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//ConstantDefinition/defines"/>
6355 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//ConstantDefinition/defines"/>
6356 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTioP2EeWOre-0TMCmMQ" routingStyle="manhattan" strokeColor="0,0,0">
6357 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
6358 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTi4P2EeWOre-0TMCmMQ" showIcon="false">
6359 <customFeatures>labelSize</customFeatures>
6360 </centerLabelStyle>
6361 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_FSSTjIP2EeWOre-0TMCmMQ" showIcon="false" labelColor="39,76,114">
6362 <customFeatures>labelSize</customFeatures>
6363 </endLabelStyle>
6364 </ownedStyle>
6365 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
6366 </ownedDiagramElements>
6367 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_FSSTjYP2EeWOre-0TMCmMQ" name="RelationDeclaration" tooltipText="" outgoingEdges="_FSSTj4P2EeWOre-0TMCmMQ" incomingEdges="_FSSTnYP2EeWOre-0TMCmMQ" width="12" height="10">
6368 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//RelationDeclaration"/>
6369 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//RelationDeclaration"/>
6370 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
6371 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
6372 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
6373 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_FSSTjoP2EeWOre-0TMCmMQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
6374 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
6375 </ownedStyle>
6376 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6377 </ownedDiagramElements>
6378 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTj4P2EeWOre-0TMCmMQ" sourceNode="_FSSTjYP2EeWOre-0TMCmMQ" targetNode="_FSRwDoP2EeWOre-0TMCmMQ">
6379 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//RelationDeclaration"/>
6380 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//RelationDeclaration/@eGenericSuperTypes.0"/>
6381 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTkIP2EeWOre-0TMCmMQ" targetArrow="InputClosedArrow" routingStyle="tree">
6382 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
6383 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_FSSTkYP2EeWOre-0TMCmMQ" showIcon="false">
6384 <labelFormat>italic</labelFormat>
6385 </beginLabelStyle>
6386 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTkoP2EeWOre-0TMCmMQ" showIcon="false"/>
6387 </ownedStyle>
6388 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
6389 </ownedDiagramElements>
6390 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_FSSTk4P2EeWOre-0TMCmMQ" name="FunctionDeclaration" tooltipText="" outgoingEdges="_FSSTlYP2EeWOre-0TMCmMQ" incomingEdges="_FSSToYP2EeWOre-0TMCmMQ" width="12" height="10">
6391 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//FunctionDeclaration"/>
6392 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//FunctionDeclaration"/>
6393 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
6394 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
6395 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
6396 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_e5PFILXHEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
6397 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
6398 </ownedStyle>
6399 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6400 </ownedDiagramElements>
6401 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTlYP2EeWOre-0TMCmMQ" sourceNode="_FSSTk4P2EeWOre-0TMCmMQ" targetNode="_FSRvwIP2EeWOre-0TMCmMQ">
6402 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//FunctionDeclaration"/>
6403 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//FunctionDeclaration/@eGenericSuperTypes.0"/>
6404 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTloP2EeWOre-0TMCmMQ" targetArrow="InputClosedArrow" routingStyle="tree">
6405 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
6406 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_FSSTl4P2EeWOre-0TMCmMQ" showIcon="false">
6407 <labelFormat>italic</labelFormat>
6408 </beginLabelStyle>
6409 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTmIP2EeWOre-0TMCmMQ" showIcon="false"/>
6410 </ownedStyle>
6411 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
6412 </ownedDiagramElements>
6413 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTmYP2EeWOre-0TMCmMQ" sourceNode="_FSSTWYP2EeWOre-0TMCmMQ" targetNode="_FSRwDoP2EeWOre-0TMCmMQ">
6414 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//RelationDefinition"/>
6415 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//RelationDefinition/@eGenericSuperTypes.0"/>
6416 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTmoP2EeWOre-0TMCmMQ" targetArrow="InputClosedArrow" routingStyle="tree">
6417 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
6418 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_FSSTm4P2EeWOre-0TMCmMQ" showIcon="false">
6419 <labelFormat>italic</labelFormat>
6420 </beginLabelStyle>
6421 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTnIP2EeWOre-0TMCmMQ" showIcon="false"/>
6422 </ownedStyle>
6423 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
6424 </ownedDiagramElements>
6425 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSTnYP2EeWOre-0TMCmMQ" name="[0..1] defines" sourceNode="_FSSTWYP2EeWOre-0TMCmMQ" targetNode="_FSSTjYP2EeWOre-0TMCmMQ">
6426 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//RelationDefinition/defines"/>
6427 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//RelationDefinition/defines"/>
6428 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTnoP2EeWOre-0TMCmMQ" routingStyle="manhattan" strokeColor="0,0,0">
6429 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
6430 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTn4P2EeWOre-0TMCmMQ" showIcon="false">
6431 <customFeatures>labelSize</customFeatures>
6432 </centerLabelStyle>
6433 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_FSSToIP2EeWOre-0TMCmMQ" showIcon="false" labelColor="39,76,114">
6434 <customFeatures>labelSize</customFeatures>
6435 </endLabelStyle>
6436 </ownedStyle>
6437 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
6438 </ownedDiagramElements>
6439 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_FSSToYP2EeWOre-0TMCmMQ" name="[0..1] defines" sourceNode="_FSSTY4P2EeWOre-0TMCmMQ" targetNode="_FSSTk4P2EeWOre-0TMCmMQ">
6440 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//FunctionDefinition/defines"/>
6441 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//FunctionDefinition/defines"/>
6442 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FSSTooP2EeWOre-0TMCmMQ" routingStyle="manhattan" strokeColor="0,0,0">
6443 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
6444 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FSSTo4P2EeWOre-0TMCmMQ" showIcon="false">
6445 <customFeatures>labelSize</customFeatures>
6446 </centerLabelStyle>
6447 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_FSSTpIP2EeWOre-0TMCmMQ" showIcon="false" labelColor="39,76,114">
6448 <customFeatures>labelSize</customFeatures>
6449 </endLabelStyle>
6450 </ownedStyle>
6451 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
6452 </ownedDiagramElements>
6453 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
6454 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_FSSTs4P2EeWOre-0TMCmMQ"/>
6455 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
6456 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
6457 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
6458 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
6459 <target xmi:type="ecore:EPackage" href="logiclanguage.ecore#/"/>
6460 </ownedRepresentations>
6461 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_LobkUAJFEea4lsNl5Yuy6Q" name="LogicResult">
6462 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_LobkUQJFEea4lsNl5Yuy6Q" source="DANNOTATION_CUSTOMIZATION_KEY">
6463 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_LobkUgJFEea4lsNl5Yuy6Q">
6464 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_LobkUwJFEea4lsNl5Yuy6Q" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
6465 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
6466 <labelFormat>bold</labelFormat>
6467 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
6468 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
6469 </computedStyleDescriptions>
6470 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_LobkVAJFEea4lsNl5Yuy6Q" sourceArrow="FillDiamond" routingStyle="manhattan">
6471 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
6472 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_LobkVQJFEea4lsNl5Yuy6Q" showIcon="false" labelExpression="service:render">
6473 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
6474 </centerLabelStyleDescription>
6475 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_LobkVgJFEea4lsNl5Yuy6Q" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
6476 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
6477 </endLabelStyleDescription>
6478 </computedStyleDescriptions>
6479 </data>
6480 </ownedAnnotationEntries>
6481 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_LobkXQJFEea4lsNl5Yuy6Q" source="GMF_DIAGRAMS">
6482 <data xmi:type="notation:Diagram" xmi:id="_LobkXgJFEea4lsNl5Yuy6Q" type="Sirius" element="_LobkUAJFEea4lsNl5Yuy6Q" measurementUnit="Pixel">
6483 <children xmi:type="notation:Node" xmi:id="_MZ2toBIREeaMQsIXDIF-zQ" type="2003" element="_MYQLIBIREeaMQsIXDIF-zQ">
6484 <children xmi:type="notation:Node" xmi:id="_MZ3UsBIREeaMQsIXDIF-zQ" type="5007"/>
6485 <children xmi:type="notation:Node" xmi:id="_MZ37wBIREeaMQsIXDIF-zQ" type="7004">
6486 <children xmi:type="notation:Node" xmi:id="_MaBswBIREeaMQsIXDIF-zQ" type="3010" element="_MZAZEBIREeaMQsIXDIF-zQ">
6487 <styles xmi:type="notation:FontStyle" xmi:id="_MaBswRIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6488 <layoutConstraint xmi:type="notation:Location" xmi:id="_MaBswhIREeaMQsIXDIF-zQ"/>
6489 </children>
6490 <children xmi:type="notation:Node" xmi:id="_MaC64BIREeaMQsIXDIF-zQ" type="3010" element="_MZBAIBIREeaMQsIXDIF-zQ">
6491 <styles xmi:type="notation:FontStyle" xmi:id="_MaC64RIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8" bold="true"/>
6492 <layoutConstraint xmi:type="notation:Location" xmi:id="_MaC64hIREeaMQsIXDIF-zQ"/>
6493 </children>
6494 <styles xmi:type="notation:SortingStyle" xmi:id="_MZ37wRIREeaMQsIXDIF-zQ"/>
6495 <styles xmi:type="notation:FilteringStyle" xmi:id="_MZ37whIREeaMQsIXDIF-zQ"/>
6496 </children>
6497 <styles xmi:type="notation:ShapeStyle" xmi:id="_MZ2toRIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
6498 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MZ2tohIREeaMQsIXDIF-zQ" x="205" y="320"/>
6499 </children>
6500 <children xmi:type="notation:Node" xmi:id="_MZ4i0BIREeaMQsIXDIF-zQ" type="2003" element="_MYWRwBIREeaMQsIXDIF-zQ">
6501 <children xmi:type="notation:Node" xmi:id="_MZ4i0xIREeaMQsIXDIF-zQ" type="5007"/>
6502 <children xmi:type="notation:Node" xmi:id="_MZ5J4BIREeaMQsIXDIF-zQ" type="7004">
6503 <children xmi:type="notation:Node" xmi:id="_MaDh8BIREeaMQsIXDIF-zQ" type="3010" element="_MZCOQBIREeaMQsIXDIF-zQ">
6504 <styles xmi:type="notation:FontStyle" xmi:id="_MaDh8RIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8" bold="true"/>
6505 <layoutConstraint xmi:type="notation:Location" xmi:id="_MaDh8hIREeaMQsIXDIF-zQ"/>
6506 </children>
6507 <children xmi:type="notation:Node" xmi:id="_MaEJABIREeaMQsIXDIF-zQ" type="3010" element="_MZDcYRIREeaMQsIXDIF-zQ">
6508 <styles xmi:type="notation:FontStyle" xmi:id="_MaEJARIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8" bold="true"/>
6509 <layoutConstraint xmi:type="notation:Location" xmi:id="_MaEJAhIREeaMQsIXDIF-zQ"/>
6510 </children>
6511 <styles xmi:type="notation:SortingStyle" xmi:id="_MZ5J4RIREeaMQsIXDIF-zQ"/>
6512 <styles xmi:type="notation:FilteringStyle" xmi:id="_MZ5J4hIREeaMQsIXDIF-zQ"/>
6513 </children>
6514 <styles xmi:type="notation:ShapeStyle" xmi:id="_MZ4i0RIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6515 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MZ4i0hIREeaMQsIXDIF-zQ" x="415" y="480"/>
6516 </children>
6517 <children xmi:type="notation:Node" xmi:id="_MZ5J4xIREeaMQsIXDIF-zQ" type="2003" element="_MYYuABIREeaMQsIXDIF-zQ">
6518 <children xmi:type="notation:Node" xmi:id="_MZ5w8BIREeaMQsIXDIF-zQ" type="5007"/>
6519 <children xmi:type="notation:Node" xmi:id="_MZ5w8RIREeaMQsIXDIF-zQ" type="7004">
6520 <styles xmi:type="notation:SortingStyle" xmi:id="_MZ5w8hIREeaMQsIXDIF-zQ"/>
6521 <styles xmi:type="notation:FilteringStyle" xmi:id="_MZ5w8xIREeaMQsIXDIF-zQ"/>
6522 </children>
6523 <styles xmi:type="notation:ShapeStyle" xmi:id="_MZ5J5BIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6524 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MZ5J5RIREeaMQsIXDIF-zQ" x="50" y="480"/>
6525 </children>
6526 <children xmi:type="notation:Node" xmi:id="_MZ5w9BIREeaMQsIXDIF-zQ" type="2003" element="_MYZVEBIREeaMQsIXDIF-zQ">
6527 <children xmi:type="notation:Node" xmi:id="_MZ5w9xIREeaMQsIXDIF-zQ" type="5007"/>
6528 <children xmi:type="notation:Node" xmi:id="_MZ6YABIREeaMQsIXDIF-zQ" type="7004">
6529 <styles xmi:type="notation:SortingStyle" xmi:id="_MZ6YARIREeaMQsIXDIF-zQ"/>
6530 <styles xmi:type="notation:FilteringStyle" xmi:id="_MZ6YAhIREeaMQsIXDIF-zQ"/>
6531 </children>
6532 <styles xmi:type="notation:ShapeStyle" xmi:id="_MZ5w9RIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
6533 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MZ5w9hIREeaMQsIXDIF-zQ" x="235" y="480"/>
6534 </children>
6535 <children xmi:type="notation:Node" xmi:id="_MZ6YAxIREeaMQsIXDIF-zQ" type="2003" element="_MYZ8IBIREeaMQsIXDIF-zQ">
6536 <children xmi:type="notation:Node" xmi:id="_MZ6_EBIREeaMQsIXDIF-zQ" type="5007"/>
6537 <children xmi:type="notation:Node" xmi:id="_MZ6_ERIREeaMQsIXDIF-zQ" type="7004">
6538 <children xmi:type="notation:Node" xmi:id="_MaEwEBIREeaMQsIXDIF-zQ" type="3010" element="_MZGfsBIREeaMQsIXDIF-zQ">
6539 <styles xmi:type="notation:FontStyle" xmi:id="_MaEwERIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8" bold="true"/>
6540 <layoutConstraint xmi:type="notation:Location" xmi:id="_MaEwEhIREeaMQsIXDIF-zQ"/>
6541 </children>
6542 <styles xmi:type="notation:SortingStyle" xmi:id="_MZ6_EhIREeaMQsIXDIF-zQ"/>
6543 <styles xmi:type="notation:FilteringStyle" xmi:id="_MZ6_ExIREeaMQsIXDIF-zQ"/>
6544 </children>
6545 <styles xmi:type="notation:ShapeStyle" xmi:id="_MZ6YBBIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6546 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MZ6YBRIREeaMQsIXDIF-zQ" x="415" y="640"/>
6547 </children>
6548 <children xmi:type="notation:Node" xmi:id="_MZ6_FBIREeaMQsIXDIF-zQ" type="2003" element="_MYbKQBIREeaMQsIXDIF-zQ">
6549 <children xmi:type="notation:Node" xmi:id="_MZ7mIBIREeaMQsIXDIF-zQ" type="5007"/>
6550 <children xmi:type="notation:Node" xmi:id="_MZ7mIRIREeaMQsIXDIF-zQ" type="7004">
6551 <children xmi:type="notation:Node" xmi:id="_MaF-MBIREeaMQsIXDIF-zQ" type="3010" element="_MZIU4BIREeaMQsIXDIF-zQ">
6552 <styles xmi:type="notation:FontStyle" xmi:id="_MaF-MRIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8" bold="true"/>
6553 <layoutConstraint xmi:type="notation:Location" xmi:id="_MaF-MhIREeaMQsIXDIF-zQ"/>
6554 </children>
6555 <styles xmi:type="notation:SortingStyle" xmi:id="_MZ7mIhIREeaMQsIXDIF-zQ"/>
6556 <styles xmi:type="notation:FilteringStyle" xmi:id="_MZ7mIxIREeaMQsIXDIF-zQ"/>
6557 </children>
6558 <styles xmi:type="notation:ShapeStyle" xmi:id="_MZ6_FRIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6559 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MZ6_FhIREeaMQsIXDIF-zQ" x="235" y="640"/>
6560 </children>
6561 <children xmi:type="notation:Node" xmi:id="_MZ7mJBIREeaMQsIXDIF-zQ" type="2003" element="_MYbxUBIREeaMQsIXDIF-zQ">
6562 <children xmi:type="notation:Node" xmi:id="_MZ8NMBIREeaMQsIXDIF-zQ" type="5007"/>
6563 <children xmi:type="notation:Node" xmi:id="_MZ80QBIREeaMQsIXDIF-zQ" type="7004">
6564 <children xmi:type="notation:Node" xmi:id="_MaF-MxIREeaMQsIXDIF-zQ" type="3010" element="_MZJjABIREeaMQsIXDIF-zQ">
6565 <styles xmi:type="notation:FontStyle" xmi:id="_MaF-NBIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8" bold="true"/>
6566 <layoutConstraint xmi:type="notation:Location" xmi:id="_MaF-NRIREeaMQsIXDIF-zQ"/>
6567 </children>
6568 <children xmi:type="notation:Node" xmi:id="_MaGlQBIREeaMQsIXDIF-zQ" type="3010" element="_MZKKEBIREeaMQsIXDIF-zQ">
6569 <styles xmi:type="notation:FontStyle" xmi:id="_MaGlQRIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8" bold="true"/>
6570 <layoutConstraint xmi:type="notation:Location" xmi:id="_MaGlQhIREeaMQsIXDIF-zQ"/>
6571 </children>
6572 <children xmi:type="notation:Node" xmi:id="_MaGlQxIREeaMQsIXDIF-zQ" type="3010" element="_MZLYMBIREeaMQsIXDIF-zQ">
6573 <styles xmi:type="notation:FontStyle" xmi:id="_MaGlRBIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6574 <layoutConstraint xmi:type="notation:Location" xmi:id="_MaGlRRIREeaMQsIXDIF-zQ"/>
6575 </children>
6576 <styles xmi:type="notation:SortingStyle" xmi:id="_MZ80QRIREeaMQsIXDIF-zQ"/>
6577 <styles xmi:type="notation:FilteringStyle" xmi:id="_MZ80QhIREeaMQsIXDIF-zQ"/>
6578 </children>
6579 <styles xmi:type="notation:ShapeStyle" xmi:id="_MZ7mJRIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6580 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MZ7mJhIREeaMQsIXDIF-zQ" x="680" y="325"/>
6581 </children>
6582 <children xmi:type="notation:Node" xmi:id="_MZ9bUBIREeaMQsIXDIF-zQ" type="2003" element="_MYcYYRIREeaMQsIXDIF-zQ">
6583 <children xmi:type="notation:Node" xmi:id="_MZ-CYBIREeaMQsIXDIF-zQ" type="5007"/>
6584 <children xmi:type="notation:Node" xmi:id="_MZ-CYRIREeaMQsIXDIF-zQ" type="7004">
6585 <children xmi:type="notation:Node" xmi:id="_MaHMUBIREeaMQsIXDIF-zQ" type="3010" element="_MZL_QBIREeaMQsIXDIF-zQ">
6586 <styles xmi:type="notation:FontStyle" xmi:id="_MaHMURIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8" bold="true"/>
6587 <layoutConstraint xmi:type="notation:Location" xmi:id="_MaHMUhIREeaMQsIXDIF-zQ"/>
6588 </children>
6589 <styles xmi:type="notation:SortingStyle" xmi:id="_MZ-CYhIREeaMQsIXDIF-zQ"/>
6590 <styles xmi:type="notation:FilteringStyle" xmi:id="_MZ-CYxIREeaMQsIXDIF-zQ"/>
6591 </children>
6592 <styles xmi:type="notation:ShapeStyle" xmi:id="_MZ9bURIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
6593 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MZ9bUhIREeaMQsIXDIF-zQ" x="794" y="485"/>
6594 </children>
6595 <children xmi:type="notation:Node" xmi:id="_MZ-CZBIREeaMQsIXDIF-zQ" type="2003" element="_MYcYYxIREeaMQsIXDIF-zQ">
6596 <children xmi:type="notation:Node" xmi:id="_MZ-pcBIREeaMQsIXDIF-zQ" type="5007"/>
6597 <children xmi:type="notation:Node" xmi:id="_MZ-pcRIREeaMQsIXDIF-zQ" type="7004">
6598 <styles xmi:type="notation:SortingStyle" xmi:id="_MZ-pchIREeaMQsIXDIF-zQ"/>
6599 <styles xmi:type="notation:FilteringStyle" xmi:id="_MZ-pcxIREeaMQsIXDIF-zQ"/>
6600 </children>
6601 <styles xmi:type="notation:ShapeStyle" xmi:id="_MZ-CZRIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6602 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MZ-CZhIREeaMQsIXDIF-zQ" x="55" y="640"/>
6603 </children>
6604 <children xmi:type="notation:Node" xmi:id="_MZ-pdBIREeaMQsIXDIF-zQ" type="2003" element="_MYcYZRIREeaMQsIXDIF-zQ">
6605 <children xmi:type="notation:Node" xmi:id="_MZ_QgBIREeaMQsIXDIF-zQ" type="5007"/>
6606 <children xmi:type="notation:Node" xmi:id="_MZ_QgRIREeaMQsIXDIF-zQ" type="7004">
6607 <children xmi:type="notation:Node" xmi:id="_MaHMUxIREeaMQsIXDIF-zQ" type="3010" element="_MZNNYBIREeaMQsIXDIF-zQ">
6608 <styles xmi:type="notation:FontStyle" xmi:id="_MaHMVBIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8" bold="true"/>
6609 <layoutConstraint xmi:type="notation:Location" xmi:id="_MaHMVRIREeaMQsIXDIF-zQ"/>
6610 </children>
6611 <styles xmi:type="notation:SortingStyle" xmi:id="_MZ_QghIREeaMQsIXDIF-zQ"/>
6612 <styles xmi:type="notation:FilteringStyle" xmi:id="_MZ_QgxIREeaMQsIXDIF-zQ"/>
6613 </children>
6614 <styles xmi:type="notation:ShapeStyle" xmi:id="_MZ-pdRIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6615 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MZ-pdhIREeaMQsIXDIF-zQ" x="895" y="635"/>
6616 </children>
6617 <children xmi:type="notation:Node" xmi:id="_MZ_QhBIREeaMQsIXDIF-zQ" type="2003" element="_MYcYZxIREeaMQsIXDIF-zQ">
6618 <children xmi:type="notation:Node" xmi:id="_MZ_3kBIREeaMQsIXDIF-zQ" type="5007"/>
6619 <children xmi:type="notation:Node" xmi:id="_MZ_3kRIREeaMQsIXDIF-zQ" type="7004">
6620 <children xmi:type="notation:Node" xmi:id="_MaHzYBIREeaMQsIXDIF-zQ" type="3010" element="_MZNNYhIREeaMQsIXDIF-zQ">
6621 <styles xmi:type="notation:FontStyle" xmi:id="_MaHzYRIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8" bold="true"/>
6622 <layoutConstraint xmi:type="notation:Location" xmi:id="_MaHzYhIREeaMQsIXDIF-zQ"/>
6623 </children>
6624 <styles xmi:type="notation:SortingStyle" xmi:id="_MZ_3khIREeaMQsIXDIF-zQ"/>
6625 <styles xmi:type="notation:FilteringStyle" xmi:id="_MZ_3kxIREeaMQsIXDIF-zQ"/>
6626 </children>
6627 <styles xmi:type="notation:ShapeStyle" xmi:id="_MZ_QhRIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6628 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MZ_QhhIREeaMQsIXDIF-zQ" x="659" y="635"/>
6629 </children>
6630 <styles xmi:type="notation:DiagramStyle" xmi:id="_LocMkAJFEea4lsNl5Yuy6Q"/>
6631 <edges xmi:type="notation:Edge" xmi:id="_MaME0BIREeaMQsIXDIF-zQ" type="4001" element="_MZdsEBIREeaMQsIXDIF-zQ" source="_MZ2toBIREeaMQsIXDIF-zQ" target="_MZ7mJBIREeaMQsIXDIF-zQ">
6632 <children xmi:type="notation:Node" xmi:id="_MaNS8BIREeaMQsIXDIF-zQ" type="6001">
6633 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaNS8RIREeaMQsIXDIF-zQ" y="-10"/>
6634 </children>
6635 <children xmi:type="notation:Node" xmi:id="_MaOhEBIREeaMQsIXDIF-zQ" type="6002">
6636 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaOhERIREeaMQsIXDIF-zQ" y="10"/>
6637 </children>
6638 <children xmi:type="notation:Node" xmi:id="_MaPIIBIREeaMQsIXDIF-zQ" type="6003">
6639 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaPIIRIREeaMQsIXDIF-zQ" y="10"/>
6640 </children>
6641 <styles xmi:type="notation:ConnectorStyle" xmi:id="_MaME0RIREeaMQsIXDIF-zQ" routing="Rectilinear"/>
6642 <styles xmi:type="notation:FontStyle" xmi:id="_MaME0hIREeaMQsIXDIF-zQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
6643 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MaME0xIREeaMQsIXDIF-zQ" points="[479, 0, 0, -103]$[479, -62, 0, -165]"/>
6644 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaQWQBIREeaMQsIXDIF-zQ" id="(0.5,0.0)"/>
6645 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaQWQRIREeaMQsIXDIF-zQ" id="(0.49732620320855614,1.0)"/>
6646 </edges>
6647 <edges xmi:type="notation:Edge" xmi:id="_MaQWQhIREeaMQsIXDIF-zQ" type="4001" element="_MZe6MBIREeaMQsIXDIF-zQ" source="_MZ7mJBIREeaMQsIXDIF-zQ" target="_MZ9bUBIREeaMQsIXDIF-zQ">
6648 <children xmi:type="notation:Node" xmi:id="_MaQWRhIREeaMQsIXDIF-zQ" type="6001">
6649 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaQWRxIREeaMQsIXDIF-zQ" x="1" y="-30"/>
6650 </children>
6651 <children xmi:type="notation:Node" xmi:id="_MaQWSBIREeaMQsIXDIF-zQ" type="6002">
6652 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaQWSRIREeaMQsIXDIF-zQ" y="10"/>
6653 </children>
6654 <children xmi:type="notation:Node" xmi:id="_MaQWShIREeaMQsIXDIF-zQ" type="6003">
6655 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaQWSxIREeaMQsIXDIF-zQ" y="10"/>
6656 </children>
6657 <styles xmi:type="notation:ConnectorStyle" xmi:id="_MaQWQxIREeaMQsIXDIF-zQ" routing="Rectilinear"/>
6658 <styles xmi:type="notation:FontStyle" xmi:id="_MaQWRBIREeaMQsIXDIF-zQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
6659 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MaQWRRIREeaMQsIXDIF-zQ" points="[-47, 98, -128, -160]$[-47, 203, -128, -55]$[22, 203, -59, -55]"/>
6660 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaQWTBIREeaMQsIXDIF-zQ" id="(0.49732620320855614,0.0)"/>
6661 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaQWTRIREeaMQsIXDIF-zQ" id="(0.5,1.0)"/>
6662 </edges>
6663 <edges xmi:type="notation:Edge" xmi:id="_MaQWThIREeaMQsIXDIF-zQ" type="4001" element="_MZorMBIREeaMQsIXDIF-zQ" source="_MZ4i0BIREeaMQsIXDIF-zQ" target="_MZ2toBIREeaMQsIXDIF-zQ">
6664 <children xmi:type="notation:Node" xmi:id="_MaQWUhIREeaMQsIXDIF-zQ" type="6001">
6665 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaQWUxIREeaMQsIXDIF-zQ" y="-10"/>
6666 </children>
6667 <children xmi:type="notation:Node" xmi:id="_MaQWVBIREeaMQsIXDIF-zQ" type="6002">
6668 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaQWVRIREeaMQsIXDIF-zQ" y="10"/>
6669 </children>
6670 <children xmi:type="notation:Node" xmi:id="_MaQWVhIREeaMQsIXDIF-zQ" type="6003">
6671 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaQWVxIREeaMQsIXDIF-zQ" y="10"/>
6672 </children>
6673 <styles xmi:type="notation:ConnectorStyle" xmi:id="_MaQWTxIREeaMQsIXDIF-zQ" routing="Tree"/>
6674 <styles xmi:type="notation:FontStyle" xmi:id="_MaQWUBIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6675 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MaQWURIREeaMQsIXDIF-zQ" points="[0, 0, 186, 60]$[-186, -60, 0, 0]"/>
6676 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaQWWBIREeaMQsIXDIF-zQ" id="(0.4962406015037593,0.0)"/>
6677 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaQWWRIREeaMQsIXDIF-zQ" id="(0.5,1.0)"/>
6678 </edges>
6679 <edges xmi:type="notation:Edge" xmi:id="_MaQWWhIREeaMQsIXDIF-zQ" type="4001" element="_MZp5UBIREeaMQsIXDIF-zQ" source="_MZ5J4xIREeaMQsIXDIF-zQ" target="_MZ2toBIREeaMQsIXDIF-zQ">
6680 <children xmi:type="notation:Node" xmi:id="_MaQWXhIREeaMQsIXDIF-zQ" type="6001">
6681 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaQWXxIREeaMQsIXDIF-zQ" y="-10"/>
6682 </children>
6683 <children xmi:type="notation:Node" xmi:id="_MaWc4BIREeaMQsIXDIF-zQ" type="6002">
6684 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaWc4RIREeaMQsIXDIF-zQ" y="10"/>
6685 </children>
6686 <children xmi:type="notation:Node" xmi:id="_MaWc4hIREeaMQsIXDIF-zQ" type="6003">
6687 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaWc4xIREeaMQsIXDIF-zQ" y="10"/>
6688 </children>
6689 <styles xmi:type="notation:ConnectorStyle" xmi:id="_MaQWWxIREeaMQsIXDIF-zQ" routing="Tree"/>
6690 <styles xmi:type="notation:FontStyle" xmi:id="_MaQWXBIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6691 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MaQWXRIREeaMQsIXDIF-zQ" points="[0, 0, -182, 60]$[182, -60, 0, 0]"/>
6692 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaXD8BIREeaMQsIXDIF-zQ" id="(0.5,0.0)"/>
6693 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaXD8RIREeaMQsIXDIF-zQ" id="(0.5,1.0)"/>
6694 </edges>
6695 <edges xmi:type="notation:Edge" xmi:id="_MaXrABIREeaMQsIXDIF-zQ" type="4001" element="_MZqgYBIREeaMQsIXDIF-zQ" source="_MZ5w9BIREeaMQsIXDIF-zQ" target="_MZ2toBIREeaMQsIXDIF-zQ">
6696 <children xmi:type="notation:Node" xmi:id="_MaXrBBIREeaMQsIXDIF-zQ" type="6001">
6697 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaXrBRIREeaMQsIXDIF-zQ" y="-10"/>
6698 </children>
6699 <children xmi:type="notation:Node" xmi:id="_MaXrBhIREeaMQsIXDIF-zQ" type="6002">
6700 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaXrBxIREeaMQsIXDIF-zQ" y="10"/>
6701 </children>
6702 <children xmi:type="notation:Node" xmi:id="_MaXrCBIREeaMQsIXDIF-zQ" type="6003">
6703 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaXrCRIREeaMQsIXDIF-zQ" y="10"/>
6704 </children>
6705 <styles xmi:type="notation:ConnectorStyle" xmi:id="_MaXrARIREeaMQsIXDIF-zQ" routing="Tree"/>
6706 <styles xmi:type="notation:FontStyle" xmi:id="_MaXrAhIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6707 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MaXrAxIREeaMQsIXDIF-zQ" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
6708 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaYSEBIREeaMQsIXDIF-zQ" id="(0.5,0.0)"/>
6709 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaYSERIREeaMQsIXDIF-zQ" id="(0.5,1.0)"/>
6710 </edges>
6711 <edges xmi:type="notation:Edge" xmi:id="_MaYSEhIREeaMQsIXDIF-zQ" type="4001" element="_MZrHcBIREeaMQsIXDIF-zQ" source="_MZ6YAxIREeaMQsIXDIF-zQ" target="_MZ5w9BIREeaMQsIXDIF-zQ">
6712 <children xmi:type="notation:Node" xmi:id="_MaY5IBIREeaMQsIXDIF-zQ" type="6001">
6713 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaY5IRIREeaMQsIXDIF-zQ" y="-10"/>
6714 </children>
6715 <children xmi:type="notation:Node" xmi:id="_MaY5IhIREeaMQsIXDIF-zQ" type="6002">
6716 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaY5IxIREeaMQsIXDIF-zQ" y="10"/>
6717 </children>
6718 <children xmi:type="notation:Node" xmi:id="_MaY5JBIREeaMQsIXDIF-zQ" type="6003">
6719 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaY5JRIREeaMQsIXDIF-zQ" y="10"/>
6720 </children>
6721 <styles xmi:type="notation:ConnectorStyle" xmi:id="_MaYSExIREeaMQsIXDIF-zQ" routing="Tree"/>
6722 <styles xmi:type="notation:FontStyle" xmi:id="_MaYSFBIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6723 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MaYSFRIREeaMQsIXDIF-zQ" points="[0, 0, 201, 60]$[-201, -60, 0, 0]"/>
6724 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaY5JhIREeaMQsIXDIF-zQ" id="(0.4968944099378882,0.0)"/>
6725 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaY5JxIREeaMQsIXDIF-zQ" id="(0.5,1.0)"/>
6726 </edges>
6727 <edges xmi:type="notation:Edge" xmi:id="_MaZgMBIREeaMQsIXDIF-zQ" type="4001" element="_MZrugBIREeaMQsIXDIF-zQ" source="_MZ6_FBIREeaMQsIXDIF-zQ" target="_MZ5w9BIREeaMQsIXDIF-zQ">
6728 <children xmi:type="notation:Node" xmi:id="_MaZgNBIREeaMQsIXDIF-zQ" type="6001">
6729 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaZgNRIREeaMQsIXDIF-zQ" y="-10"/>
6730 </children>
6731 <children xmi:type="notation:Node" xmi:id="_MaZgNhIREeaMQsIXDIF-zQ" type="6002">
6732 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaZgNxIREeaMQsIXDIF-zQ" y="10"/>
6733 </children>
6734 <children xmi:type="notation:Node" xmi:id="_MaZgOBIREeaMQsIXDIF-zQ" type="6003">
6735 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaZgORIREeaMQsIXDIF-zQ" y="10"/>
6736 </children>
6737 <styles xmi:type="notation:ConnectorStyle" xmi:id="_MaZgMRIREeaMQsIXDIF-zQ" routing="Tree"/>
6738 <styles xmi:type="notation:FontStyle" xmi:id="_MaZgMhIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6739 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MaZgMxIREeaMQsIXDIF-zQ" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
6740 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaaHQBIREeaMQsIXDIF-zQ" id="(0.5,0.0)"/>
6741 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaaHQRIREeaMQsIXDIF-zQ" id="(0.5,1.0)"/>
6742 </edges>
6743 <edges xmi:type="notation:Edge" xmi:id="_MaaHQhIREeaMQsIXDIF-zQ" type="4001" element="_MZsVkBIREeaMQsIXDIF-zQ" source="_MZ-CZBIREeaMQsIXDIF-zQ" target="_MZ5w9BIREeaMQsIXDIF-zQ">
6744 <children xmi:type="notation:Node" xmi:id="_MaaHRhIREeaMQsIXDIF-zQ" type="6001">
6745 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaaHRxIREeaMQsIXDIF-zQ" y="-10"/>
6746 </children>
6747 <children xmi:type="notation:Node" xmi:id="_MaauUBIREeaMQsIXDIF-zQ" type="6002">
6748 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaauURIREeaMQsIXDIF-zQ" y="10"/>
6749 </children>
6750 <children xmi:type="notation:Node" xmi:id="_MaauUhIREeaMQsIXDIF-zQ" type="6003">
6751 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaauUxIREeaMQsIXDIF-zQ" y="10"/>
6752 </children>
6753 <styles xmi:type="notation:ConnectorStyle" xmi:id="_MaaHQxIREeaMQsIXDIF-zQ" routing="Tree"/>
6754 <styles xmi:type="notation:FontStyle" xmi:id="_MaaHRBIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6755 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MaaHRRIREeaMQsIXDIF-zQ" points="[0, 0, -181, 60]$[181, -60, 0, 0]"/>
6756 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaauVBIREeaMQsIXDIF-zQ" id="(0.5,0.0)"/>
6757 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaauVRIREeaMQsIXDIF-zQ" id="(0.5,1.0)"/>
6758 </edges>
6759 <edges xmi:type="notation:Edge" xmi:id="_MabVYBIREeaMQsIXDIF-zQ" type="4001" element="_MZs8oBIREeaMQsIXDIF-zQ" source="_MZ-pdBIREeaMQsIXDIF-zQ" target="_MZ9bUBIREeaMQsIXDIF-zQ">
6760 <children xmi:type="notation:Node" xmi:id="_MabVZBIREeaMQsIXDIF-zQ" type="6001">
6761 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MabVZRIREeaMQsIXDIF-zQ" y="-10"/>
6762 </children>
6763 <children xmi:type="notation:Node" xmi:id="_MabVZhIREeaMQsIXDIF-zQ" type="6002">
6764 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MabVZxIREeaMQsIXDIF-zQ" y="10"/>
6765 </children>
6766 <children xmi:type="notation:Node" xmi:id="_MabVaBIREeaMQsIXDIF-zQ" type="6003">
6767 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MabVaRIREeaMQsIXDIF-zQ" y="10"/>
6768 </children>
6769 <styles xmi:type="notation:ConnectorStyle" xmi:id="_MabVYRIREeaMQsIXDIF-zQ" routing="Tree"/>
6770 <styles xmi:type="notation:FontStyle" xmi:id="_MabVYhIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6771 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MabVYxIREeaMQsIXDIF-zQ" points="[0, 0, 214, 60]$[-214, -60, 0, 0]"/>
6772 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mab8cBIREeaMQsIXDIF-zQ" id="(0.5,0.0)"/>
6773 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mab8cRIREeaMQsIXDIF-zQ" id="(0.5,1.0)"/>
6774 </edges>
6775 <edges xmi:type="notation:Edge" xmi:id="_Mab8chIREeaMQsIXDIF-zQ" type="4001" element="_MZtjsBIREeaMQsIXDIF-zQ" source="_MZ_QhBIREeaMQsIXDIF-zQ" target="_MZ9bUBIREeaMQsIXDIF-zQ">
6776 <children xmi:type="notation:Node" xmi:id="_MacjgBIREeaMQsIXDIF-zQ" type="6001">
6777 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MacjgRIREeaMQsIXDIF-zQ" y="-10"/>
6778 </children>
6779 <children xmi:type="notation:Node" xmi:id="_MacjghIREeaMQsIXDIF-zQ" type="6002">
6780 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MacjgxIREeaMQsIXDIF-zQ" y="10"/>
6781 </children>
6782 <children xmi:type="notation:Node" xmi:id="_MacjhBIREeaMQsIXDIF-zQ" type="6003">
6783 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MacjhRIREeaMQsIXDIF-zQ" y="10"/>
6784 </children>
6785 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Mab8cxIREeaMQsIXDIF-zQ" routing="Tree"/>
6786 <styles xmi:type="notation:FontStyle" xmi:id="_Mab8dBIREeaMQsIXDIF-zQ" fontName="Segoe UI" fontHeight="8"/>
6787 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Mab8dRIREeaMQsIXDIF-zQ" points="[0, 0, -224, 60]$[224, -60, 0, 0]"/>
6788 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MadKkBIREeaMQsIXDIF-zQ" id="(0.49645390070921985,0.0)"/>
6789 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MadKkRIREeaMQsIXDIF-zQ" id="(0.5,1.0)"/>
6790 </edges>
6791 </data>
6792 </ownedAnnotationEntries>
6793 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_MYQLIBIREeaMQsIXDIF-zQ" name="LogicResult" tooltipText="" outgoingEdges="_MZdsEBIREeaMQsIXDIF-zQ" incomingEdges="_MZorMBIREeaMQsIXDIF-zQ _MZp5UBIREeaMQsIXDIF-zQ _MZqgYBIREeaMQsIXDIF-zQ" width="12" height="10">
6794 <target xmi:type="ecore:EClass" href="logicresult.ecore#//LogicResult"/>
6795 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//LogicResult"/>
6796 <decorations xmi:type="viewpoint:Decoration" xmi:id="_MZNNZBIREeaMQsIXDIF-zQ">
6797 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
6798 </decorations>
6799 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_MYQLIRIREeaMQsIXDIF-zQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
6800 <labelFormat>italic</labelFormat>
6801 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
6802 </ownedStyle>
6803 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6804 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_MZAZEBIREeaMQsIXDIF-zQ" name="trace : EJavaObject" tooltipText="">
6805 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//LogicResult/trace"/>
6806 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//LogicResult/trace"/>
6807 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_MZAZERIREeaMQsIXDIF-zQ" labelAlignment="LEFT">
6808 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
6809 </ownedStyle>
6810 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
6811 </ownedElements>
6812 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_MZBAIBIREeaMQsIXDIF-zQ" name="representation : EJavaObject" tooltipText="">
6813 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//LogicResult/representation"/>
6814 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//LogicResult/representation"/>
6815 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_MZBnMBIREeaMQsIXDIF-zQ" labelAlignment="LEFT" description="_LobkUwJFEea4lsNl5Yuy6Q">
6816 <labelFormat>bold</labelFormat>
6817 </ownedStyle>
6818 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
6819 </ownedElements>
6820 </ownedDiagramElements>
6821 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_MYWRwBIREeaMQsIXDIF-zQ" name="ModelResult" tooltipText="" outgoingEdges="_MZorMBIREeaMQsIXDIF-zQ" width="12" height="10">
6822 <target xmi:type="ecore:EClass" href="logicresult.ecore#//ModelResult"/>
6823 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//ModelResult"/>
6824 <decorations xmi:type="viewpoint:Decoration" xmi:id="_MZNNZRIREeaMQsIXDIF-zQ">
6825 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
6826 </decorations>
6827 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_MYXf4BIREeaMQsIXDIF-zQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
6828 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
6829 </ownedStyle>
6830 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6831 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_MZCOQBIREeaMQsIXDIF-zQ" name="maxInteger : EInt" tooltipText="">
6832 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//ModelResult/maxInteger"/>
6833 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//ModelResult/maxInteger"/>
6834 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_MZDcYBIREeaMQsIXDIF-zQ" labelAlignment="LEFT" description="_LobkUwJFEea4lsNl5Yuy6Q">
6835 <labelFormat>bold</labelFormat>
6836 </ownedStyle>
6837 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
6838 </ownedElements>
6839 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_MZDcYRIREeaMQsIXDIF-zQ" name="minInteger : EInt" tooltipText="">
6840 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//ModelResult/minInteger"/>
6841 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//ModelResult/minInteger"/>
6842 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_MZF4oBIREeaMQsIXDIF-zQ" labelAlignment="LEFT" description="_LobkUwJFEea4lsNl5Yuy6Q">
6843 <labelFormat>bold</labelFormat>
6844 </ownedStyle>
6845 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
6846 </ownedElements>
6847 </ownedDiagramElements>
6848 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_MYYuABIREeaMQsIXDIF-zQ" name="InconsistencyResult" tooltipText="" outgoingEdges="_MZp5UBIREeaMQsIXDIF-zQ" width="12" height="10">
6849 <target xmi:type="ecore:EClass" href="logicresult.ecore#//InconsistencyResult"/>
6850 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//InconsistencyResult"/>
6851 <decorations xmi:type="viewpoint:Decoration" xmi:id="_MZNNZhIREeaMQsIXDIF-zQ">
6852 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
6853 </decorations>
6854 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_MYYuARIREeaMQsIXDIF-zQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
6855 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
6856 </ownedStyle>
6857 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6858 </ownedDiagramElements>
6859 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_MYZVEBIREeaMQsIXDIF-zQ" name="UnknownResult" tooltipText="" outgoingEdges="_MZqgYBIREeaMQsIXDIF-zQ" incomingEdges="_MZrHcBIREeaMQsIXDIF-zQ _MZrugBIREeaMQsIXDIF-zQ _MZsVkBIREeaMQsIXDIF-zQ" width="12" height="10">
6860 <target xmi:type="ecore:EClass" href="logicresult.ecore#//UnknownResult"/>
6861 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//UnknownResult"/>
6862 <decorations xmi:type="viewpoint:Decoration" xmi:id="_MZNNZxIREeaMQsIXDIF-zQ">
6863 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
6864 </decorations>
6865 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_MYZVERIREeaMQsIXDIF-zQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
6866 <labelFormat>italic</labelFormat>
6867 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
6868 </ownedStyle>
6869 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6870 </ownedDiagramElements>
6871 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_MYZ8IBIREeaMQsIXDIF-zQ" name="InsuficientResourcesResult" tooltipText="" outgoingEdges="_MZrHcBIREeaMQsIXDIF-zQ" width="12" height="10">
6872 <target xmi:type="ecore:EClass" href="logicresult.ecore#//InsuficientResourcesResult"/>
6873 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//InsuficientResourcesResult"/>
6874 <decorations xmi:type="viewpoint:Decoration" xmi:id="_MZNNaBIREeaMQsIXDIF-zQ">
6875 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
6876 </decorations>
6877 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_MYajMBIREeaMQsIXDIF-zQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
6878 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
6879 </ownedStyle>
6880 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6881 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_MZGfsBIREeaMQsIXDIF-zQ" name="resourceName : EString" tooltipText="">
6882 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//InsuficientResourcesResult/resourceName"/>
6883 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//InsuficientResourcesResult/resourceName"/>
6884 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_MZHGwBIREeaMQsIXDIF-zQ" labelAlignment="LEFT" description="_LobkUwJFEea4lsNl5Yuy6Q">
6885 <labelFormat>bold</labelFormat>
6886 </ownedStyle>
6887 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
6888 </ownedElements>
6889 </ownedDiagramElements>
6890 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_MYbKQBIREeaMQsIXDIF-zQ" name="ErrorResult" tooltipText="" outgoingEdges="_MZrugBIREeaMQsIXDIF-zQ" width="12" height="10">
6891 <target xmi:type="ecore:EClass" href="logicresult.ecore#//ErrorResult"/>
6892 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//ErrorResult"/>
6893 <decorations xmi:type="viewpoint:Decoration" xmi:id="_MZNNaRIREeaMQsIXDIF-zQ">
6894 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
6895 </decorations>
6896 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_MYbKQRIREeaMQsIXDIF-zQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
6897 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
6898 </ownedStyle>
6899 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6900 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_MZIU4BIREeaMQsIXDIF-zQ" name="message : EString" tooltipText="">
6901 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//ErrorResult/message"/>
6902 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//ErrorResult/message"/>
6903 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_MZI78BIREeaMQsIXDIF-zQ" labelAlignment="LEFT" description="_LobkUwJFEea4lsNl5Yuy6Q">
6904 <labelFormat>bold</labelFormat>
6905 </ownedStyle>
6906 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
6907 </ownedElements>
6908 </ownedDiagramElements>
6909 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_MYbxUBIREeaMQsIXDIF-zQ" name="Statistics" tooltipText="" outgoingEdges="_MZe6MBIREeaMQsIXDIF-zQ" incomingEdges="_MZdsEBIREeaMQsIXDIF-zQ" width="12" height="10">
6910 <target xmi:type="ecore:EClass" href="logicresult.ecore#//Statistics"/>
6911 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//Statistics"/>
6912 <decorations xmi:type="viewpoint:Decoration" xmi:id="_MZNNahIREeaMQsIXDIF-zQ">
6913 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
6914 </decorations>
6915 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
6916 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
6917 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
6918 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_MYcYYBIREeaMQsIXDIF-zQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
6919 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
6920 </ownedStyle>
6921 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6922 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_MZJjABIREeaMQsIXDIF-zQ" name="transformationTime : EInt = -1" tooltipText="">
6923 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//Statistics/transformationTime"/>
6924 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//Statistics/transformationTime"/>
6925 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_MZJjARIREeaMQsIXDIF-zQ" labelAlignment="LEFT" description="_LobkUwJFEea4lsNl5Yuy6Q">
6926 <labelFormat>bold</labelFormat>
6927 </ownedStyle>
6928 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
6929 </ownedElements>
6930 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_MZKKEBIREeaMQsIXDIF-zQ" name="solverTime : EInt = -1" tooltipText="">
6931 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//Statistics/solverTime"/>
6932 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//Statistics/solverTime"/>
6933 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_MZKxIBIREeaMQsIXDIF-zQ" labelAlignment="LEFT" description="_LobkUwJFEea4lsNl5Yuy6Q">
6934 <labelFormat>bold</labelFormat>
6935 </ownedStyle>
6936 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
6937 </ownedElements>
6938 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_MZLYMBIREeaMQsIXDIF-zQ" name="solverMemory : EInt = -1" tooltipText="">
6939 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//Statistics/solverMemory"/>
6940 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//Statistics/solverMemory"/>
6941 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_MZLYMRIREeaMQsIXDIF-zQ" labelAlignment="LEFT">
6942 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
6943 </ownedStyle>
6944 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
6945 </ownedElements>
6946 </ownedDiagramElements>
6947 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_MYcYYRIREeaMQsIXDIF-zQ" name="StatisticEntry" tooltipText="" incomingEdges="_MZe6MBIREeaMQsIXDIF-zQ _MZs8oBIREeaMQsIXDIF-zQ _MZtjsBIREeaMQsIXDIF-zQ" width="12" height="10">
6948 <target xmi:type="ecore:EClass" href="logicresult.ecore#//StatisticEntry"/>
6949 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//StatisticEntry"/>
6950 <decorations xmi:type="viewpoint:Decoration" xmi:id="_MZNNaxIREeaMQsIXDIF-zQ">
6951 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
6952 </decorations>
6953 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
6954 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
6955 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
6956 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_MYcYYhIREeaMQsIXDIF-zQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
6957 <labelFormat>italic</labelFormat>
6958 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
6959 </ownedStyle>
6960 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6961 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_MZL_QBIREeaMQsIXDIF-zQ" name="name : EString" tooltipText="">
6962 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//StatisticEntry/name"/>
6963 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//StatisticEntry/name"/>
6964 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_MZMmUBIREeaMQsIXDIF-zQ" labelAlignment="LEFT" description="_LobkUwJFEea4lsNl5Yuy6Q">
6965 <labelFormat>bold</labelFormat>
6966 </ownedStyle>
6967 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
6968 </ownedElements>
6969 </ownedDiagramElements>
6970 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_MYcYYxIREeaMQsIXDIF-zQ" name="UndecidableResult" tooltipText="" outgoingEdges="_MZsVkBIREeaMQsIXDIF-zQ" width="12" height="10">
6971 <target xmi:type="ecore:EClass" href="logicresult.ecore#//UndecidableResult"/>
6972 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//UndecidableResult"/>
6973 <decorations xmi:type="viewpoint:Decoration" xmi:id="_MZNNbBIREeaMQsIXDIF-zQ">
6974 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
6975 </decorations>
6976 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_MYcYZBIREeaMQsIXDIF-zQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
6977 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
6978 </ownedStyle>
6979 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6980 </ownedDiagramElements>
6981 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_MYcYZRIREeaMQsIXDIF-zQ" name="IntStatisticEntry" tooltipText="" outgoingEdges="_MZs8oBIREeaMQsIXDIF-zQ" width="12" height="10">
6982 <target xmi:type="ecore:EClass" href="logicresult.ecore#//IntStatisticEntry"/>
6983 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//IntStatisticEntry"/>
6984 <decorations xmi:type="viewpoint:Decoration" xmi:id="_MZNNbRIREeaMQsIXDIF-zQ">
6985 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
6986 </decorations>
6987 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
6988 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
6989 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
6990 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_MYcYZhIREeaMQsIXDIF-zQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
6991 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
6992 </ownedStyle>
6993 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
6994 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_MZNNYBIREeaMQsIXDIF-zQ" name="value : EInt" tooltipText="">
6995 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//IntStatisticEntry/value"/>
6996 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//IntStatisticEntry/value"/>
6997 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_MZNNYRIREeaMQsIXDIF-zQ" labelAlignment="LEFT" description="_LobkUwJFEea4lsNl5Yuy6Q">
6998 <labelFormat>bold</labelFormat>
6999 </ownedStyle>
7000 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
7001 </ownedElements>
7002 </ownedDiagramElements>
7003 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_MYcYZxIREeaMQsIXDIF-zQ" name="RealStatisticEntry" tooltipText="" outgoingEdges="_MZtjsBIREeaMQsIXDIF-zQ" width="12" height="10">
7004 <target xmi:type="ecore:EClass" href="logicresult.ecore#//RealStatisticEntry"/>
7005 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//RealStatisticEntry"/>
7006 <decorations xmi:type="viewpoint:Decoration" xmi:id="_MZNNbhIREeaMQsIXDIF-zQ">
7007 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
7008 </decorations>
7009 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
7010 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
7011 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
7012 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_MYcYaBIREeaMQsIXDIF-zQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
7013 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
7014 </ownedStyle>
7015 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
7016 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_MZNNYhIREeaMQsIXDIF-zQ" name="value : EDouble = 0.0" tooltipText="">
7017 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//RealStatisticEntry/value"/>
7018 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//RealStatisticEntry/value"/>
7019 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_MZNNYxIREeaMQsIXDIF-zQ" labelAlignment="LEFT" description="_LobkUwJFEea4lsNl5Yuy6Q">
7020 <labelFormat>bold</labelFormat>
7021 </ownedStyle>
7022 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
7023 </ownedElements>
7024 </ownedDiagramElements>
7025 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_MZdsEBIREeaMQsIXDIF-zQ" name="[0..1] statistics" sourceNode="_MYQLIBIREeaMQsIXDIF-zQ" targetNode="_MYbxUBIREeaMQsIXDIF-zQ">
7026 <target xmi:type="ecore:EReference" href="logicresult.ecore#//LogicResult/statistics"/>
7027 <semanticElements xmi:type="ecore:EReference" href="logicresult.ecore#//LogicResult/statistics"/>
7028 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_MZeTIBIREeaMQsIXDIF-zQ" description="_LobkVAJFEea4lsNl5Yuy6Q" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
7029 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_MZeTIRIREeaMQsIXDIF-zQ" showIcon="false">
7030 <customFeatures>labelSize</customFeatures>
7031 </centerLabelStyle>
7032 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_MZeTIhIREeaMQsIXDIF-zQ" showIcon="false" labelColor="39,76,114">
7033 <customFeatures>labelSize</customFeatures>
7034 </endLabelStyle>
7035 </ownedStyle>
7036 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
7037 </ownedDiagramElements>
7038 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_MZe6MBIREeaMQsIXDIF-zQ" name="[0..*] entries" sourceNode="_MYbxUBIREeaMQsIXDIF-zQ" targetNode="_MYcYYRIREeaMQsIXDIF-zQ">
7039 <target xmi:type="ecore:EReference" href="logicresult.ecore#//Statistics/entries"/>
7040 <semanticElements xmi:type="ecore:EReference" href="logicresult.ecore#//Statistics/entries"/>
7041 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_MZfhQBIREeaMQsIXDIF-zQ" description="_LobkVAJFEea4lsNl5Yuy6Q" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
7042 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_MZfhQRIREeaMQsIXDIF-zQ" showIcon="false">
7043 <customFeatures>labelSize</customFeatures>
7044 </centerLabelStyle>
7045 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_MZfhQhIREeaMQsIXDIF-zQ" showIcon="false" labelColor="39,76,114">
7046 <customFeatures>labelSize</customFeatures>
7047 </endLabelStyle>
7048 </ownedStyle>
7049 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
7050 </ownedDiagramElements>
7051 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_MZorMBIREeaMQsIXDIF-zQ" sourceNode="_MYWRwBIREeaMQsIXDIF-zQ" targetNode="_MYQLIBIREeaMQsIXDIF-zQ">
7052 <target xmi:type="ecore:EClass" href="logicresult.ecore#//ModelResult"/>
7053 <semanticElements xmi:type="ecore:EGenericType" href="logicresult.ecore#//ModelResult/@eGenericSuperTypes.0"/>
7054 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_MZpSQBIREeaMQsIXDIF-zQ" targetArrow="InputClosedArrow" routingStyle="tree">
7055 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
7056 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_MZpSQRIREeaMQsIXDIF-zQ" showIcon="false">
7057 <labelFormat>italic</labelFormat>
7058 </beginLabelStyle>
7059 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_MZpSQhIREeaMQsIXDIF-zQ" showIcon="false"/>
7060 </ownedStyle>
7061 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
7062 </ownedDiagramElements>
7063 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_MZp5UBIREeaMQsIXDIF-zQ" sourceNode="_MYYuABIREeaMQsIXDIF-zQ" targetNode="_MYQLIBIREeaMQsIXDIF-zQ">
7064 <target xmi:type="ecore:EClass" href="logicresult.ecore#//InconsistencyResult"/>
7065 <semanticElements xmi:type="ecore:EGenericType" href="logicresult.ecore#//InconsistencyResult/@eGenericSuperTypes.0"/>
7066 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_MZp5URIREeaMQsIXDIF-zQ" targetArrow="InputClosedArrow" routingStyle="tree">
7067 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
7068 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_MZp5UhIREeaMQsIXDIF-zQ" showIcon="false">
7069 <labelFormat>italic</labelFormat>
7070 </beginLabelStyle>
7071 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_MZp5UxIREeaMQsIXDIF-zQ" showIcon="false"/>
7072 </ownedStyle>
7073 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
7074 </ownedDiagramElements>
7075 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_MZqgYBIREeaMQsIXDIF-zQ" sourceNode="_MYZVEBIREeaMQsIXDIF-zQ" targetNode="_MYQLIBIREeaMQsIXDIF-zQ">
7076 <target xmi:type="ecore:EClass" href="logicresult.ecore#//UnknownResult"/>
7077 <semanticElements xmi:type="ecore:EGenericType" href="logicresult.ecore#//UnknownResult/@eGenericSuperTypes.0"/>
7078 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_MZqgYRIREeaMQsIXDIF-zQ" targetArrow="InputClosedArrow" routingStyle="tree">
7079 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
7080 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_MZqgYhIREeaMQsIXDIF-zQ" showIcon="false">
7081 <labelFormat>italic</labelFormat>
7082 </beginLabelStyle>
7083 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_MZqgYxIREeaMQsIXDIF-zQ" showIcon="false"/>
7084 </ownedStyle>
7085 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
7086 </ownedDiagramElements>
7087 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_MZrHcBIREeaMQsIXDIF-zQ" sourceNode="_MYZ8IBIREeaMQsIXDIF-zQ" targetNode="_MYZVEBIREeaMQsIXDIF-zQ">
7088 <target xmi:type="ecore:EClass" href="logicresult.ecore#//InsuficientResourcesResult"/>
7089 <semanticElements xmi:type="ecore:EGenericType" href="logicresult.ecore#//InsuficientResourcesResult/@eGenericSuperTypes.0"/>
7090 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_MZrHcRIREeaMQsIXDIF-zQ" targetArrow="InputClosedArrow" routingStyle="tree">
7091 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
7092 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_MZrHchIREeaMQsIXDIF-zQ" showIcon="false">
7093 <labelFormat>italic</labelFormat>
7094 </beginLabelStyle>
7095 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_MZrHcxIREeaMQsIXDIF-zQ" showIcon="false"/>
7096 </ownedStyle>
7097 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
7098 </ownedDiagramElements>
7099 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_MZrugBIREeaMQsIXDIF-zQ" sourceNode="_MYbKQBIREeaMQsIXDIF-zQ" targetNode="_MYZVEBIREeaMQsIXDIF-zQ">
7100 <target xmi:type="ecore:EClass" href="logicresult.ecore#//ErrorResult"/>
7101 <semanticElements xmi:type="ecore:EGenericType" href="logicresult.ecore#//ErrorResult/@eGenericSuperTypes.0"/>
7102 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_MZrugRIREeaMQsIXDIF-zQ" targetArrow="InputClosedArrow" routingStyle="tree">
7103 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
7104 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_MZrughIREeaMQsIXDIF-zQ" showIcon="false">
7105 <labelFormat>italic</labelFormat>
7106 </beginLabelStyle>
7107 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_MZrugxIREeaMQsIXDIF-zQ" showIcon="false"/>
7108 </ownedStyle>
7109 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
7110 </ownedDiagramElements>
7111 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_MZsVkBIREeaMQsIXDIF-zQ" sourceNode="_MYcYYxIREeaMQsIXDIF-zQ" targetNode="_MYZVEBIREeaMQsIXDIF-zQ">
7112 <target xmi:type="ecore:EClass" href="logicresult.ecore#//UndecidableResult"/>
7113 <semanticElements xmi:type="ecore:EGenericType" href="logicresult.ecore#//UndecidableResult/@eGenericSuperTypes.0"/>
7114 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_MZsVkRIREeaMQsIXDIF-zQ" targetArrow="InputClosedArrow" routingStyle="tree">
7115 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
7116 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_MZsVkhIREeaMQsIXDIF-zQ" showIcon="false">
7117 <labelFormat>italic</labelFormat>
7118 </beginLabelStyle>
7119 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_MZsVkxIREeaMQsIXDIF-zQ" showIcon="false"/>
7120 </ownedStyle>
7121 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
7122 </ownedDiagramElements>
7123 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_MZs8oBIREeaMQsIXDIF-zQ" sourceNode="_MYcYZRIREeaMQsIXDIF-zQ" targetNode="_MYcYYRIREeaMQsIXDIF-zQ">
7124 <target xmi:type="ecore:EClass" href="logicresult.ecore#//IntStatisticEntry"/>
7125 <semanticElements xmi:type="ecore:EGenericType" href="logicresult.ecore#//IntStatisticEntry/@eGenericSuperTypes.0"/>
7126 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_MZs8oRIREeaMQsIXDIF-zQ" targetArrow="InputClosedArrow" routingStyle="tree">
7127 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
7128 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_MZs8ohIREeaMQsIXDIF-zQ" showIcon="false">
7129 <labelFormat>italic</labelFormat>
7130 </beginLabelStyle>
7131 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_MZs8oxIREeaMQsIXDIF-zQ" showIcon="false"/>
7132 </ownedStyle>
7133 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
7134 </ownedDiagramElements>
7135 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_MZtjsBIREeaMQsIXDIF-zQ" sourceNode="_MYcYZxIREeaMQsIXDIF-zQ" targetNode="_MYcYYRIREeaMQsIXDIF-zQ">
7136 <target xmi:type="ecore:EClass" href="logicresult.ecore#//RealStatisticEntry"/>
7137 <semanticElements xmi:type="ecore:EGenericType" href="logicresult.ecore#//RealStatisticEntry/@eGenericSuperTypes.0"/>
7138 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_MZtjsRIREeaMQsIXDIF-zQ" targetArrow="InputClosedArrow" routingStyle="tree">
7139 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
7140 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_MZtjshIREeaMQsIXDIF-zQ" showIcon="false">
7141 <labelFormat>italic</labelFormat>
7142 </beginLabelStyle>
7143 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_MZtjsxIREeaMQsIXDIF-zQ" showIcon="false"/>
7144 </ownedStyle>
7145 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
7146 </ownedDiagramElements>
7147 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
7148 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_Lof2PAJFEea4lsNl5Yuy6Q"/>
7149 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
7150 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
7151 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
7152 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
7153 <target xmi:type="ecore:EPackage" href="logiclanguage.ecore#/"/>
7154 </ownedRepresentations>
7155 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_l6XRgLdnEeau1vMV3Bsx4w" name="Terms">
7156 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_l6XRgbdnEeau1vMV3Bsx4w" source="DANNOTATION_CUSTOMIZATION_KEY">
7157 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_l6XRgrdnEeau1vMV3Bsx4w">
7158 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan">
7159 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
7160 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_l6XRhbdnEeau1vMV3Bsx4w" showIcon="false" labelExpression="service:render">
7161 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
7162 </centerLabelStyleDescription>
7163 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_l6XRhrdnEeau1vMV3Bsx4w" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
7164 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
7165 </endLabelStyleDescription>
7166 </computedStyleDescriptions>
7167 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_l6XRh7dnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan">
7168 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
7169 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_l6XRiLdnEeau1vMV3Bsx4w" showIcon="false" labelExpression="service:render">
7170 <labelFormat>bold</labelFormat>
7171 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
7172 </centerLabelStyleDescription>
7173 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_l6XRibdnEeau1vMV3Bsx4w" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
7174 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
7175 </endLabelStyleDescription>
7176 </computedStyleDescriptions>
7177 </data>
7178 </ownedAnnotationEntries>
7179 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_l6XRjbdnEeau1vMV3Bsx4w" source="GMF_DIAGRAMS">
7180 <data xmi:type="notation:Diagram" xmi:id="_l6XRjrdnEeau1vMV3Bsx4w" type="Sirius" element="_l6XRgLdnEeau1vMV3Bsx4w" measurementUnit="Pixel">
7181 <children xmi:type="notation:Node" xmi:id="_l6XR27dnEeau1vMV3Bsx4w" type="2003" element="_l6ZIGbdnEeau1vMV3Bsx4w">
7182 <children xmi:type="notation:Node" xmi:id="_l6XR3LdnEeau1vMV3Bsx4w" type="5007"/>
7183 <children xmi:type="notation:Node" xmi:id="_l6XR3bdnEeau1vMV3Bsx4w" type="7004">
7184 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XR3rdnEeau1vMV3Bsx4w"/>
7185 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XR37dnEeau1vMV3Bsx4w"/>
7186 </children>
7187 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XR4LdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8" italic="true"/>
7188 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XR4bdnEeau1vMV3Bsx4w" x="1630" y="58"/>
7189 </children>
7190 <children xmi:type="notation:Node" xmi:id="_l6XR7LdnEeau1vMV3Bsx4w" type="2003" element="_l6ZIH7dnEeau1vMV3Bsx4w">
7191 <children xmi:type="notation:Node" xmi:id="_l6XR7bdnEeau1vMV3Bsx4w" type="5007"/>
7192 <children xmi:type="notation:Node" xmi:id="_l6XR7rdnEeau1vMV3Bsx4w" type="7004">
7193 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XR77dnEeau1vMV3Bsx4w"/>
7194 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XR8LdnEeau1vMV3Bsx4w"/>
7195 </children>
7196 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XR8bdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7197 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XR8rdnEeau1vMV3Bsx4w" x="2245" y="210"/>
7198 </children>
7199 <children xmi:type="notation:Node" xmi:id="_l6XR87dnEeau1vMV3Bsx4w" type="2003" element="_l6ZIIbdnEeau1vMV3Bsx4w">
7200 <children xmi:type="notation:Node" xmi:id="_l6XR9LdnEeau1vMV3Bsx4w" type="5007"/>
7201 <children xmi:type="notation:Node" xmi:id="_l6XR9bdnEeau1vMV3Bsx4w" type="7004">
7202 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XR9rdnEeau1vMV3Bsx4w"/>
7203 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XR97dnEeau1vMV3Bsx4w"/>
7204 </children>
7205 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XR-LdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8" italic="true"/>
7206 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XR-bdnEeau1vMV3Bsx4w" x="1015" y="322"/>
7207 </children>
7208 <children xmi:type="notation:Node" xmi:id="_l6XR-rdnEeau1vMV3Bsx4w" type="2003" element="_l6ZII7dnEeau1vMV3Bsx4w">
7209 <children xmi:type="notation:Node" xmi:id="_l6XR-7dnEeau1vMV3Bsx4w" type="5007"/>
7210 <children xmi:type="notation:Node" xmi:id="_l6XR_LdnEeau1vMV3Bsx4w" type="7004">
7211 <children xmi:type="notation:Node" xmi:id="_l6XR_bdnEeau1vMV3Bsx4w" type="3010" element="_l6ZIJbdnEeau1vMV3Bsx4w">
7212 <styles xmi:type="notation:FontStyle" xmi:id="_l6XR_rdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7213 <layoutConstraint xmi:type="notation:Location" xmi:id="_l6XR_7dnEeau1vMV3Bsx4w"/>
7214 </children>
7215 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XSALdnEeau1vMV3Bsx4w"/>
7216 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XSAbdnEeau1vMV3Bsx4w"/>
7217 </children>
7218 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XSArdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7219 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XSA7dnEeau1vMV3Bsx4w" x="1165" y="455"/>
7220 </children>
7221 <children xmi:type="notation:Node" xmi:id="_l6XSBLdnEeau1vMV3Bsx4w" type="2003" element="_l6ZIJ7dnEeau1vMV3Bsx4w">
7222 <children xmi:type="notation:Node" xmi:id="_l6XSBbdnEeau1vMV3Bsx4w" type="5007"/>
7223 <children xmi:type="notation:Node" xmi:id="_l6XSBrdnEeau1vMV3Bsx4w" type="7004">
7224 <children xmi:type="notation:Node" xmi:id="_l6XSB7dnEeau1vMV3Bsx4w" type="3010" element="_l6ZIKbdnEeau1vMV3Bsx4w">
7225 <styles xmi:type="notation:FontStyle" xmi:id="_l6XSCLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7226 <layoutConstraint xmi:type="notation:Location" xmi:id="_l6XSCbdnEeau1vMV3Bsx4w"/>
7227 </children>
7228 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XSCrdnEeau1vMV3Bsx4w"/>
7229 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XSC7dnEeau1vMV3Bsx4w"/>
7230 </children>
7231 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XSDLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7232 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XSDbdnEeau1vMV3Bsx4w" x="981" y="460"/>
7233 </children>
7234 <children xmi:type="notation:Node" xmi:id="_l6XSDrdnEeau1vMV3Bsx4w" type="2003" element="_l6ZIK7dnEeau1vMV3Bsx4w">
7235 <children xmi:type="notation:Node" xmi:id="_l6XSD7dnEeau1vMV3Bsx4w" type="5007"/>
7236 <children xmi:type="notation:Node" xmi:id="_l6XSELdnEeau1vMV3Bsx4w" type="7004">
7237 <children xmi:type="notation:Node" xmi:id="_l6XSEbdnEeau1vMV3Bsx4w" type="3010" element="_l6ZILbdnEeau1vMV3Bsx4w">
7238 <styles xmi:type="notation:FontStyle" xmi:id="_l6XSErdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7239 <layoutConstraint xmi:type="notation:Location" xmi:id="_l6XSE7dnEeau1vMV3Bsx4w"/>
7240 </children>
7241 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XSFLdnEeau1vMV3Bsx4w"/>
7242 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XSFbdnEeau1vMV3Bsx4w"/>
7243 </children>
7244 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XSFrdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7245 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XSF7dnEeau1vMV3Bsx4w" x="835" y="454"/>
7246 </children>
7247 <children xmi:type="notation:Node" xmi:id="_l6XSGLdnEeau1vMV3Bsx4w" type="2003" element="_l6ZIL7dnEeau1vMV3Bsx4w">
7248 <children xmi:type="notation:Node" xmi:id="_l6XSGbdnEeau1vMV3Bsx4w" type="5007"/>
7249 <children xmi:type="notation:Node" xmi:id="_l6XSGrdnEeau1vMV3Bsx4w" type="7004">
7250 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XSG7dnEeau1vMV3Bsx4w"/>
7251 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XSHLdnEeau1vMV3Bsx4w"/>
7252 </children>
7253 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XSHbdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7254 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XSHrdnEeau1vMV3Bsx4w" x="1760" y="440"/>
7255 </children>
7256 <children xmi:type="notation:Node" xmi:id="_l6XSH7dnEeau1vMV3Bsx4w" type="2003" element="_l6ZIMbdnEeau1vMV3Bsx4w">
7257 <children xmi:type="notation:Node" xmi:id="_l6XSILdnEeau1vMV3Bsx4w" type="5007"/>
7258 <children xmi:type="notation:Node" xmi:id="_l6XSIbdnEeau1vMV3Bsx4w" type="7004">
7259 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XSIrdnEeau1vMV3Bsx4w"/>
7260 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XSI7dnEeau1vMV3Bsx4w"/>
7261 </children>
7262 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XSJLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8" italic="true"/>
7263 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XSJbdnEeau1vMV3Bsx4w" x="1450" y="275"/>
7264 </children>
7265 <children xmi:type="notation:Node" xmi:id="_l6XSJrdnEeau1vMV3Bsx4w" type="2003" element="_l6ZIM7dnEeau1vMV3Bsx4w">
7266 <children xmi:type="notation:Node" xmi:id="_l6XSJ7dnEeau1vMV3Bsx4w" type="5007"/>
7267 <children xmi:type="notation:Node" xmi:id="_l6XSKLdnEeau1vMV3Bsx4w" type="7004">
7268 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XSKbdnEeau1vMV3Bsx4w"/>
7269 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XSKrdnEeau1vMV3Bsx4w"/>
7270 </children>
7271 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XSK7dnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7272 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XSLLdnEeau1vMV3Bsx4w" x="1345" y="455"/>
7273 </children>
7274 <children xmi:type="notation:Node" xmi:id="_l6XSLbdnEeau1vMV3Bsx4w" type="2003" element="_l6ZINbdnEeau1vMV3Bsx4w">
7275 <children xmi:type="notation:Node" xmi:id="_l6XSLrdnEeau1vMV3Bsx4w" type="5007"/>
7276 <children xmi:type="notation:Node" xmi:id="_l6XSL7dnEeau1vMV3Bsx4w" type="7004">
7277 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XSMLdnEeau1vMV3Bsx4w"/>
7278 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XSMbdnEeau1vMV3Bsx4w"/>
7279 </children>
7280 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XSMrdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7281 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XSM7dnEeau1vMV3Bsx4w" x="1525" y="455"/>
7282 </children>
7283 <children xmi:type="notation:Node" xmi:id="_l6XSNLdnEeau1vMV3Bsx4w" type="2003" element="_l6ZIN7dnEeau1vMV3Bsx4w">
7284 <children xmi:type="notation:Node" xmi:id="_l6XSNbdnEeau1vMV3Bsx4w" type="5007"/>
7285 <children xmi:type="notation:Node" xmi:id="_l6XSNrdnEeau1vMV3Bsx4w" type="7004">
7286 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XSN7dnEeau1vMV3Bsx4w"/>
7287 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XSOLdnEeau1vMV3Bsx4w"/>
7288 </children>
7289 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XSObdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8" italic="true"/>
7290 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XSOrdnEeau1vMV3Bsx4w" x="-500" y="460"/>
7291 </children>
7292 <children xmi:type="notation:Node" xmi:id="_l6XSO7dnEeau1vMV3Bsx4w" type="2003" element="_l6ZIObdnEeau1vMV3Bsx4w">
7293 <children xmi:type="notation:Node" xmi:id="_l6XSPLdnEeau1vMV3Bsx4w" type="5007"/>
7294 <children xmi:type="notation:Node" xmi:id="_l6XSPbdnEeau1vMV3Bsx4w" type="7004">
7295 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XSPrdnEeau1vMV3Bsx4w"/>
7296 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XSP7dnEeau1vMV3Bsx4w"/>
7297 </children>
7298 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XSQLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7299 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XSQbdnEeau1vMV3Bsx4w" x="-750" y="644" height="37"/>
7300 </children>
7301 <children xmi:type="notation:Node" xmi:id="_l6XSQrdnEeau1vMV3Bsx4w" type="2003" element="_l6ZIO7dnEeau1vMV3Bsx4w">
7302 <children xmi:type="notation:Node" xmi:id="_l6XSQ7dnEeau1vMV3Bsx4w" type="5007"/>
7303 <children xmi:type="notation:Node" xmi:id="_l6XSRLdnEeau1vMV3Bsx4w" type="7004">
7304 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XSRbdnEeau1vMV3Bsx4w"/>
7305 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XSRrdnEeau1vMV3Bsx4w"/>
7306 </children>
7307 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XSR7dnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7308 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XSSLdnEeau1vMV3Bsx4w" x="-460" y="650"/>
7309 </children>
7310 <children xmi:type="notation:Node" xmi:id="_l6XSSbdnEeau1vMV3Bsx4w" type="2003" element="_l6ZIPbdnEeau1vMV3Bsx4w">
7311 <children xmi:type="notation:Node" xmi:id="_l6XSSrdnEeau1vMV3Bsx4w" type="5007"/>
7312 <children xmi:type="notation:Node" xmi:id="_l6XSS7dnEeau1vMV3Bsx4w" type="7004">
7313 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XSTLdnEeau1vMV3Bsx4w"/>
7314 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XSTbdnEeau1vMV3Bsx4w"/>
7315 </children>
7316 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XSTrdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7317 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XST7dnEeau1vMV3Bsx4w" x="-880" y="650" height="44"/>
7318 </children>
7319 <children xmi:type="notation:Node" xmi:id="_l6XSULdnEeau1vMV3Bsx4w" type="2003" element="_l6ZIP7dnEeau1vMV3Bsx4w">
7320 <children xmi:type="notation:Node" xmi:id="_l6XSUbdnEeau1vMV3Bsx4w" type="5007"/>
7321 <children xmi:type="notation:Node" xmi:id="_l6XSUrdnEeau1vMV3Bsx4w" type="7004">
7322 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XSU7dnEeau1vMV3Bsx4w"/>
7323 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XSVLdnEeau1vMV3Bsx4w"/>
7324 </children>
7325 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XSVbdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7326 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XSVrdnEeau1vMV3Bsx4w" x="-610" y="650"/>
7327 </children>
7328 <children xmi:type="notation:Node" xmi:id="_l6XSV7dnEeau1vMV3Bsx4w" type="2003" element="_l6ZIQbdnEeau1vMV3Bsx4w">
7329 <children xmi:type="notation:Node" xmi:id="_l6XSWLdnEeau1vMV3Bsx4w" type="5007"/>
7330 <children xmi:type="notation:Node" xmi:id="_l6XSWbdnEeau1vMV3Bsx4w" type="7004">
7331 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XSWrdnEeau1vMV3Bsx4w"/>
7332 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XSW7dnEeau1vMV3Bsx4w"/>
7333 </children>
7334 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XSXLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7335 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XSXbdnEeau1vMV3Bsx4w" x="-280" y="650"/>
7336 </children>
7337 <children xmi:type="notation:Node" xmi:id="_l6XSXrdnEeau1vMV3Bsx4w" type="2003" element="_l6ZIQ7dnEeau1vMV3Bsx4w">
7338 <children xmi:type="notation:Node" xmi:id="_l6XSX7dnEeau1vMV3Bsx4w" type="5007"/>
7339 <children xmi:type="notation:Node" xmi:id="_l6XSYLdnEeau1vMV3Bsx4w" type="7004">
7340 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XSYbdnEeau1vMV3Bsx4w"/>
7341 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XSYrdnEeau1vMV3Bsx4w"/>
7342 </children>
7343 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XSY7dnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8" italic="true"/>
7344 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XSZLdnEeau1vMV3Bsx4w" x="2460" y="720"/>
7345 </children>
7346 <children xmi:type="notation:Node" xmi:id="_l6XSZbdnEeau1vMV3Bsx4w" type="2003" element="_l6ZIRbdnEeau1vMV3Bsx4w">
7347 <children xmi:type="notation:Node" xmi:id="_l6XSZrdnEeau1vMV3Bsx4w" type="5007"/>
7348 <children xmi:type="notation:Node" xmi:id="_l6XSZ7dnEeau1vMV3Bsx4w" type="7004">
7349 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XSaLdnEeau1vMV3Bsx4w"/>
7350 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XSabdnEeau1vMV3Bsx4w"/>
7351 </children>
7352 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XSardnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7353 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XSa7dnEeau1vMV3Bsx4w" x="2905" y="865"/>
7354 </children>
7355 <children xmi:type="notation:Node" xmi:id="_l6XSbLdnEeau1vMV3Bsx4w" type="2003" element="_l6ZIR7dnEeau1vMV3Bsx4w">
7356 <children xmi:type="notation:Node" xmi:id="_l6XSbbdnEeau1vMV3Bsx4w" type="5007"/>
7357 <children xmi:type="notation:Node" xmi:id="_l6XSbrdnEeau1vMV3Bsx4w" type="7004">
7358 <styles xmi:type="notation:SortingStyle" xmi:id="_l6XSb7dnEeau1vMV3Bsx4w"/>
7359 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6XScLdnEeau1vMV3Bsx4w"/>
7360 </children>
7361 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6XScbdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7362 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6XScrdnEeau1vMV3Bsx4w" x="3050" y="870"/>
7363 </children>
7364 <children xmi:type="notation:Node" xmi:id="_l6XSc7dnEeau1vMV3Bsx4w" type="2003" element="_l6ZISbdnEeau1vMV3Bsx4w">
7365 <children xmi:type="notation:Node" xmi:id="_l6X4kLdnEeau1vMV3Bsx4w" type="5007"/>
7366 <children xmi:type="notation:Node" xmi:id="_l6X4kbdnEeau1vMV3Bsx4w" type="7004">
7367 <styles xmi:type="notation:SortingStyle" xmi:id="_l6X4krdnEeau1vMV3Bsx4w"/>
7368 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6X4k7dnEeau1vMV3Bsx4w"/>
7369 </children>
7370 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6X4lLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7371 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X4lbdnEeau1vMV3Bsx4w" x="2755" y="865"/>
7372 </children>
7373 <children xmi:type="notation:Node" xmi:id="_l6X4lrdnEeau1vMV3Bsx4w" type="2003" element="_l6ZIS7dnEeau1vMV3Bsx4w">
7374 <children xmi:type="notation:Node" xmi:id="_l6X4l7dnEeau1vMV3Bsx4w" type="5007"/>
7375 <children xmi:type="notation:Node" xmi:id="_l6X4mLdnEeau1vMV3Bsx4w" type="7004">
7376 <styles xmi:type="notation:SortingStyle" xmi:id="_l6X4mbdnEeau1vMV3Bsx4w"/>
7377 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6X4mrdnEeau1vMV3Bsx4w"/>
7378 </children>
7379 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6X4m7dnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7380 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X4nLdnEeau1vMV3Bsx4w" x="2577" y="865"/>
7381 </children>
7382 <children xmi:type="notation:Node" xmi:id="_l6X4nbdnEeau1vMV3Bsx4w" type="2003" element="_l6ZITbdnEeau1vMV3Bsx4w">
7383 <children xmi:type="notation:Node" xmi:id="_l6X4nrdnEeau1vMV3Bsx4w" type="5007"/>
7384 <children xmi:type="notation:Node" xmi:id="_l6X4n7dnEeau1vMV3Bsx4w" type="7004">
7385 <styles xmi:type="notation:SortingStyle" xmi:id="_l6X4oLdnEeau1vMV3Bsx4w"/>
7386 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6X4obdnEeau1vMV3Bsx4w"/>
7387 </children>
7388 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6X4ordnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7389 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X4o7dnEeau1vMV3Bsx4w" x="2295" y="865"/>
7390 </children>
7391 <children xmi:type="notation:Node" xmi:id="_l6X4pLdnEeau1vMV3Bsx4w" type="2003" element="_l6ZIT7dnEeau1vMV3Bsx4w">
7392 <children xmi:type="notation:Node" xmi:id="_l6X4pbdnEeau1vMV3Bsx4w" type="5007"/>
7393 <children xmi:type="notation:Node" xmi:id="_l6X4prdnEeau1vMV3Bsx4w" type="7004">
7394 <styles xmi:type="notation:SortingStyle" xmi:id="_l6X4p7dnEeau1vMV3Bsx4w"/>
7395 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6X4qLdnEeau1vMV3Bsx4w"/>
7396 </children>
7397 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6X4qbdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7398 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X4qrdnEeau1vMV3Bsx4w" x="2425" y="865"/>
7399 </children>
7400 <children xmi:type="notation:Node" xmi:id="_l6X4q7dnEeau1vMV3Bsx4w" type="2003" element="_l6ZtwbdnEeau1vMV3Bsx4w">
7401 <children xmi:type="notation:Node" xmi:id="_l6X4rLdnEeau1vMV3Bsx4w" type="5007"/>
7402 <children xmi:type="notation:Node" xmi:id="_l6X4rbdnEeau1vMV3Bsx4w" type="7004">
7403 <styles xmi:type="notation:SortingStyle" xmi:id="_l6X4rrdnEeau1vMV3Bsx4w"/>
7404 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6X4r7dnEeau1vMV3Bsx4w"/>
7405 </children>
7406 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6X4sLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8" italic="true"/>
7407 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X4sbdnEeau1vMV3Bsx4w" x="310" y="250"/>
7408 </children>
7409 <children xmi:type="notation:Node" xmi:id="_l6X4srdnEeau1vMV3Bsx4w" type="2003" element="_l6Ztw7dnEeau1vMV3Bsx4w">
7410 <children xmi:type="notation:Node" xmi:id="_l6X4s7dnEeau1vMV3Bsx4w" type="5007"/>
7411 <children xmi:type="notation:Node" xmi:id="_l6X4tLdnEeau1vMV3Bsx4w" type="7004">
7412 <styles xmi:type="notation:SortingStyle" xmi:id="_l6X4tbdnEeau1vMV3Bsx4w"/>
7413 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6X4trdnEeau1vMV3Bsx4w"/>
7414 </children>
7415 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6X4t7dnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7416 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X4uLdnEeau1vMV3Bsx4w" x="180" y="385"/>
7417 </children>
7418 <children xmi:type="notation:Node" xmi:id="_l6X4ubdnEeau1vMV3Bsx4w" type="2003" element="_l6ZtxbdnEeau1vMV3Bsx4w">
7419 <children xmi:type="notation:Node" xmi:id="_l6X4urdnEeau1vMV3Bsx4w" type="5007"/>
7420 <children xmi:type="notation:Node" xmi:id="_l6X4u7dnEeau1vMV3Bsx4w" type="7004">
7421 <styles xmi:type="notation:SortingStyle" xmi:id="_l6X4vLdnEeau1vMV3Bsx4w"/>
7422 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6X4vbdnEeau1vMV3Bsx4w"/>
7423 </children>
7424 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6X4vrdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7425 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X4v7dnEeau1vMV3Bsx4w" x="360" y="385"/>
7426 </children>
7427 <children xmi:type="notation:Node" xmi:id="_l6X4wLdnEeau1vMV3Bsx4w" type="2003" element="_l6Ztx7dnEeau1vMV3Bsx4w">
7428 <children xmi:type="notation:Node" xmi:id="_l6X4wbdnEeau1vMV3Bsx4w" type="5007"/>
7429 <children xmi:type="notation:Node" xmi:id="_l6X4wrdnEeau1vMV3Bsx4w" type="7004">
7430 <styles xmi:type="notation:SortingStyle" xmi:id="_l6X4w7dnEeau1vMV3Bsx4w"/>
7431 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6X4xLdnEeau1vMV3Bsx4w"/>
7432 </children>
7433 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6X4xbdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7434 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X4xrdnEeau1vMV3Bsx4w" x="540" y="385"/>
7435 </children>
7436 <children xmi:type="notation:Node" xmi:id="_l6X4x7dnEeau1vMV3Bsx4w" type="2003" element="_l6ZtybdnEeau1vMV3Bsx4w">
7437 <children xmi:type="notation:Node" xmi:id="_l6X4yLdnEeau1vMV3Bsx4w" type="5007"/>
7438 <children xmi:type="notation:Node" xmi:id="_l6X4ybdnEeau1vMV3Bsx4w" type="7004">
7439 <styles xmi:type="notation:SortingStyle" xmi:id="_l6X4yrdnEeau1vMV3Bsx4w"/>
7440 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6X4y7dnEeau1vMV3Bsx4w"/>
7441 </children>
7442 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6X4zLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7443 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X4zbdnEeau1vMV3Bsx4w" y="385"/>
7444 </children>
7445 <children xmi:type="notation:Node" xmi:id="_l6X4zrdnEeau1vMV3Bsx4w" type="2003" element="_l6Zty7dnEeau1vMV3Bsx4w">
7446 <children xmi:type="notation:Node" xmi:id="_l6X4z7dnEeau1vMV3Bsx4w" type="5007"/>
7447 <children xmi:type="notation:Node" xmi:id="_l6X40LdnEeau1vMV3Bsx4w" type="7004">
7448 <styles xmi:type="notation:SortingStyle" xmi:id="_l6X40bdnEeau1vMV3Bsx4w"/>
7449 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6X40rdnEeau1vMV3Bsx4w"/>
7450 </children>
7451 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6X407dnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7452 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X41LdnEeau1vMV3Bsx4w" x="703" y="395"/>
7453 </children>
7454 <children xmi:type="notation:Node" xmi:id="_l6X43LdnEeau1vMV3Bsx4w" type="2003" element="_l6Ztz7dnEeau1vMV3Bsx4w">
7455 <children xmi:type="notation:Node" xmi:id="_l6X43bdnEeau1vMV3Bsx4w" type="5007"/>
7456 <children xmi:type="notation:Node" xmi:id="_l6X43rdnEeau1vMV3Bsx4w" type="7004">
7457 <styles xmi:type="notation:SortingStyle" xmi:id="_l6X437dnEeau1vMV3Bsx4w"/>
7458 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6X44LdnEeau1vMV3Bsx4w"/>
7459 </children>
7460 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6X44bdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8" italic="true"/>
7461 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X44rdnEeau1vMV3Bsx4w" x="2855"/>
7462 </children>
7463 <children xmi:type="notation:Node" xmi:id="_l6X5ELdnEeau1vMV3Bsx4w" type="2003" element="_l6ZvG7dnEeau1vMV3Bsx4w">
7464 <children xmi:type="notation:Node" xmi:id="_l6X5EbdnEeau1vMV3Bsx4w" type="5007"/>
7465 <children xmi:type="notation:Node" xmi:id="_l6X5ErdnEeau1vMV3Bsx4w" type="7004">
7466 <styles xmi:type="notation:SortingStyle" xmi:id="_l6X5E7dnEeau1vMV3Bsx4w"/>
7467 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6X5FLdnEeau1vMV3Bsx4w"/>
7468 </children>
7469 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6X5FbdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7470 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5FrdnEeau1vMV3Bsx4w" x="2645" y="20" width="120" height="100"/>
7471 </children>
7472 <children xmi:type="notation:Node" xmi:id="_l6X5M7dnEeau1vMV3Bsx4w" type="2003" element="_l6ZvZbdnEeau1vMV3Bsx4w">
7473 <children xmi:type="notation:Node" xmi:id="_l6X5NLdnEeau1vMV3Bsx4w" type="5007"/>
7474 <children xmi:type="notation:Node" xmi:id="_l6X5NbdnEeau1vMV3Bsx4w" type="7004">
7475 <styles xmi:type="notation:SortingStyle" xmi:id="_l6X5NrdnEeau1vMV3Bsx4w"/>
7476 <styles xmi:type="notation:FilteringStyle" xmi:id="_l6X5N7dnEeau1vMV3Bsx4w"/>
7477 </children>
7478 <styles xmi:type="notation:ShapeStyle" xmi:id="_l6X5OLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7479 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5ObdnEeau1vMV3Bsx4w" x="-930" y="97" width="192" height="49"/>
7480 </children>
7481 <children xmi:type="notation:Node" xmi:id="_YvbY4Ld1Eeau1vMV3Bsx4w" type="2003" element="_YtYxgLd1Eeau1vMV3Bsx4w">
7482 <children xmi:type="notation:Node" xmi:id="_Yvm_ELd1Eeau1vMV3Bsx4w" type="5007"/>
7483 <children xmi:type="notation:Node" xmi:id="_YvnmILd1Eeau1vMV3Bsx4w" type="7004">
7484 <styles xmi:type="notation:SortingStyle" xmi:id="_YvoNMLd1Eeau1vMV3Bsx4w"/>
7485 <styles xmi:type="notation:FilteringStyle" xmi:id="_YvoNMbd1Eeau1vMV3Bsx4w"/>
7486 </children>
7487 <styles xmi:type="notation:ShapeStyle" xmi:id="_YvbY4bd1Eeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7488 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvbY4rd1Eeau1vMV3Bsx4w" x="1910" y="440" width="120" height="100"/>
7489 </children>
7490 <children xmi:type="notation:Node" xmi:id="_JfwFgLd8Eeau1vMV3Bsx4w" type="2003" element="_JfJBgLd8Eeau1vMV3Bsx4w">
7491 <children xmi:type="notation:Node" xmi:id="_JfwskLd8Eeau1vMV3Bsx4w" type="5007"/>
7492 <children xmi:type="notation:Node" xmi:id="_Jfwskbd8Eeau1vMV3Bsx4w" type="7004">
7493 <styles xmi:type="notation:SortingStyle" xmi:id="_Jfwskrd8Eeau1vMV3Bsx4w"/>
7494 <styles xmi:type="notation:FilteringStyle" xmi:id="_Jfwsk7d8Eeau1vMV3Bsx4w"/>
7495 </children>
7496 <styles xmi:type="notation:ShapeStyle" xmi:id="_JfwFgbd8Eeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8" italic="true"/>
7497 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JfwFgrd8Eeau1vMV3Bsx4w" x="1845" y="585"/>
7498 </children>
7499 <styles xmi:type="notation:DiagramStyle" xmi:id="_l6X5OrdnEeau1vMV3Bsx4w"/>
7500 <edges xmi:type="notation:Edge" xmi:id="_l6X5a7dnEeau1vMV3Bsx4w" type="4001" element="_l6Zt6bdnEeau1vMV3Bsx4w" source="_l6XR7LdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7501 <children xmi:type="notation:Node" xmi:id="_l6X5bLdnEeau1vMV3Bsx4w" type="6001">
7502 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5bbdnEeau1vMV3Bsx4w" x="-265" y="-10"/>
7503 </children>
7504 <children xmi:type="notation:Node" xmi:id="_l6X5brdnEeau1vMV3Bsx4w" type="6002">
7505 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5b7dnEeau1vMV3Bsx4w" x="-49" y="95"/>
7506 </children>
7507 <children xmi:type="notation:Node" xmi:id="_l6X5cLdnEeau1vMV3Bsx4w" type="6003">
7508 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5cbdnEeau1vMV3Bsx4w" x="-47" y="214"/>
7509 </children>
7510 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X5crdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7511 <styles xmi:type="notation:FontStyle" xmi:id="_l6X5c7dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7512 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X5dLdnEeau1vMV3Bsx4w" points="[0, 98, 615, 152]$[0, 128, 615, 182]$[-615, 128, 0, 182]$[-615, -54, 0, 0]"/>
7513 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X5dbdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7514 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X5drdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7515 </edges>
7516 <edges xmi:type="notation:Edge" xmi:id="_l6X5g7dnEeau1vMV3Bsx4w" type="4001" element="_l6Zt8bdnEeau1vMV3Bsx4w" source="_l6XSH7dnEeau1vMV3Bsx4w" target="_l6XSGLdnEeau1vMV3Bsx4w">
7517 <children xmi:type="notation:Node" xmi:id="_l6X5hLdnEeau1vMV3Bsx4w" type="6001">
7518 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5hbdnEeau1vMV3Bsx4w" x="8" y="-58"/>
7519 </children>
7520 <children xmi:type="notation:Node" xmi:id="_l6X5hrdnEeau1vMV3Bsx4w" type="6002">
7521 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5h7dnEeau1vMV3Bsx4w" x="27" y="8"/>
7522 </children>
7523 <children xmi:type="notation:Node" xmi:id="_l6X5iLdnEeau1vMV3Bsx4w" type="6003">
7524 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5ibdnEeau1vMV3Bsx4w" x="-62" y="10"/>
7525 </children>
7526 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X5irdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7527 <styles xmi:type="notation:FontStyle" xmi:id="_l6X5i7dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7528 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X5jLdnEeau1vMV3Bsx4w" points="[60, 38, -250, -225]$[63, 225, -247, -38]$[251, 225, -59, -38]"/>
7529 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X5jbdnEeau1vMV3Bsx4w" id="(0.49586776859504134,0.0)"/>
7530 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X5jrdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7531 </edges>
7532 <edges xmi:type="notation:Edge" xmi:id="_l6X5j7dnEeau1vMV3Bsx4w" type="4001" element="_l6Zt9bdnEeau1vMV3Bsx4w" source="_l6XSH7dnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7533 <children xmi:type="notation:Node" xmi:id="_l6X5kLdnEeau1vMV3Bsx4w" type="6001">
7534 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5kbdnEeau1vMV3Bsx4w" x="-50" y="-10"/>
7535 </children>
7536 <children xmi:type="notation:Node" xmi:id="_l6X5krdnEeau1vMV3Bsx4w" type="6002">
7537 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5k7dnEeau1vMV3Bsx4w" x="32" y="2"/>
7538 </children>
7539 <children xmi:type="notation:Node" xmi:id="_l6X5lLdnEeau1vMV3Bsx4w" type="6003">
7540 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5lbdnEeau1vMV3Bsx4w" x="-19" y="10"/>
7541 </children>
7542 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X5lrdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7543 <styles xmi:type="notation:FontStyle" xmi:id="_l6X5l7dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7544 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X5mLdnEeau1vMV3Bsx4w" points="[0, 0, -180, 119]$[0, -87, -180, 32]$[180, -87, 0, 32]$[180, -119, 0, 0]"/>
7545 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X5mbdnEeau1vMV3Bsx4w" id="(0.49586776859504134,0.0)"/>
7546 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X5mrdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7547 </edges>
7548 <edges xmi:type="notation:Edge" xmi:id="_l6X5m7dnEeau1vMV3Bsx4w" type="4001" element="_l6Zt-bdnEeau1vMV3Bsx4w" source="_l6XSO7dnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7549 <children xmi:type="notation:Node" xmi:id="_l6X5nLdnEeau1vMV3Bsx4w" type="6001">
7550 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5nbdnEeau1vMV3Bsx4w" y="-10"/>
7551 </children>
7552 <children xmi:type="notation:Node" xmi:id="_l6X5nrdnEeau1vMV3Bsx4w" type="6002">
7553 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5n7dnEeau1vMV3Bsx4w" x="-215" y="10"/>
7554 </children>
7555 <children xmi:type="notation:Node" xmi:id="_l6X5oLdnEeau1vMV3Bsx4w" type="6003">
7556 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5obdnEeau1vMV3Bsx4w" x="-25" y="10"/>
7557 </children>
7558 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X5ordnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7559 <styles xmi:type="notation:FontStyle" xmi:id="_l6X5o7dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7560 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X5pLdnEeau1vMV3Bsx4w" points="[0, 0, -722, 220]$[0, -160, -722, 60]$[722, -220, 0, 0]"/>
7561 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X5pbdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7562 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X5prdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7563 </edges>
7564 <edges xmi:type="notation:Edge" xmi:id="_l6X5p7dnEeau1vMV3Bsx4w" type="4001" element="_l6Zt_bdnEeau1vMV3Bsx4w" source="_l6XSQrdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7565 <children xmi:type="notation:Node" xmi:id="_l6X5qLdnEeau1vMV3Bsx4w" type="6001">
7566 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5qbdnEeau1vMV3Bsx4w" y="-10"/>
7567 </children>
7568 <children xmi:type="notation:Node" xmi:id="_l6X5qrdnEeau1vMV3Bsx4w" type="6002">
7569 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5q7dnEeau1vMV3Bsx4w" x="-72" y="10"/>
7570 </children>
7571 <children xmi:type="notation:Node" xmi:id="_l6X5rLdnEeau1vMV3Bsx4w" type="6003">
7572 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5rbdnEeau1vMV3Bsx4w" x="356" y="-10"/>
7573 </children>
7574 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X5rrdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7575 <styles xmi:type="notation:FontStyle" xmi:id="_l6X5r7dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7576 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X5sLdnEeau1vMV3Bsx4w" points="[0, 0, -542, 220]$[1, -160, -541, 60]$[542, -220, 0, 0]"/>
7577 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X5sbdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7578 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X5srdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7579 </edges>
7580 <edges xmi:type="notation:Edge" xmi:id="_l6X5s7dnEeau1vMV3Bsx4w" type="4001" element="_l6ZuAbdnEeau1vMV3Bsx4w" source="_l6XSSbdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7581 <children xmi:type="notation:Node" xmi:id="_l6X5tLdnEeau1vMV3Bsx4w" type="6001">
7582 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5tbdnEeau1vMV3Bsx4w" y="-10"/>
7583 </children>
7584 <children xmi:type="notation:Node" xmi:id="_l6X5trdnEeau1vMV3Bsx4w" type="6002">
7585 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5t7dnEeau1vMV3Bsx4w" x="-206" y="10"/>
7586 </children>
7587 <children xmi:type="notation:Node" xmi:id="_l6X5uLdnEeau1vMV3Bsx4w" type="6003">
7588 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5ubdnEeau1vMV3Bsx4w" x="-31" y="10"/>
7589 </children>
7590 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X5urdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7591 <styles xmi:type="notation:FontStyle" xmi:id="_l6X5u7dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7592 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X5vLdnEeau1vMV3Bsx4w" points="[0, 0, -181, 220]$[180, -61, -1, 159]$[181, -220, 0, 0]"/>
7593 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X5vbdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7594 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X5vrdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7595 </edges>
7596 <edges xmi:type="notation:Edge" xmi:id="_l6X5v7dnEeau1vMV3Bsx4w" type="4001" element="_l6ZuBbdnEeau1vMV3Bsx4w" source="_l6XSSbdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7597 <children xmi:type="notation:Node" xmi:id="_l6X5wLdnEeau1vMV3Bsx4w" type="6001">
7598 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5wbdnEeau1vMV3Bsx4w" y="-10"/>
7599 </children>
7600 <children xmi:type="notation:Node" xmi:id="_l6X5wrdnEeau1vMV3Bsx4w" type="6002">
7601 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5w7dnEeau1vMV3Bsx4w" x="19" y="10"/>
7602 </children>
7603 <children xmi:type="notation:Node" xmi:id="_l6X5xLdnEeau1vMV3Bsx4w" type="6003">
7604 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5xbdnEeau1vMV3Bsx4w" x="-28" y="10"/>
7605 </children>
7606 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X5xrdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7607 <styles xmi:type="notation:FontStyle" xmi:id="_l6X5x7dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7608 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X5yLdnEeau1vMV3Bsx4w" points="[0, 0, -181, 220]$[1, -160, -180, 60]$[181, -220, 0, 0]"/>
7609 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X5ybdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7610 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X5yrdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7611 </edges>
7612 <edges xmi:type="notation:Edge" xmi:id="_l6X5y7dnEeau1vMV3Bsx4w" type="4001" element="_l6ZuCbdnEeau1vMV3Bsx4w" source="_l6XSULdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7613 <children xmi:type="notation:Node" xmi:id="_l6X5zLdnEeau1vMV3Bsx4w" type="6001">
7614 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5zbdnEeau1vMV3Bsx4w" y="-10"/>
7615 </children>
7616 <children xmi:type="notation:Node" xmi:id="_l6X5zrdnEeau1vMV3Bsx4w" type="6002">
7617 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5z7dnEeau1vMV3Bsx4w" x="8" y="120"/>
7618 </children>
7619 <children xmi:type="notation:Node" xmi:id="_l6X50LdnEeau1vMV3Bsx4w" type="6003">
7620 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X50bdnEeau1vMV3Bsx4w" x="382" y="-20"/>
7621 </children>
7622 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X50rdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7623 <styles xmi:type="notation:FontStyle" xmi:id="_l6X507dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7624 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X51LdnEeau1vMV3Bsx4w" points="[0, 0, 181, 220]$[-1, -160, 180, 60]$[-181, -220, 0, 0]"/>
7625 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X51bdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7626 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X51rdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7627 </edges>
7628 <edges xmi:type="notation:Edge" xmi:id="_l6X517dnEeau1vMV3Bsx4w" type="4001" element="_l6ZuDbdnEeau1vMV3Bsx4w" source="_l6XSV7dnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7629 <children xmi:type="notation:Node" xmi:id="_l6X52LdnEeau1vMV3Bsx4w" type="6001">
7630 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X52bdnEeau1vMV3Bsx4w" y="-10"/>
7631 </children>
7632 <children xmi:type="notation:Node" xmi:id="_l6X52rdnEeau1vMV3Bsx4w" type="6002">
7633 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X527dnEeau1vMV3Bsx4w" x="-18" y="10"/>
7634 </children>
7635 <children xmi:type="notation:Node" xmi:id="_l6X53LdnEeau1vMV3Bsx4w" type="6003">
7636 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X53bdnEeau1vMV3Bsx4w" x="276" y="-10"/>
7637 </children>
7638 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X53rdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7639 <styles xmi:type="notation:FontStyle" xmi:id="_l6X537dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7640 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X54LdnEeau1vMV3Bsx4w" points="[0, 0, 362, 220]$[-1, -160, 361, 60]$[-362, -220, 0, 0]"/>
7641 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X54bdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7642 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X54rdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7643 </edges>
7644 <edges xmi:type="notation:Edge" xmi:id="_l6X547dnEeau1vMV3Bsx4w" type="4001" element="_l6ZuEbdnEeau1vMV3Bsx4w" source="_l6XSV7dnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7645 <children xmi:type="notation:Node" xmi:id="_l6X55LdnEeau1vMV3Bsx4w" type="6001">
7646 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X55bdnEeau1vMV3Bsx4w" y="-10"/>
7647 </children>
7648 <children xmi:type="notation:Node" xmi:id="_l6X55rdnEeau1vMV3Bsx4w" type="6002">
7649 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X557dnEeau1vMV3Bsx4w" x="2570" y="10"/>
7650 </children>
7651 <children xmi:type="notation:Node" xmi:id="_l6X56LdnEeau1vMV3Bsx4w" type="6003">
7652 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X56bdnEeau1vMV3Bsx4w" x="454" y="10"/>
7653 </children>
7654 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X56rdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7655 <styles xmi:type="notation:FontStyle" xmi:id="_l6X567dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7656 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X57LdnEeau1vMV3Bsx4w" points="[0, 0, 362, 220]$[180, -61, 542, 159]$[180, -160, 542, 60]$[-362, -220, 0, 0]"/>
7657 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X57bdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7658 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X57rdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7659 </edges>
7660 <edges xmi:type="notation:Edge" xmi:id="_l6X577dnEeau1vMV3Bsx4w" type="4001" element="_l6ZuFbdnEeau1vMV3Bsx4w" source="_l6XSZbdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7661 <children xmi:type="notation:Node" xmi:id="_l6X58LdnEeau1vMV3Bsx4w" type="6001">
7662 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X58bdnEeau1vMV3Bsx4w" y="-10"/>
7663 </children>
7664 <children xmi:type="notation:Node" xmi:id="_l6X58rdnEeau1vMV3Bsx4w" type="6002">
7665 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X587dnEeau1vMV3Bsx4w" x="401" y="10"/>
7666 </children>
7667 <children xmi:type="notation:Node" xmi:id="_l6X59LdnEeau1vMV3Bsx4w" type="6003">
7668 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X59bdnEeau1vMV3Bsx4w" x="84" y="10"/>
7669 </children>
7670 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X59rdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7671 <styles xmi:type="notation:FontStyle" xmi:id="_l6X597dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7672 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X5-LdnEeau1vMV3Bsx4w" points="[0, 0, 1447, 220]$[-1, -160, 1446, 60]$[-1447, -220, 0, 0]"/>
7673 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X5-bdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7674 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X5-rdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7675 </edges>
7676 <edges xmi:type="notation:Edge" xmi:id="_l6X5-7dnEeau1vMV3Bsx4w" type="4001" element="_l6ZuGbdnEeau1vMV3Bsx4w" source="_l6XSZbdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7677 <children xmi:type="notation:Node" xmi:id="_l6X5_LdnEeau1vMV3Bsx4w" type="6001">
7678 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5_bdnEeau1vMV3Bsx4w" x="-287" y="-10"/>
7679 </children>
7680 <children xmi:type="notation:Node" xmi:id="_l6X5_rdnEeau1vMV3Bsx4w" type="6002">
7681 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X5_7dnEeau1vMV3Bsx4w" x="-217" y="-13"/>
7682 </children>
7683 <children xmi:type="notation:Node" xmi:id="_l6X6ALdnEeau1vMV3Bsx4w" type="6003">
7684 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6AbdnEeau1vMV3Bsx4w" x="-24" y="10"/>
7685 </children>
7686 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X6ArdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7687 <styles xmi:type="notation:FontStyle" xmi:id="_l6X6A7dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7688 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X6BLdnEeau1vMV3Bsx4w" points="[0, 0, 1275, 709]$[0, -217, 1275, 492]$[8, -217, 1283, 492]$[8, -487, 1283, 222]$[-1275, -487, 0, 222]$[-1275, -709, 0, 0]"/>
7689 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6BbdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7690 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6BrdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7691 </edges>
7692 <edges xmi:type="notation:Edge" xmi:id="_l6X6B7dnEeau1vMV3Bsx4w" type="4001" element="_l6ZuHbdnEeau1vMV3Bsx4w" source="_l6XSbLdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7693 <children xmi:type="notation:Node" xmi:id="_l6X6CLdnEeau1vMV3Bsx4w" type="6001">
7694 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6CbdnEeau1vMV3Bsx4w" y="-10"/>
7695 </children>
7696 <children xmi:type="notation:Node" xmi:id="_l6X6CrdnEeau1vMV3Bsx4w" type="6002">
7697 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6C7dnEeau1vMV3Bsx4w" x="357" y="10"/>
7698 </children>
7699 <children xmi:type="notation:Node" xmi:id="_l6X6DLdnEeau1vMV3Bsx4w" type="6003">
7700 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6DbdnEeau1vMV3Bsx4w" x="133" y="10"/>
7701 </children>
7702 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X6DrdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7703 <styles xmi:type="notation:FontStyle" xmi:id="_l6X6D7dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7704 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X6ELdnEeau1vMV3Bsx4w" points="[0, 0, 724, 220]$[-1, -160, 723, 60]$[-724, -220, 0, 0]"/>
7705 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6EbdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7706 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6ErdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7707 </edges>
7708 <edges xmi:type="notation:Edge" xmi:id="_l6X6E7dnEeau1vMV3Bsx4w" type="4001" element="_l6ZuIbdnEeau1vMV3Bsx4w" source="_l6XSc7dnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7709 <children xmi:type="notation:Node" xmi:id="_l6X6FLdnEeau1vMV3Bsx4w" type="6001">
7710 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6FbdnEeau1vMV3Bsx4w" x="-137" y="-10"/>
7711 </children>
7712 <children xmi:type="notation:Node" xmi:id="_l6X6FrdnEeau1vMV3Bsx4w" type="6002">
7713 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6F7dnEeau1vMV3Bsx4w" x="-802" y="232"/>
7714 </children>
7715 <children xmi:type="notation:Node" xmi:id="_l6X6GLdnEeau1vMV3Bsx4w" type="6003">
7716 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6GbdnEeau1vMV3Bsx4w" x="-20" y="10"/>
7717 </children>
7718 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X6GrdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7719 <styles xmi:type="notation:FontStyle" xmi:id="_l6X6G7dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7720 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X6HLdnEeau1vMV3Bsx4w" points="[0, 0, 1125, 709]$[0, -487, 1125, 222]$[-1125, -487, 0, 222]$[-1125, -709, 0, 0]"/>
7721 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6HbdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7722 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6HrdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7723 </edges>
7724 <edges xmi:type="notation:Edge" xmi:id="_l6X6H7dnEeau1vMV3Bsx4w" type="4001" element="_l6ZuJbdnEeau1vMV3Bsx4w" source="_l6XSc7dnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7725 <children xmi:type="notation:Node" xmi:id="_l6X6ILdnEeau1vMV3Bsx4w" type="6001">
7726 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6IbdnEeau1vMV3Bsx4w" y="-10"/>
7727 </children>
7728 <children xmi:type="notation:Node" xmi:id="_l6X6IrdnEeau1vMV3Bsx4w" type="6002">
7729 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6I7dnEeau1vMV3Bsx4w" x="444" y="-486"/>
7730 </children>
7731 <children xmi:type="notation:Node" xmi:id="_l6X6JLdnEeau1vMV3Bsx4w" type="6003">
7732 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6JbdnEeau1vMV3Bsx4w" x="7" y="10"/>
7733 </children>
7734 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X6JrdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7735 <styles xmi:type="notation:FontStyle" xmi:id="_l6X6J7dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7736 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X6KLdnEeau1vMV3Bsx4w" points="[0, 0, 2171, 220]$[-1, -160, 2170, 60]$[-2171, -220, 0, 0]"/>
7737 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6KbdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7738 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6KrdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7739 </edges>
7740 <edges xmi:type="notation:Edge" xmi:id="_l6X6K7dnEeau1vMV3Bsx4w" type="4001" element="_l6ZuKbdnEeau1vMV3Bsx4w" source="_l6X4lrdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7741 <children xmi:type="notation:Node" xmi:id="_l6X6LLdnEeau1vMV3Bsx4w" type="6001">
7742 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6LbdnEeau1vMV3Bsx4w" x="-109" y="-10"/>
7743 </children>
7744 <children xmi:type="notation:Node" xmi:id="_l6X6LrdnEeau1vMV3Bsx4w" type="6002">
7745 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6L7dnEeau1vMV3Bsx4w" x="-725" y="236"/>
7746 </children>
7747 <children xmi:type="notation:Node" xmi:id="_l6X6MLdnEeau1vMV3Bsx4w" type="6003">
7748 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6MbdnEeau1vMV3Bsx4w" x="-1" y="10"/>
7749 </children>
7750 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X6MrdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7751 <styles xmi:type="notation:FontStyle" xmi:id="_l6X6M7dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7752 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X6NLdnEeau1vMV3Bsx4w" points="[0, 0, 947, 709]$[0, -225, 947, 484]$[-4, -225, 943, 484]$[-4, -487, 943, 222]$[-947, -487, 0, 222]$[-947, -709, 0, 0]"/>
7753 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6NbdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7754 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6NrdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7755 </edges>
7756 <edges xmi:type="notation:Edge" xmi:id="_l6X6N7dnEeau1vMV3Bsx4w" type="4001" element="_l6ZuLbdnEeau1vMV3Bsx4w" source="_l6X4lrdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7757 <children xmi:type="notation:Node" xmi:id="_l6X6OLdnEeau1vMV3Bsx4w" type="6001">
7758 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6ObdnEeau1vMV3Bsx4w" y="-10"/>
7759 </children>
7760 <children xmi:type="notation:Node" xmi:id="_l6X6OrdnEeau1vMV3Bsx4w" type="6002">
7761 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6O7dnEeau1vMV3Bsx4w" x="471" y="-476"/>
7762 </children>
7763 <children xmi:type="notation:Node" xmi:id="_l6X6PLdnEeau1vMV3Bsx4w" type="6003">
7764 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6PbdnEeau1vMV3Bsx4w" x="7" y="10"/>
7765 </children>
7766 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X6PrdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7767 <styles xmi:type="notation:FontStyle" xmi:id="_l6X6P7dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7768 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X6QLdnEeau1vMV3Bsx4w" points="[0, 0, 1809, 220]$[-1, -160, 1808, 60]$[-1809, -220, 0, 0]"/>
7769 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6QbdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7770 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6QrdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7771 </edges>
7772 <edges xmi:type="notation:Edge" xmi:id="_l6X6Q7dnEeau1vMV3Bsx4w" type="4001" element="_l6ZuMbdnEeau1vMV3Bsx4w" source="_l6X4nbdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7773 <children xmi:type="notation:Node" xmi:id="_l6X6RLdnEeau1vMV3Bsx4w" type="6001">
7774 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6RbdnEeau1vMV3Bsx4w" y="-10"/>
7775 </children>
7776 <children xmi:type="notation:Node" xmi:id="_l6X6RrdnEeau1vMV3Bsx4w" type="6002">
7777 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6R7dnEeau1vMV3Bsx4w" x="379" y="10"/>
7778 </children>
7779 <children xmi:type="notation:Node" xmi:id="_l6X6SLdnEeau1vMV3Bsx4w" type="6003">
7780 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6SbdnEeau1vMV3Bsx4w" x="72" y="25"/>
7781 </children>
7782 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X6SrdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7783 <styles xmi:type="notation:FontStyle" xmi:id="_l6X6S7dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7784 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X6TLdnEeau1vMV3Bsx4w" points="[0, 0, -903, 220]$[0, -160, -903, 60]$[903, -220, 0, 0]"/>
7785 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6TbdnEeau1vMV3Bsx4w" id="(0.49166666666666664,0.0)"/>
7786 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6TrdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7787 </edges>
7788 <edges xmi:type="notation:Edge" xmi:id="_l6X6T7dnEeau1vMV3Bsx4w" type="4001" element="_l6ZuNbdnEeau1vMV3Bsx4w" source="_l6X4nbdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7789 <children xmi:type="notation:Node" xmi:id="_l6X6ULdnEeau1vMV3Bsx4w" type="6001">
7790 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6UbdnEeau1vMV3Bsx4w" y="-10"/>
7791 </children>
7792 <children xmi:type="notation:Node" xmi:id="_l6X6UrdnEeau1vMV3Bsx4w" type="6002">
7793 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6U7dnEeau1vMV3Bsx4w" x="-55"/>
7794 </children>
7795 <children xmi:type="notation:Node" xmi:id="_l6X6VLdnEeau1vMV3Bsx4w" type="6003">
7796 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6VbdnEeau1vMV3Bsx4w" x="18" y="-10"/>
7797 </children>
7798 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X6VrdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7799 <styles xmi:type="notation:FontStyle" xmi:id="_l6X6V7dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7800 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X6WLdnEeau1vMV3Bsx4w" points="[0, 0, -902, 220]$[-182, -61, -1084, 159]$[-182, -160, -1084, 60]$[902, -220, 0, 0]"/>
7801 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6WbdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7802 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6WrdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7803 </edges>
7804 <edges xmi:type="notation:Edge" xmi:id="_l6X6W7dnEeau1vMV3Bsx4w" type="4001" element="_l6ZuObdnEeau1vMV3Bsx4w" source="_l6X4pLdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7805 <children xmi:type="notation:Node" xmi:id="_l6X6XLdnEeau1vMV3Bsx4w" type="6001">
7806 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6XbdnEeau1vMV3Bsx4w" x="10" y="-307"/>
7807 </children>
7808 <children xmi:type="notation:Node" xmi:id="_l6X6XrdnEeau1vMV3Bsx4w" type="6002">
7809 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6X7dnEeau1vMV3Bsx4w" x="154" y="10"/>
7810 </children>
7811 <children xmi:type="notation:Node" xmi:id="_l6X6YLdnEeau1vMV3Bsx4w" type="6003">
7812 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6YbdnEeau1vMV3Bsx4w" y="-10"/>
7813 </children>
7814 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X6YrdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7815 <styles xmi:type="notation:FontStyle" xmi:id="_l6X6Y7dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7816 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X6ZLdnEeau1vMV3Bsx4w" points="[-40, 0, 755, 709]$[-40, -737, 755, -28]$[-736, -737, 59, -28]"/>
7817 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6ZbdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7818 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6ZrdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7819 </edges>
7820 <edges xmi:type="notation:Edge" xmi:id="_l6X6Z7dnEeau1vMV3Bsx4w" type="4001" element="_l6ZuPbdnEeau1vMV3Bsx4w" source="_l6X4pLdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7821 <children xmi:type="notation:Node" xmi:id="_l6X6aLdnEeau1vMV3Bsx4w" type="6001">
7822 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6abdnEeau1vMV3Bsx4w" x="172" y="-6"/>
7823 </children>
7824 <children xmi:type="notation:Node" xmi:id="_l6X6ardnEeau1vMV3Bsx4w" type="6002">
7825 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6a7dnEeau1vMV3Bsx4w" x="-188" y="-851"/>
7826 </children>
7827 <children xmi:type="notation:Node" xmi:id="_l6X6bLdnEeau1vMV3Bsx4w" type="6003">
7828 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6bbdnEeau1vMV3Bsx4w" x="-266" y="1"/>
7829 </children>
7830 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X6brdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7831 <styles xmi:type="notation:FontStyle" xmi:id="_l6X6b7dnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7832 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6X6cLdnEeau1vMV3Bsx4w" points="[0, 0, 795, 709]$[0, -213, 795, 496]$[-740, -213, 55, 496]$[-740, -217, 55, 492]$[-795, -217, 0, 492]$[-795, -709, 0, 0]"/>
7833 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6cbdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7834 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6X6crdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7835 </edges>
7836 <edges xmi:type="notation:Edge" xmi:id="_l6X6c7dnEeau1vMV3Bsx4w" type="4001" element="_l6ZuQbdnEeau1vMV3Bsx4w" source="_l6X4q7dnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7837 <children xmi:type="notation:Node" xmi:id="_l6X6dLdnEeau1vMV3Bsx4w" type="6001">
7838 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6dbdnEeau1vMV3Bsx4w" x="-6" y="-10"/>
7839 </children>
7840 <children xmi:type="notation:Node" xmi:id="_l6X6drdnEeau1vMV3Bsx4w" type="6002">
7841 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6d7dnEeau1vMV3Bsx4w" x="347" y="10"/>
7842 </children>
7843 <children xmi:type="notation:Node" xmi:id="_l6X6eLdnEeau1vMV3Bsx4w" type="6003">
7844 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6X6ebdnEeau1vMV3Bsx4w" x="61" y="10"/>
7845 </children>
7846 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6X6erdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7847 <styles xmi:type="notation:FontStyle" xmi:id="_l6YfoLdnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7848 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YfobdnEeau1vMV3Bsx4w" points="[59, 1, -1261, 95]$[1261, 1, -59, 95]"/>
7849 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YfordnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7850 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Yfo7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7851 </edges>
7852 <edges xmi:type="notation:Edge" xmi:id="_l6YfpLdnEeau1vMV3Bsx4w" type="4001" element="_l6ZuRbdnEeau1vMV3Bsx4w" source="_l6X4q7dnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7853 <children xmi:type="notation:Node" xmi:id="_l6YfpbdnEeau1vMV3Bsx4w" type="6001">
7854 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YfprdnEeau1vMV3Bsx4w" x="-6" y="-10"/>
7855 </children>
7856 <children xmi:type="notation:Node" xmi:id="_l6Yfp7dnEeau1vMV3Bsx4w" type="6002">
7857 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YfqLdnEeau1vMV3Bsx4w" x="347" y="10"/>
7858 </children>
7859 <children xmi:type="notation:Node" xmi:id="_l6YfqbdnEeau1vMV3Bsx4w" type="6003">
7860 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YfqrdnEeau1vMV3Bsx4w" x="61" y="10"/>
7861 </children>
7862 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6Yfq7dnEeau1vMV3Bsx4w" routing="Rectilinear"/>
7863 <styles xmi:type="notation:FontStyle" xmi:id="_l6YfrLdnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
7864 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YfrbdnEeau1vMV3Bsx4w" points="[59, 1, -1261, 95]$[1261, 1, -59, 95]"/>
7865 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YfrrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7866 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Yfr7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7867 </edges>
7868 <edges xmi:type="notation:Edge" xmi:id="_l6YgTLdnEeau1vMV3Bsx4w" type="4001" element="_l6ZufbdnEeau1vMV3Bsx4w" source="_l6XR27dnEeau1vMV3Bsx4w" target="_l6X43LdnEeau1vMV3Bsx4w">
7869 <children xmi:type="notation:Node" xmi:id="_l6YgTbdnEeau1vMV3Bsx4w" type="6001">
7870 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgTrdnEeau1vMV3Bsx4w" x="-81" y="-10"/>
7871 </children>
7872 <children xmi:type="notation:Node" xmi:id="_l6YgT7dnEeau1vMV3Bsx4w" type="6002">
7873 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgULdnEeau1vMV3Bsx4w" x="-11" y="18"/>
7874 </children>
7875 <children xmi:type="notation:Node" xmi:id="_l6YgUbdnEeau1vMV3Bsx4w" type="6003">
7876 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgUrdnEeau1vMV3Bsx4w" x="-35" y="10"/>
7877 </children>
7878 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6YgU7dnEeau1vMV3Bsx4w" routing="Tree"/>
7879 <styles xmi:type="notation:FontStyle" xmi:id="_l6YgVLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7880 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YgVbdnEeau1vMV3Bsx4w" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
7881 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YgVrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7882 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YgV7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7883 </edges>
7884 <edges xmi:type="notation:Edge" xmi:id="_l6YgZLdnEeau1vMV3Bsx4w" type="4001" element="_l6ZuhbdnEeau1vMV3Bsx4w" source="_l6XR7LdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7885 <children xmi:type="notation:Node" xmi:id="_l6YgZbdnEeau1vMV3Bsx4w" type="6001">
7886 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgZrdnEeau1vMV3Bsx4w" y="-10"/>
7887 </children>
7888 <children xmi:type="notation:Node" xmi:id="_l6YgZ7dnEeau1vMV3Bsx4w" type="6002">
7889 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgaLdnEeau1vMV3Bsx4w" y="10"/>
7890 </children>
7891 <children xmi:type="notation:Node" xmi:id="_l6YgabdnEeau1vMV3Bsx4w" type="6003">
7892 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgardnEeau1vMV3Bsx4w" y="10"/>
7893 </children>
7894 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6Yga7dnEeau1vMV3Bsx4w" routing="Tree"/>
7895 <styles xmi:type="notation:FontStyle" xmi:id="_l6YgbLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7896 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YgbbdnEeau1vMV3Bsx4w" points="[0, 0, -1806, 60]$[1806, -60, 0, 0]"/>
7897 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YgbrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7898 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Ygb7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7899 </edges>
7900 <edges xmi:type="notation:Edge" xmi:id="_l6YgcLdnEeau1vMV3Bsx4w" type="4001" element="_l6ZuibdnEeau1vMV3Bsx4w" source="_l6XR87dnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7901 <children xmi:type="notation:Node" xmi:id="_l6YgcbdnEeau1vMV3Bsx4w" type="6001">
7902 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgcrdnEeau1vMV3Bsx4w" y="-10"/>
7903 </children>
7904 <children xmi:type="notation:Node" xmi:id="_l6Ygc7dnEeau1vMV3Bsx4w" type="6002">
7905 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgdLdnEeau1vMV3Bsx4w" y="10"/>
7906 </children>
7907 <children xmi:type="notation:Node" xmi:id="_l6YgdbdnEeau1vMV3Bsx4w" type="6003">
7908 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgdrdnEeau1vMV3Bsx4w" y="10"/>
7909 </children>
7910 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6Ygd7dnEeau1vMV3Bsx4w" routing="Tree"/>
7911 <styles xmi:type="notation:FontStyle" xmi:id="_l6YgeLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7912 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YgebdnEeau1vMV3Bsx4w" points="[0, 0, -1446, 60]$[1446, -60, 0, 0]"/>
7913 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YgerdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7914 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Yge7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7915 </edges>
7916 <edges xmi:type="notation:Edge" xmi:id="_l6YgfLdnEeau1vMV3Bsx4w" type="4001" element="_l6ZujbdnEeau1vMV3Bsx4w" source="_l6XR-rdnEeau1vMV3Bsx4w" target="_l6XR87dnEeau1vMV3Bsx4w">
7917 <children xmi:type="notation:Node" xmi:id="_l6YgfbdnEeau1vMV3Bsx4w" type="6001">
7918 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgfrdnEeau1vMV3Bsx4w" y="-10"/>
7919 </children>
7920 <children xmi:type="notation:Node" xmi:id="_l6Ygf7dnEeau1vMV3Bsx4w" type="6002">
7921 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YggLdnEeau1vMV3Bsx4w" y="10"/>
7922 </children>
7923 <children xmi:type="notation:Node" xmi:id="_l6YggbdnEeau1vMV3Bsx4w" type="6003">
7924 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YggrdnEeau1vMV3Bsx4w" y="10"/>
7925 </children>
7926 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6Ygg7dnEeau1vMV3Bsx4w" routing="Tree"/>
7927 <styles xmi:type="notation:FontStyle" xmi:id="_l6YghLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7928 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YghbdnEeau1vMV3Bsx4w" points="[0, 0, 4, 60]$[-4, -60, 0, 0]"/>
7929 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YghrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7930 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Ygh7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7931 </edges>
7932 <edges xmi:type="notation:Edge" xmi:id="_l6YgiLdnEeau1vMV3Bsx4w" type="4001" element="_l6ZukbdnEeau1vMV3Bsx4w" source="_l6XSBLdnEeau1vMV3Bsx4w" target="_l6XR87dnEeau1vMV3Bsx4w">
7933 <children xmi:type="notation:Node" xmi:id="_l6YgibdnEeau1vMV3Bsx4w" type="6001">
7934 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgirdnEeau1vMV3Bsx4w" x="-75" y="-10"/>
7935 </children>
7936 <children xmi:type="notation:Node" xmi:id="_l6Ygi7dnEeau1vMV3Bsx4w" type="6002">
7937 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgjLdnEeau1vMV3Bsx4w" x="-14" y="4"/>
7938 </children>
7939 <children xmi:type="notation:Node" xmi:id="_l6YgjbdnEeau1vMV3Bsx4w" type="6003">
7940 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgjrdnEeau1vMV3Bsx4w" x="-28" y="10"/>
7941 </children>
7942 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6Ygj7dnEeau1vMV3Bsx4w" routing="Tree"/>
7943 <styles xmi:type="notation:FontStyle" xmi:id="_l6YgkLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7944 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YgkbdnEeau1vMV3Bsx4w" points="[0, 0, -383, 60]$[383, -60, 0, 0]"/>
7945 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YgkrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7946 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Ygk7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7947 </edges>
7948 <edges xmi:type="notation:Edge" xmi:id="_l6YglLdnEeau1vMV3Bsx4w" type="4001" element="_l6ZulbdnEeau1vMV3Bsx4w" source="_l6XSDrdnEeau1vMV3Bsx4w" target="_l6XR87dnEeau1vMV3Bsx4w">
7949 <children xmi:type="notation:Node" xmi:id="_l6YglbdnEeau1vMV3Bsx4w" type="6001">
7950 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YglrdnEeau1vMV3Bsx4w" y="-10"/>
7951 </children>
7952 <children xmi:type="notation:Node" xmi:id="_l6Ygl7dnEeau1vMV3Bsx4w" type="6002">
7953 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgmLdnEeau1vMV3Bsx4w" y="10"/>
7954 </children>
7955 <children xmi:type="notation:Node" xmi:id="_l6YgmbdnEeau1vMV3Bsx4w" type="6003">
7956 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgmrdnEeau1vMV3Bsx4w" y="10"/>
7957 </children>
7958 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6Ygm7dnEeau1vMV3Bsx4w" routing="Tree"/>
7959 <styles xmi:type="notation:FontStyle" xmi:id="_l6YgnLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7960 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YgnbdnEeau1vMV3Bsx4w" points="[0, 0, -181, 60]$[181, -60, 0, 0]"/>
7961 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YgnrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7962 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Ygn7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7963 </edges>
7964 <edges xmi:type="notation:Edge" xmi:id="_l6YgrLdnEeau1vMV3Bsx4w" type="4001" element="_l6ZunbdnEeau1vMV3Bsx4w" source="_l6XSH7dnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
7965 <children xmi:type="notation:Node" xmi:id="_l6YgrbdnEeau1vMV3Bsx4w" type="6001">
7966 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgrrdnEeau1vMV3Bsx4w" y="-10"/>
7967 </children>
7968 <children xmi:type="notation:Node" xmi:id="_l6Ygr7dnEeau1vMV3Bsx4w" type="6002">
7969 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgsLdnEeau1vMV3Bsx4w" y="10"/>
7970 </children>
7971 <children xmi:type="notation:Node" xmi:id="_l6YgsbdnEeau1vMV3Bsx4w" type="6003">
7972 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgsrdnEeau1vMV3Bsx4w" y="10"/>
7973 </children>
7974 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6Ygs7dnEeau1vMV3Bsx4w" routing="Tree"/>
7975 <styles xmi:type="notation:FontStyle" xmi:id="_l6YgtLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7976 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YgtbdnEeau1vMV3Bsx4w" points="[0, 0, -1266, 60]$[1266, -60, 0, 0]"/>
7977 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YgtrdnEeau1vMV3Bsx4w" id="(0.49586776859504134,0.0)"/>
7978 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Ygt7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
7979 </edges>
7980 <edges xmi:type="notation:Edge" xmi:id="_l6YguLdnEeau1vMV3Bsx4w" type="4001" element="_l6ZuobdnEeau1vMV3Bsx4w" source="_l6XSJrdnEeau1vMV3Bsx4w" target="_l6XSH7dnEeau1vMV3Bsx4w">
7981 <children xmi:type="notation:Node" xmi:id="_l6YgubdnEeau1vMV3Bsx4w" type="6001">
7982 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgurdnEeau1vMV3Bsx4w" y="-10"/>
7983 </children>
7984 <children xmi:type="notation:Node" xmi:id="_l6Ygu7dnEeau1vMV3Bsx4w" type="6002">
7985 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgvLdnEeau1vMV3Bsx4w" y="10"/>
7986 </children>
7987 <children xmi:type="notation:Node" xmi:id="_l6YgvbdnEeau1vMV3Bsx4w" type="6003">
7988 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgvrdnEeau1vMV3Bsx4w" y="10"/>
7989 </children>
7990 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6Ygv7dnEeau1vMV3Bsx4w" routing="Tree"/>
7991 <styles xmi:type="notation:FontStyle" xmi:id="_l6YgwLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
7992 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YgwbdnEeau1vMV3Bsx4w" points="[0, 0, 4, 60]$[-4, -60, 0, 0]"/>
7993 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YgwrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
7994 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Ygw7dnEeau1vMV3Bsx4w" id="(0.49586776859504134,1.0)"/>
7995 </edges>
7996 <edges xmi:type="notation:Edge" xmi:id="_l6YgxLdnEeau1vMV3Bsx4w" type="4001" element="_l6ZupbdnEeau1vMV3Bsx4w" source="_l6XSLbdnEeau1vMV3Bsx4w" target="_l6XSH7dnEeau1vMV3Bsx4w">
7997 <children xmi:type="notation:Node" xmi:id="_l6YgxbdnEeau1vMV3Bsx4w" type="6001">
7998 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgxrdnEeau1vMV3Bsx4w" y="-10"/>
7999 </children>
8000 <children xmi:type="notation:Node" xmi:id="_l6Ygx7dnEeau1vMV3Bsx4w" type="6002">
8001 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgyLdnEeau1vMV3Bsx4w" y="10"/>
8002 </children>
8003 <children xmi:type="notation:Node" xmi:id="_l6YgybdnEeau1vMV3Bsx4w" type="6003">
8004 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YgyrdnEeau1vMV3Bsx4w" y="10"/>
8005 </children>
8006 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6Ygy7dnEeau1vMV3Bsx4w" routing="Tree"/>
8007 <styles xmi:type="notation:FontStyle" xmi:id="_l6YgzLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8008 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YgzbdnEeau1vMV3Bsx4w" points="[0, 0, 184, 60]$[-184, -60, 0, 0]"/>
8009 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YgzrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8010 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Ygz7dnEeau1vMV3Bsx4w" id="(0.49586776859504134,1.0)"/>
8011 </edges>
8012 <edges xmi:type="notation:Edge" xmi:id="_l6Yg0LdnEeau1vMV3Bsx4w" type="4001" element="_l6ZuqbdnEeau1vMV3Bsx4w" source="_l6XSNLdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
8013 <children xmi:type="notation:Node" xmi:id="_l6Yg0bdnEeau1vMV3Bsx4w" type="6001">
8014 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6Yg0rdnEeau1vMV3Bsx4w" y="-10"/>
8015 </children>
8016 <children xmi:type="notation:Node" xmi:id="_l6Yg07dnEeau1vMV3Bsx4w" type="6002">
8017 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6Yg1LdnEeau1vMV3Bsx4w" y="10"/>
8018 </children>
8019 <children xmi:type="notation:Node" xmi:id="_l6Yg1bdnEeau1vMV3Bsx4w" type="6003">
8020 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6Yg1rdnEeau1vMV3Bsx4w" y="10"/>
8021 </children>
8022 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6Yg17dnEeau1vMV3Bsx4w" routing="Tree"/>
8023 <styles xmi:type="notation:FontStyle" xmi:id="_l6Yg2LdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8024 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6Yg2bdnEeau1vMV3Bsx4w" points="[0, 0, -361, 60]$[361, -60, 0, 0]"/>
8025 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Yg2rdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8026 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Yg27dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8027 </edges>
8028 <edges xmi:type="notation:Edge" xmi:id="_l6Yg3LdnEeau1vMV3Bsx4w" type="4001" element="_l6ZurbdnEeau1vMV3Bsx4w" source="_l6XSO7dnEeau1vMV3Bsx4w" target="_l6XSNLdnEeau1vMV3Bsx4w">
8029 <children xmi:type="notation:Node" xmi:id="_l6Yg3bdnEeau1vMV3Bsx4w" type="6001">
8030 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6Yg3rdnEeau1vMV3Bsx4w" y="-10"/>
8031 </children>
8032 <children xmi:type="notation:Node" xmi:id="_l6Yg37dnEeau1vMV3Bsx4w" type="6002">
8033 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6Yg4LdnEeau1vMV3Bsx4w" y="10"/>
8034 </children>
8035 <children xmi:type="notation:Node" xmi:id="_l6Yg4bdnEeau1vMV3Bsx4w" type="6003">
8036 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6Yg4rdnEeau1vMV3Bsx4w" y="10"/>
8037 </children>
8038 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6Yg47dnEeau1vMV3Bsx4w" routing="Tree"/>
8039 <styles xmi:type="notation:FontStyle" xmi:id="_l6Yg5LdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8040 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6Yg5bdnEeau1vMV3Bsx4w" points="[0, 0, -361, 60]$[361, -60, 0, 0]"/>
8041 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Yg5rdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8042 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Yg57dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8043 </edges>
8044 <edges xmi:type="notation:Edge" xmi:id="_l6Yg6LdnEeau1vMV3Bsx4w" type="4001" element="_l6ZusbdnEeau1vMV3Bsx4w" source="_l6XSQrdnEeau1vMV3Bsx4w" target="_l6XSNLdnEeau1vMV3Bsx4w">
8045 <children xmi:type="notation:Node" xmi:id="_l6Yg6bdnEeau1vMV3Bsx4w" type="6001">
8046 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6Yg6rdnEeau1vMV3Bsx4w" y="-10"/>
8047 </children>
8048 <children xmi:type="notation:Node" xmi:id="_l6Yg67dnEeau1vMV3Bsx4w" type="6002">
8049 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6Yg7LdnEeau1vMV3Bsx4w" y="10"/>
8050 </children>
8051 <children xmi:type="notation:Node" xmi:id="_l6Yg7bdnEeau1vMV3Bsx4w" type="6003">
8052 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6Yg7rdnEeau1vMV3Bsx4w" y="10"/>
8053 </children>
8054 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6Yg77dnEeau1vMV3Bsx4w" routing="Tree"/>
8055 <styles xmi:type="notation:FontStyle" xmi:id="_l6Yg8LdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8056 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6Yg8bdnEeau1vMV3Bsx4w" points="[0, 0, -181, 60]$[181, -60, 0, 0]"/>
8057 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Yg8rdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8058 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Yg87dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8059 </edges>
8060 <edges xmi:type="notation:Edge" xmi:id="_l6Yg9LdnEeau1vMV3Bsx4w" type="4001" element="_l6ZutbdnEeau1vMV3Bsx4w" source="_l6XSSbdnEeau1vMV3Bsx4w" target="_l6XSNLdnEeau1vMV3Bsx4w">
8061 <children xmi:type="notation:Node" xmi:id="_l6Yg9bdnEeau1vMV3Bsx4w" type="6001">
8062 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6Yg9rdnEeau1vMV3Bsx4w" y="-10"/>
8063 </children>
8064 <children xmi:type="notation:Node" xmi:id="_l6Yg97dnEeau1vMV3Bsx4w" type="6002">
8065 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6Yg-LdnEeau1vMV3Bsx4w" y="10"/>
8066 </children>
8067 <children xmi:type="notation:Node" xmi:id="_l6Yg-bdnEeau1vMV3Bsx4w" type="6003">
8068 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6Yg-rdnEeau1vMV3Bsx4w" y="10"/>
8069 </children>
8070 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6Yg-7dnEeau1vMV3Bsx4w" routing="Tree"/>
8071 <styles xmi:type="notation:FontStyle" xmi:id="_l6Yg_LdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8072 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6Yg_bdnEeau1vMV3Bsx4w" points="[0, 0, 180, 60]$[-180, -60, 0, 0]"/>
8073 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Yg_rdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8074 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Yg_7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8075 </edges>
8076 <edges xmi:type="notation:Edge" xmi:id="_l6YhALdnEeau1vMV3Bsx4w" type="4001" element="_l6ZuubdnEeau1vMV3Bsx4w" source="_l6XSULdnEeau1vMV3Bsx4w" target="_l6XSNLdnEeau1vMV3Bsx4w">
8077 <children xmi:type="notation:Node" xmi:id="_l6YhAbdnEeau1vMV3Bsx4w" type="6001">
8078 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhArdnEeau1vMV3Bsx4w" y="-10"/>
8079 </children>
8080 <children xmi:type="notation:Node" xmi:id="_l6YhA7dnEeau1vMV3Bsx4w" type="6002">
8081 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhBLdnEeau1vMV3Bsx4w" y="10"/>
8082 </children>
8083 <children xmi:type="notation:Node" xmi:id="_l6YhBbdnEeau1vMV3Bsx4w" type="6003">
8084 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhBrdnEeau1vMV3Bsx4w" y="10"/>
8085 </children>
8086 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6YhB7dnEeau1vMV3Bsx4w" routing="Tree"/>
8087 <styles xmi:type="notation:FontStyle" xmi:id="_l6YhCLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8088 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YhCbdnEeau1vMV3Bsx4w" points="[0, 0, 542, 60]$[-542, -60, 0, 0]"/>
8089 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhCrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8090 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhC7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8091 </edges>
8092 <edges xmi:type="notation:Edge" xmi:id="_l6YhDLdnEeau1vMV3Bsx4w" type="4001" element="_l6ZuvbdnEeau1vMV3Bsx4w" source="_l6XSV7dnEeau1vMV3Bsx4w" target="_l6XSNLdnEeau1vMV3Bsx4w">
8093 <children xmi:type="notation:Node" xmi:id="_l6YhDbdnEeau1vMV3Bsx4w" type="6001">
8094 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhDrdnEeau1vMV3Bsx4w" y="-10"/>
8095 </children>
8096 <children xmi:type="notation:Node" xmi:id="_l6YhD7dnEeau1vMV3Bsx4w" type="6002">
8097 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhELdnEeau1vMV3Bsx4w" y="10"/>
8098 </children>
8099 <children xmi:type="notation:Node" xmi:id="_l6YhEbdnEeau1vMV3Bsx4w" type="6003">
8100 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhErdnEeau1vMV3Bsx4w" y="10"/>
8101 </children>
8102 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6YhE7dnEeau1vMV3Bsx4w" routing="Tree"/>
8103 <styles xmi:type="notation:FontStyle" xmi:id="_l6YhFLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8104 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YhFbdnEeau1vMV3Bsx4w" points="[0, 0, 723, 60]$[-723, -60, 0, 0]"/>
8105 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhFrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8106 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhF7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8107 </edges>
8108 <edges xmi:type="notation:Edge" xmi:id="_l6YhGLdnEeau1vMV3Bsx4w" type="4001" element="_l6ZuwbdnEeau1vMV3Bsx4w" source="_l6XSXrdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
8109 <children xmi:type="notation:Node" xmi:id="_l6YhGbdnEeau1vMV3Bsx4w" type="6001">
8110 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhGrdnEeau1vMV3Bsx4w" y="-10"/>
8111 </children>
8112 <children xmi:type="notation:Node" xmi:id="_l6YhG7dnEeau1vMV3Bsx4w" type="6002">
8113 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhHLdnEeau1vMV3Bsx4w" y="10"/>
8114 </children>
8115 <children xmi:type="notation:Node" xmi:id="_l6YhHbdnEeau1vMV3Bsx4w" type="6003">
8116 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhHrdnEeau1vMV3Bsx4w" y="10"/>
8117 </children>
8118 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6YhH7dnEeau1vMV3Bsx4w" routing="Tree"/>
8119 <styles xmi:type="notation:FontStyle" xmi:id="_l6YhILdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8120 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YhIbdnEeau1vMV3Bsx4w" points="[0, 0, 1267, 60]$[-1267, -60, 0, 0]"/>
8121 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhIrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8122 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhI7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8123 </edges>
8124 <edges xmi:type="notation:Edge" xmi:id="_l6YhJLdnEeau1vMV3Bsx4w" type="4001" element="_l6ZuxbdnEeau1vMV3Bsx4w" source="_l6XSZbdnEeau1vMV3Bsx4w" target="_l6XSXrdnEeau1vMV3Bsx4w">
8125 <children xmi:type="notation:Node" xmi:id="_l6YhJbdnEeau1vMV3Bsx4w" type="6001">
8126 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhJrdnEeau1vMV3Bsx4w" y="-10"/>
8127 </children>
8128 <children xmi:type="notation:Node" xmi:id="_l6YhJ7dnEeau1vMV3Bsx4w" type="6002">
8129 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhKLdnEeau1vMV3Bsx4w" y="10"/>
8130 </children>
8131 <children xmi:type="notation:Node" xmi:id="_l6YhKbdnEeau1vMV3Bsx4w" type="6003">
8132 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhKrdnEeau1vMV3Bsx4w" y="10"/>
8133 </children>
8134 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6YhK7dnEeau1vMV3Bsx4w" routing="Tree"/>
8135 <styles xmi:type="notation:FontStyle" xmi:id="_l6YhLLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8136 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YhLbdnEeau1vMV3Bsx4w" points="[0, 0, 180, 60]$[-180, -60, 0, 0]"/>
8137 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhLrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8138 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhL7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8139 </edges>
8140 <edges xmi:type="notation:Edge" xmi:id="_l6YhMLdnEeau1vMV3Bsx4w" type="4001" element="_l6ZuybdnEeau1vMV3Bsx4w" source="_l6XSbLdnEeau1vMV3Bsx4w" target="_l6XSXrdnEeau1vMV3Bsx4w">
8141 <children xmi:type="notation:Node" xmi:id="_l6YhMbdnEeau1vMV3Bsx4w" type="6001">
8142 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhMrdnEeau1vMV3Bsx4w" y="-10"/>
8143 </children>
8144 <children xmi:type="notation:Node" xmi:id="_l6YhM7dnEeau1vMV3Bsx4w" type="6002">
8145 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhNLdnEeau1vMV3Bsx4w" y="10"/>
8146 </children>
8147 <children xmi:type="notation:Node" xmi:id="_l6YhNbdnEeau1vMV3Bsx4w" type="6003">
8148 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhNrdnEeau1vMV3Bsx4w" y="10"/>
8149 </children>
8150 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6YhN7dnEeau1vMV3Bsx4w" routing="Tree"/>
8151 <styles xmi:type="notation:FontStyle" xmi:id="_l6YhOLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8152 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YhObdnEeau1vMV3Bsx4w" points="[0, 0, -543, 60]$[543, -60, 0, 0]"/>
8153 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhOrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8154 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhO7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8155 </edges>
8156 <edges xmi:type="notation:Edge" xmi:id="_l6YhPLdnEeau1vMV3Bsx4w" type="4001" element="_l6ZuzbdnEeau1vMV3Bsx4w" source="_l6XSc7dnEeau1vMV3Bsx4w" target="_l6XSXrdnEeau1vMV3Bsx4w">
8157 <children xmi:type="notation:Node" xmi:id="_l6YhPbdnEeau1vMV3Bsx4w" type="6001">
8158 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhPrdnEeau1vMV3Bsx4w" y="-10"/>
8159 </children>
8160 <children xmi:type="notation:Node" xmi:id="_l6YhP7dnEeau1vMV3Bsx4w" type="6002">
8161 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhQLdnEeau1vMV3Bsx4w" y="10"/>
8162 </children>
8163 <children xmi:type="notation:Node" xmi:id="_l6YhQbdnEeau1vMV3Bsx4w" type="6003">
8164 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhQrdnEeau1vMV3Bsx4w" y="10"/>
8165 </children>
8166 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6YhQ7dnEeau1vMV3Bsx4w" routing="Tree"/>
8167 <styles xmi:type="notation:FontStyle" xmi:id="_l6YhRLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8168 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YhRbdnEeau1vMV3Bsx4w" points="[0, 0, 904, 60]$[-904, -60, 0, 0]"/>
8169 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhRrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8170 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhR7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8171 </edges>
8172 <edges xmi:type="notation:Edge" xmi:id="_l6YhSLdnEeau1vMV3Bsx4w" type="4001" element="_l6Zu0bdnEeau1vMV3Bsx4w" source="_l6X4lrdnEeau1vMV3Bsx4w" target="_l6XSXrdnEeau1vMV3Bsx4w">
8173 <children xmi:type="notation:Node" xmi:id="_l6YhSbdnEeau1vMV3Bsx4w" type="6001">
8174 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhSrdnEeau1vMV3Bsx4w" y="-10"/>
8175 </children>
8176 <children xmi:type="notation:Node" xmi:id="_l6YhS7dnEeau1vMV3Bsx4w" type="6002">
8177 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhTLdnEeau1vMV3Bsx4w" y="10"/>
8178 </children>
8179 <children xmi:type="notation:Node" xmi:id="_l6YhTbdnEeau1vMV3Bsx4w" type="6003">
8180 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhTrdnEeau1vMV3Bsx4w" y="10"/>
8181 </children>
8182 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6YhT7dnEeau1vMV3Bsx4w" routing="Tree"/>
8183 <styles xmi:type="notation:FontStyle" xmi:id="_l6YhULdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8184 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YhUbdnEeau1vMV3Bsx4w" points="[0, 0, 542, 60]$[-542, -60, 0, 0]"/>
8185 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhUrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8186 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhU7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8187 </edges>
8188 <edges xmi:type="notation:Edge" xmi:id="_l6YhVLdnEeau1vMV3Bsx4w" type="4001" element="_l6Zu1bdnEeau1vMV3Bsx4w" source="_l6X4nbdnEeau1vMV3Bsx4w" target="_l6XSXrdnEeau1vMV3Bsx4w">
8189 <children xmi:type="notation:Node" xmi:id="_l6YhVbdnEeau1vMV3Bsx4w" type="6001">
8190 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhVrdnEeau1vMV3Bsx4w" x="55" y="-5"/>
8191 </children>
8192 <children xmi:type="notation:Node" xmi:id="_l6YhV7dnEeau1vMV3Bsx4w" type="6002">
8193 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhWLdnEeau1vMV3Bsx4w" x="-7" y="16"/>
8194 </children>
8195 <children xmi:type="notation:Node" xmi:id="_l6YhWbdnEeau1vMV3Bsx4w" type="6003">
8196 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhWrdnEeau1vMV3Bsx4w" x="21" y="-3"/>
8197 </children>
8198 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6YhW7dnEeau1vMV3Bsx4w" routing="Tree"/>
8199 <styles xmi:type="notation:FontStyle" xmi:id="_l6YhXLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8200 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YhXbdnEeau1vMV3Bsx4w" points="[0, 0, -2169, 60]$[2169, -60, 0, 0]"/>
8201 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhXrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8202 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhX7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8203 </edges>
8204 <edges xmi:type="notation:Edge" xmi:id="_l6YhYLdnEeau1vMV3Bsx4w" type="4001" element="_l6Zu2bdnEeau1vMV3Bsx4w" source="_l6X4pLdnEeau1vMV3Bsx4w" target="_l6XSXrdnEeau1vMV3Bsx4w">
8205 <children xmi:type="notation:Node" xmi:id="_l6YhYbdnEeau1vMV3Bsx4w" type="6001">
8206 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhYrdnEeau1vMV3Bsx4w" y="-10"/>
8207 </children>
8208 <children xmi:type="notation:Node" xmi:id="_l6YhY7dnEeau1vMV3Bsx4w" type="6002">
8209 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhZLdnEeau1vMV3Bsx4w" y="10"/>
8210 </children>
8211 <children xmi:type="notation:Node" xmi:id="_l6YhZbdnEeau1vMV3Bsx4w" type="6003">
8212 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhZrdnEeau1vMV3Bsx4w" y="10"/>
8213 </children>
8214 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6YhZ7dnEeau1vMV3Bsx4w" routing="Tree"/>
8215 <styles xmi:type="notation:FontStyle" xmi:id="_l6YhaLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8216 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YhabdnEeau1vMV3Bsx4w" points="[0, 0, -181, 60]$[181, -60, 0, 0]"/>
8217 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhardnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8218 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Yha7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8219 </edges>
8220 <edges xmi:type="notation:Edge" xmi:id="_l6YhbLdnEeau1vMV3Bsx4w" type="4001" element="_l6Zu3bdnEeau1vMV3Bsx4w" source="_l6X4q7dnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
8221 <children xmi:type="notation:Node" xmi:id="_l6YhbbdnEeau1vMV3Bsx4w" type="6001">
8222 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhbrdnEeau1vMV3Bsx4w" y="-10"/>
8223 </children>
8224 <children xmi:type="notation:Node" xmi:id="_l6Yhb7dnEeau1vMV3Bsx4w" type="6002">
8225 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhcLdnEeau1vMV3Bsx4w" y="10"/>
8226 </children>
8227 <children xmi:type="notation:Node" xmi:id="_l6YhcbdnEeau1vMV3Bsx4w" type="6003">
8228 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhcrdnEeau1vMV3Bsx4w" y="10"/>
8229 </children>
8230 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6Yhc7dnEeau1vMV3Bsx4w" routing="Tree"/>
8231 <styles xmi:type="notation:FontStyle" xmi:id="_l6YhdLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8232 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YhdbdnEeau1vMV3Bsx4w" points="[0, 0, -1626, 60]$[1626, -60, 0, 0]"/>
8233 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhdrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8234 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Yhd7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8235 </edges>
8236 <edges xmi:type="notation:Edge" xmi:id="_l6YheLdnEeau1vMV3Bsx4w" type="4001" element="_l6Zu4bdnEeau1vMV3Bsx4w" source="_l6X4srdnEeau1vMV3Bsx4w" target="_l6X4q7dnEeau1vMV3Bsx4w">
8237 <children xmi:type="notation:Node" xmi:id="_l6YhebdnEeau1vMV3Bsx4w" type="6001">
8238 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YherdnEeau1vMV3Bsx4w" y="-10"/>
8239 </children>
8240 <children xmi:type="notation:Node" xmi:id="_l6Yhe7dnEeau1vMV3Bsx4w" type="6002">
8241 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhfLdnEeau1vMV3Bsx4w" y="10"/>
8242 </children>
8243 <children xmi:type="notation:Node" xmi:id="_l6YhfbdnEeau1vMV3Bsx4w" type="6003">
8244 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhfrdnEeau1vMV3Bsx4w" y="10"/>
8245 </children>
8246 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6Yhf7dnEeau1vMV3Bsx4w" routing="Tree"/>
8247 <styles xmi:type="notation:FontStyle" xmi:id="_l6YhgLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8248 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YhgbdnEeau1vMV3Bsx4w" points="[0, 0, -940, 60]$[940, -60, 0, 0]"/>
8249 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhgrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8250 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6Yhg7dnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8251 </edges>
8252 <edges xmi:type="notation:Edge" xmi:id="_l6YhhLdnEeau1vMV3Bsx4w" type="4001" element="_l6Zu5bdnEeau1vMV3Bsx4w" source="_l6X4ubdnEeau1vMV3Bsx4w" target="_l6X4q7dnEeau1vMV3Bsx4w">
8253 <children xmi:type="notation:Node" xmi:id="_l6YhhbdnEeau1vMV3Bsx4w" type="6001">
8254 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhhrdnEeau1vMV3Bsx4w" y="-10"/>
8255 </children>
8256 <children xmi:type="notation:Node" xmi:id="_l6Yhh7dnEeau1vMV3Bsx4w" type="6002">
8257 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhiLdnEeau1vMV3Bsx4w" y="10"/>
8258 </children>
8259 <children xmi:type="notation:Node" xmi:id="_l6YhibdnEeau1vMV3Bsx4w" type="6003">
8260 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6YhirdnEeau1vMV3Bsx4w" y="10"/>
8261 </children>
8262 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6Yhi7dnEeau1vMV3Bsx4w" routing="Tree"/>
8263 <styles xmi:type="notation:FontStyle" xmi:id="_l6YhjLdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8264 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6YhjbdnEeau1vMV3Bsx4w" points="[0, 0, -760, 60]$[760, -60, 0, 0]"/>
8265 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6YhjrdnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8266 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6ZGsLdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8267 </edges>
8268 <edges xmi:type="notation:Edge" xmi:id="_l6ZGsbdnEeau1vMV3Bsx4w" type="4001" element="_l6Zu6bdnEeau1vMV3Bsx4w" source="_l6X4wLdnEeau1vMV3Bsx4w" target="_l6X4q7dnEeau1vMV3Bsx4w">
8269 <children xmi:type="notation:Node" xmi:id="_l6ZGsrdnEeau1vMV3Bsx4w" type="6001">
8270 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZGs7dnEeau1vMV3Bsx4w" y="-10"/>
8271 </children>
8272 <children xmi:type="notation:Node" xmi:id="_l6ZGtLdnEeau1vMV3Bsx4w" type="6002">
8273 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZGtbdnEeau1vMV3Bsx4w" y="10"/>
8274 </children>
8275 <children xmi:type="notation:Node" xmi:id="_l6ZGtrdnEeau1vMV3Bsx4w" type="6003">
8276 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZGt7dnEeau1vMV3Bsx4w" y="10"/>
8277 </children>
8278 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6ZGuLdnEeau1vMV3Bsx4w" routing="Tree"/>
8279 <styles xmi:type="notation:FontStyle" xmi:id="_l6ZGubdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8280 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6ZGurdnEeau1vMV3Bsx4w" points="[0, 0, -580, 60]$[580, -60, 0, 0]"/>
8281 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6ZGu7dnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8282 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6ZGvLdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8283 </edges>
8284 <edges xmi:type="notation:Edge" xmi:id="_l6ZGvbdnEeau1vMV3Bsx4w" type="4001" element="_l6Zu7bdnEeau1vMV3Bsx4w" source="_l6X4x7dnEeau1vMV3Bsx4w" target="_l6X4q7dnEeau1vMV3Bsx4w">
8285 <children xmi:type="notation:Node" xmi:id="_l6ZGvrdnEeau1vMV3Bsx4w" type="6001">
8286 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZGv7dnEeau1vMV3Bsx4w" y="-10"/>
8287 </children>
8288 <children xmi:type="notation:Node" xmi:id="_l6ZGwLdnEeau1vMV3Bsx4w" type="6002">
8289 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZGwbdnEeau1vMV3Bsx4w" y="10"/>
8290 </children>
8291 <children xmi:type="notation:Node" xmi:id="_l6ZGwrdnEeau1vMV3Bsx4w" type="6003">
8292 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZGw7dnEeau1vMV3Bsx4w" y="10"/>
8293 </children>
8294 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6ZGxLdnEeau1vMV3Bsx4w" routing="Tree"/>
8295 <styles xmi:type="notation:FontStyle" xmi:id="_l6ZGxbdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8296 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6ZGxrdnEeau1vMV3Bsx4w" points="[0, 0, -1120, 60]$[1120, -60, 0, 0]"/>
8297 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6ZGx7dnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8298 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6ZGyLdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8299 </edges>
8300 <edges xmi:type="notation:Edge" xmi:id="_l6ZGybdnEeau1vMV3Bsx4w" type="4001" element="_l6Zu8bdnEeau1vMV3Bsx4w" source="_l6X4zrdnEeau1vMV3Bsx4w" target="_l6X4q7dnEeau1vMV3Bsx4w">
8301 <children xmi:type="notation:Node" xmi:id="_l6ZGyrdnEeau1vMV3Bsx4w" type="6001">
8302 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZGy7dnEeau1vMV3Bsx4w" y="-10"/>
8303 </children>
8304 <children xmi:type="notation:Node" xmi:id="_l6ZGzLdnEeau1vMV3Bsx4w" type="6002">
8305 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZGzbdnEeau1vMV3Bsx4w" y="10"/>
8306 </children>
8307 <children xmi:type="notation:Node" xmi:id="_l6ZGzrdnEeau1vMV3Bsx4w" type="6003">
8308 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZGz7dnEeau1vMV3Bsx4w" y="10"/>
8309 </children>
8310 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6ZG0LdnEeau1vMV3Bsx4w" routing="Tree"/>
8311 <styles xmi:type="notation:FontStyle" xmi:id="_l6ZG0bdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8312 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6ZG0rdnEeau1vMV3Bsx4w" points="[0, 0, -400, 60]$[400, -60, 0, 0]"/>
8313 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6ZG07dnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8314 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6ZG1LdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8315 </edges>
8316 <edges xmi:type="notation:Edge" xmi:id="_l6ZHNbdnEeau1vMV3Bsx4w" type="4001" element="_l6ZvHbdnEeau1vMV3Bsx4w" source="_l6X5ELdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
8317 <children xmi:type="notation:Node" xmi:id="_l6ZHNrdnEeau1vMV3Bsx4w" type="6001">
8318 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZHN7dnEeau1vMV3Bsx4w" y="-10"/>
8319 </children>
8320 <children xmi:type="notation:Node" xmi:id="_l6ZHOLdnEeau1vMV3Bsx4w" type="6002">
8321 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZHObdnEeau1vMV3Bsx4w" y="10"/>
8322 </children>
8323 <children xmi:type="notation:Node" xmi:id="_l6ZHOrdnEeau1vMV3Bsx4w" type="6003">
8324 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZHO7dnEeau1vMV3Bsx4w" y="10"/>
8325 </children>
8326 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6ZHPLdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
8327 <styles xmi:type="notation:FontStyle" xmi:id="_l6ZHPbdnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
8328 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6ZHPrdnEeau1vMV3Bsx4w" points="[0, 0, -1986, 60]$[1986, -60, 0, 0]"/>
8329 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6ZHP7dnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8330 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6ZHQLdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8331 </edges>
8332 <edges xmi:type="notation:Edge" xmi:id="_l6ZHQbdnEeau1vMV3Bsx4w" type="4001" element="_l6ZvIbdnEeau1vMV3Bsx4w" source="_l6X5ELdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
8333 <children xmi:type="notation:Node" xmi:id="_l6ZHQrdnEeau1vMV3Bsx4w" type="6001">
8334 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZHQ7dnEeau1vMV3Bsx4w" y="-10"/>
8335 </children>
8336 <children xmi:type="notation:Node" xmi:id="_l6ZHRLdnEeau1vMV3Bsx4w" type="6002">
8337 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZHRbdnEeau1vMV3Bsx4w" y="10"/>
8338 </children>
8339 <children xmi:type="notation:Node" xmi:id="_l6ZHRrdnEeau1vMV3Bsx4w" type="6003">
8340 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZHR7dnEeau1vMV3Bsx4w" y="10"/>
8341 </children>
8342 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6ZHSLdnEeau1vMV3Bsx4w" routing="Tree"/>
8343 <styles xmi:type="notation:FontStyle" xmi:id="_l6ZHSbdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8344 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6ZHSrdnEeau1vMV3Bsx4w" points="[0, 0, -1986, 60]$[1986, -60, 0, 0]"/>
8345 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6ZHS7dnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8346 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6ZHTLdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8347 </edges>
8348 <edges xmi:type="notation:Edge" xmi:id="_l6ZHTbdnEeau1vMV3Bsx4w" type="4001" element="_l6ZvJbdnEeau1vMV3Bsx4w" source="_l6X5ELdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
8349 <children xmi:type="notation:Node" xmi:id="_l6ZHTrdnEeau1vMV3Bsx4w" type="6001">
8350 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZHT7dnEeau1vMV3Bsx4w" y="-10"/>
8351 </children>
8352 <children xmi:type="notation:Node" xmi:id="_l6ZHULdnEeau1vMV3Bsx4w" type="6002">
8353 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZHUbdnEeau1vMV3Bsx4w" y="10"/>
8354 </children>
8355 <children xmi:type="notation:Node" xmi:id="_l6ZHUrdnEeau1vMV3Bsx4w" type="6003">
8356 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZHU7dnEeau1vMV3Bsx4w" y="10"/>
8357 </children>
8358 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6ZHVLdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
8359 <styles xmi:type="notation:FontStyle" xmi:id="_l6ZHVbdnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
8360 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6ZHVrdnEeau1vMV3Bsx4w" points="[0, 0, -1986, 60]$[1986, -60, 0, 0]"/>
8361 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6ZHV7dnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8362 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6ZHWLdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8363 </edges>
8364 <edges xmi:type="notation:Edge" xmi:id="_l6ZHWbdnEeau1vMV3Bsx4w" type="4001" element="_l6ZvKbdnEeau1vMV3Bsx4w" source="_l6X5ELdnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
8365 <children xmi:type="notation:Node" xmi:id="_l6ZHWrdnEeau1vMV3Bsx4w" type="6001">
8366 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZHW7dnEeau1vMV3Bsx4w" y="-10"/>
8367 </children>
8368 <children xmi:type="notation:Node" xmi:id="_l6ZHXLdnEeau1vMV3Bsx4w" type="6002">
8369 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZHXbdnEeau1vMV3Bsx4w" y="10"/>
8370 </children>
8371 <children xmi:type="notation:Node" xmi:id="_l6ZHXrdnEeau1vMV3Bsx4w" type="6003">
8372 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZHX7dnEeau1vMV3Bsx4w" y="10"/>
8373 </children>
8374 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6ZHYLdnEeau1vMV3Bsx4w" routing="Rectilinear"/>
8375 <styles xmi:type="notation:FontStyle" xmi:id="_l6ZHYbdnEeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
8376 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6ZHYrdnEeau1vMV3Bsx4w" points="[0, 0, -1986, 60]$[1986, -60, 0, 0]"/>
8377 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6ZHY7dnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8378 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6ZHZLdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8379 </edges>
8380 <edges xmi:type="notation:Edge" xmi:id="_l6ZH9bdnEeau1vMV3Bsx4w" type="4001" element="_l6ZvZ7dnEeau1vMV3Bsx4w" source="_l6X5M7dnEeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
8381 <children xmi:type="notation:Node" xmi:id="_l6ZH9rdnEeau1vMV3Bsx4w" type="6001">
8382 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZH97dnEeau1vMV3Bsx4w" y="-10"/>
8383 </children>
8384 <children xmi:type="notation:Node" xmi:id="_l6ZH-LdnEeau1vMV3Bsx4w" type="6002">
8385 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZH-bdnEeau1vMV3Bsx4w" y="10"/>
8386 </children>
8387 <children xmi:type="notation:Node" xmi:id="_l6ZH-rdnEeau1vMV3Bsx4w" type="6003">
8388 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l6ZH-7dnEeau1vMV3Bsx4w" y="10"/>
8389 </children>
8390 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l6ZH_LdnEeau1vMV3Bsx4w" routing="Tree"/>
8391 <styles xmi:type="notation:FontStyle" xmi:id="_l6ZH_bdnEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8392 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l6ZH_rdnEeau1vMV3Bsx4w" points="[0, 0, -2202, 60]$[2202, -60, 0, 0]"/>
8393 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6ZH_7dnEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8394 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l6ZIALdnEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8395 </edges>
8396 <edges xmi:type="notation:Edge" xmi:id="_kRvlgLd1Eeau1vMV3Bsx4w" type="4001" element="_kQZhsLd1Eeau1vMV3Bsx4w" source="_YvbY4Ld1Eeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
8397 <children xmi:type="notation:Node" xmi:id="_kRyBwLd1Eeau1vMV3Bsx4w" type="6001">
8398 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kRyBwbd1Eeau1vMV3Bsx4w" y="-10"/>
8399 </children>
8400 <children xmi:type="notation:Node" xmi:id="_kRzP4Ld1Eeau1vMV3Bsx4w" type="6002">
8401 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kRzP4bd1Eeau1vMV3Bsx4w" x="-10"/>
8402 </children>
8403 <children xmi:type="notation:Node" xmi:id="_kRz28Ld1Eeau1vMV3Bsx4w" type="6003">
8404 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kRz28bd1Eeau1vMV3Bsx4w" x="-10"/>
8405 </children>
8406 <styles xmi:type="notation:ConnectorStyle" xmi:id="_kRvlgbd1Eeau1vMV3Bsx4w" routing="Rectilinear"/>
8407 <styles xmi:type="notation:FontStyle" xmi:id="_kRvlgrd1Eeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
8408 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kRvlg7d1Eeau1vMV3Bsx4w" points="[0, 0, -2418, 60]$[2418, -60, 0, 0]"/>
8409 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kR0eALd1Eeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8410 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kR0eAbd1Eeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8411 </edges>
8412 <edges xmi:type="notation:Edge" xmi:id="_JfzI0Ld8Eeau1vMV3Bsx4w" type="4001" element="_JfkfULd8Eeau1vMV3Bsx4w" source="_l6XSGLdnEeau1vMV3Bsx4w" target="_JfwFgLd8Eeau1vMV3Bsx4w">
8413 <children xmi:type="notation:Node" xmi:id="_Jfzv4Ld8Eeau1vMV3Bsx4w" type="6001">
8414 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jfzv4bd8Eeau1vMV3Bsx4w" x="-4"/>
8415 </children>
8416 <children xmi:type="notation:Node" xmi:id="_Jfzv4rd8Eeau1vMV3Bsx4w" type="6002">
8417 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jfzv47d8Eeau1vMV3Bsx4w" x="21"/>
8418 </children>
8419 <children xmi:type="notation:Node" xmi:id="_Jfzv5Ld8Eeau1vMV3Bsx4w" type="6003">
8420 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jfzv5bd8Eeau1vMV3Bsx4w" x="-20" y="34"/>
8421 </children>
8422 <styles xmi:type="notation:ConnectorStyle" xmi:id="_JfzI0bd8Eeau1vMV3Bsx4w" routing="Rectilinear"/>
8423 <styles xmi:type="notation:FontStyle" xmi:id="_JfzI0rd8Eeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
8424 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JfzI07d8Eeau1vMV3Bsx4w" points="[44, 98, -41, -145]$[44, 145, -41, -98]"/>
8425 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jf4BULd8Eeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8426 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jf4BUbd8Eeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8427 </edges>
8428 <edges xmi:type="notation:Edge" xmi:id="_LuBT4Ld8Eeau1vMV3Bsx4w" type="4001" element="_LsuTYLd8Eeau1vMV3Bsx4w" source="_YvbY4Ld1Eeau1vMV3Bsx4w" target="_JfwFgLd8Eeau1vMV3Bsx4w">
8429 <children xmi:type="notation:Node" xmi:id="_LuB68Ld8Eeau1vMV3Bsx4w" type="6001">
8430 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LuB68bd8Eeau1vMV3Bsx4w" x="9" y="-10"/>
8431 </children>
8432 <children xmi:type="notation:Node" xmi:id="_LuB68rd8Eeau1vMV3Bsx4w" type="6002">
8433 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LuB687d8Eeau1vMV3Bsx4w" x="13" y="10"/>
8434 </children>
8435 <children xmi:type="notation:Node" xmi:id="_LuB69Ld8Eeau1vMV3Bsx4w" type="6003">
8436 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LuB69bd8Eeau1vMV3Bsx4w" x="2"/>
8437 </children>
8438 <styles xmi:type="notation:ConnectorStyle" xmi:id="_LuBT4bd8Eeau1vMV3Bsx4w" routing="Rectilinear"/>
8439 <styles xmi:type="notation:FontStyle" xmi:id="_LuBT4rd8Eeau1vMV3Bsx4w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
8440 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LuBT47d8Eeau1vMV3Bsx4w" points="[-65, 49, 0, -96]$[-65, 96, 0, -49]"/>
8441 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LuB69rd8Eeau1vMV3Bsx4w" id="(1.0,0.5)"/>
8442 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LuB697d8Eeau1vMV3Bsx4w" id="(1.0,0.5)"/>
8443 </edges>
8444 <edges xmi:type="notation:Edge" xmi:id="_Bo3owLqxEeau1vMV3Bsx4w" type="4001" element="_BoaVwLqxEeau1vMV3Bsx4w" source="_YvbY4Ld1Eeau1vMV3Bsx4w" target="_l6XR27dnEeau1vMV3Bsx4w">
8445 <children xmi:type="notation:Node" xmi:id="_Bo4P0LqxEeau1vMV3Bsx4w" type="6001">
8446 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Bo4P0bqxEeau1vMV3Bsx4w" y="-10"/>
8447 </children>
8448 <children xmi:type="notation:Node" xmi:id="_Bo424LqxEeau1vMV3Bsx4w" type="6002">
8449 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Bo424bqxEeau1vMV3Bsx4w" y="10"/>
8450 </children>
8451 <children xmi:type="notation:Node" xmi:id="_Bo424rqxEeau1vMV3Bsx4w" type="6003">
8452 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Bo4247qxEeau1vMV3Bsx4w" y="10"/>
8453 </children>
8454 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Bo3owbqxEeau1vMV3Bsx4w" routing="Tree"/>
8455 <styles xmi:type="notation:FontStyle" xmi:id="_Bo3owrqxEeau1vMV3Bsx4w" fontName="Segoe UI" fontHeight="8"/>
8456 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Bo3ow7qxEeau1vMV3Bsx4w" points="[0, 0, 399, 378]$[-399, -378, 0, 0]"/>
8457 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Bo5d8LqxEeau1vMV3Bsx4w" id="(0.5,0.0)"/>
8458 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Bo5d8bqxEeau1vMV3Bsx4w" id="(0.5,1.0)"/>
8459 </edges>
8460 </data>
8461 </ownedAnnotationEntries>
8462 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIGbdnEeau1vMV3Bsx4w" name="Term" tooltipText="" outgoingEdges="_l6ZufbdnEeau1vMV3Bsx4w" incomingEdges="_l6Zt6bdnEeau1vMV3Bsx4w _l6Zt9bdnEeau1vMV3Bsx4w _l6Zt-bdnEeau1vMV3Bsx4w _l6Zt_bdnEeau1vMV3Bsx4w _l6ZuAbdnEeau1vMV3Bsx4w _l6ZuBbdnEeau1vMV3Bsx4w _l6ZuCbdnEeau1vMV3Bsx4w _l6ZuDbdnEeau1vMV3Bsx4w _l6ZuEbdnEeau1vMV3Bsx4w _l6ZuFbdnEeau1vMV3Bsx4w _l6ZuGbdnEeau1vMV3Bsx4w _l6ZuHbdnEeau1vMV3Bsx4w _l6ZuIbdnEeau1vMV3Bsx4w _l6ZuJbdnEeau1vMV3Bsx4w _l6ZuKbdnEeau1vMV3Bsx4w _l6ZuLbdnEeau1vMV3Bsx4w _l6ZuMbdnEeau1vMV3Bsx4w _l6ZuNbdnEeau1vMV3Bsx4w _l6ZuObdnEeau1vMV3Bsx4w _l6ZuPbdnEeau1vMV3Bsx4w _l6ZuQbdnEeau1vMV3Bsx4w _l6ZuRbdnEeau1vMV3Bsx4w _l6ZuhbdnEeau1vMV3Bsx4w _l6ZuibdnEeau1vMV3Bsx4w _l6ZunbdnEeau1vMV3Bsx4w _l6ZuqbdnEeau1vMV3Bsx4w _l6ZuwbdnEeau1vMV3Bsx4w _l6Zu3bdnEeau1vMV3Bsx4w _l6ZvHbdnEeau1vMV3Bsx4w _l6ZvIbdnEeau1vMV3Bsx4w _l6ZvJbdnEeau1vMV3Bsx4w _l6ZvKbdnEeau1vMV3Bsx4w _l6ZvZ7dnEeau1vMV3Bsx4w _kQZhsLd1Eeau1vMV3Bsx4w _BoaVwLqxEeau1vMV3Bsx4w" width="12" height="10">
8463 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Term"/>
8464 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Term"/>
8465 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZIGrdnEeau1vMV3Bsx4w" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
8466 <labelFormat>italic</labelFormat>
8467 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
8468 </ownedStyle>
8469 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8470 </ownedDiagramElements>
8471 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIH7dnEeau1vMV3Bsx4w" name="SymbolicValue" tooltipText="" outgoingEdges="_l6Zt6bdnEeau1vMV3Bsx4w _l6ZuhbdnEeau1vMV3Bsx4w" width="12" height="10">
8472 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//SymbolicValue"/>
8473 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//SymbolicValue"/>
8474 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8475 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8476 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8477 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZIILdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8478 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8479 </ownedStyle>
8480 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8481 </ownedDiagramElements>
8482 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIIbdnEeau1vMV3Bsx4w" name="AtomicTerm" tooltipText="" outgoingEdges="_l6ZuibdnEeau1vMV3Bsx4w" incomingEdges="_l6ZujbdnEeau1vMV3Bsx4w _l6ZukbdnEeau1vMV3Bsx4w _l6ZulbdnEeau1vMV3Bsx4w" width="12" height="10">
8483 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//AtomicTerm"/>
8484 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//AtomicTerm"/>
8485 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8486 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8487 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8488 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZIIrdnEeau1vMV3Bsx4w" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
8489 <labelFormat>italic</labelFormat>
8490 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
8491 </ownedStyle>
8492 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8493 </ownedDiagramElements>
8494 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZII7dnEeau1vMV3Bsx4w" name="IntLiteral" tooltipText="" outgoingEdges="_l6ZujbdnEeau1vMV3Bsx4w" width="12" height="10">
8495 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntLiteral"/>
8496 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntLiteral"/>
8497 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZIJLdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8498 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8499 </ownedStyle>
8500 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8501 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_l6ZIJbdnEeau1vMV3Bsx4w" name="value : EInt" tooltipText="">
8502 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//IntLiteral/value"/>
8503 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//IntLiteral/value"/>
8504 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_l6ZIJrdnEeau1vMV3Bsx4w" labelAlignment="LEFT">
8505 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
8506 </ownedStyle>
8507 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
8508 </ownedElements>
8509 </ownedDiagramElements>
8510 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIJ7dnEeau1vMV3Bsx4w" name="BoolLiteral" tooltipText="" outgoingEdges="_l6ZukbdnEeau1vMV3Bsx4w" width="12" height="10">
8511 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolLiteral"/>
8512 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolLiteral"/>
8513 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8514 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8515 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8516 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZIKLdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8517 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8518 </ownedStyle>
8519 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8520 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_l6ZIKbdnEeau1vMV3Bsx4w" name="value : EBoolean = false" tooltipText="">
8521 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//BoolLiteral/value"/>
8522 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//BoolLiteral/value"/>
8523 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_l6ZIKrdnEeau1vMV3Bsx4w" labelAlignment="LEFT">
8524 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
8525 </ownedStyle>
8526 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
8527 </ownedElements>
8528 </ownedDiagramElements>
8529 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIK7dnEeau1vMV3Bsx4w" name="RealLiteral" tooltipText="" outgoingEdges="_l6ZulbdnEeau1vMV3Bsx4w" width="12" height="10">
8530 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//RealLiteral"/>
8531 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//RealLiteral"/>
8532 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8533 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8534 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8535 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZILLdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8536 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8537 </ownedStyle>
8538 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8539 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_l6ZILbdnEeau1vMV3Bsx4w" name="value : EBigDecimal" tooltipText="">
8540 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//RealLiteral/value"/>
8541 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//RealLiteral/value"/>
8542 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_l6ZILrdnEeau1vMV3Bsx4w" labelAlignment="LEFT">
8543 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
8544 </ownedStyle>
8545 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
8546 </ownedElements>
8547 </ownedDiagramElements>
8548 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIL7dnEeau1vMV3Bsx4w" name="Variable" tooltipText="" outgoingEdges="_JfkfULd8Eeau1vMV3Bsx4w" incomingEdges="_l6Zt8bdnEeau1vMV3Bsx4w" width="12" height="10">
8549 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Variable"/>
8550 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Variable"/>
8551 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8552 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8553 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8554 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZIMLdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8555 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8556 </ownedStyle>
8557 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8558 </ownedDiagramElements>
8559 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIMbdnEeau1vMV3Bsx4w" name="QuantifiedExpression" tooltipText="" outgoingEdges="_l6Zt8bdnEeau1vMV3Bsx4w _l6Zt9bdnEeau1vMV3Bsx4w _l6ZunbdnEeau1vMV3Bsx4w" incomingEdges="_l6ZuobdnEeau1vMV3Bsx4w _l6ZupbdnEeau1vMV3Bsx4w" width="12" height="10">
8560 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//QuantifiedExpression"/>
8561 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//QuantifiedExpression"/>
8562 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8563 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8564 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8565 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZIMrdnEeau1vMV3Bsx4w" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
8566 <labelFormat>italic</labelFormat>
8567 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
8568 </ownedStyle>
8569 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8570 </ownedDiagramElements>
8571 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIM7dnEeau1vMV3Bsx4w" name="Exists" tooltipText="" outgoingEdges="_l6ZuobdnEeau1vMV3Bsx4w" width="12" height="10">
8572 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Exists"/>
8573 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Exists"/>
8574 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZINLdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8575 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8576 </ownedStyle>
8577 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8578 </ownedDiagramElements>
8579 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZINbdnEeau1vMV3Bsx4w" name="Forall" tooltipText="" outgoingEdges="_l6ZupbdnEeau1vMV3Bsx4w" width="12" height="10">
8580 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Forall"/>
8581 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Forall"/>
8582 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZINrdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8583 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8584 </ownedStyle>
8585 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8586 </ownedDiagramElements>
8587 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIN7dnEeau1vMV3Bsx4w" name="BoolOperation" tooltipText="" outgoingEdges="_l6ZuqbdnEeau1vMV3Bsx4w" incomingEdges="_l6ZurbdnEeau1vMV3Bsx4w _l6ZusbdnEeau1vMV3Bsx4w _l6ZutbdnEeau1vMV3Bsx4w _l6ZuubdnEeau1vMV3Bsx4w _l6ZuvbdnEeau1vMV3Bsx4w" width="12" height="10">
8588 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolOperation"/>
8589 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolOperation"/>
8590 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8591 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8592 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8593 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZIOLdnEeau1vMV3Bsx4w" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
8594 <labelFormat>italic</labelFormat>
8595 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
8596 </ownedStyle>
8597 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8598 </ownedDiagramElements>
8599 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIObdnEeau1vMV3Bsx4w" name="And" tooltipText="" outgoingEdges="_l6Zt-bdnEeau1vMV3Bsx4w _l6ZurbdnEeau1vMV3Bsx4w" width="12" height="10">
8600 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//And"/>
8601 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//And"/>
8602 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8603 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8604 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8605 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZIOrdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8606 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8607 </ownedStyle>
8608 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8609 </ownedDiagramElements>
8610 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIO7dnEeau1vMV3Bsx4w" name="Or" tooltipText="" outgoingEdges="_l6Zt_bdnEeau1vMV3Bsx4w _l6ZusbdnEeau1vMV3Bsx4w" width="12" height="10">
8611 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Or"/>
8612 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Or"/>
8613 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8614 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8615 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8616 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZIPLdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8617 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8618 </ownedStyle>
8619 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8620 </ownedDiagramElements>
8621 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIPbdnEeau1vMV3Bsx4w" name="Impl" tooltipText="" outgoingEdges="_l6ZuAbdnEeau1vMV3Bsx4w _l6ZuBbdnEeau1vMV3Bsx4w _l6ZutbdnEeau1vMV3Bsx4w" width="12" height="10">
8622 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Impl"/>
8623 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Impl"/>
8624 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8625 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8626 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8627 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZIPrdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8628 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8629 </ownedStyle>
8630 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8631 </ownedDiagramElements>
8632 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIP7dnEeau1vMV3Bsx4w" name="Not" tooltipText="" outgoingEdges="_l6ZuCbdnEeau1vMV3Bsx4w _l6ZuubdnEeau1vMV3Bsx4w" width="12" height="10">
8633 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Not"/>
8634 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Not"/>
8635 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8636 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8637 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8638 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZIQLdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8639 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8640 </ownedStyle>
8641 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8642 </ownedDiagramElements>
8643 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIQbdnEeau1vMV3Bsx4w" name="Iff" tooltipText="" outgoingEdges="_l6ZuDbdnEeau1vMV3Bsx4w _l6ZuEbdnEeau1vMV3Bsx4w _l6ZuvbdnEeau1vMV3Bsx4w" width="12" height="10">
8644 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Iff"/>
8645 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Iff"/>
8646 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8647 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8648 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8649 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZIQrdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8650 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8651 </ownedStyle>
8652 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8653 </ownedDiagramElements>
8654 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIQ7dnEeau1vMV3Bsx4w" name="PrimitiveRelation" tooltipText="" outgoingEdges="_l6ZuwbdnEeau1vMV3Bsx4w" incomingEdges="_l6ZuxbdnEeau1vMV3Bsx4w _l6ZuybdnEeau1vMV3Bsx4w _l6ZuzbdnEeau1vMV3Bsx4w _l6Zu0bdnEeau1vMV3Bsx4w _l6Zu1bdnEeau1vMV3Bsx4w _l6Zu2bdnEeau1vMV3Bsx4w" width="12" height="10">
8655 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//PrimitiveRelation"/>
8656 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//PrimitiveRelation"/>
8657 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8658 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8659 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8660 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZIRLdnEeau1vMV3Bsx4w" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
8661 <labelFormat>italic</labelFormat>
8662 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
8663 </ownedStyle>
8664 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8665 </ownedDiagramElements>
8666 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIRbdnEeau1vMV3Bsx4w" name="Equals" tooltipText="" outgoingEdges="_l6ZuFbdnEeau1vMV3Bsx4w _l6ZuGbdnEeau1vMV3Bsx4w _l6ZuxbdnEeau1vMV3Bsx4w" width="12" height="10">
8667 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Equals"/>
8668 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Equals"/>
8669 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8670 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8671 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8672 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZIRrdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8673 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8674 </ownedStyle>
8675 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8676 </ownedDiagramElements>
8677 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIR7dnEeau1vMV3Bsx4w" name="Distinct" tooltipText="" outgoingEdges="_l6ZuHbdnEeau1vMV3Bsx4w _l6ZuybdnEeau1vMV3Bsx4w" width="12" height="10">
8678 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Distinct"/>
8679 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Distinct"/>
8680 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8681 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8682 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8683 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZISLdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8684 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8685 </ownedStyle>
8686 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8687 </ownedDiagramElements>
8688 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZISbdnEeau1vMV3Bsx4w" name="LessThan" tooltipText="" outgoingEdges="_l6ZuIbdnEeau1vMV3Bsx4w _l6ZuJbdnEeau1vMV3Bsx4w _l6ZuzbdnEeau1vMV3Bsx4w" width="12" height="10">
8689 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//LessThan"/>
8690 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//LessThan"/>
8691 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8692 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8693 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8694 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZISrdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8695 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8696 </ownedStyle>
8697 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8698 </ownedDiagramElements>
8699 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIS7dnEeau1vMV3Bsx4w" name="MoreThan" tooltipText="" outgoingEdges="_l6ZuKbdnEeau1vMV3Bsx4w _l6ZuLbdnEeau1vMV3Bsx4w _l6Zu0bdnEeau1vMV3Bsx4w" width="12" height="10">
8700 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//MoreThan"/>
8701 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//MoreThan"/>
8702 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8703 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8704 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8705 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZITLdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8706 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8707 </ownedStyle>
8708 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8709 </ownedDiagramElements>
8710 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZITbdnEeau1vMV3Bsx4w" name="LessOrEqualThan" tooltipText="" outgoingEdges="_l6ZuMbdnEeau1vMV3Bsx4w _l6ZuNbdnEeau1vMV3Bsx4w _l6Zu1bdnEeau1vMV3Bsx4w" width="12" height="10">
8711 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//LessOrEqualThan"/>
8712 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//LessOrEqualThan"/>
8713 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8714 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8715 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8716 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZITrdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8717 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8718 </ownedStyle>
8719 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8720 </ownedDiagramElements>
8721 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZIT7dnEeau1vMV3Bsx4w" name="MoreOrEqualThan" tooltipText="" outgoingEdges="_l6ZuObdnEeau1vMV3Bsx4w _l6ZuPbdnEeau1vMV3Bsx4w _l6Zu2bdnEeau1vMV3Bsx4w" width="12" height="10">
8722 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//MoreOrEqualThan"/>
8723 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//MoreOrEqualThan"/>
8724 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8725 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8726 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8727 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZtwLdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8728 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8729 </ownedStyle>
8730 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8731 </ownedDiagramElements>
8732 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZtwbdnEeau1vMV3Bsx4w" name="IntOperation" tooltipText="" outgoingEdges="_l6ZuQbdnEeau1vMV3Bsx4w _l6ZuRbdnEeau1vMV3Bsx4w _l6Zu3bdnEeau1vMV3Bsx4w" incomingEdges="_l6Zu4bdnEeau1vMV3Bsx4w _l6Zu5bdnEeau1vMV3Bsx4w _l6Zu6bdnEeau1vMV3Bsx4w _l6Zu7bdnEeau1vMV3Bsx4w _l6Zu8bdnEeau1vMV3Bsx4w" width="12" height="10">
8733 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntOperation"/>
8734 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntOperation"/>
8735 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8736 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8737 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8738 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZtwrdnEeau1vMV3Bsx4w" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
8739 <labelFormat>italic</labelFormat>
8740 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
8741 </ownedStyle>
8742 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8743 </ownedDiagramElements>
8744 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6Ztw7dnEeau1vMV3Bsx4w" name="Plus" tooltipText="" outgoingEdges="_l6Zu4bdnEeau1vMV3Bsx4w" width="12" height="10">
8745 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Plus"/>
8746 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Plus"/>
8747 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZtxLdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8748 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8749 </ownedStyle>
8750 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8751 </ownedDiagramElements>
8752 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZtxbdnEeau1vMV3Bsx4w" name="Minus" tooltipText="" outgoingEdges="_l6Zu5bdnEeau1vMV3Bsx4w" width="12" height="10">
8753 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Minus"/>
8754 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Minus"/>
8755 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZtxrdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8756 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8757 </ownedStyle>
8758 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8759 </ownedDiagramElements>
8760 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6Ztx7dnEeau1vMV3Bsx4w" name="Multiply" tooltipText="" outgoingEdges="_l6Zu6bdnEeau1vMV3Bsx4w" width="12" height="10">
8761 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Multiply"/>
8762 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Multiply"/>
8763 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZtyLdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8764 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8765 </ownedStyle>
8766 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8767 </ownedDiagramElements>
8768 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZtybdnEeau1vMV3Bsx4w" name="Divison" tooltipText="" outgoingEdges="_l6Zu7bdnEeau1vMV3Bsx4w" width="12" height="10">
8769 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Divison"/>
8770 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Divison"/>
8771 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZtyrdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8772 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8773 </ownedStyle>
8774 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8775 </ownedDiagramElements>
8776 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6Zty7dnEeau1vMV3Bsx4w" name="Mod" tooltipText="" outgoingEdges="_l6Zu8bdnEeau1vMV3Bsx4w" width="12" height="10">
8777 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Mod"/>
8778 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Mod"/>
8779 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8780 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8781 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8782 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZtzLdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
8783 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
8784 </ownedStyle>
8785 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8786 </ownedDiagramElements>
8787 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6Ztz7dnEeau1vMV3Bsx4w" name="TermDescription" tooltipText="" incomingEdges="_l6ZufbdnEeau1vMV3Bsx4w" width="12" height="10">
8788 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TermDescription"/>
8789 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//TermDescription"/>
8790 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
8791 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
8792 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
8793 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6Zt0LdnEeau1vMV3Bsx4w" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_interface.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
8794 <labelFormat>italic</labelFormat>
8795 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.0/@style"/>
8796 </ownedStyle>
8797 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
8798 </ownedDiagramElements>
8799 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6Zt6bdnEeau1vMV3Bsx4w" name="[0..*] parameterSubstitutions" sourceNode="_l6ZIH7dnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
8800 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//SymbolicValue/parameterSubstitutions"/>
8801 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//SymbolicValue/parameterSubstitutions"/>
8802 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6Zt6rdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
8803 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6Zt67dnEeau1vMV3Bsx4w" showIcon="false">
8804 <customFeatures>labelSize</customFeatures>
8805 </centerLabelStyle>
8806 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6Zt7LdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
8807 <customFeatures>labelSize</customFeatures>
8808 </endLabelStyle>
8809 </ownedStyle>
8810 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
8811 </ownedDiagramElements>
8812 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6Zt8bdnEeau1vMV3Bsx4w" name="[0..*] quantifiedVariables" sourceNode="_l6ZIMbdnEeau1vMV3Bsx4w" targetNode="_l6ZIL7dnEeau1vMV3Bsx4w">
8813 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//QuantifiedExpression/quantifiedVariables"/>
8814 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//QuantifiedExpression/quantifiedVariables"/>
8815 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6Zt8rdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
8816 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6Zt87dnEeau1vMV3Bsx4w" showIcon="false">
8817 <customFeatures>labelSize</customFeatures>
8818 </centerLabelStyle>
8819 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6Zt9LdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
8820 <customFeatures>labelSize</customFeatures>
8821 </endLabelStyle>
8822 </ownedStyle>
8823 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
8824 </ownedDiagramElements>
8825 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6Zt9bdnEeau1vMV3Bsx4w" name="[0..1] expression" sourceNode="_l6ZIMbdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
8826 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//QuantifiedExpression/expression"/>
8827 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//QuantifiedExpression/expression"/>
8828 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6Zt9rdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
8829 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6Zt97dnEeau1vMV3Bsx4w" showIcon="false">
8830 <customFeatures>labelSize</customFeatures>
8831 </centerLabelStyle>
8832 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6Zt-LdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
8833 <customFeatures>labelSize</customFeatures>
8834 </endLabelStyle>
8835 </ownedStyle>
8836 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
8837 </ownedDiagramElements>
8838 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6Zt-bdnEeau1vMV3Bsx4w" name="[0..*] operands" sourceNode="_l6ZIObdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
8839 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//And/operands"/>
8840 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//And/operands"/>
8841 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6Zt-rdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
8842 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6Zt-7dnEeau1vMV3Bsx4w" showIcon="false">
8843 <customFeatures>labelSize</customFeatures>
8844 </centerLabelStyle>
8845 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6Zt_LdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
8846 <customFeatures>labelSize</customFeatures>
8847 </endLabelStyle>
8848 </ownedStyle>
8849 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
8850 </ownedDiagramElements>
8851 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6Zt_bdnEeau1vMV3Bsx4w" name="[0..*] operands" sourceNode="_l6ZIO7dnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
8852 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Or/operands"/>
8853 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Or/operands"/>
8854 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6Zt_rdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
8855 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6Zt_7dnEeau1vMV3Bsx4w" showIcon="false">
8856 <customFeatures>labelSize</customFeatures>
8857 </centerLabelStyle>
8858 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuALdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
8859 <customFeatures>labelSize</customFeatures>
8860 </endLabelStyle>
8861 </ownedStyle>
8862 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
8863 </ownedDiagramElements>
8864 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuAbdnEeau1vMV3Bsx4w" name="[0..1] leftOperand" sourceNode="_l6ZIPbdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
8865 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Impl/leftOperand"/>
8866 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Impl/leftOperand"/>
8867 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuArdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
8868 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuA7dnEeau1vMV3Bsx4w" showIcon="false">
8869 <customFeatures>labelSize</customFeatures>
8870 </centerLabelStyle>
8871 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuBLdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
8872 <customFeatures>labelSize</customFeatures>
8873 </endLabelStyle>
8874 </ownedStyle>
8875 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
8876 </ownedDiagramElements>
8877 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuBbdnEeau1vMV3Bsx4w" name="[0..1] rightOperand" sourceNode="_l6ZIPbdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
8878 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Impl/rightOperand"/>
8879 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Impl/rightOperand"/>
8880 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuBrdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
8881 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuB7dnEeau1vMV3Bsx4w" showIcon="false">
8882 <customFeatures>labelSize</customFeatures>
8883 </centerLabelStyle>
8884 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuCLdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
8885 <customFeatures>labelSize</customFeatures>
8886 </endLabelStyle>
8887 </ownedStyle>
8888 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
8889 </ownedDiagramElements>
8890 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuCbdnEeau1vMV3Bsx4w" name="[0..1] operand" sourceNode="_l6ZIP7dnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
8891 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Not/operand"/>
8892 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Not/operand"/>
8893 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuCrdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
8894 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuC7dnEeau1vMV3Bsx4w" showIcon="false">
8895 <customFeatures>labelSize</customFeatures>
8896 </centerLabelStyle>
8897 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuDLdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
8898 <customFeatures>labelSize</customFeatures>
8899 </endLabelStyle>
8900 </ownedStyle>
8901 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
8902 </ownedDiagramElements>
8903 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuDbdnEeau1vMV3Bsx4w" name="[0..1] leftOperand" sourceNode="_l6ZIQbdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
8904 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Iff/leftOperand"/>
8905 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Iff/leftOperand"/>
8906 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuDrdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
8907 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuD7dnEeau1vMV3Bsx4w" showIcon="false">
8908 <customFeatures>labelSize</customFeatures>
8909 </centerLabelStyle>
8910 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuELdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
8911 <customFeatures>labelSize</customFeatures>
8912 </endLabelStyle>
8913 </ownedStyle>
8914 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
8915 </ownedDiagramElements>
8916 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuEbdnEeau1vMV3Bsx4w" name="[0..1] rightOperand" sourceNode="_l6ZIQbdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
8917 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Iff/rightOperand"/>
8918 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Iff/rightOperand"/>
8919 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuErdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
8920 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuE7dnEeau1vMV3Bsx4w" showIcon="false">
8921 <customFeatures>labelSize</customFeatures>
8922 </centerLabelStyle>
8923 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuFLdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
8924 <customFeatures>labelSize</customFeatures>
8925 </endLabelStyle>
8926 </ownedStyle>
8927 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
8928 </ownedDiagramElements>
8929 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuFbdnEeau1vMV3Bsx4w" name="[0..1] leftOperand" sourceNode="_l6ZIRbdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
8930 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Equals/leftOperand"/>
8931 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Equals/leftOperand"/>
8932 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuFrdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
8933 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuF7dnEeau1vMV3Bsx4w" showIcon="false">
8934 <customFeatures>labelSize</customFeatures>
8935 </centerLabelStyle>
8936 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuGLdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
8937 <customFeatures>labelSize</customFeatures>
8938 </endLabelStyle>
8939 </ownedStyle>
8940 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
8941 </ownedDiagramElements>
8942 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuGbdnEeau1vMV3Bsx4w" name="[0..1] rightOperand" sourceNode="_l6ZIRbdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
8943 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Equals/rightOperand"/>
8944 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Equals/rightOperand"/>
8945 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuGrdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
8946 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuG7dnEeau1vMV3Bsx4w" showIcon="false">
8947 <customFeatures>labelSize</customFeatures>
8948 </centerLabelStyle>
8949 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuHLdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
8950 <customFeatures>labelSize</customFeatures>
8951 </endLabelStyle>
8952 </ownedStyle>
8953 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
8954 </ownedDiagramElements>
8955 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuHbdnEeau1vMV3Bsx4w" name="[0..*] operands" sourceNode="_l6ZIR7dnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
8956 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Distinct/operands"/>
8957 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Distinct/operands"/>
8958 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuHrdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
8959 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuH7dnEeau1vMV3Bsx4w" showIcon="false">
8960 <customFeatures>labelSize</customFeatures>
8961 </centerLabelStyle>
8962 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuILdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
8963 <customFeatures>labelSize</customFeatures>
8964 </endLabelStyle>
8965 </ownedStyle>
8966 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
8967 </ownedDiagramElements>
8968 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuIbdnEeau1vMV3Bsx4w" name="[0..1] leftOperand" sourceNode="_l6ZISbdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
8969 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//LessThan/leftOperand"/>
8970 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//LessThan/leftOperand"/>
8971 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuIrdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
8972 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuI7dnEeau1vMV3Bsx4w" showIcon="false">
8973 <customFeatures>labelSize</customFeatures>
8974 </centerLabelStyle>
8975 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuJLdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
8976 <customFeatures>labelSize</customFeatures>
8977 </endLabelStyle>
8978 </ownedStyle>
8979 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
8980 </ownedDiagramElements>
8981 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuJbdnEeau1vMV3Bsx4w" name="[0..1] rightOperand" sourceNode="_l6ZISbdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
8982 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//LessThan/rightOperand"/>
8983 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//LessThan/rightOperand"/>
8984 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuJrdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
8985 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuJ7dnEeau1vMV3Bsx4w" showIcon="false">
8986 <customFeatures>labelSize</customFeatures>
8987 </centerLabelStyle>
8988 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuKLdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
8989 <customFeatures>labelSize</customFeatures>
8990 </endLabelStyle>
8991 </ownedStyle>
8992 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
8993 </ownedDiagramElements>
8994 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuKbdnEeau1vMV3Bsx4w" name="[0..1] leftOperand" sourceNode="_l6ZIS7dnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
8995 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//MoreThan/leftOperand"/>
8996 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//MoreThan/leftOperand"/>
8997 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuKrdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
8998 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuK7dnEeau1vMV3Bsx4w" showIcon="false">
8999 <customFeatures>labelSize</customFeatures>
9000 </centerLabelStyle>
9001 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuLLdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
9002 <customFeatures>labelSize</customFeatures>
9003 </endLabelStyle>
9004 </ownedStyle>
9005 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
9006 </ownedDiagramElements>
9007 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuLbdnEeau1vMV3Bsx4w" name="[0..1] rightOperand" sourceNode="_l6ZIS7dnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9008 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//MoreThan/rightOperand"/>
9009 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//MoreThan/rightOperand"/>
9010 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuLrdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
9011 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuL7dnEeau1vMV3Bsx4w" showIcon="false">
9012 <customFeatures>labelSize</customFeatures>
9013 </centerLabelStyle>
9014 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuMLdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
9015 <customFeatures>labelSize</customFeatures>
9016 </endLabelStyle>
9017 </ownedStyle>
9018 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
9019 </ownedDiagramElements>
9020 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuMbdnEeau1vMV3Bsx4w" name="[0..1] leftOperand" sourceNode="_l6ZITbdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9021 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//LessOrEqualThan/leftOperand"/>
9022 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//LessOrEqualThan/leftOperand"/>
9023 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuMrdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
9024 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuM7dnEeau1vMV3Bsx4w" showIcon="false">
9025 <customFeatures>labelSize</customFeatures>
9026 </centerLabelStyle>
9027 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuNLdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
9028 <customFeatures>labelSize</customFeatures>
9029 </endLabelStyle>
9030 </ownedStyle>
9031 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
9032 </ownedDiagramElements>
9033 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuNbdnEeau1vMV3Bsx4w" name="[0..1] rightOperand" sourceNode="_l6ZITbdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9034 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//LessOrEqualThan/rightOperand"/>
9035 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//LessOrEqualThan/rightOperand"/>
9036 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuNrdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
9037 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuN7dnEeau1vMV3Bsx4w" showIcon="false">
9038 <customFeatures>labelSize</customFeatures>
9039 </centerLabelStyle>
9040 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuOLdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
9041 <customFeatures>labelSize</customFeatures>
9042 </endLabelStyle>
9043 </ownedStyle>
9044 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
9045 </ownedDiagramElements>
9046 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuObdnEeau1vMV3Bsx4w" name="[0..1] leftOperand" sourceNode="_l6ZIT7dnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9047 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//MoreOrEqualThan/leftOperand"/>
9048 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//MoreOrEqualThan/leftOperand"/>
9049 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuOrdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
9050 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuO7dnEeau1vMV3Bsx4w" showIcon="false">
9051 <customFeatures>labelSize</customFeatures>
9052 </centerLabelStyle>
9053 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuPLdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
9054 <customFeatures>labelSize</customFeatures>
9055 </endLabelStyle>
9056 </ownedStyle>
9057 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
9058 </ownedDiagramElements>
9059 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuPbdnEeau1vMV3Bsx4w" name="[0..1] rightOperand" sourceNode="_l6ZIT7dnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9060 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//MoreOrEqualThan/rightOperand"/>
9061 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//MoreOrEqualThan/rightOperand"/>
9062 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuPrdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
9063 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuP7dnEeau1vMV3Bsx4w" showIcon="false">
9064 <customFeatures>labelSize</customFeatures>
9065 </centerLabelStyle>
9066 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuQLdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
9067 <customFeatures>labelSize</customFeatures>
9068 </endLabelStyle>
9069 </ownedStyle>
9070 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
9071 </ownedDiagramElements>
9072 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuQbdnEeau1vMV3Bsx4w" name="[0..1] leftOperand" sourceNode="_l6ZtwbdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9073 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//IntOperation/leftOperand"/>
9074 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//IntOperation/leftOperand"/>
9075 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuQrdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
9076 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuQ7dnEeau1vMV3Bsx4w" showIcon="false">
9077 <customFeatures>labelSize</customFeatures>
9078 </centerLabelStyle>
9079 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuRLdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
9080 <customFeatures>labelSize</customFeatures>
9081 </endLabelStyle>
9082 </ownedStyle>
9083 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
9084 </ownedDiagramElements>
9085 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuRbdnEeau1vMV3Bsx4w" name="[0..1] rightOperand" sourceNode="_l6ZtwbdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9086 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//IntOperation/rightOperand"/>
9087 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//IntOperation/rightOperand"/>
9088 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuRrdnEeau1vMV3Bsx4w" description="_l6XRhLdnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
9089 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuR7dnEeau1vMV3Bsx4w" showIcon="false">
9090 <customFeatures>labelSize</customFeatures>
9091 </centerLabelStyle>
9092 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZuSLdnEeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
9093 <customFeatures>labelSize</customFeatures>
9094 </endLabelStyle>
9095 </ownedStyle>
9096 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
9097 </ownedDiagramElements>
9098 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZufbdnEeau1vMV3Bsx4w" sourceNode="_l6ZIGbdnEeau1vMV3Bsx4w" targetNode="_l6Ztz7dnEeau1vMV3Bsx4w">
9099 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Term"/>
9100 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Term/@eGenericSuperTypes.0"/>
9101 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZufrdnEeau1vMV3Bsx4w" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
9102 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.0/@style"/>
9103 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zuf7dnEeau1vMV3Bsx4w" showIcon="false">
9104 <labelFormat>italic</labelFormat>
9105 </beginLabelStyle>
9106 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZugLdnEeau1vMV3Bsx4w" showIcon="false"/>
9107 </ownedStyle>
9108 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9109 </ownedDiagramElements>
9110 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuhbdnEeau1vMV3Bsx4w" sourceNode="_l6ZIH7dnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9111 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//SymbolicValue"/>
9112 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//SymbolicValue/@eGenericSuperTypes.0"/>
9113 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuhrdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9114 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9115 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zuh7dnEeau1vMV3Bsx4w" showIcon="false">
9116 <labelFormat>italic</labelFormat>
9117 </beginLabelStyle>
9118 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuiLdnEeau1vMV3Bsx4w" showIcon="false"/>
9119 </ownedStyle>
9120 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9121 </ownedDiagramElements>
9122 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuibdnEeau1vMV3Bsx4w" sourceNode="_l6ZIIbdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9123 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//AtomicTerm"/>
9124 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//AtomicTerm/@eGenericSuperTypes.0"/>
9125 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuirdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9126 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9127 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zui7dnEeau1vMV3Bsx4w" showIcon="false">
9128 <labelFormat>italic</labelFormat>
9129 </beginLabelStyle>
9130 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZujLdnEeau1vMV3Bsx4w" showIcon="false"/>
9131 </ownedStyle>
9132 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9133 </ownedDiagramElements>
9134 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZujbdnEeau1vMV3Bsx4w" sourceNode="_l6ZII7dnEeau1vMV3Bsx4w" targetNode="_l6ZIIbdnEeau1vMV3Bsx4w">
9135 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntLiteral"/>
9136 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//IntLiteral/@eGenericSuperTypes.0"/>
9137 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZujrdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9138 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9139 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zuj7dnEeau1vMV3Bsx4w" showIcon="false">
9140 <labelFormat>italic</labelFormat>
9141 </beginLabelStyle>
9142 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZukLdnEeau1vMV3Bsx4w" showIcon="false"/>
9143 </ownedStyle>
9144 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9145 </ownedDiagramElements>
9146 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZukbdnEeau1vMV3Bsx4w" sourceNode="_l6ZIJ7dnEeau1vMV3Bsx4w" targetNode="_l6ZIIbdnEeau1vMV3Bsx4w">
9147 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolLiteral"/>
9148 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//BoolLiteral/@eGenericSuperTypes.0"/>
9149 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZukrdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9150 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9151 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zuk7dnEeau1vMV3Bsx4w" showIcon="false">
9152 <labelFormat>italic</labelFormat>
9153 </beginLabelStyle>
9154 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZulLdnEeau1vMV3Bsx4w" showIcon="false"/>
9155 </ownedStyle>
9156 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9157 </ownedDiagramElements>
9158 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZulbdnEeau1vMV3Bsx4w" sourceNode="_l6ZIK7dnEeau1vMV3Bsx4w" targetNode="_l6ZIIbdnEeau1vMV3Bsx4w">
9159 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//RealLiteral"/>
9160 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//RealLiteral/@eGenericSuperTypes.0"/>
9161 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZulrdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9162 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9163 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zul7dnEeau1vMV3Bsx4w" showIcon="false">
9164 <labelFormat>italic</labelFormat>
9165 </beginLabelStyle>
9166 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZumLdnEeau1vMV3Bsx4w" showIcon="false"/>
9167 </ownedStyle>
9168 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9169 </ownedDiagramElements>
9170 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZunbdnEeau1vMV3Bsx4w" sourceNode="_l6ZIMbdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9171 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//QuantifiedExpression"/>
9172 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//QuantifiedExpression/@eGenericSuperTypes.0"/>
9173 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZunrdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9174 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9175 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zun7dnEeau1vMV3Bsx4w" showIcon="false">
9176 <labelFormat>italic</labelFormat>
9177 </beginLabelStyle>
9178 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuoLdnEeau1vMV3Bsx4w" showIcon="false"/>
9179 </ownedStyle>
9180 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9181 </ownedDiagramElements>
9182 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuobdnEeau1vMV3Bsx4w" sourceNode="_l6ZIM7dnEeau1vMV3Bsx4w" targetNode="_l6ZIMbdnEeau1vMV3Bsx4w">
9183 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Exists"/>
9184 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Exists/@eGenericSuperTypes.0"/>
9185 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuordnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9186 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9187 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zuo7dnEeau1vMV3Bsx4w" showIcon="false">
9188 <labelFormat>italic</labelFormat>
9189 </beginLabelStyle>
9190 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZupLdnEeau1vMV3Bsx4w" showIcon="false"/>
9191 </ownedStyle>
9192 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9193 </ownedDiagramElements>
9194 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZupbdnEeau1vMV3Bsx4w" sourceNode="_l6ZINbdnEeau1vMV3Bsx4w" targetNode="_l6ZIMbdnEeau1vMV3Bsx4w">
9195 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Forall"/>
9196 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Forall/@eGenericSuperTypes.0"/>
9197 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuprdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9198 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9199 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zup7dnEeau1vMV3Bsx4w" showIcon="false">
9200 <labelFormat>italic</labelFormat>
9201 </beginLabelStyle>
9202 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuqLdnEeau1vMV3Bsx4w" showIcon="false"/>
9203 </ownedStyle>
9204 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9205 </ownedDiagramElements>
9206 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuqbdnEeau1vMV3Bsx4w" sourceNode="_l6ZIN7dnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9207 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//BoolOperation"/>
9208 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//BoolOperation/@eGenericSuperTypes.0"/>
9209 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuqrdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9210 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9211 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zuq7dnEeau1vMV3Bsx4w" showIcon="false">
9212 <labelFormat>italic</labelFormat>
9213 </beginLabelStyle>
9214 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZurLdnEeau1vMV3Bsx4w" showIcon="false"/>
9215 </ownedStyle>
9216 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9217 </ownedDiagramElements>
9218 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZurbdnEeau1vMV3Bsx4w" sourceNode="_l6ZIObdnEeau1vMV3Bsx4w" targetNode="_l6ZIN7dnEeau1vMV3Bsx4w">
9219 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//And"/>
9220 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//And/@eGenericSuperTypes.0"/>
9221 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZurrdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9222 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9223 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zur7dnEeau1vMV3Bsx4w" showIcon="false">
9224 <labelFormat>italic</labelFormat>
9225 </beginLabelStyle>
9226 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZusLdnEeau1vMV3Bsx4w" showIcon="false"/>
9227 </ownedStyle>
9228 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9229 </ownedDiagramElements>
9230 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZusbdnEeau1vMV3Bsx4w" sourceNode="_l6ZIO7dnEeau1vMV3Bsx4w" targetNode="_l6ZIN7dnEeau1vMV3Bsx4w">
9231 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Or"/>
9232 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Or/@eGenericSuperTypes.0"/>
9233 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZusrdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9234 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9235 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zus7dnEeau1vMV3Bsx4w" showIcon="false">
9236 <labelFormat>italic</labelFormat>
9237 </beginLabelStyle>
9238 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZutLdnEeau1vMV3Bsx4w" showIcon="false"/>
9239 </ownedStyle>
9240 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9241 </ownedDiagramElements>
9242 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZutbdnEeau1vMV3Bsx4w" sourceNode="_l6ZIPbdnEeau1vMV3Bsx4w" targetNode="_l6ZIN7dnEeau1vMV3Bsx4w">
9243 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Impl"/>
9244 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Impl/@eGenericSuperTypes.0"/>
9245 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZutrdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9246 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9247 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zut7dnEeau1vMV3Bsx4w" showIcon="false">
9248 <labelFormat>italic</labelFormat>
9249 </beginLabelStyle>
9250 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuuLdnEeau1vMV3Bsx4w" showIcon="false"/>
9251 </ownedStyle>
9252 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9253 </ownedDiagramElements>
9254 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuubdnEeau1vMV3Bsx4w" sourceNode="_l6ZIP7dnEeau1vMV3Bsx4w" targetNode="_l6ZIN7dnEeau1vMV3Bsx4w">
9255 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Not"/>
9256 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Not/@eGenericSuperTypes.0"/>
9257 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuurdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9258 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9259 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zuu7dnEeau1vMV3Bsx4w" showIcon="false">
9260 <labelFormat>italic</labelFormat>
9261 </beginLabelStyle>
9262 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuvLdnEeau1vMV3Bsx4w" showIcon="false"/>
9263 </ownedStyle>
9264 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9265 </ownedDiagramElements>
9266 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuvbdnEeau1vMV3Bsx4w" sourceNode="_l6ZIQbdnEeau1vMV3Bsx4w" targetNode="_l6ZIN7dnEeau1vMV3Bsx4w">
9267 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Iff"/>
9268 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Iff/@eGenericSuperTypes.0"/>
9269 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuvrdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9270 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9271 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zuv7dnEeau1vMV3Bsx4w" showIcon="false">
9272 <labelFormat>italic</labelFormat>
9273 </beginLabelStyle>
9274 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuwLdnEeau1vMV3Bsx4w" showIcon="false"/>
9275 </ownedStyle>
9276 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9277 </ownedDiagramElements>
9278 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuwbdnEeau1vMV3Bsx4w" sourceNode="_l6ZIQ7dnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9279 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//PrimitiveRelation"/>
9280 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//PrimitiveRelation/@eGenericSuperTypes.0"/>
9281 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuwrdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9282 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9283 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zuw7dnEeau1vMV3Bsx4w" showIcon="false">
9284 <labelFormat>italic</labelFormat>
9285 </beginLabelStyle>
9286 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuxLdnEeau1vMV3Bsx4w" showIcon="false"/>
9287 </ownedStyle>
9288 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9289 </ownedDiagramElements>
9290 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuxbdnEeau1vMV3Bsx4w" sourceNode="_l6ZIRbdnEeau1vMV3Bsx4w" targetNode="_l6ZIQ7dnEeau1vMV3Bsx4w">
9291 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Equals"/>
9292 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Equals/@eGenericSuperTypes.0"/>
9293 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuxrdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9294 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9295 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zux7dnEeau1vMV3Bsx4w" showIcon="false">
9296 <labelFormat>italic</labelFormat>
9297 </beginLabelStyle>
9298 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuyLdnEeau1vMV3Bsx4w" showIcon="false"/>
9299 </ownedStyle>
9300 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9301 </ownedDiagramElements>
9302 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuybdnEeau1vMV3Bsx4w" sourceNode="_l6ZIR7dnEeau1vMV3Bsx4w" targetNode="_l6ZIQ7dnEeau1vMV3Bsx4w">
9303 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Distinct"/>
9304 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Distinct/@eGenericSuperTypes.0"/>
9305 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuyrdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9306 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9307 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zuy7dnEeau1vMV3Bsx4w" showIcon="false">
9308 <labelFormat>italic</labelFormat>
9309 </beginLabelStyle>
9310 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZuzLdnEeau1vMV3Bsx4w" showIcon="false"/>
9311 </ownedStyle>
9312 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9313 </ownedDiagramElements>
9314 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZuzbdnEeau1vMV3Bsx4w" sourceNode="_l6ZISbdnEeau1vMV3Bsx4w" targetNode="_l6ZIQ7dnEeau1vMV3Bsx4w">
9315 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//LessThan"/>
9316 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//LessThan/@eGenericSuperTypes.0"/>
9317 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZuzrdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9318 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9319 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zuz7dnEeau1vMV3Bsx4w" showIcon="false">
9320 <labelFormat>italic</labelFormat>
9321 </beginLabelStyle>
9322 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6Zu0LdnEeau1vMV3Bsx4w" showIcon="false"/>
9323 </ownedStyle>
9324 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9325 </ownedDiagramElements>
9326 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6Zu0bdnEeau1vMV3Bsx4w" sourceNode="_l6ZIS7dnEeau1vMV3Bsx4w" targetNode="_l6ZIQ7dnEeau1vMV3Bsx4w">
9327 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//MoreThan"/>
9328 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//MoreThan/@eGenericSuperTypes.0"/>
9329 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6Zu0rdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9330 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9331 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zu07dnEeau1vMV3Bsx4w" showIcon="false">
9332 <labelFormat>italic</labelFormat>
9333 </beginLabelStyle>
9334 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6Zu1LdnEeau1vMV3Bsx4w" showIcon="false"/>
9335 </ownedStyle>
9336 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9337 </ownedDiagramElements>
9338 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6Zu1bdnEeau1vMV3Bsx4w" sourceNode="_l6ZITbdnEeau1vMV3Bsx4w" targetNode="_l6ZIQ7dnEeau1vMV3Bsx4w">
9339 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//LessOrEqualThan"/>
9340 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//LessOrEqualThan/@eGenericSuperTypes.0"/>
9341 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6Zu1rdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9342 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9343 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zu17dnEeau1vMV3Bsx4w" showIcon="false">
9344 <labelFormat>italic</labelFormat>
9345 </beginLabelStyle>
9346 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6Zu2LdnEeau1vMV3Bsx4w" showIcon="false"/>
9347 </ownedStyle>
9348 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9349 </ownedDiagramElements>
9350 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6Zu2bdnEeau1vMV3Bsx4w" sourceNode="_l6ZIT7dnEeau1vMV3Bsx4w" targetNode="_l6ZIQ7dnEeau1vMV3Bsx4w">
9351 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//MoreOrEqualThan"/>
9352 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//MoreOrEqualThan/@eGenericSuperTypes.0"/>
9353 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6Zu2rdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9354 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9355 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zu27dnEeau1vMV3Bsx4w" showIcon="false">
9356 <labelFormat>italic</labelFormat>
9357 </beginLabelStyle>
9358 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6Zu3LdnEeau1vMV3Bsx4w" showIcon="false"/>
9359 </ownedStyle>
9360 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9361 </ownedDiagramElements>
9362 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6Zu3bdnEeau1vMV3Bsx4w" sourceNode="_l6ZtwbdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9363 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IntOperation"/>
9364 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//IntOperation/@eGenericSuperTypes.0"/>
9365 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6Zu3rdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9366 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9367 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zu37dnEeau1vMV3Bsx4w" showIcon="false">
9368 <labelFormat>italic</labelFormat>
9369 </beginLabelStyle>
9370 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6Zu4LdnEeau1vMV3Bsx4w" showIcon="false"/>
9371 </ownedStyle>
9372 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9373 </ownedDiagramElements>
9374 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6Zu4bdnEeau1vMV3Bsx4w" sourceNode="_l6Ztw7dnEeau1vMV3Bsx4w" targetNode="_l6ZtwbdnEeau1vMV3Bsx4w">
9375 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Plus"/>
9376 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Plus/@eGenericSuperTypes.0"/>
9377 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6Zu4rdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9378 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9379 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zu47dnEeau1vMV3Bsx4w" showIcon="false">
9380 <labelFormat>italic</labelFormat>
9381 </beginLabelStyle>
9382 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6Zu5LdnEeau1vMV3Bsx4w" showIcon="false"/>
9383 </ownedStyle>
9384 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9385 </ownedDiagramElements>
9386 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6Zu5bdnEeau1vMV3Bsx4w" sourceNode="_l6ZtxbdnEeau1vMV3Bsx4w" targetNode="_l6ZtwbdnEeau1vMV3Bsx4w">
9387 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Minus"/>
9388 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Minus/@eGenericSuperTypes.0"/>
9389 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6Zu5rdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9390 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9391 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zu57dnEeau1vMV3Bsx4w" showIcon="false">
9392 <labelFormat>italic</labelFormat>
9393 </beginLabelStyle>
9394 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6Zu6LdnEeau1vMV3Bsx4w" showIcon="false"/>
9395 </ownedStyle>
9396 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9397 </ownedDiagramElements>
9398 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6Zu6bdnEeau1vMV3Bsx4w" sourceNode="_l6Ztx7dnEeau1vMV3Bsx4w" targetNode="_l6ZtwbdnEeau1vMV3Bsx4w">
9399 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Multiply"/>
9400 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Multiply/@eGenericSuperTypes.0"/>
9401 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6Zu6rdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9402 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9403 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zu67dnEeau1vMV3Bsx4w" showIcon="false">
9404 <labelFormat>italic</labelFormat>
9405 </beginLabelStyle>
9406 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6Zu7LdnEeau1vMV3Bsx4w" showIcon="false"/>
9407 </ownedStyle>
9408 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9409 </ownedDiagramElements>
9410 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6Zu7bdnEeau1vMV3Bsx4w" sourceNode="_l6ZtybdnEeau1vMV3Bsx4w" targetNode="_l6ZtwbdnEeau1vMV3Bsx4w">
9411 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Divison"/>
9412 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Divison/@eGenericSuperTypes.0"/>
9413 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6Zu7rdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9414 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9415 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zu77dnEeau1vMV3Bsx4w" showIcon="false">
9416 <labelFormat>italic</labelFormat>
9417 </beginLabelStyle>
9418 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6Zu8LdnEeau1vMV3Bsx4w" showIcon="false"/>
9419 </ownedStyle>
9420 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9421 </ownedDiagramElements>
9422 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6Zu8bdnEeau1vMV3Bsx4w" sourceNode="_l6Zty7dnEeau1vMV3Bsx4w" targetNode="_l6ZtwbdnEeau1vMV3Bsx4w">
9423 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Mod"/>
9424 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//Mod/@eGenericSuperTypes.0"/>
9425 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6Zu8rdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9426 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9427 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6Zu87dnEeau1vMV3Bsx4w" showIcon="false">
9428 <labelFormat>italic</labelFormat>
9429 </beginLabelStyle>
9430 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6Zu9LdnEeau1vMV3Bsx4w" showIcon="false"/>
9431 </ownedStyle>
9432 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9433 </ownedDiagramElements>
9434 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZvG7dnEeau1vMV3Bsx4w" name="IfThenElse" tooltipText="" outgoingEdges="_l6ZvHbdnEeau1vMV3Bsx4w _l6ZvIbdnEeau1vMV3Bsx4w _l6ZvJbdnEeau1vMV3Bsx4w _l6ZvKbdnEeau1vMV3Bsx4w" width="12" height="10">
9435 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IfThenElse"/>
9436 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//IfThenElse"/>
9437 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
9438 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
9439 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
9440 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZvHLdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
9441 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
9442 </ownedStyle>
9443 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
9444 </ownedDiagramElements>
9445 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZvHbdnEeau1vMV3Bsx4w" name="[1..1] condition" sourceNode="_l6ZvG7dnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9446 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/condition"/>
9447 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/condition"/>
9448 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZvHrdnEeau1vMV3Bsx4w" description="_l6XRh7dnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
9449 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZvH7dnEeau1vMV3Bsx4w" showIcon="false">
9450 <labelFormat>bold</labelFormat>
9451 </centerLabelStyle>
9452 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZvILdnEeau1vMV3Bsx4w" labelSize="6" showIcon="false" labelColor="39,76,114"/>
9453 </ownedStyle>
9454 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
9455 </ownedDiagramElements>
9456 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZvIbdnEeau1vMV3Bsx4w" sourceNode="_l6ZvG7dnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9457 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//IfThenElse"/>
9458 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//IfThenElse/@eGenericSuperTypes.0"/>
9459 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZvIrdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9460 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9461 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6ZvI7dnEeau1vMV3Bsx4w" showIcon="false">
9462 <labelFormat>italic</labelFormat>
9463 </beginLabelStyle>
9464 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZvJLdnEeau1vMV3Bsx4w" showIcon="false"/>
9465 </ownedStyle>
9466 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9467 </ownedDiagramElements>
9468 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZvJbdnEeau1vMV3Bsx4w" name="[1..1] ifTrue" sourceNode="_l6ZvG7dnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9469 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/ifTrue"/>
9470 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/ifTrue"/>
9471 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZvJrdnEeau1vMV3Bsx4w" description="_l6XRh7dnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
9472 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZvJ7dnEeau1vMV3Bsx4w" showIcon="false">
9473 <labelFormat>bold</labelFormat>
9474 </centerLabelStyle>
9475 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZvKLdnEeau1vMV3Bsx4w" labelSize="6" showIcon="false" labelColor="39,76,114"/>
9476 </ownedStyle>
9477 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
9478 </ownedDiagramElements>
9479 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZvKbdnEeau1vMV3Bsx4w" name="[1..1] ifFalse" sourceNode="_l6ZvG7dnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9480 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/ifFalse"/>
9481 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//IfThenElse/ifFalse"/>
9482 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZvKrdnEeau1vMV3Bsx4w" description="_l6XRh7dnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
9483 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZvK7dnEeau1vMV3Bsx4w" showIcon="false">
9484 <labelFormat>bold</labelFormat>
9485 </centerLabelStyle>
9486 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_l6ZvLLdnEeau1vMV3Bsx4w" labelSize="6" showIcon="false" labelColor="39,76,114"/>
9487 </ownedStyle>
9488 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
9489 </ownedDiagramElements>
9490 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_l6ZvZbdnEeau1vMV3Bsx4w" name="UnknownBecauseUninterpreted" tooltipText="" outgoingEdges="_l6ZvZ7dnEeau1vMV3Bsx4w" width="12" height="10">
9491 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//UnknownBecauseUninterpreted"/>
9492 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//UnknownBecauseUninterpreted"/>
9493 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
9494 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
9495 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
9496 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_l6ZvZrdnEeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
9497 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
9498 </ownedStyle>
9499 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
9500 </ownedDiagramElements>
9501 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_l6ZvZ7dnEeau1vMV3Bsx4w" sourceNode="_l6ZvZbdnEeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9502 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//UnknownBecauseUninterpreted"/>
9503 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//UnknownBecauseUninterpreted/@eGenericSuperTypes.0"/>
9504 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_l6ZvaLdnEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9505 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9506 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_l6ZvabdnEeau1vMV3Bsx4w" showIcon="false">
9507 <labelFormat>italic</labelFormat>
9508 </beginLabelStyle>
9509 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_l6ZvardnEeau1vMV3Bsx4w" showIcon="false"/>
9510 </ownedStyle>
9511 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9512 </ownedDiagramElements>
9513 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_YtYxgLd1Eeau1vMV3Bsx4w" name="InstanceOf" tooltipText="" outgoingEdges="_kQZhsLd1Eeau1vMV3Bsx4w _LsuTYLd8Eeau1vMV3Bsx4w _BoaVwLqxEeau1vMV3Bsx4w" width="12" height="10">
9514 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//InstanceOf"/>
9515 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//InstanceOf"/>
9516 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
9517 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
9518 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
9519 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_YtZ_oLd1Eeau1vMV3Bsx4w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
9520 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
9521 </ownedStyle>
9522 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
9523 </ownedDiagramElements>
9524 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_kQZhsLd1Eeau1vMV3Bsx4w" name="[1..1] value" sourceNode="_YtYxgLd1Eeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9525 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//InstanceOf/value"/>
9526 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//InstanceOf/value"/>
9527 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_mdcoELd1Eeau1vMV3Bsx4w" description="_l6XRh7dnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
9528 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_mdcoEbd1Eeau1vMV3Bsx4w" showIcon="false">
9529 <labelFormat>bold</labelFormat>
9530 </centerLabelStyle>
9531 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_mdcoErd1Eeau1vMV3Bsx4w" labelSize="6" showIcon="false" labelColor="39,76,114"/>
9532 </ownedStyle>
9533 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
9534 </ownedDiagramElements>
9535 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_JfJBgLd8Eeau1vMV3Bsx4w" name="TypeReference" tooltipText="" incomingEdges="_JfkfULd8Eeau1vMV3Bsx4w _LsuTYLd8Eeau1vMV3Bsx4w" width="12" height="10">
9536 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeReference"/>
9537 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//TypeReference"/>
9538 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
9539 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
9540 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
9541 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_JfJokLd8Eeau1vMV3Bsx4w" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
9542 <labelFormat>italic</labelFormat>
9543 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
9544 </ownedStyle>
9545 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
9546 </ownedDiagramElements>
9547 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_JfkfULd8Eeau1vMV3Bsx4w" name="[1..1] range" sourceNode="_l6ZIL7dnEeau1vMV3Bsx4w" targetNode="_JfJBgLd8Eeau1vMV3Bsx4w">
9548 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Variable/range"/>
9549 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Variable/range"/>
9550 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_JfkfUbd8Eeau1vMV3Bsx4w" description="_l6XRh7dnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
9551 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_JfkfUrd8Eeau1vMV3Bsx4w" showIcon="false">
9552 <customFeatures>labelSize</customFeatures>
9553 <labelFormat>bold</labelFormat>
9554 </centerLabelStyle>
9555 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_JfkfU7d8Eeau1vMV3Bsx4w" showIcon="false" labelColor="39,76,114">
9556 <customFeatures>labelSize</customFeatures>
9557 </endLabelStyle>
9558 </ownedStyle>
9559 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
9560 </ownedDiagramElements>
9561 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_LsuTYLd8Eeau1vMV3Bsx4w" name="[1..1] range" sourceNode="_YtYxgLd1Eeau1vMV3Bsx4w" targetNode="_JfJBgLd8Eeau1vMV3Bsx4w">
9562 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//InstanceOf/range"/>
9563 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//InstanceOf/range"/>
9564 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_NfNksLd8Eeau1vMV3Bsx4w" description="_l6XRh7dnEeau1vMV3Bsx4w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
9565 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_NfNksbd8Eeau1vMV3Bsx4w" showIcon="false">
9566 <labelFormat>bold</labelFormat>
9567 </centerLabelStyle>
9568 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_NfNksrd8Eeau1vMV3Bsx4w" labelSize="6" showIcon="false" labelColor="39,76,114"/>
9569 </ownedStyle>
9570 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
9571 </ownedDiagramElements>
9572 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_BoaVwLqxEeau1vMV3Bsx4w" sourceNode="_YtYxgLd1Eeau1vMV3Bsx4w" targetNode="_l6ZIGbdnEeau1vMV3Bsx4w">
9573 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//InstanceOf"/>
9574 <semanticElements xmi:type="ecore:EGenericType" href="logiclanguage.ecore#//InstanceOf/@eGenericSuperTypes.0"/>
9575 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Boa80LqxEeau1vMV3Bsx4w" targetArrow="InputClosedArrow" routingStyle="tree">
9576 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
9577 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_Boa80bqxEeau1vMV3Bsx4w" showIcon="false">
9578 <labelFormat>italic</labelFormat>
9579 </beginLabelStyle>
9580 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Boa80rqxEeau1vMV3Bsx4w" showIcon="false"/>
9581 </ownedStyle>
9582 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
9583 </ownedDiagramElements>
9584 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
9585 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_l6Zva7dnEeau1vMV3Bsx4w"/>
9586 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
9587 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
9588 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
9589 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
9590 <target xmi:type="ecore:EPackage" href="logiclanguage.ecore#/"/>
9591 </ownedRepresentations>
9592 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
9593 </ownedViews>
9594 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_WEG20Dx1EeWiQ_wtFd6fGQ">
9595 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
9596 </ownedViews>
9597 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_WEIE8Dx1EeWiQ_wtFd6fGQ">
9598 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
9599 </ownedViews>
9600 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_WEOLkDx1EeWiQ_wtFd6fGQ">
9601 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
9602 </ownedViews>
9603</viewpoint:DAnalysis>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore
new file mode 100644
index 00000000..5d8165a9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore
@@ -0,0 +1,203 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="logiclanguage" nsURI="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4 nsPrefix="language">
5 <eClassifiers xsi:type="ecore:EClass" name="Type" abstract="true" eSuperTypes="#//TypeDescriptor">
6 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
7 <eStructuralFeatures xsi:type="ecore:EReference" name="subtypes" upperBound="-1"
8 eType="#//Type" eOpposite="#//Type/supertypes"/>
9 <eStructuralFeatures xsi:type="ecore:EReference" name="supertypes" upperBound="-1"
10 eType="#//Type" eOpposite="#//Type/subtypes"/>
11 <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAbstract" lowerBound="1"
12 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
13 </eClassifiers>
14 <eClassifiers xsi:type="ecore:EClass" name="DefinedElement" eSuperTypes="#//SymbolicDeclaration">
15 <eStructuralFeatures xsi:type="ecore:EReference" name="definedInType" lowerBound="1"
16 upperBound="-1" eType="#//TypeDefinition" eOpposite="#//TypeDefinition/elements"/>
17 </eClassifiers>
18 <eClassifiers xsi:type="ecore:EClass" name="TypeDefinition" eSuperTypes="#//Type">
19 <eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
20 eType="#//DefinedElement" eOpposite="#//DefinedElement/definedInType"/>
21 <eStructuralFeatures xsi:type="ecore:EReference" name="defines" eType="#//TypeDeclaration"/>
22 </eClassifiers>
23 <eClassifiers xsi:type="ecore:EClass" name="TypeReference" abstract="true" eSuperTypes="#//TypeDescriptor"/>
24 <eClassifiers xsi:type="ecore:EClass" name="ComplexTypeReference" eSuperTypes="#//TypeReference">
25 <eStructuralFeatures xsi:type="ecore:EReference" name="referred" eType="#//Type"/>
26 </eClassifiers>
27 <eClassifiers xsi:type="ecore:EClass" name="PrimitiveTypeReference" abstract="true"
28 eSuperTypes="#//TypeReference"/>
29 <eClassifiers xsi:type="ecore:EClass" name="IntTypeReference" eSuperTypes="#//PrimitiveTypeReference"/>
30 <eClassifiers xsi:type="ecore:EClass" name="BoolTypeReference" eSuperTypes="#//PrimitiveTypeReference"/>
31 <eClassifiers xsi:type="ecore:EClass" name="RealTypeReference" eSuperTypes="#//PrimitiveTypeReference"/>
32 <eClassifiers xsi:type="ecore:EClass" name="Function" abstract="true" eSuperTypes="#//SymbolicDeclaration">
33 <eStructuralFeatures xsi:type="ecore:EReference" name="range" lowerBound="1" eType="#//TypeReference"
34 containment="true"/>
35 <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
36 eType="#//TypeReference" containment="true"/>
37 <eStructuralFeatures xsi:type="ecore:EReference" name="annotations" upperBound="-1"
38 eType="ecore:EClass logicproblem.ecore#//FunctionAnnotation" eOpposite="logicproblem.ecore#//FunctionAnnotation/target"/>
39 </eClassifiers>
40 <eClassifiers xsi:type="ecore:EClass" name="Term" abstract="true" eSuperTypes="#//TermDescription"/>
41 <eClassifiers xsi:type="ecore:EClass" name="SymbolicDeclaration" abstract="true"
42 eSuperTypes="#//TermDescription">
43 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
44 </eClassifiers>
45 <eClassifiers xsi:type="ecore:EClass" name="SymbolicValue" eSuperTypes="#//Term">
46 <eStructuralFeatures xsi:type="ecore:EReference" name="symbolicReference" eType="#//SymbolicDeclaration"/>
47 <eStructuralFeatures xsi:type="ecore:EReference" name="parameterSubstitutions"
48 upperBound="-1" eType="#//Term" containment="true"/>
49 </eClassifiers>
50 <eClassifiers xsi:type="ecore:EClass" name="AtomicTerm" abstract="true" eSuperTypes="#//Term"/>
51 <eClassifiers xsi:type="ecore:EClass" name="IntLiteral" eSuperTypes="#//AtomicTerm">
52 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
53 </eClassifiers>
54 <eClassifiers xsi:type="ecore:EClass" name="BoolLiteral" eSuperTypes="#//AtomicTerm">
55 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
56 </eClassifiers>
57 <eClassifiers xsi:type="ecore:EClass" name="RealLiteral" eSuperTypes="#//AtomicTerm">
58 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
59 </eClassifiers>
60 <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//SymbolicDeclaration">
61 <eStructuralFeatures xsi:type="ecore:EReference" name="range" lowerBound="1" eType="#//TypeReference"
62 containment="true"/>
63 </eClassifiers>
64 <eClassifiers xsi:type="ecore:EClass" name="QuantifiedExpression" abstract="true"
65 eSuperTypes="#//Term">
66 <eStructuralFeatures xsi:type="ecore:EReference" name="quantifiedVariables" upperBound="-1"
67 eType="#//Variable" containment="true"/>
68 <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//Term"
69 containment="true"/>
70 </eClassifiers>
71 <eClassifiers xsi:type="ecore:EClass" name="Exists" eSuperTypes="#//QuantifiedExpression"/>
72 <eClassifiers xsi:type="ecore:EClass" name="Forall" eSuperTypes="#//QuantifiedExpression"/>
73 <eClassifiers xsi:type="ecore:EClass" name="BoolOperation" abstract="true" eSuperTypes="#//Term"/>
74 <eClassifiers xsi:type="ecore:EClass" name="And" eSuperTypes="#//BoolOperation">
75 <eStructuralFeatures xsi:type="ecore:EReference" name="operands" upperBound="-1"
76 eType="#//Term" containment="true"/>
77 </eClassifiers>
78 <eClassifiers xsi:type="ecore:EClass" name="Or" eSuperTypes="#//BoolOperation">
79 <eStructuralFeatures xsi:type="ecore:EReference" name="operands" upperBound="-1"
80 eType="#//Term" containment="true"/>
81 </eClassifiers>
82 <eClassifiers xsi:type="ecore:EClass" name="Impl" eSuperTypes="#//BoolOperation">
83 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Term"
84 containment="true"/>
85 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Term"
86 containment="true"/>
87 </eClassifiers>
88 <eClassifiers xsi:type="ecore:EClass" name="Not" eSuperTypes="#//BoolOperation">
89 <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//Term"
90 containment="true"/>
91 </eClassifiers>
92 <eClassifiers xsi:type="ecore:EClass" name="Iff" eSuperTypes="#//BoolOperation">
93 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Term"
94 containment="true"/>
95 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Term"
96 containment="true"/>
97 </eClassifiers>
98 <eClassifiers xsi:type="ecore:EClass" name="PrimitiveRelation" abstract="true" eSuperTypes="#//Term"/>
99 <eClassifiers xsi:type="ecore:EClass" name="Equals" eSuperTypes="#//PrimitiveRelation">
100 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Term"
101 containment="true"/>
102 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Term"
103 containment="true"/>
104 </eClassifiers>
105 <eClassifiers xsi:type="ecore:EClass" name="Distinct" eSuperTypes="#//PrimitiveRelation">
106 <eStructuralFeatures xsi:type="ecore:EReference" name="operands" upperBound="-1"
107 eType="#//Term" containment="true"/>
108 </eClassifiers>
109 <eClassifiers xsi:type="ecore:EClass" name="LessThan" eSuperTypes="#//PrimitiveRelation">
110 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Term"
111 containment="true"/>
112 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Term"
113 containment="true"/>
114 </eClassifiers>
115 <eClassifiers xsi:type="ecore:EClass" name="MoreThan" eSuperTypes="#//PrimitiveRelation">
116 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Term"
117 containment="true"/>
118 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Term"
119 containment="true"/>
120 </eClassifiers>
121 <eClassifiers xsi:type="ecore:EClass" name="LessOrEqualThan" eSuperTypes="#//PrimitiveRelation">
122 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Term"
123 containment="true"/>
124 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Term"
125 containment="true"/>
126 </eClassifiers>
127 <eClassifiers xsi:type="ecore:EClass" name="MoreOrEqualThan" eSuperTypes="#//PrimitiveRelation">
128 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Term"
129 containment="true"/>
130 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Term"
131 containment="true"/>
132 </eClassifiers>
133 <eClassifiers xsi:type="ecore:EClass" name="IntOperation" abstract="true" eSuperTypes="#//Term">
134 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Term"
135 containment="true"/>
136 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Term"
137 containment="true"/>
138 </eClassifiers>
139 <eClassifiers xsi:type="ecore:EClass" name="Plus" eSuperTypes="#//IntOperation"/>
140 <eClassifiers xsi:type="ecore:EClass" name="Minus" eSuperTypes="#//IntOperation"/>
141 <eClassifiers xsi:type="ecore:EClass" name="Multiply" eSuperTypes="#//IntOperation"/>
142 <eClassifiers xsi:type="ecore:EClass" name="Divison" eSuperTypes="#//IntOperation"/>
143 <eClassifiers xsi:type="ecore:EClass" name="Mod" eSuperTypes="#//IntOperation"/>
144 <eClassifiers xsi:type="ecore:EClass" name="TypeDescriptor" abstract="true" interface="true"/>
145 <eClassifiers xsi:type="ecore:EClass" name="TermDescription" abstract="true" interface="true"/>
146 <eClassifiers xsi:type="ecore:EClass" name="Assertion">
147 <eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1" eType="#//Term"
148 containment="true"/>
149 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
150 <eStructuralFeatures xsi:type="ecore:EReference" name="annotations" upperBound="-1"
151 eType="ecore:EClass logicproblem.ecore#//AssertionAnnotation" eOpposite="logicproblem.ecore#//AssertionAnnotation/target"/>
152 </eClassifiers>
153 <eClassifiers xsi:type="ecore:EClass" name="Relation" abstract="true" eSuperTypes="#//SymbolicDeclaration">
154 <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
155 eType="#//TypeReference" containment="true"/>
156 <eStructuralFeatures xsi:type="ecore:EReference" name="annotations" upperBound="-1"
157 eType="ecore:EClass logicproblem.ecore#//RelationAnnotation" eOpposite="logicproblem.ecore#//RelationAnnotation/target"/>
158 </eClassifiers>
159 <eClassifiers xsi:type="ecore:EClass" name="Constant" abstract="true" eSuperTypes="#//SymbolicDeclaration">
160 <eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//TypeReference"
161 containment="true"/>
162 <eStructuralFeatures xsi:type="ecore:EReference" name="annotations" upperBound="-1"
163 eType="ecore:EClass logicproblem.ecore#//ConstantAnnotation" eOpposite="logicproblem.ecore#//ConstantAnnotation/target"/>
164 </eClassifiers>
165 <eClassifiers xsi:type="ecore:EClass" name="ConstantDefinition" eSuperTypes="#//Constant">
166 <eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1" eType="#//Term"
167 containment="true"/>
168 <eStructuralFeatures xsi:type="ecore:EReference" name="defines" eType="#//ConstantDeclaration"/>
169 </eClassifiers>
170 <eClassifiers xsi:type="ecore:EClass" name="RelationDefinition" eSuperTypes="#//Relation">
171 <eStructuralFeatures xsi:type="ecore:EReference" name="variables" upperBound="-1"
172 eType="#//Variable" containment="true"/>
173 <eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1" eType="#//Term"
174 containment="true"/>
175 <eStructuralFeatures xsi:type="ecore:EReference" name="defines" eType="#//RelationDeclaration"/>
176 </eClassifiers>
177 <eClassifiers xsi:type="ecore:EClass" name="FunctionDefinition" eSuperTypes="#//Function">
178 <eStructuralFeatures xsi:type="ecore:EReference" name="variable" upperBound="-1"
179 eType="#//Variable" containment="true"/>
180 <eStructuralFeatures xsi:type="ecore:EReference" name="defines" eType="#//FunctionDeclaration"/>
181 <eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1" eType="#//Term"
182 containment="true"/>
183 </eClassifiers>
184 <eClassifiers xsi:type="ecore:EClass" name="IfThenElse" eSuperTypes="#//Term">
185 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1"
186 eType="#//Term" containment="true"/>
187 <eStructuralFeatures xsi:type="ecore:EReference" name="ifTrue" lowerBound="1"
188 eType="#//Term" containment="true"/>
189 <eStructuralFeatures xsi:type="ecore:EReference" name="ifFalse" lowerBound="1"
190 eType="#//Term" containment="true"/>
191 </eClassifiers>
192 <eClassifiers xsi:type="ecore:EClass" name="ConstantDeclaration" eSuperTypes="#//Constant"/>
193 <eClassifiers xsi:type="ecore:EClass" name="RelationDeclaration" eSuperTypes="#//Relation"/>
194 <eClassifiers xsi:type="ecore:EClass" name="FunctionDeclaration" eSuperTypes="#//Function"/>
195 <eClassifiers xsi:type="ecore:EClass" name="TypeDeclaration" eSuperTypes="#//Type"/>
196 <eClassifiers xsi:type="ecore:EClass" name="UnknownBecauseUninterpreted" eSuperTypes="#//Term"/>
197 <eClassifiers xsi:type="ecore:EClass" name="InstanceOf" eSuperTypes="#//Term">
198 <eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1" eType="#//Term"
199 containment="true"/>
200 <eStructuralFeatures xsi:type="ecore:EReference" name="range" lowerBound="1" eType="#//TypeReference"
201 containment="true"/>
202 </eClassifiers>
203</ecore:EPackage>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.genmodel b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.genmodel
new file mode 100644
index 00000000..80550537
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.genmodel
@@ -0,0 +1,232 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3 xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen"
4 modelPluginID="hu.bme.mit.inf.dslreasoner.logic.model" modelName="Logiclanguage"
5 rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" importerID="org.eclipse.emf.importer.ecore"
6 complianceLevel="8.0" copyrightFields="false" operationReflection="true" importOrganizing="true">
7 <foreignModel>logiclanguage.ecore</foreignModel>
8 <foreignModel>logicproblem.ecore</foreignModel>
9 <foreignModel>logicresult.ecore</foreignModel>
10 <genPackages prefix="Logiclanguage" basePackage="hu.bme.mit.inf.dslreasoner.logic.model"
11 disposableProviderFactory="true" ecorePackage="logiclanguage.ecore#/">
12 <genClasses ecoreClass="logiclanguage.ecore#//Type">
13 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logiclanguage.ecore#//Type/name"/>
14 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Type/subtypes"/>
15 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Type/supertypes"/>
16 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logiclanguage.ecore#//Type/isAbstract"/>
17 </genClasses>
18 <genClasses ecoreClass="logiclanguage.ecore#//DefinedElement">
19 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//DefinedElement/definedInType"/>
20 </genClasses>
21 <genClasses ecoreClass="logiclanguage.ecore#//TypeDefinition">
22 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//TypeDefinition/elements"/>
23 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//TypeDefinition/defines"/>
24 </genClasses>
25 <genClasses ecoreClass="logiclanguage.ecore#//TypeReference"/>
26 <genClasses ecoreClass="logiclanguage.ecore#//ComplexTypeReference">
27 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//ComplexTypeReference/referred"/>
28 </genClasses>
29 <genClasses image="false" ecoreClass="logiclanguage.ecore#//PrimitiveTypeReference"/>
30 <genClasses ecoreClass="logiclanguage.ecore#//IntTypeReference"/>
31 <genClasses ecoreClass="logiclanguage.ecore#//BoolTypeReference"/>
32 <genClasses ecoreClass="logiclanguage.ecore#//RealTypeReference"/>
33 <genClasses ecoreClass="logiclanguage.ecore#//Function">
34 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Function/range"/>
35 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Function/parameters"/>
36 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Function/annotations"/>
37 </genClasses>
38 <genClasses image="false" ecoreClass="logiclanguage.ecore#//Term"/>
39 <genClasses ecoreClass="logiclanguage.ecore#//SymbolicDeclaration">
40 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logiclanguage.ecore#//SymbolicDeclaration/name"/>
41 </genClasses>
42 <genClasses ecoreClass="logiclanguage.ecore#//SymbolicValue">
43 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//SymbolicValue/symbolicReference"/>
44 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//SymbolicValue/parameterSubstitutions"/>
45 </genClasses>
46 <genClasses ecoreClass="logiclanguage.ecore#//AtomicTerm"/>
47 <genClasses ecoreClass="logiclanguage.ecore#//IntLiteral">
48 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logiclanguage.ecore#//IntLiteral/value"/>
49 </genClasses>
50 <genClasses ecoreClass="logiclanguage.ecore#//BoolLiteral">
51 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logiclanguage.ecore#//BoolLiteral/value"/>
52 </genClasses>
53 <genClasses ecoreClass="logiclanguage.ecore#//RealLiteral">
54 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logiclanguage.ecore#//RealLiteral/value"/>
55 </genClasses>
56 <genClasses ecoreClass="logiclanguage.ecore#//Variable">
57 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Variable/range"/>
58 </genClasses>
59 <genClasses image="false" ecoreClass="logiclanguage.ecore#//QuantifiedExpression">
60 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//QuantifiedExpression/quantifiedVariables"/>
61 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//QuantifiedExpression/expression"/>
62 </genClasses>
63 <genClasses ecoreClass="logiclanguage.ecore#//Exists"/>
64 <genClasses ecoreClass="logiclanguage.ecore#//Forall"/>
65 <genClasses ecoreClass="logiclanguage.ecore#//BoolOperation"/>
66 <genClasses ecoreClass="logiclanguage.ecore#//And">
67 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//And/operands"/>
68 </genClasses>
69 <genClasses ecoreClass="logiclanguage.ecore#//Or">
70 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Or/operands"/>
71 </genClasses>
72 <genClasses ecoreClass="logiclanguage.ecore#//Impl">
73 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Impl/leftOperand"/>
74 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Impl/rightOperand"/>
75 </genClasses>
76 <genClasses ecoreClass="logiclanguage.ecore#//Not">
77 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Not/operand"/>
78 </genClasses>
79 <genClasses ecoreClass="logiclanguage.ecore#//Iff">
80 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Iff/leftOperand"/>
81 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Iff/rightOperand"/>
82 </genClasses>
83 <genClasses image="false" ecoreClass="logiclanguage.ecore#//PrimitiveRelation"/>
84 <genClasses ecoreClass="logiclanguage.ecore#//Equals">
85 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Equals/leftOperand"/>
86 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Equals/rightOperand"/>
87 </genClasses>
88 <genClasses ecoreClass="logiclanguage.ecore#//Distinct">
89 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Distinct/operands"/>
90 </genClasses>
91 <genClasses ecoreClass="logiclanguage.ecore#//LessThan">
92 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//LessThan/leftOperand"/>
93 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//LessThan/rightOperand"/>
94 </genClasses>
95 <genClasses ecoreClass="logiclanguage.ecore#//MoreThan">
96 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//MoreThan/leftOperand"/>
97 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//MoreThan/rightOperand"/>
98 </genClasses>
99 <genClasses ecoreClass="logiclanguage.ecore#//LessOrEqualThan">
100 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//LessOrEqualThan/leftOperand"/>
101 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//LessOrEqualThan/rightOperand"/>
102 </genClasses>
103 <genClasses ecoreClass="logiclanguage.ecore#//MoreOrEqualThan">
104 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//MoreOrEqualThan/leftOperand"/>
105 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//MoreOrEqualThan/rightOperand"/>
106 </genClasses>
107 <genClasses image="false" ecoreClass="logiclanguage.ecore#//IntOperation">
108 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//IntOperation/leftOperand"/>
109 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//IntOperation/rightOperand"/>
110 </genClasses>
111 <genClasses ecoreClass="logiclanguage.ecore#//Plus"/>
112 <genClasses ecoreClass="logiclanguage.ecore#//Minus"/>
113 <genClasses ecoreClass="logiclanguage.ecore#//Multiply"/>
114 <genClasses ecoreClass="logiclanguage.ecore#//Divison"/>
115 <genClasses ecoreClass="logiclanguage.ecore#//Mod"/>
116 <genClasses image="false" ecoreClass="logiclanguage.ecore#//TypeDescriptor"/>
117 <genClasses image="false" ecoreClass="logiclanguage.ecore#//TermDescription"/>
118 <genClasses ecoreClass="logiclanguage.ecore#//Assertion">
119 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Assertion/value"/>
120 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logiclanguage.ecore#//Assertion/name"/>
121 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Assertion/annotations"/>
122 </genClasses>
123 <genClasses ecoreClass="logiclanguage.ecore#//Relation">
124 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Relation/parameters"/>
125 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Relation/annotations"/>
126 </genClasses>
127 <genClasses ecoreClass="logiclanguage.ecore#//Constant">
128 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Constant/type"/>
129 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//Constant/annotations"/>
130 </genClasses>
131 <genClasses ecoreClass="logiclanguage.ecore#//ConstantDefinition">
132 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//ConstantDefinition/value"/>
133 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//ConstantDefinition/defines"/>
134 </genClasses>
135 <genClasses ecoreClass="logiclanguage.ecore#//RelationDefinition">
136 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//RelationDefinition/variables"/>
137 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//RelationDefinition/value"/>
138 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//RelationDefinition/defines"/>
139 </genClasses>
140 <genClasses ecoreClass="logiclanguage.ecore#//FunctionDefinition">
141 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//FunctionDefinition/variable"/>
142 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//FunctionDefinition/defines"/>
143 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//FunctionDefinition/value"/>
144 </genClasses>
145 <genClasses ecoreClass="logiclanguage.ecore#//IfThenElse">
146 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//IfThenElse/condition"/>
147 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//IfThenElse/ifTrue"/>
148 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//IfThenElse/ifFalse"/>
149 </genClasses>
150 <genClasses ecoreClass="logiclanguage.ecore#//ConstantDeclaration"/>
151 <genClasses ecoreClass="logiclanguage.ecore#//RelationDeclaration"/>
152 <genClasses ecoreClass="logiclanguage.ecore#//FunctionDeclaration"/>
153 <genClasses ecoreClass="logiclanguage.ecore#//TypeDeclaration"/>
154 <genClasses ecoreClass="logiclanguage.ecore#//UnknownBecauseUninterpreted"/>
155 <genClasses ecoreClass="logiclanguage.ecore#//InstanceOf">
156 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//InstanceOf/value"/>
157 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logiclanguage.ecore#//InstanceOf/range"/>
158 </genClasses>
159 </genPackages>
160 <genPackages prefix="Logicproblem" basePackage="hu.bme.mit.inf.dslreasoner.logic.model"
161 disposableProviderFactory="true" ecorePackage="logicproblem.ecore#/">
162 <genClasses ecoreClass="logicproblem.ecore#//LogicProblem">
163 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logicproblem.ecore#//LogicProblem/types"/>
164 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logicproblem.ecore#//LogicProblem/functions"/>
165 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logicproblem.ecore#//LogicProblem/assertions"/>
166 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logicproblem.ecore#//LogicProblem/relations"/>
167 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logicproblem.ecore#//LogicProblem/constants"/>
168 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logicproblem.ecore#//LogicProblem/elements"/>
169 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logicproblem.ecore#//LogicProblem/containmentHierarchies"/>
170 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logicproblem.ecore#//LogicProblem/annotations"/>
171 </genClasses>
172 <genClasses ecoreClass="logicproblem.ecore#//ContainmentHierarchy">
173 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logicproblem.ecore#//ContainmentHierarchy/typesOrderedInHierarchy"/>
174 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logicproblem.ecore#//ContainmentHierarchy/parentFunctions"/>
175 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logicproblem.ecore#//ContainmentHierarchy/parentRelations"/>
176 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logicproblem.ecore#//ContainmentHierarchy/rootConstant"/>
177 </genClasses>
178 <genClasses ecoreClass="logicproblem.ecore#//RelationAnnotation">
179 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logicproblem.ecore#//RelationAnnotation/target"/>
180 </genClasses>
181 <genClasses ecoreClass="logicproblem.ecore#//ConstantAnnotation">
182 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logicproblem.ecore#//ConstantAnnotation/target"/>
183 </genClasses>
184 <genClasses ecoreClass="logicproblem.ecore#//FunctionAnnotation">
185 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logicproblem.ecore#//FunctionAnnotation/target"/>
186 </genClasses>
187 <genClasses ecoreClass="logicproblem.ecore#//AssertionAnnotation">
188 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logicproblem.ecore#//AssertionAnnotation/target"/>
189 </genClasses>
190 <genClasses ecoreClass="logicproblem.ecore#//Annotation"/>
191 </genPackages>
192 <genPackages prefix="Logicresult" basePackage="hu.bme.mit.inf.dslreasoner.logic.model"
193 disposableProviderFactory="true" ecorePackage="logicresult.ecore#/">
194 <genClasses image="false" ecoreClass="logicresult.ecore#//LogicResult">
195 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference logicresult.ecore#//LogicResult/problem"/>
196 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logicresult.ecore#//LogicResult/statistics"/>
197 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logicresult.ecore#//LogicResult/trace"/>
198 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logicresult.ecore#//LogicResult/representation"/>
199 </genClasses>
200 <genClasses ecoreClass="logicresult.ecore#//ModelResult">
201 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logicresult.ecore#//ModelResult/maxInteger"/>
202 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logicresult.ecore#//ModelResult/minInteger"/>
203 </genClasses>
204 <genClasses ecoreClass="logicresult.ecore#//InconsistencyResult"/>
205 <genClasses image="false" ecoreClass="logicresult.ecore#//UnknownResult"/>
206 <genClasses ecoreClass="logicresult.ecore#//InsuficientResourcesResult">
207 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logicresult.ecore#//InsuficientResourcesResult/resourceName"/>
208 </genClasses>
209 <genClasses ecoreClass="logicresult.ecore#//ErrorResult">
210 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logicresult.ecore#//ErrorResult/message"/>
211 </genClasses>
212 <genClasses ecoreClass="logicresult.ecore#//Statistics">
213 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference logicresult.ecore#//Statistics/entries"/>
214 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logicresult.ecore#//Statistics/transformationTime"/>
215 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logicresult.ecore#//Statistics/solverTime"/>
216 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logicresult.ecore#//Statistics/solverMemory"/>
217 </genClasses>
218 <genClasses ecoreClass="logicresult.ecore#//StatisticEntry">
219 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logicresult.ecore#//StatisticEntry/name"/>
220 </genClasses>
221 <genClasses ecoreClass="logicresult.ecore#//UndecidableResult"/>
222 <genClasses ecoreClass="logicresult.ecore#//IntStatisticEntry">
223 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logicresult.ecore#//IntStatisticEntry/value"/>
224 </genClasses>
225 <genClasses ecoreClass="logicresult.ecore#//RealStatisticEntry">
226 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logicresult.ecore#//RealStatisticEntry/value"/>
227 </genClasses>
228 <genClasses ecoreClass="logicresult.ecore#//StringStatisticEntry">
229 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logicresult.ecore#//StringStatisticEntry/value"/>
230 </genClasses>
231 </genPackages>
232</genmodel:GenModel>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.aird b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.aird
new file mode 100644
index 00000000..23bef98c
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.aird
@@ -0,0 +1,612 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<viewpoint:DAnalysis xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style" xmi:id="_1TrH4EN2EeaLedz6YCMZEQ" selectedViews="_1XkwcEN2EeaLedz6YCMZEQ _1Xw9sEN2EeaLedz6YCMZEQ _1X1PIEN2EeaLedz6YCMZEQ _1X_nMEN2EeaLedz6YCMZEQ" version="10.1.0.201509162000">
3 <semanticResources>logicproblem.ecore</semanticResources>
4 <semanticResources>logiclanguage.ecore</semanticResources>
5 <semanticResources>http://www.eclipse.org/emf/2002/Ecore</semanticResources>
6 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_1XkwcEN2EeaLedz6YCMZEQ">
7 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_2bjV8EN2EeaLedz6YCMZEQ" name="logicproblem class diagram">
8 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_2bjV8UN2EeaLedz6YCMZEQ" source="DANNOTATION_CUSTOMIZATION_KEY">
9 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_2bjV8kN2EeaLedz6YCMZEQ">
10 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_3OOwEEN2EeaLedz6YCMZEQ" sourceArrow="FillDiamond" routingStyle="manhattan">
11 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
12 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_3OOwEUN2EeaLedz6YCMZEQ" showIcon="false" labelExpression="service:render">
13 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
14 </centerLabelStyleDescription>
15 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_3OOwEkN2EeaLedz6YCMZEQ" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
16 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
17 </endLabelStyleDescription>
18 </computedStyleDescriptions>
19 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_G7yOEEN3EeaLedz6YCMZEQ" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
20 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
21 <labelFormat>bold</labelFormat>
22 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
23 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
24 </computedStyleDescriptions>
25 </data>
26 </ownedAnnotationEntries>
27 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_2btuAEN2EeaLedz6YCMZEQ" source="GMF_DIAGRAMS">
28 <data xmi:type="notation:Diagram" xmi:id="_2btuAUN2EeaLedz6YCMZEQ" type="Sirius" element="_2bjV8EN2EeaLedz6YCMZEQ" measurementUnit="Pixel">
29 <children xmi:type="notation:Node" xmi:id="_3OTokEN2EeaLedz6YCMZEQ" type="2003" element="_3N8cMEN2EeaLedz6YCMZEQ">
30 <children xmi:type="notation:Node" xmi:id="_3OUPoEN2EeaLedz6YCMZEQ" type="5007"/>
31 <children xmi:type="notation:Node" xmi:id="_3OU2sEN2EeaLedz6YCMZEQ" type="7004">
32 <styles xmi:type="notation:SortingStyle" xmi:id="_3OU2sUN2EeaLedz6YCMZEQ"/>
33 <styles xmi:type="notation:FilteringStyle" xmi:id="_3OU2skN2EeaLedz6YCMZEQ"/>
34 </children>
35 <styles xmi:type="notation:ShapeStyle" xmi:id="_3OTokUN2EeaLedz6YCMZEQ" fontName="Segoe UI" fontHeight="8"/>
36 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3OTokkN2EeaLedz6YCMZEQ" x="490" y="-115" height="40"/>
37 </children>
38 <children xmi:type="notation:Node" xmi:id="_G73toEN3EeaLedz6YCMZEQ" type="2003" element="_G7tVkEN3EeaLedz6YCMZEQ">
39 <children xmi:type="notation:Node" xmi:id="_G73to0N3EeaLedz6YCMZEQ" type="5007"/>
40 <children xmi:type="notation:Node" xmi:id="_G73tpEN3EeaLedz6YCMZEQ" type="7004">
41 <children xmi:type="notation:Node" xmi:id="_G74UsEN3EeaLedz6YCMZEQ" type="3010" element="_G7xnAEN3EeaLedz6YCMZEQ">
42 <styles xmi:type="notation:FontStyle" xmi:id="_G74UsUN3EeaLedz6YCMZEQ" fontName="Segoe UI" fontHeight="8" bold="true"/>
43 <layoutConstraint xmi:type="notation:Location" xmi:id="_G74UskN3EeaLedz6YCMZEQ"/>
44 </children>
45 <children xmi:type="notation:Node" xmi:id="_G747wEN3EeaLedz6YCMZEQ" type="3010" element="_G7y1IEN3EeaLedz6YCMZEQ">
46 <styles xmi:type="notation:FontStyle" xmi:id="_G747wUN3EeaLedz6YCMZEQ" fontName="Segoe UI" fontHeight="8" bold="true"/>
47 <layoutConstraint xmi:type="notation:Location" xmi:id="_G747wkN3EeaLedz6YCMZEQ"/>
48 </children>
49 <styles xmi:type="notation:SortingStyle" xmi:id="_G73tpUN3EeaLedz6YCMZEQ"/>
50 <styles xmi:type="notation:FilteringStyle" xmi:id="_G73tpkN3EeaLedz6YCMZEQ"/>
51 </children>
52 <styles xmi:type="notation:ShapeStyle" xmi:id="_G73toUN3EeaLedz6YCMZEQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
53 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G73tokN3EeaLedz6YCMZEQ" height="73"/>
54 </children>
55 <children xmi:type="notation:Node" xmi:id="_HiLfsEN3EeaLedz6YCMZEQ" type="2003" element="_HiAgkEN3EeaLedz6YCMZEQ">
56 <children xmi:type="notation:Node" xmi:id="_HiLfs0N3EeaLedz6YCMZEQ" type="5007"/>
57 <children xmi:type="notation:Node" xmi:id="_HiMGwEN3EeaLedz6YCMZEQ" type="7004">
58 <styles xmi:type="notation:SortingStyle" xmi:id="_HiMGwUN3EeaLedz6YCMZEQ"/>
59 <styles xmi:type="notation:FilteringStyle" xmi:id="_HiMGwkN3EeaLedz6YCMZEQ"/>
60 </children>
61 <styles xmi:type="notation:ShapeStyle" xmi:id="_HiLfsUN3EeaLedz6YCMZEQ" fontName="Segoe UI" fontHeight="8"/>
62 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HiLfskN3EeaLedz6YCMZEQ" x="-80" y="-130" height="33"/>
63 </children>
64 <children xmi:type="notation:Node" xmi:id="_IlsLIEN3EeaLedz6YCMZEQ" type="2003" element="_IljoQEN3EeaLedz6YCMZEQ">
65 <children xmi:type="notation:Node" xmi:id="_IlsLI0N3EeaLedz6YCMZEQ" type="5007"/>
66 <children xmi:type="notation:Node" xmi:id="_IlsLJEN3EeaLedz6YCMZEQ" type="7004">
67 <styles xmi:type="notation:SortingStyle" xmi:id="_IlsLJUN3EeaLedz6YCMZEQ"/>
68 <styles xmi:type="notation:FilteringStyle" xmi:id="_IlsLJkN3EeaLedz6YCMZEQ"/>
69 </children>
70 <styles xmi:type="notation:ShapeStyle" xmi:id="_IlsLIUN3EeaLedz6YCMZEQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
71 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IlsLIkN3EeaLedz6YCMZEQ" x="304" y="5" height="38"/>
72 </children>
73 <children xmi:type="notation:Node" xmi:id="_LiMYgEN3EeaLedz6YCMZEQ" type="2003" element="_LiCAcEN3EeaLedz6YCMZEQ">
74 <children xmi:type="notation:Node" xmi:id="_LiMYg0N3EeaLedz6YCMZEQ" type="5007"/>
75 <children xmi:type="notation:Node" xmi:id="_LiMYhEN3EeaLedz6YCMZEQ" type="7004">
76 <children xmi:type="notation:Node" xmi:id="_LiM_kEN3EeaLedz6YCMZEQ" type="3010" element="_LiGR4EN3EeaLedz6YCMZEQ">
77 <styles xmi:type="notation:FontStyle" xmi:id="_LiM_kUN3EeaLedz6YCMZEQ" fontName="Segoe UI" fontHeight="8" bold="true"/>
78 <layoutConstraint xmi:type="notation:Location" xmi:id="_LiM_kkN3EeaLedz6YCMZEQ"/>
79 </children>
80 <styles xmi:type="notation:SortingStyle" xmi:id="_LiMYhUN3EeaLedz6YCMZEQ"/>
81 <styles xmi:type="notation:FilteringStyle" xmi:id="_LiMYhkN3EeaLedz6YCMZEQ"/>
82 </children>
83 <styles xmi:type="notation:ShapeStyle" xmi:id="_LiMYgUN3EeaLedz6YCMZEQ" fontName="Segoe UI" fontHeight="8"/>
84 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LiMYgkN3EeaLedz6YCMZEQ" x="825" y="5" height="53"/>
85 </children>
86 <children xmi:type="notation:Node" xmi:id="_L8ZBMEN3EeaLedz6YCMZEQ" type="2003" element="_L8KXsEN3EeaLedz6YCMZEQ">
87 <children xmi:type="notation:Node" xmi:id="_L8ZoQEN3EeaLedz6YCMZEQ" type="5007"/>
88 <children xmi:type="notation:Node" xmi:id="_L8ZoQUN3EeaLedz6YCMZEQ" type="7004">
89 <styles xmi:type="notation:SortingStyle" xmi:id="_L8ZoQkN3EeaLedz6YCMZEQ"/>
90 <styles xmi:type="notation:FilteringStyle" xmi:id="_L8ZoQ0N3EeaLedz6YCMZEQ"/>
91 </children>
92 <styles xmi:type="notation:ShapeStyle" xmi:id="_L8ZBMUN3EeaLedz6YCMZEQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
93 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L8ZBMkN3EeaLedz6YCMZEQ" x="490" y="5" height="38"/>
94 </children>
95 <children xmi:type="notation:Node" xmi:id="_MhSeAEN3EeaLedz6YCMZEQ" type="2003" element="_MhFCoEN3EeaLedz6YCMZEQ">
96 <children xmi:type="notation:Node" xmi:id="_MhSeA0N3EeaLedz6YCMZEQ" type="5007"/>
97 <children xmi:type="notation:Node" xmi:id="_MhSeBEN3EeaLedz6YCMZEQ" type="7004">
98 <styles xmi:type="notation:SortingStyle" xmi:id="_MhSeBUN3EeaLedz6YCMZEQ"/>
99 <styles xmi:type="notation:FilteringStyle" xmi:id="_MhSeBkN3EeaLedz6YCMZEQ"/>
100 </children>
101 <styles xmi:type="notation:ShapeStyle" xmi:id="_MhSeAUN3EeaLedz6YCMZEQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
102 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MhSeAkN3EeaLedz6YCMZEQ" x="670" y="5" height="38"/>
103 </children>
104 <children xmi:type="notation:Node" xmi:id="_tFNcMEN3EeaLedz6YCMZEQ" type="2003" element="_tFBO8EN3EeaLedz6YCMZEQ">
105 <children xmi:type="notation:Node" xmi:id="_tFNcM0N3EeaLedz6YCMZEQ" type="5007"/>
106 <children xmi:type="notation:Node" xmi:id="_tFNcNEN3EeaLedz6YCMZEQ" type="7004">
107 <styles xmi:type="notation:SortingStyle" xmi:id="_tFNcNUN3EeaLedz6YCMZEQ"/>
108 <styles xmi:type="notation:FilteringStyle" xmi:id="_tFNcNkN3EeaLedz6YCMZEQ"/>
109 </children>
110 <styles xmi:type="notation:ShapeStyle" xmi:id="_tFNcMUN3EeaLedz6YCMZEQ" fontName="Segoe UI" fontHeight="8"/>
111 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tFNcMkN3EeaLedz6YCMZEQ" x="995" y="5" width="153" height="100"/>
112 </children>
113 <styles xmi:type="notation:DiagramStyle" xmi:id="_2btuAkN2EeaLedz6YCMZEQ"/>
114 <edges xmi:type="notation:Edge" xmi:id="_G747w0N3EeaLedz6YCMZEQ" type="4001" element="_G71RYEN3EeaLedz6YCMZEQ" source="_3OTokEN2EeaLedz6YCMZEQ" target="_G73toEN3EeaLedz6YCMZEQ">
115 <children xmi:type="notation:Node" xmi:id="_G75i0EN3EeaLedz6YCMZEQ" type="6001">
116 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G75i0UN3EeaLedz6YCMZEQ" x="-93" y="-10"/>
117 </children>
118 <children xmi:type="notation:Node" xmi:id="_G75i0kN3EeaLedz6YCMZEQ" type="6002">
119 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G75i00N3EeaLedz6YCMZEQ" x="1" y="-10"/>
120 </children>
121 <children xmi:type="notation:Node" xmi:id="_G75i1EN3EeaLedz6YCMZEQ" type="6003">
122 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G75i1UN3EeaLedz6YCMZEQ" x="9"/>
123 </children>
124 <styles xmi:type="notation:ConnectorStyle" xmi:id="_G747xEN3EeaLedz6YCMZEQ" routing="Rectilinear"/>
125 <styles xmi:type="notation:FontStyle" xmi:id="_G747xUN3EeaLedz6YCMZEQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
126 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G747xkN3EeaLedz6YCMZEQ" points="[0, 0, 402, -187]$[-402, 0, 0, -187]$[-402, 89, 0, -98]"/>
127 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G75i1kN3EeaLedz6YCMZEQ" id="(0.0,0.6829268292682927)"/>
128 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G75i10N3EeaLedz6YCMZEQ" id="(0.5,1.380281690140845)"/>
129 </edges>
130 <edges xmi:type="notation:Edge" xmi:id="_G75i2EN3EeaLedz6YCMZEQ" type="4001" element="_G714cEN3EeaLedz6YCMZEQ" source="_G73toEN3EeaLedz6YCMZEQ" target="_G73toEN3EeaLedz6YCMZEQ">
131 <children xmi:type="notation:Node" xmi:id="_G75i3EN3EeaLedz6YCMZEQ" type="6001">
132 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G75i3UN3EeaLedz6YCMZEQ" x="8" y="-5"/>
133 </children>
134 <children xmi:type="notation:Node" xmi:id="_G75i3kN3EeaLedz6YCMZEQ" type="6002">
135 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G75i30N3EeaLedz6YCMZEQ" x="-23" y="26"/>
136 </children>
137 <children xmi:type="notation:Node" xmi:id="_G75i4EN3EeaLedz6YCMZEQ" type="6003">
138 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G75i4UN3EeaLedz6YCMZEQ" x="-35" y="14"/>
139 </children>
140 <styles xmi:type="notation:ConnectorStyle" xmi:id="_G75i2UN3EeaLedz6YCMZEQ" routing="Rectilinear"/>
141 <styles xmi:type="notation:FontStyle" xmi:id="_G75i2kN3EeaLedz6YCMZEQ" fontName="Segoe UI" fontHeight="8"/>
142 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G75i20N3EeaLedz6YCMZEQ" points="[88, 24, 88, 24]$[112, 24, 112, 24]$[112, -64, 112, -64]$[44, -64, 44, -64]$[44, -49, 44, -49]"/>
143 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G76J4EN3EeaLedz6YCMZEQ" id="(0.5,0.6901408450704225)"/>
144 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G76J4UN3EeaLedz6YCMZEQ" id="(0.5,0.6901408450704225)"/>
145 </edges>
146 <edges xmi:type="notation:Edge" xmi:id="_HiMGw0N3EeaLedz6YCMZEQ" type="4001" element="_HiJDcEN3EeaLedz6YCMZEQ" source="_3OTokEN2EeaLedz6YCMZEQ" target="_HiLfsEN3EeaLedz6YCMZEQ">
147 <children xmi:type="notation:Node" xmi:id="_HiMt0EN3EeaLedz6YCMZEQ" type="6001">
148 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HiMt0UN3EeaLedz6YCMZEQ" x="-62" y="15"/>
149 </children>
150 <children xmi:type="notation:Node" xmi:id="_HiMt0kN3EeaLedz6YCMZEQ" type="6002">
151 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HiMt00N3EeaLedz6YCMZEQ" x="7" y="-10"/>
152 </children>
153 <children xmi:type="notation:Node" xmi:id="_HiMt1EN3EeaLedz6YCMZEQ" type="6003">
154 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HiMt1UN3EeaLedz6YCMZEQ" x="-446" y="42"/>
155 </children>
156 <styles xmi:type="notation:ConnectorStyle" xmi:id="_HiMGxEN3EeaLedz6YCMZEQ" routing="Rectilinear"/>
157 <styles xmi:type="notation:FontStyle" xmi:id="_HiMGxUN3EeaLedz6YCMZEQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
158 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HiMGxkN3EeaLedz6YCMZEQ" points="[-4, -1, 511, -99]$[-456, -1, 59, -99]"/>
159 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HiNU4EN3EeaLedz6YCMZEQ" id="(0.041666666666666664,0.2682926829268293)"/>
160 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HiNU4UN3EeaLedz6YCMZEQ" id="(0.5,3.161290322580645)"/>
161 </edges>
162 <edges xmi:type="notation:Edge" xmi:id="_IltZQEN3EeaLedz6YCMZEQ" type="4001" element="_Ilpu4EN3EeaLedz6YCMZEQ" source="_3OTokEN2EeaLedz6YCMZEQ" target="_IlsLIEN3EeaLedz6YCMZEQ">
163 <children xmi:type="notation:Node" xmi:id="_IltZREN3EeaLedz6YCMZEQ" type="6001">
164 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IltZRUN3EeaLedz6YCMZEQ" x="140" y="-16"/>
165 </children>
166 <children xmi:type="notation:Node" xmi:id="_IltZRkN3EeaLedz6YCMZEQ" type="6002">
167 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IltZR0N3EeaLedz6YCMZEQ" x="15" y="40"/>
168 </children>
169 <children xmi:type="notation:Node" xmi:id="_IltZSEN3EeaLedz6YCMZEQ" type="6003">
170 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IltZSUN3EeaLedz6YCMZEQ" x="-5" y="8"/>
171 </children>
172 <styles xmi:type="notation:ConnectorStyle" xmi:id="_IltZQUN3EeaLedz6YCMZEQ" routing="Rectilinear"/>
173 <styles xmi:type="notation:FontStyle" xmi:id="_IltZQkN3EeaLedz6YCMZEQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
174 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IltZQ0N3EeaLedz6YCMZEQ" points="[0, 98, 186, -180]$[0, 145, 186, -133]$[-186, 145, 0, -133]$[-186, 180, 0, -98]"/>
175 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IluAUEN3EeaLedz6YCMZEQ" id="(0.5,-1.5789473684210527)"/>
176 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IluAUUN3EeaLedz6YCMZEQ" id="(0.5,2.7222222222222223)"/>
177 </edges>
178 <edges xmi:type="notation:Edge" xmi:id="_LiNmoEN3EeaLedz6YCMZEQ" type="4001" element="_LiJVMEN3EeaLedz6YCMZEQ" source="_3OTokEN2EeaLedz6YCMZEQ" target="_LiMYgEN3EeaLedz6YCMZEQ">
179 <children xmi:type="notation:Node" xmi:id="_LiNmpEN3EeaLedz6YCMZEQ" type="6001">
180 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LiNmpUN3EeaLedz6YCMZEQ" x="42" y="10"/>
181 </children>
182 <children xmi:type="notation:Node" xmi:id="_LiNmpkN3EeaLedz6YCMZEQ" type="6002">
183 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LiNmp0N3EeaLedz6YCMZEQ" y="10"/>
184 </children>
185 <children xmi:type="notation:Node" xmi:id="_LiNmqEN3EeaLedz6YCMZEQ" type="6003">
186 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LiNmqUN3EeaLedz6YCMZEQ" x="10"/>
187 </children>
188 <styles xmi:type="notation:ConnectorStyle" xmi:id="_LiNmoUN3EeaLedz6YCMZEQ" routing="Rectilinear"/>
189 <styles xmi:type="notation:FontStyle" xmi:id="_LiNmokN3EeaLedz6YCMZEQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
190 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LiNmo0N3EeaLedz6YCMZEQ" points="[59, 55, -276, -223]$[335, 55, 0, -223]$[335, 180, 0, -98]"/>
191 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LiONsEN3EeaLedz6YCMZEQ" id="(0.5,-1.5789473684210527)"/>
192 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LiONsUN3EeaLedz6YCMZEQ" id="(0.5,1.9215686274509804)"/>
193 </edges>
194 <edges xmi:type="notation:Edge" xmi:id="_L8aPUEN3EeaLedz6YCMZEQ" type="4001" element="_L8UvwEN3EeaLedz6YCMZEQ" source="_3OTokEN2EeaLedz6YCMZEQ" target="_L8ZBMEN3EeaLedz6YCMZEQ">
195 <children xmi:type="notation:Node" xmi:id="_L8aPVEN3EeaLedz6YCMZEQ" type="6001">
196 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L8aPVUN3EeaLedz6YCMZEQ" x="22" y="39"/>
197 </children>
198 <children xmi:type="notation:Node" xmi:id="_L8a2YEN3EeaLedz6YCMZEQ" type="6002">
199 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L8a2YUN3EeaLedz6YCMZEQ" x="10"/>
200 </children>
201 <children xmi:type="notation:Node" xmi:id="_L8a2YkN3EeaLedz6YCMZEQ" type="6003">
202 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L8a2Y0N3EeaLedz6YCMZEQ" x="10"/>
203 </children>
204 <styles xmi:type="notation:ConnectorStyle" xmi:id="_L8aPUUN3EeaLedz6YCMZEQ" routing="Rectilinear"/>
205 <styles xmi:type="notation:FontStyle" xmi:id="_L8aPUkN3EeaLedz6YCMZEQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
206 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_L8aPU0N3EeaLedz6YCMZEQ" points="[0, 98, 0, -180]$[0, 278, 0, 0]"/>
207 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_L8a2ZEN3EeaLedz6YCMZEQ" id="(0.5,-1.5789473684210527)"/>
208 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_L8a2ZUN3EeaLedz6YCMZEQ" id="(0.5,2.7222222222222223)"/>
209 </edges>
210 <edges xmi:type="notation:Edge" xmi:id="_MhTsIEN3EeaLedz6YCMZEQ" type="4001" element="_MhOMkEN3EeaLedz6YCMZEQ" source="_3OTokEN2EeaLedz6YCMZEQ" target="_MhSeAEN3EeaLedz6YCMZEQ">
211 <children xmi:type="notation:Node" xmi:id="_MhTsJEN3EeaLedz6YCMZEQ" type="6001">
212 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MhTsJUN3EeaLedz6YCMZEQ" x="54" y="16"/>
213 </children>
214 <children xmi:type="notation:Node" xmi:id="_MhTsJkN3EeaLedz6YCMZEQ" type="6002">
215 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MhTsJ0N3EeaLedz6YCMZEQ" x="18" y="-96"/>
216 </children>
217 <children xmi:type="notation:Node" xmi:id="_MhTsKEN3EeaLedz6YCMZEQ" type="6003">
218 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MhTsKUN3EeaLedz6YCMZEQ" x="4" y="7"/>
219 </children>
220 <styles xmi:type="notation:ConnectorStyle" xmi:id="_MhTsIUN3EeaLedz6YCMZEQ" routing="Rectilinear"/>
221 <styles xmi:type="notation:FontStyle" xmi:id="_MhTsIkN3EeaLedz6YCMZEQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
222 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MhTsI0N3EeaLedz6YCMZEQ" points="[1, 98, -179, -180]$[1, 145, -179, -133]$[180, 145, 0, -133]$[180, 180, 0, -98]"/>
223 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MhTsKkN3EeaLedz6YCMZEQ" id="(0.5,-1.5789473684210527)"/>
224 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MhTsK0N3EeaLedz6YCMZEQ" id="(0.5,2.7222222222222223)"/>
225 </edges>
226 <edges xmi:type="notation:Edge" xmi:id="_3AjD8EN3EeaLedz6YCMZEQ" type="4001" element="_3AVBgEN3EeaLedz6YCMZEQ" source="_3OTokEN2EeaLedz6YCMZEQ" target="_tFNcMEN3EeaLedz6YCMZEQ">
227 <children xmi:type="notation:Node" xmi:id="_3AjrAEN3EeaLedz6YCMZEQ" type="6001">
228 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3AjrAUN3EeaLedz6YCMZEQ" y="-10"/>
229 </children>
230 <children xmi:type="notation:Node" xmi:id="_3AjrAkN3EeaLedz6YCMZEQ" type="6002">
231 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3AjrA0N3EeaLedz6YCMZEQ" y="10"/>
232 </children>
233 <children xmi:type="notation:Node" xmi:id="_3AjrBEN3EeaLedz6YCMZEQ" type="6003">
234 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3AjrBUN3EeaLedz6YCMZEQ" x="-16" y="172"/>
235 </children>
236 <styles xmi:type="notation:ConnectorStyle" xmi:id="_3AjD8UN3EeaLedz6YCMZEQ" routing="Rectilinear"/>
237 <styles xmi:type="notation:FontStyle" xmi:id="_3AjD8kN3EeaLedz6YCMZEQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
238 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3AjD80N3EeaLedz6YCMZEQ" points="[0, -16, -387, -136]$[482, -16, 95, -136]$[482, 100, 95, -20]"/>
239 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3AkSEEN3EeaLedz6YCMZEQ" id="(1.0,0.5128205128205128)"/>
240 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3AkSEUN3EeaLedz6YCMZEQ" id="(0.0,0.20408163265306123)"/>
241 </edges>
242 <edges xmi:type="notation:Edge" xmi:id="_8lKjEEN3EeaLedz6YCMZEQ" type="4001" element="_8k9uwEN3EeaLedz6YCMZEQ" source="_tFNcMEN3EeaLedz6YCMZEQ" target="_G73toEN3EeaLedz6YCMZEQ">
243 <children xmi:type="notation:Node" xmi:id="_8lKjFEN3EeaLedz6YCMZEQ" type="6001">
244 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8lKjFUN3EeaLedz6YCMZEQ" y="10"/>
245 </children>
246 <children xmi:type="notation:Node" xmi:id="_8lLKIEN3EeaLedz6YCMZEQ" type="6002">
247 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8lLKIUN3EeaLedz6YCMZEQ" x="91" y="10"/>
248 </children>
249 <children xmi:type="notation:Node" xmi:id="_8lLKIkN3EeaLedz6YCMZEQ" type="6003">
250 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8lLKI0N3EeaLedz6YCMZEQ" x="-134" y="10"/>
251 </children>
252 <styles xmi:type="notation:ConnectorStyle" xmi:id="_8lKjEUN3EeaLedz6YCMZEQ" routing="Rectilinear"/>
253 <styles xmi:type="notation:FontStyle" xmi:id="_8lKjEkN3EeaLedz6YCMZEQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
254 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8lKjE0N3EeaLedz6YCMZEQ" points="[76, 13, 895, 43]$[76, 70, 895, 100]$[-906, 70, -87, 100]$[-906, -19, -87, 11]"/>
255 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8lLKJEN3EeaLedz6YCMZEQ" id="(0.0,0.8673469387755102)"/>
256 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8lLKJUN3EeaLedz6YCMZEQ" id="(1.0,0.8450704225352113)"/>
257 </edges>
258 <edges xmi:type="notation:Edge" xmi:id="_DZ3xEEN4EeaLedz6YCMZEQ" type="4001" element="_DZsx8EN4EeaLedz6YCMZEQ" source="_tFNcMEN3EeaLedz6YCMZEQ" target="_IlsLIEN3EeaLedz6YCMZEQ">
259 <children xmi:type="notation:Node" xmi:id="_DZ4YIEN4EeaLedz6YCMZEQ" type="6001">
260 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZ4YIUN4EeaLedz6YCMZEQ" x="227" y="-9"/>
261 </children>
262 <children xmi:type="notation:Node" xmi:id="_DZ4YIkN4EeaLedz6YCMZEQ" type="6002">
263 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZ4YI0N4EeaLedz6YCMZEQ" x="-10" y="10"/>
264 </children>
265 <children xmi:type="notation:Node" xmi:id="_DZ4YJEN4EeaLedz6YCMZEQ" type="6003">
266 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DZ4YJUN4EeaLedz6YCMZEQ" x="-107" y="10"/>
267 </children>
268 <styles xmi:type="notation:ConnectorStyle" xmi:id="_DZ3xEUN4EeaLedz6YCMZEQ" routing="Rectilinear"/>
269 <styles xmi:type="notation:FontStyle" xmi:id="_DZ3xEkN4EeaLedz6YCMZEQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
270 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DZ3xE0N4EeaLedz6YCMZEQ" points="[0, 12, 573, 66]$[-631, 12, -58, 66]$[-631, -46, -58, 8]"/>
271 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DZ4YJkN4EeaLedz6YCMZEQ" id="(0.0,0.8673469387755102)"/>
272 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DZ4YJ0N4EeaLedz6YCMZEQ" id="(1.0,0.7948717948717948)"/>
273 </edges>
274 <edges xmi:type="notation:Edge" xmi:id="_GOVcwEN4EeaLedz6YCMZEQ" type="4001" element="_GOFlIEN4EeaLedz6YCMZEQ" source="_tFNcMEN3EeaLedz6YCMZEQ" target="_L8ZBMEN3EeaLedz6YCMZEQ">
275 <children xmi:type="notation:Node" xmi:id="_GOVcxEN4EeaLedz6YCMZEQ" type="6001">
276 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GOVcxUN4EeaLedz6YCMZEQ" x="95" y="-11"/>
277 </children>
278 <children xmi:type="notation:Node" xmi:id="_GOVcxkN4EeaLedz6YCMZEQ" type="6002">
279 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GOVcx0N4EeaLedz6YCMZEQ" x="-7" y="10"/>
280 </children>
281 <children xmi:type="notation:Node" xmi:id="_GOVcyEN4EeaLedz6YCMZEQ" type="6003">
282 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GOVcyUN4EeaLedz6YCMZEQ" x="-87" y="10"/>
283 </children>
284 <styles xmi:type="notation:ConnectorStyle" xmi:id="_GOVcwUN4EeaLedz6YCMZEQ" routing="Rectilinear"/>
285 <styles xmi:type="notation:FontStyle" xmi:id="_GOVcwkN4EeaLedz6YCMZEQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
286 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GOVcw0N4EeaLedz6YCMZEQ" points="[0, 10, 387, 55]$[-445, 10, -58, 55]$[-445, -26, -58, 19]"/>
287 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GOWD0EN4EeaLedz6YCMZEQ" id="(0.0,0.6632653061224489)"/>
288 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GOWD0UN4EeaLedz6YCMZEQ" id="(1.0,0.5128205128205128)"/>
289 </edges>
290 <edges xmi:type="notation:Edge" xmi:id="_KpeLUEN4EeaLedz6YCMZEQ" type="4001" element="_KpR-EEN4EeaLedz6YCMZEQ" source="_tFNcMEN3EeaLedz6YCMZEQ" target="_MhSeAEN3EeaLedz6YCMZEQ">
291 <children xmi:type="notation:Node" xmi:id="_KpeLVEN4EeaLedz6YCMZEQ" type="6001">
292 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KpeLVUN4EeaLedz6YCMZEQ" x="-14" y="-11"/>
293 </children>
294 <children xmi:type="notation:Node" xmi:id="_KpeLVkN4EeaLedz6YCMZEQ" type="6002">
295 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KpeLV0N4EeaLedz6YCMZEQ" x="-7" y="10"/>
296 </children>
297 <children xmi:type="notation:Node" xmi:id="_KpeLWEN4EeaLedz6YCMZEQ" type="6003">
298 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KpeLWUN4EeaLedz6YCMZEQ" x="-67" y="10"/>
299 </children>
300 <styles xmi:type="notation:ConnectorStyle" xmi:id="_KpeLUUN4EeaLedz6YCMZEQ" routing="Rectilinear"/>
301 <styles xmi:type="notation:FontStyle" xmi:id="_KpeLUkN4EeaLedz6YCMZEQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
302 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KpeLU0N4EeaLedz6YCMZEQ" points="[0, 6, 207, 35]$[-265, 6, -58, 35]$[-265, -10, -58, 19]"/>
303 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KpeLWkN4EeaLedz6YCMZEQ" id="(0.0,0.5)"/>
304 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KpeyYEN4EeaLedz6YCMZEQ" id="(1.0,0.5128205128205128)"/>
305 </edges>
306 </data>
307 </ownedAnnotationEntries>
308 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_3N8cMEN2EeaLedz6YCMZEQ" name="LogicProblem" tooltipText="" outgoingEdges="_G71RYEN3EeaLedz6YCMZEQ _HiJDcEN3EeaLedz6YCMZEQ _Ilpu4EN3EeaLedz6YCMZEQ _LiJVMEN3EeaLedz6YCMZEQ _L8UvwEN3EeaLedz6YCMZEQ _MhOMkEN3EeaLedz6YCMZEQ _3AVBgEN3EeaLedz6YCMZEQ" width="12" height="10">
309 <target xmi:type="ecore:EClass" href="logicproblem.ecore#//LogicProblem"/>
310 <semanticElements xmi:type="ecore:EClass" href="logicproblem.ecore#//LogicProblem"/>
311 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
312 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
313 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
314 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_3N-4cEN2EeaLedz6YCMZEQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
315 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
316 </ownedStyle>
317 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
318 </ownedDiagramElements>
319 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_G7tVkEN3EeaLedz6YCMZEQ" name="Type" tooltipText="" outgoingEdges="_G714cEN3EeaLedz6YCMZEQ" incomingEdges="_G71RYEN3EeaLedz6YCMZEQ _G714cEN3EeaLedz6YCMZEQ _8k9uwEN3EeaLedz6YCMZEQ" width="12" height="10">
320 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Type"/>
321 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Type"/>
322 <decorations xmi:type="viewpoint:Decoration" xmi:id="_G7zcMEN3EeaLedz6YCMZEQ">
323 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
324 </decorations>
325 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_G7t8oEN3EeaLedz6YCMZEQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
326 <labelFormat>italic</labelFormat>
327 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
328 </ownedStyle>
329 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
330 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_G7xnAEN3EeaLedz6YCMZEQ" name="name : EString" tooltipText="">
331 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Type/name"/>
332 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Type/name"/>
333 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_G7yOEUN3EeaLedz6YCMZEQ" labelAlignment="LEFT" description="_G7yOEEN3EeaLedz6YCMZEQ">
334 <labelFormat>bold</labelFormat>
335 </ownedStyle>
336 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
337 </ownedElements>
338 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_G7y1IEN3EeaLedz6YCMZEQ" name="isAbstract : EBoolean = false" tooltipText="">
339 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Type/isAbstract"/>
340 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Type/isAbstract"/>
341 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_G7y1IUN3EeaLedz6YCMZEQ" labelAlignment="LEFT" description="_G7yOEEN3EeaLedz6YCMZEQ">
342 <labelFormat>bold</labelFormat>
343 </ownedStyle>
344 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
345 </ownedElements>
346 </ownedDiagramElements>
347 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_G71RYEN3EeaLedz6YCMZEQ" name="[0..*] types" sourceNode="_3N8cMEN2EeaLedz6YCMZEQ" targetNode="_G7tVkEN3EeaLedz6YCMZEQ">
348 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/types"/>
349 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/types"/>
350 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_G71RYUN3EeaLedz6YCMZEQ" description="_3OOwEEN2EeaLedz6YCMZEQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
351 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_G71RYkN3EeaLedz6YCMZEQ" showIcon="false">
352 <customFeatures>labelSize</customFeatures>
353 </centerLabelStyle>
354 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_G71RY0N3EeaLedz6YCMZEQ" showIcon="false" labelColor="39,76,114">
355 <customFeatures>labelSize</customFeatures>
356 </endLabelStyle>
357 </ownedStyle>
358 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
359 </ownedDiagramElements>
360 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_G714cEN3EeaLedz6YCMZEQ" sourceNode="_G7tVkEN3EeaLedz6YCMZEQ" targetNode="_G7tVkEN3EeaLedz6YCMZEQ" beginLabel="[0..*] supertypes" endLabel="[0..*] subtypes">
361 <target xmi:type="ecore:EReference" href="logiclanguage.ecore#//Type/subtypes"/>
362 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Type/subtypes"/>
363 <semanticElements xmi:type="ecore:EReference" href="logiclanguage.ecore#//Type/supertypes"/>
364 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_G714cUN3EeaLedz6YCMZEQ" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0">
365 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style"/>
366 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_G714ckN3EeaLedz6YCMZEQ" showIcon="false"/>
367 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_G714c0N3EeaLedz6YCMZEQ" showIcon="false"/>
368 </ownedStyle>
369 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
370 </ownedDiagramElements>
371 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_HiAgkEN3EeaLedz6YCMZEQ" name="DefinedElement" tooltipText="" incomingEdges="_HiJDcEN3EeaLedz6YCMZEQ" width="12" height="10">
372 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//DefinedElement"/>
373 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//DefinedElement"/>
374 <decorations xmi:type="viewpoint:Decoration" xmi:id="_HiHOQEN3EeaLedz6YCMZEQ">
375 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
376 </decorations>
377 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
378 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
379 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
380 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_HiAgkUN3EeaLedz6YCMZEQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
381 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
382 </ownedStyle>
383 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
384 </ownedDiagramElements>
385 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_HiJDcEN3EeaLedz6YCMZEQ" name="[0..*] elements" sourceNode="_3N8cMEN2EeaLedz6YCMZEQ" targetNode="_HiAgkEN3EeaLedz6YCMZEQ">
386 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/elements"/>
387 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/elements"/>
388 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_HiJqgEN3EeaLedz6YCMZEQ" description="_3OOwEEN2EeaLedz6YCMZEQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
389 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_HiJqgUN3EeaLedz6YCMZEQ" showIcon="false">
390 <customFeatures>labelSize</customFeatures>
391 </centerLabelStyle>
392 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_HiJqgkN3EeaLedz6YCMZEQ" showIcon="false" labelColor="39,76,114">
393 <customFeatures>labelSize</customFeatures>
394 </endLabelStyle>
395 </ownedStyle>
396 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
397 </ownedDiagramElements>
398 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_IljoQEN3EeaLedz6YCMZEQ" name="Function" tooltipText="" incomingEdges="_Ilpu4EN3EeaLedz6YCMZEQ _DZsx8EN4EeaLedz6YCMZEQ" width="12" height="10">
399 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Function"/>
400 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Function"/>
401 <decorations xmi:type="viewpoint:Decoration" xmi:id="_IlogwEN3EeaLedz6YCMZEQ">
402 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
403 </decorations>
404 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
405 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
406 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
407 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_Pdi3EMDnEea_b6UyFzv22g" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
408 <labelFormat>italic</labelFormat>
409 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
410 </ownedStyle>
411 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
412 </ownedDiagramElements>
413 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Ilpu4EN3EeaLedz6YCMZEQ" name="[0..*] functions" sourceNode="_3N8cMEN2EeaLedz6YCMZEQ" targetNode="_IljoQEN3EeaLedz6YCMZEQ">
414 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/functions"/>
415 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/functions"/>
416 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_IlqV8EN3EeaLedz6YCMZEQ" description="_3OOwEEN2EeaLedz6YCMZEQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
417 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_IlqV8UN3EeaLedz6YCMZEQ" showIcon="false">
418 <customFeatures>labelSize</customFeatures>
419 </centerLabelStyle>
420 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_IlqV8kN3EeaLedz6YCMZEQ" showIcon="false" labelColor="39,76,114">
421 <customFeatures>labelSize</customFeatures>
422 </endLabelStyle>
423 </ownedStyle>
424 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
425 </ownedDiagramElements>
426 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_LiCAcEN3EeaLedz6YCMZEQ" name="Assertion" tooltipText="" incomingEdges="_LiJVMEN3EeaLedz6YCMZEQ" width="12" height="10">
427 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Assertion"/>
428 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Assertion"/>
429 <decorations xmi:type="viewpoint:Decoration" xmi:id="_LiG48EN3EeaLedz6YCMZEQ">
430 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
431 </decorations>
432 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
433 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
434 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
435 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_wJzDsMFcEea_b6UyFzv22g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
436 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
437 </ownedStyle>
438 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
439 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_LiGR4EN3EeaLedz6YCMZEQ" name="name : EString" tooltipText="">
440 <target xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Assertion/name"/>
441 <semanticElements xmi:type="ecore:EAttribute" href="logiclanguage.ecore#//Assertion/name"/>
442 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_LiGR4UN3EeaLedz6YCMZEQ" labelAlignment="LEFT" description="_G7yOEEN3EeaLedz6YCMZEQ">
443 <labelFormat>bold</labelFormat>
444 </ownedStyle>
445 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
446 </ownedElements>
447 </ownedDiagramElements>
448 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_LiJVMEN3EeaLedz6YCMZEQ" name="[0..*] assertions" sourceNode="_3N8cMEN2EeaLedz6YCMZEQ" targetNode="_LiCAcEN3EeaLedz6YCMZEQ">
449 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/assertions"/>
450 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/assertions"/>
451 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_LiJVMUN3EeaLedz6YCMZEQ" description="_3OOwEEN2EeaLedz6YCMZEQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
452 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_LiJVMkN3EeaLedz6YCMZEQ" showIcon="false">
453 <customFeatures>labelSize</customFeatures>
454 </centerLabelStyle>
455 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_LiJVM0N3EeaLedz6YCMZEQ" showIcon="false" labelColor="39,76,114">
456 <customFeatures>labelSize</customFeatures>
457 </endLabelStyle>
458 </ownedStyle>
459 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
460 </ownedDiagramElements>
461 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_L8KXsEN3EeaLedz6YCMZEQ" name="Relation" tooltipText="" incomingEdges="_L8UvwEN3EeaLedz6YCMZEQ _GOFlIEN4EeaLedz6YCMZEQ" width="12" height="10">
462 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Relation"/>
463 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Relation"/>
464 <decorations xmi:type="viewpoint:Decoration" xmi:id="_L8RscEN3EeaLedz6YCMZEQ">
465 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
466 </decorations>
467 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
468 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
469 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
470 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_PdkFMMDnEea_b6UyFzv22g" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
471 <labelFormat>italic</labelFormat>
472 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
473 </ownedStyle>
474 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
475 </ownedDiagramElements>
476 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_L8UvwEN3EeaLedz6YCMZEQ" name="[0..*] relations" sourceNode="_3N8cMEN2EeaLedz6YCMZEQ" targetNode="_L8KXsEN3EeaLedz6YCMZEQ">
477 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/relations"/>
478 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/relations"/>
479 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_L8VW0EN3EeaLedz6YCMZEQ" description="_3OOwEEN2EeaLedz6YCMZEQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
480 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_L8VW0UN3EeaLedz6YCMZEQ" showIcon="false">
481 <customFeatures>labelSize</customFeatures>
482 </centerLabelStyle>
483 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_L8VW0kN3EeaLedz6YCMZEQ" showIcon="false" labelColor="39,76,114">
484 <customFeatures>labelSize</customFeatures>
485 </endLabelStyle>
486 </ownedStyle>
487 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
488 </ownedDiagramElements>
489 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_MhFCoEN3EeaLedz6YCMZEQ" name="Constant" tooltipText="" incomingEdges="_MhOMkEN3EeaLedz6YCMZEQ _KpR-EEN4EeaLedz6YCMZEQ" width="12" height="10">
490 <target xmi:type="ecore:EClass" href="logiclanguage.ecore#//Constant"/>
491 <semanticElements xmi:type="ecore:EClass" href="logiclanguage.ecore#//Constant"/>
492 <decorations xmi:type="viewpoint:Decoration" xmi:id="_MhKiMEN3EeaLedz6YCMZEQ">
493 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
494 </decorations>
495 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
496 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
497 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
498 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_PdlTUMDnEea_b6UyFzv22g" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
499 <labelFormat>italic</labelFormat>
500 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
501 </ownedStyle>
502 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
503 </ownedDiagramElements>
504 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_MhOMkEN3EeaLedz6YCMZEQ" name="[0..*] constants" sourceNode="_3N8cMEN2EeaLedz6YCMZEQ" targetNode="_MhFCoEN3EeaLedz6YCMZEQ">
505 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/constants"/>
506 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/constants"/>
507 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_MhOzoEN3EeaLedz6YCMZEQ" description="_3OOwEEN2EeaLedz6YCMZEQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
508 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_MhOzoUN3EeaLedz6YCMZEQ" showIcon="false">
509 <customFeatures>labelSize</customFeatures>
510 </centerLabelStyle>
511 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_MhOzokN3EeaLedz6YCMZEQ" showIcon="false" labelColor="39,76,114">
512 <customFeatures>labelSize</customFeatures>
513 </endLabelStyle>
514 </ownedStyle>
515 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
516 </ownedDiagramElements>
517 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_tFBO8EN3EeaLedz6YCMZEQ" name="ContainmentHierarchy" tooltipText="" outgoingEdges="_8k9uwEN3EeaLedz6YCMZEQ _DZsx8EN4EeaLedz6YCMZEQ _GOFlIEN4EeaLedz6YCMZEQ _KpR-EEN4EeaLedz6YCMZEQ" incomingEdges="_3AVBgEN3EeaLedz6YCMZEQ" width="12" height="10">
518 <target xmi:type="ecore:EClass" href="logicproblem.ecore#//ContainmentHierarchy"/>
519 <semanticElements xmi:type="ecore:EClass" href="logicproblem.ecore#//ContainmentHierarchy"/>
520 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
521 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
522 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
523 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_tFB2AEN3EeaLedz6YCMZEQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
524 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
525 </ownedStyle>
526 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
527 </ownedDiagramElements>
528 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_3AVBgEN3EeaLedz6YCMZEQ" name="[0..*] containmentHierarchies" sourceNode="_3N8cMEN2EeaLedz6YCMZEQ" targetNode="_tFBO8EN3EeaLedz6YCMZEQ">
529 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/containmentHierarchies"/>
530 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//LogicProblem/containmentHierarchies"/>
531 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_PachAEO6EeaLedz6YCMZEQ" description="_3OOwEEN2EeaLedz6YCMZEQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
532 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_PachAUO6EeaLedz6YCMZEQ" showIcon="false"/>
533 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_PachAkO6EeaLedz6YCMZEQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
534 </ownedStyle>
535 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
536 </ownedDiagramElements>
537 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_8k9uwEN3EeaLedz6YCMZEQ" name="[0..*] typesOrderedInHierarchy" sourceNode="_tFBO8EN3EeaLedz6YCMZEQ" targetNode="_G7tVkEN3EeaLedz6YCMZEQ">
538 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//ContainmentHierarchy/typesOrderedInHierarchy"/>
539 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//ContainmentHierarchy/typesOrderedInHierarchy"/>
540 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_8k-V0EN3EeaLedz6YCMZEQ" routingStyle="manhattan" strokeColor="0,0,0">
541 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
542 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_8k-V0UN3EeaLedz6YCMZEQ" showIcon="false">
543 <customFeatures>labelSize</customFeatures>
544 </centerLabelStyle>
545 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_8k-V0kN3EeaLedz6YCMZEQ" showIcon="false" labelColor="39,76,114">
546 <customFeatures>labelSize</customFeatures>
547 </endLabelStyle>
548 </ownedStyle>
549 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
550 </ownedDiagramElements>
551 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_DZsx8EN4EeaLedz6YCMZEQ" name="[0..*] containmentFunctions" sourceNode="_tFBO8EN3EeaLedz6YCMZEQ" targetNode="_IljoQEN3EeaLedz6YCMZEQ">
552 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//ContainmentHierarchy/containmentFunctions"/>
553 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//ContainmentHierarchy/containmentFunctions"/>
554 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_DZsx8UN4EeaLedz6YCMZEQ" routingStyle="manhattan" strokeColor="0,0,0">
555 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
556 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_DZsx8kN4EeaLedz6YCMZEQ" showIcon="false">
557 <customFeatures>labelSize</customFeatures>
558 </centerLabelStyle>
559 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_DZsx80N4EeaLedz6YCMZEQ" showIcon="false" labelColor="39,76,114">
560 <customFeatures>labelSize</customFeatures>
561 </endLabelStyle>
562 </ownedStyle>
563 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
564 </ownedDiagramElements>
565 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_GOFlIEN4EeaLedz6YCMZEQ" name="[0..*] containmentRelations" sourceNode="_tFBO8EN3EeaLedz6YCMZEQ" targetNode="_L8KXsEN3EeaLedz6YCMZEQ">
566 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//ContainmentHierarchy/containmentRelations"/>
567 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//ContainmentHierarchy/containmentRelations"/>
568 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_GOGMMEN4EeaLedz6YCMZEQ" routingStyle="manhattan" strokeColor="0,0,0">
569 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
570 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_GOGMMUN4EeaLedz6YCMZEQ" showIcon="false">
571 <customFeatures>labelSize</customFeatures>
572 </centerLabelStyle>
573 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_GOGMMkN4EeaLedz6YCMZEQ" showIcon="false" labelColor="39,76,114">
574 <customFeatures>labelSize</customFeatures>
575 </endLabelStyle>
576 </ownedStyle>
577 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
578 </ownedDiagramElements>
579 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_KpR-EEN4EeaLedz6YCMZEQ" name="[0..1] rootConstant" sourceNode="_tFBO8EN3EeaLedz6YCMZEQ" targetNode="_MhFCoEN3EeaLedz6YCMZEQ">
580 <target xmi:type="ecore:EReference" href="logicproblem.ecore#//ContainmentHierarchy/rootConstant"/>
581 <semanticElements xmi:type="ecore:EReference" href="logicproblem.ecore#//ContainmentHierarchy/rootConstant"/>
582 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_KpR-EUN4EeaLedz6YCMZEQ" routingStyle="manhattan" strokeColor="0,0,0">
583 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
584 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_KpR-EkN4EeaLedz6YCMZEQ" showIcon="false">
585 <customFeatures>labelSize</customFeatures>
586 </centerLabelStyle>
587 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_KpR-E0N4EeaLedz6YCMZEQ" showIcon="false" labelColor="39,76,114">
588 <customFeatures>labelSize</customFeatures>
589 </endLabelStyle>
590 </ownedStyle>
591 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
592 </ownedDiagramElements>
593 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
594 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_2bjV9UN2EeaLedz6YCMZEQ"/>
595 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
596 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
597 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
598 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
599 <target xmi:type="ecore:EPackage" href="logicproblem.ecore#/"/>
600 </ownedRepresentations>
601 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
602 </ownedViews>
603 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_1Xw9sEN2EeaLedz6YCMZEQ">
604 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
605 </ownedViews>
606 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_1X1PIEN2EeaLedz6YCMZEQ">
607 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
608 </ownedViews>
609 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_1X_nMEN2EeaLedz6YCMZEQ">
610 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
611 </ownedViews>
612</viewpoint:DAnalysis>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore
new file mode 100644
index 00000000..ea4be457
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore
@@ -0,0 +1,49 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="logicproblem" nsURI="http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
4 nsPrefix="language">
5 <eClassifiers xsi:type="ecore:EClass" name="LogicProblem">
6 <eStructuralFeatures xsi:type="ecore:EReference" name="types" upperBound="-1"
7 eType="ecore:EClass logiclanguage.ecore#//Type" containment="true"/>
8 <eStructuralFeatures xsi:type="ecore:EReference" name="functions" upperBound="-1"
9 eType="ecore:EClass logiclanguage.ecore#//Function" containment="true"/>
10 <eStructuralFeatures xsi:type="ecore:EReference" name="assertions" upperBound="-1"
11 eType="ecore:EClass logiclanguage.ecore#//Assertion" containment="true"/>
12 <eStructuralFeatures xsi:type="ecore:EReference" name="relations" upperBound="-1"
13 eType="ecore:EClass logiclanguage.ecore#//Relation" containment="true"/>
14 <eStructuralFeatures xsi:type="ecore:EReference" name="constants" upperBound="-1"
15 eType="ecore:EClass logiclanguage.ecore#//Constant" containment="true"/>
16 <eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
17 eType="ecore:EClass logiclanguage.ecore#//DefinedElement" containment="true"/>
18 <eStructuralFeatures xsi:type="ecore:EReference" name="containmentHierarchies"
19 upperBound="-1" eType="#//ContainmentHierarchy" containment="true"/>
20 <eStructuralFeatures xsi:type="ecore:EReference" name="annotations" upperBound="-1"
21 eType="#//Annotation" containment="true"/>
22 </eClassifiers>
23 <eClassifiers xsi:type="ecore:EClass" name="ContainmentHierarchy">
24 <eStructuralFeatures xsi:type="ecore:EReference" name="typesOrderedInHierarchy"
25 upperBound="-1" eType="ecore:EClass logiclanguage.ecore#//Type"/>
26 <eStructuralFeatures xsi:type="ecore:EReference" name="containmentFunctions" upperBound="-1"
27 eType="ecore:EClass logiclanguage.ecore#//Function"/>
28 <eStructuralFeatures xsi:type="ecore:EReference" name="containmentRelations" upperBound="-1"
29 eType="ecore:EClass logiclanguage.ecore#//Relation"/>
30 <eStructuralFeatures xsi:type="ecore:EReference" name="rootConstant" eType="ecore:EClass logiclanguage.ecore#//Constant"/>
31 </eClassifiers>
32 <eClassifiers xsi:type="ecore:EClass" name="RelationAnnotation" eSuperTypes="#//Annotation">
33 <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
34 eType="ecore:EClass logiclanguage.ecore#//Relation" eOpposite="logiclanguage.ecore#//Relation/annotations"/>
35 </eClassifiers>
36 <eClassifiers xsi:type="ecore:EClass" name="ConstantAnnotation" eSuperTypes="#//Annotation">
37 <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
38 eType="ecore:EClass logiclanguage.ecore#//Constant" eOpposite="logiclanguage.ecore#//Constant/annotations"/>
39 </eClassifiers>
40 <eClassifiers xsi:type="ecore:EClass" name="FunctionAnnotation" eSuperTypes="#//Annotation">
41 <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
42 eType="ecore:EClass logiclanguage.ecore#//Function" eOpposite="logiclanguage.ecore#//Function/annotations"/>
43 </eClassifiers>
44 <eClassifiers xsi:type="ecore:EClass" name="AssertionAnnotation" eSuperTypes="#//Annotation">
45 <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
46 eType="ecore:EClass logiclanguage.ecore#//Assertion" eOpposite="logiclanguage.ecore#//Assertion/annotations"/>
47 </eClassifiers>
48 <eClassifiers xsi:type="ecore:EClass" name="Annotation"/>
49</ecore:EPackage>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logicresult.aird b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logicresult.aird
new file mode 100644
index 00000000..b088b72f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logicresult.aird
@@ -0,0 +1,740 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<viewpoint:DAnalysis xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style" xmi:id="_VnNagGCHEeWg-_mfCA72gg" selectedViews="_VqeJ4GCHEeWg-_mfCA72gg _Vqv2sGCHEeWg-_mfCA72gg _VrDYsGCHEeWg-_mfCA72gg _VrW6sGCHEeWg-_mfCA72gg" version="10.1.0.201509162000">
3 <semanticResources>logicresult.ecore</semanticResources>
4 <semanticResources>logicproblem.ecore</semanticResources>
5 <semanticResources>http://www.eclipse.org/emf/2002/Ecore</semanticResources>
6 <semanticResources>logiclanguage.ecore</semanticResources>
7 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_VqeJ4GCHEeWg-_mfCA72gg">
8 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_X4aoIGCHEeWg-_mfCA72gg" name="logicresult class diagram">
9 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_X4aoIWCHEeWg-_mfCA72gg" source="DANNOTATION_CUSTOMIZATION_KEY">
10 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_X4aoImCHEeWg-_mfCA72gg">
11 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_YumpQGCHEeWg-_mfCA72gg" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
12 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
13 <labelFormat>bold</labelFormat>
14 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
15 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
16 </computedStyleDescriptions>
17 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_YuzdkGCHEeWg-_mfCA72gg" sourceArrow="FillDiamond" routingStyle="manhattan">
18 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
19 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_YuzdkWCHEeWg-_mfCA72gg" showIcon="false" labelExpression="service:render">
20 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
21 </centerLabelStyleDescription>
22 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_YuzdkmCHEeWg-_mfCA72gg" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
23 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
24 </endLabelStyleDescription>
25 </computedStyleDescriptions>
26 </data>
27 </ownedAnnotationEntries>
28 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_X4bPMGCHEeWg-_mfCA72gg" source="GMF_DIAGRAMS">
29 <data xmi:type="notation:Diagram" xmi:id="_X4bPMWCHEeWg-_mfCA72gg" type="Sirius" element="_X4aoIGCHEeWg-_mfCA72gg" measurementUnit="Pixel">
30 <children xmi:type="notation:Node" xmi:id="_Yu91oGCHEeWg-_mfCA72gg" type="2003" element="_YuQD8GCHEeWg-_mfCA72gg">
31 <children xmi:type="notation:Node" xmi:id="_Yu-csGCHEeWg-_mfCA72gg" type="5007"/>
32 <children xmi:type="notation:Node" xmi:id="_Yu-csWCHEeWg-_mfCA72gg" type="7004">
33 <children xmi:type="notation:Node" xmi:id="_YvG_lGCHEeWg-_mfCA72gg" type="3010" element="_Yuk0EGCHEeWg-_mfCA72gg">
34 <styles xmi:type="notation:FontStyle" xmi:id="_YvG_lWCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
35 <layoutConstraint xmi:type="notation:Location" xmi:id="_YvG_lmCHEeWg-_mfCA72gg"/>
36 </children>
37 <children xmi:type="notation:Node" xmi:id="_YvHmoGCHEeWg-_mfCA72gg" type="3010" element="_YumCMGCHEeWg-_mfCA72gg">
38 <styles xmi:type="notation:FontStyle" xmi:id="_YvHmoWCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8" bold="true"/>
39 <layoutConstraint xmi:type="notation:Location" xmi:id="_YvHmomCHEeWg-_mfCA72gg"/>
40 </children>
41 <styles xmi:type="notation:SortingStyle" xmi:id="_Yu-csmCHEeWg-_mfCA72gg"/>
42 <styles xmi:type="notation:FilteringStyle" xmi:id="_Yu-cs2CHEeWg-_mfCA72gg"/>
43 </children>
44 <styles xmi:type="notation:ShapeStyle" xmi:id="_Yu91oWCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8" italic="true"/>
45 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Yu91omCHEeWg-_mfCA72gg" x="205" y="320"/>
46 </children>
47 <children xmi:type="notation:Node" xmi:id="_Yu-ctGCHEeWg-_mfCA72gg" type="2003" element="_YuRSEGCHEeWg-_mfCA72gg">
48 <children xmi:type="notation:Node" xmi:id="_Yu_DwGCHEeWg-_mfCA72gg" type="5007"/>
49 <children xmi:type="notation:Node" xmi:id="_Yu_DwWCHEeWg-_mfCA72gg" type="7004">
50 <children xmi:type="notation:Node" xmi:id="_YvINsGCHEeWg-_mfCA72gg" type="3010" element="_YunQUGCHEeWg-_mfCA72gg">
51 <styles xmi:type="notation:FontStyle" xmi:id="_YvINsWCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8" bold="true"/>
52 <layoutConstraint xmi:type="notation:Location" xmi:id="_YvINsmCHEeWg-_mfCA72gg"/>
53 </children>
54 <children xmi:type="notation:Node" xmi:id="_YvINs2CHEeWg-_mfCA72gg" type="3010" element="_YuoecWCHEeWg-_mfCA72gg">
55 <styles xmi:type="notation:FontStyle" xmi:id="_YvINtGCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8" bold="true"/>
56 <layoutConstraint xmi:type="notation:Location" xmi:id="_YvINtWCHEeWg-_mfCA72gg"/>
57 </children>
58 <styles xmi:type="notation:SortingStyle" xmi:id="_Yu_DwmCHEeWg-_mfCA72gg"/>
59 <styles xmi:type="notation:FilteringStyle" xmi:id="_Yu_Dw2CHEeWg-_mfCA72gg"/>
60 </children>
61 <styles xmi:type="notation:ShapeStyle" xmi:id="_Yu-ctWCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
62 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Yu-ctmCHEeWg-_mfCA72gg" x="40" y="480"/>
63 </children>
64 <children xmi:type="notation:Node" xmi:id="_Yu_DxGCHEeWg-_mfCA72gg" type="2003" element="_YuR5IWCHEeWg-_mfCA72gg">
65 <children xmi:type="notation:Node" xmi:id="_Yu_q0GCHEeWg-_mfCA72gg" type="5007"/>
66 <children xmi:type="notation:Node" xmi:id="_Yu_q0WCHEeWg-_mfCA72gg" type="7004">
67 <styles xmi:type="notation:SortingStyle" xmi:id="_Yu_q0mCHEeWg-_mfCA72gg"/>
68 <styles xmi:type="notation:FilteringStyle" xmi:id="_Yu_q02CHEeWg-_mfCA72gg"/>
69 </children>
70 <styles xmi:type="notation:ShapeStyle" xmi:id="_Yu_DxWCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
71 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Yu_DxmCHEeWg-_mfCA72gg" x="415" y="480"/>
72 </children>
73 <children xmi:type="notation:Node" xmi:id="_YvAR4GCHEeWg-_mfCA72gg" type="2003" element="_YuSgMWCHEeWg-_mfCA72gg">
74 <children xmi:type="notation:Node" xmi:id="_YvAR42CHEeWg-_mfCA72gg" type="5007"/>
75 <children xmi:type="notation:Node" xmi:id="_YvAR5GCHEeWg-_mfCA72gg" type="7004">
76 <styles xmi:type="notation:SortingStyle" xmi:id="_YvAR5WCHEeWg-_mfCA72gg"/>
77 <styles xmi:type="notation:FilteringStyle" xmi:id="_YvAR5mCHEeWg-_mfCA72gg"/>
78 </children>
79 <styles xmi:type="notation:ShapeStyle" xmi:id="_YvAR4WCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8" italic="true"/>
80 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvAR4mCHEeWg-_mfCA72gg" x="235" y="480"/>
81 </children>
82 <children xmi:type="notation:Node" xmi:id="_YvA48GCHEeWg-_mfCA72gg" type="2003" element="_YuTHQWCHEeWg-_mfCA72gg">
83 <children xmi:type="notation:Node" xmi:id="_YvA482CHEeWg-_mfCA72gg" type="5007"/>
84 <children xmi:type="notation:Node" xmi:id="_YvBgAGCHEeWg-_mfCA72gg" type="7004">
85 <children xmi:type="notation:Node" xmi:id="_YvI0wGCHEeWg-_mfCA72gg" type="3010" element="_YupskGCHEeWg-_mfCA72gg">
86 <styles xmi:type="notation:FontStyle" xmi:id="_YvI0wWCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8" bold="true"/>
87 <layoutConstraint xmi:type="notation:Location" xmi:id="_YvI0wmCHEeWg-_mfCA72gg"/>
88 </children>
89 <styles xmi:type="notation:SortingStyle" xmi:id="_YvBgAWCHEeWg-_mfCA72gg"/>
90 <styles xmi:type="notation:FilteringStyle" xmi:id="_YvBgAmCHEeWg-_mfCA72gg"/>
91 </children>
92 <styles xmi:type="notation:ShapeStyle" xmi:id="_YvA48WCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
93 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvA48mCHEeWg-_mfCA72gg" x="15" y="640"/>
94 </children>
95 <children xmi:type="notation:Node" xmi:id="_YvBgA2CHEeWg-_mfCA72gg" type="2003" element="_YuUVYGCHEeWg-_mfCA72gg">
96 <children xmi:type="notation:Node" xmi:id="_YvCHEGCHEeWg-_mfCA72gg" type="5007"/>
97 <children xmi:type="notation:Node" xmi:id="_YvCHEWCHEeWg-_mfCA72gg" type="7004">
98 <children xmi:type="notation:Node" xmi:id="_YvI0w2CHEeWg-_mfCA72gg" type="3010" element="_Yuq6sGCHEeWg-_mfCA72gg">
99 <styles xmi:type="notation:FontStyle" xmi:id="_YvI0xGCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8" bold="true"/>
100 <layoutConstraint xmi:type="notation:Location" xmi:id="_YvI0xWCHEeWg-_mfCA72gg"/>
101 </children>
102 <styles xmi:type="notation:SortingStyle" xmi:id="_YvCHEmCHEeWg-_mfCA72gg"/>
103 <styles xmi:type="notation:FilteringStyle" xmi:id="_YvCHE2CHEeWg-_mfCA72gg"/>
104 </children>
105 <styles xmi:type="notation:ShapeStyle" xmi:id="_YvBgBGCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
106 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvBgBWCHEeWg-_mfCA72gg" x="415" y="640"/>
107 </children>
108 <children xmi:type="notation:Node" xmi:id="_YvCHFGCHEeWg-_mfCA72gg" type="2003" element="_YuVjgGCHEeWg-_mfCA72gg">
109 <children xmi:type="notation:Node" xmi:id="_YvCHF2CHEeWg-_mfCA72gg" type="5007"/>
110 <children xmi:type="notation:Node" xmi:id="_YvCuIGCHEeWg-_mfCA72gg" type="7004">
111 <children xmi:type="notation:Node" xmi:id="_YvJb0GCHEeWg-_mfCA72gg" type="3010" element="_YusI0GCHEeWg-_mfCA72gg">
112 <styles xmi:type="notation:FontStyle" xmi:id="_YvJb0WCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8" bold="true"/>
113 <layoutConstraint xmi:type="notation:Location" xmi:id="_YvJb0mCHEeWg-_mfCA72gg"/>
114 </children>
115 <children xmi:type="notation:Node" xmi:id="_YvJb02CHEeWg-_mfCA72gg" type="3010" element="_Yusv4WCHEeWg-_mfCA72gg">
116 <styles xmi:type="notation:FontStyle" xmi:id="_YvJb1GCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8" bold="true"/>
117 <layoutConstraint xmi:type="notation:Location" xmi:id="_YvJb1WCHEeWg-_mfCA72gg"/>
118 </children>
119 <children xmi:type="notation:Node" xmi:id="_YvKC4GCHEeWg-_mfCA72gg" type="3010" element="_YutW8WCHEeWg-_mfCA72gg">
120 <styles xmi:type="notation:FontStyle" xmi:id="_YvKC4WCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
121 <layoutConstraint xmi:type="notation:Location" xmi:id="_YvKC4mCHEeWg-_mfCA72gg"/>
122 </children>
123 <styles xmi:type="notation:SortingStyle" xmi:id="_YvCuIWCHEeWg-_mfCA72gg"/>
124 <styles xmi:type="notation:FilteringStyle" xmi:id="_YvCuImCHEeWg-_mfCA72gg"/>
125 </children>
126 <styles xmi:type="notation:ShapeStyle" xmi:id="_YvCHFWCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
127 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvCHFmCHEeWg-_mfCA72gg" x="648" y="320"/>
128 </children>
129 <children xmi:type="notation:Node" xmi:id="_YvCuI2CHEeWg-_mfCA72gg" type="2003" element="_YuWxoGCHEeWg-_mfCA72gg">
130 <children xmi:type="notation:Node" xmi:id="_YvD8QGCHEeWg-_mfCA72gg" type="5007"/>
131 <children xmi:type="notation:Node" xmi:id="_YvEjUGCHEeWg-_mfCA72gg" type="7004">
132 <children xmi:type="notation:Node" xmi:id="_YvKC42CHEeWg-_mfCA72gg" type="3010" element="_YuulEGCHEeWg-_mfCA72gg">
133 <styles xmi:type="notation:FontStyle" xmi:id="_YvKC5GCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8" bold="true"/>
134 <layoutConstraint xmi:type="notation:Location" xmi:id="_YvKC5WCHEeWg-_mfCA72gg"/>
135 </children>
136 <styles xmi:type="notation:SortingStyle" xmi:id="_YvEjUWCHEeWg-_mfCA72gg"/>
137 <styles xmi:type="notation:FilteringStyle" xmi:id="_YvEjUmCHEeWg-_mfCA72gg"/>
138 </children>
139 <styles xmi:type="notation:ShapeStyle" xmi:id="_YvCuJGCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8" italic="true"/>
140 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvCuJWCHEeWg-_mfCA72gg" x="715" y="470"/>
141 </children>
142 <children xmi:type="notation:Node" xmi:id="_YvEjU2CHEeWg-_mfCA72gg" type="2003" element="_YuX_wGCHEeWg-_mfCA72gg">
143 <children xmi:type="notation:Node" xmi:id="_YvFKYGCHEeWg-_mfCA72gg" type="5007"/>
144 <children xmi:type="notation:Node" xmi:id="_YvFKYWCHEeWg-_mfCA72gg" type="7004">
145 <styles xmi:type="notation:SortingStyle" xmi:id="_YvFKYmCHEeWg-_mfCA72gg"/>
146 <styles xmi:type="notation:FilteringStyle" xmi:id="_YvFKY2CHEeWg-_mfCA72gg"/>
147 </children>
148 <styles xmi:type="notation:ShapeStyle" xmi:id="_YvEjVGCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
149 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvEjVWCHEeWg-_mfCA72gg" x="235" y="640"/>
150 </children>
151 <children xmi:type="notation:Node" xmi:id="_YvFxcGCHEeWg-_mfCA72gg" type="2003" element="_YuZN4GCHEeWg-_mfCA72gg">
152 <children xmi:type="notation:Node" xmi:id="_YvFxc2CHEeWg-_mfCA72gg" type="5007"/>
153 <children xmi:type="notation:Node" xmi:id="_YvGYgGCHEeWg-_mfCA72gg" type="7004">
154 <children xmi:type="notation:Node" xmi:id="_YvKp8GCHEeWg-_mfCA72gg" type="3010" element="_YuvzMGCHEeWg-_mfCA72gg">
155 <styles xmi:type="notation:FontStyle" xmi:id="_YvKp8WCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8" bold="true"/>
156 <layoutConstraint xmi:type="notation:Location" xmi:id="_YvKp8mCHEeWg-_mfCA72gg"/>
157 </children>
158 <styles xmi:type="notation:SortingStyle" xmi:id="_YvGYgWCHEeWg-_mfCA72gg"/>
159 <styles xmi:type="notation:FilteringStyle" xmi:id="_YvGYgmCHEeWg-_mfCA72gg"/>
160 </children>
161 <styles xmi:type="notation:ShapeStyle" xmi:id="_YvFxcWCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
162 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvFxcmCHEeWg-_mfCA72gg" x="755" y="630"/>
163 </children>
164 <children xmi:type="notation:Node" xmi:id="_YvGYg2CHEeWg-_mfCA72gg" type="2003" element="_YuacAGCHEeWg-_mfCA72gg">
165 <children xmi:type="notation:Node" xmi:id="_YvG_kGCHEeWg-_mfCA72gg" type="5007"/>
166 <children xmi:type="notation:Node" xmi:id="_YvG_kWCHEeWg-_mfCA72gg" type="7004">
167 <children xmi:type="notation:Node" xmi:id="_YvLRAGCHEeWg-_mfCA72gg" type="3010" element="_YuwaQGCHEeWg-_mfCA72gg">
168 <styles xmi:type="notation:FontStyle" xmi:id="_YvLRAWCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8" bold="true"/>
169 <layoutConstraint xmi:type="notation:Location" xmi:id="_YvLRAmCHEeWg-_mfCA72gg"/>
170 </children>
171 <styles xmi:type="notation:SortingStyle" xmi:id="_YvG_kmCHEeWg-_mfCA72gg"/>
172 <styles xmi:type="notation:FilteringStyle" xmi:id="_YvG_k2CHEeWg-_mfCA72gg"/>
173 </children>
174 <styles xmi:type="notation:ShapeStyle" xmi:id="_YvGYhGCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
175 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvGYhWCHEeWg-_mfCA72gg" x="605" y="630"/>
176 </children>
177 <children xmi:type="notation:Node" xmi:id="_3nsj0J7aEeae3ZkQhmCxsw" type="2003" element="_3m0aEJ7aEeae3ZkQhmCxsw">
178 <children xmi:type="notation:Node" xmi:id="_3n0foJ7aEeae3ZkQhmCxsw" type="5007"/>
179 <children xmi:type="notation:Node" xmi:id="_3n1GsJ7aEeae3ZkQhmCxsw" type="7004">
180 <children xmi:type="notation:Node" xmi:id="_7t5kMJ7aEeae3ZkQhmCxsw" type="3010" element="_7tUVYJ7aEeae3ZkQhmCxsw">
181 <styles xmi:type="notation:FontStyle" xmi:id="_7t5kMZ7aEeae3ZkQhmCxsw" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
182 <layoutConstraint xmi:type="notation:Location" xmi:id="_7t5kMp7aEeae3ZkQhmCxsw"/>
183 </children>
184 <styles xmi:type="notation:SortingStyle" xmi:id="_3n1GsZ7aEeae3ZkQhmCxsw"/>
185 <styles xmi:type="notation:FilteringStyle" xmi:id="_3n1Gsp7aEeae3ZkQhmCxsw"/>
186 </children>
187 <styles xmi:type="notation:ShapeStyle" xmi:id="_3nsj0Z7aEeae3ZkQhmCxsw" fontName="Segoe UI" fontHeight="8"/>
188 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3nsj0p7aEeae3ZkQhmCxsw" x="885" y="630" width="120" height="100"/>
189 </children>
190 <styles xmi:type="notation:DiagramStyle" xmi:id="_X4bPMmCHEeWg-_mfCA72gg"/>
191 <edges xmi:type="notation:Edge" xmi:id="_YvL4EGCHEeWg-_mfCA72gg" type="4001" element="_Yuy2gGCHEeWg-_mfCA72gg" source="_Yu91oGCHEeWg-_mfCA72gg" target="_YvCHFGCHEeWg-_mfCA72gg">
192 <children xmi:type="notation:Node" xmi:id="_YvL4FGCHEeWg-_mfCA72gg" type="6001">
193 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvL4FWCHEeWg-_mfCA72gg" y="-10"/>
194 </children>
195 <children xmi:type="notation:Node" xmi:id="_YvL4FmCHEeWg-_mfCA72gg" type="6002">
196 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvL4F2CHEeWg-_mfCA72gg" y="10"/>
197 </children>
198 <children xmi:type="notation:Node" xmi:id="_YvL4GGCHEeWg-_mfCA72gg" type="6003">
199 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvL4GWCHEeWg-_mfCA72gg" y="10"/>
200 </children>
201 <styles xmi:type="notation:ConnectorStyle" xmi:id="_YvL4EWCHEeWg-_mfCA72gg" routing="Rectilinear"/>
202 <styles xmi:type="notation:FontStyle" xmi:id="_YvL4EmCHEeWg-_mfCA72gg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
203 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YvL4E2CHEeWg-_mfCA72gg" points="[88, 49, -359, -49]$[182, 49, -265, -49]"/>
204 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvMfIGCHEeWg-_mfCA72gg" id="(0.5,0.0)"/>
205 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvMfIWCHEeWg-_mfCA72gg" id="(0.49732620320855614,1.0)"/>
206 </edges>
207 <edges xmi:type="notation:Edge" xmi:id="_YvMfImCHEeWg-_mfCA72gg" type="4001" element="_Yu0Eo2CHEeWg-_mfCA72gg" source="_YvCHFGCHEeWg-_mfCA72gg" target="_YvCuI2CHEeWg-_mfCA72gg">
208 <children xmi:type="notation:Node" xmi:id="_YvMfJmCHEeWg-_mfCA72gg" type="6001">
209 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvMfJ2CHEeWg-_mfCA72gg" x="-8" y="34"/>
210 </children>
211 <children xmi:type="notation:Node" xmi:id="_YvNGMGCHEeWg-_mfCA72gg" type="6002">
212 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvNGMWCHEeWg-_mfCA72gg" y="10"/>
213 </children>
214 <children xmi:type="notation:Node" xmi:id="_YvNGMmCHEeWg-_mfCA72gg" type="6003">
215 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvNGM2CHEeWg-_mfCA72gg" y="10"/>
216 </children>
217 <styles xmi:type="notation:ConnectorStyle" xmi:id="_YvMfI2CHEeWg-_mfCA72gg" routing="Rectilinear"/>
218 <styles xmi:type="notation:FontStyle" xmi:id="_YvMfJGCHEeWg-_mfCA72gg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
219 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YvMfJWCHEeWg-_mfCA72gg" points="[-80, 47, -114, -201]$[34, 47, 0, -201]$[34, 150, 0, -98]"/>
220 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvNGNGCHEeWg-_mfCA72gg" id="(0.49732620320855614,0.0)"/>
221 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvNGNWCHEeWg-_mfCA72gg" id="(0.5,1.0)"/>
222 </edges>
223 <edges xmi:type="notation:Edge" xmi:id="_YvNGNmCHEeWg-_mfCA72gg" type="4001" element="_Yu1SwGCHEeWg-_mfCA72gg" source="_Yu-ctGCHEeWg-_mfCA72gg" target="_Yu91oGCHEeWg-_mfCA72gg">
224 <children xmi:type="notation:Node" xmi:id="_YvNtQGCHEeWg-_mfCA72gg" type="6001">
225 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvNtQWCHEeWg-_mfCA72gg" y="-10"/>
226 </children>
227 <children xmi:type="notation:Node" xmi:id="_YvNtQmCHEeWg-_mfCA72gg" type="6002">
228 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvNtQ2CHEeWg-_mfCA72gg" y="10"/>
229 </children>
230 <children xmi:type="notation:Node" xmi:id="_YvNtRGCHEeWg-_mfCA72gg" type="6003">
231 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvNtRWCHEeWg-_mfCA72gg" y="10"/>
232 </children>
233 <styles xmi:type="notation:ConnectorStyle" xmi:id="_YvNGN2CHEeWg-_mfCA72gg" routing="Tree"/>
234 <styles xmi:type="notation:FontStyle" xmi:id="_YvNGOGCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
235 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YvNGOWCHEeWg-_mfCA72gg" points="[0, 0, -187, 60]$[187, -60, 0, 0]"/>
236 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvNtRmCHEeWg-_mfCA72gg" id="(0.4962406015037593,0.0)"/>
237 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvNtR2CHEeWg-_mfCA72gg" id="(0.5,1.0)"/>
238 </edges>
239 <edges xmi:type="notation:Edge" xmi:id="_YvOUUGCHEeWg-_mfCA72gg" type="4001" element="_Yu1502CHEeWg-_mfCA72gg" source="_Yu_DxGCHEeWg-_mfCA72gg" target="_Yu91oGCHEeWg-_mfCA72gg">
240 <children xmi:type="notation:Node" xmi:id="_YvOUVGCHEeWg-_mfCA72gg" type="6001">
241 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvOUVWCHEeWg-_mfCA72gg" y="-10"/>
242 </children>
243 <children xmi:type="notation:Node" xmi:id="_YvOUVmCHEeWg-_mfCA72gg" type="6002">
244 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvOUV2CHEeWg-_mfCA72gg" y="10"/>
245 </children>
246 <children xmi:type="notation:Node" xmi:id="_YvOUWGCHEeWg-_mfCA72gg" type="6003">
247 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvOUWWCHEeWg-_mfCA72gg" y="10"/>
248 </children>
249 <styles xmi:type="notation:ConnectorStyle" xmi:id="_YvOUUWCHEeWg-_mfCA72gg" routing="Tree"/>
250 <styles xmi:type="notation:FontStyle" xmi:id="_YvOUUmCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
251 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YvOUU2CHEeWg-_mfCA72gg" points="[0, 0, 182, 60]$[-182, -60, 0, 0]"/>
252 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvO7YGCHEeWg-_mfCA72gg" id="(0.5,0.0)"/>
253 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvO7YWCHEeWg-_mfCA72gg" id="(0.5,1.0)"/>
254 </edges>
255 <edges xmi:type="notation:Edge" xmi:id="_YvO7YmCHEeWg-_mfCA72gg" type="4001" element="_Yu2g42CHEeWg-_mfCA72gg" source="_YvAR4GCHEeWg-_mfCA72gg" target="_Yu91oGCHEeWg-_mfCA72gg">
256 <children xmi:type="notation:Node" xmi:id="_YvO7ZmCHEeWg-_mfCA72gg" type="6001">
257 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvO7Z2CHEeWg-_mfCA72gg" y="-10"/>
258 </children>
259 <children xmi:type="notation:Node" xmi:id="_YvPicGCHEeWg-_mfCA72gg" type="6002">
260 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvPicWCHEeWg-_mfCA72gg" y="10"/>
261 </children>
262 <children xmi:type="notation:Node" xmi:id="_YvPicmCHEeWg-_mfCA72gg" type="6003">
263 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvPic2CHEeWg-_mfCA72gg" y="10"/>
264 </children>
265 <styles xmi:type="notation:ConnectorStyle" xmi:id="_YvO7Y2CHEeWg-_mfCA72gg" routing="Tree"/>
266 <styles xmi:type="notation:FontStyle" xmi:id="_YvO7ZGCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
267 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YvO7ZWCHEeWg-_mfCA72gg" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
268 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvPidGCHEeWg-_mfCA72gg" id="(0.5,0.0)"/>
269 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvPidWCHEeWg-_mfCA72gg" id="(0.5,1.0)"/>
270 </edges>
271 <edges xmi:type="notation:Edge" xmi:id="_YvPidmCHEeWg-_mfCA72gg" type="4001" element="_Yu3vAGCHEeWg-_mfCA72gg" source="_YvA48GCHEeWg-_mfCA72gg" target="_YvAR4GCHEeWg-_mfCA72gg">
272 <children xmi:type="notation:Node" xmi:id="_YvQJgGCHEeWg-_mfCA72gg" type="6001">
273 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvQJgWCHEeWg-_mfCA72gg" y="-10"/>
274 </children>
275 <children xmi:type="notation:Node" xmi:id="_YvQJgmCHEeWg-_mfCA72gg" type="6002">
276 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvQJg2CHEeWg-_mfCA72gg" y="10"/>
277 </children>
278 <children xmi:type="notation:Node" xmi:id="_YvQJhGCHEeWg-_mfCA72gg" type="6003">
279 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvQJhWCHEeWg-_mfCA72gg" y="10"/>
280 </children>
281 <styles xmi:type="notation:ConnectorStyle" xmi:id="_YvPid2CHEeWg-_mfCA72gg" routing="Tree"/>
282 <styles xmi:type="notation:FontStyle" xmi:id="_YvPieGCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
283 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YvPieWCHEeWg-_mfCA72gg" points="[0, 0, -201, 60]$[201, -60, 0, 0]"/>
284 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvQJhmCHEeWg-_mfCA72gg" id="(0.4968944099378882,0.0)"/>
285 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvQJh2CHEeWg-_mfCA72gg" id="(0.5,1.0)"/>
286 </edges>
287 <edges xmi:type="notation:Edge" xmi:id="_YvQwkGCHEeWg-_mfCA72gg" type="4001" element="_Yu4WEGCHEeWg-_mfCA72gg" source="_YvBgA2CHEeWg-_mfCA72gg" target="_YvAR4GCHEeWg-_mfCA72gg">
288 <children xmi:type="notation:Node" xmi:id="_YvQwlGCHEeWg-_mfCA72gg" type="6001">
289 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvQwlWCHEeWg-_mfCA72gg" y="-10"/>
290 </children>
291 <children xmi:type="notation:Node" xmi:id="_YvQwlmCHEeWg-_mfCA72gg" type="6002">
292 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvQwl2CHEeWg-_mfCA72gg" y="10"/>
293 </children>
294 <children xmi:type="notation:Node" xmi:id="_YvQwmGCHEeWg-_mfCA72gg" type="6003">
295 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvQwmWCHEeWg-_mfCA72gg" y="10"/>
296 </children>
297 <styles xmi:type="notation:ConnectorStyle" xmi:id="_YvQwkWCHEeWg-_mfCA72gg" routing="Tree"/>
298 <styles xmi:type="notation:FontStyle" xmi:id="_YvQwkmCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
299 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YvQwk2CHEeWg-_mfCA72gg" points="[0, 0, 181, 60]$[-181, -60, 0, 0]"/>
300 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvRXoGCHEeWg-_mfCA72gg" id="(0.5,0.0)"/>
301 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvRXoWCHEeWg-_mfCA72gg" id="(0.5,1.0)"/>
302 </edges>
303 <edges xmi:type="notation:Edge" xmi:id="_YvR-sGCHEeWg-_mfCA72gg" type="4001" element="_Yu49IGCHEeWg-_mfCA72gg" source="_YvEjU2CHEeWg-_mfCA72gg" target="_YvAR4GCHEeWg-_mfCA72gg">
304 <children xmi:type="notation:Node" xmi:id="_YvTM0GCHEeWg-_mfCA72gg" type="6001">
305 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvTM0WCHEeWg-_mfCA72gg" y="-10"/>
306 </children>
307 <children xmi:type="notation:Node" xmi:id="_YvUa8GCHEeWg-_mfCA72gg" type="6002">
308 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvUa8WCHEeWg-_mfCA72gg" y="10"/>
309 </children>
310 <children xmi:type="notation:Node" xmi:id="_YvVCAGCHEeWg-_mfCA72gg" type="6003">
311 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvVCAWCHEeWg-_mfCA72gg" y="10"/>
312 </children>
313 <styles xmi:type="notation:ConnectorStyle" xmi:id="_YvR-sWCHEeWg-_mfCA72gg" routing="Tree"/>
314 <styles xmi:type="notation:FontStyle" xmi:id="_YvR-smCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
315 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YvR-s2CHEeWg-_mfCA72gg" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
316 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvVCAmCHEeWg-_mfCA72gg" id="(0.5,0.0)"/>
317 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvVCA2CHEeWg-_mfCA72gg" id="(0.5,1.0)"/>
318 </edges>
319 <edges xmi:type="notation:Edge" xmi:id="_YvVpEGCHEeWg-_mfCA72gg" type="4001" element="_Yu5kMGCHEeWg-_mfCA72gg" source="_YvFxcGCHEeWg-_mfCA72gg" target="_YvCuI2CHEeWg-_mfCA72gg">
320 <children xmi:type="notation:Node" xmi:id="_YvVpFGCHEeWg-_mfCA72gg" type="6001">
321 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvVpFWCHEeWg-_mfCA72gg" y="-10"/>
322 </children>
323 <children xmi:type="notation:Node" xmi:id="_YvWQIGCHEeWg-_mfCA72gg" type="6002">
324 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvWQIWCHEeWg-_mfCA72gg" y="10"/>
325 </children>
326 <children xmi:type="notation:Node" xmi:id="_YvWQImCHEeWg-_mfCA72gg" type="6003">
327 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvWQI2CHEeWg-_mfCA72gg" y="10"/>
328 </children>
329 <styles xmi:type="notation:ConnectorStyle" xmi:id="_YvVpEWCHEeWg-_mfCA72gg" routing="Tree"/>
330 <styles xmi:type="notation:FontStyle" xmi:id="_YvVpEmCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
331 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YvVpE2CHEeWg-_mfCA72gg" points="[0, 0, 214, 60]$[-214, -60, 0, 0]"/>
332 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvWQJGCHEeWg-_mfCA72gg" id="(0.5,0.0)"/>
333 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvWQJWCHEeWg-_mfCA72gg" id="(0.5,1.0)"/>
334 </edges>
335 <edges xmi:type="notation:Edge" xmi:id="_YvW3MGCHEeWg-_mfCA72gg" type="4001" element="_Yu6LQGCHEeWg-_mfCA72gg" source="_YvGYg2CHEeWg-_mfCA72gg" target="_YvCuI2CHEeWg-_mfCA72gg">
336 <children xmi:type="notation:Node" xmi:id="_YvW3NGCHEeWg-_mfCA72gg" type="6001">
337 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvW3NWCHEeWg-_mfCA72gg" y="-10"/>
338 </children>
339 <children xmi:type="notation:Node" xmi:id="_YvW3NmCHEeWg-_mfCA72gg" type="6002">
340 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvW3N2CHEeWg-_mfCA72gg" y="10"/>
341 </children>
342 <children xmi:type="notation:Node" xmi:id="_YvW3OGCHEeWg-_mfCA72gg" type="6003">
343 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YvW3OWCHEeWg-_mfCA72gg" y="10"/>
344 </children>
345 <styles xmi:type="notation:ConnectorStyle" xmi:id="_YvW3MWCHEeWg-_mfCA72gg" routing="Tree"/>
346 <styles xmi:type="notation:FontStyle" xmi:id="_YvW3MmCHEeWg-_mfCA72gg" fontName="Segoe UI" fontHeight="8"/>
347 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YvW3M2CHEeWg-_mfCA72gg" points="[0, 0, -224, 60]$[224, -60, 0, 0]"/>
348 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvXeQGCHEeWg-_mfCA72gg" id="(0.49645390070921985,0.0)"/>
349 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YvXeQWCHEeWg-_mfCA72gg" id="(0.5,1.0)"/>
350 </edges>
351 <edges xmi:type="notation:Edge" xmi:id="_DUW_QJ7bEeae3ZkQhmCxsw" type="4001" element="_DT2o8J7bEeae3ZkQhmCxsw" source="_3nsj0J7aEeae3ZkQhmCxsw" target="_YvCuI2CHEeWg-_mfCA72gg">
352 <children xmi:type="notation:Node" xmi:id="_DUY0cJ7bEeae3ZkQhmCxsw" type="6001">
353 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DUY0cZ7bEeae3ZkQhmCxsw" y="-10"/>
354 </children>
355 <children xmi:type="notation:Node" xmi:id="_DUaCkJ7bEeae3ZkQhmCxsw" type="6002">
356 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DUaCkZ7bEeae3ZkQhmCxsw" y="10"/>
357 </children>
358 <children xmi:type="notation:Node" xmi:id="_DUbQsJ7bEeae3ZkQhmCxsw" type="6003">
359 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DUbQsZ7bEeae3ZkQhmCxsw" y="10"/>
360 </children>
361 <styles xmi:type="notation:ConnectorStyle" xmi:id="_DUW_QZ7bEeae3ZkQhmCxsw" routing="Tree"/>
362 <styles xmi:type="notation:FontStyle" xmi:id="_DUW_Qp7bEeae3ZkQhmCxsw" fontName="Segoe UI" fontHeight="8"/>
363 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DUW_Q57bEeae3ZkQhmCxsw" points="[0, 0, 127, 90]$[-127, -90, 0, 0]"/>
364 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUb3wJ7bEeae3ZkQhmCxsw" id="(0.635593220338983,0.0)"/>
365 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUb3wZ7bEeae3ZkQhmCxsw" id="(0.5,1.0)"/>
366 </edges>
367 </data>
368 </ownedAnnotationEntries>
369 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_YuQD8GCHEeWg-_mfCA72gg" name="LogicResult" tooltipText="" outgoingEdges="_Yuy2gGCHEeWg-_mfCA72gg" incomingEdges="_Yu1SwGCHEeWg-_mfCA72gg _Yu1502CHEeWg-_mfCA72gg _Yu2g42CHEeWg-_mfCA72gg" width="12" height="10">
370 <target xmi:type="ecore:EClass" href="logicresult.ecore#//LogicResult"/>
371 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//LogicResult"/>
372 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_YuQrAGCHEeWg-_mfCA72gg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
373 <labelFormat>italic</labelFormat>
374 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
375 </ownedStyle>
376 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
377 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_Yuk0EGCHEeWg-_mfCA72gg" name="trace : EJavaObject" tooltipText="">
378 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//LogicResult/trace"/>
379 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//LogicResult/trace"/>
380 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_YulbIGCHEeWg-_mfCA72gg" labelAlignment="LEFT">
381 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
382 </ownedStyle>
383 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
384 </ownedElements>
385 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_YumCMGCHEeWg-_mfCA72gg" name="representation : EJavaObject" tooltipText="">
386 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//LogicResult/representation"/>
387 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//LogicResult/representation"/>
388 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_ycQtQB1sEeeCcdOgljfWxA" labelAlignment="LEFT">
389 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
390 </ownedStyle>
391 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
392 </ownedElements>
393 </ownedDiagramElements>
394 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_YuRSEGCHEeWg-_mfCA72gg" name="ModelResult" tooltipText="" outgoingEdges="_Yu1SwGCHEeWg-_mfCA72gg" width="12" height="10">
395 <target xmi:type="ecore:EClass" href="logicresult.ecore#//ModelResult"/>
396 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//ModelResult"/>
397 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_YuR5IGCHEeWg-_mfCA72gg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
398 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
399 </ownedStyle>
400 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
401 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_YunQUGCHEeWg-_mfCA72gg" name="maxInteger : EInt" tooltipText="">
402 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//ModelResult/maxInteger"/>
403 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//ModelResult/maxInteger"/>
404 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_YuoecGCHEeWg-_mfCA72gg" labelAlignment="LEFT" description="_YumpQGCHEeWg-_mfCA72gg">
405 <labelFormat>bold</labelFormat>
406 </ownedStyle>
407 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
408 </ownedElements>
409 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_YuoecWCHEeWg-_mfCA72gg" name="minInteger : EInt" tooltipText="">
410 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//ModelResult/minInteger"/>
411 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//ModelResult/minInteger"/>
412 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_YupFgGCHEeWg-_mfCA72gg" labelAlignment="LEFT" description="_YumpQGCHEeWg-_mfCA72gg">
413 <labelFormat>bold</labelFormat>
414 </ownedStyle>
415 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
416 </ownedElements>
417 </ownedDiagramElements>
418 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_YuR5IWCHEeWg-_mfCA72gg" name="InconsistencyResult" tooltipText="" outgoingEdges="_Yu1502CHEeWg-_mfCA72gg" width="12" height="10">
419 <target xmi:type="ecore:EClass" href="logicresult.ecore#//InconsistencyResult"/>
420 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//InconsistencyResult"/>
421 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_YuSgMGCHEeWg-_mfCA72gg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
422 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
423 </ownedStyle>
424 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
425 </ownedDiagramElements>
426 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_YuSgMWCHEeWg-_mfCA72gg" name="UnknownResult" tooltipText="" outgoingEdges="_Yu2g42CHEeWg-_mfCA72gg" incomingEdges="_Yu3vAGCHEeWg-_mfCA72gg _Yu4WEGCHEeWg-_mfCA72gg _Yu49IGCHEeWg-_mfCA72gg" width="12" height="10">
427 <target xmi:type="ecore:EClass" href="logicresult.ecore#//UnknownResult"/>
428 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//UnknownResult"/>
429 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_YuTHQGCHEeWg-_mfCA72gg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
430 <labelFormat>italic</labelFormat>
431 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
432 </ownedStyle>
433 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
434 </ownedDiagramElements>
435 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_YuTHQWCHEeWg-_mfCA72gg" name="InsuficientResourcesResult" tooltipText="" outgoingEdges="_Yu3vAGCHEeWg-_mfCA72gg" width="12" height="10">
436 <target xmi:type="ecore:EClass" href="logicresult.ecore#//InsuficientResourcesResult"/>
437 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//InsuficientResourcesResult"/>
438 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_YuTuUGCHEeWg-_mfCA72gg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
439 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
440 </ownedStyle>
441 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
442 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_YupskGCHEeWg-_mfCA72gg" name="resourceName : EString" tooltipText="">
443 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//InsuficientResourcesResult/resourceName"/>
444 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//InsuficientResourcesResult/resourceName"/>
445 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_YuqToGCHEeWg-_mfCA72gg" labelAlignment="LEFT" description="_YumpQGCHEeWg-_mfCA72gg">
446 <labelFormat>bold</labelFormat>
447 </ownedStyle>
448 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
449 </ownedElements>
450 </ownedDiagramElements>
451 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_YuUVYGCHEeWg-_mfCA72gg" name="ErrorResult" tooltipText="" outgoingEdges="_Yu4WEGCHEeWg-_mfCA72gg" width="12" height="10">
452 <target xmi:type="ecore:EClass" href="logicresult.ecore#//ErrorResult"/>
453 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//ErrorResult"/>
454 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_YuU8cGCHEeWg-_mfCA72gg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
455 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
456 </ownedStyle>
457 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
458 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_Yuq6sGCHEeWg-_mfCA72gg" name="message : EString" tooltipText="">
459 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//ErrorResult/message"/>
460 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//ErrorResult/message"/>
461 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_YurhwGCHEeWg-_mfCA72gg" labelAlignment="LEFT" description="_YumpQGCHEeWg-_mfCA72gg">
462 <labelFormat>bold</labelFormat>
463 </ownedStyle>
464 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
465 </ownedElements>
466 </ownedDiagramElements>
467 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_YuVjgGCHEeWg-_mfCA72gg" name="Statistics" tooltipText="" outgoingEdges="_Yu0Eo2CHEeWg-_mfCA72gg" incomingEdges="_Yuy2gGCHEeWg-_mfCA72gg" width="12" height="10">
468 <target xmi:type="ecore:EClass" href="logicresult.ecore#//Statistics"/>
469 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//Statistics"/>
470 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
471 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
472 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
473 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_YuWKkGCHEeWg-_mfCA72gg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
474 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
475 </ownedStyle>
476 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
477 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_YusI0GCHEeWg-_mfCA72gg" name="transformationTime : EInt = -1" tooltipText="">
478 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//Statistics/transformationTime"/>
479 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//Statistics/transformationTime"/>
480 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_Yusv4GCHEeWg-_mfCA72gg" labelAlignment="LEFT" description="_YumpQGCHEeWg-_mfCA72gg">
481 <labelFormat>bold</labelFormat>
482 </ownedStyle>
483 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
484 </ownedElements>
485 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_Yusv4WCHEeWg-_mfCA72gg" name="solverTime : EInt = -1" tooltipText="">
486 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//Statistics/solverTime"/>
487 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//Statistics/solverTime"/>
488 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_YutW8GCHEeWg-_mfCA72gg" labelAlignment="LEFT" description="_YumpQGCHEeWg-_mfCA72gg">
489 <labelFormat>bold</labelFormat>
490 </ownedStyle>
491 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
492 </ownedElements>
493 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_YutW8WCHEeWg-_mfCA72gg" name="solverMemory : EInt = -1" tooltipText="">
494 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//Statistics/solverMemory"/>
495 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//Statistics/solverMemory"/>
496 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_Yut-AGCHEeWg-_mfCA72gg" labelAlignment="LEFT">
497 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
498 </ownedStyle>
499 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
500 </ownedElements>
501 </ownedDiagramElements>
502 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_YuWxoGCHEeWg-_mfCA72gg" name="StatisticEntry" tooltipText="" incomingEdges="_Yu0Eo2CHEeWg-_mfCA72gg _Yu5kMGCHEeWg-_mfCA72gg _Yu6LQGCHEeWg-_mfCA72gg _DT2o8J7bEeae3ZkQhmCxsw" width="12" height="10">
503 <target xmi:type="ecore:EClass" href="logicresult.ecore#//StatisticEntry"/>
504 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//StatisticEntry"/>
505 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
506 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
507 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
508 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_YuXYsGCHEeWg-_mfCA72gg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
509 <labelFormat>italic</labelFormat>
510 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
511 </ownedStyle>
512 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
513 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_YuulEGCHEeWg-_mfCA72gg" name="name : EString" tooltipText="">
514 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//StatisticEntry/name"/>
515 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//StatisticEntry/name"/>
516 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_YuvMIGCHEeWg-_mfCA72gg" labelAlignment="LEFT" description="_YumpQGCHEeWg-_mfCA72gg">
517 <labelFormat>bold</labelFormat>
518 </ownedStyle>
519 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
520 </ownedElements>
521 </ownedDiagramElements>
522 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_YuX_wGCHEeWg-_mfCA72gg" name="UndecidableResult" tooltipText="" outgoingEdges="_Yu49IGCHEeWg-_mfCA72gg" width="12" height="10">
523 <target xmi:type="ecore:EClass" href="logicresult.ecore#//UndecidableResult"/>
524 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//UndecidableResult"/>
525 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_YuYm0GCHEeWg-_mfCA72gg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
526 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
527 </ownedStyle>
528 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
529 </ownedDiagramElements>
530 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_YuZN4GCHEeWg-_mfCA72gg" name="IntStatisticEntry" tooltipText="" outgoingEdges="_Yu5kMGCHEeWg-_mfCA72gg" width="12" height="10">
531 <target xmi:type="ecore:EClass" href="logicresult.ecore#//IntStatisticEntry"/>
532 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//IntStatisticEntry"/>
533 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
534 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
535 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
536 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_YuZ08GCHEeWg-_mfCA72gg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
537 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
538 </ownedStyle>
539 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
540 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_YuvzMGCHEeWg-_mfCA72gg" name="value : EInt" tooltipText="">
541 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//IntStatisticEntry/value"/>
542 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//IntStatisticEntry/value"/>
543 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_YuvzMWCHEeWg-_mfCA72gg" labelAlignment="LEFT" description="_YumpQGCHEeWg-_mfCA72gg">
544 <labelFormat>bold</labelFormat>
545 </ownedStyle>
546 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
547 </ownedElements>
548 </ownedDiagramElements>
549 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_YuacAGCHEeWg-_mfCA72gg" name="RealStatisticEntry" tooltipText="" outgoingEdges="_Yu6LQGCHEeWg-_mfCA72gg" width="12" height="10">
550 <target xmi:type="ecore:EClass" href="logicresult.ecore#//RealStatisticEntry"/>
551 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//RealStatisticEntry"/>
552 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
553 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
554 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
555 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_YubDEGCHEeWg-_mfCA72gg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
556 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
557 </ownedStyle>
558 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
559 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_YuwaQGCHEeWg-_mfCA72gg" name="value : EDouble = 0.0" tooltipText="">
560 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//RealStatisticEntry/value"/>
561 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//RealStatisticEntry/value"/>
562 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_YuxoYGCHEeWg-_mfCA72gg" labelAlignment="LEFT" description="_YumpQGCHEeWg-_mfCA72gg">
563 <labelFormat>bold</labelFormat>
564 </ownedStyle>
565 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
566 </ownedElements>
567 </ownedDiagramElements>
568 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Yuy2gGCHEeWg-_mfCA72gg" name="[0..1] statistics" sourceNode="_YuQD8GCHEeWg-_mfCA72gg" targetNode="_YuVjgGCHEeWg-_mfCA72gg">
569 <target xmi:type="ecore:EReference" href="logicresult.ecore#//LogicResult/statistics"/>
570 <semanticElements xmi:type="ecore:EReference" href="logicresult.ecore#//LogicResult/statistics"/>
571 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Yu0EoGCHEeWg-_mfCA72gg" description="_YuzdkGCHEeWg-_mfCA72gg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
572 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Yu0EoWCHEeWg-_mfCA72gg" showIcon="false">
573 <customFeatures>labelSize</customFeatures>
574 </centerLabelStyle>
575 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_Yu0EomCHEeWg-_mfCA72gg" showIcon="false" labelColor="39,76,114">
576 <customFeatures>labelSize</customFeatures>
577 </endLabelStyle>
578 </ownedStyle>
579 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
580 </ownedDiagramElements>
581 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Yu0Eo2CHEeWg-_mfCA72gg" name="[0..*] entries" sourceNode="_YuVjgGCHEeWg-_mfCA72gg" targetNode="_YuWxoGCHEeWg-_mfCA72gg">
582 <target xmi:type="ecore:EReference" href="logicresult.ecore#//Statistics/entries"/>
583 <semanticElements xmi:type="ecore:EReference" href="logicresult.ecore#//Statistics/entries"/>
584 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Yu0rsGCHEeWg-_mfCA72gg" description="_YuzdkGCHEeWg-_mfCA72gg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
585 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Yu0rsWCHEeWg-_mfCA72gg" showIcon="false">
586 <customFeatures>labelSize</customFeatures>
587 </centerLabelStyle>
588 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_Yu0rsmCHEeWg-_mfCA72gg" showIcon="false" labelColor="39,76,114">
589 <customFeatures>labelSize</customFeatures>
590 </endLabelStyle>
591 </ownedStyle>
592 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
593 </ownedDiagramElements>
594 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Yu1SwGCHEeWg-_mfCA72gg" sourceNode="_YuRSEGCHEeWg-_mfCA72gg" targetNode="_YuQD8GCHEeWg-_mfCA72gg">
595 <target xmi:type="ecore:EClass" href="logicresult.ecore#//ModelResult"/>
596 <semanticElements xmi:type="ecore:EGenericType" href="logicresult.ecore#//ModelResult/@eGenericSuperTypes.0"/>
597 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Yu150GCHEeWg-_mfCA72gg" targetArrow="InputClosedArrow" routingStyle="tree">
598 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
599 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_Yu150WCHEeWg-_mfCA72gg" showIcon="false">
600 <labelFormat>italic</labelFormat>
601 </beginLabelStyle>
602 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Yu150mCHEeWg-_mfCA72gg" showIcon="false"/>
603 </ownedStyle>
604 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
605 </ownedDiagramElements>
606 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Yu1502CHEeWg-_mfCA72gg" sourceNode="_YuR5IWCHEeWg-_mfCA72gg" targetNode="_YuQD8GCHEeWg-_mfCA72gg">
607 <target xmi:type="ecore:EClass" href="logicresult.ecore#//InconsistencyResult"/>
608 <semanticElements xmi:type="ecore:EGenericType" href="logicresult.ecore#//InconsistencyResult/@eGenericSuperTypes.0"/>
609 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Yu2g4GCHEeWg-_mfCA72gg" targetArrow="InputClosedArrow" routingStyle="tree">
610 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
611 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_Yu2g4WCHEeWg-_mfCA72gg" showIcon="false">
612 <labelFormat>italic</labelFormat>
613 </beginLabelStyle>
614 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Yu2g4mCHEeWg-_mfCA72gg" showIcon="false"/>
615 </ownedStyle>
616 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
617 </ownedDiagramElements>
618 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Yu2g42CHEeWg-_mfCA72gg" sourceNode="_YuSgMWCHEeWg-_mfCA72gg" targetNode="_YuQD8GCHEeWg-_mfCA72gg">
619 <target xmi:type="ecore:EClass" href="logicresult.ecore#//UnknownResult"/>
620 <semanticElements xmi:type="ecore:EGenericType" href="logicresult.ecore#//UnknownResult/@eGenericSuperTypes.0"/>
621 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Yu3H8GCHEeWg-_mfCA72gg" targetArrow="InputClosedArrow" routingStyle="tree">
622 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
623 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_Yu3H8WCHEeWg-_mfCA72gg" showIcon="false">
624 <labelFormat>italic</labelFormat>
625 </beginLabelStyle>
626 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Yu3H8mCHEeWg-_mfCA72gg" showIcon="false"/>
627 </ownedStyle>
628 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
629 </ownedDiagramElements>
630 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Yu3vAGCHEeWg-_mfCA72gg" sourceNode="_YuTHQWCHEeWg-_mfCA72gg" targetNode="_YuSgMWCHEeWg-_mfCA72gg">
631 <target xmi:type="ecore:EClass" href="logicresult.ecore#//InsuficientResourcesResult"/>
632 <semanticElements xmi:type="ecore:EGenericType" href="logicresult.ecore#//InsuficientResourcesResult/@eGenericSuperTypes.0"/>
633 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Yu3vAWCHEeWg-_mfCA72gg" targetArrow="InputClosedArrow" routingStyle="tree">
634 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
635 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_Yu3vAmCHEeWg-_mfCA72gg" showIcon="false">
636 <labelFormat>italic</labelFormat>
637 </beginLabelStyle>
638 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Yu3vA2CHEeWg-_mfCA72gg" showIcon="false"/>
639 </ownedStyle>
640 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
641 </ownedDiagramElements>
642 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Yu4WEGCHEeWg-_mfCA72gg" sourceNode="_YuUVYGCHEeWg-_mfCA72gg" targetNode="_YuSgMWCHEeWg-_mfCA72gg">
643 <target xmi:type="ecore:EClass" href="logicresult.ecore#//ErrorResult"/>
644 <semanticElements xmi:type="ecore:EGenericType" href="logicresult.ecore#//ErrorResult/@eGenericSuperTypes.0"/>
645 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Yu4WEWCHEeWg-_mfCA72gg" targetArrow="InputClosedArrow" routingStyle="tree">
646 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
647 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_Yu4WEmCHEeWg-_mfCA72gg" showIcon="false">
648 <labelFormat>italic</labelFormat>
649 </beginLabelStyle>
650 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Yu4WE2CHEeWg-_mfCA72gg" showIcon="false"/>
651 </ownedStyle>
652 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
653 </ownedDiagramElements>
654 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Yu49IGCHEeWg-_mfCA72gg" sourceNode="_YuX_wGCHEeWg-_mfCA72gg" targetNode="_YuSgMWCHEeWg-_mfCA72gg">
655 <target xmi:type="ecore:EClass" href="logicresult.ecore#//UndecidableResult"/>
656 <semanticElements xmi:type="ecore:EGenericType" href="logicresult.ecore#//UndecidableResult/@eGenericSuperTypes.0"/>
657 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Yu49IWCHEeWg-_mfCA72gg" targetArrow="InputClosedArrow" routingStyle="tree">
658 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
659 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_Yu49ImCHEeWg-_mfCA72gg" showIcon="false">
660 <labelFormat>italic</labelFormat>
661 </beginLabelStyle>
662 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Yu49I2CHEeWg-_mfCA72gg" showIcon="false"/>
663 </ownedStyle>
664 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
665 </ownedDiagramElements>
666 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Yu5kMGCHEeWg-_mfCA72gg" sourceNode="_YuZN4GCHEeWg-_mfCA72gg" targetNode="_YuWxoGCHEeWg-_mfCA72gg">
667 <target xmi:type="ecore:EClass" href="logicresult.ecore#//IntStatisticEntry"/>
668 <semanticElements xmi:type="ecore:EGenericType" href="logicresult.ecore#//IntStatisticEntry/@eGenericSuperTypes.0"/>
669 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Yu5kMWCHEeWg-_mfCA72gg" targetArrow="InputClosedArrow" routingStyle="tree">
670 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
671 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_Yu5kMmCHEeWg-_mfCA72gg" showIcon="false">
672 <labelFormat>italic</labelFormat>
673 </beginLabelStyle>
674 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Yu5kM2CHEeWg-_mfCA72gg" showIcon="false"/>
675 </ownedStyle>
676 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
677 </ownedDiagramElements>
678 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Yu6LQGCHEeWg-_mfCA72gg" sourceNode="_YuacAGCHEeWg-_mfCA72gg" targetNode="_YuWxoGCHEeWg-_mfCA72gg">
679 <target xmi:type="ecore:EClass" href="logicresult.ecore#//RealStatisticEntry"/>
680 <semanticElements xmi:type="ecore:EGenericType" href="logicresult.ecore#//RealStatisticEntry/@eGenericSuperTypes.0"/>
681 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Yu6yUGCHEeWg-_mfCA72gg" targetArrow="InputClosedArrow" routingStyle="tree">
682 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
683 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_Yu6yUWCHEeWg-_mfCA72gg" showIcon="false">
684 <labelFormat>italic</labelFormat>
685 </beginLabelStyle>
686 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Yu6yUmCHEeWg-_mfCA72gg" showIcon="false"/>
687 </ownedStyle>
688 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
689 </ownedDiagramElements>
690 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_3m0aEJ7aEeae3ZkQhmCxsw" name="StringStatisticEntry" tooltipText="" outgoingEdges="_DT2o8J7bEeae3ZkQhmCxsw" width="12" height="10">
691 <target xmi:type="ecore:EClass" href="logicresult.ecore#//StringStatisticEntry"/>
692 <semanticElements xmi:type="ecore:EClass" href="logicresult.ecore#//StringStatisticEntry"/>
693 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
694 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
695 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
696 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_999iUJ7aEeae3ZkQhmCxsw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
697 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
698 </ownedStyle>
699 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
700 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7tUVYJ7aEeae3ZkQhmCxsw" name="value : EString = Unfilled" tooltipText="">
701 <target xmi:type="ecore:EAttribute" href="logicresult.ecore#//StringStatisticEntry/value"/>
702 <semanticElements xmi:type="ecore:EAttribute" href="logicresult.ecore#//StringStatisticEntry/value"/>
703 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_AVIOAJ7bEeae3ZkQhmCxsw" labelAlignment="LEFT" description="_YumpQGCHEeWg-_mfCA72gg">
704 <labelFormat>bold</labelFormat>
705 </ownedStyle>
706 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
707 </ownedElements>
708 </ownedDiagramElements>
709 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_DT2o8J7bEeae3ZkQhmCxsw" sourceNode="_3m0aEJ7aEeae3ZkQhmCxsw" targetNode="_YuWxoGCHEeWg-_mfCA72gg">
710 <target xmi:type="ecore:EClass" href="logicresult.ecore#//StringStatisticEntry"/>
711 <semanticElements xmi:type="ecore:EGenericType" href="logicresult.ecore#//StringStatisticEntry/@eGenericSuperTypes.0"/>
712 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_DT3QAJ7bEeae3ZkQhmCxsw" targetArrow="InputClosedArrow" routingStyle="tree">
713 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
714 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_DT3QAZ7bEeae3ZkQhmCxsw" showIcon="false">
715 <labelFormat>italic</labelFormat>
716 </beginLabelStyle>
717 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_DT3QAp7bEeae3ZkQhmCxsw" showIcon="false"/>
718 </ownedStyle>
719 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
720 </ownedDiagramElements>
721 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
722 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_X4aoJWCHEeWg-_mfCA72gg"/>
723 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
724 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
725 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
726 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
727 <target xmi:type="ecore:EPackage" href="logicresult.ecore#/"/>
728 </ownedRepresentations>
729 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
730 </ownedViews>
731 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_Vqv2sGCHEeWg-_mfCA72gg">
732 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
733 </ownedViews>
734 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_VrDYsGCHEeWg-_mfCA72gg">
735 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
736 </ownedViews>
737 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_VrW6sGCHEeWg-_mfCA72gg">
738 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
739 </ownedViews>
740</viewpoint:DAnalysis>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logicresult.ecore b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logicresult.ecore
new file mode 100644
index 00000000..f8398fb4
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logicresult.ecore
@@ -0,0 +1,55 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="logicresult" nsURI="http://www.bme.hu/mit/inf/dslreasoner/logic/model/result"
4 nsPrefix="language">
5 <eClassifiers xsi:type="ecore:EClass" name="LogicResult" abstract="true">
6 <eStructuralFeatures xsi:type="ecore:EReference" name="problem" eType="ecore:EClass logicproblem.ecore#//LogicProblem"/>
7 <eStructuralFeatures xsi:type="ecore:EReference" name="statistics" eType="#//Statistics"
8 containment="true"/>
9 <eStructuralFeatures xsi:type="ecore:EAttribute" name="trace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
10 transient="true"/>
11 <eStructuralFeatures xsi:type="ecore:EAttribute" name="representation" upperBound="-1"
12 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
13 transient="true"/>
14 </eClassifiers>
15 <eClassifiers xsi:type="ecore:EClass" name="ModelResult" eSuperTypes="#//LogicResult">
16 <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxInteger" lowerBound="1"
17 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
18 <eStructuralFeatures xsi:type="ecore:EAttribute" name="minInteger" lowerBound="1"
19 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
20 </eClassifiers>
21 <eClassifiers xsi:type="ecore:EClass" name="InconsistencyResult" eSuperTypes="#//LogicResult"/>
22 <eClassifiers xsi:type="ecore:EClass" name="UnknownResult" abstract="true" eSuperTypes="#//LogicResult"/>
23 <eClassifiers xsi:type="ecore:EClass" name="InsuficientResourcesResult" eSuperTypes="#//UnknownResult">
24 <eStructuralFeatures xsi:type="ecore:EAttribute" name="resourceName" lowerBound="1"
25 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
26 </eClassifiers>
27 <eClassifiers xsi:type="ecore:EClass" name="ErrorResult" eSuperTypes="#//UnknownResult">
28 <eStructuralFeatures xsi:type="ecore:EAttribute" name="message" lowerBound="1"
29 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
30 </eClassifiers>
31 <eClassifiers xsi:type="ecore:EClass" name="Statistics">
32 <eStructuralFeatures xsi:type="ecore:EReference" name="entries" upperBound="-1"
33 eType="#//StatisticEntry" containment="true"/>
34 <eStructuralFeatures xsi:type="ecore:EAttribute" name="transformationTime" lowerBound="1"
35 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="-1"/>
36 <eStructuralFeatures xsi:type="ecore:EAttribute" name="solverTime" lowerBound="1"
37 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="-1"/>
38 <eStructuralFeatures xsi:type="ecore:EAttribute" name="solverMemory" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
39 defaultValueLiteral="-1"/>
40 </eClassifiers>
41 <eClassifiers xsi:type="ecore:EClass" name="StatisticEntry" abstract="true">
42 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
43 </eClassifiers>
44 <eClassifiers xsi:type="ecore:EClass" name="UndecidableResult" eSuperTypes="#//UnknownResult"/>
45 <eClassifiers xsi:type="ecore:EClass" name="IntStatisticEntry" eSuperTypes="#//StatisticEntry">
46 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
47 </eClassifiers>
48 <eClassifiers xsi:type="ecore:EClass" name="RealStatisticEntry" eSuperTypes="#//StatisticEntry">
49 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
50 </eClassifiers>
51 <eClassifiers xsi:type="ecore:EClass" name="StringStatisticEntry" eSuperTypes="#//StatisticEntry">
52 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
53 defaultValueLiteral="Unfilled"/>
54 </eClassifiers>
55</ecore:EPackage>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/patterns/hu/bme/mit/inf/dslreasoner/logic/model/patterns/typeUtil.vql b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/patterns/hu/bme/mit/inf/dslreasoner/logic/model/patterns/typeUtil.vql
new file mode 100644
index 00000000..5b38189f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/patterns/hu/bme/mit/inf/dslreasoner/logic/model/patterns/typeUtil.vql
@@ -0,0 +1,167 @@
1package hu.bme.mit.inf.dslreasoner.logic.model.patterns
2
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
4import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
5
6/// Basic util patterns ///
7
8/**
9 * Direct supertypes of a type.
10 */
11private pattern supertypeDirect(subtype : Type, supertype : Type) {
12 Type.supertypes(subtype, supertype);
13}
14
15/**
16 * All supertypes of a type.
17 */
18pattern supertypeStar(subtype: Type, supertype: Type) {
19 subtype == supertype;
20} or {
21 find supertypeDirect+(subtype,supertype);
22}
23
24/**
25 * Direct element of a type
26 */
27pattern typeDirectElements(type: TypeDefinition, element: DefinedElement) {
28 TypeDefinition.elements(type,element);
29}
30
31/// Complex type reasoning patterns ///
32//
33// In a valid type system, for each element e there is exactly one type T where
34// 1: T(e) - but we dont know this for type declaration
35// 2: For the dynamic type D and another type T, where D(e) && D-->T, T(e) is true.
36// 2e: A type hierarchy is invalid, if there is a supertype T for a dynamic type D which does no contains e:
37// D(e) && D-->T && !T(e)
38// 3: There is no T' that T'->T and T'(e)
39// 3e: A type hierarcy is invalid, if there is a type T for a dynamic type D, which contains e, but not subtype of T:
40// D(e) && ![T--->D] && T(e)
41// 4: T is not abstract
42// Such type T is called Dynamic type of e, while other types are called static types.
43//
44// The following patterns checks the possible dynamic types for an element
45
46pattern possibleDynamicType(problem: LogicProblem, dynamic:Type, element:DefinedElement)
47// case 1: element is defined in at least once
48{
49 LogicProblem.types(problem,dynamic);
50 // select a random definition
51 find typeDirectElements(definition,element);
52 // 2e is not true: D(e) && D-->T && !T(e)
53 find supertypeStar(dynamic,definition);
54 neg find dynamicTypeNotSubtypeOfADefinition(problem,element,dynamic);
55 // 3e is not true: D(e) && ![T--->D] && T(e)
56 neg find dynamicTypeIsSubtypeOfANonDefinition(problem,element,dynamic);
57 // 4: T is not abstract
58 Type.isAbstract(dynamic,false);
59} or
60// case 2: element is defined is not defined
61{
62 LogicProblem.types(problem,dynamic);
63 // there is no definition
64 neg find typeDirectElements(_,element);
65 // 2e is not true: D(e) && D-->T && !T(e)
66 // because non of the definition contains element, the type cannot have defined supertype
67 neg find typesWithDefinedSupertype(problem,dynamic);
68 // 3e is not true: D(e) && ![T--->D] && T(e)
69 // because there is no definition, dynamic covers all definition
70}
71
72/**
73 * supertype -------> element <------- otherSupertype
74 * A A
75 * | |
76 * wrongDynamic -----------------------------X
77 */
78private pattern dynamicTypeNotSubtypeOfADefinition(problem:LogicProblem, element:DefinedElement, wrongDynamic : Type) {
79 LogicProblem.types(problem,wrongDynamic);
80 find typeDirectElements(supertype,element);
81 find supertypeStar(wrongDynamic,supertype);
82 find typeDirectElements(otherSupertype,element);
83 neg find supertypeStar(wrongDynamic,otherSupertype);
84 //otherSupertype != wrongDynamic;
85}
86
87
88/**
89 * supertype -------> element <---X--- otherSupertype
90 * A A
91 * | |
92 * wrongDynamic -----------------------------+
93 */
94private pattern dynamicTypeIsSubtypeOfANonDefinition(problem: LogicProblem, element:DefinedElement, wrongDynamic:Type) {
95 LogicProblem.types(problem,wrongDynamic);
96 find typeDirectElements(supertype, element);
97 find supertypeStar(wrongDynamic, supertype);
98 find supertypeStar(wrongDynamic, otherSupertype);
99 TypeDefinition(otherSupertype);
100 neg find typeDirectElements(otherSupertype, element);
101}
102
103private pattern typesWithDefinedSupertype(problem: LogicProblem, type:TypeDeclaration) {
104 LogicProblem.types(problem,type);
105 find supertypeStar(type,definedSupertype);
106 TypeDefinition(definedSupertype);
107}
108
109/**
110 * Types that
111 */
112pattern mustTypeElement(problem: LogicProblem, type:Type, element:DefinedElement) {
113 LogicProblem.types(problem,type);
114 TypeDefinition.elements(type,element);
115} or {
116 TypeDeclaration(type);
117 LogicProblem.types(problem,type);
118 LogicProblem.types(problem,subtype);
119 TypeDefinition.elements(subtype,element);
120 find supertypeStar(subtype,type);
121}
122
123
124/// Validation patterns ///
125
126@Constraint(severity = "warning",key = {problem},
127 message="Type system is inconsistent."
128)
129pattern typeSystemIsInconsistent(problem:LogicProblem) {
130 find elementWithNoPossibleDynamicType(problem,_);
131} or {
132 find elementNotDefinedInSupertype(problem,_,_,_);
133}
134
135/**
136 * An element is defined in a type, but not defined in a supertype
137 */
138@Constraint(severity = "warning",key = {element},
139 message="An element is defined in a type, but not defined in a supertype."
140)
141pattern elementNotDefinedInSupertype(problem: LogicProblem,
142 element: DefinedElement,
143 directType:TypeDefinition,
144 notDefinedIn: TypeDefinition)
145{
146 LogicProblem.elements(problem,element);
147 find typeDirectElements(directType,element);
148 find supertypeStar(directType,notDefinedIn);
149 neg find typeDirectElements(notDefinedIn,element);
150}
151
152@Constraint(severity = "warning",key = {element},
153 message="There is no possible dynamic type for an element."
154)
155pattern elementWithNoPossibleDynamicType(problem:LogicProblem, element:DefinedElement) {
156 LogicProblem.elements(problem,element);
157 neg find possibleDynamicType(problem,_,element);
158}
159
160
161
162@Constraint(severity = "error",key = {t},
163 message="Circle in the type hierarchy"
164)
165pattern cyclicTypeHierarchy(t: Type) {
166 find supertypeDirect+(t,t);
167}
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/plugin.properties b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/plugin.properties
new file mode 100644
index 00000000..7bcabe37
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/plugin.properties
@@ -0,0 +1,4 @@
1#
2
3pluginName = Logiclanguage Model
4providerName = www.example.org
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/plugin.xml b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/plugin.xml
new file mode 100644
index 00000000..413002e2
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/plugin.xml
@@ -0,0 +1,27 @@
1<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.0"?><!--
2--><plugin>
3 <extension point="org.eclipse.emf.ecore.generated_package">
4 <!-- @generated logiclanguage -->
5 <package class="hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage" genModel="model/logiclanguage.genmodel" uri="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"/>
6 </extension>
7 <extension point="org.eclipse.emf.ecore.generated_package">
8 <!-- @generated logiclanguage -->
9 <package class="hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage" genModel="model/logiclanguage.genmodel" uri="http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"/>
10 </extension>
11 <extension point="org.eclipse.emf.ecore.generated_package">
12 <!-- @generated logiclanguage -->
13 <package class="hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultPackage" genModel="model/logiclanguage.genmodel" uri="http://www.bme.hu/mit/inf/dslreasoner/logic/model/result"/>
14 </extension>
15 <extension id="hu.bme.mit.inf.dslreasoner.logic.model.patterns.TypeUtil" point="org.eclipse.viatra.query.runtime.queryspecification">
16 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.logic.model.patterns.TypeUtil" id="hu.bme.mit.inf.dslreasoner.logic.model.patterns.TypeUtil">
17 <query-specification fqn="hu.bme.mit.inf.dslreasoner.logic.model.patterns.supertypeStar"/>
18 <query-specification fqn="hu.bme.mit.inf.dslreasoner.logic.model.patterns.typeDirectElements"/>
19 <query-specification fqn="hu.bme.mit.inf.dslreasoner.logic.model.patterns.possibleDynamicType"/>
20 <query-specification fqn="hu.bme.mit.inf.dslreasoner.logic.model.patterns.mustTypeElement"/>
21 <query-specification fqn="hu.bme.mit.inf.dslreasoner.logic.model.patterns.typeSystemIsInconsistent"/>
22 <query-specification fqn="hu.bme.mit.inf.dslreasoner.logic.model.patterns.elementNotDefinedInSupertype"/>
23 <query-specification fqn="hu.bme.mit.inf.dslreasoner.logic.model.patterns.elementWithNoPossibleDynamicType"/>
24 <query-specification fqn="hu.bme.mit.inf.dslreasoner.logic.model.patterns.cyclicTypeHierarchy"/>
25 </group>
26 </extension>
27</plugin>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicModelInterpretation.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicModelInterpretation.xtend
new file mode 100644
index 00000000..a2d30b1b
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicModelInterpretation.xtend
@@ -0,0 +1,102 @@
1package hu.bme.mit.inf.dslreasoner.logic.model.builder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
10import java.util.List
11
12import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
13
14interface LogicModelInterpretation{
15
16 /**
17 * Returns the elements of a type.
18 */
19 def List<DefinedElement> getElements(Type type)
20 /**
21 * Returns the interpretation of a function. The parameters and the return values are encoded to primitive java objects defined by the following table:
22 * <p><table>
23 * <tr><th>Term type</th><th>Java object type</th></tr>
24 * <tr><td>Element of a type </td><td>DefinedElement </td></tr>
25 * <tr><td>Boolean literal </td><td>Boolean </td></tr>
26 * <tr><td>Integer literal </td><td>Integer </td></tr>
27 * <tr><td>Real literal </td><td>BigDecimal </td></tr>
28 * </table></p>
29 * @param function The target function to be interpreted.
30 * @param parameterSubstitution The array of the substituted parameters encoded as defined in the table.
31 * @return The result of the function call encoded as defined in the table.
32 */
33 def Object getInterpretation(FunctionDeclaration function, Object[] parameterSubstitution)
34 /**
35 * Returns the interpretation of a relation. The parameters are encoded to primitive java objects defined by the following table:
36 * <p><table>
37 * <tr><th>Term type</th><th>Java object type</th></tr>
38 * <tr><td>Element of a type </td><td>DefinedElement </td></tr>
39 * <tr><td>Boolean literal </td><td>Boolean </td></tr>
40 * <tr><td>Integer literal </td><td>Integer </td></tr>
41 * <tr><td>Real literal </td><td>BigDecimal </td></tr>
42 * </table></p>
43 * @param relation The target relation to be interpreted.
44 * @param parameterSubstitution The array of the substituted parameters encoded as defined in the table.
45 * @return If the parameter tuple is in the relation.
46 */
47 def boolean getInterpretation(RelationDeclaration relation, Object[] parameterSubstitution)
48 /**
49 * Returns the interpretation of a constant. The value is encoded to primitive java objects defined by the following table:
50 * <p><table>
51 * <tr><th>Term type</th><th>Java object type</th></tr>
52 * <tr><td>Element of a type </td><td>DefinedElement </td></tr>
53 * <tr><td>Boolean literal </td><td>Boolean </td></tr>
54 * <tr><td>Integer literal </td><td>Integer </td></tr>
55 * <tr><td>Real literal </td><td>BigDecimal </td></tr>
56 * </table></p>
57 * @param constant The target constant to be interpreted.
58 * @return The value of the constant encoded as specified in the table.
59 */
60 def Object getInterpretation(ConstantDeclaration constant)
61 def int getMinimalInteger()
62 def int getMaximalInteger()
63}
64
65class Uninterpreted implements LogicModelInterpretation {
66 /*private val static unknownBecauseUninterpreted = LogiclanguageFactory.eINSTANCE.createUnknownBecauseUninterpreted
67 public def static getUnknownBecauseUninterpreted() {return Uninterpreted.unknownBecauseUninterpreted}*/
68
69 override getElements(Type type) {
70 throw new UnsupportedOperationException("The interpteration is unknown.")
71 }
72
73 def getKnownElements(Type type) {
74 val allSubtypes = type.transitiveClosureStar[it.subtypes]
75 return allSubtypes.filter(TypeDefinition).map[elements].flatten.toList
76 }
77
78 def allElementsAreInterpreted(Type type) {
79 val allSubtypes = type.transitiveClosureStar[it.subtypes]
80 return allSubtypes.exists[it instanceof TypeDeclaration]
81 }
82
83 override getInterpretation(FunctionDeclaration function, Object[] parameterSubstitution) {
84 throw new UnsupportedOperationException("The interpteration is unknown.")
85 }
86
87 override getInterpretation(RelationDeclaration relation, Object[] parameterSubstitution) {
88 throw new UnsupportedOperationException("The interpteration is unknown.")
89 }
90
91 override getInterpretation(ConstantDeclaration constant) {
92 throw new UnsupportedOperationException("The interpteration is unknown.")
93 }
94
95 override getMinimalInteger() {
96 throw new UnsupportedOperationException("The interpteration is unknown.")
97 }
98
99 override getMaximalInteger() {
100 throw new UnsupportedOperationException("The interpteration is unknown.")
101 }
102} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicProblemBuilder.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicProblemBuilder.xtend
new file mode 100644
index 00000000..ba1b9fd6
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicProblemBuilder.xtend
@@ -0,0 +1,563 @@
1package hu.bme.mit.inf.dslreasoner.logic.model.builder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolTypeReference
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntTypeReference
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealTypeReference
13import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
14import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
15import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue
16import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
17import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription
18import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
19import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
20import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDescriptor
21import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference
22import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
23import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy
24import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
25import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemFactory
26import hu.bme.mit.inf.dslreasoner.util.LogicProblemBuilder_AdvancedConstructs
27import java.math.BigDecimal
28import java.util.ArrayList
29import java.util.Collections
30import java.util.LinkedList
31import java.util.List
32import java.util.Map
33import org.eclipse.emf.ecore.EObject
34import org.eclipse.emf.ecore.util.EcoreUtil
35import org.eclipse.xtend.lib.annotations.Data
36import org.eclipse.xtext.xbase.lib.Functions.Function1
37
38@Data class FunctionDescription {
39 Iterable<TypeReference> parameters
40 TypeReference range
41}
42
43class LogicProblemBuilderException extends Exception {
44 new(String reason) {
45 super(reason)
46 }
47}
48
49public class LogicProblemBuilder{
50 val protected extension LogiclanguageFactory logicFactiory = LogiclanguageFactory.eINSTANCE
51 val protected extension LogicproblemFactory problemFactory = LogicproblemFactory.eINSTANCE
52 val protected advancedConstructs = new LogicProblemBuilder_AdvancedConstructs(this)
53
54 def public createProblem(){ createLogicProblem }
55
56 // Names
57 def protected String canonize(CharSequence name) {
58 if(name == null) return ""
59 val result = name.toString.split("\\s+");
60 if(result.size == 1) {
61 val element = result.get(0);
62 if(element == "bool" ||
63 element == "int" ||
64 element == "real") throw new LogicProblemBuilderException('''Reserved keyword "«element»"!''')
65 else return result.join(' ')
66 }
67 else return result.join(' ')
68 }
69 def protected String generateUniqueName(Iterable<String> previous, Function1<Integer,String> namer) {
70 var int i = 0
71 var generateNew = false;
72 var String finalName;
73 do {
74 i = i+1;
75 val nameCandidate = namer.apply(i)
76 finalName = nameCandidate
77 generateNew = previous.exists[equals(nameCandidate)]
78 }
79 while(generateNew)
80 return finalName
81 }
82
83 // Type builders
84 def public Element(CharSequence elementName) { return createDefinedElement => [x|x.name = elementName.canonize] }
85 def public Element() { return createDefinedElement }
86 def public TypeDeclaration(CharSequence name, boolean isAbstract) { TypeDeclaration => [x | x.name = name.canonize x.isAbstract = isAbstract] }
87 def public TypeDeclaration() { createTypeDeclaration }
88 def public TypeDefinition(CharSequence name, boolean isAbstract, DefinedElement... elements) { TypeDefinition(name, isAbstract, elements as Iterable<DefinedElement>) }
89 def public TypeDefinition(CharSequence name, boolean isAbstract, Iterable<DefinedElement> elements) { createTypeDefinition => [x | x.name = name.canonize x.isAbstract = isAbstract x.elements += elements ] }
90
91 def public Supertype(Type subtype, Type supertype) {
92 subtype.supertypes+=supertype
93 }
94 def public SetSupertype(Type subtype, Type supertype, boolean value) {
95 if(value) subtype.supertypes+=supertype
96 else subtype.subtypes-=supertype
97 }
98
99 // Type add
100 def public add(LogicProblem problem, Type type) {
101 problem.nameIfAnonymType(type)
102 problem.types+=type
103 if(type instanceof TypeDefinition) {
104 problem.elements+=type.elements
105 }
106 return type
107 }
108 def protected dispatch nameIfAnonymType(LogicProblem problem, Type typeDeclaration) {
109 if(typeDeclaration.name.nullOrEmpty)
110 typeDeclaration.name = problem.types.map[it.name].generateUniqueName[i | '''type «i.toString»''']
111 }
112 def protected dispatch nameIfAnonymType(LogicProblem problem, TypeDefinition typeDefinition) {
113 if(typeDefinition.name.nullOrEmpty)
114 typeDefinition.name = problem.types.map[it.name].generateUniqueName[i | '''type «i.toString»''']
115 for(element : typeDefinition.elements)
116 if(element.name.nullOrEmpty)
117 element.name = typeDefinition.elements.map[it.name].generateUniqueName[i | '''type «i.toString»''']
118 }
119
120 def public LogicBool() { createBoolTypeReference }
121 def public LogicInt() { createIntTypeReference }
122 def public LogicReal() { createRealTypeReference }
123 def toTypeReference(TypeDescriptor descriptor) {
124 if(descriptor instanceof TypeReference) { return EcoreUtil.copy(descriptor); }
125 else if(descriptor instanceof Type) { return createComplexTypeReference => [referred = descriptor]}
126 else throw new UnsupportedOperationException("Unsupported type descriptor: " + descriptor.class)
127 }
128
129 // Variables
130 def public createVar(CharSequence name, TypeDescriptor range) {
131 return createVariable => [it.name = name.canonize it.range = range.toTypeReference]
132 }
133
134 // Functions
135 def public FunctionDescription ->(TypeDescriptor parameter, TypeDescriptor range) { return #[parameter] -> range }
136 def public FunctionDescription ->(Iterable<? extends TypeDescriptor> parameters, TypeDescriptor range) { return new FunctionDescription(parameters.map[toTypeReference], range.toTypeReference); }
137 def public FunctionDeclaration(CharSequence name, FunctionDescription functionDescription) { FunctionDeclaration(name,functionDescription.range, functionDescription.parameters) }
138 def public FunctionDeclaration(FunctionDescription functionDescription) { FunctionDeclaration(functionDescription.range, functionDescription.parameters) }
139 def public FunctionDeclaration(CharSequence name, TypeDescriptor range, TypeDescriptor... parameters) { FunctionDeclaration(name, range, parameters as Iterable<? extends TypeReference>) }
140 def public FunctionDeclaration(TypeDescriptor range, TypeDescriptor... parameters) { FunctionDeclaration(range, parameters as Iterable<? extends TypeReference>) }
141 def public FunctionDeclaration(CharSequence name, TypeDescriptor range, Iterable<? extends TypeDescriptor> parameters) { return FunctionDeclaration(range,parameters) => [x|x.name = name.canonize] }
142 def public FunctionDeclaration(TypeDescriptor range, Iterable<? extends TypeDescriptor> parameters) {
143 val function = createFunctionDeclaration
144 for(parameter : parameters) function.parameters+=parameter.toTypeReference
145 function.range = range.toTypeReference
146 return function
147 }
148
149 def public FunctionDefinition(CharSequence name, TypeDescriptor range, Function1<VariableContext, ? extends TermDescription> expression) {
150 val context = new VariableContext(this,logicFactiory)
151 val definition = expression.apply(context)
152 return FunctionDefinition(name,range,context.variables,definition);
153 }
154 def public FunctionDefinition(CharSequence name, TypeDescriptor range, Iterable<Variable> variables, TermDescription definition) {
155 return createFunctionDefinition => [
156 it.name = name.canonize
157 it.parameters += variables.map[it.range.toTypeReference]
158 it.variable += variables
159 it.range = range.toTypeReference
160 it.value = definition.toTerm
161 ]
162 }
163 def public FunctionDefinition(CharSequence name, TypeDescriptor range, Iterable<TypeDescriptor> parameters, Map<List<Term>,Term> parametersToValue) {
164 return FunctionDefinition(name,range,parameters,parametersToValue,null)
165 }
166 def public FunctionDefinition(CharSequence name, TypeDescriptor range, Iterable<TypeDescriptor> parameters, Map<List<Term>,Term> parametersToValue, Term defaultValue) {
167 val parameterList = parameters.toList;
168 val variableList = (1..parameterList.size).map[index | '''param «index»'''.createVar(parameterList.get(index-1))].toList
169 return FunctionDefinition(name,range,variableList,advancedConstructs.FunctionDefinitionBody(variableList,parametersToValue,defaultValue))
170 }
171
172 // Add function to a problem
173 def public add(LogicProblem input, Function function) {
174 input.nameIfAnonymFunction(function)
175 input.checkFunction(function)
176 input.functions += function
177 return function
178 }
179 def public add(LogicProblem input, FunctionDescription functionDescription) { input.add(FunctionDeclaration(functionDescription)) }
180 def protected nameIfAnonymFunction(LogicProblem problem, Function functionDeclaration) {
181 if(functionDeclaration.name.nullOrEmpty) {
182 functionDeclaration.name = problem.functions.map[it.name].generateUniqueName[i | "function"+i]
183 }
184 }
185 def protected checkFunction(LogicProblem problem, Function function) {
186 if(problem.functions.exists(x|x.name == function.name))
187 throw new LogicProblemBuilderException('''Function with the following name is already defined: "«function.name»"!''')
188 for(ref : function.parameters.filter(typeof(ComplexTypeReference)).map[referred]) {
189 if(!problem.types.contains(ref))
190 throw new LogicProblemBuilderException('''Type "«ref.name»" is not availabe in the logic problem!''')
191 }
192 val range = function.range
193 if(range instanceof ComplexTypeReference) {
194 if(!problem.types.contains(range.referred))
195 throw new LogicProblemBuilderException('''Type "«range.referred.name»" is not availabe in the logic problem!''')
196 }
197 }
198
199 // Constants
200 def public ConstantDeclaration(CharSequence name, TypeDescriptor type) { ConstantDeclaration(type) => [it.name = name.canonize] }
201 def public ConstantDeclaration(TypeDescriptor type) { createConstantDeclaration => [it.type = type.toTypeReference] }
202
203 def public ConstantDefinition(CharSequence name, TypeDescriptor type, TermDescription value) {
204 createConstantDefinition => [it.name = name.canonize it.type = type.toTypeReference it.value = value.toTerm]
205 }
206
207 // Add constant to a problem
208 def public add(LogicProblem problem, Constant constant) {
209 problem.nameIfAnonymConstant(constant);
210 problem.checkConstant(constant)
211 problem.constants += constant
212 return constant
213 }
214 def protected nameIfAnonymConstant(LogicProblem problem, Constant constant) {
215 if(constant.name.nullOrEmpty) {
216 constant.name = problem.constants.map[it.name].generateUniqueName[i | "constant"+i]
217 }
218 }
219 def protected checkConstant(LogicProblem problem, Constant constant) {
220 if(problem.constants.exists(x|x.name == constant.name))
221 throw new LogicProblemBuilderException('''Constant with the following name is already defined: "«constant.name»"!''')
222 if((constant.type instanceof ComplexTypeReference) && ! (problem.types.contains((constant.type as ComplexTypeReference).referred)))
223 throw new LogicProblemBuilderException('''Type "«(constant.type as ComplexTypeReference).referred.name»" is not availabe in the logic problem!''')
224 }
225
226 // Relations
227 def public RelationDeclaration(CharSequence name, TypeDescriptor... parameters) { return RelationDeclaration(name, parameters as Iterable<? extends TypeReference>) }
228 def public RelationDeclaration(CharSequence name, Iterable<? extends TypeDescriptor> parameters) { return RelationDeclaration(parameters) => [x|x.name = name.canonize] }
229 def public RelationDeclaration(TypeDescriptor... parameters) { RelationDeclaration( parameters as Iterable<? extends TypeReference>) }
230 def public RelationDeclaration(Iterable<? extends TypeDescriptor> parameters) {
231 val relation = createRelationDeclaration
232 for(parameter : parameters) {
233 relation.parameters+=parameter.toTypeReference
234 }
235 return relation
236 }
237
238 def public RelationDefinition(CharSequence name, Function1<VariableContext, ? extends TermDescription> expression) {
239 val context = new VariableContext(this,logicFactiory);
240 val definition = expression.apply(context);
241 return RelationDefinition(name,context.variables,definition)
242 }
243 def public RelationDefinition(CharSequence name, Iterable<Variable> variables, TermDescription definition) {
244 return createRelationDefinition => [
245 it.name = name.canonize
246 it.parameters += variables.map[it.range.toTypeReference]
247 it.variables += variables
248 it.value = definition?.toTerm
249 ]
250 }
251 def public RelationDefinition(CharSequence name, Iterable<? extends TypeDescriptor> parameters, Iterable<? extends List<? extends TermDescription>> possibleValues) {
252 val res = createRelationDefinition => [it.name = name.canonize]
253 val variableMap = new ArrayList(parameters.size)
254 var index = 0
255 for(parameter : parameters) {
256 val actualIndex = index
257 val newVar = createVariable=>[it.name ='''var «actualIndex»'''.canonize it.range = parameter.toTypeReference]
258 variableMap.add(index,newVar)
259 res.variables+=newVar
260 res.parameters+=newVar.range
261 index+=1
262 }
263 res.value = possibleValues.map[possibleValue |(0..<parameters.size).map[i| variableMap.get(i) == possibleValue.get(i).toTerm].And].Or
264 return res
265 }
266
267 // Add Relation to a problem
268 def public add(LogicProblem input, Relation relation) {
269 input.nameIfAnonymRelation(relation)
270 input.checkRelation(relation)
271 input.relations+=relation
272 //println('''«relation.name» - [«relation.parameters»]''')
273 return relation
274 }
275
276 def protected nameIfAnonymRelation(LogicProblem problem, Relation relation) {
277 if(relation.name.nullOrEmpty) {
278 relation.name = problem.relations.map[it.name].generateUniqueName[i | "relation"+i]
279 }
280 }
281 def protected checkRelation(LogicProblem problem, Relation relation) {
282 if(problem.relations.exists(x|x.name == relation.name))
283 throw new LogicProblemBuilderException('''Relation with the following name is already defined: "«relation.name»"!''')
284 for(ref : relation.parameters.filter(typeof(ComplexTypeReference)).map[referred]) {
285 if(!problem.types.contains(ref))
286 throw new LogicProblemBuilderException('''Type "«ref.name»" is not availabe in the logic problem!''')
287 }
288 if(relation instanceof RelationDefinition) {
289 checkDefinition(relation)
290 }
291 }
292
293 // Assertion
294 def public Assertion(TermDescription term) {
295 val result = term.toTerm
296 result.nameAnonymVariables(Collections.EMPTY_LIST)
297 createAssertion => [it.value = result]
298 }
299 def public Assertion(CharSequence name, TermDescription term) {
300 val result = term.toTerm
301 result.nameAnonymVariables(Collections.EMPTY_LIST)
302 createAssertion => [it.value = result it.name=name.canonize]
303 }
304 def public add(LogicProblem problem, Assertion assertion) {
305 if(assertion.name.nullOrEmpty) {
306 val name = problem.assertions.map[name].generateUniqueName["assertion"+it]
307 assertion.name=name
308 }
309 checkAssertion(assertion)
310 problem.assertions+=assertion
311 return assertion
312 }
313
314 def public add(LogicProblem problem, TermDescription term) {
315 problem.add(Assertion(term))
316 }
317
318
319 def checkAssertion(Assertion assertion) {
320 for(value : assertion.eAllContents.filter(SymbolicValue).toIterable) {
321 var referred = value.symbolicReference
322 if(referred instanceof Variable) {
323 if(!value.hasDeclaredVariable(referred)){
324 throw new LogicProblemBuilderException('''Variable "«referred.name»" is not availabe in the logic problem!''')
325 }
326 }
327 }
328 }
329
330 def public checkDefinition(EObject definition) {
331 /*for(value : definition.eAllContents.filter(SymbolicValue).toIterable) {
332 var referred = value.symbolicReference
333 if(referred instanceof Variable) {
334 if(!value.hasDeclaredVariable(referred)){
335 throw new LogicProblemBuilderException('''Variable "«referred.name»" is not availabe in the logic problem!''')
336 }
337 }
338 }*/
339 }
340
341 // Containment
342 def public ContainmentHierarchy(
343 Iterable<? extends Type> typesInHierarchy,
344 Iterable<? extends Function> containmentFunctions,
345 Iterable<? extends Relation> containmentRelations,
346 Constant rootConstant
347 ) {
348 val result = createContainmentHierarchy => [
349 it.typesOrderedInHierarchy += typesInHierarchy
350 it.containmentFunctions += containmentFunctions
351 it.containmentRelations += containmentRelations
352 it.rootConstant = rootConstant
353 ]
354 return result
355 }
356 def public add(LogicProblem problem, ContainmentHierarchy hierarchy) {
357 problem.containmentHierarchies+=hierarchy
358 return hierarchy
359 }
360
361 // Terms
362
363 private dispatch def boolean hasDeclaredVariable(QuantifiedExpression term, Variable variable) {
364 return term.quantifiedVariables.contains(variable) || ((term.eContainer instanceof Term) && (term.eContainer as Term).hasDeclaredVariable(variable))
365 }
366 private dispatch def boolean hasDeclaredVariable(Term term, Variable variable) {
367 return (term.eContainer instanceof Term) && (term.eContainer as Term).hasDeclaredVariable(variable)
368 }
369 private dispatch def boolean hasDeclaredVariable(RelationDefinition relation, Variable variable) {
370 relation.variables.contains(variable)
371 }
372 private dispatch def boolean hasDeclaredVariable(Void term, Variable variable) {
373 return false
374 }
375
376 def protected void nameAnonymVariables(EObject termSegment, List<String> previousNames) {
377 if(termSegment instanceof QuantifiedExpression) {
378 val newNames = new LinkedList(previousNames)
379 for(variable : termSegment.quantifiedVariables) {
380 var String newName
381 if(variable.name.nullOrEmpty) {
382 newName = newNames.generateUniqueName[i |
383 var x = variable.range.variableAnonymName
384 x+="var"+i.toString
385 //println(x)
386 return x
387 ]
388 variable.name = newName
389 }
390 else newName = variable.name
391 newNames+= newName
392 }
393 termSegment.expression.nameAnonymVariables(newNames)
394 }
395 else {
396 for(subTerm : termSegment.eContents) {
397 subTerm.nameAnonymVariables(previousNames)
398 }
399 }
400 }
401 def protected dispatch String variableAnonymName(BoolTypeReference ref) { "bool" }
402 def protected dispatch String variableAnonymName(IntTypeReference ref) { "int" }
403 def protected dispatch String variableAnonymName(RealTypeReference ref) { "real" }
404 def protected dispatch String variableAnonymName(ComplexTypeReference ref) { ref.referred.name.toLowerCase }
405
406 def protected allSubterms(Term term) {
407 val content = term.eAllContents
408 val result = new ArrayList<EObject>(content.size+1)
409 result+=term
410 result+=content.toIterable
411 return result;
412 }
413
414 def public Term toTerm(TermDescription term) {
415 if(term instanceof Term) return term
416 else if (term instanceof Variable) return createSymbolicValue => [symbolicReference = term]
417 else if (term instanceof Constant) return term.call()
418 else if (term instanceof DefinedElement) return createSymbolicValue => [symbolicReference = term]
419 else throw new UnsupportedOperationException("Can not create reference for symbolic declaration " + term.class.name)
420 }
421
422 def public !(TermDescription term) { Not(term) }
423 def public Not(TermDescription term) { createNot => [operand = term.toTerm] }
424
425 def public &&(TermDescription a, TermDescription b) { And(a,b) }
426 def public And(TermDescription... terms) { return And(terms as Iterable<? extends TermDescription>) }
427 def public And(Iterable<? extends TermDescription> terms) { createAnd => [operands += terms.map[toTerm]] }
428
429 def public ||(TermDescription a, TermDescription b) { Or(a,b) }
430 def public Or(TermDescription... terms) { Or(terms as Iterable<? extends TermDescription>) }
431 def public Or(Iterable<? extends TermDescription> terms) { createOr => [operands += terms.map[toTerm]] }
432
433 def public =>(TermDescription a, TermDescription b) { Impl(a,b) }
434 def public Impl(TermDescription a, TermDescription b) { createImpl => [leftOperand = a.toTerm rightOperand = b.toTerm] }
435
436 def public <=>(TermDescription a, TermDescription b) { Iff(a,b)}
437 def public Iff(TermDescription a, TermDescription b) { createIff =>[leftOperand=a.toTerm rightOperand=b.toTerm] }
438
439 def public ITE(TermDescription condition, TermDescription ifTrue, TermDescription ifFalse) {
440 createIfThenElse => [it.condition = condition.toTerm it.ifTrue = ifTrue.toTerm it.ifFalse = ifFalse.toTerm]
441 }
442
443 def public >(TermDescription left, TermDescription right) { MoreThan(left,right)}
444 def public MoreThan(TermDescription left, TermDescription right) { createMoreThan => [leftOperand=left.toTerm rightOperand=right.toTerm] }
445
446 def public <(TermDescription left, TermDescription right) { LessThan(left,right)}
447 def public LessThan(TermDescription left, TermDescription right) { createLessThan => [leftOperand=left.toTerm rightOperand=right.toTerm] }
448
449 def public <=(TermDescription left, TermDescription right) { LessOrEqual(left,right) }
450 def public LessOrEqual(TermDescription left, TermDescription right) { createLessOrEqualThan => [leftOperand=left.toTerm rightOperand=right.toTerm] }
451
452 def public >=(TermDescription left, TermDescription right) { MoreOrEqual(left,right) }
453 def public MoreOrEqual(TermDescription left, TermDescription right) { createMoreOrEqualThan => [leftOperand=left.toTerm rightOperand=right.toTerm] }
454
455 def public ==(TermDescription left, TermDescription right) {Equals(left,right)}
456 def public Equals(TermDescription left, TermDescription right) { createEquals => [leftOperand=left.toTerm rightOperand=right.toTerm] }
457
458 def public !=(TermDescription left, TermDescription right) { Distinct(left,right) }
459 def public Distinct(TermDescription... terms) { return Distinct(terms as Iterable<? extends TermDescription>) }
460 def public Distinct(Iterable<? extends TermDescription> terms) { createDistinct => [operands += terms.map[toTerm]] }
461
462 def public +(TermDescription left, TermDescription right) { Plus(left,right) }
463 def public Plus(TermDescription left, TermDescription right) { createPlus => [leftOperand=left.toTerm rightOperand=right.toTerm] }
464
465 def public -(TermDescription left, TermDescription right) { Minus(left,right) }
466 def public Minus(TermDescription left, TermDescription right) { createMinus => [leftOperand=left.toTerm rightOperand=right.toTerm] }
467
468 def public *(TermDescription left, TermDescription right) { Multiply(left,right) }
469 def public Multiply(TermDescription left, TermDescription right) { createMultiply => [leftOperand=left.toTerm rightOperand=right.toTerm] }
470
471 def public /(TermDescription left, TermDescription right) { Divide(left,right) }
472 def public Divide(TermDescription left, TermDescription right) { createDivison => [leftOperand = left.toTerm rightOperand = right.toTerm]}
473
474 def public %(TermDescription left, TermDescription right) { Modulo(left,right) }
475 def public Modulo(TermDescription left, TermDescription right) { createMod => [leftOperand = left.toTerm rightOperand = right.toTerm]}
476
477 def public asTerm(boolean value) { createBoolLiteral => [x|x.value = value] }
478 def public asTerm(int value) { createIntLiteral => [x|x.value = value] }
479 def public asTerm(double value) { createRealLiteral => [x|x.value = BigDecimal.valueOf(value)] }
480
481 def public InstanceOf(TermDescription term, TypeDescriptor type) {
482 createInstanceOf => [
483 it.value = term.toTerm
484 it.range = type.toTypeReference
485 ]
486 }
487
488 // QuantifiedExpressions
489
490 def public Forall(Function1<VariableContext, ? extends TermDescription> expression) {
491 val context = new VariableContext(this,logicFactiory)
492 val term = expression.apply(context)
493 return createForall => [x| x.quantifiedVariables+=context.variables x.expression = term.toTerm]
494 }
495 def public Forall(TermDescription expression, Variable... variables) {
496 Forall(variables,expression) }
497 def public Forall(Iterable<? extends Variable> variables,TermDescription expression) {
498 val forallExpression = createForall
499 for(variable : variables) forallExpression.quantifiedVariables += variable
500 forallExpression.expression = expression.toTerm
501 return forallExpression
502 }
503
504 def public Exists(Function1<VariableContext, ? extends TermDescription> expression) {
505 val context = new VariableContext(this,logicFactiory)
506 val term = expression.apply(context)
507 return createExists => [x| x.quantifiedVariables+=context.variables x.expression = term.toTerm]
508 }
509 def public Exists(TermDescription expression, Variable... variables) {
510 Exists(variables,expression) }
511 def public Exists(Iterable<? extends Variable> variables, TermDescription expression) {
512 val existsExpression = createExists
513 for(variable : variables) existsExpression.quantifiedVariables += variable
514 existsExpression.expression = expression.toTerm
515 return existsExpression
516 }
517
518 // Function calls
519 def public call(Function function, TermDescription... substitutions) {
520 call(function, substitutions as Iterable<? extends TermDescription>) }
521 def public call(Function function, Iterable<? extends TermDescription> substitutions) {
522 val functionReference = createSymbolicValue
523 functionReference.symbolicReference=function
524 val List<TermDescription> l= new LinkedList()
525 l.addAll(substitutions)
526 for(substitution : l)
527 functionReference.parameterSubstitutions += substitution.toTerm
528 functionReference.checkFunctionCall(function)
529 return functionReference
530 }
531 def private checkFunctionCall(SymbolicValue value, Function referredFunction) {
532 if(value.parameterSubstitutions.size != referredFunction.parameters.size)
533 throw new LogicProblemBuilderException(
534 '''The function called has «referredFunction.parameters.size» parameters but it is called with «value.parameterSubstitutions.size»!''')
535 }
536
537 // Relation calls
538 def public call(Relation relation, TermDescription... substitution) { relation.call(substitution as Iterable<? extends TermDescription>)}
539 def public call(Relation relation, Iterable<? extends TermDescription> substitution) {
540 val relationReference = createSymbolicValue
541 relationReference.symbolicReference = relation
542 //println('''«relation.name»(«substitution.size»->«relation.parameters»)''')
543 for(value : substitution)
544 relationReference.parameterSubstitutions += value.toTerm
545 relationReference.checkRelationCall(relation)
546 return relationReference
547 }
548 def private checkRelationCall(SymbolicValue value, Relation referredRelation) {
549 if(value.parameterSubstitutions.size != referredRelation.parameters.size) {
550 throw new LogicProblemBuilderException(
551 '''The relation "«referredRelation.name»" called has «referredRelation.parameters.size» parameters but it is called with «value.parameterSubstitutions.size»!''')
552 }
553 }
554
555 // constant evaluation
556 def public call(Constant constant) {
557 val constantReference = createSymbolicValue
558 constantReference.symbolicReference = constant
559 return constantReference
560 }
561
562
563}
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend
new file mode 100644
index 00000000..2e3d57cf
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend
@@ -0,0 +1,47 @@
1package hu.bme.mit.inf.dslreasoner.logic.model.builder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
4import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult
6import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
7
8abstract class LogicReasoner {
9 def abstract LogicResult solve(
10 LogicProblem problem,
11 LogicSolverConfiguration configuration,
12 ReasonerWorkspace workspace) throws LogicReasonerException
13 def abstract LogicModelInterpretation getInterpretation(ModelResult modelResult)
14}
15
16public class LogicReasonerException extends Exception {
17 new(String message, Exception cause) { super(message,cause) }
18 new(Exception cause) { super("The reasoner has failed",cause)}
19 new(String message) { super(message) }
20}
21
22abstract class LogicSolverConfiguration {
23 public static val Unlimited = -1;
24 public static val String UndefinedPath = null
25
26 /** The URI string to the independent solver application */
27 public String solverPath = UndefinedPath
28 /** Max runtime limit in seconds. */
29 public int runtimeLimit = Unlimited
30 /** Max runtime limit in seconds. */
31 public int memoryLimit = Unlimited
32
33 public var TypeScopes typeScopes = new TypeScopes;
34 public var SolutionScope solutionScope = new SolutionScope
35}
36
37public class TypeScopes{
38 public static val Unlimited = -1;
39 public var maxIntScope = Unlimited
40 public var minNewElements = 0
41 public var maxNewElements = Unlimited
42}
43
44public class SolutionScope{
45 public static val Unlimited = -1;
46 public var numberOfRequiredSolution = 1
47} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicStructureBuilder.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicStructureBuilder.xtend
new file mode 100644
index 00000000..b3e44b46
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicStructureBuilder.xtend
@@ -0,0 +1,407 @@
1package hu.bme.mit.inf.dslreasoner.logic.model.builder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.And
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolLiteral
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Distinct
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Divison
13import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals
14import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Exists
15import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Forall
16import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration
17import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition
18import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse
19import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff
20import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl
21import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral
22import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntTypeReference
23import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan
24import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan
25import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
26import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Minus
27import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Mod
28import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan
29import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan
30import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Multiply
31import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Not
32import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Or
33import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Plus
34import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral
35import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
36import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
37import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicDeclaration
38import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue
39import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
40import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription
41import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
42import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
43import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
44import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
45import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
46import java.math.BigDecimal
47import java.util.ArrayList
48import java.util.Collection
49import java.util.Collections
50import java.util.HashMap
51import java.util.LinkedList
52import java.util.List
53import java.util.Map
54
55import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
56import org.eclipse.xtend.lib.annotations.Data
57
58@Data class InterpretationValidationResult {
59 val List<String> problems;
60 val List<Assertion> invalidAssertions;
61 def isValid() { return problems.empty && invalidAssertions.empty}
62}
63
64class LogicStructureBuilder{
65 val protected extension LogiclanguageFactory factory = LogiclanguageFactory.eINSTANCE
66
67 def public dispatch Collection<DefinedElement> getElements(LogicModelInterpretation interpretation, TypeDeclaration type) {
68 return interpretation.getElements(type)
69 }
70 def public dispatch Collection<DefinedElement> getElements(LogicModelInterpretation interpretation, TypeDefinition type) {
71 return type.elements
72 }
73
74 def public Term evalAsTerm(LogicModelInterpretation interpretation, TermDescription term) { term.termDescriptiontoTerm.resolve(interpretation, emptyMap).toTerm }
75 def public boolean evalAsBool(LogicModelInterpretation interpretation, TermDescription term) { term.termDescriptiontoTerm.resolve(interpretation, emptyMap) as Boolean}
76 def public int evalAsInt(LogicModelInterpretation interpretation, TermDescription term) { term.termDescriptiontoTerm.resolve(interpretation, emptyMap) as Integer }
77 def public BigDecimal evalAsReal(LogicModelInterpretation interpretation, TermDescription term) { term.termDescriptiontoTerm.resolve(interpretation, emptyMap) as BigDecimal }
78 /**
79 * Evaluate the expression on a solution to an logic element.
80 * @param interpretation The interpretation which the expression is evaluated on.
81 * @param term An expression which results in a logic element.
82 * @return The logic element value of the expression. Returns the element directly, not a symbolic reference!
83 */
84 def public DefinedElement evalAsElement(LogicModelInterpretation interpretation, TermDescription term) { term.resolve(interpretation,emptyMap) as DefinedElement}
85 /**
86 * Checks if the interpretation is a valid solution of the problem by checking the satisfactions of each assertion.
87 * Returns the collection of failed assertions.
88 * @param interpretation The checked interpretation.
89 * @param problem The interpretation is checked on this problem.
90 * @return The collection of failed assertions.
91 */
92 def public validateInterpretationOnProblem(LogicModelInterpretation interpretation, LogicProblem problem) {
93 val List<String> problems = new LinkedList
94
95 // Checking types
96 val type2ElementsMap = problem.types.toInvertedMap[interpretation.getElements(it)]
97
98 // Checking definition does not changed
99 for(type : problem.types.filter(TypeDefinition)) {
100 val elements = type2ElementsMap.get(type)
101 if(!type.elements.containsAll(elements))
102 problems+='''The interpretation of «type.name» does not contains each elements of the problem'''
103 if(!elements.containsAll(type.elements))
104 problems+='''The interpretation of «type.name» does not contains additional elements not specified in the problem'''
105 }
106 // Checking the type table
107 val allElements = type2ElementsMap.values.flatten.toSet
108 for (element : allElements) {
109 if(! checkElement(problem, type2ElementsMap, element)) {
110 problems += '''«element.name» does not follows the type hierarchy'''
111 }
112 }
113
114 // Checking assertions
115 val List<Assertion> invalidAssertions = new LinkedList
116 for(assertion : problem.assertions) {
117 if(! interpretation.evalAsBool(assertion.value)) {
118 invalidAssertions+= assertion
119 problems += '''«assertion.name» is violated!'''
120 }
121 }
122 return new InterpretationValidationResult(problems,invalidAssertions)
123 //problem.assertions.filter[x | ! interpretation.evalAsBool(x.value)]
124 }
125
126 private def checkElement(LogicProblem problem, Map<Type, List<DefinedElement>> type2ElementsMap, DefinedElement element) {
127 val compatibleDynamicTypes = new LinkedList
128 for(possibleDynamicType: problem.types.filter[!it.isIsAbstract]) {
129 //println(possibleDynamicType.name)
130 val compatibleTypes = possibleDynamicType.transitiveClosureStar[it.supertypes]
131 //compatibleTypes.forEach[print(''' + «it.name»''')]
132 val incompatibleTypes = problem.types.filter[!compatibleTypes.contains(it)]
133 //incompatibleTypes.forEach[print(''' - «it.name»''')]
134 if(compatibleTypes.forall[ type2ElementsMap.get(it).contains(element)] && incompatibleTypes.forall[!type2ElementsMap.get(it).contains(element)]) {
135 //println("Ok")
136 compatibleDynamicTypes += possibleDynamicType
137 }
138 }
139 return compatibleDynamicTypes.size == 1
140 }
141
142 def protected dispatch Term toTerm(Integer o) { createIntLiteral=>[value = o] }
143 def protected dispatch Term toTerm(BigDecimal o) { createRealLiteral=>[value = o]}
144 def protected dispatch Term toTerm(Boolean o) { createBoolLiteral=>[value = o]}
145 def protected dispatch Term toTerm(SymbolicDeclaration o) { createSymbolicValue=>[symbolicReference = o]}
146 def public Term termDescriptiontoTerm(TermDescription term) {
147 if(term instanceof Term) return term
148 else if (term instanceof Variable) return createSymbolicValue => [symbolicReference = term]
149 else if (term instanceof Constant) return createSymbolicValue=>[symbolicReference = term]
150 else if (term instanceof DefinedElement) return createSymbolicValue => [symbolicReference = term]
151 else throw new UnsupportedOperationException("Can not create reference for symbolic declaration " + term.class.name)
152 }
153 /**
154 * Returns if the operation with the numbers in the parameter requires the use of <code>BigDecimal</code>.
155 */
156 def private isBigDecimalRequired(Object... numbers) { return numbers.exists[it instanceof BigDecimal || it instanceof RealLiteral] }
157 def private dispatch BigDecimal asBigDecimal(IntLiteral i) { i.value.asBigDecimal }
158 def private dispatch BigDecimal asBigDecimal(RealLiteral i) { i.value.asBigDecimal }
159 def private dispatch BigDecimal asBigDecimal(Integer i) { BigDecimal.valueOf(i) }
160 def private dispatch BigDecimal asBigDecimal(BigDecimal i) { i }
161 def private dispatch Integer asInteger(Integer i) { i }
162 def private dispatch Integer asInteger(BigDecimal i) { i.intValue }
163 def private dispatch Integer asInteger(IntLiteral i) { i.value.asInteger }
164
165 // Atomic resoulutions
166 def protected dispatch Object resolve(IntLiteral literal, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) { return literal.value as Integer }
167 def protected dispatch Object resolve(BoolLiteral literal, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) { return literal.value }
168 def protected dispatch Object resolve(RealLiteral literal, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) { return literal.value as BigDecimal }
169
170 def protected dispatch Object resolve(Not not, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
171 return ! (not.operand.resolve(interpretation,variableBinding) as Boolean) }
172 def protected dispatch Object resolve(And and, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
173 //for(operand : and.operands) {
174 //val r = operand.resolve(interpretation,variableBinding) as Boolean
175 //println(r)
176 //}
177 return and.operands.forall[resolve(interpretation,variableBinding) as Boolean] as Boolean }
178 def protected dispatch Object resolve(Or or, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
179 //val resolved = or.operands.map[resolve(interpretation,variableBinding) as Boolean]
180 //println(resolved)
181 return or.operands.exists[resolve(interpretation,variableBinding) as Boolean] }
182 def protected dispatch Object resolve(Impl impl, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
183 val left = impl.leftOperand. resolve(interpretation,variableBinding) as Boolean
184 val right = impl.rightOperand.resolve(interpretation,variableBinding) as Boolean
185 return (! left) || (right) }
186 def protected dispatch Object resolve(Iff iff, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
187 return (iff.leftOperand.resolve(interpretation,variableBinding) as Boolean) ==
188 (iff.rightOperand.resolve(interpretation,variableBinding) as Boolean) }
189 def protected dispatch Object resolve(IfThenElse ite, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
190 val condition = ite.condition.resolve(interpretation,variableBinding) as Boolean
191 if(condition) return ite.ifTrue.resolve(interpretation,variableBinding)
192 else return ite.ifFalse.resolve(interpretation,variableBinding)
193 }
194 def protected dispatch Object resolve(MoreThan moreThan, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
195 val left = moreThan.leftOperand.resolve(interpretation,variableBinding) as Number
196 val right = moreThan.rightOperand.resolve(interpretation,variableBinding) as Number
197 if(isBigDecimalRequired(left,right)) {
198 return left.asBigDecimal.compareTo(right.asBigDecimal) > 0 }
199 else { return left.asInteger > right.asInteger } }
200 def protected dispatch Object resolve(LessThan lessThan, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
201 val left = lessThan.leftOperand.resolve(interpretation,variableBinding) as Number
202 val right = lessThan.rightOperand.resolve(interpretation,variableBinding) as Number
203 if(isBigDecimalRequired(left,right)) {
204 return left.asBigDecimal.compareTo(right.asBigDecimal) < 0 }
205 else { return left.asInteger < right.asInteger } }
206 def protected dispatch Object resolve(MoreOrEqualThan moreThan, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
207 val left = moreThan.leftOperand.resolve(interpretation,variableBinding) as Number
208 val right = moreThan.rightOperand.resolve(interpretation,variableBinding) as Number
209 if(isBigDecimalRequired(left,right)) {
210 return left.asBigDecimal.compareTo(right.asBigDecimal) >= 0 }
211 else { return left.asInteger >= right.asInteger } }
212 def protected dispatch Object resolve(LessOrEqualThan lessThan, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
213 val left = lessThan.leftOperand.resolve(interpretation,variableBinding) as Number
214 val right = lessThan.rightOperand.resolve(interpretation,variableBinding) as Number
215 if(isBigDecimalRequired(left,right)) return left.asBigDecimal.compareTo(right.asBigDecimal) <= 0
216 else { return left.asInteger <= right.asInteger } }
217
218
219 def protected dispatch Object resolve(Equals equals, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
220 val left = equals.leftOperand.resolve(interpretation,variableBinding)
221 val right = equals.rightOperand.resolve(interpretation,variableBinding)
222 return compare(left,right)
223 }
224 def protected dispatch Object resolve(Distinct distinct, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
225 val elements = distinct.operands.map[it.resolve(interpretation,variableBinding)]
226 if(elements.size== 0) return true
227 else {
228 val res = (0..<elements.size).forall[i |
229 (0..<i).forall[j|
230 ! this.compare(elements.get(i),elements.get(j))]]
231 //println('''«elements» = «res»''')
232 return res
233 }
234
235 //return elements.forall[x| elements.filter[it!=x].forall[y | x != y ]]
236 }
237
238 def protected dispatch Object resolve(Plus plus, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
239 val left = plus.leftOperand.resolve(interpretation,variableBinding) as Number
240 val right = plus.rightOperand.resolve(interpretation,variableBinding) as Number
241 if(isBigDecimalRequired(left,right)) return left.asBigDecimal.add(right.asBigDecimal)
242 else return left.asInteger + right.asInteger
243 }
244 def protected dispatch Object resolve(Minus minus, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
245 val left = minus.leftOperand.resolve(interpretation,variableBinding) as Number
246 val right = minus.rightOperand.resolve(interpretation,variableBinding) as Number
247 if(isBigDecimalRequired(left,right)) return left.asBigDecimal.subtract(right.asBigDecimal)
248 else return left.asInteger - right.asInteger
249 }
250 def protected dispatch Object resolve(Multiply multiply, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
251 val left = multiply.leftOperand.resolve(interpretation,variableBinding)
252 val right = multiply.rightOperand.resolve(interpretation,variableBinding)
253 if(isBigDecimalRequired(left,right)) return left.asBigDecimal.multiply(right.asBigDecimal)
254 else return left.asInteger * right.asInteger
255 }
256 def protected dispatch Object resolve(Divison divide, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
257 val left = divide.leftOperand.resolve(interpretation,variableBinding) as Number
258 val right = divide.rightOperand.resolve(interpretation,variableBinding) as Number
259 if(isBigDecimalRequired(left,right)) return left.asBigDecimal.divide(right.asBigDecimal)
260 return left.asInteger / right.asInteger
261 }
262 def protected dispatch Object resolve(Mod modulo, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
263 val left = modulo.leftOperand.resolve(interpretation,variableBinding) as Number
264 val right = modulo.rightOperand.resolve(interpretation,variableBinding) as Number
265 if(isBigDecimalRequired(left,right)) return left.asBigDecimal.remainder(right.asBigDecimal)
266 else return left.asInteger % right.asInteger
267 }
268
269 def protected dispatch Object resolve(Exists exists, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
270 executeExists(exists.expression,interpretation,variableBinding,exists.quantifiedVariables) }
271 def protected dispatch Object resolve(Forall forall, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
272 executeForall(forall.expression,interpretation,variableBinding,forall.quantifiedVariables) }
273
274 def protected dispatch Object resolve(SymbolicValue symbolicValue, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
275 val referenced = symbolicValue.symbolicReference
276 if(referenced instanceof DefinedElement) {
277 return referenced
278 } else if(referenced instanceof Variable) {
279 return variableBinding.get(referenced)
280 } else if(referenced instanceof FunctionDeclaration) {
281 val parameterSubstitution = new ArrayList<Object>
282 if(! symbolicValue.parameterSubstitutions.empty) {
283 for(place : 0..symbolicValue.parameterSubstitutions.size-1) {
284 val variable = symbolicValue.parameterSubstitutions.get(place)
285 parameterSubstitution += variable.resolve(interpretation,variableBinding)
286 }
287 }
288 return interpretation.getInterpretation(referenced,parameterSubstitution)
289 } else if(referenced instanceof FunctionDefinition) {
290 val parameterSubstitution = new HashMap<Variable,Object>()
291 for(place: 0..<referenced.variable.size) {
292 parameterSubstitution.put(
293 referenced.variable.get(place),
294 symbolicValue.parameterSubstitutions.get(place).resolve(interpretation,variableBinding))
295 }
296 return referenced.value.resolve(interpretation,parameterSubstitution)
297 } else if(referenced instanceof RelationDeclaration) {
298 val parameterSubstitunion = new ArrayList<Object>
299 if(! symbolicValue.parameterSubstitutions.empty) {
300 for(place : 0..symbolicValue.parameterSubstitutions.size-1) {
301 val variable = symbolicValue.parameterSubstitutions.get(place)
302 parameterSubstitunion += variable.resolve(interpretation,variableBinding)
303 }
304 }
305 return (interpretation.getInterpretation(referenced,parameterSubstitunion) as Boolean)
306 } else if(referenced instanceof RelationDefinition) {
307 val parameterSubstitution = new HashMap<Variable,Object>()
308 for(place: 0..<referenced.variables.size) {
309 parameterSubstitution.put(
310 referenced.variables.get(place),
311 symbolicValue.parameterSubstitutions.get(place).resolve(interpretation,variableBinding))
312 }
313 return referenced.value.resolve(interpretation,parameterSubstitution)
314 } else if(referenced instanceof ConstantDeclaration) {
315 return interpretation.getInterpretation(referenced)
316 } else if(referenced instanceof ConstantDefinition) {
317 return referenced.value.resolve(interpretation,Collections.emptyMap);
318 } else throw new IllegalArgumentException('''Unknown referred symbol: «referenced»''')
319 }
320
321 // TermDescriptions are reduced to terms
322 def protected dispatch resolve(Variable variable, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
323 return variableBinding.get(variable)
324 }
325
326 def protected dispatch resolve(DefinedElement definedElement, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
327 return definedElement
328 }
329
330 def private compare(Object left, Object right) {
331 if(left instanceof Number && right instanceof Number) {
332 if(isBigDecimalRequired(left as Number,right as Number)) {
333 return (left as Number).asBigDecimal.compareTo((right as Number).asBigDecimal) == 0
334 } else {
335 return (left as Number).asInteger == (right as Number).asInteger
336 }
337 } else return left.equals(right)
338 }
339
340 def allIntegers(LogicModelInterpretation interpretation) {
341 if(interpretation.minimalInteger <= interpretation.maximalInteger) {
342 (interpretation.minimalInteger .. interpretation.maximalInteger).map[asInteger]
343 } else return emptySet
344 }
345
346 def private boolean executeExists(
347 Term expression,
348 LogicModelInterpretation interpretation,
349 Map<Variable,Object> variableBinding,
350 List<Variable> variablesToBind)
351 {
352 if(variablesToBind.empty) {
353 val res = expression.resolve(interpretation,variableBinding) as Boolean
354 return res
355 }
356 else {
357 val unfoldedVariable = variablesToBind.head
358 val possibleValuesType = unfoldedVariable.range
359 if(possibleValuesType instanceof ComplexTypeReference) {
360 return this.getElements(interpretation,possibleValuesType.referred).exists[newBinding |
361 executeExists(
362 expression,
363 interpretation,
364 new HashMap(variableBinding) => [put(unfoldedVariable,newBinding)],
365 variablesToBind.subList(1,variablesToBind.size))]
366 } else if(possibleValuesType instanceof IntTypeReference) {
367 return interpretation.allIntegers.exists[newBinding |
368 executeExists(
369 expression,
370 interpretation,
371 new HashMap(variableBinding) => [put(unfoldedVariable,newBinding)],
372 variablesToBind.subList(1,variablesToBind.size))]
373 }
374 else throw new UnsupportedOperationException('''Quantifying over type "«possibleValuesType»" is unsupported.''')
375 }
376 }
377
378 def private boolean executeForall(
379 Term expression,
380 LogicModelInterpretation interpretation,
381 Map<Variable,Object> variableBinding,
382 List<Variable> variablesToBind)
383 {
384 if(variablesToBind.empty) {
385 return expression.resolve(interpretation,variableBinding) as Boolean
386 }
387 else {
388 val unfoldedVariable = variablesToBind.head
389 val possibleValuesType = unfoldedVariable.range
390 if(possibleValuesType instanceof ComplexTypeReference) {
391 return this.getElements(interpretation,possibleValuesType.referred).forall[newBinding |
392 executeForall(
393 expression,
394 interpretation,
395 new HashMap(variableBinding) => [put(unfoldedVariable,newBinding)],
396 variablesToBind.subList(1,variablesToBind.size))]
397 } else if(possibleValuesType instanceof IntTypeReference) {
398 return interpretation.allIntegers.forall[newBinding |
399 executeForall(
400 expression,
401 interpretation,
402 new HashMap(variableBinding) => [put(unfoldedVariable,newBinding)],
403 variablesToBind.subList(1,variablesToBind.size))]
404 } else throw new UnsupportedOperationException('''Quantifying over type "«possibleValuesType»" is unsupported.''')
405 }
406 }
407} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/TracedLogicProblem.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/TracedLogicProblem.xtend
new file mode 100644
index 00000000..9862a6c1
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/TracedLogicProblem.xtend
@@ -0,0 +1,26 @@
1package hu.bme.mit.inf.dslreasoner.logic.model.builder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
10import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
11
12class TracedLogicProblem {
13 val LogicProblemBuilder builder = new LogicProblemBuilder
14 val LogicProblem problem = builder.createProblem
15
16 def public getProblem() { return problem }
17
18 def public add(TypeDeclaration type) { builder.add(problem,type) }
19 def public add(TypeDefinition type) { builder.add(problem,type) }
20 def public add(Function function) { builder.add(problem,function) }
21 def public add(FunctionDescription functionDescription) { builder.add(problem,functionDescription) }
22 def public add(Relation relation) { builder.add(problem, relation) }
23 def public add(Constant constant) { builder.add(problem, constant) }
24 def public add(Assertion assertion) { builder.add(problem,assertion) }
25 def public add(TermDescription termDescription) { builder.add(problem,termDescription) }
26}
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/TracedOutput.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/TracedOutput.xtend
new file mode 100644
index 00000000..6ffc3524
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/TracedOutput.xtend
@@ -0,0 +1,6 @@
1package hu.bme.mit.inf.dslreasoner.logic.model.builder
2
3@Data class TracedOutput<OUTPUT,TRACE> {
4 OUTPUT output
5 TRACE trace
6}
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/VariableContext.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/VariableContext.xtend
new file mode 100644
index 00000000..3073d88f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/VariableContext.xtend
@@ -0,0 +1,33 @@
1package hu.bme.mit.inf.dslreasoner.logic.model.builder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
4import java.util.List
5import java.util.LinkedList
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDescriptor
8
9class VariableContext {
10 val extension LogiclanguageFactory language;
11 val extension LogicProblemBuilder logicProblemBuilder;
12
13 new(LogicProblemBuilder logicProblemBuilder, LogiclanguageFactory language) {
14 this.logicProblemBuilder = logicProblemBuilder
15 this.language = language
16 }
17
18 private List<Variable> variables = new LinkedList;
19 def public getVariables(){variables}
20
21
22 //def public -(TypeDescriptor type) { Variable(type) }
23 def public Variable addVar(TypeDescriptor type) {
24 return addVar(null, type);
25 }
26
27 def public Variable addVar(CharSequence variableName, TypeDescriptor type) {
28 if(variables.exists[name.equals(variableName)]) throw new IllegalArgumentException("Variable with name " + variableName +" is already defined.")
29 val variable = createVariable => [name = variableName.canonize range = type.toTypeReference]
30 variables += variable
31 return variable
32 }
33} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/consistencychecker/TypeConsistencyChecker.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/consistencychecker/TypeConsistencyChecker.xtend
new file mode 100644
index 00000000..abb05e83
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/consistencychecker/TypeConsistencyChecker.xtend
@@ -0,0 +1,75 @@
1package hu.bme.mit.inf.dslreasoner.logic.model.builder.consistencychecker
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner
4import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
5import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
6import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
7import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException
8import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult
9import org.eclipse.viatra.query.runtime.emf.EMFScope
10import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
11import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage
12import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultFactory
13import hu.bme.mit.inf.dslreasoner.logic.model.patterns.TypeSystemIsInconsistentMatcher
14import hu.bme.mit.inf.dslreasoner.logic.model.patterns.ElementNotDefinedInSupertypeMatcher
15import hu.bme.mit.inf.dslreasoner.logic.model.patterns.ElementWithNoPossibleDynamicTypeMatcher
16import hu.bme.mit.inf.dslreasoner.logic.model.patterns.PossibleDynamicTypeMatcher
17
18class TypeConsistencyChecker extends LogicReasoner{
19 val extension LogicresultFactory factory = LogicresultFactory.eINSTANCE
20
21 new() {
22 LogicproblemPackage.eINSTANCE.class
23 }
24
25 override solve(LogicProblem problem, LogicSolverConfiguration configuration, ReasonerWorkspace workspace) throws LogicReasonerException {
26 val statistics = createStatistics => [
27 it.transformationTime = 0
28 it.solverMemory = -1
29 ]
30
31 val start = System.currentTimeMillis
32
33 val queryEngine = ViatraQueryEngine.on(new EMFScope(problem))
34
35 val typeSystemInconsistencyMatcher = TypeSystemIsInconsistentMatcher.on(queryEngine)
36 val elementNotDefinedInSupertype = ElementNotDefinedInSupertypeMatcher.on(queryEngine)
37 val elementWithNoPossibleDynamicType = ElementWithNoPossibleDynamicTypeMatcher.on(queryEngine)
38 val possibleDynamicType = PossibleDynamicTypeMatcher.on(queryEngine)
39
40 val hasErrorPatternMatch = typeSystemInconsistencyMatcher.hasMatch(problem)
41
42 statistics.solverTime = (System.currentTimeMillis - start) as int
43
44 val possibleDynamicTypeStatisticEntry = problem.elements.map[e|
45 '''«e.name»: [«possibleDynamicType.getAllValuesOfdynamic(problem,e).map[it.name].join(", ")»]'''
46 ].join("\n")
47
48 if(hasErrorPatternMatch) {
49 return createInconsistencyResult =>[
50 it.problem = problem
51 it.statistics = statistics
52 it.statistics.entries += createStringStatisticEntry => [
53 it.name = "possibleDynamicType"
54 it.value = possibleDynamicTypeStatisticEntry
55 ]
56 it.statistics.entries += createStringStatisticEntry => [
57 it.name = "elementNotDefinedInSupertype"
58 it.value=elementNotDefinedInSupertype.allValuesOfelement.map[it.name].join(", ")
59 ]
60
61 it.statistics.entries += createStringStatisticEntry => [
62 it.name = "elementWithNoPossibleDynamicType"
63 it.value=elementWithNoPossibleDynamicType.allValuesOfelement.map[it.name].join(", ")
64 ]
65 ]
66 } else {
67 return createUndecidableResult =>
68 [it.problem = problem it.statistics = statistics]
69 }
70 }
71
72 override getInterpretation(ModelResult modelResult) {
73 throw new UnsupportedOperationException('''This solver is unable to create interpretations!''')
74 }
75} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2CSV.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2CSV.xtend
new file mode 100644
index 00000000..442de6d9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2CSV.xtend
@@ -0,0 +1,89 @@
1package hu.bme.mit.inf.dslreasoner.logic.model.statistics
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.IntStatisticEntry
4import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.RealStatisticEntry
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics
6import java.util.ArrayList
7import java.util.HashMap
8import java.util.LinkedList
9import java.util.List
10import java.util.Map
11
12class StatisticsData {
13 public var List<Pair<String,String>> inputConfiguration
14 public var List<Pair<String,String>> outputMetrics
15 public var Statistics solverStatistics
16}
17
18class StatisticSections2CSV {
19 static val separator = ';'
20 static val empty = ""
21
22 private def getValue(Map<String, String> map,String key) {
23 if(map.containsKey(key)) return map.get(key)
24 else return empty
25 }
26 private def addKey(List<String> list, String newValue) {
27 if(! list.contains(newValue)) list+=newValue
28 }
29
30 public def CharSequence transformStatisticDatas2CSV(
31 List<StatisticsData> statistics)
32 {
33 val inputConfigurationColumns = new LinkedList
34 val inputConfigurationValues = new ArrayList(statistics.length)
35 val solverStatisticColumns = new LinkedList
36 val solverStatisticValues = new ArrayList(statistics.length)
37 val outputMetricColumns = new LinkedList
38 val outputMetricValues = new ArrayList(statistics.length)
39
40 statistics.map[inputConfiguration].indexColumnsForPairs(inputConfigurationColumns, inputConfigurationValues)
41 statistics.map[it.solverStatistics].indexColumnsForEntries(solverStatisticColumns, solverStatisticValues)
42 statistics.map[outputMetrics].indexColumnsForPairs(outputMetricColumns,outputMetricValues)
43
44 return '''
45 ID« // Header
46 IF inputConfigurationColumns.length>0»«separator»«FOR name : inputConfigurationColumns SEPARATOR separator»«name»«ENDFOR»«ENDIF»«
47 separator»Transformation_Time«separator»Solver_Time«separator»Solver_Memory«
48 IF solverStatisticColumns.length>0»«separator»«ENDIF»«
49 FOR name:solverStatisticColumns SEPARATOR separator»«name»«ENDFOR»«
50 IF outputMetricColumns.length>0»«separator»«ENDIF»«
51 FOR name:outputMetricColumns SEPARATOR separator»«name»«ENDFOR»
52 « // Table
53 FOR index : 0..<statistics.size»
54 «index+1 /*ID*/»«
55 IF inputConfigurationColumns.size>0»«separator»«ENDIF»«
56 FOR name : inputConfigurationColumns SEPARATOR separator»«inputConfigurationValues.get(index).getValue(name)»«ENDFOR»«
57 separator»«statistics.get(index).solverStatistics.transformationTime»«
58 separator»«statistics.get(index).solverStatistics.solverTime»«
59 separator»«statistics.get(index).solverStatistics.solverMemory»«
60 IF solverStatisticColumns.size>0»«separator»«ENDIF»«
61 FOR name:solverStatisticColumns SEPARATOR separator»«solverStatisticValues.get(index).getValue(name)»«ENDFOR»«
62 IF outputMetricColumns.size>0»«separator»«ENDIF»«
63 FOR name:outputMetricColumns SEPARATOR separator»«outputMetricValues.get(index).getValue(name)»«ENDFOR»
64 «ENDFOR»'''
65 }
66
67 def private indexColumnsForPairs(List<List<Pair<String, String>>> datas, List<String> columns, List<Map<String, String>> values) {
68 for(inputConfiguration : datas) {
69 val map = new HashMap
70 for(entry : inputConfiguration) {
71 columns.addKey(entry.key)
72 map.put(entry.key,entry.value)
73 }
74 values+=map
75 }
76 }
77 def private indexColumnsForEntries(List<Statistics> datas, List<String> columns, List<Map<String, String>> values) {
78 for(inputConfiguration : datas) {
79 val map = new HashMap
80 for(entry : inputConfiguration.entries) {
81 columns.addKey(entry.name)
82 map.put(entry.name,entry.readValue)
83 }
84 values+=map
85 }
86 }
87 private def dispatch String readValue(IntStatisticEntry e) { return e.value.toString }
88 private def dispatch String readValue(RealStatisticEntry e){ return e.value.toString }
89} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2Print.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2Print.xtend
new file mode 100644
index 00000000..08efa811
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2Print.xtend
@@ -0,0 +1,23 @@
1package hu.bme.mit.inf.dslreasoner.logic.model.statistics
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.IntStatisticEntry
4import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.RealStatisticEntry
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StatisticEntry
6import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StringStatisticEntry
7import java.util.List
8
9class StatisticSections2Print {
10 public def CharSequence transformStatisticDatas2CSV(
11 List<StatisticEntry> statistics)
12 {
13 var result = "";
14 for(statistic : statistics) {
15 result+= '''«statistic.readValue»;'''
16 }
17 return result
18 }
19
20 private def dispatch String readValue(IntStatisticEntry e) { return e.value.toString }
21 private def dispatch String readValue(RealStatisticEntry e){ return e.value.toString }
22 private def dispatch String readValue(StringStatisticEntry e) { return "\n" + e.value }
23} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/util/CollectionsUtil.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/util/CollectionsUtil.xtend
new file mode 100644
index 00000000..25cddc05
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/util/CollectionsUtil.xtend
@@ -0,0 +1,82 @@
1package hu.bme.mit.inf.dslreasoner.util
2
3import java.util.HashSet
4import java.util.LinkedList
5import java.util.List
6import java.util.Map
7import java.util.Set
8import org.eclipse.xtext.xbase.lib.Functions.Function1
9import java.util.HashMap
10import java.util.LinkedHashMap
11
12class CollectionsUtil {
13 public def static <FROM,TO> TO lookup(FROM from, Map<? super FROM,TO> map) {
14 if(map.containsKey(from)) {
15 return map.get(from)
16 } else throw new IllegalArgumentException('''
17 The map does not contains the key "«from.toString»"!
18 --- Elements: ---
19 «FOR entry : map.entrySet SEPARATOR '\n'»«entry.key» -> «entry.value»«ENDFOR»
20 -----------------''');
21 }
22 public def <FROM,TO> TO ifThenElse(FROM source, Function1<FROM,Boolean> condition, Function1<FROM,TO> ifTrue, Function1<FROM,TO> ifFalse) {
23 if(condition.apply(source)) {
24 return ifTrue.apply(source)
25 }
26 else {
27 return ifFalse.apply(source)
28 }
29 }
30 public def static <Key,Value> Union(Map<Key,Value> a, Map<Key,Value> b) {
31 (a.keySet + b.keySet).toInvertedMap[key |
32 if(a.containsKey(key)) a.get(key)
33 else b.get(key)
34 ]
35 }
36 public def static <Key,Value> putOrAddToSet(Map<Key,Set<Value>> map, Key key, Value value) {
37 if(map.containsKey(key)) {
38 map.get(key).add(value)
39 }else{
40 val set = new HashSet<Value>() => [it.add(value)]
41 map.put(key, set)
42 }
43 }
44 public def static <Key,Value> putOrAddToList(Map<Key,List<Value>> map, Key key, Value value) {
45 if(map.containsKey(key)) {
46 map.get(key).add(value)
47 }else{
48 val set = new LinkedList<Value>() => [it.add(value)]
49 map.put(key, set)
50 }
51 }
52 def public static <From,To,Property> Map<From,To> copyMap(Map<From,To> oldMap, Iterable<To> newValues, Function1<To,Property> indexExtractor) {
53 val Map<Property,To> valueIndexes = oldMap.values.toMap[to|indexExtractor.apply(to)];
54 val res = oldMap.mapValues[value | indexExtractor.apply(value).lookup(valueIndexes)]
55 return res
56 }
57 def public static <From,To> Map<To,From> bijectiveInverse(Map<From,To> m) { m.keySet.toMap[x|x.lookup(m)] }
58 def public static <From,To> Map<To,List<From>> inverse(Map<From,To> m) {
59 val res = new LinkedHashMap<To,List<From>>
60 m.entrySet.forEach[res.putOrAddToList(it.value,it.key)]
61 return res
62 }
63
64 def public static <Type> List<Type> transitiveClosurePlus(Type source, Function1<Type,Iterable<Type>> next) {
65 val res = new LinkedList()
66 transitiveClosureHelper(res,source,next)
67 return res
68 }
69 def public static <Type> List<Type> transitiveClosureStar(Type source, Function1<Type,Iterable<Type>> next) {
70 val res = new LinkedList()
71 res += source
72 transitiveClosureHelper(res,source,next)
73 return res
74 }
75 def private static <Type> void transitiveClosureHelper(List<Type> result, Type actual, Function1<Type,Iterable<Type>> next) {
76 val front = next.apply(actual)
77 for(elementInFront : front) {
78 result += elementInFront
79 transitiveClosureHelper(result,elementInFront,next)
80 }
81 }
82}
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/util/LogicProblemBuilder_AdvancedConstructs.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/util/LogicProblemBuilder_AdvancedConstructs.xtend
new file mode 100644
index 00000000..3db0e2a6
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/util/LogicProblemBuilder_AdvancedConstructs.xtend
@@ -0,0 +1,71 @@
1package hu.bme.mit.inf.dslreasoner.util
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
7import java.util.ArrayList
8import java.util.Collection
9import java.util.List
10import java.util.Map
11
12class LogicProblemBuilder_AdvancedConstructs {
13 val extension LogicProblemBuilder builder;
14 public new(LogicProblemBuilder builder) {
15 this.builder = builder
16 }
17
18 def public FunctionDefinitionBody(Iterable<Variable> variables, Map<List<Term>,Term> parametersToValue, Term other) {
19 val variableList = variables.toList
20 val entryList = parametersToValue.entrySet.toList
21
22 // Size = 0
23 if(entryList.empty && other === null) {
24 throw new IllegalArgumentException('''No possible value is specified!''')
25 // Size = 1
26 } else if(entryList.size == 1 && other === null) {
27 return entryList.head.value
28 // Size = 1
29 } else if(entryList.empty && !(other === null)) {
30 return other
31 // Size > 1
32 }else {
33 // Transforming values to IF-Then-Else structures
34 /**The number of IF-THEN-ELSE structures needed*/
35 var int iteNumber
36 if(other === null) iteNumber = entryList.size-1
37 else iteNumber = entryList.size
38
39 val ites = new ArrayList<IfThenElse>(iteNumber)
40 for (element : 0 ..< iteNumber) {
41 ites += ITE(
42 entryList.get(element).key.substitutionIsEqual(variableList),
43 entryList.get(element).value,
44 null)
45 }
46
47 // Linking the IF-Then-Else structures to a chain
48 for (optionIndex : 1 ..< ites.size) {
49 val prev = ites.get(optionIndex - 1)
50 val next = ites.get(optionIndex)
51 prev.ifFalse = next
52 }
53
54 if(other === null) ites.last.ifFalse = entryList.last.value
55 else ites.last.ifFalse = other
56
57 // return the head of the chain
58 return ites.head
59 }
60 }
61
62 def public RelationDefinitionBody(Iterable<Variable> variables, Collection<List<Term>> elements) {
63 val variableList = variables.toList
64 return elements.map[row | row.substitutionIsEqual(variableList)].Or
65 }
66
67 def private substitutionIsEqual(List<Term> substitution, List<Variable> variables) {
68 val parameterIndexes = 0..<variables.size
69 return And(parameterIndexes.map[index | substitution.get(index) == variables.get(index)])
70 }
71} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/util/SetWithCustomEquivalence.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/util/SetWithCustomEquivalence.xtend
new file mode 100644
index 00000000..ae2cfb04
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/util/SetWithCustomEquivalence.xtend
@@ -0,0 +1,103 @@
1package hu.bme.mit.inf.dslreasoner.util
2
3import org.eclipse.xtext.xbase.lib.Functions.Function1
4import java.util.HashMap
5import java.util.Set
6import java.util.Collection
7import java.util.HashSet
8
9class SetWithCustomEquivalence<Type,Representation> implements Set<Type>{
10 val Function1<Type,Representation> representer;
11 val HashMap<Representation,Type> map
12
13 public new(Function1<Type,Representation> representer) {
14 this.representer = representer
15 this.map = new HashMap<Representation,Type>
16 }
17 public new(Function1<Type,Representation> representer, Collection<? extends Type> initialElements) {
18 this.representer = representer
19 this.map = new HashMap
20 initialElements.forEach[add]
21 }
22
23 override add(Type arg0) {
24 val representation = representer.apply(arg0)
25 if(!map.containsKey(representation)) {
26 map.put(representation,arg0);
27 return true
28 } else return false
29 }
30
31 override addAll(Collection<? extends Type> arg0) {
32 val originalSize = this.size
33 arg0.forEach[add(it)]
34 return (this.size != originalSize)
35 }
36
37 override clear() {
38 map.clear
39 }
40
41 override contains(Object arg0) {
42 try {
43 val rep = this.representer.apply(arg0 as Type)
44 return map.containsKey(rep)
45 } catch (ClassCastException e) {
46 return false
47 }
48 }
49
50 override containsAll(Collection<?> arg0) {
51 arg0.forall[it.contains]
52 }
53
54 override isEmpty() {
55 return map.isEmpty
56 }
57
58 override iterator() {
59 return map.values.iterator
60 }
61
62 override remove(Object arg0) {
63 try {
64 val rep = this.representer.apply(arg0 as Type)
65 return map.remove(rep) != null
66 } catch (ClassCastException e) {
67 return false
68 }
69 }
70
71 override removeAll(Collection<?> arg0) {
72 val originalSize = this.size
73 arg0.forEach[remove(it)]
74 return (this.size != originalSize)
75 }
76
77 override retainAll(Collection<?> arg0) {
78 val Set<Representation> representationsOfArg0 = new HashSet
79 for(element: arg0) {
80 try {
81 representationsOfArg0 += this.representer.apply(element as Type)
82 } catch(ClassCastException e) {}
83 }
84 val originalSize = this.size
85 for(r:this.map.keySet) {
86 if(!representationsOfArg0.contains(r))
87 this.map.remove(r)
88 }
89 return (this.size != originalSize)
90 }
91
92 override size() {
93 return this.map.size
94 }
95
96 override toArray() {
97 map.values.toArray
98 }
99
100 override <T> toArray(T[] arg0) {
101 map.values.toArray(arg0)
102 }
103} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/util/visualisation/Interpretation2Gml.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/util/visualisation/Interpretation2Gml.xtend
new file mode 100644
index 00000000..472799f9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/util/visualisation/Interpretation2Gml.xtend
@@ -0,0 +1,5 @@
1package hu.bme.mit.inf.dslreasoner.util.visualisation
2
3class Interpretation2Gml {
4
5} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/FileSystemWorkspace.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/FileSystemWorkspace.xtend
new file mode 100644
index 00000000..6041fdbf
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/FileSystemWorkspace.xtend
@@ -0,0 +1,74 @@
1package hu.bme.mit.inf.dslreasoner.workspace
2
3import java.io.BufferedReader
4import java.io.FileReader
5import java.io.PrintWriter
6import org.eclipse.emf.common.util.URI
7import java.io.File
8
9class FileSystemWorkspace extends ReasonerWorkspace{
10
11 new(String targetFolder, String prefix) {
12 super(targetFolder/*.replaceAll("\\\\","/").replaceAll("/\\.","")*/, prefix)
13 }
14
15 override protected getURI(String name) {
16 URI.createFileURI(targetFolder + "/" + prefix + name)
17 }
18
19 def protected getFolderURI() {
20 URI.createFileURI(targetFolder)
21 }
22
23 override getWorkspaceURI() {
24 getFolderURI
25 }
26
27 override initAndClear() {
28 val folder = new File(folderURI.toFileString)
29 folder.mkdirs
30 for(file : folder.listFiles) {
31 file.deleteFile
32 }
33 }
34
35 def void deleteFile(File file) {
36 if (file.isDirectory()) {
37 file.listFiles().forEach[deleteFile]
38 file.delete
39 } else {
40 file.delete;
41 }
42 }
43
44 override writeText(String name, CharSequence content) {
45 val uri = getURI(name)
46 val writer = new PrintWriter(uri.toFileString, "UTF-8");
47 writer.println(content);
48 writer.close();
49 return uri
50 }
51
52 override readText(String name) {
53 var String line;
54 var String result = "";
55 val in = new BufferedReader(new FileReader(getURI(name).toFileString))
56 while ((line = in.readLine()) != null) {
57 result = result.concat(line)
58 }
59 in.close
60 return result
61 }
62
63 override protected renameFile(String name) {
64 val uri = getURI(name)
65 val uri2 = getURI(name+deactivationPostfix)
66 val file = new File(uri. toFileString)
67 val file2 = new File(uri2.toFileString)
68 file.renameTo(file2)
69 }
70
71 override subWorkspace(String targetFolder, String prefix) {
72 return new FileSystemWorkspace(this.targetFolder + "/" + targetFolder, this.prefix + prefix)
73 }
74} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/ProjectWorkspace.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/ProjectWorkspace.xtend
new file mode 100644
index 00000000..5703bd5a
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/ProjectWorkspace.xtend
@@ -0,0 +1,105 @@
1package hu.bme.mit.inf.dslreasoner.workspace
2
3import java.io.BufferedReader
4import java.io.ByteArrayInputStream
5import java.io.IOException
6import java.io.InputStreamReader
7import org.eclipse.core.resources.IContainer
8import org.eclipse.core.resources.IFolder
9import org.eclipse.core.resources.IProject
10import org.eclipse.core.resources.IWorkspaceRoot
11import org.eclipse.core.resources.ResourcesPlugin
12import org.eclipse.core.runtime.NullProgressMonitor
13import org.eclipse.emf.common.util.URI
14
15class ProjectWorkspace extends ReasonerWorkspace{
16
17 val monitor = new NullProgressMonitor
18 var IContainer target;
19
20 new(String targetFolder, String prefix) {
21 super(targetFolder, prefix)
22 }
23
24 override protected getURI(String name) {
25 URI.createPlatformResourceURI(targetFolder + "/" + prefix + name,true);
26 }
27
28 def protected getDirUri() {
29 URI.createPlatformResourceURI(targetFolder,true)
30 }
31
32 override getWorkspaceURI() {
33 getDirUri
34 }
35
36 override initAndClear() {
37 target = ResourcesPlugin.workspace.root
38 for(nameSegment : dirUri.segments) {
39 target = createContainer(target,nameSegment)
40 }
41 target.members.forEach[delete(false,monitor)]
42 }
43
44 def protected dispatch createContainer(IWorkspaceRoot root, String name) {
45 val project = root.getProject(name)
46 if(project.exists) {
47 if(!project.open) {
48 project.open(monitor)
49 }
50 } else {
51 project.create(monitor)
52 }
53 return project
54 }
55
56 def protected dispatch createContainer(IProject root, String name) {
57 val folder = root.getFolder(name);
58 if(folder.exists) {
59 folder.create(false,true,monitor)
60 }
61 return folder
62 }
63
64 def protected dispatch createContainer(IFolder root, String name) {
65 val folder = root.getFolder(name);
66 if(folder.exists) {
67 folder.create(false,true,monitor)
68 }
69 return folder
70 }
71
72 def dispatch getTargetFile(IFolder targetFolder, String name) { targetFolder.getFile(name) }
73 def dispatch getTargetFile(IProject targetProject, String name) { targetProject.getFile(name) }
74
75 override writeText(String name, CharSequence content) {
76 val file = target.getTargetFile(name);
77 if(!file.exists()) {
78 file.create(new ByteArrayInputStream(content.toString().getBytes()),true, new NullProgressMonitor());
79 return URI.createPlatformResourceURI(file.projectRelativePath.toString,true)
80 }
81 else throw new IOException("The file is already existing.")
82 }
83
84 override readText(String name) {
85 val file = target.getTargetFile(name)
86 val in = new BufferedReader(new InputStreamReader(file.contents))
87
88 var result = ""
89 var String line;
90
91 while ((line = in.readLine()) != null) {
92 result = result.concat(line)
93 }
94
95 return result
96 }
97
98 override protected renameFile(String name) {
99 throw new UnsupportedOperationException("TODO: auto-generated method stub")
100 }
101
102 override subWorkspace(String targetFolder, String prefix) {
103 throw new UnsupportedOperationException("TODO: auto-generated method stub")
104 }
105}
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/ReasonerWorkspace.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/ReasonerWorkspace.xtend
new file mode 100644
index 00000000..a7e3a48b
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/ReasonerWorkspace.xtend
@@ -0,0 +1,100 @@
1package hu.bme.mit.inf.dslreasoner.workspace
2
3import java.io.FileNotFoundException
4import java.util.Collections
5import org.eclipse.emf.common.util.URI
6import org.eclipse.emf.ecore.EObject
7import org.eclipse.emf.ecore.resource.ResourceSet
8import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl
9import org.eclipse.emf.ecore.resource.Resource
10import java.io.ByteArrayOutputStream
11import java.io.IOException
12
13abstract class ReasonerWorkspace{
14
15 protected val String targetFolder;
16 protected val String prefix;
17 val ResourceSet resSet = new ResourceSetImpl();
18
19 public new(String targetFolder, String prefix) {
20 this.targetFolder = targetFolder
21 this.prefix = prefix
22 }
23
24 public def ReasonerWorkspace subWorkspace(String targetFolder, String prefix);
25
26 def URI getWorkspaceURI();
27
28 /**
29 * Creates the target folder and clears the workspace for the reasoning
30 */
31 def public void initAndClear()
32
33 def protected URI getURI(String name);
34 protected def Resource getResource(String name) {
35 val prevoius = resSet.getResource(getURI(name),false);
36 if(prevoius!= null) prevoius.delete(Collections.EMPTY_MAP)
37
38 val URI resourceURI = getURI(name)
39 return resSet.createResource(resourceURI);
40 }
41
42
43 /**
44 * Writes a model
45 */
46 def public URI writeModel(EObject modelRoot, String name) {
47 val resource = getResource(name);
48 resource.getContents().add(modelRoot);
49 resource.save(Collections.EMPTY_MAP);
50 return resource.URI
51 }
52
53
54 def public String writeModelToString(EObject modelRoot, String name) {
55 val resource = getResource(name);
56 resource.getContents().add(modelRoot);
57 val ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
58 resource.save(outputStream, null);
59 return outputStream.toString();
60 }
61
62 def public <RootType extends EObject> RootType reloadModel(Class<RootType> type, String name) {
63 try {
64 val resource = resSet.getResource(getURI(name),false);
65 if(resource.loaded) {
66 resource.unload
67 }
68 resource.load(Collections.EMPTY_MAP)
69 if(resource == null) throw new FileNotFoundException(getURI(name).toString)
70 else return resource.contents.get(0) as RootType
71 } catch(Exception e) {
72 throw new FileNotFoundException(getURI(name).toString)
73 }
74 }
75
76 def public <RootType extends EObject> RootType readModel(Class<RootType> type, String name) {
77 try {
78 val resource = resSet.getResource(getURI(name),true);
79 if(resource == null) throw new FileNotFoundException(getURI(name).toString)
80 else return resource.contents.get(0) as RootType
81 } catch(Exception e) {
82 throw new FileNotFoundException(getURI(name).toString + "reason: " + e.message)
83 }
84 }
85
86 def public deactivateModel(String name) {
87 val resource = resSet.getResource(getURI(name),true);
88 resource.unload
89 renameFile(name)
90 }
91 val static protected deactivationPostfix = ".deactivated"
92 def protected void renameFile(String name)
93
94// def void reactivate()
95// def void deactivate()
96
97 def public URI writeText(String name, CharSequence content);
98
99 def public String readText(String name);
100} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.classpath b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.classpath
new file mode 100644
index 00000000..75ccaa90
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.classpath
@@ -0,0 +1,9 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="ecore-gen"/>
4 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
5 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
6 <classpathentry kind="src" path="src"/>
7 <classpathentry kind="src" path="xtend-gen"/>
8 <classpathentry kind="output" path="bin"/>
9</classpath>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.gitignore b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.gitignore
new file mode 100644
index 00000000..8ae4e44d
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.gitignore
@@ -0,0 +1,4 @@
1/bin/
2/src-gen/
3/vql-gen/
4/xtend-gen/
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.project b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.project
new file mode 100644
index 00000000..f97c5d0b
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.viatra2logic</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.jdt.core.javabuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.ManifestBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.SchemaBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.pde.PluginNature</nature>
31 <nature>org.eclipse.jdt.core.javanature</nature>
32 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.settings/org.eclipse.jdt.core.prefs b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/META-INF/MANIFEST.MF b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..1872207f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: %pluginName
4Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.viatra2logic;singleton:=true
5Bundle-Version: 1.0.0.qualifier
6Bundle-ClassPath: .
7Bundle-Vendor: %providerName
8Bundle-Localization: plugin
9Bundle-RequiredExecutionEnvironment: JavaSE-1.8
10Require-Bundle: com.google.guava,
11 org.eclipse.xtext.xbase.lib,
12 org.eclipse.xtend.lib,
13 org.eclipse.xtend.lib.macro,
14 org.eclipse.viatra.query.runtime;bundle-version="1.5.0",
15 hu.bme.mit.inf.dslreasoner.ecore2logic;bundle-version="1.0.0",
16 org.eclipse.core.runtime,
17 org.eclipse.emf.ecore;visibility:=reexport,
18 hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0";visibility:=reexport,
19 org.eclipse.viatra.query.runtime.base.itc;bundle-version="1.5.0"
20Bundle-ActivationPolicy: lazy
21Export-Package: hu.bme.mit.inf.dslreasoner.viatra2logic,
22 hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations,
23 hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl,
24 hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.util
25
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/build.properties b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/build.properties
new file mode 100644
index 00000000..72399047
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/build.properties
@@ -0,0 +1,10 @@
1#
2
3bin.includes = .,\
4 model/,\
5 META-INF/,\
6 plugin.xml,\
7 plugin.properties
8jars.compile.order = .
9source.. = ecore-gen/
10output.. = bin/
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/DefinedByDerivedFeature.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/DefinedByDerivedFeature.java
new file mode 100644
index 00000000..ab468027
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/DefinedByDerivedFeature.java
@@ -0,0 +1,50 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Defined By Derived Feature</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature#getQuery <em>Query</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getDefinedByDerivedFeature()
20 * @model
21 * @generated
22 */
23public interface DefinedByDerivedFeature extends RelationAnnotation {
24 /**
25 * Returns the value of the '<em><b>Query</b></em>' reference.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Query</em>' reference isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Query</em>' reference.
33 * @see #setQuery(TransfomedViatraQuery)
34 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getDefinedByDerivedFeature_Query()
35 * @model required="true"
36 * @generated
37 */
38 TransfomedViatraQuery getQuery();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature#getQuery <em>Query</em>}' reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Query</em>' reference.
45 * @see #getQuery()
46 * @generated
47 */
48 void setQuery(TransfomedViatraQuery value);
49
50} // DefinedByDerivedFeature
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransfomedViatraQuery.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransfomedViatraQuery.java
new file mode 100644
index 00000000..9eb911d5
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransfomedViatraQuery.java
@@ -0,0 +1,50 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Transfomed Viatra Query</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getPatternFullyQualifiedName <em>Pattern Fully Qualified Name</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getTransfomedViatraQuery()
20 * @model
21 * @generated
22 */
23public interface TransfomedViatraQuery extends RelationAnnotation {
24
25 /**
26 * Returns the value of the '<em><b>Pattern Fully Qualified Name</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Pattern Fully Qualified Name</em>' attribute isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Pattern Fully Qualified Name</em>' attribute.
34 * @see #setPatternFullyQualifiedName(String)
35 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getTransfomedViatraQuery_PatternFullyQualifiedName()
36 * @model required="true"
37 * @generated
38 */
39 String getPatternFullyQualifiedName();
40
41 /**
42 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getPatternFullyQualifiedName <em>Pattern Fully Qualified Name</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Pattern Fully Qualified Name</em>' attribute.
46 * @see #getPatternFullyQualifiedName()
47 * @generated
48 */
49 void setPatternFullyQualifiedName(String value);
50} // TransfomedViatraQuery
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransformedViatraWellformednessConstraint.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransformedViatraWellformednessConstraint.java
new file mode 100644
index 00000000..04c5480f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransformedViatraWellformednessConstraint.java
@@ -0,0 +1,50 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Transformed Viatra Wellformedness Constraint</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint#getQuery <em>Query</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getTransformedViatraWellformednessConstraint()
20 * @model
21 * @generated
22 */
23public interface TransformedViatraWellformednessConstraint extends AssertionAnnotation {
24 /**
25 * Returns the value of the '<em><b>Query</b></em>' reference.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Query</em>' reference isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Query</em>' reference.
33 * @see #setQuery(TransfomedViatraQuery)
34 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getTransformedViatraWellformednessConstraint_Query()
35 * @model required="true"
36 * @generated
37 */
38 TransfomedViatraQuery getQuery();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint#getQuery <em>Query</em>}' reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Query</em>' reference.
45 * @see #getQuery()
46 * @generated
47 */
48 void setQuery(TransfomedViatraQuery value);
49
50} // TransformedViatraWellformednessConstraint
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsFactory.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsFactory.java
new file mode 100644
index 00000000..1343bee3
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsFactory.java
@@ -0,0 +1,60 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations;
4
5import org.eclipse.emf.ecore.EFactory;
6
7/**
8 * <!-- begin-user-doc -->
9 * The <b>Factory</b> for the model.
10 * It provides a create method for each non-abstract class of the model.
11 * <!-- end-user-doc -->
12 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage
13 * @generated
14 */
15public interface Viatra2LogicAnnotationsFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 Viatra2LogicAnnotationsFactory eINSTANCE = hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>Transfomed Viatra Query</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>Transfomed Viatra Query</em>'.
29 * @generated
30 */
31 TransfomedViatraQuery createTransfomedViatraQuery();
32
33 /**
34 * Returns a new object of class '<em>Transformed Viatra Wellformedness Constraint</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Transformed Viatra Wellformedness Constraint</em>'.
38 * @generated
39 */
40 TransformedViatraWellformednessConstraint createTransformedViatraWellformednessConstraint();
41
42 /**
43 * Returns a new object of class '<em>Defined By Derived Feature</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>Defined By Derived Feature</em>'.
47 * @generated
48 */
49 DefinedByDerivedFeature createDefinedByDerivedFeature();
50
51 /**
52 * Returns the package supported by this factory.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the package supported by this factory.
56 * @generated
57 */
58 Viatra2LogicAnnotationsPackage getViatra2LogicAnnotationsPackage();
59
60} //Viatra2LogicAnnotationsFactory
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsPackage.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsPackage.java
new file mode 100644
index 00000000..0c3de242
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsPackage.java
@@ -0,0 +1,343 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
6
7import org.eclipse.emf.ecore.EAttribute;
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.EPackage;
10import org.eclipse.emf.ecore.EReference;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Package</b> for the model.
15 * It contains accessors for the meta objects to represent
16 * <ul>
17 * <li>each class,</li>
18 * <li>each feature of each class,</li>
19 * <li>each operation of each class,</li>
20 * <li>each enum,</li>
21 * <li>and each data type</li>
22 * </ul>
23 * <!-- end-user-doc -->
24 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsFactory
25 * @model kind="package"
26 * @generated
27 */
28public interface Viatra2LogicAnnotationsPackage extends EPackage {
29 /**
30 * The package name.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 String eNAME = "viatra2logicannotations";
36
37 /**
38 * The package namespace URI.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @generated
42 */
43 String eNS_URI = "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/viatra2logicannotation";
44
45 /**
46 * The package namespace name.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 String eNS_PREFIX = "viatra2logicannotations";
52
53 /**
54 * The singleton instance of the package.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 Viatra2LogicAnnotationsPackage eINSTANCE = hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl.init();
60
61 /**
62 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransfomedViatraQueryImpl <em>Transfomed Viatra Query</em>}' class.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransfomedViatraQueryImpl
66 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl#getTransfomedViatraQuery()
67 * @generated
68 */
69 int TRANSFOMED_VIATRA_QUERY = 0;
70
71 /**
72 * The feature id for the '<em><b>Target</b></em>' reference.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 * @ordered
77 */
78 int TRANSFOMED_VIATRA_QUERY__TARGET = LogicproblemPackage.RELATION_ANNOTATION__TARGET;
79
80 /**
81 * The feature id for the '<em><b>Pattern Fully Qualified Name</b></em>' attribute.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 * @ordered
86 */
87 int TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 0;
88
89 /**
90 * The number of structural features of the '<em>Transfomed Viatra Query</em>' class.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 * @ordered
95 */
96 int TRANSFOMED_VIATRA_QUERY_FEATURE_COUNT = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 1;
97
98 /**
99 * The number of operations of the '<em>Transfomed Viatra Query</em>' class.
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 * @ordered
104 */
105 int TRANSFOMED_VIATRA_QUERY_OPERATION_COUNT = LogicproblemPackage.RELATION_ANNOTATION_OPERATION_COUNT + 0;
106
107 /**
108 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransformedViatraWellformednessConstraintImpl <em>Transformed Viatra Wellformedness Constraint</em>}' class.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransformedViatraWellformednessConstraintImpl
112 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl#getTransformedViatraWellformednessConstraint()
113 * @generated
114 */
115 int TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT = 1;
116
117 /**
118 * The feature id for the '<em><b>Target</b></em>' reference.
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 * @ordered
123 */
124 int TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__TARGET = LogicproblemPackage.ASSERTION_ANNOTATION__TARGET;
125
126 /**
127 * The feature id for the '<em><b>Query</b></em>' reference.
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 * @ordered
132 */
133 int TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY = LogicproblemPackage.ASSERTION_ANNOTATION_FEATURE_COUNT + 0;
134
135 /**
136 * The number of structural features of the '<em>Transformed Viatra Wellformedness Constraint</em>' class.
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 * @ordered
141 */
142 int TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT_FEATURE_COUNT = LogicproblemPackage.ASSERTION_ANNOTATION_FEATURE_COUNT + 1;
143
144 /**
145 * The number of operations of the '<em>Transformed Viatra Wellformedness Constraint</em>' class.
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 * @ordered
150 */
151 int TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT_OPERATION_COUNT = LogicproblemPackage.ASSERTION_ANNOTATION_OPERATION_COUNT + 0;
152
153
154 /**
155 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.DefinedByDerivedFeatureImpl <em>Defined By Derived Feature</em>}' class.
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.DefinedByDerivedFeatureImpl
159 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl#getDefinedByDerivedFeature()
160 * @generated
161 */
162 int DEFINED_BY_DERIVED_FEATURE = 2;
163
164 /**
165 * The feature id for the '<em><b>Target</b></em>' reference.
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 * @ordered
170 */
171 int DEFINED_BY_DERIVED_FEATURE__TARGET = LogicproblemPackage.RELATION_ANNOTATION__TARGET;
172
173 /**
174 * The feature id for the '<em><b>Query</b></em>' reference.
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 * @ordered
179 */
180 int DEFINED_BY_DERIVED_FEATURE__QUERY = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 0;
181
182 /**
183 * The number of structural features of the '<em>Defined By Derived Feature</em>' class.
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 * @ordered
188 */
189 int DEFINED_BY_DERIVED_FEATURE_FEATURE_COUNT = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 1;
190
191 /**
192 * The number of operations of the '<em>Defined By Derived Feature</em>' class.
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 * @ordered
197 */
198 int DEFINED_BY_DERIVED_FEATURE_OPERATION_COUNT = LogicproblemPackage.RELATION_ANNOTATION_OPERATION_COUNT + 0;
199
200
201 /**
202 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery <em>Transfomed Viatra Query</em>}'.
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @return the meta object for class '<em>Transfomed Viatra Query</em>'.
206 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery
207 * @generated
208 */
209 EClass getTransfomedViatraQuery();
210
211 /**
212 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getPatternFullyQualifiedName <em>Pattern Fully Qualified Name</em>}'.
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @return the meta object for the attribute '<em>Pattern Fully Qualified Name</em>'.
216 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getPatternFullyQualifiedName()
217 * @see #getTransfomedViatraQuery()
218 * @generated
219 */
220 EAttribute getTransfomedViatraQuery_PatternFullyQualifiedName();
221
222 /**
223 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint <em>Transformed Viatra Wellformedness Constraint</em>}'.
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @return the meta object for class '<em>Transformed Viatra Wellformedness Constraint</em>'.
227 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint
228 * @generated
229 */
230 EClass getTransformedViatraWellformednessConstraint();
231
232 /**
233 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint#getQuery <em>Query</em>}'.
234 * <!-- begin-user-doc -->
235 * <!-- end-user-doc -->
236 * @return the meta object for the reference '<em>Query</em>'.
237 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint#getQuery()
238 * @see #getTransformedViatraWellformednessConstraint()
239 * @generated
240 */
241 EReference getTransformedViatraWellformednessConstraint_Query();
242
243 /**
244 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature <em>Defined By Derived Feature</em>}'.
245 * <!-- begin-user-doc -->
246 * <!-- end-user-doc -->
247 * @return the meta object for class '<em>Defined By Derived Feature</em>'.
248 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature
249 * @generated
250 */
251 EClass getDefinedByDerivedFeature();
252
253 /**
254 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature#getQuery <em>Query</em>}'.
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @return the meta object for the reference '<em>Query</em>'.
258 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature#getQuery()
259 * @see #getDefinedByDerivedFeature()
260 * @generated
261 */
262 EReference getDefinedByDerivedFeature_Query();
263
264 /**
265 * Returns the factory that creates the instances of the model.
266 * <!-- begin-user-doc -->
267 * <!-- end-user-doc -->
268 * @return the factory that creates the instances of the model.
269 * @generated
270 */
271 Viatra2LogicAnnotationsFactory getViatra2LogicAnnotationsFactory();
272
273 /**
274 * <!-- begin-user-doc -->
275 * Defines literals for the meta objects that represent
276 * <ul>
277 * <li>each class,</li>
278 * <li>each feature of each class,</li>
279 * <li>each operation of each class,</li>
280 * <li>each enum,</li>
281 * <li>and each data type</li>
282 * </ul>
283 * <!-- end-user-doc -->
284 * @generated
285 */
286 interface Literals {
287 /**
288 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransfomedViatraQueryImpl <em>Transfomed Viatra Query</em>}' class.
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransfomedViatraQueryImpl
292 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl#getTransfomedViatraQuery()
293 * @generated
294 */
295 EClass TRANSFOMED_VIATRA_QUERY = eINSTANCE.getTransfomedViatraQuery();
296
297 /**
298 * The meta object literal for the '<em><b>Pattern Fully Qualified Name</b></em>' attribute feature.
299 * <!-- begin-user-doc -->
300 * <!-- end-user-doc -->
301 * @generated
302 */
303 EAttribute TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME = eINSTANCE.getTransfomedViatraQuery_PatternFullyQualifiedName();
304
305 /**
306 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransformedViatraWellformednessConstraintImpl <em>Transformed Viatra Wellformedness Constraint</em>}' class.
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransformedViatraWellformednessConstraintImpl
310 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl#getTransformedViatraWellformednessConstraint()
311 * @generated
312 */
313 EClass TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT = eINSTANCE.getTransformedViatraWellformednessConstraint();
314
315 /**
316 * The meta object literal for the '<em><b>Query</b></em>' reference feature.
317 * <!-- begin-user-doc -->
318 * <!-- end-user-doc -->
319 * @generated
320 */
321 EReference TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY = eINSTANCE.getTransformedViatraWellformednessConstraint_Query();
322
323 /**
324 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.DefinedByDerivedFeatureImpl <em>Defined By Derived Feature</em>}' class.
325 * <!-- begin-user-doc -->
326 * <!-- end-user-doc -->
327 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.DefinedByDerivedFeatureImpl
328 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl#getDefinedByDerivedFeature()
329 * @generated
330 */
331 EClass DEFINED_BY_DERIVED_FEATURE = eINSTANCE.getDefinedByDerivedFeature();
332
333 /**
334 * The meta object literal for the '<em><b>Query</b></em>' reference feature.
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @generated
338 */
339 EReference DEFINED_BY_DERIVED_FEATURE__QUERY = eINSTANCE.getDefinedByDerivedFeature_Query();
340
341 }
342
343} //Viatra2LogicAnnotationsPackage
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/DefinedByDerivedFeatureImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/DefinedByDerivedFeatureImpl.java
new file mode 100644
index 00000000..c2098ed0
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/DefinedByDerivedFeatureImpl.java
@@ -0,0 +1,158 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.RelationAnnotationImpl;
6
7import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature;
8import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery;
9import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage;
10
11import org.eclipse.emf.common.notify.Notification;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Defined By Derived Feature</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.DefinedByDerivedFeatureImpl#getQuery <em>Query</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class DefinedByDerivedFeatureImpl extends RelationAnnotationImpl implements DefinedByDerivedFeature {
32 /**
33 * The cached value of the '{@link #getQuery() <em>Query</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getQuery()
37 * @generated
38 * @ordered
39 */
40 protected TransfomedViatraQuery query;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected DefinedByDerivedFeatureImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 protected EClass eStaticClass() {
58 return Viatra2LogicAnnotationsPackage.Literals.DEFINED_BY_DERIVED_FEATURE;
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 public TransfomedViatraQuery getQuery() {
67 if (query != null && query.eIsProxy()) {
68 InternalEObject oldQuery = (InternalEObject)query;
69 query = (TransfomedViatraQuery)eResolveProxy(oldQuery);
70 if (query != oldQuery) {
71 if (eNotificationRequired())
72 eNotify(new ENotificationImpl(this, Notification.RESOLVE, Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE__QUERY, oldQuery, query));
73 }
74 }
75 return query;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public TransfomedViatraQuery basicGetQuery() {
84 return query;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public void setQuery(TransfomedViatraQuery newQuery) {
93 TransfomedViatraQuery oldQuery = query;
94 query = newQuery;
95 if (eNotificationRequired())
96 eNotify(new ENotificationImpl(this, Notification.SET, Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE__QUERY, oldQuery, query));
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public Object eGet(int featureID, boolean resolve, boolean coreType) {
106 switch (featureID) {
107 case Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE__QUERY:
108 if (resolve) return getQuery();
109 return basicGetQuery();
110 }
111 return super.eGet(featureID, resolve, coreType);
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public void eSet(int featureID, Object newValue) {
121 switch (featureID) {
122 case Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE__QUERY:
123 setQuery((TransfomedViatraQuery)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID) {
136 switch (featureID) {
137 case Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE__QUERY:
138 setQuery((TransfomedViatraQuery)null);
139 return;
140 }
141 super.eUnset(featureID);
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 @Override
150 public boolean eIsSet(int featureID) {
151 switch (featureID) {
152 case Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE__QUERY:
153 return query != null;
154 }
155 return super.eIsSet(featureID);
156 }
157
158} //DefinedByDerivedFeatureImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransfomedViatraQueryImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransfomedViatraQueryImpl.java
new file mode 100644
index 00000000..f0d18ee9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransfomedViatraQueryImpl.java
@@ -0,0 +1,161 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.RelationAnnotationImpl;
6
7import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery;
8import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Transfomed Viatra Query</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransfomedViatraQueryImpl#getPatternFullyQualifiedName <em>Pattern Fully Qualified Name</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class TransfomedViatraQueryImpl extends RelationAnnotationImpl implements TransfomedViatraQuery {
28 /**
29 * The default value of the '{@link #getPatternFullyQualifiedName() <em>Pattern Fully Qualified Name</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getPatternFullyQualifiedName()
33 * @generated
34 * @ordered
35 */
36 protected static final String PATTERN_FULLY_QUALIFIED_NAME_EDEFAULT = null;
37 /**
38 * The cached value of the '{@link #getPatternFullyQualifiedName() <em>Pattern Fully Qualified Name</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getPatternFullyQualifiedName()
42 * @generated
43 * @ordered
44 */
45 protected String patternFullyQualifiedName = PATTERN_FULLY_QUALIFIED_NAME_EDEFAULT;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected TransfomedViatraQueryImpl() {
53 super();
54 }
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 @Override
62 protected EClass eStaticClass() {
63 return Viatra2LogicAnnotationsPackage.Literals.TRANSFOMED_VIATRA_QUERY;
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 public String getPatternFullyQualifiedName() {
72 return patternFullyQualifiedName;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public void setPatternFullyQualifiedName(String newPatternFullyQualifiedName) {
81 String oldPatternFullyQualifiedName = patternFullyQualifiedName;
82 patternFullyQualifiedName = newPatternFullyQualifiedName;
83 if (eNotificationRequired())
84 eNotify(new ENotificationImpl(this, Notification.SET, Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME, oldPatternFullyQualifiedName, patternFullyQualifiedName));
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 @Override
93 public Object eGet(int featureID, boolean resolve, boolean coreType) {
94 switch (featureID) {
95 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME:
96 return getPatternFullyQualifiedName();
97 }
98 return super.eGet(featureID, resolve, coreType);
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 @Override
107 public void eSet(int featureID, Object newValue) {
108 switch (featureID) {
109 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME:
110 setPatternFullyQualifiedName((String)newValue);
111 return;
112 }
113 super.eSet(featureID, newValue);
114 }
115
116 /**
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 */
121 @Override
122 public void eUnset(int featureID) {
123 switch (featureID) {
124 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME:
125 setPatternFullyQualifiedName(PATTERN_FULLY_QUALIFIED_NAME_EDEFAULT);
126 return;
127 }
128 super.eUnset(featureID);
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 @Override
137 public boolean eIsSet(int featureID) {
138 switch (featureID) {
139 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME:
140 return PATTERN_FULLY_QUALIFIED_NAME_EDEFAULT == null ? patternFullyQualifiedName != null : !PATTERN_FULLY_QUALIFIED_NAME_EDEFAULT.equals(patternFullyQualifiedName);
141 }
142 return super.eIsSet(featureID);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public String toString() {
152 if (eIsProxy()) return super.toString();
153
154 StringBuffer result = new StringBuffer(super.toString());
155 result.append(" (patternFullyQualifiedName: ");
156 result.append(patternFullyQualifiedName);
157 result.append(')');
158 return result.toString();
159 }
160
161} //TransfomedViatraQueryImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransformedViatraWellformednessConstraintImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransformedViatraWellformednessConstraintImpl.java
new file mode 100644
index 00000000..be0c3078
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransformedViatraWellformednessConstraintImpl.java
@@ -0,0 +1,158 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.AssertionAnnotationImpl;
6
7import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery;
8import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint;
9import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage;
10
11import org.eclipse.emf.common.notify.Notification;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Transformed Viatra Wellformedness Constraint</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransformedViatraWellformednessConstraintImpl#getQuery <em>Query</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class TransformedViatraWellformednessConstraintImpl extends AssertionAnnotationImpl implements TransformedViatraWellformednessConstraint {
32 /**
33 * The cached value of the '{@link #getQuery() <em>Query</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getQuery()
37 * @generated
38 * @ordered
39 */
40 protected TransfomedViatraQuery query;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected TransformedViatraWellformednessConstraintImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 protected EClass eStaticClass() {
58 return Viatra2LogicAnnotationsPackage.Literals.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT;
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 public TransfomedViatraQuery getQuery() {
67 if (query != null && query.eIsProxy()) {
68 InternalEObject oldQuery = (InternalEObject)query;
69 query = (TransfomedViatraQuery)eResolveProxy(oldQuery);
70 if (query != oldQuery) {
71 if (eNotificationRequired())
72 eNotify(new ENotificationImpl(this, Notification.RESOLVE, Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY, oldQuery, query));
73 }
74 }
75 return query;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public TransfomedViatraQuery basicGetQuery() {
84 return query;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public void setQuery(TransfomedViatraQuery newQuery) {
93 TransfomedViatraQuery oldQuery = query;
94 query = newQuery;
95 if (eNotificationRequired())
96 eNotify(new ENotificationImpl(this, Notification.SET, Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY, oldQuery, query));
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public Object eGet(int featureID, boolean resolve, boolean coreType) {
106 switch (featureID) {
107 case Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY:
108 if (resolve) return getQuery();
109 return basicGetQuery();
110 }
111 return super.eGet(featureID, resolve, coreType);
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public void eSet(int featureID, Object newValue) {
121 switch (featureID) {
122 case Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY:
123 setQuery((TransfomedViatraQuery)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID) {
136 switch (featureID) {
137 case Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY:
138 setQuery((TransfomedViatraQuery)null);
139 return;
140 }
141 super.eUnset(featureID);
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 @Override
150 public boolean eIsSet(int featureID) {
151 switch (featureID) {
152 case Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY:
153 return query != null;
154 }
155 return super.eIsSet(featureID);
156 }
157
158} //TransformedViatraWellformednessConstraintImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsFactoryImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsFactoryImpl.java
new file mode 100644
index 00000000..fc8f23c7
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsFactoryImpl.java
@@ -0,0 +1,117 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl;
4
5import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.*;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage;
10
11import org.eclipse.emf.ecore.impl.EFactoryImpl;
12
13import org.eclipse.emf.ecore.plugin.EcorePlugin;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model <b>Factory</b>.
18 * <!-- end-user-doc -->
19 * @generated
20 */
21public class Viatra2LogicAnnotationsFactoryImpl extends EFactoryImpl implements Viatra2LogicAnnotationsFactory {
22 /**
23 * Creates the default factory implementation.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @generated
27 */
28 public static Viatra2LogicAnnotationsFactory init() {
29 try {
30 Viatra2LogicAnnotationsFactory theViatra2LogicAnnotationsFactory = (Viatra2LogicAnnotationsFactory)EPackage.Registry.INSTANCE.getEFactory(Viatra2LogicAnnotationsPackage.eNS_URI);
31 if (theViatra2LogicAnnotationsFactory != null) {
32 return theViatra2LogicAnnotationsFactory;
33 }
34 }
35 catch (Exception exception) {
36 EcorePlugin.INSTANCE.log(exception);
37 }
38 return new Viatra2LogicAnnotationsFactoryImpl();
39 }
40
41 /**
42 * Creates an instance of the factory.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 public Viatra2LogicAnnotationsFactoryImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 public EObject create(EClass eClass) {
58 switch (eClass.getClassifierID()) {
59 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY: return createTransfomedViatraQuery();
60 case Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT: return createTransformedViatraWellformednessConstraint();
61 case Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE: return createDefinedByDerivedFeature();
62 default:
63 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
64 }
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public TransfomedViatraQuery createTransfomedViatraQuery() {
73 TransfomedViatraQueryImpl transfomedViatraQuery = new TransfomedViatraQueryImpl();
74 return transfomedViatraQuery;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public TransformedViatraWellformednessConstraint createTransformedViatraWellformednessConstraint() {
83 TransformedViatraWellformednessConstraintImpl transformedViatraWellformednessConstraint = new TransformedViatraWellformednessConstraintImpl();
84 return transformedViatraWellformednessConstraint;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public DefinedByDerivedFeature createDefinedByDerivedFeature() {
93 DefinedByDerivedFeatureImpl definedByDerivedFeature = new DefinedByDerivedFeatureImpl();
94 return definedByDerivedFeature;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 public Viatra2LogicAnnotationsPackage getViatra2LogicAnnotationsPackage() {
103 return (Viatra2LogicAnnotationsPackage)getEPackage();
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @deprecated
110 * @generated
111 */
112 @Deprecated
113 public static Viatra2LogicAnnotationsPackage getPackage() {
114 return Viatra2LogicAnnotationsPackage.eINSTANCE;
115 }
116
117} //Viatra2LogicAnnotationsFactoryImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsPackageImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsPackageImpl.java
new file mode 100644
index 00000000..b6992bf9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsPackageImpl.java
@@ -0,0 +1,256 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
8
9import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature;
10import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery;
11import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint;
12import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsFactory;
13import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage;
14
15import org.eclipse.emf.ecore.EAttribute;
16import org.eclipse.emf.ecore.EClass;
17import org.eclipse.emf.ecore.EPackage;
18import org.eclipse.emf.ecore.EReference;
19
20import org.eclipse.emf.ecore.impl.EPackageImpl;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model <b>Package</b>.
25 * <!-- end-user-doc -->
26 * @generated
27 */
28public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements Viatra2LogicAnnotationsPackage {
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 private EClass transfomedViatraQueryEClass = null;
35
36 /**
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @generated
40 */
41 private EClass transformedViatraWellformednessConstraintEClass = null;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 private EClass definedByDerivedFeatureEClass = null;
49
50 /**
51 * Creates an instance of the model <b>Package</b>, registered with
52 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
53 * package URI value.
54 * <p>Note: the correct way to create the package is via the static
55 * factory method {@link #init init()}, which also performs
56 * initialization of the package, or returns the registered package,
57 * if one already exists.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see org.eclipse.emf.ecore.EPackage.Registry
61 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#eNS_URI
62 * @see #init()
63 * @generated
64 */
65 private Viatra2LogicAnnotationsPackageImpl() {
66 super(eNS_URI, Viatra2LogicAnnotationsFactory.eINSTANCE);
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 private static boolean isInited = false;
75
76 /**
77 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
78 *
79 * <p>This method is used to initialize {@link Viatra2LogicAnnotationsPackage#eINSTANCE} when that field is accessed.
80 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @see #eNS_URI
84 * @see #createPackageContents()
85 * @see #initializePackageContents()
86 * @generated
87 */
88 public static Viatra2LogicAnnotationsPackage init() {
89 if (isInited) return (Viatra2LogicAnnotationsPackage)EPackage.Registry.INSTANCE.getEPackage(Viatra2LogicAnnotationsPackage.eNS_URI);
90
91 // Obtain or create and register package
92 Viatra2LogicAnnotationsPackageImpl theViatra2LogicAnnotationsPackage = (Viatra2LogicAnnotationsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof Viatra2LogicAnnotationsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new Viatra2LogicAnnotationsPackageImpl());
93
94 isInited = true;
95
96 // Initialize simple dependencies
97 LogiclanguagePackage.eINSTANCE.eClass();
98 LogicproblemPackage.eINSTANCE.eClass();
99
100 // Create package meta-data objects
101 theViatra2LogicAnnotationsPackage.createPackageContents();
102
103 // Initialize created meta-data
104 theViatra2LogicAnnotationsPackage.initializePackageContents();
105
106 // Mark meta-data to indicate it can't be changed
107 theViatra2LogicAnnotationsPackage.freeze();
108
109
110 // Update the registry and return the package
111 EPackage.Registry.INSTANCE.put(Viatra2LogicAnnotationsPackage.eNS_URI, theViatra2LogicAnnotationsPackage);
112 return theViatra2LogicAnnotationsPackage;
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 public EClass getTransfomedViatraQuery() {
121 return transfomedViatraQueryEClass;
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 public EAttribute getTransfomedViatraQuery_PatternFullyQualifiedName() {
130 return (EAttribute)transfomedViatraQueryEClass.getEStructuralFeatures().get(0);
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public EClass getTransformedViatraWellformednessConstraint() {
139 return transformedViatraWellformednessConstraintEClass;
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 public EReference getTransformedViatraWellformednessConstraint_Query() {
148 return (EReference)transformedViatraWellformednessConstraintEClass.getEStructuralFeatures().get(0);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 public EClass getDefinedByDerivedFeature() {
157 return definedByDerivedFeatureEClass;
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 public EReference getDefinedByDerivedFeature_Query() {
166 return (EReference)definedByDerivedFeatureEClass.getEStructuralFeatures().get(0);
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 public Viatra2LogicAnnotationsFactory getViatra2LogicAnnotationsFactory() {
175 return (Viatra2LogicAnnotationsFactory)getEFactoryInstance();
176 }
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 private boolean isCreated = false;
184
185 /**
186 * Creates the meta-model objects for the package. This method is
187 * guarded to have no affect on any invocation but its first.
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 public void createPackageContents() {
193 if (isCreated) return;
194 isCreated = true;
195
196 // Create classes and their features
197 transfomedViatraQueryEClass = createEClass(TRANSFOMED_VIATRA_QUERY);
198 createEAttribute(transfomedViatraQueryEClass, TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME);
199
200 transformedViatraWellformednessConstraintEClass = createEClass(TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT);
201 createEReference(transformedViatraWellformednessConstraintEClass, TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY);
202
203 definedByDerivedFeatureEClass = createEClass(DEFINED_BY_DERIVED_FEATURE);
204 createEReference(definedByDerivedFeatureEClass, DEFINED_BY_DERIVED_FEATURE__QUERY);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 private boolean isInitialized = false;
213
214 /**
215 * Complete the initialization of the package and its meta-model. This
216 * method is guarded to have no affect on any invocation but its first.
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 public void initializePackageContents() {
222 if (isInitialized) return;
223 isInitialized = true;
224
225 // Initialize package
226 setName(eNAME);
227 setNsPrefix(eNS_PREFIX);
228 setNsURI(eNS_URI);
229
230 // Obtain other dependent packages
231 LogicproblemPackage theLogicproblemPackage = (LogicproblemPackage)EPackage.Registry.INSTANCE.getEPackage(LogicproblemPackage.eNS_URI);
232
233 // Create type parameters
234
235 // Set bounds for type parameters
236
237 // Add supertypes to classes
238 transfomedViatraQueryEClass.getESuperTypes().add(theLogicproblemPackage.getRelationAnnotation());
239 transformedViatraWellformednessConstraintEClass.getESuperTypes().add(theLogicproblemPackage.getAssertionAnnotation());
240 definedByDerivedFeatureEClass.getESuperTypes().add(theLogicproblemPackage.getRelationAnnotation());
241
242 // Initialize classes, features, and operations; add parameters
243 initEClass(transfomedViatraQueryEClass, TransfomedViatraQuery.class, "TransfomedViatraQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
244 initEAttribute(getTransfomedViatraQuery_PatternFullyQualifiedName(), ecorePackage.getEString(), "patternFullyQualifiedName", null, 1, 1, TransfomedViatraQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
245
246 initEClass(transformedViatraWellformednessConstraintEClass, TransformedViatraWellformednessConstraint.class, "TransformedViatraWellformednessConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
247 initEReference(getTransformedViatraWellformednessConstraint_Query(), this.getTransfomedViatraQuery(), null, "query", null, 1, 1, TransformedViatraWellformednessConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
248
249 initEClass(definedByDerivedFeatureEClass, DefinedByDerivedFeature.class, "DefinedByDerivedFeature", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
250 initEReference(getDefinedByDerivedFeature_Query(), this.getTransfomedViatraQuery(), null, "query", null, 1, 1, DefinedByDerivedFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
251
252 // Create resource
253 createResource(eNS_URI);
254 }
255
256} //Viatra2LogicAnnotationsPackageImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsAdapterFactory.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsAdapterFactory.java
new file mode 100644
index 00000000..91bbdc9f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsAdapterFactory.java
@@ -0,0 +1,214 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.util;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation;
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation;
8
9import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.*;
10
11import org.eclipse.emf.common.notify.Adapter;
12import org.eclipse.emf.common.notify.Notifier;
13
14import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
15
16import org.eclipse.emf.ecore.EObject;
17
18/**
19 * <!-- begin-user-doc -->
20 * The <b>Adapter Factory</b> for the model.
21 * It provides an adapter <code>createXXX</code> method for each class of the model.
22 * <!-- end-user-doc -->
23 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage
24 * @generated
25 */
26public class Viatra2LogicAnnotationsAdapterFactory extends AdapterFactoryImpl {
27 /**
28 * The cached model package.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 protected static Viatra2LogicAnnotationsPackage modelPackage;
34
35 /**
36 * Creates an instance of the adapter factory.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @generated
40 */
41 public Viatra2LogicAnnotationsAdapterFactory() {
42 if (modelPackage == null) {
43 modelPackage = Viatra2LogicAnnotationsPackage.eINSTANCE;
44 }
45 }
46
47 /**
48 * Returns whether this factory is applicable for the type of the object.
49 * <!-- begin-user-doc -->
50 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
51 * <!-- end-user-doc -->
52 * @return whether this factory is applicable for the type of the object.
53 * @generated
54 */
55 @Override
56 public boolean isFactoryForType(Object object) {
57 if (object == modelPackage) {
58 return true;
59 }
60 if (object instanceof EObject) {
61 return ((EObject)object).eClass().getEPackage() == modelPackage;
62 }
63 return false;
64 }
65
66 /**
67 * The switch that delegates to the <code>createXXX</code> methods.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 protected Viatra2LogicAnnotationsSwitch<Adapter> modelSwitch =
73 new Viatra2LogicAnnotationsSwitch<Adapter>() {
74 @Override
75 public Adapter caseTransfomedViatraQuery(TransfomedViatraQuery object) {
76 return createTransfomedViatraQueryAdapter();
77 }
78 @Override
79 public Adapter caseTransformedViatraWellformednessConstraint(TransformedViatraWellformednessConstraint object) {
80 return createTransformedViatraWellformednessConstraintAdapter();
81 }
82 @Override
83 public Adapter caseDefinedByDerivedFeature(DefinedByDerivedFeature object) {
84 return createDefinedByDerivedFeatureAdapter();
85 }
86 @Override
87 public Adapter caseAnnotation(Annotation object) {
88 return createAnnotationAdapter();
89 }
90 @Override
91 public Adapter caseRelationAnnotation(RelationAnnotation object) {
92 return createRelationAnnotationAdapter();
93 }
94 @Override
95 public Adapter caseAssertionAnnotation(AssertionAnnotation object) {
96 return createAssertionAnnotationAdapter();
97 }
98 @Override
99 public Adapter defaultCase(EObject object) {
100 return createEObjectAdapter();
101 }
102 };
103
104 /**
105 * Creates an adapter for the <code>target</code>.
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @param target the object to adapt.
109 * @return the adapter for the <code>target</code>.
110 * @generated
111 */
112 @Override
113 public Adapter createAdapter(Notifier target) {
114 return modelSwitch.doSwitch((EObject)target);
115 }
116
117
118 /**
119 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery <em>Transfomed Viatra Query</em>}'.
120 * <!-- begin-user-doc -->
121 * This default implementation returns null so that we can easily ignore cases;
122 * it's useful to ignore a case when inheritance will catch all the cases anyway.
123 * <!-- end-user-doc -->
124 * @return the new adapter.
125 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery
126 * @generated
127 */
128 public Adapter createTransfomedViatraQueryAdapter() {
129 return null;
130 }
131
132 /**
133 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint <em>Transformed Viatra Wellformedness Constraint</em>}'.
134 * <!-- begin-user-doc -->
135 * This default implementation returns null so that we can easily ignore cases;
136 * it's useful to ignore a case when inheritance will catch all the cases anyway.
137 * <!-- end-user-doc -->
138 * @return the new adapter.
139 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint
140 * @generated
141 */
142 public Adapter createTransformedViatraWellformednessConstraintAdapter() {
143 return null;
144 }
145
146 /**
147 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature <em>Defined By Derived Feature</em>}'.
148 * <!-- begin-user-doc -->
149 * This default implementation returns null so that we can easily ignore cases;
150 * it's useful to ignore a case when inheritance will catch all the cases anyway.
151 * <!-- end-user-doc -->
152 * @return the new adapter.
153 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature
154 * @generated
155 */
156 public Adapter createDefinedByDerivedFeatureAdapter() {
157 return null;
158 }
159
160 /**
161 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation <em>Annotation</em>}'.
162 * <!-- begin-user-doc -->
163 * This default implementation returns null so that we can easily ignore cases;
164 * it's useful to ignore a case when inheritance will catch all the cases anyway.
165 * <!-- end-user-doc -->
166 * @return the new adapter.
167 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation
168 * @generated
169 */
170 public Adapter createAnnotationAdapter() {
171 return null;
172 }
173
174 /**
175 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation <em>Relation Annotation</em>}'.
176 * <!-- begin-user-doc -->
177 * This default implementation returns null so that we can easily ignore cases;
178 * it's useful to ignore a case when inheritance will catch all the cases anyway.
179 * <!-- end-user-doc -->
180 * @return the new adapter.
181 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation
182 * @generated
183 */
184 public Adapter createRelationAnnotationAdapter() {
185 return null;
186 }
187
188 /**
189 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation <em>Assertion Annotation</em>}'.
190 * <!-- begin-user-doc -->
191 * This default implementation returns null so that we can easily ignore cases;
192 * it's useful to ignore a case when inheritance will catch all the cases anyway.
193 * <!-- end-user-doc -->
194 * @return the new adapter.
195 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation
196 * @generated
197 */
198 public Adapter createAssertionAnnotationAdapter() {
199 return null;
200 }
201
202 /**
203 * Creates a new adapter for the default case.
204 * <!-- begin-user-doc -->
205 * This default implementation returns null.
206 * <!-- end-user-doc -->
207 * @return the new adapter.
208 * @generated
209 */
210 public Adapter createEObjectAdapter() {
211 return null;
212 }
213
214} //Viatra2LogicAnnotationsAdapterFactory
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsSwitch.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsSwitch.java
new file mode 100644
index 00000000..09288a62
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsSwitch.java
@@ -0,0 +1,207 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.util;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation;
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation;
8
9import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.*;
10
11import org.eclipse.emf.ecore.EObject;
12import org.eclipse.emf.ecore.EPackage;
13
14import org.eclipse.emf.ecore.util.Switch;
15
16/**
17 * <!-- begin-user-doc -->
18 * The <b>Switch</b> for the model's inheritance hierarchy.
19 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
20 * to invoke the <code>caseXXX</code> method for each class of the model,
21 * starting with the actual class of the object
22 * and proceeding up the inheritance hierarchy
23 * until a non-null result is returned,
24 * which is the result of the switch.
25 * <!-- end-user-doc -->
26 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage
27 * @generated
28 */
29public class Viatra2LogicAnnotationsSwitch<T> extends Switch<T> {
30 /**
31 * The cached model package
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @generated
35 */
36 protected static Viatra2LogicAnnotationsPackage modelPackage;
37
38 /**
39 * Creates an instance of the switch.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @generated
43 */
44 public Viatra2LogicAnnotationsSwitch() {
45 if (modelPackage == null) {
46 modelPackage = Viatra2LogicAnnotationsPackage.eINSTANCE;
47 }
48 }
49
50 /**
51 * Checks whether this is a switch for the given package.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @param ePackage the package in question.
55 * @return whether this is a switch for the given package.
56 * @generated
57 */
58 @Override
59 protected boolean isSwitchFor(EPackage ePackage) {
60 return ePackage == modelPackage;
61 }
62
63 /**
64 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @return the first non-null result returned by a <code>caseXXX</code> call.
68 * @generated
69 */
70 @Override
71 protected T doSwitch(int classifierID, EObject theEObject) {
72 switch (classifierID) {
73 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY: {
74 TransfomedViatraQuery transfomedViatraQuery = (TransfomedViatraQuery)theEObject;
75 T result = caseTransfomedViatraQuery(transfomedViatraQuery);
76 if (result == null) result = caseRelationAnnotation(transfomedViatraQuery);
77 if (result == null) result = caseAnnotation(transfomedViatraQuery);
78 if (result == null) result = defaultCase(theEObject);
79 return result;
80 }
81 case Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT: {
82 TransformedViatraWellformednessConstraint transformedViatraWellformednessConstraint = (TransformedViatraWellformednessConstraint)theEObject;
83 T result = caseTransformedViatraWellformednessConstraint(transformedViatraWellformednessConstraint);
84 if (result == null) result = caseAssertionAnnotation(transformedViatraWellformednessConstraint);
85 if (result == null) result = caseAnnotation(transformedViatraWellformednessConstraint);
86 if (result == null) result = defaultCase(theEObject);
87 return result;
88 }
89 case Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE: {
90 DefinedByDerivedFeature definedByDerivedFeature = (DefinedByDerivedFeature)theEObject;
91 T result = caseDefinedByDerivedFeature(definedByDerivedFeature);
92 if (result == null) result = caseRelationAnnotation(definedByDerivedFeature);
93 if (result == null) result = caseAnnotation(definedByDerivedFeature);
94 if (result == null) result = defaultCase(theEObject);
95 return result;
96 }
97 default: return defaultCase(theEObject);
98 }
99 }
100
101 /**
102 * Returns the result of interpreting the object as an instance of '<em>Transfomed Viatra Query</em>'.
103 * <!-- begin-user-doc -->
104 * This implementation returns null;
105 * returning a non-null result will terminate the switch.
106 * <!-- end-user-doc -->
107 * @param object the target of the switch.
108 * @return the result of interpreting the object as an instance of '<em>Transfomed Viatra Query</em>'.
109 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
110 * @generated
111 */
112 public T caseTransfomedViatraQuery(TransfomedViatraQuery object) {
113 return null;
114 }
115
116 /**
117 * Returns the result of interpreting the object as an instance of '<em>Transformed Viatra Wellformedness Constraint</em>'.
118 * <!-- begin-user-doc -->
119 * This implementation returns null;
120 * returning a non-null result will terminate the switch.
121 * <!-- end-user-doc -->
122 * @param object the target of the switch.
123 * @return the result of interpreting the object as an instance of '<em>Transformed Viatra Wellformedness Constraint</em>'.
124 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
125 * @generated
126 */
127 public T caseTransformedViatraWellformednessConstraint(TransformedViatraWellformednessConstraint object) {
128 return null;
129 }
130
131 /**
132 * Returns the result of interpreting the object as an instance of '<em>Defined By Derived Feature</em>'.
133 * <!-- begin-user-doc -->
134 * This implementation returns null;
135 * returning a non-null result will terminate the switch.
136 * <!-- end-user-doc -->
137 * @param object the target of the switch.
138 * @return the result of interpreting the object as an instance of '<em>Defined By Derived Feature</em>'.
139 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
140 * @generated
141 */
142 public T caseDefinedByDerivedFeature(DefinedByDerivedFeature object) {
143 return null;
144 }
145
146 /**
147 * Returns the result of interpreting the object as an instance of '<em>Annotation</em>'.
148 * <!-- begin-user-doc -->
149 * This implementation returns null;
150 * returning a non-null result will terminate the switch.
151 * <!-- end-user-doc -->
152 * @param object the target of the switch.
153 * @return the result of interpreting the object as an instance of '<em>Annotation</em>'.
154 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
155 * @generated
156 */
157 public T caseAnnotation(Annotation object) {
158 return null;
159 }
160
161 /**
162 * Returns the result of interpreting the object as an instance of '<em>Relation Annotation</em>'.
163 * <!-- begin-user-doc -->
164 * This implementation returns null;
165 * returning a non-null result will terminate the switch.
166 * <!-- end-user-doc -->
167 * @param object the target of the switch.
168 * @return the result of interpreting the object as an instance of '<em>Relation Annotation</em>'.
169 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
170 * @generated
171 */
172 public T caseRelationAnnotation(RelationAnnotation object) {
173 return null;
174 }
175
176 /**
177 * Returns the result of interpreting the object as an instance of '<em>Assertion Annotation</em>'.
178 * <!-- begin-user-doc -->
179 * This implementation returns null;
180 * returning a non-null result will terminate the switch.
181 * <!-- end-user-doc -->
182 * @param object the target of the switch.
183 * @return the result of interpreting the object as an instance of '<em>Assertion Annotation</em>'.
184 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
185 * @generated
186 */
187 public T caseAssertionAnnotation(AssertionAnnotation object) {
188 return null;
189 }
190
191 /**
192 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
193 * <!-- begin-user-doc -->
194 * This implementation returns null;
195 * returning a non-null result will terminate the switch, but this is the last case anyway.
196 * <!-- end-user-doc -->
197 * @param object the target of the switch.
198 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
199 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
200 * @generated
201 */
202 @Override
203 public T defaultCase(EObject object) {
204 return null;
205 }
206
207} //Viatra2LogicAnnotationsSwitch
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.aird b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.aird
new file mode 100644
index 00000000..b4c8ec92
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.aird
@@ -0,0 +1,394 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<viewpoint:DAnalysis xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style" xmi:id="_hKMI0LzSEeaj7tVusjQpHg" selectedViews="_hMdZsLzSEeaj7tVusjQpHg _hMvGgLzSEeaj7tVusjQpHg _hM760LzSEeaj7tVusjQpHg _hNNAkLzSEeaj7tVusjQpHg" version="10.1.0.201509162000">
3 <semanticResources>ViatraModelAnnotations.ecore</semanticResources>
4 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore</semanticResources>
5 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore</semanticResources>
6 <semanticResources>http://www.eclipse.org/emf/2002/Ecore</semanticResources>
7 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_hMdZsLzSEeaj7tVusjQpHg">
8 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_h6EtoLzSEeaj7tVusjQpHg" name="viatra2logicannotations class diagram">
9 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_h6EtobzSEeaj7tVusjQpHg" source="DANNOTATION_CUSTOMIZATION_KEY">
10 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_h6EtorzSEeaj7tVusjQpHg">
11 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_JijTsLzTEeaj7tVusjQpHg" routingStyle="manhattan">
12 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
13 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_JijTsbzTEeaj7tVusjQpHg" showIcon="false" labelExpression="service:render">
14 <labelFormat>bold</labelFormat>
15 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
16 </centerLabelStyleDescription>
17 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_JijTsrzTEeaj7tVusjQpHg" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
18 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
19 </endLabelStyleDescription>
20 </computedStyleDescriptions>
21 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="__q-j0L2REeaj7tVusjQpHg" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
22 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
23 <labelFormat>bold</labelFormat>
24 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
25 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
26 </computedStyleDescriptions>
27 </data>
28 </ownedAnnotationEntries>
29 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_h6IYALzSEeaj7tVusjQpHg" source="GMF_DIAGRAMS">
30 <data xmi:type="notation:Diagram" xmi:id="_h6IYAbzSEeaj7tVusjQpHg" type="Sirius" element="_h6EtoLzSEeaj7tVusjQpHg" measurementUnit="Pixel">
31 <children xmi:type="notation:Node" xmi:id="_8vuhcLzSEeaj7tVusjQpHg" type="2003" element="_8vqQALzSEeaj7tVusjQpHg">
32 <children xmi:type="notation:Node" xmi:id="_8vuhc7zSEeaj7tVusjQpHg" type="5007"/>
33 <children xmi:type="notation:Node" xmi:id="_8vuhdLzSEeaj7tVusjQpHg" type="7004">
34 <children xmi:type="notation:Node" xmi:id="_4D-9QL2REeaj7tVusjQpHg" type="3010" element="_4Dt3gL2REeaj7tVusjQpHg">
35 <styles xmi:type="notation:FontStyle" xmi:id="_4D-9Qb2REeaj7tVusjQpHg" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
36 <layoutConstraint xmi:type="notation:Location" xmi:id="_4D-9Qr2REeaj7tVusjQpHg"/>
37 </children>
38 <styles xmi:type="notation:SortingStyle" xmi:id="_8vuhdbzSEeaj7tVusjQpHg"/>
39 <styles xmi:type="notation:FilteringStyle" xmi:id="_8vuhdrzSEeaj7tVusjQpHg"/>
40 </children>
41 <styles xmi:type="notation:ShapeStyle" xmi:id="_8vuhcbzSEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
42 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8vuhcrzSEeaj7tVusjQpHg" x="5" y="390" width="228" height="53"/>
43 </children>
44 <children xmi:type="notation:Node" xmi:id="_Ci29sLzTEeaj7tVusjQpHg" type="2003" element="_Ciz6YLzTEeaj7tVusjQpHg">
45 <children xmi:type="notation:Node" xmi:id="_Ci29s7zTEeaj7tVusjQpHg" type="5007"/>
46 <children xmi:type="notation:Node" xmi:id="_Ci3kwLzTEeaj7tVusjQpHg" type="7004">
47 <styles xmi:type="notation:SortingStyle" xmi:id="_Ci3kwbzTEeaj7tVusjQpHg"/>
48 <styles xmi:type="notation:FilteringStyle" xmi:id="_Ci3kwrzTEeaj7tVusjQpHg"/>
49 </children>
50 <styles xmi:type="notation:ShapeStyle" xmi:id="_Ci29sbzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
51 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ci29srzTEeaj7tVusjQpHg" x="520" y="390" width="263" height="53"/>
52 </children>
53 <children xmi:type="notation:Node" xmi:id="_hos0ULzTEeaj7tVusjQpHg" type="2003" element="_hon70LzTEeaj7tVusjQpHg">
54 <children xmi:type="notation:Node" xmi:id="_hotbYLzTEeaj7tVusjQpHg" type="5007"/>
55 <children xmi:type="notation:Node" xmi:id="_hotbYbzTEeaj7tVusjQpHg" type="7004">
56 <styles xmi:type="notation:SortingStyle" xmi:id="_hotbYrzTEeaj7tVusjQpHg"/>
57 <styles xmi:type="notation:FilteringStyle" xmi:id="_hotbY7zTEeaj7tVusjQpHg"/>
58 </children>
59 <styles xmi:type="notation:ShapeStyle" xmi:id="_hos0UbzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
60 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hos0UrzTEeaj7tVusjQpHg" x="180" y="320" height="23"/>
61 </children>
62 <children xmi:type="notation:Node" xmi:id="_kYcYELzTEeaj7tVusjQpHg" type="2003" element="_kYYGoLzTEeaj7tVusjQpHg">
63 <children xmi:type="notation:Node" xmi:id="_kYcYE7zTEeaj7tVusjQpHg" type="5007"/>
64 <children xmi:type="notation:Node" xmi:id="_kYc_ILzTEeaj7tVusjQpHg" type="7004">
65 <styles xmi:type="notation:SortingStyle" xmi:id="_kYc_IbzTEeaj7tVusjQpHg"/>
66 <styles xmi:type="notation:FilteringStyle" xmi:id="_kYc_IrzTEeaj7tVusjQpHg"/>
67 </children>
68 <styles xmi:type="notation:ShapeStyle" xmi:id="_kYcYEbzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
69 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kYcYErzTEeaj7tVusjQpHg" x="403" y="245" height="35"/>
70 </children>
71 <children xmi:type="notation:Node" xmi:id="_pqrGsLzTEeaj7tVusjQpHg" type="2003" element="_pqmOMLzTEeaj7tVusjQpHg">
72 <children xmi:type="notation:Node" xmi:id="_pqrtwLzTEeaj7tVusjQpHg" type="5007"/>
73 <children xmi:type="notation:Node" xmi:id="_pqrtwbzTEeaj7tVusjQpHg" type="7004">
74 <styles xmi:type="notation:SortingStyle" xmi:id="_pqrtwrzTEeaj7tVusjQpHg"/>
75 <styles xmi:type="notation:FilteringStyle" xmi:id="_pqrtw7zTEeaj7tVusjQpHg"/>
76 </children>
77 <styles xmi:type="notation:ShapeStyle" xmi:id="_pqrGsbzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
78 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pqrGsrzTEeaj7tVusjQpHg" x="580" y="320" height="28"/>
79 </children>
80 <children xmi:type="notation:Node" xmi:id="_7hZUIPObEeauOJk-5mBnBg" type="2003" element="_7gtXoPObEeauOJk-5mBnBg">
81 <children xmi:type="notation:Node" xmi:id="_7hjFIPObEeauOJk-5mBnBg" type="5007"/>
82 <children xmi:type="notation:Node" xmi:id="_7hkTQPObEeauOJk-5mBnBg" type="7004">
83 <styles xmi:type="notation:SortingStyle" xmi:id="_7hkTQfObEeauOJk-5mBnBg"/>
84 <styles xmi:type="notation:FilteringStyle" xmi:id="_7hkTQvObEeauOJk-5mBnBg"/>
85 </children>
86 <styles xmi:type="notation:ShapeStyle" xmi:id="_7hZUIfObEeauOJk-5mBnBg" fontName="Segoe UI" fontHeight="8"/>
87 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7hZUIvObEeauOJk-5mBnBg" x="245" y="390" width="263" height="53"/>
88 </children>
89 <styles xmi:type="notation:DiagramStyle" xmi:id="_h6IYArzSEeaj7tVusjQpHg"/>
90 <edges xmi:type="notation:Edge" xmi:id="_HcowELzTEeaj7tVusjQpHg" type="4001" element="_HcjQgLzTEeaj7tVusjQpHg" source="_Ci29sLzTEeaj7tVusjQpHg" target="_8vuhcLzSEeaj7tVusjQpHg">
91 <children xmi:type="notation:Node" xmi:id="_HcowFLzTEeaj7tVusjQpHg" type="6001">
92 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HcowFbzTEeaj7tVusjQpHg" x="113" y="-12" width="59" height="17"/>
93 </children>
94 <children xmi:type="notation:Node" xmi:id="_HcowFrzTEeaj7tVusjQpHg" type="6002">
95 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HcowF7zTEeaj7tVusjQpHg" x="1" y="366"/>
96 </children>
97 <children xmi:type="notation:Node" xmi:id="_HcowGLzTEeaj7tVusjQpHg" type="6003">
98 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HcowGbzTEeaj7tVusjQpHg" x="4" y="139"/>
99 </children>
100 <styles xmi:type="notation:ConnectorStyle" xmi:id="_HcowEbzTEeaj7tVusjQpHg" routing="Rectilinear"/>
101 <styles xmi:type="notation:FontStyle" xmi:id="_HcowErzTEeaj7tVusjQpHg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
102 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HcowE7zTEeaj7tVusjQpHg" points="[131, 21, 420, 26]$[131, 150, 420, 155]$[-401, 150, -112, 155]$[-401, 26, -112, 31]"/>
103 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HcpXILzTEeaj7tVusjQpHg" id="(0.0,0.49019607843137253)"/>
104 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HcpXIbzTEeaj7tVusjQpHg" id="(1.0,0.39215686274509803)"/>
105 </edges>
106 <edges xmi:type="notation:Edge" xmi:id="_hotbZLzTEeaj7tVusjQpHg" type="4001" element="_hormMLzTEeaj7tVusjQpHg" source="_8vuhcLzSEeaj7tVusjQpHg" target="_hos0ULzTEeaj7tVusjQpHg">
107 <children xmi:type="notation:Node" xmi:id="_houCcLzTEeaj7tVusjQpHg" type="6001">
108 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_houCcbzTEeaj7tVusjQpHg" y="-10"/>
109 </children>
110 <children xmi:type="notation:Node" xmi:id="_houCcrzTEeaj7tVusjQpHg" type="6002">
111 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_houCc7zTEeaj7tVusjQpHg" y="10"/>
112 </children>
113 <children xmi:type="notation:Node" xmi:id="_houCdLzTEeaj7tVusjQpHg" type="6003">
114 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_houCdbzTEeaj7tVusjQpHg" y="10"/>
115 </children>
116 <styles xmi:type="notation:ConnectorStyle" xmi:id="_hotbZbzTEeaj7tVusjQpHg" routing="Tree"/>
117 <styles xmi:type="notation:FontStyle" xmi:id="_hotbZrzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
118 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hotbZ7zTEeaj7tVusjQpHg" points="[115, 240, 115, 240]$[0, 0, 0, 0]"/>
119 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_howesLzTEeaj7tVusjQpHg" id="(0.6769911504424779,0.3926128590971272)"/>
120 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_howesbzTEeaj7tVusjQpHg" id="(0.5,2.3333333333333335)"/>
121 </edges>
122 <edges xmi:type="notation:Edge" xmi:id="_kYdmMLzTEeaj7tVusjQpHg" type="4001" element="_kYbxALzTEeaj7tVusjQpHg" source="_hos0ULzTEeaj7tVusjQpHg" target="_kYcYELzTEeaj7tVusjQpHg">
123 <children xmi:type="notation:Node" xmi:id="_kYeNQLzTEeaj7tVusjQpHg" type="6001">
124 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kYeNQbzTEeaj7tVusjQpHg" y="-10"/>
125 </children>
126 <children xmi:type="notation:Node" xmi:id="_kYeNQrzTEeaj7tVusjQpHg" type="6002">
127 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kYeNQ7zTEeaj7tVusjQpHg" y="10"/>
128 </children>
129 <children xmi:type="notation:Node" xmi:id="_kYeNRLzTEeaj7tVusjQpHg" type="6003">
130 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kYeNRbzTEeaj7tVusjQpHg" y="10"/>
131 </children>
132 <styles xmi:type="notation:ConnectorStyle" xmi:id="_kYdmMbzTEeaj7tVusjQpHg" routing="Tree"/>
133 <styles xmi:type="notation:FontStyle" xmi:id="_kYdmMrzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
134 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kYdmM7zTEeaj7tVusjQpHg" points="[126, 55, 126, 55]$[0, 0, 0, 0]"/>
135 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kYhQkLzTEeaj7tVusjQpHg" id="(0.5,2.3333333333333335)"/>
136 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kYhQkbzTEeaj7tVusjQpHg" id="(0.5,-0.48484848484848486)"/>
137 </edges>
138 <edges xmi:type="notation:Edge" xmi:id="_pqsU0LzTEeaj7tVusjQpHg" type="4001" element="_pqp4kLzTEeaj7tVusjQpHg" source="_pqrGsLzTEeaj7tVusjQpHg" target="_kYcYELzTEeaj7tVusjQpHg">
139 <children xmi:type="notation:Node" xmi:id="_pqsU1LzTEeaj7tVusjQpHg" type="6001">
140 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pqsU1bzTEeaj7tVusjQpHg" y="-10"/>
141 </children>
142 <children xmi:type="notation:Node" xmi:id="_pqsU1rzTEeaj7tVusjQpHg" type="6002">
143 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pqsU17zTEeaj7tVusjQpHg" y="10"/>
144 </children>
145 <children xmi:type="notation:Node" xmi:id="_pqsU2LzTEeaj7tVusjQpHg" type="6003">
146 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pqsU2bzTEeaj7tVusjQpHg" y="10"/>
147 </children>
148 <styles xmi:type="notation:ConnectorStyle" xmi:id="_pqsU0bzTEeaj7tVusjQpHg" routing="Tree"/>
149 <styles xmi:type="notation:FontStyle" xmi:id="_pqsU0rzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
150 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pqsU07zTEeaj7tVusjQpHg" points="[0, 0, 0, 0]$[305, -26, 305, -26]"/>
151 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pqs74LzTEeaj7tVusjQpHg" id="(0.5,1.8846153846153846)"/>
152 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pqs74bzTEeaj7tVusjQpHg" id="(0.5,-0.48484848484848486)"/>
153 </edges>
154 <edges xmi:type="notation:Edge" xmi:id="_rIM0oLzTEeaj7tVusjQpHg" type="4001" element="_rIFf4LzTEeaj7tVusjQpHg" source="_Ci29sLzTEeaj7tVusjQpHg" target="_pqrGsLzTEeaj7tVusjQpHg">
155 <children xmi:type="notation:Node" xmi:id="_rINbsLzTEeaj7tVusjQpHg" type="6001">
156 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rINbsbzTEeaj7tVusjQpHg" y="-10"/>
157 </children>
158 <children xmi:type="notation:Node" xmi:id="_rINbsrzTEeaj7tVusjQpHg" type="6002">
159 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rINbs7zTEeaj7tVusjQpHg" y="10"/>
160 </children>
161 <children xmi:type="notation:Node" xmi:id="_rINbtLzTEeaj7tVusjQpHg" type="6003">
162 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rINbtbzTEeaj7tVusjQpHg" y="10"/>
163 </children>
164 <styles xmi:type="notation:ConnectorStyle" xmi:id="_rIM0obzTEeaj7tVusjQpHg" routing="Tree"/>
165 <styles xmi:type="notation:FontStyle" xmi:id="_rIM0orzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
166 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rIM0o7zTEeaj7tVusjQpHg" points="[0, 0, 0, 37]$[0, -37, 0, 0]"/>
167 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rIOCwLzTEeaj7tVusjQpHg" id="(0.4866920152091255,0.17282261741906063)"/>
168 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rIOCwbzTEeaj7tVusjQpHg" id="(0.5,1.8846153846153846)"/>
169 </edges>
170 <edges xmi:type="notation:Edge" xmi:id="_Ff16QPOcEeauOJk-5mBnBg" type="4001" element="_Fff8APOcEeauOJk-5mBnBg" source="_7hZUIPObEeauOJk-5mBnBg" target="_hos0ULzTEeaj7tVusjQpHg">
171 <children xmi:type="notation:Node" xmi:id="_Ff4WgPOcEeauOJk-5mBnBg" type="6001">
172 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ff4WgfOcEeauOJk-5mBnBg" y="-10"/>
173 </children>
174 <children xmi:type="notation:Node" xmi:id="_Ff5koPOcEeauOJk-5mBnBg" type="6002">
175 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ff5kofOcEeauOJk-5mBnBg" y="10"/>
176 </children>
177 <children xmi:type="notation:Node" xmi:id="_Ff6ywPOcEeauOJk-5mBnBg" type="6003">
178 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ff6ywfOcEeauOJk-5mBnBg" y="10"/>
179 </children>
180 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Ff16QfOcEeauOJk-5mBnBg" routing="Tree"/>
181 <styles xmi:type="notation:FontStyle" xmi:id="_Ff16QvOcEeauOJk-5mBnBg" fontName="Segoe UI" fontHeight="8"/>
182 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ff16Q_OcEeauOJk-5mBnBg" points="[0, 0, 245, 116]$[-245, -116, 0, 0]"/>
183 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ff8A4POcEeauOJk-5mBnBg" id="(0.40229885057471265,0.09803921568627451)"/>
184 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ff8n8POcEeauOJk-5mBnBg" id="(0.5,2.3333333333333335)"/>
185 </edges>
186 <edges xmi:type="notation:Edge" xmi:id="_fhjIoPOcEeauOJk-5mBnBg" type="4001" element="_fhW7YPOcEeauOJk-5mBnBg" source="_7hZUIPObEeauOJk-5mBnBg" target="_8vuhcLzSEeaj7tVusjQpHg">
187 <children xmi:type="notation:Node" xmi:id="_fhjvsPOcEeauOJk-5mBnBg" type="6001">
188 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fhjvsfOcEeauOJk-5mBnBg" x="8" y="10"/>
189 </children>
190 <children xmi:type="notation:Node" xmi:id="_fhjvsvOcEeauOJk-5mBnBg" type="6002">
191 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fhjvs_OcEeauOJk-5mBnBg" x="-8" y="133"/>
192 </children>
193 <children xmi:type="notation:Node" xmi:id="_fhjvtPOcEeauOJk-5mBnBg" type="6003">
194 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fhjvtfOcEeauOJk-5mBnBg" x="8" y="98"/>
195 </children>
196 <styles xmi:type="notation:ConnectorStyle" xmi:id="_fhjIofOcEeauOJk-5mBnBg" routing="Rectilinear"/>
197 <styles xmi:type="notation:FontStyle" xmi:id="_fhjIovOcEeauOJk-5mBnBg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
198 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fhjIo_OcEeauOJk-5mBnBg" points="[131, 26, 145, 26]$[131, 80, 145, 80]$[-110, 80, -96, 80]$[-110, 26, -96, 26]"/>
199 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fhjvtvOcEeauOJk-5mBnBg" id="(0.0,0.49019607843137253)"/>
200 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fhjvt_OcEeauOJk-5mBnBg" id="(1.0,0.49019607843137253)"/>
201 </edges>
202 </data>
203 </ownedAnnotationEntries>
204 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_8vqQALzSEeaj7tVusjQpHg" name="TransfomedViatraQuery" tooltipText="" outgoingEdges="_hormMLzTEeaj7tVusjQpHg" incomingEdges="_HcjQgLzTEeaj7tVusjQpHg _fhW7YPOcEeauOJk-5mBnBg" width="12" height="10">
205 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery"/>
206 <semanticElements xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery"/>
207 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
208 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
209 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
210 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="__LnHQL2REeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
211 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
212 </ownedStyle>
213 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
214 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_4Dt3gL2REeaj7tVusjQpHg" name="patternFullyQualifiedName : EString" tooltipText="">
215 <target xmi:type="ecore:EAttribute" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/patternFullyQualifiedName"/>
216 <semanticElements xmi:type="ecore:EAttribute" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/patternFullyQualifiedName"/>
217 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="__q-j0b2REeaj7tVusjQpHg" labelAlignment="LEFT" description="__q-j0L2REeaj7tVusjQpHg">
218 <labelFormat>bold</labelFormat>
219 </ownedStyle>
220 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
221 </ownedElements>
222 </ownedDiagramElements>
223 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_Ciz6YLzTEeaj7tVusjQpHg" name="TransformedViatraWellformednessConstraint" tooltipText="" outgoingEdges="_HcjQgLzTEeaj7tVusjQpHg _rIFf4LzTEeaj7tVusjQpHg" width="12" height="10">
224 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint"/>
225 <semanticElements xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint"/>
226 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
227 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
228 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
229 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_Ci0hcLzTEeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
230 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
231 </ownedStyle>
232 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
233 </ownedDiagramElements>
234 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_HcjQgLzTEeaj7tVusjQpHg" name="[1..1] query" sourceNode="_Ciz6YLzTEeaj7tVusjQpHg" targetNode="_8vqQALzSEeaj7tVusjQpHg">
235 <target xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint/query"/>
236 <semanticElements xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint/query"/>
237 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_JijTs7zTEeaj7tVusjQpHg" description="_JijTsLzTEeaj7tVusjQpHg" routingStyle="manhattan" strokeColor="0,0,0">
238 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_JijTtLzTEeaj7tVusjQpHg" showIcon="false">
239 <labelFormat>bold</labelFormat>
240 </centerLabelStyle>
241 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_JijTtbzTEeaj7tVusjQpHg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
242 </ownedStyle>
243 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
244 </ownedDiagramElements>
245 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_hon70LzTEeaj7tVusjQpHg" name="RelationAnnotation" tooltipText="" outgoingEdges="_kYbxALzTEeaj7tVusjQpHg" incomingEdges="_hormMLzTEeaj7tVusjQpHg _Fff8APOcEeauOJk-5mBnBg" width="12" height="10">
246 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation"/>
247 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation"/>
248 <decorations xmi:type="viewpoint:Decoration" xmi:id="_hoq_ILzTEeaj7tVusjQpHg">
249 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
250 </decorations>
251 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
252 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
253 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
254 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_hon70bzTEeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
255 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
256 </ownedStyle>
257 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
258 </ownedDiagramElements>
259 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_hormMLzTEeaj7tVusjQpHg" sourceNode="_8vqQALzSEeaj7tVusjQpHg" targetNode="_hon70LzTEeaj7tVusjQpHg">
260 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery"/>
261 <semanticElements xmi:type="ecore:EGenericType" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/@eGenericSuperTypes.0"/>
262 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="__LpjgL2REeaj7tVusjQpHg" targetArrow="InputClosedArrow" routingStyle="tree">
263 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
264 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="__Lpjgb2REeaj7tVusjQpHg" showIcon="false">
265 <labelFormat>italic</labelFormat>
266 </beginLabelStyle>
267 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="__Lpjgr2REeaj7tVusjQpHg" showIcon="false"/>
268 </ownedStyle>
269 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
270 </ownedDiagramElements>
271 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_kYYGoLzTEeaj7tVusjQpHg" name="Annotation" tooltipText="" incomingEdges="_kYbxALzTEeaj7tVusjQpHg _pqp4kLzTEeaj7tVusjQpHg" width="12" height="10">
272 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//Annotation"/>
273 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//Annotation"/>
274 <decorations xmi:type="viewpoint:Decoration" xmi:id="_kYai4LzTEeaj7tVusjQpHg">
275 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
276 </decorations>
277 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
278 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
279 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
280 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_kYYGobzTEeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
281 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
282 </ownedStyle>
283 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
284 </ownedDiagramElements>
285 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_kYbxALzTEeaj7tVusjQpHg" sourceNode="_hon70LzTEeaj7tVusjQpHg" targetNode="_kYYGoLzTEeaj7tVusjQpHg">
286 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation"/>
287 <semanticElements xmi:type="ecore:EGenericType" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation/@eGenericSuperTypes.0"/>
288 <decorations xmi:type="viewpoint:Decoration" xmi:id="_rIE40LzTEeaj7tVusjQpHg">
289 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
290 </decorations>
291 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_kYbxAbzTEeaj7tVusjQpHg" targetArrow="InputClosedArrow" routingStyle="tree">
292 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
293 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_kYbxArzTEeaj7tVusjQpHg" showIcon="false">
294 <labelFormat>italic</labelFormat>
295 </beginLabelStyle>
296 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_kYbxA7zTEeaj7tVusjQpHg" showIcon="false"/>
297 </ownedStyle>
298 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
299 </ownedDiagramElements>
300 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_pqmOMLzTEeaj7tVusjQpHg" name="AssertionAnnotation" tooltipText="" outgoingEdges="_pqp4kLzTEeaj7tVusjQpHg" incomingEdges="_rIFf4LzTEeaj7tVusjQpHg" width="12" height="10">
301 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
302 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
303 <decorations xmi:type="viewpoint:Decoration" xmi:id="_pqpRgLzTEeaj7tVusjQpHg">
304 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
305 </decorations>
306 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
307 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
308 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
309 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_pqmOMbzTEeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
310 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
311 </ownedStyle>
312 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
313 </ownedDiagramElements>
314 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_pqp4kLzTEeaj7tVusjQpHg" sourceNode="_pqmOMLzTEeaj7tVusjQpHg" targetNode="_kYYGoLzTEeaj7tVusjQpHg">
315 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
316 <semanticElements xmi:type="ecore:EGenericType" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/@eGenericSuperTypes.0"/>
317 <decorations xmi:type="viewpoint:Decoration" xmi:id="_rIE40bzTEeaj7tVusjQpHg">
318 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
319 </decorations>
320 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_pqqfoLzTEeaj7tVusjQpHg" targetArrow="InputClosedArrow" routingStyle="tree">
321 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
322 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_pqqfobzTEeaj7tVusjQpHg" showIcon="false">
323 <labelFormat>italic</labelFormat>
324 </beginLabelStyle>
325 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_pqqforzTEeaj7tVusjQpHg" showIcon="false"/>
326 </ownedStyle>
327 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
328 </ownedDiagramElements>
329 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_rIFf4LzTEeaj7tVusjQpHg" sourceNode="_Ciz6YLzTEeaj7tVusjQpHg" targetNode="_pqmOMLzTEeaj7tVusjQpHg">
330 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint"/>
331 <semanticElements xmi:type="ecore:EGenericType" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint/@eGenericSuperTypes.0"/>
332 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_rIGG8LzTEeaj7tVusjQpHg" targetArrow="InputClosedArrow" routingStyle="tree">
333 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
334 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_rIGG8bzTEeaj7tVusjQpHg" showIcon="false">
335 <labelFormat>italic</labelFormat>
336 </beginLabelStyle>
337 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_rIGG8rzTEeaj7tVusjQpHg" showIcon="false"/>
338 </ownedStyle>
339 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
340 </ownedDiagramElements>
341 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7gtXoPObEeauOJk-5mBnBg" name="DefinedByDerivedFeature" tooltipText="" outgoingEdges="_Fff8APOcEeauOJk-5mBnBg _fhW7YPOcEeauOJk-5mBnBg" width="12" height="10">
342 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature"/>
343 <semanticElements xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature"/>
344 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
345 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
346 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
347 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7gvM0PObEeauOJk-5mBnBg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
348 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
349 </ownedStyle>
350 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
351 </ownedDiagramElements>
352 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Fff8APOcEeauOJk-5mBnBg" sourceNode="_7gtXoPObEeauOJk-5mBnBg" targetNode="_hon70LzTEeaj7tVusjQpHg">
353 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature"/>
354 <semanticElements xmi:type="ecore:EGenericType" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature/@eGenericSuperTypes.0"/>
355 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FfgjEPOcEeauOJk-5mBnBg" targetArrow="InputClosedArrow" routingStyle="tree">
356 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
357 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_FfgjEfOcEeauOJk-5mBnBg" showIcon="false">
358 <labelFormat>italic</labelFormat>
359 </beginLabelStyle>
360 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FfgjEvOcEeauOJk-5mBnBg" showIcon="false"/>
361 </ownedStyle>
362 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
363 </ownedDiagramElements>
364 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_fhW7YPOcEeauOJk-5mBnBg" name="[1..1] query" sourceNode="_7gtXoPObEeauOJk-5mBnBg" targetNode="_8vqQALzSEeaj7tVusjQpHg">
365 <target xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature/query"/>
366 <semanticElements xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature/query"/>
367 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_hzsKYPOcEeauOJk-5mBnBg" description="_JijTsLzTEeaj7tVusjQpHg" routingStyle="manhattan" strokeColor="0,0,0">
368 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_hzsKYfOcEeauOJk-5mBnBg" showIcon="false">
369 <labelFormat>bold</labelFormat>
370 </centerLabelStyle>
371 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_hzsKYvOcEeauOJk-5mBnBg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
372 </ownedStyle>
373 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
374 </ownedDiagramElements>
375 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
376 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_h6FUsrzSEeaj7tVusjQpHg"/>
377 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
378 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
379 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
380 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
381 <target xmi:type="ecore:EPackage" href="ViatraModelAnnotations.ecore#/"/>
382 </ownedRepresentations>
383 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
384 </ownedViews>
385 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_hMvGgLzSEeaj7tVusjQpHg">
386 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
387 </ownedViews>
388 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_hM760LzSEeaj7tVusjQpHg">
389 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
390 </ownedViews>
391 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_hNNAkLzSEeaj7tVusjQpHg">
392 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
393 </ownedViews>
394</viewpoint:DAnalysis>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.ecore b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.ecore
new file mode 100644
index 00000000..e4632b1c
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.ecore
@@ -0,0 +1,16 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="viatra2logicannotations" nsURI="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/viatra2logicannotation"
4 nsPrefix="viatra2logicannotations">
5 <eClassifiers xsi:type="ecore:EClass" name="TransfomedViatraQuery" eSuperTypes="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation">
6 <eStructuralFeatures xsi:type="ecore:EAttribute" name="patternFullyQualifiedName"
7 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
8 </eClassifiers>
9 <eClassifiers xsi:type="ecore:EClass" name="TransformedViatraWellformednessConstraint"
10 eSuperTypes="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation">
11 <eStructuralFeatures xsi:type="ecore:EReference" name="query" lowerBound="1" eType="#//TransfomedViatraQuery"/>
12 </eClassifiers>
13 <eClassifiers xsi:type="ecore:EClass" name="DefinedByDerivedFeature" eSuperTypes="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation">
14 <eStructuralFeatures xsi:type="ecore:EReference" name="query" lowerBound="1" eType="#//TransfomedViatraQuery"/>
15 </eClassifiers>
16</ecore:EPackage>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.genmodel b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.genmodel
new file mode 100644
index 00000000..7a367c7e
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.genmodel
@@ -0,0 +1,16 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3 xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen"
4 modelPluginID="hu.bme.mit.inf.dslreasoner.viatra2logic" modelName="ViatraModelAnnotations"
5 rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" importerID="org.eclipse.emf.importer.ecore"
6 complianceLevel="8.0" copyrightFields="false" usedGenPackages="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.genmodel#//logiclanguage ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.genmodel#//logicproblem"
7 operationReflection="true" importOrganizing="true">
8 <foreignModel>ViatraModelAnnotations.ecore</foreignModel>
9 <genPackages prefix="Viatra2LogicAnnotations" basePackage="hu.bme.mit.inf.dslreasoner.viatra2logic"
10 disposableProviderFactory="true" ecorePackage="ViatraModelAnnotations.ecore#/">
11 <genClasses ecoreClass="ViatraModelAnnotations.ecore#//TransfomedViatraQuery"/>
12 <genClasses ecoreClass="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint">
13 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint/query"/>
14 </genClasses>
15 </genPackages>
16</genmodel:GenModel>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/plugin.properties b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/plugin.properties
new file mode 100644
index 00000000..92081e57
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/plugin.properties
@@ -0,0 +1,4 @@
1#
2
3pluginName = ViatraModelAnnotations Model
4providerName = www.example.org
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/plugin.xml b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/plugin.xml
new file mode 100644
index 00000000..ffe2533a
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/plugin.xml
@@ -0,0 +1,17 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3
4<!--
5-->
6
7<plugin>
8
9 <extension point="org.eclipse.emf.ecore.generated_package">
10 <!-- @generated ViatraModelAnnotations -->
11 <package
12 uri="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/viatra2logicannotation"
13 class="hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage"
14 genModel="model/ViatraModelAnnotations.genmodel"/>
15 </extension>
16
17</plugin>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Constraint2Logic.xtend b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Constraint2Logic.xtend
new file mode 100644
index 00000000..414af4c8
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Constraint2Logic.xtend
@@ -0,0 +1,217 @@
1package hu.bme.mit.inf.dslreasoner.viatra2logic
2
3import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic
4import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace
5import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
6import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
10import java.util.LinkedList
11import java.util.Map
12import org.eclipse.emf.common.util.Enumerator
13import org.eclipse.emf.ecore.EAttribute
14import org.eclipse.emf.ecore.EClass
15import org.eclipse.emf.ecore.EReference
16import org.eclipse.emf.ecore.EStructuralFeature
17import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey
18import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey
19import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey
20import org.eclipse.viatra.query.runtime.matchers.psystem.PConstraint
21import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable
22import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality
23import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter
24import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality
25import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall
26import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.BinaryTransitiveClosure
27import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue
28import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint
30
31import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
32
33class Constraint2Logic {
34 val extension LogicProblemBuilder builder = new LogicProblemBuilder
35 val Ecore2Logic ecore2Logic
36
37 new(Ecore2Logic ecore2Logic) {
38 this.ecore2Logic = ecore2Logic
39 }
40
41 def dispatch Term transformConstraint(Equality constraint,
42 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
43 Viatra2LogicTrace viatra2LogicTrace,
44 Map<PVariable, Variable> variable2Variable,
45 Viatra2LogicConfiguration config)
46 {
47 constraint.who.lookup(variable2Variable)
48 ==
49 constraint.withWhom.lookup(variable2Variable)
50 }
51
52 def dispatch Term transformConstraint(ExportedParameter constraint,
53 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
54 Viatra2LogicTrace viatra2LogicTrace,
55 Map<PVariable, Variable> variable2Variable,
56 Viatra2LogicConfiguration config)
57 {
58 return null
59 }
60
61 def dispatch Term transformConstraint(Inequality constraint,
62 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
63 Viatra2LogicTrace viatra2LogicTrace,
64 Map<PVariable, Variable> variable2Variable,
65 Viatra2LogicConfiguration config)
66 {
67 constraint.who.lookup(variable2Variable)
68 !=
69 constraint.withWhom.lookup(variable2Variable)
70 }
71
72 def dispatch Term transformConstraint(NegativePatternCall constraint,
73 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
74 Viatra2LogicTrace viatra2LogicTrace,
75 Map<PVariable, Variable> variable2Variable,
76 Viatra2LogicConfiguration config)
77 {
78 val parameterSubstitution = new LinkedList
79 for(index : 0..<constraint.actualParametersTuple.size) {
80 val variable = constraint.actualParametersTuple.get(index) as PVariable
81 parameterSubstitution += variable.lookup(variable2Variable).toTerm
82 }
83
84 val res = constraint.referredQuery.lookup(viatra2LogicTrace.query2Relation).call(parameterSubstitution)
85 return res.Not
86 }
87
88 def dispatch Term transformConstraint(BinaryTransitiveClosure constraint,
89 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
90 Viatra2LogicTrace viatra2LogicTrace,
91 Map<PVariable, Variable> variable2Variable,
92 Viatra2LogicConfiguration config)
93 {
94 throw new UnsupportedOperationException
95 }
96
97 def dispatch Term transformConstraint(ConstantValue constant,
98 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
99 Viatra2LogicTrace viatra2LogicTrace,
100 Map<PVariable, Variable> variable2Variable,
101 Viatra2LogicConfiguration config)
102 {
103 val tuple = constant.variablesTuple
104 if(tuple.size == 1) {
105 val variable = tuple.get(0) as PVariable
106 //println(variable.name + " == " + constant.supplierKey + "["+constant.supplierKey.class.name+"]")
107 val translatedConstant = transformConstantValue(constant.supplierKey,ecore2LogicTrace,viatra2LogicTrace,config);
108 return variable.lookup(variable2Variable) == translatedConstant
109 } else throw new AssertionError
110 }
111
112 private def dispatch transformConstantValue(
113 Enumerator enumerator,
114 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
115 Viatra2LogicTrace viatra2LogicTrace,
116 Viatra2LogicConfiguration config)
117 {
118 ecore2Logic.Literal(ecore2LogicTrace.trace,enumerator)
119 }
120 private def dispatch transformConstantValue(
121 Integer value,
122 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
123 Viatra2LogicTrace viatra2LogicTrace,
124 Viatra2LogicConfiguration config)
125 {
126 return value.asTerm
127 }
128 private def dispatch transformConstantValue(Object other,
129 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
130 Viatra2LogicTrace viatra2LogicTrace,
131 Viatra2LogicConfiguration config)
132 {
133 throw new UnsupportedOperationException('''Unknown constant «other»:«other.class.name»''')
134 }
135
136 def dispatch Term transformConstraint(PositivePatternCall constraint,
137 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
138 Viatra2LogicTrace viatra2LogicTrace,
139 Map<PVariable, Variable> variable2Variable,
140 Viatra2LogicConfiguration config)
141 {
142
143 val parameterSubstitution = new LinkedList
144 for(index : 0..<constraint.variablesTuple.size) {
145 val variable = constraint.variablesTuple.get(index) as PVariable
146 parameterSubstitution += variable.lookup(variable2Variable).toTerm
147 }
148 val res = constraint.referredQuery.lookup(viatra2LogicTrace.query2Relation).call(parameterSubstitution)
149 return res
150 }
151
152 def dispatch Term transformConstraint(TypeConstraint constraint,
153 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
154 Viatra2LogicTrace viatra2LogicTrace,
155 Map<PVariable, Variable> variable2Variable,
156 Viatra2LogicConfiguration config)
157 {
158 val tuple = constraint.variablesTuple
159 if(tuple.size == 1) {
160 val typeConstraint = constraint.equivalentJudgement.inputKey
161 if(typeConstraint instanceof EClassTransitiveInstancesKey) {
162 val type = typeConstraint.emfKey
163 val variable = tuple.get(0) as PVariable
164 return transformTypeConstraint(type,variable,ecore2LogicTrace,variable2Variable,viatra2LogicTrace)
165 } else if(typeConstraint instanceof EDataTypeInSlotsKey) {
166 // If the type is a primitive type or EEnum, then instanceof is an unnecessary constraint
167 return null
168 }
169 } else if(tuple.size == 2) {
170 val type = (constraint.equivalentJudgement.inputKey as EStructuralFeatureInstancesKey).emfKey
171 val src = tuple.get(0) as PVariable
172 val trg = tuple.get(1) as PVariable
173 return transformPathConstraint(type,src,trg,ecore2LogicTrace,variable2Variable,viatra2LogicTrace)
174 } else throw new IllegalArgumentException('''unknown tuple: «tuple»''')
175 }
176 def Term transformTypeConstraint(
177 EClass type,
178 PVariable variable,
179 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
180 Map<PVariable, Variable> variable2Variable,
181 Viatra2LogicTrace viatra2LogicTrace)
182 {
183 InstanceOf(
184 variable.lookup(variable2Variable),
185 ecore2Logic.TypeofEClass(ecore2LogicTrace.trace,type))
186 }
187 def Term transformPathConstraint(
188 EStructuralFeature feature,
189 PVariable src, PVariable trg,
190 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
191 Map<PVariable, Variable> variable2Variable,
192 Viatra2LogicTrace viatra2LogicTrace)
193 {
194 if(feature instanceof EReference) {
195 return ecore2Logic.IsInReference(ecore2LogicTrace.trace,
196 src.lookup(variable2Variable),
197 trg.lookup(variable2Variable),
198 feature)
199 } else if(feature instanceof EAttribute) {
200 return ecore2Logic.IsAttributeValue(ecore2LogicTrace.trace,
201 src.lookup(variable2Variable),
202 trg.lookup(variable2Variable),
203 feature)
204 } else {
205 throw new IllegalArgumentException('''Unsupported path expression: «feature.class.name»''')
206 }
207 }
208
209 def dispatch Term transformConstraint(PConstraint constraint,
210 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
211 Viatra2LogicTrace viatra2LogicTrace,
212 Map<PVariable, Variable> variable2Variable,
213 Viatra2LogicConfiguration config)
214 {
215 throw new UnsupportedOperationException('''Unkown constraint type: «constraint.class.name»''')
216 }
217} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend
new file mode 100644
index 00000000..d78fe45f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend
@@ -0,0 +1,317 @@
1package hu.bme.mit.inf.dslreasoner.viatra2logic
2
3import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic
4import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace
5import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
6import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDescriptor
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
10import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
11import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery
12import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsFactory
13import java.util.ArrayList
14import java.util.HashMap
15import java.util.LinkedList
16import java.util.List
17import java.util.Map
18import java.util.Set
19import org.eclipse.emf.ecore.EAttribute
20import org.eclipse.emf.ecore.EClass
21import org.eclipse.emf.ecore.EClassifier
22import org.eclipse.emf.ecore.EEnum
23import org.eclipse.emf.ecore.EReference
24import org.eclipse.emf.ecore.EStructuralFeature
25import org.eclipse.emf.ecore.EcorePackage
26import org.eclipse.viatra.query.runtime.api.IQuerySpecification
27import org.eclipse.viatra.query.runtime.emf.EMFQueryMetaContext
28import org.eclipse.viatra.query.runtime.emf.types.BaseEMFTypeKey
29import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey
30import org.eclipse.viatra.query.runtime.emf.types.EClassUnscopedTransitiveInstancesKey
31import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey
32import org.eclipse.viatra.query.runtime.matchers.psystem.PBody
33import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable
34import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall
35import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter
36import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery
37import org.eclipse.viatra.query.runtime.matchers.psystem.rewriters.PBodyNormalizer
38import org.eclipse.xtend.lib.annotations.Data
39
40import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
41
42@Data class ViatraQuerySetDescriptor {
43 val List<? extends IQuerySpecification<?>> patterns
44 val Set<? extends IQuerySpecification<?>> validationPatterns
45 val Map<PQuery,EStructuralFeature> derivedFeatures
46}
47class Viatra2LogicTrace {
48 public val Map<PQuery, RelationDefinition> query2Relation = new HashMap
49 public val Map<PQuery, TransfomedViatraQuery> query2Annotation = new HashMap
50 public val Map<Pair<PQuery,PParameter>, Variable> parameter2Variable = new HashMap
51 //public val Map<PVariable, Variable> variable2Variable = new HashMap
52}
53class Viatra2LogicConfiguration {
54 public var normalize = true
55 public var transitiveClosureDepth = 3
56}
57
58class Viatra2Logic {
59 val extension LogicProblemBuilder builder = new LogicProblemBuilder
60 val extension Viatra2LogicAnnotationsFactory factory = Viatra2LogicAnnotationsFactory.eINSTANCE
61 val Ecore2Logic ecore2Logic
62 Constraint2Logic constraint2Logic
63
64 new(Ecore2Logic ecore2Logic) {
65 this.ecore2Logic = ecore2Logic
66 constraint2Logic = new Constraint2Logic(ecore2Logic)
67 }
68
69 def TracedOutput<LogicProblem,Viatra2LogicTrace> transformQueries(
70 ViatraQuerySetDescriptor queries,
71 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
72 Viatra2LogicConfiguration config)
73 {
74 val viatra2LogicTrace = new Viatra2LogicTrace
75 for(query: queries.patterns) {
76 this.transformQueryHeader(query,ecore2LogicTrace,viatra2LogicTrace,config)
77 }
78 for(query: queries.patterns) {
79 this.transformQuerySpecification(query,ecore2LogicTrace,viatra2LogicTrace,config)
80 }
81 /*for(d : viatra2LogicTrace.query2Relation.values) {
82 checkDefinition(d)
83 }*/
84
85 transformQueryConstraints(
86 queries.validationPatterns,
87 queries.derivedFeatures,
88 ecore2LogicTrace,viatra2LogicTrace)
89 return new TracedOutput(ecore2LogicTrace.output,viatra2LogicTrace)
90 }
91
92 def protected transformQueryHeader(IQuerySpecification<?> squery,
93 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
94 Viatra2LogicTrace viatra2LogicTrace,
95 Viatra2LogicConfiguration config)
96 {
97 val pquery = squery.internalQueryRepresentation
98 val relationName = '''pattern «pquery.fullyQualifiedName.replace('.',' ')»'''
99 val parameters = new ArrayList<Variable>(pquery.parameters.size)
100 for(vParam: pquery.parameters) {
101 val parameterType = transformTypeReference(
102 vParam.declaredUnaryType as BaseEMFTypeKey<? extends EClassifier>,
103 ecore2LogicTrace
104 )
105 if(parameterType == null) {
106 println(parameterType)
107 }
108 val parameterName = '''parameter «vParam.name»'''
109 val lParam = createVar(parameterName,parameterType)
110 viatra2LogicTrace.parameter2Variable.put(pquery->vParam,lParam)
111 parameters+=lParam
112 }
113 val lRelation = RelationDefinition(relationName,parameters,null)
114
115 viatra2LogicTrace.query2Relation.put(pquery,lRelation);
116 ecore2LogicTrace.output.relations += lRelation
117
118 val annotation = createTransfomedViatraQuery => [
119 it.target = lRelation
120 it.patternFullyQualifiedName = pquery.fullyQualifiedName
121 ]
122 viatra2LogicTrace.query2Annotation.put(pquery,annotation)
123 ecore2LogicTrace.output.annotations += annotation
124
125 return lRelation
126 }
127
128 def protected transformQuerySpecification(
129 IQuerySpecification<?> squery,
130 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
131 Viatra2LogicTrace viatra2LogicTrace,
132 Viatra2LogicConfiguration config)
133 {
134 val pquery = squery.internalQueryRepresentation
135 val disjunction = if(config.normalize) {
136 val normalizer = new PBodyNormalizer(EMFQueryMetaContext.INSTANCE,true)
137 normalizer.rewrite(pquery)
138 } else {
139 pquery.disjunctBodies
140 }
141 val translatedBodies = new ArrayList(disjunction.bodies.size)
142 for(body : disjunction.bodies) {
143 translatedBodies+=body.transformBody(ecore2LogicTrace,viatra2LogicTrace,config)
144 }
145 val relation = pquery.lookup(viatra2LogicTrace.query2Relation)
146 relation.value = Or(translatedBodies)
147 }
148
149 def transformQueryConstraints(
150 Set<? extends IQuerySpecification<?>> validationPatterns,
151 Map<PQuery,EStructuralFeature> derivedFeatures,
152 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
153 Viatra2LogicTrace viatra2LogicTrace)
154 {
155 for(validationPattern : validationPatterns) {
156 val pquery = validationPattern.internalQueryRepresentation
157 val constraint = Assertion('''errorpattern «pquery.fullyQualifiedName.replace('.',' ')»''',
158 Forall[
159 for(param: pquery.parameters) {
160 addVar(param.name,transformTypeReference(
161 param.declaredUnaryType as BaseEMFTypeKey<? extends EClassifier>,
162 ecore2LogicTrace))
163 }
164 Not(pquery.lookup(viatra2LogicTrace.query2Relation).call(it.variables))
165 ]
166 )
167 val annotation = createTransformedViatraWellformednessConstraint => [
168 it.query = pquery.lookup(viatra2LogicTrace.query2Annotation)
169 it.target = constraint
170 ]
171 ecore2LogicTrace.output.add(constraint)
172 ecore2LogicTrace.output.annotations.add(annotation)
173 }
174 for(derivedFeature : derivedFeatures.entrySet) {
175 val relationDefinition = derivedFeature.key.lookup(viatra2LogicTrace.query2Relation)
176 val feature = derivedFeature.value
177 if(feature instanceof EAttribute) {
178 val declaration = ecore2Logic.relationOfAttribute(ecore2LogicTrace.trace,feature)
179 relationDefinition.defines = declaration
180 } else if(feature instanceof EReference) {
181 val declaration = ecore2Logic.relationOfReference(ecore2LogicTrace.trace,feature)
182 relationDefinition.defines = declaration
183 } else throw new IllegalArgumentException('''Unknown feature: «feature»''')
184 val annotation = createDefinedByDerivedFeature => [
185 it.target = relationDefinition.defines
186 it.query = derivedFeature.key.lookup(viatra2LogicTrace.query2Annotation)
187 ]
188 ecore2LogicTrace.output.annotations+=annotation
189 }
190 }
191
192 def transformBody(PBody body,
193 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
194 Viatra2LogicTrace viatra2LogicTrace,
195 Viatra2LogicConfiguration config)
196 {
197 val variable2Variable = new HashMap
198 // Parameter variables
199 for(parameter : body.symbolicParameters) {
200 val param = parameter.patternParameter
201 val variable = parameter.parameterVariable
202 variable2Variable.put(variable,(body.pattern->param).lookup(viatra2LogicTrace.parameter2Variable))
203 }
204 // Inner Variables
205 val innerPositiveVariables = new LinkedList
206 val innerNegativeVariables = new LinkedList
207 for(innerVariable : body.uniqueVariables) {
208 if(!variable2Variable.containsKey(innerVariable)) {
209 val name = '''variable «innerVariable.name.normalizeName»'''
210 //println(body.pattern.fullyQualifiedName + "-")
211 val logicType = getType(innerVariable,body,ecore2LogicTrace)
212 val logicVariable = createVar(name,logicType)
213 if(innerVariable.isPositiveVariable) {
214 innerPositiveVariables += logicVariable
215 } else {
216 innerNegativeVariables += logicVariable
217 }
218 variable2Variable.put(innerVariable,logicVariable)
219 }
220 }
221
222 val translatedConstraints = body.constraints.map[
223 constraint2Logic.transformConstraint(it,
224 ecore2LogicTrace,viatra2LogicTrace,variable2Variable,config)
225 ].filterNull
226 val allConstraintIsSatisfied = And(translatedConstraints)
227 val allNetativeVariablesAreSatisfied = if(innerNegativeVariables.empty) {
228 allConstraintIsSatisfied
229 } else {
230 Forall(innerNegativeVariables,allConstraintIsSatisfied);
231 }
232 val allVariablesAreExisting = if(innerPositiveVariables.empty) {
233 allNetativeVariablesAreSatisfied
234 } else {
235 Exists(innerPositiveVariables,allNetativeVariablesAreSatisfied);
236 }
237
238 return allVariablesAreExisting
239 }
240
241 def private normalizeName(String variableName) {
242 return variableName.replaceAll("[\\W]|_", "")
243 }
244
245 def TypeDescriptor getType(PVariable v, PBody body, TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace) {
246 if(v.isPositiveVariable) {
247 val types = v.lookup(
248 body.getAllUnaryTypeRestrictions(EMFQueryMetaContext.INSTANCE))
249 if(types.size == 0) {
250 throw new AssertionError('''No type for «v.name»''')
251 } else if(types.size == 1){
252 return (types.head.inputKey as BaseEMFTypeKey<? extends EClassifier>).transformTypeReference(ecore2LogicTrace)
253 } else {
254 return this.ecore2Logic.TypeofEClass(ecore2LogicTrace.trace,
255 calculateCommonSubtype(types.map[
256 (it.inputKey as BaseEMFTypeKey<EClass>).emfKey as EClass
257 ],ecore2LogicTrace))
258 }
259 } else {
260 val onlyConstraint = v.referringConstraints.head as NegativePatternCall
261 val indexOfVariable = v.lookup(onlyConstraint.actualParametersTuple.invertIndex)
262 val parameter = onlyConstraint.referredQuery.parameters.get(indexOfVariable)
263 val declaredUnaryType = parameter.declaredUnaryType as BaseEMFTypeKey<? extends EClassifier>
264 if(declaredUnaryType == null) {
265 throw new UnsupportedOperationException(
266 '''parameter «parameter.name» in pattern «
267 onlyConstraint.referredQuery.fullyQualifiedName» does not have type!''')
268 } else return declaredUnaryType.transformTypeReference(ecore2LogicTrace)
269 }
270 }
271
272 def calculateCommonSubtype(Iterable<EClass> allsuperClasses,TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace) {
273 val superClasses = allsuperClasses.filter[it!=EcorePackage.eINSTANCE.EObject]
274 val head = superClasses.head
275 if(superClasses.forall[it.isSuperTypeOf(head)]) return head
276 else {
277 val allClasses = this.ecore2Logic.allClassesInScope(ecore2LogicTrace.trace)
278 //println(allClasses.toList)
279 val commonSubclasses = allClasses.filter[sub | superClasses.forall[sup | sup.isSuperTypeOf(sub)]]
280 //println(commonSubclasses.toList)
281 val mostGenericSubclasses = commonSubclasses.filter[generic | ! commonSubclasses.exists[moreGeneric | moreGeneric!=generic && moreGeneric.isSuperTypeOf(generic)]]
282 //println(mostGenericSubclasses.toList)
283 if(mostGenericSubclasses.isEmpty) throw new AssertionError('''No common supertype:
284 «FOR s : superClasses SEPARATOR ", "»«s.name»«ENDFOR»''')
285 else return mostGenericSubclasses.head
286
287 }
288 }
289
290 def dispatch transformTypeReference(EDataTypeInSlotsKey k,TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace) {
291 val w = k.wrappedKey
292 if(w == EcorePackage.Literals.EINT) {
293 return builder.LogicInt
294 } else if(w == EcorePackage.Literals.EDOUBLE || w == EcorePackage.Literals.EFLOAT) {
295 return builder.LogicReal
296 } else if(w == EcorePackage.Literals.EBOOLEAN) {
297 return builder.LogicBool
298 } else if(w instanceof EEnum) {
299 this.ecore2Logic.TypeofEEnum(ecore2LogicTrace.trace,w);
300 } else throw new UnsupportedOperationException('''Unknown reference type «w.class.name»''')
301 }
302
303 def dispatch transformTypeReference(EClassTransitiveInstancesKey k,TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace) {
304 this.ecore2Logic.TypeofEClass(ecore2LogicTrace.trace,k.wrappedKey)
305 }
306
307 def boolean isPositiveVariable(PVariable v) {
308 val constraints = v.referringConstraints
309 if(constraints.size == 1) {
310 val onlyConstraint = constraints.head
311 if(onlyConstraint instanceof NegativePatternCall) {
312 return false
313 }
314 }
315 return true
316 }
317} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.classpath b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.classpath
new file mode 100644
index 00000000..de68b5f7
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.classpath
@@ -0,0 +1,11 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="xtend-gen"/>
4 <classpathentry kind="src" path="queries"/>
5 <classpathentry kind="src" path="vql-gen"/>
6 <classpathentry exported="true" kind="lib" path="lib/alloy4.2_2015-02-22.jar"/>
7 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
8 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
9 <classpathentry kind="src" path="src"/>
10 <classpathentry kind="output" path="bin"/>
11</classpath>
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.gitignore b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.gitignore
new file mode 100644
index 00000000..e42fe9ea
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.gitignore
@@ -0,0 +1,4 @@
1/bin/
2/src-gen/
3/vql-gen/
4/xtend-gen/ \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.project b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.project
new file mode 100644
index 00000000..a1c16519
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.project
@@ -0,0 +1,40 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dlsreasoner.alloy.reasoner</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.viatra.query.tooling.core.projectbuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.jdt.core.javabuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.ManifestBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 <buildCommand>
29 <name>org.eclipse.pde.SchemaBuilder</name>
30 <arguments>
31 </arguments>
32 </buildCommand>
33 </buildSpec>
34 <natures>
35 <nature>org.eclipse.pde.PluginNature</nature>
36 <nature>org.eclipse.jdt.core.javanature</nature>
37 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
38 <nature>org.eclipse.viatra.query.projectnature</nature>
39 </natures>
40</projectDescription>
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.settings/org.eclipse.incquery.patternlanguage.emf.EMFPatternLanguage.prefs b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.settings/org.eclipse.incquery.patternlanguage.emf.EMFPatternLanguage.prefs
new file mode 100644
index 00000000..7d03706a
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.settings/org.eclipse.incquery.patternlanguage.emf.EMFPatternLanguage.prefs
@@ -0,0 +1,29 @@
1BuilderConfiguration.is_project_specific=true
2autobuilding=true
3eclipse.preferences.version=1
4generateGeneratedAnnotation=false
5generateSuppressWarnings=true
6generatedAnnotationComment=
7includeDateInGenerated=false
8outlet.DEFAULT_OUTPUT.cleanDirectory=false
9outlet.DEFAULT_OUTPUT.cleanupDerived=true
10outlet.DEFAULT_OUTPUT.createDirectory=true
11outlet.DEFAULT_OUTPUT.derived=true
12outlet.DEFAULT_OUTPUT.directory=./viatra-gen
13outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
14outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
15outlet.DEFAULT_OUTPUT.keepLocalHistory=true
16outlet.DEFAULT_OUTPUT.override=true
17outlet.DEFAULT_OUTPUT.sourceFolder.ecore-gen.directory=
18outlet.DEFAULT_OUTPUT.sourceFolder.ecore-gen.ignore=
19outlet.DEFAULT_OUTPUT.sourceFolder.queries.directory=
20outlet.DEFAULT_OUTPUT.sourceFolder.queries.ignore=
21outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=
22outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.ignore=
23outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=
24outlet.DEFAULT_OUTPUT.sourceFolder.src.ignore=
25outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=
26outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.ignore=
27outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=
28targetJavaVersion=JAVA5
29useJavaCompilerCompliance=true
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.settings/org.eclipse.jdt.core.prefs b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.settings/org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguage.prefs b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.settings/org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguage.prefs
new file mode 100644
index 00000000..c6f56e64
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.settings/org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguage.prefs
@@ -0,0 +1,29 @@
1BuilderConfiguration.is_project_specific=true
2autobuilding=true
3eclipse.preferences.version=1
4generateGeneratedAnnotation=false
5generateSuppressWarnings=true
6generatedAnnotationComment=
7includeDateInGenerated=false
8outlet.DEFAULT_OUTPUT.cleanDirectory=true
9outlet.DEFAULT_OUTPUT.cleanupDerived=true
10outlet.DEFAULT_OUTPUT.createDirectory=true
11outlet.DEFAULT_OUTPUT.derived=true
12outlet.DEFAULT_OUTPUT.directory=./vql-gen
13outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
14outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
15outlet.DEFAULT_OUTPUT.keepLocalHistory=true
16outlet.DEFAULT_OUTPUT.override=true
17outlet.DEFAULT_OUTPUT.sourceFolder.ecore-gen.directory=
18outlet.DEFAULT_OUTPUT.sourceFolder.ecore-gen.ignore=
19outlet.DEFAULT_OUTPUT.sourceFolder.queries.directory=
20outlet.DEFAULT_OUTPUT.sourceFolder.queries.ignore=
21outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=
22outlet.DEFAULT_OUTPUT.sourceFolder.src.ignore=
23outlet.DEFAULT_OUTPUT.sourceFolder.viatra-gen.directory=
24outlet.DEFAULT_OUTPUT.sourceFolder.viatra-gen.ignore=
25outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=
26outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.ignore=
27outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=
28targetJavaVersion=JAVA5
29useJavaCompilerCompliance=true
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/META-INF/MANIFEST.MF b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..13ad2d10
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/META-INF/MANIFEST.MF
@@ -0,0 +1,26 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: %pluginName
4Bundle-SymbolicName: hu.bme.mit.inf.dlsreasoner.alloy.reasoner;singleton:=true
5Bundle-Version: 1.0.0.qualifier
6Bundle-ClassPath: lib/alloy4.2_2015-02-22.jar,
7 .
8Bundle-Vendor: %providerName
9Bundle-Localization: plugin
10Export-Package: hu.bme.mit.inf.dlsreasoner.alloy.reasoner,
11 hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder,
12 hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries,
13 hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries.util
14Require-Bundle: com.google.guava,
15 org.eclipse.xtend.lib,
16 org.eclipse.xtext.xbase.lib,
17 org.eclipse.core.runtime,
18 org.eclipse.emf.ecore;visibility:=reexport,
19 hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0";visibility:=reexport,
20 hu.bme.mit.inf.dslreasoner.alloy.language;bundle-version="1.0.0",
21 org.eclipse.viatra.query.runtime;bundle-version="[1.2.0,2.0.0)",
22 org.eclipse.viatra.query.runtime.base.itc;bundle-version="1.3.0",
23 hu.bme.mit.inf.dslreasoner.ecore2logic;bundle-version="1.0.0"
24Bundle-RequiredExecutionEnvironment: JavaSE-1.8
25Bundle-ActivationPolicy: lazy
26Import-Package: org.apache.log4j;version="1.2.15"
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/build.properties b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/build.properties
new file mode 100644
index 00000000..bb9e5d4d
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/build.properties
@@ -0,0 +1,10 @@
1bin.includes = .,\
2 model/,\
3 META-INF/,\
4 plugin.xml,\
5 plugin.properties
6jars.compile.order = .
7source.. = ecore-gen/,\
8 src/,\
9 src-gen/
10output.. = bin/
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/plugin.properties b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/plugin.properties
new file mode 100644
index 00000000..14541a0a
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/plugin.properties
@@ -0,0 +1,4 @@
1#
2
3pluginName = AlloyLanguage Model
4providerName = www.example.org
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/plugin.xml b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/plugin.xml
new file mode 100644
index 00000000..23c55a4d
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/plugin.xml
@@ -0,0 +1,21 @@
1<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.0"?><!--
2--><plugin>
3 <extension point="org.eclipse.emf.ecore.generated_package">
4 <!-- @generated AlloyLanguage -->
5 <package class="hu.bme.mit.inf.dlsreasoner.alloy.reasoner.alloylanguage.AlloylanguagePackage" genModel="model/AlloyLanguage.genmodel" uri="hu.bme.mit.inf.dlsreasoner.alloy.reasoner.language"/>
6 </extension>
7 <extension id="hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries.SignatureQueries" point="org.eclipse.viatra.query.runtime.queryspecification">
8 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries.SignatureQueries" id="hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries.SignatureQueries">
9 <query-specification fqn="hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries.directSubset"/>
10 <query-specification fqn="hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries.subset"/>
11 </group>
12 </extension>
13 <extension id="hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries.TypeQueries" point="org.eclipse.viatra.query.runtime.queryspecification">
14 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries.TypeQueries" id="hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries.TypeQueries">
15 <query-specification fqn="hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries.supertype"/>
16 <query-specification fqn="hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries.topmostCommonSubtypes"/>
17 <query-specification fqn="hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries.lowermostCommonSupertype"/>
18 <query-specification fqn="hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries.lowestCommonSupertypeOfAllOccuranceOfElement"/>
19 </group>
20 </extension>
21</plugin>
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/queries/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/queries/signatureQueries.vql b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/queries/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/queries/signatureQueries.vql
new file mode 100644
index 00000000..a020953c
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/queries/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/queries/signatureQueries.vql
@@ -0,0 +1,17 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries
2
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/AlloyLanguage"
4
5pattern directSubset(x: ALSSignatureDeclaration, y: ALSSignatureDeclaration) {
6 ALSSignatureBody.declarations(b,y);
7 ALSSignatureBody.supertype(b,x);
8} or {
9 ALSSignatureBody.declarations(b,y);
10 ALSSignatureBody.superset(b,x);
11}
12
13pattern subset(x: ALSSignatureDeclaration, y: ALSSignatureDeclaration) {
14 x == y;
15} or {
16 find directSubset+(x,y);
17}
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/queries/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/queries/typeQueries.vql b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/queries/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/queries/typeQueries.vql
new file mode 100644
index 00000000..8d93cafb
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/queries/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/queries/typeQueries.vql
@@ -0,0 +1,85 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries
2
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4
5private pattern supertypeEdge(type1: Type, type2: Type) {
6 Type.supertypes(type1,type2);
7}
8
9pattern supertype(type1: Type, type2: Type) {
10 type1 == type2;
11} or {
12 find supertypeEdge+(type1,type2);
13}
14
15private pattern commonSubtype(type1: Type, type2: Type, common: Type) {
16 find supertype(common,type1);
17 find supertype(common,type2);
18}
19
20private pattern commonSupertype(type1: Type, type2: Type, common: Type) {
21 find supertype(common,type1);
22 find supertype(common,type2);
23}
24
25private pattern hasHigherCommonSubtype(type1: Type, type2: Type, common: Type, higher: Type) {
26 find supertype(higher,type1);
27 find supertype(higher,type2);
28 Type.supertypes(common,higher);
29 higher != common;
30}
31
32private pattern hasLowerCommonSupertype(type1: Type, type2: Type, common: Type, lower: Type) {
33 find supertype(type1,lower);
34 find supertype(type2,lower);
35 Type.supertypes(lower,common);
36 lower != common;
37}
38
39pattern topmostCommonSubtypes(type1: Type, type2: Type, common: Type) {
40 find commonSubtype(type1, type2, common);
41 neg find hasHigherCommonSubtype(type1, type2, common, _);
42}
43
44pattern lowermostCommonSupertype(type1: Type, type2: Type, common: Type) {
45 find commonSupertype(type1, type2, common);
46 neg find hasLowerCommonSupertype(type1, type2, common, _);
47}
48/*pattern topmostCommonSubtypesInObject(type1: Type, type2: Type, common: Type) {
49 find commonSubtype(type1, type2, common);
50 neg find supertypeEdge(type1,_);
51 neg find supertypeEdge(type2,_);
52 neg find hasHigherCommonSubtype(type1, type2, common, _);
53}
54pattern topmostCommonSubtypesInType(in: Type, type1: Type, type2: Type, common: Type) {
55 find commonSubtype(type1, type2, common);
56 find supertypeEdge(type1,in);
57 find supertypeEdge(type2,in);
58 neg find hasHigherCommonSubtype(type1, type2, common, _);
59}
60 */
61
62pattern lowestCommonSupertypeOfAllOccuranceOfElement(element: DefinedElement, type: Type) {
63 find typeContainsAllOccuranceOfElement(element,type);
64 neg find hasLowerCommonSupertypeOfAllOccuranceOfElement(element, type, _);
65}
66
67private pattern hasLowerCommonSupertypeOfAllOccuranceOfElement(element: DefinedElement, type: Type, lower: Type) {
68 find typeContainsAllOccuranceOfElement(element, type);
69 find typeContainsAllOccuranceOfElement(element, lower);
70 find supertype(lower, type);
71 type != lower;
72}
73
74private pattern typeContainsAllOccuranceOfElement(element: DefinedElement, type: Type) {
75 find supertype(containerType,type);
76 TypeDefinition.elements(containerType,element);
77 neg find typeDoesNotCoverElementOccurance(element,type,_);
78}
79
80private pattern typeDoesNotCoverElementOccurance(element: DefinedElement, type: Type, uncoveredOccurance: TypeDefinition) {
81 find supertype(containerType,type);
82 TypeDefinition.elements(containerType,element);
83 TypeDefinition.elements(uncoveredOccurance,element);
84 neg find supertype(uncoveredOccurance,type);
85} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/AlloyAnalyzerConfiguration.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/AlloyAnalyzerConfiguration.xtend
new file mode 100644
index 00000000..cdf21174
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/AlloyAnalyzerConfiguration.xtend
@@ -0,0 +1,32 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
4
5class AlloySolverConfiguration extends LogicSolverConfiguration {
6 /*public var boolean createCommonSupertype
7 public var int intScope = 1 // 5 by default
8 public def setIntScopeFor(int max) {
9 intScope = 31 - Integer.numberOfLeadingZeros(max) + 1
10 }*/
11 public var int symmetry = 0 // by default
12 public var AlloyBackendSolver solver = AlloyBackendSolver.SAT4J
13 public var boolean writeToFile = false
14}
15
16enum AlloyBackendSolver {
17 BerkMinPIPE,
18 SpearPIPE,
19 MiniSatJNI,
20 MiniSatProverJNI,
21 LingelingJNI,
22 PLingelingJNI,
23 GlucoseJNI,
24 CryptoMiniSatJNI,
25 SAT4J,
26 CNF,
27 KodKod
28}
29
30enum TypeMappingTechnique {
31 FilteredTypes
32} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/AlloySolver.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/AlloySolver.xtend
new file mode 100644
index 00000000..7dfc3161
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/AlloySolver.xtend
@@ -0,0 +1,72 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner
2
3import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder.Alloy2LogicMapper
4import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder.AlloyHandler
5import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder.AlloyModelInterpretation
6import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder.Logic2AlloyLanguageMapper
7import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder.Logic2AlloyLanguageMapperTrace
8import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder.MonitoredAlloySolution
9import hu.bme.mit.inf.dslreasoner.AlloyLanguageStandaloneSetupGenerated
10import hu.bme.mit.inf.dslreasoner.alloyLanguage.AlloyLanguagePackage
11import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner
12import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException
13import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
14import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
15import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult
16import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
17import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder.Logic2AlloyLanguageMapper_TypeMapper_FilteredTypes
18import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder.AlloyModelInterpretation_TypeInterpretation_FilteredTypes
19import org.eclipse.emf.common.util.URI
20
21class AlloySolver extends LogicReasoner{
22
23 new() {
24 AlloyLanguagePackage.eINSTANCE.eClass
25 val x = new AlloyLanguageStandaloneSetupGenerated
26 x.createInjectorAndDoEMFRegistration
27 }
28
29 val Logic2AlloyLanguageMapper forwardMapper = new Logic2AlloyLanguageMapper(new Logic2AlloyLanguageMapper_TypeMapper_FilteredTypes)
30 val AlloyHandler handler = new AlloyHandler
31 val Alloy2LogicMapper backwardMapper = new Alloy2LogicMapper
32
33 val fileName = "problem.als"
34
35 override solve(LogicProblem problem, LogicSolverConfiguration configuration, ReasonerWorkspace workspace) throws LogicReasonerException {
36 if(configuration instanceof AlloySolverConfiguration) {
37 val transformationStart = System.currentTimeMillis
38 val result = forwardMapper.transformProblem(problem,configuration)
39 val alloyProblem = result.output
40
41 /*val x = alloyProblem.eAllContents.filter(ALSFunctionCall).filter[it.referredDefinition == null].toList
42 println(x)*/
43 val forwardTrace = result.trace
44
45 var String fileURI = null;
46 var String alloyCode = null;
47 if(configuration.writeToFile) {
48 fileURI = workspace.writeModel(alloyProblem,fileName).toFileString
49 } else {
50 alloyCode = workspace.writeModelToString(alloyProblem,fileName)
51 }
52
53 //val alloyCode = workspace.readText(fileName)
54 //val FunctionWithTimeout<MonitoredAlloySolution> call = new FunctionWithTimeout[]
55
56 val transformationTime = System.currentTimeMillis - transformationStart
57 val result2 = handler.callSolver(alloyProblem,workspace,configuration,fileURI,alloyCode)
58 workspace.deactivateModel(fileName)
59 val logicResult = backwardMapper.transformOutput(problem,result2,forwardTrace,transformationTime)
60 return logicResult
61 } else throw new IllegalArgumentException('''The configuration have to be an «AlloySolverConfiguration.simpleName»!''')
62 }
63
64 override getInterpretation(ModelResult modelResult) {
65 return new AlloyModelInterpretation(
66 new AlloyModelInterpretation_TypeInterpretation_FilteredTypes,
67 (modelResult.representation as MonitoredAlloySolution).solution,
68 forwardMapper,
69 modelResult.trace as Logic2AlloyLanguageMapperTrace
70 );
71 }
72} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Alloy2LogicMapper.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Alloy2LogicMapper.xtend
new file mode 100644
index 00000000..637752b0
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Alloy2LogicMapper.xtend
@@ -0,0 +1,48 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
4import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultFactory
5
6class Alloy2LogicMapper {
7 val extension LogicresultFactory resultFactory = LogicresultFactory.eINSTANCE
8
9 public def transformOutput(LogicProblem problem, MonitoredAlloySolution solution, Logic2AlloyLanguageMapperTrace trace, long transformationTime) {
10 if(solution == null) {
11 return createInsuficientResourcesResult => [
12 it.problem = problem
13 it.statistics = transformStatistics(solution,transformationTime)
14 ]
15 } else {
16 val logicResult = solution.solution
17 if(logicResult.satisfiable) {
18 return createModelResult => [
19 it.problem = problem
20 it.representation += solution
21 it.maxInteger = logicResult.max
22 it.minInteger = logicResult.min
23 it.trace = trace
24 it.statistics = transformStatistics(solution,transformationTime)
25 ]
26 } else {
27 return createInconsistencyResult => [
28 it.problem = problem
29 //trace?
30 it.statistics = transformStatistics(solution,transformationTime)
31 ]
32 }
33 }
34 }
35
36 def transformStatistics(MonitoredAlloySolution solution, long transformationTime) {
37 createStatistics => [
38 it.transformationTime = transformationTime as int
39 if(solution != null) {
40 it.solverTime = solution.runtimeTime as int
41 it.entries += LogicresultFactory.eINSTANCE.createIntStatisticEntry => [
42 it.name = "KoodkodToCNFTransformationTime"
43 it.value = solution.getKodkodTime as int
44 ]
45 }
46 ]
47 }
48} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyHandler.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyHandler.xtend
new file mode 100644
index 00000000..6bac4130
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyHandler.xtend
@@ -0,0 +1,145 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
2
3import edu.mit.csail.sdg.alloy4.A4Reporter
4import edu.mit.csail.sdg.alloy4.Err
5import edu.mit.csail.sdg.alloy4.ErrorWarning
6import edu.mit.csail.sdg.alloy4compiler.ast.Command
7import edu.mit.csail.sdg.alloy4compiler.parser.CompModule
8import edu.mit.csail.sdg.alloy4compiler.parser.CompUtil
9import edu.mit.csail.sdg.alloy4compiler.translator.A4Options
10import edu.mit.csail.sdg.alloy4compiler.translator.A4Solution
11import edu.mit.csail.sdg.alloy4compiler.translator.TranslateAlloyToKodkod
12import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
13import java.util.LinkedList
14import java.util.List
15import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloyBackendSolver
16import org.eclipse.xtend.lib.annotations.Data
17import java.util.Map
18import java.util.HashMap
19import edu.mit.csail.sdg.alloy4compiler.translator.A4Options.SatSolver
20import org.eclipse.emf.common.CommonPlugin
21import java.util.ArrayList
22import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSDocument
23import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloySolverConfiguration
24
25class AlloySolverException extends Exception{
26 new(String s) { super(s) }
27 new(String s, Exception e) { super(s,e) }
28 new(String s, List<String> errors, Exception e) {
29 super(s + '\n' + errors.join('\n'), e)
30 }
31}
32
33@Data class MonitoredAlloySolution{
34 List<String> warnings
35 List<String> debugs
36 long kodkodTime
37 long runtimeTime
38
39 A4Solution solution
40}
41
42class AlloyHandler {
43
44 //val fileName = "problem.als"
45
46 public def callSolver(ALSDocument problem, ReasonerWorkspace workspace, AlloySolverConfiguration configuration, String path, String alloyCode) {
47 //Prepare
48
49 val warnings = new LinkedList<String>
50 val debugs = new LinkedList<String>
51 val runtime = new ArrayList<Long>
52 val reporter = new A4Reporter() {
53 override debug(String message) { debugs += message }
54 override resultSAT (Object command, long solvingTime, Object solution) { runtime += solvingTime }
55 override resultUNSAT (Object command, long solvingTime, Object solution) { runtime += solvingTime }
56 override warning(ErrorWarning msg) { warnings += msg.message }
57 }
58
59 val options = new A4Options() => [
60 it.symmetry = configuration.symmetry
61 it.noOverflow = true
62 it.solver = getSolver(configuration.solver, configuration)
63 if(configuration.solver.externalSolver) {
64 it.solverDirectory = configuration.solverPath
65 }
66 it.tempDirectory = CommonPlugin.resolve(workspace.workspaceURI).toFileString
67 ]
68
69 // Transform
70 var Command command = null;
71 var CompModule compModule = null
72
73 val kodkodTransformStart = System.currentTimeMillis();
74
75 try {
76 if(configuration.writeToFile) {
77 compModule = CompUtil.parseEverything_fromFile(reporter,null,path)
78 } else {
79 compModule = CompUtil.parseEverything_fromString(reporter,alloyCode)
80 }
81 if(compModule.allCommands.size != 1)
82 throw new UnsupportedOperationException('''Alloy files with multiple commands are not supported!''')
83 command = compModule.allCommands.head
84 } catch (Err e){
85 throw new AlloySolverException(e.message,warnings,e)
86 }
87 val kodkodTransformFinish = System.currentTimeMillis - kodkodTransformStart
88
89 //Execute
90 var A4Solution answer = null;
91 try {
92 answer = TranslateAlloyToKodkod.execute_command(reporter,compModule.allSigs,command,options)
93 }catch(Exception e) {
94 warnings +=e.message
95 }
96
97 var long runtimeFromAnswer;
98 if(runtime.empty) {
99 runtimeFromAnswer = System.currentTimeMillis - (kodkodTransformStart + kodkodTransformFinish)
100 } else {
101 runtimeFromAnswer = runtime.head
102 }
103
104 return new MonitoredAlloySolution(warnings,debugs,kodkodTransformFinish,runtimeFromAnswer,answer)
105 }
106
107 val static Map<SolverConfiguration, SatSolver> previousSolverConfigurations = new HashMap
108 def getSolverConfiguration(AlloyBackendSolver backedSolver, String path, String[] options) {
109 val config = new SolverConfiguration(backedSolver,path,options)
110 if(previousSolverConfigurations.containsKey(config)) {
111 return previousSolverConfigurations.get(config)
112 } else {
113 val id ='''DSLReasoner_Alloy_«previousSolverConfigurations.size»_«backedSolver»'''
114 val newSolver = A4Options.SatSolver.make(id,id,path,options)
115 previousSolverConfigurations.put(config,newSolver)
116 return newSolver
117 }
118 }
119
120 def getSolver(AlloyBackendSolver backedSolver, AlloySolverConfiguration configuration) {
121 switch(backedSolver){
122 case BerkMinPIPE: return A4Options.SatSolver.BerkMinPIPE
123 case SpearPIPE: return A4Options.SatSolver.SpearPIPE
124 case MiniSatJNI: return A4Options.SatSolver.MiniSatJNI
125 case MiniSatProverJNI: return A4Options.SatSolver.MiniSatProverJNI
126 case LingelingJNI: return A4Options.SatSolver.LingelingJNI
127 case PLingelingJNI: return getSolverConfiguration(backedSolver,configuration.solverPath,null)
128 case GlucoseJNI: return A4Options.SatSolver.GlucoseJNI
129 case CryptoMiniSatJNI: return A4Options.SatSolver.CryptoMiniSatJNI
130 case SAT4J: return A4Options.SatSolver.SAT4J
131 case CNF: return A4Options.SatSolver.CNF
132 case KodKod: return A4Options.SatSolver.KK
133 }
134 }
135
136 def isExternalSolver(AlloyBackendSolver backedSolver) {
137 return !(backedSolver == AlloyBackendSolver.SAT4J)
138 }
139}
140
141@Data class SolverConfiguration {
142 AlloyBackendSolver backedSolver
143 String path
144 String[] options
145}
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyModelInterpretation.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyModelInterpretation.xtend
new file mode 100644
index 00000000..d00291e0
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyModelInterpretation.xtend
@@ -0,0 +1,331 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
2
3import edu.mit.csail.sdg.alloy4compiler.ast.ExprVar
4import edu.mit.csail.sdg.alloy4compiler.ast.Sig.Field
5import edu.mit.csail.sdg.alloy4compiler.translator.A4Solution
6import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicModelInterpretation
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
13import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
14import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
15import java.util.Arrays
16import java.util.HashMap
17import java.util.LinkedList
18import java.util.List
19import java.util.Map
20import java.util.Set
21
22import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
23import edu.mit.csail.sdg.alloy4compiler.ast.Sig
24import java.util.ArrayList
25
26interface AlloyModelInterpretation_TypeInterpretation {
27 def void resolveUnknownAtoms(
28 Iterable<ExprVar> objectAtoms,
29 A4Solution solution,
30 Logic2AlloyLanguageMapperTrace forwardTrace,
31 Map<String, Sig> name2AlloySig,
32 Map<String, Field> name2AlloyField,
33 Map<String,DefinedElement> expression2DefinedElement,
34 Map<TypeDeclaration, List<DefinedElement>> interpretationOfUndefinedType)
35}
36
37class AlloyModelInterpretation_TypeInterpretation_FilteredTypes implements AlloyModelInterpretation_TypeInterpretation{
38 protected val extension LogiclanguageFactory factory = LogiclanguageFactory.eINSTANCE
39
40 override resolveUnknownAtoms(
41 Iterable<ExprVar> objectAtoms,
42 A4Solution solution,
43 Logic2AlloyLanguageMapperTrace forwardTrace,
44 Map<String, Sig> name2AlloySig,
45 Map<String, Field> name2AlloyField,
46 Map<String,DefinedElement> expression2DefinedElement,
47 Map<TypeDeclaration, List<DefinedElement>> interpretationOfUndefinedType)
48 {
49 /*val Map<String,DefinedElement> expression2DefinedElement = new HashMap()
50 val Map<TypeDeclaration, List<DefinedElement>> interpretationOfUndefinedType = new HashMap;*/
51
52 val typeTrace = forwardTrace.typeMapperTrace as Logic2AlloyLanguageMapper_TypeMapperTrace_FilteredTypes
53
54 // 1. Evaluate the defined elements
55 for(definedElementMappingEntry : typeTrace.definedElement2Declaration.entrySet) {
56 val name = definedElementMappingEntry.value.name
57 val matchingSig = '''this/«name»'''.toString.lookup(name2AlloySig)
58 val elementsOfSingletonSignature = solution.eval(matchingSig)
59 if(elementsOfSingletonSignature.size != 1) {
60 throw new IllegalArgumentException('''Defined element is unambigous: "«name»", possible values: «elementsOfSingletonSignature»!''')
61 } else {
62 val expressionOfDefinedElement = elementsOfSingletonSignature.head.atom(0)// as ExprVar
63 expression2DefinedElement.put(expressionOfDefinedElement, definedElementMappingEntry.key)
64 }
65 }
66
67 // 2. evaluate the signatures and create new elements if necessary
68 for(type2SingatureEntry : typeTrace.type2ALSType.entrySet) {
69 val type = type2SingatureEntry.key
70 if(type instanceof TypeDeclaration) {
71 val name = type2SingatureEntry.value.name
72 val matchingSig = '''this/«name»'''.toString.lookup(name2AlloySig)
73 val elementsOfSignature = solution.eval(matchingSig)
74 val elementList = new ArrayList(elementsOfSignature.size)
75 var newVariableIndex = 1;
76 for(elementOfSignature : elementsOfSignature) {
77 val expressionOfDefinedElement = elementOfSignature.atom(0)
78 if(expression2DefinedElement.containsKey(expressionOfDefinedElement)) {
79 elementList += expressionOfDefinedElement.lookup(expression2DefinedElement)
80 } else {
81 val newElementName = '''newObject «newVariableIndex.toString»'''
82 val newRepresentation = createDefinedElement => [
83 it.name = newElementName
84 ]
85 elementList += newRepresentation
86 expression2DefinedElement.put(expressionOfDefinedElement,newRepresentation)
87 }
88 }
89 interpretationOfUndefinedType.put(type,elementList)
90 }
91 }
92 }
93}
94/*
95class AlloyModelInterpretation_TypeInterpretation_Horizontal implements AlloyModelInterpretation_TypeInterpretation{
96 protected val extension LogiclanguageFactory factory = LogiclanguageFactory.eINSTANCE
97
98 override resolveUnknownAtoms(Iterable<ExprVar> objectAtoms, Logic2AlloyLanguageMapperTrace forwardTrace, Map<String,DefinedElement> alloyAtom2LogicElement) {
99 val Map<TypeDeclaration, List<DefinedElement>> interpretationOfUndefinedType = new HashMap;
100
101 //TMP sig maps to identify alloy signatures by their names
102 val Map<String,Type> sigName2LogicType =
103 forwardTrace.type2ALSType.keySet.toMap[x|forwardTrace.type2ALSType.get(x).name]
104 //val Map<String,DefinedElement> elementNameNamel2DefinedElement =
105 // forwardTrace.definedElement2Declaration.keySet.toMap[x|forwardTrace.definedElement2Declaration.get(x).name]
106
107 // Fill the interpretation map with empty lists
108 forwardTrace.type2ALSType.keySet.filter(TypeDeclaration).forEach[x|interpretationOfUndefinedType.put(x,new LinkedList)]
109
110 // exporing individuals
111 for(atom: objectAtoms) {
112 val typeName = getName(atom.type)
113 //val atomName = atom.name
114
115 if(sigName2LogicType.containsKey(typeName)) {
116 val type = sigName2LogicType.get(typeName)
117 val elementsOfType = interpretationOfUndefinedType.get(type)
118 val element = createDefinedElement => [
119 it.name += type.name
120 it.name += (elementsOfType.size+1).toString
121 ]
122 alloyAtom2LogicElement.put(atom.label,element)
123 elementsOfType+=element
124 }
125 else throw new UnsupportedOperationException('''Unknown atom: «atom»''')
126 }
127
128 return interpretationOfUndefinedType
129 }
130
131 def private getName(edu.mit.csail.sdg.alloy4compiler.ast.Type type) {
132 val name = type.toString
133 if(name.startsWith("{this/") && name.endsWith("}")) {
134 return type.toString.replaceFirst("\\{this\\/","").replace("}","")
135 }
136 else throw new IllegalArgumentException('''Unknown type format: "«name»"!''')
137 }
138 //def private getName(ExprVar atom) { atom.toString.split("\\$") }
139}*/
140
141class AlloyModelInterpretation implements LogicModelInterpretation{
142
143 protected val extension LogiclanguageFactory factory = LogiclanguageFactory.eINSTANCE
144 protected val AlloyModelInterpretation_TypeInterpretation typeInterpretator
145
146 protected val Logic2AlloyLanguageMapper forwardMapper
147 protected val Logic2AlloyLanguageMapperTrace forwardTrace;
148
149 private var ExprVar logicLanguage;
150
151 private var String logicBooleanTrue;
152 private var String logicBooleanFalse;
153
154 private val Map<String, DefinedElement> alloyAtom2LogicElement = new HashMap
155 private val Map<TypeDeclaration, List<DefinedElement>> interpretationOfUndefinedType = new HashMap
156
157 private val Map<ConstantDeclaration, Object> constant2Value
158 private val Map<FunctionDeclaration, ? extends Map<ParameterSubstitution, Object>> function2Value
159 private val Map<RelationDeclaration, ? extends Set<ParameterSubstitution>> relation2Value
160
161 private val int minInt
162 private val int maxInt
163
164 public new (AlloyModelInterpretation_TypeInterpretation typeInterpretator, A4Solution solution, Logic2AlloyLanguageMapper forwardMapper, Logic2AlloyLanguageMapperTrace trace) {
165 this.typeInterpretator = typeInterpretator
166 this.forwardMapper = forwardMapper
167 this.forwardTrace = trace
168
169 // Maps to trace language elements to the parsed problem.
170 val Map<String, Sig> name2AlloySig = new HashMap
171 val Map<String, Field> name2AlloyField = new HashMap
172 // exploring signatures
173 for(sig:solution.allReachableSigs) {
174 name2AlloySig.put(sig.label,sig)
175 for(field : sig.fields) {
176 name2AlloyField.put(field.label,field)
177 }
178 }
179
180 val unknownAtoms = collectUnknownAndResolveKnownAtoms(solution.allAtoms)
181 this.typeInterpretator.resolveUnknownAtoms(
182 unknownAtoms,
183 solution,
184 forwardTrace,
185 name2AlloySig,
186 name2AlloyField,
187 alloyAtom2LogicElement,
188 interpretationOfUndefinedType)
189
190 // eval consants
191 constant2Value = forwardTrace.constantDeclaration2LanguageField.mapValues[
192 solution.eval(it.name.lookup(name2AlloyField)).head.atom(1).atomLabel2Term
193 ]
194 // eval functions
195 val hostedfunction2Value = forwardTrace.functionDeclaration2HostedField.mapValues[ function |
196 newHashMap(
197 solution.eval(function.name.lookup(name2AlloyField))
198 .map[t | new ParameterSubstitution(#[t.atom(0).atomLabel2Term]) -> t.atom(1).atomLabel2Term])]
199
200 val globalfunction2Value = forwardTrace.functionDeclaration2LanguageField.keySet.toInvertedMap[ function |
201 val alsFunction = function.lookup(forwardTrace.functionDeclaration2LanguageField)
202 val paramIndexes = 1..(function.parameters.size)
203 return newHashMap(
204 solution.eval(alsFunction.name.lookup(name2AlloyField)).map[t |
205 new ParameterSubstitution(paramIndexes.map[t.atom(it).atomLabel2Term])
206 ->
207 t.atom(function.parameters.size + 1).atomLabel2Term
208 ])]
209 this.function2Value = Union(hostedfunction2Value,globalfunction2Value)
210 // eval relations
211 val hostedRelation2Value = forwardTrace.relationDeclaration2Field.mapValues[ relation |
212 solution.eval(relation.name.lookup(name2AlloyField)).map[ t |
213 new ParameterSubstitution(#[t.atom(0).atomLabel2Term,t.atom(1).atomLabel2Term])].toSet]
214 val globalRelation2Value = forwardTrace.relationDeclaration2Global.mapValues[ relation |
215 solution.eval(relation.name.lookup(name2AlloyField)).map[ t |
216 new ParameterSubstitution((1..<t.arity).map[int a|t.atom(a).atomLabel2Term])].toSet]
217 this.relation2Value = Union(hostedRelation2Value,globalRelation2Value)
218
219 //Int limits
220 this.minInt = solution.min
221 this.maxInt = solution.max
222
223 //print(trace)
224 }
225
226 def List<ExprVar> collectUnknownAndResolveKnownAtoms(Iterable<ExprVar> allAtoms) {
227 val List<ExprVar> unknownAtoms = new LinkedList
228
229 for(atom: allAtoms) {
230 val typeName = getName(atom.type)
231 val atomName = atom.name
232 //println(atom.toString + " < - " + typeName)
233 if(typeName == forwardTrace.logicLanguage.name) {
234 this.logicLanguage = atom
235 } else if(typeName == "Int" || typeName == "seq/Int") {
236 // do nothing, integers will be parsed from the string
237 } else if(forwardTrace.boolType != null && typeName == forwardTrace.boolType.name) {
238 if(atomName.head == forwardTrace.boolTrue.name) { this.logicBooleanTrue = atom.label }
239 else if(atomName.head == forwardTrace.boolFalse.name) { this.logicBooleanFalse = atom.label}
240 else throw new UnsupportedOperationException('''Unknown boolean value: «atom»''')
241 }
242 else unknownAtoms += atom
243 }
244
245 return unknownAtoms
246 }
247
248 def private getName(edu.mit.csail.sdg.alloy4compiler.ast.Type type) {
249 val name = type.toString
250 if(name.startsWith("{this/") && name.endsWith("}")) {
251 return type.toString.replaceFirst("\\{this\\/","").replace("}","")
252 }
253 else throw new IllegalArgumentException('''Unknown type format: "«name»"!''')
254 }
255 def private getName(ExprVar atom) { atom.toString.split("\\$") }
256
257 def print(Logic2AlloyLanguageMapperTrace trace) {
258 println('''Undefined-----''')
259 interpretationOfUndefinedType.forEach[k,v|println('''«k.name» -> «v.map[name]»''')]
260 //println('''Defined-----''')
261 //trace.type2ALSType.keySet.filter(TypeDefinition).forEach[println('''«it.name» -> «it.elements.map[name.join]»''')]
262
263 println('''Constants-----''')
264 constant2Value.forEach[k, v|println('''«k.name» : «v»''')]
265 println('''Functions-----''')
266 function2Value.forEach[f,m|m.forEach[k,v| println('''«f.name» : «k» |-> «v»''')]]
267 println('''Relations-----''')
268 relation2Value.forEach[r,s|s.forEach[t | println('''«r.name»: («t»)''')]]
269 }
270
271 override getElements(Type type) { getElementsDispatch(type) }
272 def private dispatch getElementsDispatch(TypeDeclaration declaration) { return declaration.lookup(this.interpretationOfUndefinedType) }
273 def private dispatch getElementsDispatch(TypeDefinition declaration) { return declaration.elements }
274
275 override getInterpretation(FunctionDeclaration function, Object[] parameterSubstitution) {
276 val transformedParams = new ParameterSubstitution(parameterSubstitution)
277 return transformedParams.lookup(
278 function.lookup(this.function2Value)
279 )
280 }
281
282 override getInterpretation(RelationDeclaration relation, Object[] parameterSubstitution) {
283 relation.lookup(this.relation2Value).contains(new ParameterSubstitution(parameterSubstitution))
284 }
285
286 override getInterpretation(ConstantDeclaration constant) {
287 constant.lookup(this.constant2Value)
288 }
289
290 override getMinimalInteger() { this.minInt }
291 override getMaximalInteger() { this.maxInt }
292
293 // Alloy term -> logic term
294 def private atomLabel2Term(String label) {
295 if(label.number) return Integer.parseInt(label)
296 else if(label == this.logicBooleanTrue) return true
297 else if(label == this.logicBooleanFalse) return false
298 else if(this.alloyAtom2LogicElement.containsKey(label)) return label.lookup(alloyAtom2LogicElement)
299 else throw new IllegalArgumentException('''Unknown atom label: "«label»"!''')
300 }
301 def private isNumber(String s) {
302 try{
303 Integer.parseInt(s)
304 return true
305 }catch(NumberFormatException e) {
306 return false
307 }
308 }
309}
310
311/**
312 * Helper class for efficiently matching parameter substitutions for functions and relations.
313 */
314class ParameterSubstitution{
315 val Object[] data;
316
317 new(Object[] data) { this.data = data }
318
319 override equals(Object obj) {
320 if(obj === this) return true
321 else if(obj == null) return false
322 if(obj instanceof ParameterSubstitution) {
323 return Arrays.equals(this.data,obj.data)
324 }
325 return false
326 }
327
328 override hashCode() {
329 Arrays.hashCode(data)
330 }
331} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper.xtend
new file mode 100644
index 00000000..23b9027f
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper.xtend
@@ -0,0 +1,467 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
2
3import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloySolverConfiguration
4import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSDocument
5import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSEnumLiteral
6import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSMultiplicity
7import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSNumericOperator
8import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSTerm
9import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSVariableDeclaration
10import hu.bme.mit.inf.dslreasoner.alloyLanguage.AlloyLanguageFactory
11import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
12import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput
13import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.And
14import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion
15import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolLiteral
16import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolTypeReference
17import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
18import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
19import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition
20import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
21import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Distinct
22import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Divison
23import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals
24import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Exists
25import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Forall
26import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration
27import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition
28import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff
29import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl
30import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf
31import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral
32import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntTypeReference
33import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan
34import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan
35import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Minus
36import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Mod
37import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan
38import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan
39import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Multiply
40import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Not
41import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Or
42import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Plus
43import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral
44import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealTypeReference
45import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
46import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
47import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue
48import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
49import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
50import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
51import java.util.Collections
52import java.util.HashMap
53import java.util.List
54import java.util.Map
55import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
56import org.eclipse.viatra.query.runtime.emf.EMFScope
57import org.eclipse.xtend.lib.annotations.Accessors
58
59import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
60import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation
61import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion
62import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation
63import java.util.Collection
64import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion
65import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion
66import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSDirectProduct
67
68class Logic2AlloyLanguageMapper {
69 private val extension AlloyLanguageFactory factory = AlloyLanguageFactory.eINSTANCE
70 private val Logic2AlloyLanguageMapper_Support support = new Logic2AlloyLanguageMapper_Support;
71 @Accessors(PUBLIC_GETTER) private val Logic2AlloyLanguageMapper_TypeMapper typeMapper;
72 @Accessors(PUBLIC_GETTER) private val Logic2AlloyLanguageMapper_ConstantMapper constantMapper = new Logic2AlloyLanguageMapper_ConstantMapper(this)
73 @Accessors(PUBLIC_GETTER) private val Logic2AlloyLanguageMapper_FunctionMapper functionMapper = new Logic2AlloyLanguageMapper_FunctionMapper(this)
74 @Accessors(PUBLIC_GETTER) private val Logic2AlloyLanguageMapper_RelationMapper relationMapper = new Logic2AlloyLanguageMapper_RelationMapper(this)
75 @Accessors(PUBLIC_GETTER) private val Logic2AlloyLanguageMapper_Containment containmentMapper = new Logic2AlloyLanguageMapper_Containment(this)
76
77 public new(Logic2AlloyLanguageMapper_TypeMapper typeMapper) {
78 this.typeMapper = typeMapper
79 }
80
81 public def TracedOutput<ALSDocument,Logic2AlloyLanguageMapperTrace> transformProblem(LogicProblem problem, AlloySolverConfiguration config) {
82 val logicLanguage = createALSSignatureBody => [
83 it.multiplicity = ALSMultiplicity.ONE
84 it.declarations +=
85 createALSSignatureDeclaration => [
86 it.name = support.toID(#["util", "language"]) ]
87 ]
88
89 val specification = createALSDocument=>[
90 it.signatureBodies+=logicLanguage
91 ]
92 val trace = new Logic2AlloyLanguageMapperTrace => [
93 it.specification = specification
94 it.logicLanguage = logicLanguage.declarations.head
95 it.logicLanguageBody = logicLanguage
96
97 it.incqueryEngine = ViatraQueryEngine.on(new EMFScope(problem))
98 ]
99
100 typeMapper.transformTypes(problem.types,problem.elements,this,trace)
101
102 trace.constantDefinitions = problem.collectConstantDefinitions
103 trace.functionDefinitions = problem.collectFunctionDefinitions
104 trace.relationDefinitions = problem.collectRelationDefinitions
105
106 problem.constants.forEach[this.constantMapper.transformConstant(it,trace)]
107 problem.functions.forEach[this.functionMapper.transformFunction(it, trace)]
108 problem.relations.forEach[this.relationMapper.transformRelation(it, trace)]
109
110 problem.constants.filter(ConstantDefinition).forEach[this.constantMapper.transformConstantDefinitionSpecification(it,trace)]
111 problem.functions.filter(FunctionDefinition).forEach[this.functionMapper.transformFunctionDefinitionSpecification(it,trace)]
112 problem.relations.filter(RelationDefinition).forEach[this.relationMapper.transformRelationDefinitionSpecification(it,trace)]
113
114 val containment = problem.getContainmentHierarchies.head
115 if(containment !== null) {
116 this.containmentMapper.transformContainmentHierarchy(containment,trace)
117 }
118
119 ////////////////////
120 // Collect EMF-specific assertions
121 ////////////////////
122 val assertion2InverseRelation = problem.annotations.collectAnnotations(InverseRelationAssertion)
123 val assertion2UpperMultiplicityAssertion = problem.annotations.collectAnnotations(UpperMultiplicityAssertion)
124 val assertion2LowerMultiplicityAssertion = problem.annotations.collectAnnotations(LowerMultiplicityAssertion)
125
126 ////////////////////
127 // Transform Assertions
128 ////////////////////
129 for(assertion : problem.assertions) {
130 if(assertion2InverseRelation.containsKey(assertion)) {
131 transformInverseAssertion(assertion.lookup(assertion2InverseRelation),trace)
132 } else if(assertion2UpperMultiplicityAssertion.containsKey(assertion)) {
133 transformUpperMultiplicityAssertion(assertion.lookup(assertion2UpperMultiplicityAssertion),trace)
134 } else if(assertion2LowerMultiplicityAssertion.containsKey(assertion)) {
135 transformLowerMultiplicityAssertion(assertion.lookup(assertion2LowerMultiplicityAssertion),trace)
136 } else {
137 transformAssertion(assertion,trace)
138 }
139 }
140
141 transformRunCommand(specification, trace, config)
142
143 return new TracedOutput(specification,trace)
144 }
145
146 def transformInverseAssertion(InverseRelationAssertion assertion, Logic2AlloyLanguageMapperTrace trace) {
147 val a = assertion.inverseA
148 val b = assertion.inverseB
149 if(a instanceof RelationDeclaration && b instanceof RelationDeclaration &&
150 !trace.relationDefinitions.containsKey(a) && !trace.relationDefinitions.containsKey(b))
151 {
152 val fact = createALSFactDeclaration => [
153 it.name = support.toID(assertion.target.name)
154 it.term = createALSEquals => [
155 it.leftOperand = relationMapper.transformRelationReference(a as RelationDeclaration, trace)
156 it.rightOperand = createALSInverseRelation => [it.operand = relationMapper.transformRelationReference(b as RelationDeclaration, trace) ]
157 ]
158 ]
159 trace.specification.factDeclarations += fact
160 } else {
161 return transformAssertion(assertion.target,trace)
162 }
163 }
164
165 def transformUpperMultiplicityAssertion(UpperMultiplicityAssertion assertion, Logic2AlloyLanguageMapperTrace trace) {
166 val x = assertion.relation
167 if(x instanceof RelationDeclaration && !trace.relationDefinitions.containsKey(x)) {
168 val relation = relationMapper.getRelationReference((x as RelationDeclaration),trace)
169 val type = relation.type
170
171 if(type instanceof ALSDirectProduct) {
172 type.rightMultiplicit = type.rightMultiplicit.addUpper
173 } else {
174 relation.multiplicity = relation.multiplicity.addUpper
175 }
176
177 if(assertion.upper === 1) {
178 return true
179 } else {
180 return transformAssertion(assertion.target,trace)
181 }
182
183 } else {
184 return transformAssertion(assertion.target,trace)
185 }
186 }
187
188 def transformLowerMultiplicityAssertion(LowerMultiplicityAssertion assertion, Logic2AlloyLanguageMapperTrace trace) {
189 val x = assertion.relation
190 if(x instanceof RelationDeclaration && !trace.relationDefinitions.containsKey(x)) {
191 val relation = relationMapper.getRelationReference((x as RelationDeclaration),trace)
192 val type = relation.type
193
194 if(type instanceof ALSDirectProduct) {
195 type.rightMultiplicit = type.rightMultiplicit.addLower
196 } else {
197 relation.multiplicity = relation.multiplicity.addLower
198 }
199
200 if(assertion.lower === 1) {
201 return true
202 } else {
203 return transformAssertion(assertion.target,trace)
204 }
205
206 } else {
207 return transformAssertion(assertion.target,trace)
208 }
209 }
210
211 private def addLower(ALSMultiplicity multiplicity) {
212 if(multiplicity === ALSMultiplicity::SET || multiplicity === null) {
213 return ALSMultiplicity::SOME
214 } else if(multiplicity === ALSMultiplicity::LONE) {
215 return ALSMultiplicity::ONE
216 } else {
217 throw new IllegalArgumentException('''Lower multiplicity is already set!''')
218 }
219 }
220 private def addUpper(ALSMultiplicity multiplicity) {
221 if(multiplicity === ALSMultiplicity::SET || multiplicity === null) {
222 return ALSMultiplicity::LONE
223 } else if(multiplicity === ALSMultiplicity::SOME) {
224 return ALSMultiplicity::ONE
225 } else {
226 throw new IllegalArgumentException('''Upper multiplicity is already set!''')
227 }
228 }
229
230 private def <T extends AssertionAnnotation> collectAnnotations(Collection<? extends Annotation> collection, Class<T> annotationKind) {
231 val res = new HashMap
232 collection.filter(annotationKind).forEach[res.put(it.target,it)]
233 return res
234 }
235
236 private def collectConstantDefinitions(LogicProblem problem) {
237 val res = new HashMap
238 problem.constants.filter(ConstantDefinition).filter[it.defines!==null].forEach[
239 res.put(it.defines,it)
240 ]
241 return res
242 }
243 private def collectFunctionDefinitions(LogicProblem problem) {
244 val res = new HashMap
245 problem.functions.filter(FunctionDefinition).filter[it.defines!==null].forEach[
246 res.put(it.defines,it)
247 ]
248 return res
249 }
250 private def collectRelationDefinitions(LogicProblem problem) {
251 val res = new HashMap
252 problem.relations.filter(RelationDefinition).filter[it.defines!==null].forEach[
253 res.put(it.defines,it)
254 ]
255 return res
256 }
257
258 ////////////////////
259 // Type References
260 ////////////////////
261 def dispatch protected ALSTerm transformTypeReference(BoolTypeReference boolTypeReference, Logic2AlloyLanguageMapperTrace trace) {
262 return createALSReference => [ it.referred = support.getBooleanType(trace) ]
263 }
264 def dispatch protected ALSTerm transformTypeReference(IntTypeReference intTypeReference, Logic2AlloyLanguageMapperTrace trace) { createALSInt }
265 def dispatch protected ALSTerm transformTypeReference(RealTypeReference realTypeReference, Logic2AlloyLanguageMapperTrace trace) {throw new UnsupportedOperationException('''Real types are not supported in Alloy.''')}
266 def dispatch protected ALSTerm transformTypeReference(ComplexTypeReference complexTypeReference, Logic2AlloyLanguageMapperTrace trace) {
267 val types = typeMapper.transformTypeReference(complexTypeReference.referred, this, trace)
268 return support.unfoldPlus(types.map[t|createALSReference=>[referred = t]])
269 }
270
271 //////////////
272 // Scopes
273 //////////////
274
275 def transformRunCommand(ALSDocument specification, Logic2AlloyLanguageMapperTrace trace, AlloySolverConfiguration config) {
276 specification.runCommand = createALSRunCommand => [
277 it.typeScopes+= createALSSigScope => [
278 it.type= typeMapper.getUndefinedSupertype(trace)
279 it.number = typeMapper.getUndefinedSupertypeScope(config.typeScopes.maxNewElements,trace)
280 //it.exactly = (config.typeScopes.maxElements == config.typeScopes.minElements)
281 ]
282 if(config.typeScopes.maxIntScope == LogicSolverConfiguration::Unlimited) throw new UnsupportedOperationException(
283 '''An integer scope have to be specified for Alloy!''')
284 it.typeScopes += createALSIntScope => [
285 number = Integer.SIZE-Integer.numberOfLeadingZeros(config.typeScopes.maxIntScope)
286 ]
287// for(definedScope : config.typeScopes.allDefinedScope) {
288// it.typeScopes += createALSSigScope => [
289// it.type = definedScope.type.lookup(trace.type2ALSType)
290// it.number = definedScope.upperLimit
291// it.exactly = (definedScope.upperLimit == definedScope.lowerLimit)
292// ]
293// }
294 ]
295 }
296
297
298 //////////////
299 // Assertions + Terms
300 //////////////
301
302 def protected transformAssertion(Assertion assertion, Logic2AlloyLanguageMapperTrace trace) {
303 val res = createALSFactDeclaration => [
304 it.name = support.toID(assertion.name)
305 it.term = assertion.value.transformTerm(trace,Collections.EMPTY_MAP)
306 ]
307 trace.specification.factDeclarations += res
308 }
309
310 def dispatch protected ALSTerm transformTerm(BoolLiteral literal, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
311 var ALSEnumLiteral ref;
312 if(literal.value==true) {ref = support.getBooleanTrue(trace)}
313 else {ref = support.getBooleanFalse(trace)}
314 val refFinal = ref
315
316 return support.booleanToLogicValue((createALSReference => [referred = refFinal]),trace)
317 }
318 def dispatch protected ALSTerm transformTerm(RealLiteral literal, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
319 throw new UnsupportedOperationException("RealLiteral is not supported")
320 }
321 def dispatch protected ALSTerm transformTerm(IntLiteral literal, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
322 if(literal.value>=0) { createALSNumberLiteral => [value = literal.value]}
323 else {createALSUnaryMinus => [it.operand = createALSNumberLiteral => [value = literal.value] ] }
324 }
325
326 def dispatch protected ALSTerm transformTerm(Not not, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
327 createALSNot=>[operand = not.operand.transformTerm(trace,variables)] }
328 def dispatch protected ALSTerm transformTerm(And and, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
329 support.unfoldAnd(and.operands.map[transformTerm(trace,variables)]) }
330 def dispatch protected ALSTerm transformTerm(Or or, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
331 support.unfoldOr(or.operands.map[transformTerm(trace,variables)],trace) }
332 def dispatch protected ALSTerm transformTerm(Impl impl, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
333 createALSImpl => [leftOperand = impl.leftOperand.transformTerm(trace,variables) rightOperand = impl.rightOperand.transformTerm(trace,variables)] }
334 def dispatch protected ALSTerm transformTerm(Iff iff, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
335 createALSIff => [leftOperand = iff.leftOperand.transformTerm(trace,variables) rightOperand = iff.rightOperand.transformTerm(trace,variables)] }
336 def dispatch protected ALSTerm transformTerm(MoreThan moreThan, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
337 createALSMore => [leftOperand = moreThan.leftOperand.transformTerm(trace,variables) rightOperand = moreThan.rightOperand.transformTerm(trace,variables)] }
338 def dispatch protected ALSTerm transformTerm(LessThan lessThan, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
339 createALSLess => [leftOperand = lessThan.leftOperand.transformTerm(trace,variables) rightOperand = lessThan.rightOperand.transformTerm(trace,variables)] }
340 def dispatch protected ALSTerm transformTerm(MoreOrEqualThan moreThan, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
341 createALSMeq => [leftOperand = moreThan.leftOperand.transformTerm(trace,variables) rightOperand = moreThan.rightOperand.transformTerm(trace,variables)] }
342 def dispatch protected ALSTerm transformTerm(LessOrEqualThan lessThan, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
343 createALSLeq => [leftOperand = lessThan.leftOperand.transformTerm(trace,variables) rightOperand = lessThan.rightOperand.transformTerm(trace,variables)] }
344 def dispatch protected ALSTerm transformTerm(Equals equals, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
345 createALSEquals => [leftOperand = equals.leftOperand.transformTerm(trace,variables) rightOperand = equals.rightOperand.transformTerm(trace,variables)] }
346 def dispatch protected ALSTerm transformTerm(Distinct distinct, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
347 support.unfoldDistinctTerms(this,distinct.operands,trace,variables) }
348
349 def dispatch protected ALSTerm transformTerm(Plus plus, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
350 createALSFunctionCall => [it.params += plus.leftOperand.transformTerm(trace,variables) it.params += plus.rightOperand.transformTerm(trace,variables) it.referredNumericOperator = ALSNumericOperator.PLUS] }
351 def dispatch protected ALSTerm transformTerm(Minus minus, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
352 createALSFunctionCall => [it.params += minus.leftOperand.transformTerm(trace,variables) it.params += minus.rightOperand.transformTerm(trace,variables) it.referredNumericOperator = ALSNumericOperator.SUB] }
353 def dispatch protected ALSTerm transformTerm(Multiply multiply, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
354 createALSFunctionCall => [it.params += multiply.leftOperand.transformTerm(trace,variables) it.params += multiply.rightOperand.transformTerm(trace,variables) it.referredNumericOperator = ALSNumericOperator.MUL] }
355 def dispatch protected ALSTerm transformTerm(Divison div, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
356 createALSFunctionCall => [it.params += div.leftOperand.transformTerm(trace,variables) it.params += div.rightOperand.transformTerm(trace,variables) it.referredNumericOperator = ALSNumericOperator.DIV] }
357 def dispatch protected ALSTerm transformTerm(Mod mod, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
358 createALSFunctionCall => [it.params += mod.leftOperand.transformTerm(trace,variables) it.params += mod.rightOperand.transformTerm(trace,variables) it.referredNumericOperator = ALSNumericOperator.REM] }
359
360 def dispatch protected ALSTerm transformTerm(Forall forall, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
361 support.createQuantifiedExpression(this,forall,ALSMultiplicity.ALL,trace,variables) }
362 def dispatch protected ALSTerm transformTerm(Exists exists, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
363 support.createQuantifiedExpression(this,exists,ALSMultiplicity.SOME,trace,variables) }
364
365 def dispatch protected ALSTerm transformTerm(InstanceOf instanceOf, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
366 return createALSSubset => [
367 it.leftOperand = instanceOf.value.transformTerm(trace,variables)
368 it.rightOperand = instanceOf.range.transformTypeReference(trace)
369 ]
370 }
371
372 def dispatch protected ALSTerm transformTerm(SymbolicValue symbolicValue, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
373 symbolicValue.symbolicReference.transformSymbolicReference(symbolicValue.parameterSubstitutions,trace,variables) }
374
375 def dispatch protected ALSTerm transformSymbolicReference(DefinedElement referred, List<Term> parameterSubstitutions, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
376 typeMapper.transformReference(referred,trace)}
377 def dispatch protected ALSTerm transformSymbolicReference(ConstantDeclaration constant, List<Term> parameterSubstitutions, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
378 if(trace.constantDefinitions.containsKey(constant)) {
379 return this.transformSymbolicReference(constant.lookup(trace.constantDefinitions),parameterSubstitutions,trace,variables)
380 } else {
381 val res = createALSJoin=> [
382 leftOperand = createALSReference => [ referred = trace.logicLanguage ]
383 rightOperand = createALSReference => [ referred = constant.lookup(trace.constantDeclaration2LanguageField) ]
384 ]
385 return support.postprocessResultOfSymbolicReference(constant.type,res,trace)
386 }
387 }
388 def dispatch protected ALSTerm transformSymbolicReference(ConstantDefinition constant, List<Term> parameterSubstitutions, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
389 val res = createALSFunctionCall => [
390 it.referredDefinition = constant.lookup(trace.constantDefinition2Function)
391 ]
392 return support.postprocessResultOfSymbolicReference(constant.type,res,trace)
393 }
394 def dispatch protected ALSTerm transformSymbolicReference(Variable variable, List<Term> parameterSubstitutions, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
395 val res = createALSReference => [referred = variable.lookup(variables)]
396 return support.postprocessResultOfSymbolicReference(variable.range,res,trace)
397 }
398 def dispatch protected ALSTerm transformSymbolicReference(FunctionDeclaration function, List<Term> parameterSubstitutions, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
399 if(trace.functionDefinitions.containsKey(function)) {
400 return this.transformSymbolicReference(function.lookup(trace.functionDefinitions),parameterSubstitutions,trace,variables)
401 } else {
402 if(functionMapper.transformedToHostedField(function,trace)) {
403 val param = parameterSubstitutions.get(0).transformTerm(trace,variables)
404 val res = createALSJoin => [
405 leftOperand = support.prepareParameterOfSymbolicReference(function.parameters.get(0),param,trace)
406 rightOperand = createALSReference => [referred = function.lookup(trace.functionDeclaration2HostedField)]
407 ]
408 return support.postprocessResultOfSymbolicReference(function.range,res,trace)
409 } else {
410 val functionExpression = createALSJoin=>[
411 leftOperand = createALSReference => [referred = trace.logicLanguage]
412 rightOperand = createALSReference => [referred = function.lookup(trace.functionDeclaration2LanguageField)]
413 ]
414 val res = support.unfoldDotJoin(this,parameterSubstitutions,functionExpression,trace,variables)
415 return support.postprocessResultOfSymbolicReference(function.range,res,trace)
416 }
417 }
418 }
419 def dispatch protected ALSTerm transformSymbolicReference(FunctionDefinition function, List<Term> parameterSubstitutions, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
420 val result = createALSFunctionCall => [
421 it.referredDefinition = function.lookup(trace.functionDefinition2Function)
422 it.params += parameterSubstitutions.map[it.transformTerm(trace,variables)]
423 ]
424 return support.postprocessResultOfSymbolicReference(function.range,result,trace)
425 }
426
427 def dispatch protected ALSTerm transformSymbolicReference(RelationDeclaration relation, List<Term> parameterSubstitutions,
428 Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
429 if(trace.relationDefinitions.containsKey(relation)) {
430 this.transformSymbolicReference(relation.lookup(trace.relationDefinitions),parameterSubstitutions,trace,variables)
431 } else {
432 if(relationMapper.transformToHostedField(relation,trace)) {
433 val alsRelation = relation.lookup(trace.relationDeclaration2Field)
434 // R(a,b) =>
435 // b in a.R
436 return createALSSubset => [
437 it.leftOperand = parameterSubstitutions.get(1).transformTerm(trace,variables)
438 it.rightOperand = createALSJoin => [
439 it.leftOperand = parameterSubstitutions.get(0).transformTerm(trace,variables)
440 it.rightOperand = createALSReference => [ it.referred = alsRelation ]
441 ]
442 ]
443 } else {
444 val target = createALSJoin => [
445 leftOperand = createALSReference => [referred = trace.logicLanguage]
446 rightOperand = createALSReference => [ referred = relation.lookup(trace.relationDeclaration2Global) ]]
447 val source = support.unfoldTermDirectProduct(this,parameterSubstitutions,trace,variables)
448
449 return createALSSubset => [
450 leftOperand = source
451 rightOperand = target
452 ]
453 }
454 }
455 }
456
457
458
459 def dispatch protected ALSTerm transformSymbolicReference(RelationDefinition relation, List<Term> parameterSubstitutions,
460 Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables)
461 {
462 return createALSFunctionCall => [
463 it.referredDefinition = relation.lookup(trace.relationDefinition2Predicate)
464 it.params += parameterSubstitutions.map[p | p.transformTerm(trace,variables)]
465 ]
466 }
467} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapperTrace.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapperTrace.xtend
new file mode 100644
index 00000000..22f49c98
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapperTrace.xtend
@@ -0,0 +1,49 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSDocument
4import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSEnumDeclaration
5import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSEnumLiteral
6import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSFieldDeclaration
7import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSFunctionDefinition
8import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSRelationDefinition
9import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSSignatureBody
10import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSSignatureDeclaration
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition
13import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration
14import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition
15import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
16import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
17import java.util.HashMap
18import java.util.Map
19import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
20
21interface Logic2AlloyLanguageMapper_TypeMapperTrace {}
22
23class Logic2AlloyLanguageMapperTrace {
24 public var ViatraQueryEngine incqueryEngine;
25
26 public var ALSDocument specification;
27 public var ALSSignatureDeclaration logicLanguage;
28 public var ALSSignatureBody logicLanguageBody;
29 public var ALSEnumDeclaration boolType;
30 public var ALSEnumLiteral boolTrue;
31 public var ALSEnumLiteral boolFalse;
32
33 public var Logic2AlloyLanguageMapper_TypeMapperTrace typeMapperTrace
34
35 public val Map<ConstantDeclaration, ALSFieldDeclaration> constantDeclaration2LanguageField = new HashMap
36 public val Map<ConstantDefinition, ALSFunctionDefinition> constantDefinition2Function = new HashMap
37
38 public val Map<FunctionDeclaration,ALSFieldDeclaration> functionDeclaration2HostedField = new HashMap
39 public val Map<FunctionDeclaration,ALSFieldDeclaration> functionDeclaration2LanguageField = new HashMap
40 public val Map<FunctionDefinition,ALSFunctionDefinition> functionDefinition2Function = new HashMap
41
42 public val Map<RelationDeclaration,ALSFieldDeclaration> relationDeclaration2Global = new HashMap
43 public val Map<RelationDeclaration, ALSFieldDeclaration> relationDeclaration2Field = new HashMap
44 public val Map<RelationDefinition,ALSRelationDefinition> relationDefinition2Predicate = new HashMap
45
46 public var Map<ConstantDeclaration, ConstantDefinition> constantDefinitions
47 public var Map<FunctionDeclaration, FunctionDefinition> functionDefinitions
48 public var Map<RelationDeclaration, RelationDefinition> relationDefinitions
49} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_ConstantMapper.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_ConstantMapper.xtend
new file mode 100644
index 00000000..401c2ec2
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_ConstantMapper.xtend
@@ -0,0 +1,43 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.alloyLanguage.AlloyLanguageFactory
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
5import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSMultiplicity
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition
7import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
8
9class Logic2AlloyLanguageMapper_ConstantMapper {
10 private val extension AlloyLanguageFactory factory = AlloyLanguageFactory.eINSTANCE
11 private val Logic2AlloyLanguageMapper_Support support = new Logic2AlloyLanguageMapper_Support;
12 val Logic2AlloyLanguageMapper base;
13 public new(Logic2AlloyLanguageMapper base) {
14 this.base = base
15 }
16
17 def protected dispatch transformConstant(ConstantDeclaration constant, Logic2AlloyLanguageMapperTrace trace) {
18 if(!trace.constantDefinitions.containsKey(constant)) {
19 val c = createALSFieldDeclaration=> [
20 name = support.toID(constant.name)
21 it.type = base.transformTypeReference(constant.type,trace)
22 it.multiplicity = ALSMultiplicity.ONE
23 ]
24 trace.logicLanguageBody.fields+= c
25 trace.constantDeclaration2LanguageField.put(constant,c)
26 }
27 }
28
29 def protected dispatch transformConstant(ConstantDefinition constant, Logic2AlloyLanguageMapperTrace trace) {
30 val c = createALSFunctionDefinition=> [
31 name = support.toID(constant.name)
32 it.type = base.transformTypeReference(constant.type,trace)
33 // the value is set later
34 ]
35 trace.specification.functionDefinitions += c
36 trace.constantDefinition2Function.put(constant,c)
37 }
38
39 def protected transformConstantDefinitionSpecification(ConstantDefinition constant, Logic2AlloyLanguageMapperTrace trace) {
40 val definition = constant.lookup(trace.constantDefinition2Function)
41 definition.value = base.transformTerm(constant.value, trace,emptyMap)
42 }
43} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_Containment.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_Containment.xtend
new file mode 100644
index 00000000..fd519c1e
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_Containment.xtend
@@ -0,0 +1,260 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSMultiplicity
4import hu.bme.mit.inf.dslreasoner.alloyLanguage.AlloyLanguageFactory
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy
8import java.util.HashMap
9
10class Logic2AlloyLanguageMapper_Containment {
11 val extension AlloyLanguageFactory factory = AlloyLanguageFactory.eINSTANCE
12 private val Logic2AlloyLanguageMapper_Support support = new Logic2AlloyLanguageMapper_Support;
13 val Logic2AlloyLanguageMapper base;
14 public new(Logic2AlloyLanguageMapper base) {
15 this.base = base
16 }
17
18 def protected transformContainmentHierarchy(ContainmentHierarchy containment, Logic2AlloyLanguageMapperTrace trace) {
19 // Single root
20 val rootField = createALSFieldDeclaration => [
21 it.name= support.toID(#["util", "root"])
22 it.multiplicity = ALSMultiplicity.ONE
23 it.type = typesOrderedInContainment(containment,trace)
24 ]
25 trace.logicLanguageBody.fields += rootField
26
27 val contains = createALSFieldDeclaration => [
28 it.name = support.toID(#["util", "contains"])
29 //it.multiplicity = ALSMultiplicity::SET
30 it.type = createALSDirectProduct => [
31 it.leftMultiplicit = ALSMultiplicity::LONE
32 it.rightMultiplicit = ALSMultiplicity::SET
33 it.leftOperand = typesOrderedInContainment(containment,trace)
34 it.rightOperand = typesOrderedInContainment(containment,trace)
35 ]
36 ]
37 trace.logicLanguageBody.fields += contains
38
39 val containmentRelationDefinition = createALSFactDeclaration => [
40 it.name = support.toID(#["util", "containmentDefinition"])
41 ]
42
43 if(containment.containmentRelations.forall[it instanceof RelationDeclaration]) {
44 val containmentRelations = containment.containmentRelations.filter(RelationDeclaration).map[relation|
45 base.relationMapper.transformRelationReference(relation,trace)
46 ].toList
47
48 containmentRelationDefinition.term = createALSEquals => [
49 leftOperand = createALSJoin => [
50 leftOperand = createALSReference => [referred = trace.logicLanguage]
51 rightOperand = createALSReference => [ referred = contains ]]
52 rightOperand = support.unfoldPlus(containmentRelations)
53 ]
54 } else {
55 val parent = createALSVariableDeclaration => [
56 it.name = "parent"
57 it.range = typesOrderedInContainment(containment, trace)
58 ]
59 val child = createALSVariableDeclaration => [
60 it.name = "child"
61 it.range = typesOrderedInContainment(containment, trace)
62 ]
63
64 val logicFactory = LogiclanguageFactory.eINSTANCE
65 val logicParentVariable = logicFactory.createVariable
66 val logicChildVariable = logicFactory.createVariable
67 val logicParent = logicFactory.createSymbolicValue => [it.symbolicReference = logicParentVariable]
68 val logicChild = logicFactory.createSymbolicValue => [it.symbolicReference = logicChildVariable]
69 val variableMap = new HashMap => [put(logicParentVariable,parent) put(logicChildVariable,child)]
70 val possibleRelations = containment.containmentRelations.map[relation |
71 base.transformSymbolicReference(relation,#[logicParent,logicChild],trace,variableMap)
72 ]
73
74 containmentRelationDefinition.term = createALSQuantifiedEx => [
75 it.type = ALSMultiplicity.ALL
76 it.variables += parent
77 it.variables += child
78 it.expression = createALSIff => [
79 it.leftOperand = createALSSubset => [
80 it.leftOperand = createALSDirectProduct => [
81 it.leftOperand = createALSReference => [it.referred = child]
82 it.rightOperand = createALSReference => [it.referred = parent]
83 ]
84 it.rightOperand = createALSJoin => [
85 leftOperand = createALSReference => [referred = trace.logicLanguage]
86 rightOperand = createALSReference => [ referred = contains ]
87 ]
88 ]
89 it.rightOperand = support.unfoldOr(possibleRelations,trace)
90 ]
91 ]
92 }
93
94 trace.specification.factDeclarations += containmentRelationDefinition
95
96 // With the exception of the root, every object has at least one parent
97 // No parent for root
98 trace.specification.factDeclarations += createALSFactDeclaration => [
99 it.name = support.toID(#["util", "noParentForRoot"])
100 it.term = createALSQuantifiedEx => [
101 it.type = ALSMultiplicity::NO
102 val parent = createALSVariableDeclaration => [
103 it.name = "parent"
104 it.range = typesOrderedInContainment(containment,trace)
105 ]
106 it.variables += parent
107 it.expression = createALSSubset => [
108 it.leftOperand = createALSDirectProduct => [
109 it.leftOperand = createALSReference => [it.referred = parent]
110 it.rightOperand = createALSJoin => [
111 it.leftOperand = createALSReference => [it.referred = trace.logicLanguage]
112 it.rightOperand = createALSReference => [it.referred = rootField]
113 ]
114 ]
115 it.rightOperand = createALSJoin => [
116 leftOperand = createALSReference => [referred = trace.logicLanguage]
117 rightOperand = createALSReference => [ referred = contains ]
118 ]
119 ]
120 ]
121 ]
122 // Parent for nonroot
123 trace.specification.factDeclarations += createALSFactDeclaration => [
124 it.name = support.toID(#["util", "atLeastOneParent"])
125 it.term = createALSQuantifiedEx => [
126 it.type = ALSMultiplicity::ALL
127 val child = createALSVariableDeclaration => [
128 it.name = "child"
129 it.range = typesOrderedInContainment(containment,trace)
130 ]
131 it.variables += child
132 it.expression = createALSOr => [
133 it.leftOperand = createALSEquals => [
134 it.leftOperand = createALSReference => [it.referred = child]
135 it.rightOperand = createALSJoin => [
136 it.leftOperand = createALSReference => [it.referred = trace.logicLanguage]
137 it.rightOperand = createALSReference => [it.referred = rootField]
138 ]
139 ]
140 it.rightOperand = createALSQuantifiedEx => [
141 it.type = ALSMultiplicity::SOME
142 val parent = createALSVariableDeclaration => [
143 it.name = "parent"
144 it.range = typesOrderedInContainment(containment, trace)
145 ]
146 it.variables += parent
147 it.expression = createALSSubset => [
148 it.leftOperand = createALSDirectProduct => [
149 it.leftOperand = createALSReference => [it.referred = parent]
150 it.rightOperand = createALSReference => [it.referred = child]
151 ]
152 it.rightOperand = createALSJoin => [
153 leftOperand = createALSReference => [referred = trace.logicLanguage]
154 rightOperand = createALSReference => [ referred = contains ]
155 ]
156 ]
157 ]
158 ]
159 ]
160 ]
161
162 // Every object has at most one parent
163// trace.specification.factDeclarations += createALSFactDeclaration => [
164// it.name = support.toID(#["util", "atMostOneParent"])
165// it.term = createALSQuantifiedEx => [
166// it.type = ALSMultiplicity::ALL
167// val child = createALSVariableDeclaration => [
168// it.name = "child"
169// it.range = typesOrderedInContainment(containment,trace)
170// ]
171// it.variables += child
172// it.expression = createALSQuantifiedEx => [
173// it.type = ALSMultiplicity::LONE
174// val parent = createALSVariableDeclaration => [
175// it.name = "parent"
176// it.range = typesOrderedInContainment(containment, trace)
177// ]
178// it.variables += parent
179// it.expression = createALSFunctionCall => [
180// it.referredDefinition = containmentRelation
181// it.params += createALSReference => [
182// it.referred = parent
183// it.referred = child
184// ]
185// ]
186// ]
187// ]
188// ]
189
190 // No circle in containment
191 trace.specification.factDeclarations += createALSFactDeclaration => [
192 it.name = support.toID(#["util", "noCircularContainment"])
193 it.term = createALSQuantifiedEx => [
194 it.type = ALSMultiplicity::NO
195 val variable = createALSVariableDeclaration => [
196 it.name = "circle"
197 it.range = typesOrderedInContainment(containment,trace)
198 ]
199 it.variables += variable
200 it.expression = createALSSubset => [
201 it.leftOperand = createALSDirectProduct => [
202 it.leftOperand = createALSReference => [it.referred = variable]
203 it.rightOperand = createALSReference => [it.referred = variable]
204 ]
205 it.rightOperand = createAlSTransitiveClosure => [
206 it.operand = createALSJoin => [
207 leftOperand = createALSReference => [referred = trace.logicLanguage]
208 rightOperand = createALSReference => [ referred = contains ]
209 ]
210 ]
211 ]
212 ]
213 ]
214
215 }
216
217 /*def protected calculateContainmentTypeCoveringSignatures(ContainmentHierarchy containment, Logic2AlloyLanguageMapperTrace trace) {
218 val types = containment.typesOrderedInHierarchy
219 val signaturesInContainment = types.map[base.typeMapper.transformTypeReference(it, base, trace)].flatten.toList
220// val uncoveredSignatures = new ArrayList(signaturesInContainment)
221// val coveringSignatures = new LinkedList
222//
223 val engine = ViatraQueryEngine.on(new EMFScope(trace.specification))
224 //val directSubsetMatcher = DirectSubsetMatcher.on(engine)
225 // x <= y
226 val subsetMatcher = SubsetMatcher.on(engine)
227
228 if()
229 }*/
230
231 /*def boolean coveringAllSignaturesInContainment(ALSSignatureDeclaration target, List<ALSSignatureDeclaration> signaturesInContainment, SubsetMatcher matcher) {
232 for(signatureInContainment : signaturesInContainment) {
233 if(!matcher.hasMatch(signatureInContainment,target)) {
234 return false
235 }
236 }
237 return true
238 }*/
239
240 /*def boolean coveringSignatureNotInContainment(ALSSignatureDeclaration target, List<ALSSignatureDeclaration> signaturesInContainment, SubsetMatcher matcher) {
241 val subtypes = matcher.getAllValuesOfx(target);
242 for(subType : subtypes) {
243 val isSubtypeOfASignatureInContainment = signaturesInContainment.exists[contained |
244 matcher.hasMatch(subType,contained)
245 ]
246 if(!isSubtypeOfASignatureInContainment) {
247 return false
248 }
249 }
250 return true
251 }*/
252
253 def protected typesOrderedInContainment(ContainmentHierarchy containment, Logic2AlloyLanguageMapperTrace trace) {
254 val types = containment.typesOrderedInHierarchy
255 val signaturesInContainment = types.map[base.typeMapper.transformTypeReference(it, base, trace)].flatten
256 // val allSignatures = trace.specification.signatureBodies.map[declarations].flatten
257 val typeReferences = signaturesInContainment.map[sig | createALSReference => [it.referred = sig]].toList
258 return support.unfoldPlus(typeReferences)
259 }
260} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_FunctionMapper.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_FunctionMapper.xtend
new file mode 100644
index 00000000..ff18ef80
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_FunctionMapper.xtend
@@ -0,0 +1,87 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.alloyLanguage.AlloyLanguageFactory
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
6import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSMultiplicity
7import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSSignatureBody
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition
9import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
10import java.util.HashMap
11
12class Logic2AlloyLanguageMapper_FunctionMapper {
13 private val extension AlloyLanguageFactory factory = AlloyLanguageFactory.eINSTANCE
14 private val Logic2AlloyLanguageMapper_Support support = new Logic2AlloyLanguageMapper_Support;
15 val Logic2AlloyLanguageMapper base;
16 public new(Logic2AlloyLanguageMapper base) {
17 this.base = base
18 }
19
20 def protected dispatch transformFunction(FunctionDeclaration f, Logic2AlloyLanguageMapperTrace trace) {
21 if(!trace.constantDefinitions.containsKey(f)) {
22 if(transformedToHostedField(f,trace)) transformFunctionToFieldOfSignature(f,trace)
23 else transformFunctionToGlobalRelation(f,trace)
24 }
25 }
26
27 def protected transformedToHostedField(FunctionDeclaration f, Logic2AlloyLanguageMapperTrace trace) {
28 if(f.parameters.size == 1 && f.parameters.head instanceof ComplexTypeReference) {
29 val head = f.parameters.head
30 if(head instanceof ComplexTypeReference) {
31 val types = base.typeMapper.transformTypeReference(head.referred,base,trace)
32 return types.size == 1
33 }
34 }
35 return (f.parameters.size == 1 && f.parameters.head instanceof ComplexTypeReference)
36 }
37 def protected transformFunctionToFieldOfSignature(FunctionDeclaration f,Logic2AlloyLanguageMapperTrace trace) {
38 val param = (f.parameters.head as ComplexTypeReference)
39 val referred = param.referred
40 val field = createALSFieldDeclaration => [
41 it.name = support.toID(f.getName)
42 it.multiplicity = ALSMultiplicity.ONE
43 it.type = base.transformTypeReference(f.range,trace)
44 ]
45 val host = base.typeMapper.transformTypeReference(referred,base,trace).get(0)
46 (host.eContainer as ALSSignatureBody).fields += field
47 trace.functionDeclaration2HostedField.put(f, field)
48 }
49 def protected transformFunctionToGlobalRelation(FunctionDeclaration f, Logic2AlloyLanguageMapperTrace trace) {
50 val field = createALSFieldDeclaration => [
51 it.name = support.toID(f.name)
52 it.multiplicity = ALSMultiplicity.SET
53 it.type = createALSDirectProduct => [
54 it.leftOperand = support.unfoldReferenceDirectProduct(base,f.parameters,trace)
55 it.rightMultiplicit = ALSMultiplicity.ONE
56 it.rightOperand = base.transformTypeReference(f.range,trace)
57 ]
58 ]
59 trace.logicLanguageBody.fields += field
60 trace.functionDeclaration2LanguageField.put(f, field)
61 }
62
63 def protected dispatch transformFunction(FunctionDefinition f, Logic2AlloyLanguageMapperTrace trace) {
64 val res = createALSFunctionDefinition => [
65 name = support.toID(f.name)
66 // variables + specification later
67 ]
68 trace.specification.functionDefinitions+=res;
69 trace.functionDefinition2Function.put(f,res)
70 }
71
72 def protected transformFunctionDefinitionSpecification(FunctionDefinition f, Logic2AlloyLanguageMapperTrace trace) {
73 val target = f.lookup(trace.functionDefinition2Function)
74 val variableMap = new HashMap
75 for(variable : f.variable) {
76 val v = createALSVariableDeclaration => [
77 it.name = support.toID(variable.name)
78 it.range = base.transformTypeReference(variable.range,trace)
79 // specification later
80 ]
81 target.variables+=v
82 variableMap.put(variable,v)
83 }
84 target.value = base.transformTerm(f.value,trace,variableMap)
85 }
86
87} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_RelationMapper.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_RelationMapper.xtend
new file mode 100644
index 00000000..9dd4da2f
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_RelationMapper.xtend
@@ -0,0 +1,111 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSMultiplicity
4import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSSignatureBody
5import hu.bme.mit.inf.dslreasoner.alloyLanguage.AlloyLanguageFactory
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
9import java.util.HashMap
10
11import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
12
13class Logic2AlloyLanguageMapper_RelationMapper {
14 private val extension AlloyLanguageFactory factory = AlloyLanguageFactory.eINSTANCE
15 private val Logic2AlloyLanguageMapper_Support support = new Logic2AlloyLanguageMapper_Support;
16 val Logic2AlloyLanguageMapper base;
17 public new(Logic2AlloyLanguageMapper base) {
18 this.base = base
19 }
20
21 def dispatch protected void transformRelation(RelationDeclaration r, Logic2AlloyLanguageMapperTrace trace) {
22 if(!trace.relationDefinitions.containsKey(r)) {
23 if(r.transformToHostedField(trace)) {
24 transformRelationDeclarationToHostedField(r,trace)
25 } else {
26 transformRelationDeclarationToGlobalField(r,trace)
27 }
28 }
29 }
30
31 def protected transformToHostedField(RelationDeclaration r, Logic2AlloyLanguageMapperTrace trace) {
32 val first = r.parameters.get(0)
33 if(r.parameters.size == 2) {
34 if(first instanceof ComplexTypeReference) {
35 val types = base.typeMapper.transformTypeReference(first.referred,base,trace)
36 if(types.size == 1) {
37 return true
38 }
39 }
40 }
41 return false
42 }
43
44 def protected transformRelationDeclarationToHostedField(RelationDeclaration r, Logic2AlloyLanguageMapperTrace trace) {
45 val hostType = (r.parameters.head as ComplexTypeReference).referred
46
47 val targetBody = base.typeMapper.transformTypeReference(hostType,base,trace).get(0).eContainer as ALSSignatureBody
48 val field = createALSFieldDeclaration => [
49 it.name = support.toID(r.getName)
50 it.multiplicity = ALSMultiplicity.SET
51 it.type = base.transformTypeReference(r.parameters.get(1),trace)
52 ]
53 targetBody.fields += field
54 trace.relationDeclaration2Field.put(r,field)
55
56 }
57
58 def protected transformRelationDeclarationToGlobalField(RelationDeclaration r, Logic2AlloyLanguageMapperTrace trace) {
59 val field = createALSFieldDeclaration => [
60 it.name = support.toID(r.name)
61 it.type = support.unfoldReferenceDirectProduct(base,r.parameters,trace)
62 ]
63 trace.logicLanguageBody.fields += field
64 trace.relationDeclaration2Global.put(r, field)
65 }
66
67 def dispatch protected void transformRelation(RelationDefinition r, Logic2AlloyLanguageMapperTrace trace) {
68 val res = createALSRelationDefinition => [
69 name = support.toID(r.name)
70 // fill the variables later
71 // fill the expression later
72 ]
73
74 trace.relationDefinition2Predicate.put(r,res)
75 trace.specification.relationDefinitions+=res;
76 }
77
78 def protected void transformRelationDefinitionSpecification(RelationDefinition r, Logic2AlloyLanguageMapperTrace trace) {
79 val predicate = r.lookup(trace.relationDefinition2Predicate)
80 if(predicate !== null) {
81 val variableMap = new HashMap
82 for(variable : r.variables) {
83 val v = createALSVariableDeclaration => [
84 it.name = support.toID(variable.name)
85 it.range = base.transformTypeReference(variable.range,trace)
86 ]
87 predicate.variables+=v
88 variableMap.put(variable,v)
89 }
90 predicate.value = base.transformTerm(r.value,trace,variableMap)
91 }
92 }
93
94 def public transformRelationReference(RelationDeclaration relation, Logic2AlloyLanguageMapperTrace trace) {
95 if(relation.transformToHostedField(trace)) {
96 return createALSReference => [it.referred = relation.lookup(trace.relationDeclaration2Field) ]
97 } else {
98 return createALSJoin => [
99 leftOperand = createALSReference => [referred = trace.logicLanguage]
100 rightOperand = createALSReference => [ referred = relation.lookup(trace.relationDeclaration2Global) ]]
101 }
102 }
103
104 def public getRelationReference(RelationDeclaration relation, Logic2AlloyLanguageMapperTrace trace) {
105 if(relation.transformToHostedField(trace)) {
106 return relation.lookup(trace.relationDeclaration2Field)
107 } else {
108 return relation.lookup(trace.relationDeclaration2Global)
109 }
110 }
111} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_Support.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_Support.xtend
new file mode 100644
index 00000000..39896c27
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_Support.xtend
@@ -0,0 +1,207 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSEquals
4import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSMultiplicity
5import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSReference
6import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSTerm
7import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSVariableDeclaration
8import hu.bme.mit.inf.dslreasoner.alloyLanguage.AlloyLanguageFactory
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolTypeReference
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference
13import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
14import java.util.ArrayList
15import java.util.HashMap
16import java.util.List
17import java.util.Map
18import org.eclipse.emf.ecore.util.EcoreUtil
19
20class Logic2AlloyLanguageMapper_Support {
21 private val extension AlloyLanguageFactory factory = AlloyLanguageFactory.eINSTANCE
22
23 /// ID handling
24 def protected String toIDMultiple(String... ids) {
25 ids.map[it.split("\\s+").join("'")].join("'")
26 }
27
28 def protected String toID(String ids) {
29 ids.split("\\s+").join("'")
30 }
31 def protected String toID(List<String> ids) {
32 ids.map[it.split("\\s+").join("'")].join("'")
33 }
34
35 /// Support functions
36
37 def protected getBooleanType(Logic2AlloyLanguageMapperTrace trace) {
38 if(trace.boolType!=null) {
39 return trace.boolType
40 } else {
41 trace.boolType = createALSEnumDeclaration => [
42 it.name = toID(#["util","boolean"])
43 trace.boolTrue = createALSEnumLiteral =>[it.name=toID(#["util","boolean","true"])]
44 it.literal += trace.boolTrue
45 trace.boolFalse = createALSEnumLiteral =>[it.name=toID(#["util","boolean","false"])]
46 it.literal += trace.boolFalse
47 ]
48 trace.specification.enumDeclarations+=trace.boolType
49 return trace.boolType
50 }
51 }
52 def protected getBooleanTrue(Logic2AlloyLanguageMapperTrace trace) {
53 getBooleanType(trace)
54 return trace.boolTrue
55 }
56 def protected getBooleanFalse(Logic2AlloyLanguageMapperTrace trace) {
57 getBooleanType(trace)
58 return trace.boolFalse
59 }
60
61 def protected booleanToLogicValue(ALSTerm boolReference, Logic2AlloyLanguageMapperTrace trace) {
62 //println((boolReference as ALSReference).referred)
63 createALSEquals => [
64 leftOperand = EcoreUtil.copy(boolReference)
65 rightOperand = createALSReference => [referred = getBooleanTrue(trace)]
66 ]
67 }
68 def protected booleanToEnumValue(ALSTerm value, Logic2AlloyLanguageMapperTrace trace) {
69 if(value instanceof ALSEquals) {
70 val rightOperand = value.rightOperand
71 if(rightOperand instanceof ALSReference) {
72 if(rightOperand.referred == getBooleanTrue(trace)) {
73 return value.leftOperand
74 }
75 }
76 }
77 return value;
78 }
79 def protected prepareParameterOfSymbolicReference(TypeReference type, ALSTerm term, Logic2AlloyLanguageMapperTrace trace) {
80 if(type instanceof BoolTypeReference) {
81 return booleanToEnumValue(term,trace)
82 }
83 else return term
84 }
85 def protected postprocessResultOfSymbolicReference(TypeReference type, ALSTerm term, Logic2AlloyLanguageMapperTrace trace) {
86 if(type instanceof BoolTypeReference) {
87 return booleanToLogicValue(term,trace)
88 }
89 else return term
90 }
91
92 def protected ALSTerm unfoldAnd(List<? extends ALSTerm> operands) {
93 if(operands.size == 1) { return operands.head }
94 else if(operands.size > 1) { return createALSAnd=>[
95 leftOperand=operands.head
96 rightOperand=operands.subList(1,operands.size).unfoldAnd
97 ]}
98 else throw new UnsupportedOperationException('''Logic operator with 0 operands!''')
99 }
100
101 def protected ALSTerm unfoldOr(List<? extends ALSTerm> operands, Logic2AlloyLanguageMapperTrace trace) {
102 if(operands.size == 0) { return unfoldTrueStatement(trace)}
103 else if(operands.size == 1) { return operands.head }
104 else if(operands.size > 1) { return createALSOr=>[
105 leftOperand=operands.head
106 rightOperand=unfoldOr(operands.subList(1,operands.size),trace)
107 ]}
108 //else throw new UnsupportedOperationException('''Logic operator with 0 operands!''')
109 }
110
111 protected def unfoldTrueStatement(Logic2AlloyLanguageMapperTrace trace) {
112 createALSEquals => [
113 it.leftOperand = createALSReference => [it.referred = getBooleanTrue(trace)]
114 it.rightOperand = createALSReference => [it.referred = getBooleanTrue(trace)]
115 ]
116 }
117
118 protected def unfoldTFalseStatement(Logic2AlloyLanguageMapper m, Logic2AlloyLanguageMapperTrace trace) {
119 createALSEquals => [
120 it.leftOperand = createALSReference => [it.referred = getBooleanTrue(trace)]
121 it.rightOperand = createALSReference => [it.referred = getBooleanTrue(trace)]
122 ]
123 }
124
125 def protected ALSTerm unfoldPlus(List<? extends ALSTerm> operands) {
126 if(operands.size == 1) { return operands.head }
127 else if(operands.size > 1) { return createALSPlus=>[
128 leftOperand=operands.head
129 rightOperand=operands.subList(1,operands.size).unfoldPlus
130 ]}
131 else return createALSNone
132 }
133
134 def protected ALSTerm unfoldIntersection(List<? extends ALSTerm> operands) {
135 if(operands.size == 1) { return operands.head }
136 else if(operands.size > 1) { return createALSIntersection=>[
137 leftOperand=operands.head
138 rightOperand=operands.subList(1,operands.size).unfoldIntersection
139 ]}
140 else throw new UnsupportedOperationException('''Logic operator with 0 operands!''')
141 }
142
143 def protected ALSTerm unfoldDistinctTerms(Logic2AlloyLanguageMapper m, List<Term> operands, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
144 if(operands.size == 1) { return m.transformTerm(operands.head,trace,variables) }
145 else if(operands.size > 1) {
146 val notEquals = new ArrayList<ALSTerm>(operands.size*operands.size/2)
147 for(i:0..<operands.size) {
148 for(j: i+1..<operands.size) {
149 notEquals+=createALSNotEquals=>[
150 leftOperand = m.transformTerm(operands.get(i),trace,variables)
151 rightOperand = m.transformTerm(operands.get(j),trace,variables)
152 ]
153 }
154 }
155 return notEquals.unfoldAnd
156 }
157 else throw new UnsupportedOperationException('''Logic operator with 0 operands!''')
158 }
159
160 def protected ALSTerm unfoldReferenceDirectProduct(Logic2AlloyLanguageMapper m, List<TypeReference> references,Logic2AlloyLanguageMapperTrace trace) {
161 if(references.size == 1) return m.transformTypeReference(references.head,trace)
162 else if(references.size > 1) return createALSDirectProduct => [
163 it.leftOperand = m.transformTypeReference(references.head,trace)
164 it.rightOperand = unfoldReferenceDirectProduct(m,references.subList(1,references.size),trace)
165 ]
166 else throw new UnsupportedOperationException
167 }
168
169 def protected ALSTerm unfoldDotJoin(Logic2AlloyLanguageMapper m, List<Term> elements, ALSTerm target, Logic2AlloyLanguageMapperTrace trace,
170 Map<Variable, ALSVariableDeclaration> variables) {
171 if (elements.size == 1) {
172 return createALSJoin => [
173 it.leftOperand = m.transformTerm(elements.head,trace, variables)
174 it.rightOperand = target
175 ]
176 } else if (elements.size > 1) {
177 return createALSJoin => [
178 it.leftOperand = m.transformTerm(elements.last,trace, variables)
179 it.rightOperand = m.unfoldDotJoin(elements.subList(0, elements.size - 1), target, trace, variables)
180 ]
181 } else
182 throw new UnsupportedOperationException
183 }
184
185 def protected ALSTerm unfoldTermDirectProduct(Logic2AlloyLanguageMapper m, List<Term> references,Logic2AlloyLanguageMapperTrace trace,Map<Variable, ALSVariableDeclaration> variables) {
186 if(references.size == 1) return m.transformTerm(references.head,trace,variables)
187 else if(references.size > 1) return createALSDirectProduct => [
188 it.leftOperand = m.transformTerm(references.head,trace,variables)
189 it.rightOperand = unfoldTermDirectProduct(m,references.subList(1,references.size),trace, variables)
190 ]
191 else throw new UnsupportedOperationException
192 }
193
194 def protected createQuantifiedExpression(Logic2AlloyLanguageMapper m, QuantifiedExpression q, ALSMultiplicity multiplicity, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
195 val variableMap = q.quantifiedVariables.toInvertedMap[v | createALSVariableDeclaration=> [
196 it.name = toID(v.name)
197 it.range = m.transformTypeReference(v.range,trace) ]]
198
199 createALSQuantifiedEx=>[
200 it.type = multiplicity
201 it.variables += variableMap.values
202 it.expression = m.transformTerm(q.expression,trace,variables.withAddition(variableMap))
203 ]
204 }
205
206 def protected withAddition(Map<Variable, ALSVariableDeclaration> v1, Map<Variable, ALSVariableDeclaration> v2) { new HashMap(v1) => [putAll(v2)] }
207} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper.xtend
new file mode 100644
index 00000000..9927f1cc
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper.xtend
@@ -0,0 +1,16 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSSignatureDeclaration
4import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSTerm
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
7import java.util.Collection
8import java.util.List
9
10interface Logic2AlloyLanguageMapper_TypeMapper {
11 def void transformTypes(Collection<Type> types, Collection<DefinedElement> elements, Logic2AlloyLanguageMapper mapper, Logic2AlloyLanguageMapperTrace trace);
12 def List<ALSSignatureDeclaration> transformTypeReference(Type referred, Logic2AlloyLanguageMapper mapper, Logic2AlloyLanguageMapperTrace trace)
13 def ALSSignatureDeclaration getUndefinedSupertype(Logic2AlloyLanguageMapperTrace trace)
14 def int getUndefinedSupertypeScope(int undefinedScope,Logic2AlloyLanguageMapperTrace trace)
15 def ALSTerm transformReference(DefinedElement referred,Logic2AlloyLanguageMapperTrace trace)
16}
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper_FilteredTypes.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper_FilteredTypes.xtend
new file mode 100644
index 00000000..ade9860b
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper_FilteredTypes.xtend
@@ -0,0 +1,268 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
2
3import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries.TypeQueries
4import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSMultiplicity
5import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSSignatureBody
6import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSSignatureDeclaration
7import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSTerm
8import hu.bme.mit.inf.dslreasoner.alloyLanguage.AlloyLanguageFactory
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
12import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage
13import java.util.ArrayList
14import java.util.Collection
15import java.util.HashMap
16import java.util.List
17import java.util.Map
18
19import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
20
21class Logic2AlloyLanguageMapper_TypeMapperTrace_FilteredTypes
22 implements Logic2AlloyLanguageMapper_TypeMapperTrace
23{
24 public var ALSSignatureDeclaration objectSupperClass;
25 public val Map<Type, ALSSignatureDeclaration> type2ALSType = new HashMap;
26 public val Map<DefinedElement, ALSSignatureDeclaration> definedElement2Declaration = new HashMap
27}
28/**
29 * Each object is an element of an Object set, and types are subsets of the objects.
30 */
31class Logic2AlloyLanguageMapper_TypeMapper_FilteredTypes implements Logic2AlloyLanguageMapper_TypeMapper{
32 private val Logic2AlloyLanguageMapper_Support support = new Logic2AlloyLanguageMapper_Support;
33 private val extension AlloyLanguageFactory factory = AlloyLanguageFactory.eINSTANCE
34
35 new() {
36 // Initialize package
37 LogicproblemPackage.eINSTANCE.class
38 }
39
40 override transformTypes(Collection<Type> types, Collection<DefinedElement> elements, Logic2AlloyLanguageMapper mapper, Logic2AlloyLanguageMapperTrace trace) {
41 val typeTrace = new Logic2AlloyLanguageMapper_TypeMapperTrace_FilteredTypes
42 trace.typeMapperTrace = typeTrace
43
44 // 1. A global type for Objects is created
45 val objectSig = createALSSignatureDeclaration => [it.name = support.toID(#["util","Object"])]
46 val objectBody = createALSSignatureBody => [
47 it.declarations += objectSig
48 it.abstract = true
49 ]
50 typeTrace.objectSupperClass = objectSig
51 trace.specification.signatureBodies += objectBody
52
53 // 2. Each type is mapped to a unique sig
54 for(type : types) {
55 val sig = createALSSignatureDeclaration => [it.name = support.toIDMultiple("type",type.name)]
56 val body = createALSSignatureBody => [it.declarations += sig]
57 trace.specification.signatureBodies += body
58 typeTrace.type2ALSType.put(type,sig)
59 }
60
61 // 3. The elements of a defined type is mapped to singleton signatures
62 // 3.1 Collect the elements
63 val elementMatcher = TypeQueries.instance.getLowestCommonSupertypeOfAllOccuranceOfElement(trace.incqueryEngine)
64 val topmostType2Elements = new HashMap<ALSSignatureDeclaration,List<DefinedElement>>
65 for(element : elements) {
66 val topmostTypes = elementMatcher.getAllValuesOftype(element)
67 var ALSSignatureDeclaration selectedTopmostType;
68 if(topmostTypes.empty) {
69 selectedTopmostType = objectSig
70 } else{
71 selectedTopmostType = topmostTypes.head.lookup(typeTrace.type2ALSType)
72 }
73 topmostType2Elements.putOrAddToList(selectedTopmostType,element)
74 }
75
76 // 4. For each topmost types several singleton classes are generated, which represents the elements.
77 // For the sake of clarity, common bodies are used.
78 for(topmostEntry : topmostType2Elements.entrySet) {
79
80 for(element : topmostEntry.value) {
81 val signature = createALSSignatureDeclaration => [it.name = support.toIDMultiple("element",element.name)]
82 typeTrace.definedElement2Declaration.put(element,signature)
83 }
84
85 val body = createALSSignatureBody => [
86 it.multiplicity = ALSMultiplicity.ONE
87 it.declarations += topmostEntry.value.map[it.lookup(typeTrace.definedElement2Declaration)]
88 ]
89
90 val containerLogicType = topmostEntry.key
91 body.superset += containerLogicType
92
93 trace.specification.signatureBodies+=body
94 }
95
96 // 5.1 Each Defined Type is specified as the union of its elements
97 for(definedType : types.filter(TypeDefinition)) {
98 trace.specification.factDeclarations += createALSFactDeclaration => [
99 it.name = support.toIDMultiple("typedefinition",definedType.name)
100 it.term = createALSEquals => [
101 it.leftOperand = createALSReference => [ it.referred = definedType.lookup(typeTrace.type2ALSType) ]
102 it.rightOperand = support.unfoldPlus(definedType.elements.map[e|
103 createALSReference => [it.referred = e.lookup(typeTrace.definedElement2Declaration)]])
104 ]
105 ]
106 }
107 // 5.2 Each Defined Element is unique
108 for(definedType : types.filter(TypeDefinition)) {
109 val allElementsIncludingSubtypes =
110 definedType.<Type>transitiveClosureStar[it.subtypes].filter(TypeDefinition)
111 .map[elements].flatten.toSet.toList
112 if(allElementsIncludingSubtypes.size>=2) {
113 trace.specification.factDeclarations += createALSFactDeclaration => [
114 it.name = support.toIDMultiple("typeElementsUnique",definedType.name)
115 it.term = unfoldDistinctElements(allElementsIncludingSubtypes,trace)
116 ]
117 }
118 }
119
120 // 6. Each inheritance is modeled by subset operator 'in'
121 for(type : types) {
122 val sigBody = type.lookup(typeTrace.type2ALSType).eContainer as ALSSignatureBody
123 if(type.supertypes.empty) {
124 sigBody.superset += typeTrace.objectSupperClass
125 } else {
126 sigBody.superset += type.supertypes.map[lookup(typeTrace.type2ALSType)]
127 }
128 }
129
130
131 // 7. Each type is in the intersection of the supertypes
132 for(type : types.filter[it.supertypes.size>=2]) {
133 trace.specification.factDeclarations += createALSFactDeclaration => [
134 it.name = support.toIDMultiple("abstract",type.name)
135 it.term = createALSEquals => [
136 it.leftOperand = createALSReference => [ it.referred = type.lookup(typeTrace.type2ALSType) ]
137 it.rightOperand = support.unfoldIntersection(type.supertypes.map[e|
138 createALSReference => [it.referred = e.lookup(typeTrace.type2ALSType)]])
139 ]
140 ]
141 }
142
143 // 8. Each abstract type is equal to the union of the subtypes
144 for(type : types.filter[isIsAbstract]) {
145 trace.specification.factDeclarations += createALSFactDeclaration => [
146 it.name = support.toIDMultiple("abstract",type.name)
147 it.term = createALSEquals => [
148 it.leftOperand = createALSReference => [ it.referred = type.lookup(typeTrace.type2ALSType) ]
149 it.rightOperand = support.unfoldPlus(type.subtypes.map[e|
150 createALSReference => [it.referred = e.lookup(typeTrace.type2ALSType)]])
151 ]
152 ]
153 }
154 // 8.1 The object type is the union of the root types.
155 val rootTypes = types.filter[it.supertypes.empty].toList
156 trace.specification.factDeclarations += createALSFactDeclaration => [
157 it.name = support.toIDMultiple(#["ObjectTypeDefinition"])
158 it.term = createALSEquals => [
159 it.leftOperand = createALSReference => [ it.referred = typeTrace.objectSupperClass ]
160 it.rightOperand = support.unfoldPlus(rootTypes.map[e|
161 createALSReference => [it.referred = e.lookup(typeTrace.type2ALSType)]])
162 ]
163 ]
164
165 // 9. For each type X (including Object)
166 // only the common subtypes are in the intersection
167 // of the two subtype.
168 // 9.1. for the object
169 {
170 val rootTypeList = types.filter[it.supertypes.empty].toList
171 for(type1Index: 0..<rootTypeList.size) {
172 for(type2Index: 0..<type1Index) {
173 trace.specification.factDeclarations +=
174 commonSubtypeOnlyInDiamonds(rootTypeList.get(type1Index),rootTypeList.get(type2Index),trace)
175 }
176 }
177 }
178
179 //9.3 for the subtypes of each objects
180 {
181 for(inScope : types) {
182 val subtypeList = inScope.subtypes//.toList
183 if(subtypeList.size>=2) {
184 for(type1Index: 0..<subtypeList.size) {
185 for(type2Index: 0..<type1Index) {
186 trace.specification.factDeclarations +=
187 commonSubtypeOnlyInDiamonds(subtypeList.get(type1Index),subtypeList.get(type2Index),trace)
188 }
189 }
190 }
191 }
192 }
193 }
194
195 private def isEnumlikeType(Type type) {
196 if(type instanceof TypeDefinition) {
197 val elements = type.elements
198 return elements.forall[it.definedInType.size === 1 && it.definedInType.head === type]
199 }
200 return false
201 }
202
203 private def isEnumlikeElement(DefinedElement d) {
204 d.definedInType.size === 1 && d.definedInType.head.isEnumlikeType
205 }
206
207 def getTypeTrace(Logic2AlloyLanguageMapperTrace trace) {
208 val res = trace.typeMapperTrace
209 if(res instanceof Logic2AlloyLanguageMapper_TypeMapperTrace_FilteredTypes) {
210 return res
211 } else {
212 throw new IllegalArgumentException('''
213 Expected type mapping trace: «Logic2AlloyLanguageMapper_TypeMapperTrace_FilteredTypes.name»,
214 but found «res.class.name»''')
215 }
216 }
217
218 def private commonSubtypeOnlyInDiamonds(Type t1, Type t2, Logic2AlloyLanguageMapperTrace trace) {
219 val topmostCommonSubtypes = TypeQueries.instance.getTopmostCommonSubtypes(trace.incqueryEngine)
220 val allTopmostCommon = topmostCommonSubtypes.getAllValuesOfcommon(t1,t2).toList
221 return createALSFactDeclaration => [
222 it.name = support.toIDMultiple("common","types",t1.name,t2.name)
223 it.term = createALSEquals => [
224 it.leftOperand = createALSIntersection => [
225 it.leftOperand = createALSReference => [it.referred = t1.lookup(trace.typeTrace.type2ALSType)]
226 it.rightOperand = createALSReference => [it.referred = t2.lookup(trace.typeTrace.type2ALSType)]
227 ]
228 it.rightOperand = support.unfoldPlus(allTopmostCommon.map[t|createALSReference => [it.referred = t.lookup(trace.typeTrace.type2ALSType)]])
229 ]
230 ]
231 }
232
233 def private unfoldDistinctElements(
234 List<DefinedElement> operands,
235 Logic2AlloyLanguageMapperTrace trace
236 ) {
237 if(operands.size == 1 || operands.size == 0) {support.unfoldTrueStatement(trace);}
238 else {
239 val notEquals = new ArrayList<ALSTerm>(operands.size*operands.size/2)
240 for(i:0..<operands.size) {
241 for(j: i+1..<operands.size) {
242 notEquals+=createALSNotEquals=>[
243 leftOperand = createALSReference => [it.referred = trace.typeTrace.definedElement2Declaration.get(operands.get(i)) ]
244 rightOperand = createALSReference => [it.referred = trace.typeTrace.definedElement2Declaration.get(operands.get(j)) ]
245 ]
246 }
247 }
248 return support.unfoldAnd(notEquals)
249 }
250 }
251
252 override transformTypeReference(Type referred, Logic2AlloyLanguageMapper mapper, Logic2AlloyLanguageMapperTrace trace) {
253 return #[trace.typeTrace.type2ALSType.get(referred)]
254 }
255
256 override getUndefinedSupertype(Logic2AlloyLanguageMapperTrace trace) {
257 trace.typeTrace.objectSupperClass
258 }
259
260 override transformReference(DefinedElement referred, Logic2AlloyLanguageMapperTrace trace) {
261 createALSReference => [it.referred = referred.lookup(trace.typeTrace.definedElement2Declaration)]
262 }
263
264 override getUndefinedSupertypeScope(int undefinedScope, Logic2AlloyLanguageMapperTrace trace) {
265 return undefinedScope + trace.typeTrace.definedElement2Declaration.size
266 }
267
268} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper_Horizontal.xtend_old b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper_Horizontal.xtend_old
new file mode 100644
index 00000000..7383904d
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper_Horizontal.xtend_old
@@ -0,0 +1,428 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSIntersection
4import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSMultiplicity
5import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSSignatureDeclaration
6import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSTerm
7import hu.bme.mit.inf.dslreasoner.alloyLanguage.AlloyLanguageFactory
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
13import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
14import hu.bme.mit.inf.dslreasoner.logic.model.patterns.SupertypeStarMatcher
15import java.util.HashMap
16import java.util.LinkedHashSet
17import java.util.LinkedList
18import java.util.List
19import java.util.Map
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
21import org.eclipse.viatra.query.runtime.emf.EMFScope
22import org.eclipse.xtend.lib.annotations.Data
23
24import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
25
26class Logic2AlloyLanguageMapper_TypeMapperTrace_Horizontal
27 implements Logic2AlloyLanguageMapper_TypeMapperTrace {
28 public var ALSSignatureDeclaration declaredSupertype
29 public var ALSSignatureDeclaration definedSupertype
30 public val Map<DefinedElement, ALSSignatureDeclaration> definedElement2Declaration = new HashMap
31
32 public val Map<TypeDefinition, ALSSignatureDeclaration> definition2definition = new HashMap
33 public val Map<TypeDeclaration, ALSSignatureDeclaration> declaration2definition = new HashMap
34 public val Map<TypeDeclaration, ALSSignatureDeclaration> undefined2definition = new HashMap
35 public val Map<TypeDeclaration, ALSSignatureDeclaration> new2declaration = new HashMap
36
37 def getAllDefinedTypes() {
38 return (definition2definition.values) +
39 (declaration2definition.values) +
40 (undefined2definition.values)
41 }
42 def getAllDeclaredTypes() {
43 return new2declaration.values
44 }
45
46 public val Map<Type,List<ALSSignatureDeclaration>> type2AllSignatures = new HashMap;
47}
48
49@Data
50class DynamicTypeConstraints {
51 List<List<Type>> positiveCNF
52 LinkedHashSet<Type> negative
53 public new() {
54 this.positiveCNF = new LinkedList
55 this.negative = new LinkedHashSet
56 }
57 def public void addPositiveTypeOptions(List<Type> typeDisjunction) {
58 this.positiveCNF.add(typeDisjunction)
59 }
60 def public void addNegativeTypes(Iterable<Type> negativeTypes) {
61 this.negative.addAll(negativeTypes)
62 }
63}
64
65/**
66 * Dynamic types are represented by disjoint sets, and
67 * static types are represented by the union of the dynamic type sets.
68 *
69 * Definition Declaration
70 * | / \
71 * | W/DefinedSuper Wo/DefinedSuper
72 * | | / \
73 * | | undefined2declaration new2declaration
74 * definition2definition definition2declaration
75 * +----------------------------------------------------+ +-------------+
76 * Defined Declared
77 */
78class Logic2AlloyLanguageMapper_TypeMapper_Horizontal implements Logic2AlloyLanguageMapper_TypeMapper{
79 private val Logic2AlloyLanguageMapper_Support support = new Logic2AlloyLanguageMapper_Support;
80 private val extension AlloyLanguageFactory factory = AlloyLanguageFactory.eINSTANCE
81
82 override transformTypes(LogicProblem problem, Logic2AlloyLanguageMapper mapper, Logic2AlloyLanguageMapperTrace trace) {
83 // 0. Creating the traces
84 val typeTrace = new Logic2AlloyLanguageMapper_TypeMapperTrace_Horizontal
85 trace.typeMapperTrace = typeTrace
86 /**
87 * Static type -> list of possible dynamic type map
88 */
89 val typeToConcreteSubtypes = problem.typeToConcreteSubtypes(trace)
90
91
92
93 // 1. Transforming the types
94
95 // There are two kind of types:
96 // A: one with defined supertypes (including itself), that only has defined elements
97 // Those types can have instances only from the defined elements, ie they are subset of problem.elements
98 // B: one without defined supertypes
99 // Those types can have instances from two sources
100 // B.1 from elements that dont have definitions
101 // B.2 from newly created elements
102 val allConcreteTypes = problem.types.filter[!it.isAbstract]
103 val definitions = allConcreteTypes.filter(TypeDefinition).toList
104 val declarationsWithDefinedSupertype = allConcreteTypes.filter(TypeDeclaration).filter[it.hasDefinedSupertype].toList
105 val declarationsWithoutDefinedSupertype = allConcreteTypes.filter(TypeDeclaration).filter[!it.hasDefinedSupertype].toList
106
107 // 2. If there are defined elements
108 if(trace.typeTrace.definedSupertype != null) {
109 // 3 mapping the elements
110 problem.elements.transformDefinedSupertype(trace)
111 // 4. if there are elements that are added to types, then it have to be mapped to defined parts
112 if(problem.elements.exists[!it.definedInType.empty]) {
113 definitions.forEach[it.transformDefinition2Definition(trace)]
114 declarationsWithDefinedSupertype.forEach[it.transformDeclaration2Definition(trace)]
115 }
116 // 5. if there are elements that are not added to types, then it have to be mapped to declarations without definitions
117 if(problem.elements.exists[it.definedInType.empty]) {
118 declarationsWithoutDefinedSupertype.forEach[it.transformUndefined2Definition(trace)]
119 }
120
121 definedConcreteTypesAreFull(trace)
122 definedConcreteTypesAreDisjoint(trace)
123 problem.definedConcreteTypesAreSatisfyingDefinitions(typeToConcreteSubtypes,trace)
124 }
125
126 // Transforming the declared and defined concrete types
127 problem.elements.transformDefinedSupertype(trace)
128 if(trace.typeTrace.definedSupertype != null) {
129 problem.elements.transformDefinedElements(trace)
130 declarationsWithoutDefinedSupertype.forEach[it.transformNew2Declaration(trace)]
131 }
132
133 // 2: Caching the types by filling type2AllSignatures
134 for(typeToConcreteSubtypesEntry : typeToConcreteSubtypes.entrySet) {
135 val type = typeToConcreteSubtypesEntry.key
136 val List<ALSSignatureDeclaration> signatures = new LinkedList
137
138 }
139 }
140
141 def getTypeTrace(Logic2AlloyLanguageMapperTrace trace) {
142 val res = trace.typeMapperTrace
143 if(res instanceof Logic2AlloyLanguageMapper_TypeMapperTrace_Horizontal) {
144 return res
145 } else {
146 throw new IllegalArgumentException('''
147 Expected type mapping trace: «Logic2AlloyLanguageMapper_TypeMapperTrace_Horizontal.name»,
148 but found «res.class.name»''')
149 }
150 }
151
152 private def boolean hasDefinedSupertype(Type type) {
153 if(type instanceof TypeDefinition) {
154 return true
155 } else {
156 if(type.supertypes.empty) return false
157 else return type.supertypes.exists[it.hasDefinedSupertype]
158 }
159 }
160
161 private def transformDefinedSupertype(List<DefinedElement> elements, Logic2AlloyLanguageMapperTrace trace) {
162 trace.typeTrace.definedSupertype = createALSSignatureDeclaration => [
163 it.name = support.toID(#["util","defined","Object"])
164 ]
165 trace.specification.signatureBodies += createALSSignatureBody => [
166 it.abstract = true
167 it.declarations += trace.typeTrace.definedSupertype
168 ]
169 }
170
171 private def transformDefinedElements(List<DefinedElement> elements,
172 Logic2AlloyLanguageMapperTrace trace){
173 if(trace.typeTrace.definedSupertype != null) {
174 // 2. Create elements as singleton signatures subtype of definedSupertype
175 val elementBodies = createALSSignatureBody => [
176 it.multiplicity = ALSMultiplicity::ONE
177 it.supertype = trace.typeTrace.definedSupertype
178 ]
179 trace.specification.signatureBodies += elementBodies
180 for(element : elements) {
181 val elementDeclaration = createALSSignatureDeclaration => [
182 it.name = support.toIDMultiple(#["element"],element.name)
183 ]
184 elementBodies.declarations += elementDeclaration
185 trace.typeTrace.definedElement2Declaration.put(element,elementDeclaration)
186 }
187 // 3. Specify that definedSupertype is equal to the union of specified
188 /*trace.specification.factDeclarations += createALSFactDeclaration => [
189 it.name = support.toID(#["util","typehierarchy","definitionOfElements"])
190 it.term = createALSEquals => [
191 it.leftOperand = createALSReference => [it.referred = trace.typeTrace.definedSupertype]
192 it.rightOperand = support.unfoldPlus(elements.map[element|createALSReference=>[
193 it.referred = element.lookup(trace.typeTrace.definedElement2Declaration)
194 ]])
195 ]
196 ]*/
197 }
198 }
199
200 ///// Type definitions
201
202 protected def void transformDefinition2Definition(TypeDefinition type, Logic2AlloyLanguageMapperTrace trace) {
203 val sig = createALSSignatureDeclaration => [it.name = support.toIDMultiple(#["definition2definition"],type.name)]
204 val body = createALSSignatureBody => [
205 it.declarations += sig
206 it.superset += trace.typeTrace.definedSupertype
207 ]
208 trace.specification.signatureBodies += body
209 trace.typeTrace.definition2definition.put(type,sig)
210 }
211 protected def void transformDeclaration2Definition(TypeDeclaration type, Logic2AlloyLanguageMapperTrace trace) {
212 val sig = createALSSignatureDeclaration => [it.name = support.toIDMultiple(#["declaration2definition"],type.name)]
213 val body = createALSSignatureBody => [
214 it.declarations += sig
215 it.superset += trace.typeTrace.definedSupertype
216 ]
217 trace.specification.signatureBodies += body
218 trace.typeTrace.declaration2definition.put(type,sig)
219 }
220 protected def void transformUndefined2Definition(TypeDeclaration type, Logic2AlloyLanguageMapperTrace trace) {
221 val sig = createALSSignatureDeclaration => [it.name = support.toIDMultiple(#["undefined2definition"],type.name)]
222 val body = createALSSignatureBody => [
223 it.declarations += sig
224 it.supertype = trace.typeTrace.definedSupertype
225 ]
226 trace.specification.signatureBodies += body
227 trace.typeTrace.undefined2definition.put(type,sig)
228 }
229 protected def void transformNew2Declaration(TypeDeclaration type, Logic2AlloyLanguageMapperTrace trace) {
230 val sig = createALSSignatureDeclaration => [it.name = support.toIDMultiple(#["declaredPartOfDeclaration"],type.name)]
231 val body = createALSSignatureBody => [
232 it.declarations += sig
233 it.supertype = trace.typeTrace.declaredSupertype
234 ]
235 trace.specification.signatureBodies += body
236 trace.typeTrace.new2declaration.put(type,sig)
237 }
238
239 /**
240 * The dynamic types cover each concrete types
241 */
242 protected def definedConcreteTypesAreFull(Logic2AlloyLanguageMapperTrace trace) {
243 trace.specification.factDeclarations += createALSFactDeclaration => [
244 it.name = support.toID(#["util","typehierarchy","elementFull"])
245 it.term = createALSEquals => [
246 it.leftOperand = createALSReference => [it.referred = trace.typeTrace.definedSupertype]
247 it.rightOperand = support.unfoldPlus(
248 trace.typeTrace.allDefinedTypes.map[type|
249 createALSReference=>[referred = type]
250 ].toList
251 )
252 ]
253 ]
254
255 }
256 /**
257 * The dynamic types are disjoint
258 */
259 protected def definedConcreteTypesAreDisjoint(Logic2AlloyLanguageMapperTrace trace) {
260 val types = trace.getTypeTrace.allDefinedTypes.toList
261 if (types.size >= 2) {
262 trace.specification.factDeclarations += createALSFactDeclaration => [
263 it.name = support.toID(#["util", "typehierarchy", "elementFull"])
264 it.term = types.disjointSets
265 ]
266 }
267 }
268 /**
269 * The dynamic types are subtypes of the types where it is defined, but not subtypes where it is not
270 */
271 protected def definedConcreteTypesAreSatisfyingDefinitions(LogicProblem problem, Map<Type,List<Type>> typeToConcreteSubtypes, Logic2AlloyLanguageMapperTrace trace) {
272 val constraintOnElements = problem.elements.typeConstraints(typeToConcreteSubtypes)
273 for(constraintOnElement : constraintOnElements.entrySet) {
274 val element = constraintOnElement.key
275 val elementSignature = element.lookup(trace.typeTrace.definedElement2Declaration)
276 val constraint = constraintOnElement.value
277
278 var ALSTerm negativeConstraints;
279 if(constraint.negative.isEmpty) {
280 negativeConstraints = null
281 } else {
282 negativeConstraints = support.unfoldAnd(constraint.negative.map[type|
283 createALSNot=> [ elementInDefinedType(elementSignature, type, trace) ]
284 ].toList)
285 }
286
287 var ALSTerm positiveTypeConstraints
288 if(constraint.positiveCNF.isEmpty) {
289 positiveTypeConstraints = null
290 } else {
291 positiveTypeConstraints = support.unfoldAnd(constraint.positiveCNF.map[ typeConstraintFromDefinition |
292 support.unfoldOr(typeConstraintFromDefinition.map[type |
293 elementInDefinedType(elementSignature,type,trace)
294 ].toList,trace)
295 ])
296 }
297
298 var ALSTerm typeConstraint
299 if(negativeConstraints != null && positiveTypeConstraints == null) {
300 typeConstraint = negativeConstraints
301 } else if (negativeConstraints == null && positiveTypeConstraints != null) {
302 typeConstraint = positiveTypeConstraints
303 } else if (negativeConstraints != null && positiveTypeConstraints != null) {
304 val and = createALSAnd
305 and.leftOperand = positiveTypeConstraints
306 and.rightOperand = negativeConstraints
307 typeConstraint = and
308 } else {
309 typeConstraint = null
310 }
311
312 if(typeConstraint != null) {
313 val fact = createALSFactDeclaration => [
314 name = support.toIDMultiple(#["util","typehierarchy","definition"],element.name)
315 ]
316 fact.term = typeConstraint
317 trace.specification.factDeclarations +=fact
318 }
319 // otherwise there is no type constraint on element
320 }
321 }
322
323 private def elementInDefinedType(
324 ALSSignatureDeclaration elementSignature,
325 Type type,
326 Logic2AlloyLanguageMapperTrace trace)
327 {
328 var ALSSignatureDeclaration signature
329 if(type instanceof TypeDeclaration) {
330 if(trace.typeTrace.declaration2definition.containsKey(type)) {
331 signature = type.lookup(trace.typeTrace.declaration2definition)
332 } else if(trace.typeTrace.undefined2definition.containsKey(type)) {
333 signature = type.lookup(trace.typeTrace.undefined2definition)
334 } else {
335 return null
336 }
337 } else if(type instanceof TypeDefinition) {
338 if(trace.typeTrace.definition2definition.containsKey(type)) {
339 signature = type.lookup(trace.typeTrace.definition2definition)
340 } else {
341 return null
342 }
343 } else throw new IllegalArgumentException('''Unknownt type «type.class.name»''')
344
345 val finalSignature = signature
346 return createALSSubset => [
347 leftOperand = createALSReference => [
348 referred = elementSignature
349 ]
350 rightOperand = createALSReference => [
351 referred = finalSignature
352 ]
353 ]
354 }
355
356 def private typeToConcreteSubtypes(LogicProblem problem, Logic2AlloyLanguageMapperTrace trace) {
357 if(trace.incqueryEngine == null) {
358 trace.incqueryEngine = ViatraQueryEngine.on(new EMFScope(problem))
359 }
360 val matcher = SupertypeStarMatcher.on(trace.incqueryEngine)
361 val Map<Type,List<Type>> typeToConcreteSubtypes = new HashMap
362 for(supertype : problem.types) {
363 typeToConcreteSubtypes.put(
364 supertype,
365 matcher.getAllValuesOfsubtype(supertype)
366 .filter[!it.isIsAbstract].toList)
367 }
368 return typeToConcreteSubtypes
369 }
370
371 /**
372 * Gives type constraints in a form of CNF
373 */
374 def private Map<DefinedElement,DynamicTypeConstraints> typeConstraints(List<DefinedElement> elements, Map<Type,List<Type>> typeToConcreteSubtypes) {
375 val Map<DefinedElement,DynamicTypeConstraints> constraints = new HashMap
376 elements.forEach[constraints.put(it,new DynamicTypeConstraints)]
377
378 for(type : typeToConcreteSubtypes.keySet.filter(TypeDefinition)) {
379 val subtypes = type.lookup(typeToConcreteSubtypes)
380 for(elementInType:type.elements) {
381 elementInType.lookup(constraints).addPositiveTypeOptions(subtypes)
382 }
383 for(elementNotInType:elements.filter[!type.elements.contains(it)]) {
384 elementNotInType.lookup(constraints).addNegativeTypes(subtypes)
385 }
386 }
387
388 return constraints
389 }
390
391 private def ALSTerm disjointSets(List<ALSSignatureDeclaration> signatures) {
392 if(signatures.size >= 2){
393 val top = createALSEquals => [
394 it.leftOperand = signatures.intersectionOfTypes
395 it.rightOperand = createALSNone
396 ]
397 if(signatures.size > 2) {
398 return createALSAnd => [
399 it.leftOperand = top
400 it.rightOperand = signatures.subList(1,signatures.size).disjointSets
401 ]
402 } else{
403 return top
404 }
405 } else {
406 throw new UnsupportedOperationException()
407 }
408 }
409
410 private def ALSIntersection intersectionOfTypes(List<ALSSignatureDeclaration> signatures) {
411 if(signatures.size == 2) {
412 return createALSIntersection => [
413 leftOperand = createALSReference => [it.referred = signatures.get(0)]
414 rightOperand = createALSReference => [it.referred = signatures.get(1)]
415 ]
416 } else if(signatures.size > 2) {
417 return createALSIntersection => [
418 leftOperand = createALSReference => [it.referred = signatures.get(0)]
419 rightOperand = signatures.subList(1,signatures.size).intersectionOfTypes
420 ]
421 } else throw new UnsupportedOperationException()
422 }
423
424
425 override transformTypeReference(ComplexTypeReference complexTypeReference, Logic2AlloyLanguageMapper mapper, Logic2AlloyLanguageMapperTrace trace) {
426 //trace.typeTrace.
427 }
428} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper_InheritanceAndHorizontal.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper_InheritanceAndHorizontal.xtend
new file mode 100644
index 00000000..6533ad36
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper_InheritanceAndHorizontal.xtend
@@ -0,0 +1,50 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSSignatureDeclaration
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
9import java.util.HashMap
10import java.util.Map
11import java.util.Collection
12
13class Logic2AlloyLanguageMapper_TypeMapperTrace_InheritanceAndHorizontal implements Logic2AlloyLanguageMapper_TypeMapperTrace {
14 val Map<TypeDeclaration,ALSSignatureDeclaration> newElementTypes = new HashMap
15 val Map<Type,ALSSignatureDeclaration> definedElementTypes = new HashMap
16 var ALSSignatureDeclaration undefinedSupertype
17 var ALSSignatureDeclaration definedSupertype
18}
19
20class Logic2AlloyLanguageMapper_TypeMapper_InheritanceAndHorizontal implements Logic2AlloyLanguageMapper_TypeMapper{
21
22 override transformTypes(Collection<Type> types, Collection<DefinedElement> elements, Logic2AlloyLanguageMapper mapper, Logic2AlloyLanguageMapperTrace trace) {
23 throw new UnsupportedOperationException("TODO: auto-generated method stub")
24 }
25
26 private def boolean hasDefinedSupertype(Type type) {
27 if(type instanceof TypeDefinition) {
28 return true
29 } else {
30 if(type.supertypes.empty) return false
31 else return type.supertypes.exists[it.hasDefinedSupertype]
32 }
33 }
34
35 override transformTypeReference(Type referred, Logic2AlloyLanguageMapper mapper, Logic2AlloyLanguageMapperTrace trace) {
36 throw new UnsupportedOperationException("TODO: auto-generated method stub")
37 }
38
39 override getUndefinedSupertype(Logic2AlloyLanguageMapperTrace trace) {
40 throw new UnsupportedOperationException("TODO: auto-generated method stub")
41 }
42
43 override transformReference(DefinedElement referred, Logic2AlloyLanguageMapperTrace trace) {
44 throw new UnsupportedOperationException("TODO: auto-generated method stub")
45 }
46
47 override getUndefinedSupertypeScope(int undefinedScope, Logic2AlloyLanguageMapperTrace trace) {
48 throw new UnsupportedOperationException("TODO: auto-generated method stub")
49 }
50} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/unused/AlloyModelInterpretation.xtend_ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/unused/AlloyModelInterpretation.xtend_
new file mode 100644
index 00000000..05b97b0c
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/unused/AlloyModelInterpretation.xtend_
@@ -0,0 +1,212 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
2
3import edu.mit.csail.sdg.alloy4compiler.ast.ExprVar
4import edu.mit.csail.sdg.alloy4compiler.ast.Sig.Field
5import edu.mit.csail.sdg.alloy4compiler.translator.A4Solution
6import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicModelInterpretation
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
13import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
14import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
15import java.util.Arrays
16import java.util.HashMap
17import java.util.LinkedList
18import java.util.List
19import java.util.Map
20import java.util.Set
21
22import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
23
24class AlloyModelInterpretation implements LogicModelInterpretation{
25
26 protected val extension LogiclanguageFactory factory = LogiclanguageFactory.eINSTANCE
27 //protected val extension LogicProblemBuilder builder = new LogicProblemBuilder
28
29 protected val Logic2AlloyLanguageMapper forwardMapper
30 protected val Logic2AlloyLanguageMapperTrace forwardTrace;
31
32 private var ExprVar logicLanguage;
33 private var String logicBooleanTrue;
34 private var String logicBooleanFalse;
35
36 val Map<String,DefinedElement> alloyAtom2LogicElement = new HashMap
37 private val Map<TypeDeclaration, List<DefinedElement>> interpretationOfUndefinedType = new HashMap
38
39 private val Map<ConstantDeclaration, Object> constant2Value
40 private val Map<FunctionDeclaration, ? extends Map<ParameterSubstitution, Object>> function2Value
41 private val Map<RelationDeclaration, ? extends Set<ParameterSubstitution>> relation2Value
42
43 private val int minInt
44 private val int maxInt
45
46 public new (A4Solution solution, Logic2AlloyLanguageMapper forwardMapper, Logic2AlloyLanguageMapperTrace trace) {
47
48 this.forwardMapper = forwardMapper
49 this.forwardTrace = trace
50
51 //TMP sig maps to identify alloy signatures by their names
52 val Map<String,Type> sigName2LogicType =
53 forwardTrace.type2ALSType.keySet.toMap[x|forwardTrace.type2ALSType.get(x).name]
54 val Map<String,DefinedElement> elementNameNamel2DefinedElement =
55 forwardTrace.definedElement2Declaration.keySet.toMap[x|forwardTrace.definedElement2Declaration.get(x).name]
56
57 // Fill the interpretation map with empty lists
58 forwardTrace.type2ALSType.keySet.filter(TypeDeclaration).forEach[x|interpretationOfUndefinedType.put(x,new LinkedList)]
59
60 // exporing individuals
61 for(atom: solution.allAtoms) {
62 val typeName = getName(atom.type)
63 val atomName = atom.name
64 //println(atom.toString + " < - " + typeName)
65 if(typeName == forwardTrace.logicLanguage.name) {
66 this.logicLanguage = atom
67 } else if(typeName == "Int" || typeName == "seq/Int") {
68 // do nothing
69 } else if(sigName2LogicType.containsKey(typeName) && typeName.lookup(sigName2LogicType) instanceof TypeDefinition) {
70 val element = elementNameNamel2DefinedElement.get(atomName.head)
71 alloyAtom2LogicElement.put(atom.label,element)
72 } else if(sigName2LogicType.containsKey(typeName)) {
73 val type = sigName2LogicType.get(typeName)
74 val elementsOfType = interpretationOfUndefinedType.get(type)
75 val element = createDefinedElement => [
76 it.name += type.name
77 it.name += (elementsOfType.size+1).toString
78 ]
79 alloyAtom2LogicElement.put(atom.label,element)
80 elementsOfType+=element
81 } else if(forwardTrace.boolType != null && typeName == forwardTrace.boolType.name) {
82 if(atomName.head == forwardTrace.boolTrue.name) { this.logicBooleanTrue = atom.label }
83 else if(atomName.head == forwardTrace.boolFalse.name) { this.logicBooleanFalse = atom.label}
84 else throw new UnsupportedOperationException('''Unknown boolean value: «atom»''')
85 }
86 else throw new UnsupportedOperationException('''Unknown atom: «atom»''')
87 }
88
89 //TMP field maps
90 val Map<String, Field> name2AlloyField = new HashMap
91 // exploring signatures
92 for(sig:solution.allReachableSigs) {
93 for(field : sig.fields) {
94 name2AlloyField.put(field.label,field)
95 }
96 }
97
98 // eval consants
99 constant2Value = forwardTrace.constantDeclaration2LanguageField.mapValues[
100 solution.eval(it.name.lookup(name2AlloyField)).head.atom(1).atomLabel2Term
101 ]
102 // eval functions
103 val hostedfunction2Value = forwardTrace.functionDeclaration2HostedField.mapValues[ function |
104 newHashMap(
105 solution.eval(function.name.lookup(name2AlloyField))
106 .map[t | new ParameterSubstitution(#[t.atom(0).atomLabel2Term]) -> t.atom(1).atomLabel2Term])]
107
108 val globalfunction2Value = forwardTrace.functionDeclaration2LanguageField.keySet.toInvertedMap[ function |
109 val alsFunction = function.lookup(forwardTrace.functionDeclaration2LanguageField)
110 val paramIndexes = 1..(function.parameters.size)
111 return newHashMap(
112 solution.eval(alsFunction.name.lookup(name2AlloyField)).map[t |
113 new ParameterSubstitution(paramIndexes.map[t.atom(it).atomLabel2Term])
114 ->
115 t.atom(function.parameters.size + 1).atomLabel2Term
116 ])]
117 this.function2Value = Union(hostedfunction2Value,globalfunction2Value)
118 // eval relations
119 val hostedRelation2Value = forwardTrace.relationDeclaration2Field.mapValues[ relation |
120 solution.eval(relation.name.lookup(name2AlloyField)).map[ t |
121 new ParameterSubstitution(#[t.atom(0).atomLabel2Term,t.atom(1).atomLabel2Term])].toSet]
122 val globalRelation2Value = forwardTrace.relationDeclaration2Global.mapValues[ relation |
123 solution.eval(relation.name.lookup(name2AlloyField)).map[ t |
124 new ParameterSubstitution((1..<t.arity).map[int a|t.atom(a).atomLabel2Term])].toSet]
125 this.relation2Value = Union(hostedRelation2Value,globalRelation2Value)
126
127 //Int limits
128 this.minInt = solution.min
129 this.maxInt = solution.max
130
131 //print
132 }
133
134 def print() {
135 println('''Elements-----''')
136 interpretationOfUndefinedType.forEach[k,v|println('''«k.name» -> «v»''')]
137
138 println('''Constants-----''')
139 constant2Value.forEach[k, v|println('''«k.name» : «v»''')]
140 println('''Functions-----''')
141 function2Value.forEach[f,m|m.forEach[k,v| println('''«f.name» : «k» |-> «v»''')]]
142 println('''Relations-----''')
143 relation2Value.forEach[r,s|s.forEach[t | println('''«r.name»: («t»)''')]]
144 }
145
146 def private getName(edu.mit.csail.sdg.alloy4compiler.ast.Type type) {
147 val name = type.toString
148 if(name.startsWith("{this/") && name.endsWith("}")) {
149 return type.toString.replaceFirst("\\{this\\/","").replace("}","")
150 }
151 else throw new IllegalArgumentException('''Unknown type format: "«name»"!''')
152 }
153 def private getName(ExprVar atom) { atom.toString.split("\\$") }
154
155 override getElements(Type type) { getElementsDispatch(type) }
156 def private dispatch getElementsDispatch(TypeDeclaration declaration) { return declaration.lookup(this.interpretationOfUndefinedType) }
157 def private dispatch getElementsDispatch(TypeDefinition declaration) { return declaration.elements }
158
159 override getInterpretation(FunctionDeclaration function, Object[] parameterSubstitution) {
160 val transformedParams = new ParameterSubstitution(parameterSubstitution)
161 return transformedParams.lookup(
162 function.lookup(this.function2Value)
163 )
164 }
165
166 override getInterpretation(RelationDeclaration relation, Object[] parameterSubstitution) {
167 relation.lookup(this.relation2Value).contains(new ParameterSubstitution(parameterSubstitution))
168 }
169
170 override getInterpretation(ConstantDeclaration constant) {
171 constant.lookup(this.constant2Value)
172 }
173
174 override getMinimalInteger() { this.minInt }
175 override getMaximalInteger() { this.maxInt }
176
177 // Alloy term -> logic term
178 def private atomLabel2Term(String label) {
179 if(label.number) return Integer.parseInt(label)
180 else if(label == this.logicBooleanTrue) return true
181 else if(label == this.logicBooleanFalse) return false
182 else if(this.alloyAtom2LogicElement.containsKey(label)) return label.lookup(alloyAtom2LogicElement)
183 else throw new IllegalArgumentException('''Unknown atom label: "«label»"!''')
184 }
185 def isNumber(String s) {
186 try{
187 Integer.parseInt(s)
188 return true
189 }catch(NumberFormatException e) {
190 return false
191 }
192 }
193}
194
195class ParameterSubstitution{
196 val Object[] data;
197
198 new(Object[] data) { this.data = data }
199
200 override equals(Object obj) {
201 if(obj === this) return true
202 else if(obj == null) return false
203 if(obj instanceof ParameterSubstitution) {
204 return Arrays.equals(this.data,obj.data)
205 }
206 return false
207 }
208
209 override hashCode() {
210 Arrays.hashCode(data)
211 }
212} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/unused/FunctionWithTimeout.xtend_ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/unused/FunctionWithTimeout.xtend_
new file mode 100644
index 00000000..8c03af6e
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/unused/FunctionWithTimeout.xtend_
@@ -0,0 +1,40 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
2
3import org.eclipse.xtext.xbase.lib.Functions.Function0
4import java.util.concurrent.Executors
5import java.util.concurrent.Callable
6import java.util.concurrent.TimeUnit
7import java.util.concurrent.TimeoutException
8import java.util.concurrent.ExecutionException
9
10class FunctionWithTimeout<Type> {
11 val Function0<Type> function;
12
13 new(Function0<Type> function) {
14 this.function = function
15 }
16
17 def execute(long millisecs) {
18 if(millisecs>0) {
19 val executor = Executors.newCachedThreadPool();
20 val task = new Callable<Type>() {
21 override Type call() { function.apply }
22 };
23 val future = executor.submit(task);
24 try {
25 val result = future.get(millisecs, TimeUnit.MILLISECONDS);
26 return result
27 } catch (TimeoutException ex) {
28 // handle the timeout
29 } catch (InterruptedException e) {
30 // handle the interrupts
31 } catch (ExecutionException e) {
32 // handle other exceptions
33 } finally {
34 future.cancel(true); // may or may not desire this
35 }
36 return null
37 }
38 else return function.apply
39 }
40} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/unused/Logic2AlloyApiMapper.xtend_ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/unused/Logic2AlloyApiMapper.xtend_
new file mode 100644
index 00000000..29acd681
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/unused/Logic2AlloyApiMapper.xtend_
@@ -0,0 +1,345 @@
1package hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder
2
3import java.util.Map
4import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
6import java.util.List
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolTypeReference
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntTypeReference
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealTypeReference
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
11import edu.mit.csail.sdg.alloy4compiler.ast.ExprConstant
12import edu.mit.csail.sdg.alloy4compiler.ast.Expr
13import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion
14import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolLiteral
15import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral
16import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
17import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Not
18import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.And
19import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Or
20import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl
21import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff
22import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan
23import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan
24import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan
25import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan
26import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals
27import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Plus
28import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Minus
29import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Multiply
30import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Divison
31import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Mod
32import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Forall
33import java.util.HashMap
34import edu.mit.csail.sdg.alloy4compiler.ast.Decl
35import java.util.ArrayList
36import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Exists
37import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral
38import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
39import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
40import edu.mit.csail.sdg.alloy4compiler.ast.Attr
41import edu.mit.csail.sdg.alloy4compiler.ast.Sig.PrimSig
42import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
43import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
44import javax.naming.OperationNotSupportedException
45import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue
46import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant
47import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.alloylanguage.AlloySpecification
48import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.alloylanguage.Multiplicity
49import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.alloylanguage.InverseReference
50import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
51import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
52
53class AlloyInput{
54 public val List<PrimSig> typeDeclarations=new ArrayList
55 public val List<Expr> functionDeclarations=new ArrayList
56 public val List<Expr> assertions=new ArrayList
57 public val List<Expr> multiplicityConstraints=new ArrayList
58 public val List<Expr> inverseConstraints=new ArrayList
59}
60
61class Logic2AlloyApiMapperTrace {
62 val Map<Type, PrimSig> typeMap
63 val Map<DefinedElement, PrimSig> elementMap
64 //val Map<Function, SMTFunctionDeclaration> functionMap
65 val Map<Relation,Expr> relationMap
66 //val Map<Constant,SMTFunctionDeclaration> constantMap
67
68 new () {
69 this.typeMap = new HashMap
70 this.elementMap = new HashMap
71 //this.functionMap = new HashMap
72 this.relationMap = new HashMap
73 //this.constantMap = new HashMap
74 }
75 new (Map<Type, PrimSig> typeMap,
76 Map<DefinedElement, PrimSig> elementMap,
77 //Map<Function, SMTFunctionDeclaration> functionMap,
78 Map<Relation,Expr> relationMap/*,
79 Map<Constant,SMTFunctionDeclaration> constantMap*/)
80 {
81 this.typeMap = typeMap
82 this.elementMap = elementMap
83 //this.functionMap = functionMap
84 this.relationMap = relationMap
85 //this.constantMap = constantMap
86 }
87
88 def types() { typeMap }
89 def elements() { elementMap }
90 //def functions() { functionMap }
91 def relations() { relationMap }
92 //def constants() { constantMap }
93}
94
95class Logic2AlloyApiMapper{
96 //TODO output
97 public def TracedOutput<List<PrimSig>, Logic2AlloyApiMapperTrace> transformProblem(LogicProblem problem) {
98 val documentInput = new AlloyInput()
99 //createSMTInput => [satCommand = createSMTSimpleSatCommand getModelCommand = createSMTGetModelCommand]
100 //val document = createSMTDocument => [input = documentInput]
101 val List<PrimSig> document=new ArrayList
102 val trace = new Logic2AlloyApiMapperTrace
103
104 // Trafo
105 documentInput.typeDeclarations += problem.types.map[transformType(trace)]
106 //documentInput.functionDeclarations += problem.functions.map[transformFunction(trace)]
107 documentInput.functionDeclarations += problem.relations.map[transformRelation(trace)]
108 //documentInput.functionDeclarations += problem.constants.map[transformConstant(trace)]
109 documentInput.assertions += problem.assertions.map[transformAssertion(trace)]
110
111
112 val alloySpecification = problem.specifications.filter(AlloySpecification).head
113
114 for(mult: alloySpecification.multiplicities){
115 if(mult.min>0){
116 documentInput.multiplicityConstraints+=mult.transformMultiplicityLowerBound(trace)
117 }
118 if(mult.max!=-1){
119 documentInput.multiplicityConstraints+=mult.transformMultiplicityUpperBound(trace)
120 }
121 }
122
123 for(inv: alloySpecification.inverses){
124 documentInput.inverseConstraints += inv.transformInverse(trace)
125 }
126 // End trafo
127
128 return new TracedOutput(document,trace)
129 }
130
131 def Expr transformMultiplicityLowerBound(Multiplicity multiplicity, Logic2AlloyApiMapperTrace trace){
132
133 val Decl forallVariable=(trace.relations.get(multiplicity.multiplicityOf)).oneOf("o") as Decl
134 return (forallVariable.get.cardinality.gte(ExprConstant.makeNUMBER(multiplicity.min))).forAll(forallVariable)
135
136 }
137
138 def Expr transformMultiplicityUpperBound(Multiplicity multiplicity, Logic2AlloyApiMapperTrace trace){
139
140 val Decl forallVariable=(trace.relations.get(multiplicity.multiplicityOf)).oneOf("o") as Decl
141 return (forallVariable.get.cardinality.lte(ExprConstant.makeNUMBER(multiplicity.max))).forAll(forallVariable)
142
143 }
144
145 def Expr transformInverse(InverseReference inverse, Logic2AlloyApiMapperTrace trace){
146 return trace.relations.get(inverse.inverseOf.get(0)).equal(trace.relations.get(inverse.inverseOf.get(1)).transpose)
147 }
148
149 private def toID(List<String> names) {names.join("!") }
150
151 def dispatch protected transformType(TypeDefinition declaration, Logic2AlloyApiMapperTrace trace) {
152 val result = new PrimSig(declaration.name.toID, Attr.ABSTRACT)
153 trace.types.put(declaration,result)
154 return result
155 }
156
157 def protected transformDefinedElement(TypeDefinition enumType, DefinedElement element, Logic2AlloyApiMapperTrace trace) {
158 val result=new PrimSig(element.name.toID, trace.types.get(enumType), Attr.ONE)
159 trace.elements.put(element,result)
160 return result
161 }
162
163 def dispatch protected transformType(TypeDeclaration declaration, Logic2AlloyApiMapperTrace trace) {
164 //TODO �r�kles, absztrakt
165 val result = new PrimSig(declaration.name.toID)
166 trace.types.put(declaration,result)
167 return result
168 }
169
170 def dispatch protected transformTypeReference(BoolTypeReference boolTypeReference, Logic2AlloyApiMapperTrace trace) {
171 throw new UnsupportedOperationException("BoolTypeReference is not supported.")
172 }
173 def dispatch protected transformTypeReference(IntTypeReference intTypeReference, Logic2AlloyApiMapperTrace trace) {
174 return PrimSig.SIGINT
175 }
176 def dispatch protected transformTypeReference(RealTypeReference realTypeReference, Logic2AlloyApiMapperTrace trace) {
177 throw new UnsupportedOperationException("RealTypeReference is not supported.")
178 }
179 def dispatch protected PrimSig transformTypeReference(ComplexTypeReference complexTypeReference, Logic2AlloyApiMapperTrace trace) {
180 return trace.types.get(complexTypeReference.referred)
181 }
182
183 /*def protected transformFunction(Function declaration, Logic2AlloyApiMapperTrace trace) {
184 val functionDeclaration = createSMTFunctionDeclaration => [
185 name = declaration.name.toID
186 range = declaration.range.transformTypeReference(trace)
187 parameters+= declaration.parameters.map[transformTypeReference(trace)]
188 ]
189 trace.functions.put(declaration,functionDeclaration)
190 return functionDeclaration
191 }*/
192
193 def transformRelation(Relation relation, Logic2AlloyApiMapperTrace trace) {
194 if(relation.parameters.size==2){
195 trace.relations.put(relation,(relation.parameters.get(0).transformTypeReference(trace) as PrimSig).addField(relation.name.toID, (relation.parameters.get(1).transformTypeReference(trace) as PrimSig).setOf))
196 } else{
197 throw new OperationNotSupportedException("More parameters are not supported.")
198 }
199 }
200
201 /*def transformConstant(Constant constant, Logic2AlloyApiMapperTrace trace) {
202 val smtConstant = createSMTFunctionDeclaration => [
203 name = constant.name.toID
204 range = transformTypeReference(constant.type, trace)
205 ]
206 trace.constants.put(constant,smtConstant)
207 return smtConstant
208 }*/
209
210 def protected Expr transformAssertion(Assertion assertion, Logic2AlloyApiMapperTrace trace) {
211
212 return assertion.value.transformTerm(trace,emptyMap)
213 }
214
215 def dispatch protected Expr transformTerm(BoolLiteral literal, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
216 throw new UnsupportedOperationException("Bool is not supported")
217 //open util/boolean, autoPay: Bool
218 //https://code.google.com/p/valloy2009/source/browse/trunk/src/models/util/boolean.als?r=142
219 }
220 def dispatch protected Expr transformTerm(IntLiteral literal, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
221 return ExprConstant.makeNUMBER(literal.value)
222 }
223 def dispatch protected Expr transformTerm(RealLiteral literal, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
224 throw new UnsupportedOperationException("Real number is not supported")
225 }
226 def dispatch protected Expr transformTerm(Not not, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
227 return not.operand.transformTerm(trace,variables).not}
228 def dispatch protected Expr transformTerm(And and, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
229 val List<Expr> operands= and.operands.map[transformTerm(trace,variables)]
230 var andTerm=operands.get(0)
231 for(Integer i: 1..(operands.size-1)){
232 andTerm=andTerm.and(operands.get(i))
233 }
234 return andTerm
235 }
236 def dispatch protected Expr transformTerm(Or or, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
237 val List<Expr> operands= or.operands.map[transformTerm(trace,variables)]
238 var orTerm=operands.get(0)
239 for(Integer i: 1..(operands.size-1)){
240 orTerm=orTerm.or(operands.get(i))
241 }
242 return orTerm
243 }
244 def dispatch protected Expr transformTerm(Impl impl, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
245 return impl.leftOperand.transformTerm(trace,variables).implies(impl.rightOperand.transformTerm(trace,variables))
246 }
247 def dispatch protected Expr transformTerm(Iff ifExpression, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
248 return ifExpression.leftOperand.transformTerm(trace,variables).iff(ifExpression.rightOperand.transformTerm(trace,variables))
249 }
250 def dispatch protected Expr transformTerm(MoreThan moreThan, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
251 return moreThan.leftOperand.transformTerm(trace,variables).gt(moreThan.rightOperand.transformTerm(trace,variables))
252 }
253 def dispatch protected Expr transformTerm(LessThan lessThan, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
254 return lessThan.leftOperand.transformTerm(trace,variables).lt(lessThan.rightOperand.transformTerm(trace,variables))
255 }
256 def dispatch protected Expr transformTerm(MoreOrEqualThan moreThan, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
257 return moreThan.leftOperand.transformTerm(trace,variables).gte(moreThan.rightOperand.transformTerm(trace,variables))
258 }
259 def dispatch protected Expr transformTerm(LessOrEqualThan lessThan, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
260 return lessThan.leftOperand.transformTerm(trace,variables).lte(lessThan.rightOperand.transformTerm(trace,variables))
261 }
262 def dispatch protected Expr transformTerm(Equals equals, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
263 return equals.leftOperand.transformTerm(trace,variables).equal(equals.rightOperand.transformTerm(trace,variables))
264 }
265 /*def dispatch protected Expr transformTerm(Distinct distinct, Logic2AlloyApiMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
266 createSMTDistinct => [ operands += distinct.operands.map[transformTerm(trace,variables)]]}*/
267 def dispatch protected Expr transformTerm(Plus plus, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
268 return plus.leftOperand.transformTerm(trace,variables).plus(plus.rightOperand.transformTerm(trace,variables))
269 }
270 def dispatch protected Expr transformTerm(Minus minus, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
271 return minus.leftOperand.transformTerm(trace,variables).minus(minus.rightOperand.transformTerm(trace,variables))
272 }
273 def dispatch protected Expr transformTerm(Multiply multiply, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
274 return multiply.leftOperand.transformTerm(trace,variables).mul(multiply.rightOperand.transformTerm(trace,variables))
275 }
276 def dispatch protected Expr transformTerm(Divison div, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
277 return div.leftOperand.transformTerm(trace,variables).div(div.rightOperand.transformTerm(trace,variables))
278 }
279 def dispatch protected Expr transformTerm(Mod mod, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
280 throw new UnsupportedOperationException("Modulo is not supported.")
281 }
282 def dispatch protected Expr transformTerm(Forall forall, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
283 return configureForall(forall,trace,variables)
284 }
285 def dispatch protected Expr transformTerm(Exists exists, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
286 return configureExists(exists,trace,variables)
287 }
288 def dispatch protected Expr transformTerm(SymbolicValue symbolicValue, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
289 symbolicValue.symbolicReference.transformSymbolicReference(symbolicValue.parameterSubstitutions,trace,variables) }
290
291 def private configureForall(
292 Forall quantifiedExpression,
293 Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables)
294 {
295 val allVariables = new HashMap(variables)
296 val newAlloyVariables = new ArrayList<Decl>(quantifiedExpression.quantifiedVariables.size)
297
298 for(logicVariable: quantifiedExpression.quantifiedVariables) {
299 val newAlloyVariable = (logicVariable.range.transformTypeReference(trace)).oneOf(logicVariable.name.toID) as Decl
300 allVariables.put(logicVariable, newAlloyVariable)
301 newAlloyVariables += newAlloyVariable
302 }
303 val variable0=newAlloyVariables.get(0)
304 newAlloyVariables.remove(0)
305 return (quantifiedExpression.expression.transformTerm(trace,allVariables)).forAll(variable0, newAlloyVariables)
306 }
307
308 def private configureExists(
309 Exists quantifiedExpression,
310 Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables)
311 {
312 val allVariables = new HashMap(variables)
313 val newAlloyVariables = new ArrayList<Decl>(quantifiedExpression.quantifiedVariables.size)
314
315 for(logicVariable: quantifiedExpression.quantifiedVariables) {
316 val newAlloyVariable = (logicVariable.range.transformTypeReference(trace)).oneOf(logicVariable.name.toID) as Decl
317 allVariables.put(logicVariable, newAlloyVariable)
318 newAlloyVariables += newAlloyVariable
319 }
320 val variable0=newAlloyVariables.get(0)
321 newAlloyVariables.remove(0)
322 return (quantifiedExpression.expression.transformTerm(trace,allVariables)).forSome(variable0, newAlloyVariables)
323 }
324
325 def dispatch protected Expr transformSymbolicReference(DefinedElement referred, List<Term> parameterSubstitutions, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
326 return trace.elements.get(referred)
327 }
328 def dispatch protected Expr transformSymbolicReference(Variable variable, List<Term> parameterSubstitutions, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
329 return variables.get(variable).get
330 }
331 /*def dispatch protected Expr transformSymbolicReference(Function function, List<Term> parameterSubstitutions, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
332 val result = createSMTSymbolicValue => [sv | sv.symbolicReference = trace.functions.get(function)]
333 for(paramSubstitution : parameterSubstitutions) {
334 result.parameterSubstitutions.add(paramSubstitution.transformTerm(trace,variables))
335 }
336 return result
337 }*/
338 def dispatch protected Expr transformSymbolicReference(Relation relation, List<Term> parameterSubstitutions, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
339 return trace.relations.get(relation)
340 }
341 def dispatch protected Expr transformSymbolicReference(Constant constant, List<Term> parameterSubstitutions, Logic2AlloyApiMapperTrace trace, Map<Variable, Decl> variables) {
342 //createSMTSymbolicValue => [symbolicReference = trace.constants.get(constant)]
343 throw new UnsupportedOperationException("Constant is not supported")
344 }
345} \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/unused/oldTypes b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/unused/oldTypes
new file mode 100644
index 00000000..5e349ac8
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/unused/oldTypes
@@ -0,0 +1,74 @@
1/*def dispatch boolean hasDeclaredElement(TypeDefinition type) { return false; }
2 def dispatch boolean hasDeclaredElement(TypeDeclaration type) {
3 if(type.isAbstract) {
4 type.subtypes.exists[it.hasDeclaredElement]
5 } else return true;
6 }
7
8 def dispatch List<TypeDefinition> allEnumSubtypes(TypeDefinition type) { return #[type] }
9 def dispatch List<TypeDefinition> allEnumSubtypes(TypeDeclaration type) {
10 return type.subtypes.map[it.allEnumSubtypes].flatten.toList
11 }
12
13 def protected transformTypes(List<Type> types, Logic2AlloyLanguageMapperTrace trace) {
14 val Map<TypeDeclaration,ALSSignatureDeclaration> signatureTrace = new HashMap;
15
16 // Creating the root type
17 val objectType = createALSSignatureDeclaration => [ name=#["util","object"].toID it.abstract = true ]
18 trace.objectSupperClass = objectType
19 trace.specification.typeDeclarations += objectType
20
21 // Creating the images of the types
22 for(type : types) {
23 if(type instanceof TypeDefinition) {
24 if(type.elements.empty) {
25 trace.type2ALSType.put(type,#[]);
26 } else {
27 val e = createALSEnumDeclaration => [
28 it.name = type.name.toID
29 it.literal += type.elements.map[transformDefinedElement(trace)]
30 ]
31 trace.type2ALSType.put(type,#[e])
32 trace.specification.typeDeclarations += e
33 }
34 }
35 else if(type instanceof TypeDeclaration) {
36 if(hasDeclaredElement(type)) {
37 val s = createALSSignatureDeclaration => [
38 name=type.name.toID
39 it.abstract = type.isIsAbstract
40 ]
41 trace.type2ALSType.put(type,new LinkedList=>[add(s)])
42 signatureTrace.put(type, s)
43 trace.specification.typeDeclarations += s
44 }
45 else {
46 signatureTrace.put(type, null)
47 trace.type2ALSType.put(type,new LinkedList);// empty
48 }
49 }
50 else throw new IllegalArgumentException('''Unknown type «type.class.name»''')
51 }
52
53
54 for(type: types.filter(TypeDeclaration)) {
55 // Adding inheritance
56 val s = type.lookup(signatureTrace)
57 if(s!=null) {
58 for(supertype : type.supertypes) {
59 s.supertype += (supertype as TypeDeclaration).lookup(signatureTrace)
60 }
61 if(type.supertypes.empty) {
62 s.supertype += objectType
63 }
64 }
65 // Adding enum subtypes
66 type.lookup(trace.type2ALSType)+=type.allEnumSubtypes.map[it.lookup(trace.type2ALSType)].flatten
67 }
68 }
69
70 def protected transformDefinedElement(DefinedElement element, Logic2AlloyLanguageMapperTrace trace) {
71 val result = createALSEnumLiteral => [name = element.name.toID]
72 trace.definedElement2EnumProperty.put(element,result)
73 return result
74 }*/ \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.classpath b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.classpath
new file mode 100644
index 00000000..f5ffadb8
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.classpath
@@ -0,0 +1,9 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="src"/>
4 <classpathentry kind="src" path="src-gen"/>
5 <classpathentry kind="src" path="xtend-gen"/>
6 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
7 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
8 <classpathentry kind="output" path="bin"/>
9</classpath>
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.gitignore b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.gitignore
new file mode 100644
index 00000000..8ae4e44d
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.gitignore
@@ -0,0 +1,4 @@
1/bin/
2/src-gen/
3/vql-gen/
4/xtend-gen/
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.project b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.project
new file mode 100644
index 00000000..25768d12
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.alloy.language.ui</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.jdt.core.javabuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.pde.ManifestBuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.SchemaBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.jdt.core.javanature</nature>
31 <nature>org.eclipse.pde.PluginNature</nature>
32 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.settings/org.eclipse.core.resources.prefs b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..4824b802
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
1eclipse.preferences.version=1
2encoding/<project>=UTF-8
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.settings/org.eclipse.jdt.core.prefs b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..11f6e462
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
4org.eclipse.jdt.core.compiler.compliance=1.7
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.7
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/META-INF/MANIFEST.MF b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..a6ff6ade
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,27 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: hu.bme.mit.inf.dslreasoner.alloy.language.ui
4Bundle-Vendor: My Company
5Bundle-Version: 1.0.0.qualifier
6Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.alloy.language.ui; singleton:=true
7Bundle-ActivationPolicy: lazy
8Require-Bundle: hu.bme.mit.inf.dslreasoner.alloy.language;visibility:=reexport,
9 org.eclipse.xtext.ui,
10 org.eclipse.ui.editors;bundle-version="3.5.0",
11 org.eclipse.ui.ide;bundle-version="3.5.0",
12 org.eclipse.xtext.ui.shared,
13 org.eclipse.ui,
14 org.eclipse.xtext.builder,
15 org.eclipse.xtext.xbase.lib,
16 org.antlr.runtime,
17 org.eclipse.xtext.common.types.ui,
18 org.eclipse.xtext.ui.codetemplates.ui,
19 org.eclipse.compare
20Import-Package: org.apache.log4j
21Bundle-RequiredExecutionEnvironment: JavaSE-1.7
22Export-Package: hu.bme.mit.inf.dslreasoner.ui.quickfix,
23 hu.bme.mit.inf.dslreasoner.ui.contentassist,
24 hu.bme.mit.inf.dslreasoner.ui.contentassist.antlr,
25 hu.bme.mit.inf.dslreasoner.ui.internal,
26 hu.bme.mit.inf.dslreasoner.ui.contentassist.antlr.internal
27Bundle-Activator: hu.bme.mit.inf.dslreasoner.ui.internal.AlloyLanguageActivator
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/build.properties b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/build.properties
new file mode 100644
index 00000000..31255ed0
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/build.properties
@@ -0,0 +1,6 @@
1source.. = src/,\
2 src-gen/,\
3 xtend-gen/
4bin.includes = META-INF/,\
5 .,\
6 plugin.xml \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/plugin.xml b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/plugin.xml
new file mode 100644
index 00000000..962a70ce
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/plugin.xml
@@ -0,0 +1,398 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3
4<plugin>
5
6 <extension
7 point="org.eclipse.ui.editors">
8 <editor
9 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
10 contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
11 default="true"
12 extensions="als"
13 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
14 name="AlloyLanguage Editor">
15 </editor>
16 </extension>
17 <extension
18 point="org.eclipse.ui.handlers">
19 <handler
20 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
21 commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
22 <activeWhen>
23 <reference
24 definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
25 </reference>
26 </activeWhen>
27 </handler>
28 <handler
29 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
30 commandId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.validate">
31 <activeWhen>
32 <reference
33 definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
34 </reference>
35 </activeWhen>
36 </handler>
37 <!-- copy qualified name -->
38 <handler
39 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
40 commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
41 <activeWhen>
42 <reference definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened" />
43 </activeWhen>
44 </handler>
45 <handler
46 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
47 commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
48 <activeWhen>
49 <and>
50 <reference definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.XtextEditor.opened" />
51 <iterate>
52 <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
53 </iterate>
54 </and>
55 </activeWhen>
56 </handler>
57 </extension>
58 <extension point="org.eclipse.core.expressions.definitions">
59 <definition id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
60 <and>
61 <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
62 <with variable="activeEditor">
63 <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
64 value="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
65 forcePluginActivation="true"/>
66 </with>
67 </and>
68 </definition>
69 <definition id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.XtextEditor.opened">
70 <and>
71 <reference definitionId="isXtextEditorActive"/>
72 <with variable="activeEditor">
73 <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
74 value="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
75 forcePluginActivation="true"/>
76 </with>
77 </and>
78 </definition>
79 </extension>
80 <extension
81 point="org.eclipse.ui.preferencePages">
82 <page
83 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
84 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
85 name="AlloyLanguage">
86 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_AlloyLanguage"/>
87 </page>
88 <page
89 category="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
90 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
91 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.coloring"
92 name="Syntax Coloring">
93 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_AlloyLanguage"/>
94 </page>
95 <page
96 category="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
97 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
98 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.templates"
99 name="Templates">
100 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_AlloyLanguage"/>
101 </page>
102 </extension>
103 <extension
104 point="org.eclipse.ui.propertyPages">
105 <page
106 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
107 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
108 name="AlloyLanguage">
109 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_AlloyLanguage"/>
110 <enabledWhen>
111 <adapt type="org.eclipse.core.resources.IProject"/>
112 </enabledWhen>
113 <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
114 </page>
115 </extension>
116 <extension
117 point="org.eclipse.ui.keywords">
118 <keyword
119 id="hu.bme.mit.inf.dslreasoner.ui.keyword_AlloyLanguage"
120 label="AlloyLanguage"/>
121 </extension>
122 <extension
123 point="org.eclipse.ui.commands">
124 <command
125 description="Trigger expensive validation"
126 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.validate"
127 name="Validate">
128 </command>
129 <!-- copy qualified name -->
130 <command
131 id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
132 categoryId="org.eclipse.ui.category.edit"
133 description="Copy the qualified name for the selected element"
134 name="Copy Qualified Name">
135 </command>
136 <command
137 id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
138 categoryId="org.eclipse.ui.category.edit"
139 description="Copy the qualified name for the selected element"
140 name="Copy Qualified Name">
141 </command>
142 </extension>
143 <extension point="org.eclipse.ui.menus">
144 <menuContribution
145 locationURI="popup:#TextEditorContext?after=group.edit">
146 <command
147 commandId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.validate"
148 style="push"
149 tooltip="Trigger expensive validation">
150 <visibleWhen checkEnabled="false">
151 <reference
152 definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
153 </reference>
154 </visibleWhen>
155 </command>
156 </menuContribution>
157 <!-- copy qualified name -->
158 <menuContribution locationURI="popup:#TextEditorContext?after=copy">
159 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
160 style="push" tooltip="Copy Qualified Name">
161 <visibleWhen checkEnabled="false">
162 <reference definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened" />
163 </visibleWhen>
164 </command>
165 </menuContribution>
166 <menuContribution locationURI="menu:edit?after=copy">
167 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
168 style="push" tooltip="Copy Qualified Name">
169 <visibleWhen checkEnabled="false">
170 <reference definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened" />
171 </visibleWhen>
172 </command>
173 </menuContribution>
174 <menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
175 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
176 style="push" tooltip="Copy Qualified Name">
177 <visibleWhen checkEnabled="false">
178 <and>
179 <reference definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.XtextEditor.opened" />
180 <iterate>
181 <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
182 </iterate>
183 </and>
184 </visibleWhen>
185 </command>
186 </menuContribution>
187 </extension>
188 <extension point="org.eclipse.ui.menus">
189 <menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
190 <command commandId="org.eclipse.xtext.ui.editor.FindReferences">
191 <visibleWhen checkEnabled="false">
192 <reference definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
193 </reference>
194 </visibleWhen>
195 </command>
196 </menuContribution>
197 </extension>
198 <extension point="org.eclipse.ui.handlers">
199 <handler
200 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
201 commandId="org.eclipse.xtext.ui.editor.FindReferences">
202 <activeWhen>
203 <reference
204 definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
205 </reference>
206 </activeWhen>
207 </handler>
208 </extension>
209
210<!-- adding resource factories -->
211
212 <extension
213 point="org.eclipse.emf.ecore.extension_parser">
214 <parser
215 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
216 type="als">
217 </parser>
218 </extension>
219 <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
220 <resourceServiceProvider
221 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
222 uriExtension="als">
223 </resourceServiceProvider>
224 </extension>
225
226
227 <!-- marker definitions for hu.bme.mit.inf.dslreasoner.AlloyLanguage -->
228 <extension
229 id="alloylanguage.check.fast"
230 name="AlloyLanguage Problem"
231 point="org.eclipse.core.resources.markers">
232 <super type="org.eclipse.xtext.ui.check.fast"/>
233 <persistent value="true"/>
234 </extension>
235 <extension
236 id="alloylanguage.check.normal"
237 name="AlloyLanguage Problem"
238 point="org.eclipse.core.resources.markers">
239 <super type="org.eclipse.xtext.ui.check.normal"/>
240 <persistent value="true"/>
241 </extension>
242 <extension
243 id="alloylanguage.check.expensive"
244 name="AlloyLanguage Problem"
245 point="org.eclipse.core.resources.markers">
246 <super type="org.eclipse.xtext.ui.check.expensive"/>
247 <persistent value="true"/>
248 </extension>
249
250 <extension
251 point="org.eclipse.xtext.builder.participant">
252 <participant
253 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
254 fileExtensions="als"
255 >
256 </participant>
257 </extension>
258 <extension
259 point="org.eclipse.ui.preferencePages">
260 <page
261 category="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
262 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
263 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.compiler.preferencePage"
264 name="Compiler">
265 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_AlloyLanguage"/>
266 </page>
267 </extension>
268 <extension
269 point="org.eclipse.ui.propertyPages">
270 <page
271 category="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
272 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
273 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.compiler.propertyPage"
274 name="Compiler">
275 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_AlloyLanguage"/>
276 <enabledWhen>
277 <adapt type="org.eclipse.core.resources.IProject"/>
278 </enabledWhen>
279 <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
280 </page>
281 </extension>
282
283 <!-- Quick Outline -->
284 <extension
285 point="org.eclipse.ui.handlers">
286 <handler
287 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
288 commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
289 <activeWhen>
290 <reference
291 definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
292 </reference>
293 </activeWhen>
294 </handler>
295 </extension>
296 <extension
297 point="org.eclipse.ui.commands">
298 <command
299 description="Open the quick outline."
300 id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
301 name="Quick Outline">
302 </command>
303 </extension>
304 <extension point="org.eclipse.ui.menus">
305 <menuContribution
306 locationURI="popup:#TextEditorContext?after=group.open">
307 <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
308 style="push"
309 tooltip="Open Quick Outline">
310 <visibleWhen checkEnabled="false">
311 <reference definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened"/>
312 </visibleWhen>
313 </command>
314 </menuContribution>
315 </extension>
316 <!-- quickfix marker resolution generator for hu.bme.mit.inf.dslreasoner.AlloyLanguage -->
317 <extension
318 point="org.eclipse.ui.ide.markerResolution">
319 <markerResolutionGenerator
320 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
321 markerType="hu.bme.mit.inf.dslreasoner.ui.alloylanguage.check.fast">
322 <attribute
323 name="FIXABLE_KEY"
324 value="true">
325 </attribute>
326 </markerResolutionGenerator>
327 <markerResolutionGenerator
328 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
329 markerType="hu.bme.mit.inf.dslreasoner.ui.alloylanguage.check.normal">
330 <attribute
331 name="FIXABLE_KEY"
332 value="true">
333 </attribute>
334 </markerResolutionGenerator>
335 <markerResolutionGenerator
336 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
337 markerType="hu.bme.mit.inf.dslreasoner.ui.alloylanguage.check.expensive">
338 <attribute
339 name="FIXABLE_KEY"
340 value="true">
341 </attribute>
342 </markerResolutionGenerator>
343 </extension>
344 <!-- Rename Refactoring -->
345 <extension point="org.eclipse.ui.handlers">
346 <handler
347 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
348 commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
349 <activeWhen>
350 <reference
351 definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
352 </reference>
353 </activeWhen>
354 </handler>
355 </extension>
356 <extension point="org.eclipse.ui.menus">
357 <menuContribution
358 locationURI="popup:#TextEditorContext?after=group.edit">
359 <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
360 style="push">
361 <visibleWhen checkEnabled="false">
362 <reference
363 definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
364 </reference>
365 </visibleWhen>
366 </command>
367 </menuContribution>
368 </extension>
369 <extension point="org.eclipse.ui.preferencePages">
370 <page
371 category="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
372 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
373 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.refactoring"
374 name="Refactoring">
375 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_AlloyLanguage"/>
376 </page>
377 </extension>
378
379 <extension point="org.eclipse.compare.contentViewers">
380 <viewer id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.compare.contentViewers"
381 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
382 extensions="als">
383 </viewer>
384 </extension>
385 <extension point="org.eclipse.compare.contentMergeViewers">
386 <viewer id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.compare.contentMergeViewers"
387 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
388 extensions="als" label="AlloyLanguage Compare">
389 </viewer>
390 </extension>
391 <extension point="org.eclipse.ui.editors.documentProviders">
392 <provider id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.editors.documentProviders"
393 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
394 extensions="als">
395 </provider>
396 </extension>
397
398</plugin>
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/plugin.xml_gen b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/plugin.xml_gen
new file mode 100644
index 00000000..634f234b
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/plugin.xml_gen
@@ -0,0 +1,425 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3
4<plugin>
5
6 <extension
7 point="org.eclipse.ui.editors">
8 <editor
9 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
10 contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
11 default="true"
12 extensions="als"
13 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
14 name="AlloyLanguage Editor">
15 </editor>
16 </extension>
17 <extension
18 point="org.eclipse.ui.handlers">
19 <handler
20 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
21 commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
22 <activeWhen>
23 <reference
24 definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
25 </reference>
26 </activeWhen>
27 </handler>
28 <handler
29 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
30 commandId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.validate">
31 <activeWhen>
32 <reference
33 definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
34 </reference>
35 </activeWhen>
36 </handler>
37 <!-- copy qualified name -->
38 <handler
39 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
40 commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
41 <activeWhen>
42 <reference definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened" />
43 </activeWhen>
44 </handler>
45 <handler
46 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
47 commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
48 <activeWhen>
49 <and>
50 <reference definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.XtextEditor.opened" />
51 <iterate>
52 <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
53 </iterate>
54 </and>
55 </activeWhen>
56 </handler>
57 </extension>
58 <extension point="org.eclipse.core.expressions.definitions">
59 <definition id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
60 <and>
61 <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
62 <with variable="activeEditor">
63 <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
64 value="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
65 forcePluginActivation="true"/>
66 </with>
67 </and>
68 </definition>
69 <definition id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.XtextEditor.opened">
70 <and>
71 <reference definitionId="isXtextEditorActive"/>
72 <with variable="activeEditor">
73 <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
74 value="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
75 forcePluginActivation="true"/>
76 </with>
77 </and>
78 </definition>
79 </extension>
80 <extension
81 point="org.eclipse.ui.preferencePages">
82 <page
83 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
84 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
85 name="AlloyLanguage">
86 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_AlloyLanguage"/>
87 </page>
88 <page
89 category="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
90 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
91 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.coloring"
92 name="Syntax Coloring">
93 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_AlloyLanguage"/>
94 </page>
95 <page
96 category="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
97 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
98 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.templates"
99 name="Templates">
100 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_AlloyLanguage"/>
101 </page>
102 </extension>
103 <extension
104 point="org.eclipse.ui.propertyPages">
105 <page
106 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
107 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
108 name="AlloyLanguage">
109 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_AlloyLanguage"/>
110 <enabledWhen>
111 <adapt type="org.eclipse.core.resources.IProject"/>
112 </enabledWhen>
113 <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
114 </page>
115 </extension>
116 <extension
117 point="org.eclipse.ui.keywords">
118 <keyword
119 id="hu.bme.mit.inf.dslreasoner.ui.keyword_AlloyLanguage"
120 label="AlloyLanguage"/>
121 </extension>
122 <extension
123 point="org.eclipse.ui.commands">
124 <command
125 description="Trigger expensive validation"
126 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.validate"
127 name="Validate">
128 </command>
129 <!-- copy qualified name -->
130 <command
131 id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
132 categoryId="org.eclipse.ui.category.edit"
133 description="Copy the qualified name for the selected element"
134 name="Copy Qualified Name">
135 </command>
136 <command
137 id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
138 categoryId="org.eclipse.ui.category.edit"
139 description="Copy the qualified name for the selected element"
140 name="Copy Qualified Name">
141 </command>
142 </extension>
143 <extension point="org.eclipse.ui.menus">
144 <menuContribution
145 locationURI="popup:#TextEditorContext?after=group.edit">
146 <command
147 commandId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.validate"
148 style="push"
149 tooltip="Trigger expensive validation">
150 <visibleWhen checkEnabled="false">
151 <reference
152 definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
153 </reference>
154 </visibleWhen>
155 </command>
156 </menuContribution>
157 <!-- copy qualified name -->
158 <menuContribution locationURI="popup:#TextEditorContext?after=copy">
159 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
160 style="push" tooltip="Copy Qualified Name">
161 <visibleWhen checkEnabled="false">
162 <reference definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened" />
163 </visibleWhen>
164 </command>
165 </menuContribution>
166 <menuContribution locationURI="menu:edit?after=copy">
167 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
168 style="push" tooltip="Copy Qualified Name">
169 <visibleWhen checkEnabled="false">
170 <reference definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened" />
171 </visibleWhen>
172 </command>
173 </menuContribution>
174 <menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
175 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
176 style="push" tooltip="Copy Qualified Name">
177 <visibleWhen checkEnabled="false">
178 <and>
179 <reference definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.XtextEditor.opened" />
180 <iterate>
181 <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
182 </iterate>
183 </and>
184 </visibleWhen>
185 </command>
186 </menuContribution>
187 </extension>
188 <extension point="org.eclipse.ui.menus">
189 <menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
190 <command commandId="org.eclipse.xtext.ui.editor.FindReferences">
191 <visibleWhen checkEnabled="false">
192 <reference definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
193 </reference>
194 </visibleWhen>
195 </command>
196 </menuContribution>
197 </extension>
198 <extension point="org.eclipse.ui.handlers">
199 <handler
200 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
201 commandId="org.eclipse.xtext.ui.editor.FindReferences">
202 <activeWhen>
203 <reference
204 definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
205 </reference>
206 </activeWhen>
207 </handler>
208 </extension>
209
210<!-- adding resource factories -->
211
212 <extension
213 point="org.eclipse.emf.ecore.extension_parser">
214 <parser
215 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
216 type="als">
217 </parser>
218 </extension>
219 <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
220 <resourceServiceProvider
221 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
222 uriExtension="als">
223 </resourceServiceProvider>
224 </extension>
225
226
227 <!-- marker definitions for hu.bme.mit.inf.dslreasoner.AlloyLanguage -->
228 <extension
229 id="alloylanguage.check.fast"
230 name="AlloyLanguage Problem"
231 point="org.eclipse.core.resources.markers">
232 <super type="org.eclipse.xtext.ui.check.fast"/>
233 <persistent value="true"/>
234 </extension>
235 <extension
236 id="alloylanguage.check.normal"
237 name="AlloyLanguage Problem"
238 point="org.eclipse.core.resources.markers">
239 <super type="org.eclipse.xtext.ui.check.normal"/>
240 <persistent value="true"/>
241 </extension>
242 <extension
243 id="alloylanguage.check.expensive"
244 name="AlloyLanguage Problem"
245 point="org.eclipse.core.resources.markers">
246 <super type="org.eclipse.xtext.ui.check.expensive"/>
247 <persistent value="true"/>
248 </extension>
249
250 <extension
251 point="org.eclipse.xtext.builder.participant">
252 <participant
253 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
254 fileExtensions="als"
255 >
256 </participant>
257 </extension>
258 <extension
259 point="org.eclipse.ui.preferencePages">
260 <page
261 category="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
262 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
263 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.compiler.preferencePage"
264 name="Compiler">
265 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_AlloyLanguage"/>
266 </page>
267 </extension>
268 <extension
269 point="org.eclipse.ui.propertyPages">
270 <page
271 category="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
272 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
273 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.compiler.propertyPage"
274 name="Compiler">
275 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_AlloyLanguage"/>
276 <enabledWhen>
277 <adapt type="org.eclipse.core.resources.IProject"/>
278 </enabledWhen>
279 <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
280 </page>
281 </extension>
282 <extension point="org.eclipse.ui.menus">
283 <menuContribution locationURI="popup:#TextEditorContext?after=xtext.ui.openDeclaration">
284 <command
285 commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand"
286 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.OpenGeneratedCode"
287 style="push">
288 <visibleWhen checkEnabled="false">
289 <reference definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened" />
290 </visibleWhen>
291 </command>
292 </menuContribution>
293 </extension>
294 <extension point="org.eclipse.ui.handlers">
295 <handler
296 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler"
297 commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand">
298 <activeWhen>
299 <reference definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened" />
300 </activeWhen>
301 </handler>
302 </extension>
303
304 <!-- Quick Outline -->
305 <extension
306 point="org.eclipse.ui.handlers">
307 <handler
308 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
309 commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
310 <activeWhen>
311 <reference
312 definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
313 </reference>
314 </activeWhen>
315 </handler>
316 </extension>
317 <extension
318 point="org.eclipse.ui.commands">
319 <command
320 description="Open the quick outline."
321 id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
322 name="Quick Outline">
323 </command>
324 </extension>
325 <extension point="org.eclipse.ui.menus">
326 <menuContribution
327 locationURI="popup:#TextEditorContext?after=group.open">
328 <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
329 style="push"
330 tooltip="Open Quick Outline">
331 <visibleWhen checkEnabled="false">
332 <reference definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened"/>
333 </visibleWhen>
334 </command>
335 </menuContribution>
336 </extension>
337 <!-- quickfix marker resolution generator for hu.bme.mit.inf.dslreasoner.AlloyLanguage -->
338 <extension
339 point="org.eclipse.ui.ide.markerResolution">
340 <markerResolutionGenerator
341 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
342 markerType="hu.bme.mit.inf.dslreasoner.ui.alloylanguage.check.fast">
343 <attribute
344 name="FIXABLE_KEY"
345 value="true">
346 </attribute>
347 </markerResolutionGenerator>
348 <markerResolutionGenerator
349 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
350 markerType="hu.bme.mit.inf.dslreasoner.ui.alloylanguage.check.normal">
351 <attribute
352 name="FIXABLE_KEY"
353 value="true">
354 </attribute>
355 </markerResolutionGenerator>
356 <markerResolutionGenerator
357 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
358 markerType="hu.bme.mit.inf.dslreasoner.ui.alloylanguage.check.expensive">
359 <attribute
360 name="FIXABLE_KEY"
361 value="true">
362 </attribute>
363 </markerResolutionGenerator>
364 </extension>
365 <!-- Rename Refactoring -->
366 <extension point="org.eclipse.ui.handlers">
367 <handler
368 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
369 commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
370 <activeWhen>
371 <reference
372 definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
373 </reference>
374 </activeWhen>
375 </handler>
376 </extension>
377 <extension point="org.eclipse.ui.menus">
378 <menuContribution
379 locationURI="popup:#TextEditorContext?after=group.edit">
380 <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
381 style="push">
382 <visibleWhen checkEnabled="false">
383 <reference
384 definitionId="hu.bme.mit.inf.dslreasoner.AlloyLanguage.Editor.opened">
385 </reference>
386 </visibleWhen>
387 </command>
388 </menuContribution>
389 </extension>
390 <extension point="org.eclipse.ui.preferencePages">
391 <page
392 category="hu.bme.mit.inf.dslreasoner.AlloyLanguage"
393 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
394 id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.refactoring"
395 name="Refactoring">
396 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_AlloyLanguage"/>
397 </page>
398 </extension>
399
400 <extension point="org.eclipse.compare.contentViewers">
401 <viewer id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.compare.contentViewers"
402 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
403 extensions="als">
404 </viewer>
405 </extension>
406 <extension point="org.eclipse.compare.contentMergeViewers">
407 <viewer id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.compare.contentMergeViewers"
408 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
409 extensions="als" label="AlloyLanguage Compare">
410 </viewer>
411 </extension>
412 <extension point="org.eclipse.ui.editors.documentProviders">
413 <provider id="hu.bme.mit.inf.dslreasoner.AlloyLanguage.editors.documentProviders"
414 class="hu.bme.mit.inf.dslreasoner.ui.AlloyLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
415 extensions="als">
416 </provider>
417 </extension>
418 <extension point="org.eclipse.team.core.fileTypes">
419 <fileTypes
420 extension="als"
421 type="text">
422 </fileTypes>
423 </extension>
424
425</plugin>
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/AlloyLanguageUiModule.java b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/AlloyLanguageUiModule.java
new file mode 100644
index 00000000..20d083e6
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/AlloyLanguageUiModule.java
@@ -0,0 +1,15 @@
1/*
2 * generated by Xtext
3 */
4package hu.bme.mit.inf.dslreasoner.ui;
5
6import org.eclipse.ui.plugin.AbstractUIPlugin;
7
8/**
9 * Use this class to register components to be used within the IDE.
10 */
11public class AlloyLanguageUiModule extends hu.bme.mit.inf.dslreasoner.ui.AbstractAlloyLanguageUiModule {
12 public AlloyLanguageUiModule(AbstractUIPlugin plugin) {
13 super(plugin);
14 }
15}
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/contentassist/AlloyLanguageProposalProvider.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/contentassist/AlloyLanguageProposalProvider.xtend
new file mode 100644
index 00000000..cf8d33f8
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/contentassist/AlloyLanguageProposalProvider.xtend
@@ -0,0 +1,12 @@
1/*
2 * generated by Xtext
3 */
4package hu.bme.mit.inf.dslreasoner.ui.contentassist
5
6import hu.bme.mit.inf.dslreasoner.ui.contentassist.AbstractAlloyLanguageProposalProvider
7
8/**
9 * see http://www.eclipse.org/Xtext/documentation.html#contentAssist on how to customize content assistant
10 */
11class AlloyLanguageProposalProvider extends AbstractAlloyLanguageProposalProvider {
12}
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/labeling/AlloyLanguageDescriptionLabelProvider.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/labeling/AlloyLanguageDescriptionLabelProvider.xtend
new file mode 100644
index 00000000..89bb0f87
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/labeling/AlloyLanguageDescriptionLabelProvider.xtend
@@ -0,0 +1,24 @@
1/*
2* generated by Xtext
3*/
4package hu.bme.mit.inf.dslreasoner.ui.labeling
5
6//import org.eclipse.xtext.resource.IEObjectDescription
7
8/**
9 * Provides labels for a IEObjectDescriptions and IResourceDescriptions.
10 *
11 * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
12 */
13class AlloyLanguageDescriptionLabelProvider extends org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider {
14
15 // Labels and icons can be computed like this:
16
17// override text(IEObjectDescription ele) {
18// ele.name.toString
19// }
20//
21// override image(IEObjectDescription ele) {
22// ele.EClass.name + '.gif'
23// }
24}
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/labeling/AlloyLanguageLabelProvider.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/labeling/AlloyLanguageLabelProvider.xtend
new file mode 100644
index 00000000..6f002921
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/labeling/AlloyLanguageLabelProvider.xtend
@@ -0,0 +1,29 @@
1/*
2* generated by Xtext
3*/
4package hu.bme.mit.inf.dslreasoner.ui.labeling
5
6import com.google.inject.Inject
7
8/**
9 * Provides labels for a EObjects.
10 *
11 * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
12 */
13class AlloyLanguageLabelProvider extends org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider {
14
15 @Inject
16 new(org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider delegate) {
17 super(delegate);
18 }
19
20 // Labels and icons can be computed like this:
21
22// def text(Greeting ele) {
23// 'A greeting to ' + ele.name
24// }
25//
26// def image(Greeting ele) {
27// 'Greeting.gif'
28// }
29}
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/outline/AlloyLanguageOutlineTreeProvider.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/outline/AlloyLanguageOutlineTreeProvider.xtend
new file mode 100644
index 00000000..fe3fef9d
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/outline/AlloyLanguageOutlineTreeProvider.xtend
@@ -0,0 +1,13 @@
1/*
2* generated by Xtext
3*/
4package hu.bme.mit.inf.dslreasoner.ui.outline
5
6/**
7 * Customization of the default outline structure.
8 *
9 * see http://www.eclipse.org/Xtext/documentation.html#outline
10 */
11class AlloyLanguageOutlineTreeProvider extends org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider {
12
13}
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/quickfix/AlloyLanguageQuickfixProvider.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/quickfix/AlloyLanguageQuickfixProvider.xtend
new file mode 100644
index 00000000..3e329e62
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/quickfix/AlloyLanguageQuickfixProvider.xtend
@@ -0,0 +1,26 @@
1/*
2* generated by Xtext
3*/
4package hu.bme.mit.inf.dslreasoner.ui.quickfix
5
6//import org.eclipse.xtext.ui.editor.quickfix.Fix
7//import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionAcceptor
8//import org.eclipse.xtext.validation.Issue
9
10/**
11 * Custom quickfixes.
12 *
13 * see http://www.eclipse.org/Xtext/documentation.html#quickfixes
14 */
15class AlloyLanguageQuickfixProvider extends org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider {
16
17// @Fix(MyDslValidator::INVALID_NAME)
18// def capitalizeName(Issue issue, IssueResolutionAcceptor acceptor) {
19// acceptor.accept(issue, 'Capitalize name', 'Capitalize the name.', 'upcase.png') [
20// context |
21// val xtextDocument = context.xtextDocument
22// val firstLetter = xtextDocument.get(issue.offset, 1)
23// xtextDocument.replace(issue.offset, 1, firstLetter.toUpperCase)
24// ]
25// }
26}
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.classpath b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.classpath
new file mode 100644
index 00000000..5c568755
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.classpath
@@ -0,0 +1,9 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="src"/>
4 <classpathentry kind="src" path="src-gen"/>
5 <classpathentry kind="src" path="xtend-gen"/>
6 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
7 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
8 <classpathentry kind="output" path="bin"/>
9</classpath>
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.gitignore b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.gitignore
new file mode 100644
index 00000000..8ae4e44d
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.gitignore
@@ -0,0 +1,4 @@
1/bin/
2/src-gen/
3/vql-gen/
4/xtend-gen/
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.launch/Generate Language Infrastructure (hu.bme.mit.inf.dslreasoner.alloy.language).launch b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.launch/Generate Language Infrastructure (hu.bme.mit.inf.dslreasoner.alloy.language).launch
new file mode 100644
index 00000000..77031bf1
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.launch/Generate Language Infrastructure (hu.bme.mit.inf.dslreasoner.alloy.language).launch
@@ -0,0 +1,18 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
3<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1299248699643_13&quot; label=&quot;working set&quot; name=&quot;working set&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/hu.bme.mit.inf.dslreasoner.alloy.language&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/hu.bme.mit.inf.dslreasoner.alloy.language.generator&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/hu.bme.mit.inf.dslreasoner.alloy.language.tests&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/hu.bme.mit.inf.dslreasoner.alloy.language.ui&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
4<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
5<listEntry value="/hu.bme.mit.inf.dslreasoner.alloy.language"/>
6</listAttribute>
7<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
8<listEntry value="4"/>
9</listAttribute>
10<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
11<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
12<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
13</listAttribute>
14<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
15<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/hu/bme/mit/inf/dslreasoner/GenerateAlloyLanguage.mwe2"/>
16<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="hu.bme.mit.inf.dslreasoner.alloy.language"/>
17<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m"/>
18</launchConfiguration>
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.project b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.project
new file mode 100644
index 00000000..d33a2394
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.alloy.language</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.jdt.core.javabuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.pde.ManifestBuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.SchemaBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.jdt.core.javanature</nature>
31 <nature>org.eclipse.pde.PluginNature</nature>
32 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.settings/org.eclipse.core.resources.prefs b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..4824b802
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
1eclipse.preferences.version=1
2encoding/<project>=UTF-8
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.settings/org.eclipse.jdt.core.prefs b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..ace45cee
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
4org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
5org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
6org.eclipse.jdt.core.compiler.compliance=1.8
7org.eclipse.jdt.core.compiler.debug.lineNumber=generate
8org.eclipse.jdt.core.compiler.debug.localVariable=generate
9org.eclipse.jdt.core.compiler.debug.sourceFile=generate
10org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
11org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
12org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/META-INF/MANIFEST.MF b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..1de8b744
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/META-INF/MANIFEST.MF
@@ -0,0 +1,37 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: hu.bme.mit.inf.dslreasoner.alloy.language
4Bundle-Vendor: My Company
5Bundle-Version: 1.0.0.qualifier
6Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.alloy.language; singleton:=true
7Bundle-ActivationPolicy: lazy
8Require-Bundle: org.eclipse.xtext;visibility:=reexport,
9 org.eclipse.xtext.xbase;resolution:=optional;visibility:=reexport,
10 org.eclipse.xtext.generator;resolution:=optional,
11 org.apache.commons.logging;bundle-version="1.0.4";resolution:=optional,
12 org.eclipse.emf.codegen.ecore;resolution:=optional,
13 org.eclipse.emf.mwe.utils;resolution:=optional,
14 org.eclipse.emf.mwe2.launch;resolution:=optional,
15 org.eclipse.xtext.util,
16 org.eclipse.emf.ecore,
17 org.eclipse.emf.common,
18 org.eclipse.xtext.xbase.lib,
19 org.antlr.runtime,
20 org.eclipse.xtext.common.types,
21 org.objectweb.asm;bundle-version="[5.0.1,6.0.0)";resolution:=optional,
22 org.eclipse.equinox.common;bundle-version="3.7.0"
23Import-Package: org.apache.log4j
24Bundle-RequiredExecutionEnvironment: JavaSE-1.7
25Export-Package: hu.bme.mit.inf.dslreasoner,
26 hu.bme.mit.inf.dslreasoner.services,
27 hu.bme.mit.inf.dslreasoner.alloyLanguage,
28 hu.bme.mit.inf.dslreasoner.alloyLanguage.impl,
29 hu.bme.mit.inf.dslreasoner.alloyLanguage.util,
30 hu.bme.mit.inf.dslreasoner.serializer,
31 hu.bme.mit.inf.dslreasoner.parser.antlr,
32 hu.bme.mit.inf.dslreasoner.parser.antlr.internal,
33 hu.bme.mit.inf.dslreasoner.validation,
34 hu.bme.mit.inf.dslreasoner.scoping,
35 hu.bme.mit.inf.dslreasoner.generator,
36 hu.bme.mit.inf.dslreasoner.formatting
37
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/build.properties b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/build.properties
new file mode 100644
index 00000000..07a42688
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/build.properties
@@ -0,0 +1,7 @@
1source.. = src/,\
2 src-gen/,\
3 xtend-gen/
4bin.includes = model/,\
5 META-INF/,\
6 .,\
7 plugin.xml \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/model/generated/AlloyLanguage.ecore b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/model/generated/AlloyLanguage.ecore
new file mode 100644
index 00000000..a825966e
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/model/generated/AlloyLanguage.ecore
@@ -0,0 +1,267 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="alloyLanguage" nsURI="http://www.bme.hu/mit/inf/dslreasoner/AlloyLanguage"
4 nsPrefix="alloyLanguage">
5 <eClassifiers xsi:type="ecore:EClass" name="ALSDocument">
6 <eStructuralFeatures xsi:type="ecore:EReference" name="enumDeclarations" upperBound="-1"
7 eType="#//ALSEnumDeclaration" containment="true"/>
8 <eStructuralFeatures xsi:type="ecore:EReference" name="signatureBodies" upperBound="-1"
9 eType="#//ALSSignatureBody" containment="true"/>
10 <eStructuralFeatures xsi:type="ecore:EReference" name="functionDefinitions" upperBound="-1"
11 eType="#//ALSFunctionDefinition" containment="true"/>
12 <eStructuralFeatures xsi:type="ecore:EReference" name="relationDefinitions" upperBound="-1"
13 eType="#//ALSRelationDefinition" containment="true"/>
14 <eStructuralFeatures xsi:type="ecore:EReference" name="factDeclarations" upperBound="-1"
15 eType="#//ALSFactDeclaration" containment="true"/>
16 <eStructuralFeatures xsi:type="ecore:EReference" name="runCommand" eType="#//ALSRunCommand"
17 containment="true"/>
18 </eClassifiers>
19 <eClassifiers xsi:type="ecore:EEnum" name="ALSMultiplicity">
20 <eLiterals name="all" literal="all"/>
21 <eLiterals name="no" value="1" literal="no"/>
22 <eLiterals name="some" value="2" literal="some"/>
23 <eLiterals name="lone" value="3" literal="lone"/>
24 <eLiterals name="one" value="4" literal="one"/>
25 <eLiterals name="set" value="5" literal="set"/>
26 </eClassifiers>
27 <eClassifiers xsi:type="ecore:EClass" name="ALSRelationDeclaration">
28 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
29 </eClassifiers>
30 <eClassifiers xsi:type="ecore:EClass" name="ALSTypeDeclaration" eSuperTypes="#//ALSRelationDeclaration"/>
31 <eClassifiers xsi:type="ecore:EClass" name="ALSEnumDeclaration" eSuperTypes="#//ALSTypeDeclaration">
32 <eStructuralFeatures xsi:type="ecore:EReference" name="literal" upperBound="-1"
33 eType="#//ALSEnumLiteral" containment="true"/>
34 </eClassifiers>
35 <eClassifiers xsi:type="ecore:EClass" name="ALSEnumLiteral" eSuperTypes="#//ALSRelationDeclaration"/>
36 <eClassifiers xsi:type="ecore:EClass" name="ALSSignatureDeclaration" eSuperTypes="#//ALSTypeDeclaration"/>
37 <eClassifiers xsi:type="ecore:EClass" name="ALSSignatureBody">
38 <eStructuralFeatures xsi:type="ecore:EAttribute" name="multiplicity" eType="#//ALSMultiplicity"/>
39 <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
40 <eStructuralFeatures xsi:type="ecore:EReference" name="declarations" upperBound="-1"
41 eType="#//ALSSignatureDeclaration" containment="true"/>
42 <eStructuralFeatures xsi:type="ecore:EReference" name="supertype" eType="#//ALSSignatureDeclaration"/>
43 <eStructuralFeatures xsi:type="ecore:EReference" name="superset" unique="false"
44 upperBound="-1" eType="#//ALSSignatureDeclaration"/>
45 <eStructuralFeatures xsi:type="ecore:EReference" name="fields" upperBound="-1"
46 eType="#//ALSFieldDeclaration" containment="true"/>
47 </eClassifiers>
48 <eClassifiers xsi:type="ecore:EClass" name="ALSFieldDeclaration" eSuperTypes="#//ALSRelationDeclaration">
49 <eStructuralFeatures xsi:type="ecore:EAttribute" name="multiplicity" eType="#//ALSMultiplicity"/>
50 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//ALSTerm"
51 containment="true"/>
52 </eClassifiers>
53 <eClassifiers xsi:type="ecore:EClass" name="ALSDefinition">
54 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
55 <eStructuralFeatures xsi:type="ecore:EReference" name="variables" upperBound="-1"
56 eType="#//ALSVariableDeclaration" containment="true"/>
57 <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//ALSTerm"
58 containment="true"/>
59 </eClassifiers>
60 <eClassifiers xsi:type="ecore:EClass" name="ALSFunctionDefinition" eSuperTypes="#//ALSDefinition">
61 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//ALSTerm"
62 containment="true"/>
63 </eClassifiers>
64 <eClassifiers xsi:type="ecore:EClass" name="ALSRelationDefinition" eSuperTypes="#//ALSDefinition"/>
65 <eClassifiers xsi:type="ecore:EClass" name="ALSFactDeclaration">
66 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
67 <eStructuralFeatures xsi:type="ecore:EReference" name="term" eType="#//ALSTerm"
68 containment="true"/>
69 </eClassifiers>
70 <eClassifiers xsi:type="ecore:EClass" name="ALSTerm"/>
71 <eClassifiers xsi:type="ecore:EEnum" name="ALSNumericOperator">
72 <eLiterals name="plus" literal="plus"/>
73 <eLiterals name="sub" value="1" literal="sub"/>
74 <eLiterals name="mul" value="2" literal="mul"/>
75 <eLiterals name="rem" value="3" literal="rem"/>
76 <eLiterals name="div" value="4" literal="div"/>
77 </eClassifiers>
78 <eClassifiers xsi:type="ecore:EClass" name="ALSVariableDeclaration" eSuperTypes="#//ALSRelationDeclaration">
79 <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//ALSTerm"
80 containment="true"/>
81 </eClassifiers>
82 <eClassifiers xsi:type="ecore:EClass" name="ALSRunCommand">
83 <eStructuralFeatures xsi:type="ecore:EReference" name="typeScopes" upperBound="-1"
84 eType="#//ALSTypeScope" containment="true"/>
85 </eClassifiers>
86 <eClassifiers xsi:type="ecore:EClass" name="ALSTypeScope">
87 <eStructuralFeatures xsi:type="ecore:EAttribute" name="number" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
88 </eClassifiers>
89 <eClassifiers xsi:type="ecore:EClass" name="ALSSigScope" eSuperTypes="#//ALSTypeScope">
90 <eStructuralFeatures xsi:type="ecore:EAttribute" name="exactly" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
91 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//ALSSignatureDeclaration"/>
92 </eClassifiers>
93 <eClassifiers xsi:type="ecore:EClass" name="ALSIntScope" eSuperTypes="#//ALSTypeScope"/>
94 <eClassifiers xsi:type="ecore:EClass" name="ALSQuantifiedEx" eSuperTypes="#//ALSTerm">
95 <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//ALSMultiplicity"/>
96 <eStructuralFeatures xsi:type="ecore:EAttribute" name="disj" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
97 <eStructuralFeatures xsi:type="ecore:EReference" name="variables" upperBound="-1"
98 eType="#//ALSVariableDeclaration" containment="true"/>
99 <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//ALSTerm"
100 containment="true"/>
101 </eClassifiers>
102 <eClassifiers xsi:type="ecore:EClass" name="ALSOr" eSuperTypes="#//ALSTerm">
103 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//ALSTerm"
104 containment="true"/>
105 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//ALSTerm"
106 containment="true"/>
107 </eClassifiers>
108 <eClassifiers xsi:type="ecore:EClass" name="ALSIff" eSuperTypes="#//ALSTerm">
109 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//ALSTerm"
110 containment="true"/>
111 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//ALSTerm"
112 containment="true"/>
113 </eClassifiers>
114 <eClassifiers xsi:type="ecore:EClass" name="ALSImpl" eSuperTypes="#//ALSTerm">
115 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//ALSTerm"
116 containment="true"/>
117 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//ALSTerm"
118 containment="true"/>
119 <eStructuralFeatures xsi:type="ecore:EReference" name="elseOperand" eType="#//ALSTerm"
120 containment="true"/>
121 </eClassifiers>
122 <eClassifiers xsi:type="ecore:EClass" name="ALSAnd" eSuperTypes="#//ALSTerm">
123 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//ALSTerm"
124 containment="true"/>
125 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//ALSTerm"
126 containment="true"/>
127 </eClassifiers>
128 <eClassifiers xsi:type="ecore:EClass" name="ALSEquals" eSuperTypes="#//ALSTerm">
129 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//ALSTerm"
130 containment="true"/>
131 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//ALSTerm"
132 containment="true"/>
133 </eClassifiers>
134 <eClassifiers xsi:type="ecore:EClass" name="ALSNotEquals" eSuperTypes="#//ALSTerm">
135 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//ALSTerm"
136 containment="true"/>
137 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//ALSTerm"
138 containment="true"/>
139 </eClassifiers>
140 <eClassifiers xsi:type="ecore:EClass" name="ALSSubset" eSuperTypes="#//ALSTerm">
141 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//ALSTerm"
142 containment="true"/>
143 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//ALSTerm"
144 containment="true"/>
145 </eClassifiers>
146 <eClassifiers xsi:type="ecore:EClass" name="ALSLess" eSuperTypes="#//ALSTerm">
147 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//ALSTerm"
148 containment="true"/>
149 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//ALSTerm"
150 containment="true"/>
151 </eClassifiers>
152 <eClassifiers xsi:type="ecore:EClass" name="ALSLeq" eSuperTypes="#//ALSTerm">
153 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//ALSTerm"
154 containment="true"/>
155 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//ALSTerm"
156 containment="true"/>
157 </eClassifiers>
158 <eClassifiers xsi:type="ecore:EClass" name="ALSMore" eSuperTypes="#//ALSTerm">
159 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//ALSTerm"
160 containment="true"/>
161 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//ALSTerm"
162 containment="true"/>
163 </eClassifiers>
164 <eClassifiers xsi:type="ecore:EClass" name="ALSMeq" eSuperTypes="#//ALSTerm">
165 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//ALSTerm"
166 containment="true"/>
167 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//ALSTerm"
168 containment="true"/>
169 </eClassifiers>
170 <eClassifiers xsi:type="ecore:EClass" name="ALSOverride" eSuperTypes="#//ALSTerm">
171 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//ALSTerm"
172 containment="true"/>
173 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//ALSTerm"
174 containment="true"/>
175 </eClassifiers>
176 <eClassifiers xsi:type="ecore:EClass" name="ALSRangeRestrictionRight" eSuperTypes="#//ALSTerm">
177 <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//ALSTerm"
178 containment="true"/>
179 <eStructuralFeatures xsi:type="ecore:EReference" name="filter" eType="#//ALSTerm"
180 containment="true"/>
181 </eClassifiers>
182 <eClassifiers xsi:type="ecore:EClass" name="ALSRangeRestrictionLeft" eSuperTypes="#//ALSTerm">
183 <eStructuralFeatures xsi:type="ecore:EReference" name="filter" eType="#//ALSTerm"
184 containment="true"/>
185 <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//ALSTerm"
186 containment="true"/>
187 </eClassifiers>
188 <eClassifiers xsi:type="ecore:EClass" name="ALSJoin" eSuperTypes="#//ALSTerm">
189 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//ALSTerm"
190 containment="true"/>
191 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//ALSTerm"
192 containment="true"/>
193 </eClassifiers>
194 <eClassifiers xsi:type="ecore:EClass" name="ALSMinus" eSuperTypes="#//ALSTerm">
195 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//ALSTerm"
196 containment="true"/>
197 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//ALSTerm"
198 containment="true"/>
199 </eClassifiers>
200 <eClassifiers xsi:type="ecore:EClass" name="ALSPlus" eSuperTypes="#//ALSTerm">
201 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//ALSTerm"
202 containment="true"/>
203 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//ALSTerm"
204 containment="true"/>
205 </eClassifiers>
206 <eClassifiers xsi:type="ecore:EClass" name="ALSIntersection" eSuperTypes="#//ALSTerm">
207 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//ALSTerm"
208 containment="true"/>
209 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//ALSTerm"
210 containment="true"/>
211 </eClassifiers>
212 <eClassifiers xsi:type="ecore:EClass" name="ALSDirectProduct" eSuperTypes="#//ALSTerm">
213 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//ALSTerm"
214 containment="true"/>
215 <eStructuralFeatures xsi:type="ecore:EAttribute" name="leftMultiplicit" eType="#//ALSMultiplicity"/>
216 <eStructuralFeatures xsi:type="ecore:EAttribute" name="rightMultiplicit" eType="#//ALSMultiplicity"/>
217 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//ALSTerm"
218 containment="true"/>
219 </eClassifiers>
220 <eClassifiers xsi:type="ecore:EClass" name="ALSNot" eSuperTypes="#//ALSTerm">
221 <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//ALSTerm"
222 containment="true"/>
223 </eClassifiers>
224 <eClassifiers xsi:type="ecore:EClass" name="ALSInverseRelation" eSuperTypes="#//ALSTerm">
225 <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//ALSTerm"
226 containment="true"/>
227 </eClassifiers>
228 <eClassifiers xsi:type="ecore:EClass" name="AlSTransitiveClosure" eSuperTypes="#//ALSTerm">
229 <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//ALSTerm"
230 containment="true"/>
231 </eClassifiers>
232 <eClassifiers xsi:type="ecore:EClass" name="ALSReflectiveTransitiveClosure" eSuperTypes="#//ALSTerm">
233 <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//ALSTerm"
234 containment="true"/>
235 </eClassifiers>
236 <eClassifiers xsi:type="ecore:EClass" name="ALSCardinality" eSuperTypes="#//ALSTerm">
237 <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//ALSTerm"
238 containment="true"/>
239 </eClassifiers>
240 <eClassifiers xsi:type="ecore:EClass" name="ALSUnaryMinus" eSuperTypes="#//ALSTerm">
241 <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//ALSTerm"
242 containment="true"/>
243 </eClassifiers>
244 <eClassifiers xsi:type="ecore:EClass" name="ALSSum" eSuperTypes="#//ALSTerm">
245 <eStructuralFeatures xsi:type="ecore:EReference" name="variables" upperBound="-1"
246 eType="#//ALSVariableDeclaration" containment="true"/>
247 <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//ALSTerm"
248 containment="true"/>
249 </eClassifiers>
250 <eClassifiers xsi:type="ecore:EClass" name="ALSFunctionCall" eSuperTypes="#//ALSTerm">
251 <eStructuralFeatures xsi:type="ecore:EReference" name="referredDefinition" eType="#//ALSDefinition"/>
252 <eStructuralFeatures xsi:type="ecore:EAttribute" name="referredNumericOperator"
253 eType="#//ALSNumericOperator"/>
254 <eStructuralFeatures xsi:type="ecore:EReference" name="params" upperBound="-1"
255 eType="#//ALSTerm" containment="true"/>
256 </eClassifiers>
257 <eClassifiers xsi:type="ecore:EClass" name="ALSNone" eSuperTypes="#//ALSTerm"/>
258 <eClassifiers xsi:type="ecore:EClass" name="ALSIden" eSuperTypes="#//ALSTerm"/>
259 <eClassifiers xsi:type="ecore:EClass" name="ALSUniv" eSuperTypes="#//ALSTerm"/>
260 <eClassifiers xsi:type="ecore:EClass" name="ALSInt" eSuperTypes="#//ALSTerm"/>
261 <eClassifiers xsi:type="ecore:EClass" name="ALSReference" eSuperTypes="#//ALSTerm">
262 <eStructuralFeatures xsi:type="ecore:EReference" name="referred" eType="#//ALSRelationDeclaration"/>
263 </eClassifiers>
264 <eClassifiers xsi:type="ecore:EClass" name="ALSNumberLiteral" eSuperTypes="#//ALSTerm">
265 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
266 </eClassifiers>
267</ecore:EPackage>
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/model/generated/AlloyLanguage.genmodel b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/model/generated/AlloyLanguage.genmodel
new file mode 100644
index 00000000..dd1d46d2
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/model/generated/AlloyLanguage.genmodel
@@ -0,0 +1,206 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3 xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen"
4 editDirectory="/hu.bme.mit.inf.dslreasoner.alloy.language.edit/src" editorDirectory="/hu.bme.mit.inf.dslreasoner.alloy.language.editor/src"
5 modelPluginID="hu.bme.mit.inf.dslreasoner.alloy.language" forceOverwrite="true"
6 modelName="AlloyLanguage" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
7 complianceLevel="6.0" copyrightFields="false" editPluginID="hu.bme.mit.inf.dslreasoner.alloy.language.edit"
8 editorPluginID="hu.bme.mit.inf.dslreasoner.alloy.language.editor" runtimeVersion="2.11">
9 <genPackages prefix="AlloyLanguage" basePackage="hu.bme.mit.inf.dslreasoner" disposableProviderFactory="true"
10 fileExtensions="als" ecorePackage="AlloyLanguage.ecore#/">
11 <genEnums typeSafeEnumCompatible="false" ecoreEnum="AlloyLanguage.ecore#//ALSMultiplicity">
12 <genEnumLiterals ecoreEnumLiteral="AlloyLanguage.ecore#//ALSMultiplicity/all"/>
13 <genEnumLiterals ecoreEnumLiteral="AlloyLanguage.ecore#//ALSMultiplicity/no"/>
14 <genEnumLiterals ecoreEnumLiteral="AlloyLanguage.ecore#//ALSMultiplicity/some"/>
15 <genEnumLiterals ecoreEnumLiteral="AlloyLanguage.ecore#//ALSMultiplicity/lone"/>
16 <genEnumLiterals ecoreEnumLiteral="AlloyLanguage.ecore#//ALSMultiplicity/one"/>
17 <genEnumLiterals ecoreEnumLiteral="AlloyLanguage.ecore#//ALSMultiplicity/set"/>
18 </genEnums>
19 <genEnums typeSafeEnumCompatible="false" ecoreEnum="AlloyLanguage.ecore#//ALSNumericOperator">
20 <genEnumLiterals ecoreEnumLiteral="AlloyLanguage.ecore#//ALSNumericOperator/plus"/>
21 <genEnumLiterals ecoreEnumLiteral="AlloyLanguage.ecore#//ALSNumericOperator/sub"/>
22 <genEnumLiterals ecoreEnumLiteral="AlloyLanguage.ecore#//ALSNumericOperator/mul"/>
23 <genEnumLiterals ecoreEnumLiteral="AlloyLanguage.ecore#//ALSNumericOperator/rem"/>
24 <genEnumLiterals ecoreEnumLiteral="AlloyLanguage.ecore#//ALSNumericOperator/div"/>
25 </genEnums>
26 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSDocument">
27 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSDocument/enumDeclarations"/>
28 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSDocument/signatureBodies"/>
29 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSDocument/functionDefinitions"/>
30 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSDocument/relationDefinitions"/>
31 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSDocument/factDeclarations"/>
32 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSDocument/runCommand"/>
33 </genClasses>
34 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSRelationDeclaration">
35 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute AlloyLanguage.ecore#//ALSRelationDeclaration/name"/>
36 </genClasses>
37 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSTypeDeclaration"/>
38 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSEnumDeclaration">
39 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSEnumDeclaration/literal"/>
40 </genClasses>
41 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSEnumLiteral"/>
42 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSSignatureDeclaration"/>
43 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSSignatureBody">
44 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute AlloyLanguage.ecore#//ALSSignatureBody/multiplicity"/>
45 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute AlloyLanguage.ecore#//ALSSignatureBody/abstract"/>
46 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSSignatureBody/declarations"/>
47 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSSignatureBody/supertype"/>
48 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSSignatureBody/superset"/>
49 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSSignatureBody/fields"/>
50 </genClasses>
51 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSFieldDeclaration">
52 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute AlloyLanguage.ecore#//ALSFieldDeclaration/multiplicity"/>
53 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSFieldDeclaration/type"/>
54 </genClasses>
55 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSDefinition">
56 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute AlloyLanguage.ecore#//ALSDefinition/name"/>
57 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSDefinition/variables"/>
58 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSDefinition/value"/>
59 </genClasses>
60 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSFunctionDefinition">
61 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSFunctionDefinition/type"/>
62 </genClasses>
63 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSRelationDefinition"/>
64 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSFactDeclaration">
65 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute AlloyLanguage.ecore#//ALSFactDeclaration/name"/>
66 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSFactDeclaration/term"/>
67 </genClasses>
68 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSTerm"/>
69 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSVariableDeclaration">
70 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSVariableDeclaration/range"/>
71 </genClasses>
72 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSRunCommand">
73 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSRunCommand/typeScopes"/>
74 </genClasses>
75 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSTypeScope">
76 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute AlloyLanguage.ecore#//ALSTypeScope/number"/>
77 </genClasses>
78 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSSigScope">
79 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute AlloyLanguage.ecore#//ALSSigScope/exactly"/>
80 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSSigScope/type"/>
81 </genClasses>
82 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSIntScope"/>
83 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSQuantifiedEx">
84 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute AlloyLanguage.ecore#//ALSQuantifiedEx/type"/>
85 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute AlloyLanguage.ecore#//ALSQuantifiedEx/disj"/>
86 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSQuantifiedEx/variables"/>
87 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSQuantifiedEx/expression"/>
88 </genClasses>
89 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSOr">
90 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSOr/leftOperand"/>
91 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSOr/rightOperand"/>
92 </genClasses>
93 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSIff">
94 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSIff/leftOperand"/>
95 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSIff/rightOperand"/>
96 </genClasses>
97 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSImpl">
98 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSImpl/leftOperand"/>
99 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSImpl/rightOperand"/>
100 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSImpl/elseOperand"/>
101 </genClasses>
102 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSAnd">
103 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSAnd/leftOperand"/>
104 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSAnd/rightOperand"/>
105 </genClasses>
106 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSEquals">
107 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSEquals/leftOperand"/>
108 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSEquals/rightOperand"/>
109 </genClasses>
110 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSNotEquals">
111 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSNotEquals/leftOperand"/>
112 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSNotEquals/rightOperand"/>
113 </genClasses>
114 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSSubset">
115 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSSubset/leftOperand"/>
116 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSSubset/rightOperand"/>
117 </genClasses>
118 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSLess">
119 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSLess/leftOperand"/>
120 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSLess/rightOperand"/>
121 </genClasses>
122 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSLeq">
123 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSLeq/leftOperand"/>
124 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSLeq/rightOperand"/>
125 </genClasses>
126 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSMore">
127 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSMore/leftOperand"/>
128 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSMore/rightOperand"/>
129 </genClasses>
130 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSMeq">
131 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSMeq/leftOperand"/>
132 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSMeq/rightOperand"/>
133 </genClasses>
134 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSOverride">
135 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSOverride/leftOperand"/>
136 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSOverride/rightOperand"/>
137 </genClasses>
138 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSRangeRestrictionRight">
139 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSRangeRestrictionRight/relation"/>
140 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSRangeRestrictionRight/filter"/>
141 </genClasses>
142 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSRangeRestrictionLeft">
143 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSRangeRestrictionLeft/filter"/>
144 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSRangeRestrictionLeft/relation"/>
145 </genClasses>
146 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSJoin">
147 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSJoin/leftOperand"/>
148 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSJoin/rightOperand"/>
149 </genClasses>
150 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSMinus">
151 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSMinus/leftOperand"/>
152 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSMinus/rightOperand"/>
153 </genClasses>
154 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSPlus">
155 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSPlus/leftOperand"/>
156 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSPlus/rightOperand"/>
157 </genClasses>
158 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSIntersection">
159 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSIntersection/leftOperand"/>
160 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSIntersection/rightOperand"/>
161 </genClasses>
162 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSDirectProduct">
163 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSDirectProduct/leftOperand"/>
164 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute AlloyLanguage.ecore#//ALSDirectProduct/leftMultiplicit"/>
165 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute AlloyLanguage.ecore#//ALSDirectProduct/rightMultiplicit"/>
166 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSDirectProduct/rightOperand"/>
167 </genClasses>
168 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSNot">
169 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSNot/operand"/>
170 </genClasses>
171 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSInverseRelation">
172 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSInverseRelation/operand"/>
173 </genClasses>
174 <genClasses ecoreClass="AlloyLanguage.ecore#//AlSTransitiveClosure">
175 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//AlSTransitiveClosure/operand"/>
176 </genClasses>
177 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSReflectiveTransitiveClosure">
178 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSReflectiveTransitiveClosure/operand"/>
179 </genClasses>
180 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSCardinality">
181 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSCardinality/operand"/>
182 </genClasses>
183 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSUnaryMinus">
184 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSUnaryMinus/operand"/>
185 </genClasses>
186 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSSum">
187 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSSum/variables"/>
188 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSSum/expression"/>
189 </genClasses>
190 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSFunctionCall">
191 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSFunctionCall/referredDefinition"/>
192 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute AlloyLanguage.ecore#//ALSFunctionCall/referredNumericOperator"/>
193 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSFunctionCall/params"/>
194 </genClasses>
195 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSNone"/>
196 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSIden"/>
197 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSUniv"/>
198 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSInt"/>
199 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSReference">
200 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference AlloyLanguage.ecore#//ALSReference/referred"/>
201 </genClasses>
202 <genClasses ecoreClass="AlloyLanguage.ecore#//ALSNumberLiteral">
203 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute AlloyLanguage.ecore#//ALSNumberLiteral/value"/>
204 </genClasses>
205 </genPackages>
206</genmodel:GenModel>
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/plugin.xml b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/plugin.xml
new file mode 100644
index 00000000..7567279d
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/plugin.xml
@@ -0,0 +1,16 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3
4<plugin>
5
6 <extension point="org.eclipse.emf.ecore.generated_package">
7 <package
8 uri = "http://www.bme.hu/mit/inf/dslreasoner/AlloyLanguage"
9 class = "hu.bme.mit.inf.dslreasoner.alloyLanguage.AlloyLanguagePackage"
10 genModel = "model/generated/AlloyLanguage.genmodel" />
11
12 </extension>
13
14
15
16</plugin>
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/plugin.xml_gen b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/plugin.xml_gen
new file mode 100644
index 00000000..7567279d
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/plugin.xml_gen
@@ -0,0 +1,16 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3
4<plugin>
5
6 <extension point="org.eclipse.emf.ecore.generated_package">
7 <package
8 uri = "http://www.bme.hu/mit/inf/dslreasoner/AlloyLanguage"
9 class = "hu.bme.mit.inf.dslreasoner.alloyLanguage.AlloyLanguagePackage"
10 genModel = "model/generated/AlloyLanguage.genmodel" />
11
12 </extension>
13
14
15
16</plugin>
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/AlloyLanguage.xtext b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/AlloyLanguage.xtext
new file mode 100644
index 00000000..6d5fcf58
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/AlloyLanguage.xtext
@@ -0,0 +1,149 @@
1grammar hu.bme.mit.inf.dslreasoner.AlloyLanguage with org.eclipse.xtext.common.Terminals
2
3generate alloyLanguage "http://www.bme.hu/mit/inf/dslreasoner/AlloyLanguage"
4
5ALSDocument:
6 ( enumDeclarations += ALSEnumDeclaration |
7 signatureBodies += ALSSignatureBody |
8 functionDefinitions += ALSFunctionDefinition |
9 relationDefinitions += ALSRelationDefinition |
10 factDeclarations += ALSFactDeclaration)+
11 runCommand = ALSRunCommand
12;
13
14//////////////////////////////////
15// ALS terminals
16//////////////////////////////////
17
18terminal ID: ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|"'"|'"'|'0'..'9')*;
19ALSID: ID;
20
21enum ALSMultiplicity: all | no | some | lone | one | set;
22
23
24//////////////////////////////////
25// ALS types
26//////////////////////////////////
27
28ALSRelationDeclaration: ALSTypeDeclaration | ALSEnumLiteral | ALSFieldDeclaration | ALSVariableDeclaration;
29
30ALSTypeDeclaration:
31 ALSEnumDeclaration | ALSSignatureDeclaration
32;
33
34ALSEnumDeclaration:
35 'enum' name=ALSID '{'
36 literal+=ALSEnumLiteral ("," literal+=ALSEnumLiteral)*
37 '}';
38ALSEnumLiteral: name = ALSID;
39
40ALSSignatureDeclaration: name = ALSID;
41
42ALSSignatureBody:
43 ((multiplicity = ALSMultiplicity?) & (abstract ?= 'abstract')?)
44 'sig'
45 declarations += ALSSignatureDeclaration (',' declarations += ALSSignatureDeclaration)*
46 (('extends' supertype = [ALSSignatureDeclaration])
47 |
48 ('in' superset += [ALSSignatureDeclaration] ('+' superset += [ALSSignatureDeclaration])*) )?
49 '{' (fields+=ALSFieldDeclaration ("," fields+=ALSFieldDeclaration)*)? '}'
50;
51
52ALSFieldDeclaration:
53 name = ALSID ':' (multiplicity = ALSMultiplicity)? type = ALSTerm
54;
55
56ALSDefinition : ALSFunctionDefinition | ALSRelationDefinition;
57
58ALSFunctionDefinition:
59 "fun" name = ALSID "[" variables+=ALSVariableDeclaration (',' variables+=ALSVariableDeclaration)* "]" ":" type = ALSTerm
60 "{" value = ALSTerm "}"
61;
62ALSRelationDefinition:
63 "pred" name = ALSID "[" variables+=ALSVariableDeclaration (',' variables+=ALSVariableDeclaration)* "]"
64 "{" value = ALSTerm "}"
65;
66
67ALSFactDeclaration: {ALSFactDeclaration} 'fact' (name=ALSID)? '{' (term = ALSTerm) '}' ;
68
69//////////////////////////////////
70// ALS terms
71//////////////////////////////////
72ALSTerm: ALSQuantified;
73
74ALSQuantified returns ALSTerm: ({ALSQuantifiedEx} type = ALSMultiplicity
75 (disj?='disj')? variables+=ALSVariableDeclaration (',' variables+=ALSVariableDeclaration)* '{' expression = ALSTerm '}') | ALSOr;
76
77ALSOr returns ALSTerm: ALSIff ({ALSOr.leftOperand = current} ( "||" | "or" ) rightOperand = ALSIff)?;
78ALSIff returns ALSTerm: ALSImpl ({ALSIff.leftOperand = current} ("<=>" | "iff") rightOperand = ALSImpl)?;
79ALSImpl returns ALSTerm: ALSAnd ({ALSImpl.leftOperand = current} ("=>" | "implies") rightOperand = ALSAnd ('else' elseOperand = ALSAnd)?)?;
80ALSAnd returns ALSTerm: ALSComparison ({ALSAnd.leftOperand = current} ( "&&" | "and" ) rightOperand = ALSComparison)?;
81
82ALSComparison returns ALSTerm:
83 ALSOverride
84 (({ALSEquals.leftOperand = current} "=" |
85 {ALSNotEquals.leftOperand = current} "!=" |
86 {ALSSubset.leftOperand = current} "in" |
87 {ALSLess.leftOperand = current} ">" |
88 {ALSLeq.leftOperand = current} ">=" |
89 {ALSMore.leftOperand = current} "<" |
90 {ALSMeq.leftOperand = current} "<=")
91 rightOperand = ALSOverride)?;
92
93ALSOverride returns ALSTerm: ALSRangeRestrictionRight ({ALSOverride.leftOperand = current} '++' rightOperand = ALSRangeRestrictionRight)?;
94
95ALSRangeRestrictionRight returns ALSTerm: ALSRangeRestrictionLeft ({ALSRangeRestrictionRight.relation = current} ':>' filter = ALSRangeRestrictionLeft)?;
96ALSRangeRestrictionLeft returns ALSTerm: ALSJoin ({ALSRangeRestrictionLeft.filter = current} '<:' relation = ALSJoin)?;
97ALSJoin returns ALSTerm: ALSMinus ({ALSJoin.leftOperand = current} '.' rightOperand = ALSMinus )*;
98
99ALSMinus returns ALSTerm: ALSPlus ({ALSMinus.leftOperand = current} '-' rightOperand = ALSPlus)*;
100ALSPlus returns ALSTerm: ALSIntersection ({ALSPlus.leftOperand = current} '+' rightOperand = ALSIntersection)*;
101ALSIntersection returns ALSTerm: ALSDirectProduct ({ALSIntersection.leftOperand = current} '&' rightOperand = ALSDirectProduct)*;
102//ALSMultiply returns ALSTerm: ALSDirectProduct ({ALSMultiply.leftOperand = current} '*' rightOperand = ALSDirectProduct)*;
103
104ALSDirectProduct returns ALSTerm:
105 ALSPreficed
106 ({ALSDirectProduct.leftOperand = current} (leftMultiplicit = ALSMultiplicity)?
107 '->'
108 (rightMultiplicit = ALSMultiplicity)?
109 rightOperand = ALSPreficed)?
110;
111
112ALSPreficed returns ALSTerm:
113 {ALSNot}=>("!"|'not') operand = ALSBasicRelationTerm |
114 {ALSInverseRelation}=>"~" operand = ALSBasicRelationTerm |
115 {AlSTransitiveClosure} "^" operand = ALSBasicRelationTerm |
116 {ALSReflectiveTransitiveClosure} "*" operand = ALSBasicRelationTerm |
117 {ALSCardinality} '#' operand = ALSBasicRelationTerm |
118 {ALSUnaryMinus} =>'-' operand = ALSBasicRelationTerm |
119 {ALSSum} 'sum' variables+=ALSVariableDeclaration (',' variables+=ALSVariableDeclaration)* '{' expression = ALSTerm '}' |
120// {ALSQuantifiedEx} type = ALSMultiplicity
121// (disj?='disj')? variables+=ALSVariableDeclaration (',' variables+=ALSVariableDeclaration)* '{' expression = ALSTerm '}' |
122 {ALSFunctionCall} (referredDefinition=[ALSDefinition]|referredNumericOperator=ALSNumericOperator) '['params+=ALSTerm (',' params+=ALSTerm)*']' |
123 ALSBasicRelationTerm;
124
125enum ALSNumericOperator: plus|sub|mul|rem|div;
126
127//ALSVariable: name = ALSID;
128ALSVariableDeclaration: name=ALSID ':' range = ALSTerm;
129
130ALSBasicRelationTerm returns ALSTerm:
131 {ALSNone} 'none'|
132 {ALSIden} 'iden'|
133 {ALSUniv} 'univ'|
134 {ALSInt} 'Int' |
135 {ALSReference} referred = [ALSRelationDeclaration] |
136 {ALSNumberLiteral} value = INT|
137 '(' ALSTerm ')'
138;
139
140//////////////////////////////////
141// ALS Commands and scopes
142//////////////////////////////////
143ALSRunCommand:
144 {ALSRunCommand} 'run' '{' '}' ('for' typeScopes+=ALSTypeScope (',' typeScopes+=ALSTypeScope)*)?;
145
146ALSTypeScope: ALSSigScope | ALSIntScope;
147
148ALSSigScope: (exactly?='exactly')? number = INT type = [ALSSignatureDeclaration];
149ALSIntScope: number = INT 'Int'; \ No newline at end of file
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/AlloyLanguageRuntimeModule.java b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/AlloyLanguageRuntimeModule.java
new file mode 100644
index 00000000..b78c88c2
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/AlloyLanguageRuntimeModule.java
@@ -0,0 +1,11 @@
1/*
2 * generated by Xtext
3 */
4package hu.bme.mit.inf.dslreasoner;
5
6/**
7 * Use this class to register components to be used at runtime / without the Equinox extension registry.
8 */
9public class AlloyLanguageRuntimeModule extends hu.bme.mit.inf.dslreasoner.AbstractAlloyLanguageRuntimeModule {
10
11}
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/AlloyLanguageStandaloneSetup.java b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/AlloyLanguageStandaloneSetup.java
new file mode 100644
index 00000000..bb1447eb
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/AlloyLanguageStandaloneSetup.java
@@ -0,0 +1,16 @@
1/*
2* generated by Xtext
3*/
4package hu.bme.mit.inf.dslreasoner;
5
6/**
7 * Initialization support for running Xtext languages
8 * without equinox extension registry
9 */
10public class AlloyLanguageStandaloneSetup extends AlloyLanguageStandaloneSetupGenerated{
11
12 public static void doSetup() {
13 new AlloyLanguageStandaloneSetup().createInjectorAndDoEMFRegistration();
14 }
15}
16
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/GenerateAlloyLanguage.mwe2 b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/GenerateAlloyLanguage.mwe2
new file mode 100644
index 00000000..fa57e2de
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/GenerateAlloyLanguage.mwe2
@@ -0,0 +1,133 @@
1module hu.bme.mit.inf.dslreasoner.GenerateAlloyLanguage
2
3import org.eclipse.emf.mwe.utils.*
4import org.eclipse.xtext.generator.*
5import org.eclipse.xtext.ui.generator.*
6
7var grammarURI = "classpath:/hu/bme/mit/inf/dslreasoner/AlloyLanguage.xtext"
8var fileExtensions = "als"
9var projectName = "hu.bme.mit.inf.dslreasoner.alloy.language"
10var runtimeProject = "../${projectName}"
11var generateXtendStub = true
12var encoding = "UTF-8"
13
14Workflow {
15 bean = StandaloneSetup {
16 scanClassPath = true
17 platformUri = "${runtimeProject}/.."
18 // The following two lines can be removed, if Xbase is not used.
19 registerGeneratedEPackage = "org.eclipse.xtext.xbase.XbasePackage"
20 registerGenModelFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel"
21 }
22
23 component = DirectoryCleaner {
24 directory = "${runtimeProject}/src-gen"
25 }
26
27 component = DirectoryCleaner {
28 directory = "${runtimeProject}/model/generated"
29 }
30
31 component = DirectoryCleaner {
32 directory = "${runtimeProject}.ui/src-gen"
33 }
34
35// component = DirectoryCleaner {
36// directory = "${runtimeProject}.tests/src-gen"
37// }
38
39 component = Generator {
40 pathRtProject = runtimeProject
41 pathUiProject = "${runtimeProject}.ui"
42 //pathTestProject = "${runtimeProject}.tests"
43 projectNameRt = projectName
44 projectNameUi = "${projectName}.ui"
45 encoding = encoding
46 language = auto-inject {
47 uri = grammarURI
48
49 // Java API to access grammar elements (required by several other fragments)
50 fragment = grammarAccess.GrammarAccessFragment auto-inject {}
51
52 // generates Java API for the generated EPackages
53 fragment = ecore.EMFGeneratorFragment auto-inject {}
54
55 // the old serialization component
56 // fragment = parseTreeConstructor.ParseTreeConstructorFragment auto-inject {}
57
58 // serializer 2.0
59 fragment = serializer.SerializerFragment auto-inject {
60 generateStub = false
61 }
62
63 // a custom ResourceFactory for use with EMF
64 fragment = resourceFactory.ResourceFactoryFragment auto-inject {}
65
66 // The antlr parser generator fragment.
67 fragment = parser.antlr.XtextAntlrGeneratorFragment auto-inject {
68 // options = {
69 // backtrack = true
70 // }
71 }
72
73 // Xtend-based API for validation
74 fragment = validation.ValidatorFragment auto-inject {
75 // composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
76 // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
77 }
78
79 // old scoping and exporting API
80 // fragment = scoping.ImportURIScopingFragment auto-inject {}
81 // fragment = exporting.SimpleNamesFragment auto-inject {}
82
83 // scoping and exporting API
84 fragment = scoping.ImportNamespacesScopingFragment auto-inject {}
85 fragment = exporting.QualifiedNamesFragment auto-inject {}
86 fragment = builder.BuilderIntegrationFragment auto-inject {}
87
88 // generator API
89 fragment = generator.GeneratorFragment auto-inject {}
90
91 // formatter API
92 fragment = formatting.FormatterFragment auto-inject {}
93
94 // labeling API
95 fragment = labeling.LabelProviderFragment auto-inject {}
96
97 // outline API
98 fragment = outline.OutlineTreeProviderFragment auto-inject {}
99 fragment = outline.QuickOutlineFragment auto-inject {}
100
101 // quickfix API
102 fragment = quickfix.QuickfixProviderFragment auto-inject {}
103
104 // content assist API
105 fragment = contentAssist.ContentAssistFragment auto-inject {}
106
107 // generates a more lightweight Antlr parser and lexer tailored for content assist
108 fragment = parser.antlr.XtextAntlrUiGeneratorFragment auto-inject {}
109
110 // generates junit test support classes into Generator#pathTestProject
111 fragment = junit.Junit4Fragment auto-inject {}
112
113 // rename refactoring
114 fragment = refactoring.RefactorElementNameFragment auto-inject {}
115
116 // provides the necessary bindings for java types integration
117 fragment = types.TypesGeneratorFragment auto-inject {}
118
119 // generates the required bindings only if the grammar inherits from Xbase
120 fragment = xbase.XbaseGeneratorFragment auto-inject {}
121
122 // generates the required bindings only if the grammar inherits from Xtype
123 fragment = xbase.XtypeGeneratorFragment auto-inject {}
124
125 // provides a preference page for template proposals
126 fragment = templates.CodetemplatesGeneratorFragment auto-inject {}
127
128 // provides a compare view
129 fragment = compare.CompareFragment auto-inject {}
130 }
131 }
132}
133
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/formatting/AlloyLanguageFormatter.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/formatting/AlloyLanguageFormatter.xtend
new file mode 100644
index 00000000..28797bc4
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/formatting/AlloyLanguageFormatter.xtend
@@ -0,0 +1,96 @@
1/*
2 * generated by Xtext
3 */
4package hu.bme.mit.inf.dslreasoner.formatting
5
6import com.google.inject.Inject
7import hu.bme.mit.inf.dslreasoner.services.AlloyLanguageGrammarAccess
8import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter
9import org.eclipse.xtext.formatting.impl.FormattingConfig
10
11/**
12 * This class contains custom formatting description.
13 *
14 * see : http://www.eclipse.org/Xtext/documentation.html#formatting
15 * on how and when to use it
16 *
17 * Also see {@link org.eclipse.xtext.xtext.XtextFormattingTokenSerializer} as an example
18 */
19class AlloyLanguageFormatter extends AbstractDeclarativeFormatter {
20
21 @Inject extension AlloyLanguageGrammarAccess
22
23 override protected void configureFormatting(FormattingConfig c) {
24 // It's usually a good idea to activate the following three statements.
25 // They will add and preserve newlines around comments
26 c.setLinewrap(0, 1, 2).before(SL_COMMENTRule)
27 c.setLinewrap(0, 1, 2).before(ML_COMMENTRule)
28 c.setLinewrap(0, 1, 1).after(ML_COMMENTRule)
29
30 c.setAutoLinewrap(100000);
31
32 //Signatures
33 c.setIndentationIncrement.after(ALSSignatureBodyAccess.leftCurlyBracketKeyword_5);
34 c.setLinewrap.after(ALSSignatureBodyAccess.leftCurlyBracketKeyword_5)
35 c.setIndentationDecrement.before(ALSSignatureBodyAccess.rightCurlyBracketKeyword_7);
36 c.setLinewrap.after(ALSSignatureBodyAccess.rightCurlyBracketKeyword_7)
37 c.setLinewrap.before(ALSSignatureBodyAccess.rightCurlyBracketKeyword_7)
38 c.setNoSpace.before(ALSSignatureBodyAccess.commaKeyword_3_0)
39 c.setLinewrap.after(ALSSignatureBodyAccess.commaKeyword_3_0)
40 c.setNoSpace.before(ALSSignatureBodyAccess.commaKeyword_3_0)
41 c.setNoSpace.before(ALSSignatureBodyAccess.commaKeyword_6_1_0)
42 c.setLinewrap.after(ALSSignatureBodyAccess.commaKeyword_6_1_0)
43 c.setNoSpace.before(ALSSignatureBodyAccess.commaKeyword_6_1_0)
44 //c.setLinewrap(0,1,2).between(ALSSignatureDeclarationRule,ALSSignatureDeclarationRule)
45
46 //Enums
47 c.setIndentationIncrement.after(ALSEnumDeclarationAccess.leftCurlyBracketKeyword_2)
48 c.setLinewrap.after(ALSEnumDeclarationAccess.leftCurlyBracketKeyword_2)
49 c.setIndentationDecrement.before(ALSEnumDeclarationAccess.rightCurlyBracketKeyword_5)
50 c.setLinewrap.before(ALSEnumDeclarationAccess.rightCurlyBracketKeyword_5)
51 c.setLinewrap.after(ALSEnumDeclarationAccess.rightCurlyBracketKeyword_5)
52 c.setNoSpace.before(ALSEnumDeclarationAccess.commaKeyword_4_0)
53
54
55 //facts
56 c.setIndentationIncrement.after(ALSFactDeclarationAccess.leftCurlyBracketKeyword_3)
57 c.setLinewrap.after(ALSFactDeclarationAccess.leftCurlyBracketKeyword_3)
58 c.setIndentationDecrement.before(ALSFactDeclarationAccess.rightCurlyBracketKeyword_5)
59 c.setLinewrap.before(ALSFactDeclarationAccess.rightCurlyBracketKeyword_5)
60 c.setLinewrap.after(ALSFactDeclarationAccess.rightCurlyBracketKeyword_5)
61
62 //predicates
63 c.setIndentationIncrement.after(ALSRelationDefinitionAccess.leftCurlyBracketKeyword_6)
64 c.setLinewrap.after(ALSRelationDefinitionAccess.leftCurlyBracketKeyword_6)
65 c.setIndentationDecrement.before(ALSRelationDefinitionAccess.rightCurlyBracketKeyword_8)
66 c.setLinewrap.before(ALSRelationDefinitionAccess.rightCurlyBracketKeyword_8)
67 c.setLinewrap.after(ALSRelationDefinitionAccess.rightCurlyBracketKeyword_8)
68 c.setNoSpace.after(ALSRelationDefinitionAccess.leftSquareBracketKeyword_2)
69 c.setNoSpace.before(ALSRelationDefinitionAccess.rightSquareBracketKeyword_5)
70 c.setNoSpace.before(ALSRelationDefinitionAccess.commaKeyword_4_0)
71
72 // terms
73 //c.setNoSpace.before(ALSJoinAccess.rightSquareBracketKeyword_1_2_1_3)
74 c.setNoSpace.before(ALSJoinAccess.fullStopKeyword_1_1)
75 c.setNoSpace.after(ALSJoinAccess.fullStopKeyword_1_1)
76
77 c.setNoSpace.before(ALSDirectProductAccess.hyphenMinusGreaterThanSignKeyword_1_2)
78 c.setNoSpace.after(ALSDirectProductAccess.hyphenMinusGreaterThanSignKeyword_1_2)
79
80 c.setNoSpace.before(ALSVariableDeclarationAccess.colonKeyword_1)
81// c.setNoSpace.before(ALSPreficedAccess.commaKeyword_5_3_0)
82// c.setNoSpace.before(ALSPreficedAccess.commaKeyword_6_4_0)
83//
84// c.setIndentationIncrement.after(ALSPreficedAccess.leftCurlyBracketKeyword_5_4)
85// c.setLinewrap.after(ALSPreficedAccess.leftCurlyBracketKeyword_5_4)
86// c.setLinewrap.before(ALSPreficedAccess.rightCurlyBracketKeyword_5_6)
87// c.setIndentationDecrement.before(ALSPreficedAccess.rightCurlyBracketKeyword_5_6)
88
89 c.setNoSpace.after(ALSBasicRelationTermAccess.leftParenthesisKeyword_6_0)
90 c.setNoSpace.before(ALSBasicRelationTermAccess.rightParenthesisKeyword_6_2)
91
92 // Quantified expression
93 c.setNoSpace.before(ALSQuantifiedAccess.commaKeyword_0_4_0)
94
95 }
96}
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/generator/AlloyLanguageGenerator.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/generator/AlloyLanguageGenerator.xtend
new file mode 100644
index 00000000..9afcc300
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/generator/AlloyLanguageGenerator.xtend
@@ -0,0 +1,24 @@
1/*
2 * generated by Xtext
3 */
4package hu.bme.mit.inf.dslreasoner.generator
5
6import org.eclipse.emf.ecore.resource.Resource
7import org.eclipse.xtext.generator.IGenerator
8import org.eclipse.xtext.generator.IFileSystemAccess
9
10/**
11 * Generates code from your model files on save.
12 *
13 * see http://www.eclipse.org/Xtext/documentation.html#TutorialCodeGeneration
14 */
15class AlloyLanguageGenerator implements IGenerator {
16
17 override void doGenerate(Resource resource, IFileSystemAccess fsa) {
18// fsa.generateFile('greetings.txt', 'People to greet: ' +
19// resource.allContents
20// .filter(typeof(Greeting))
21// .map[name]
22// .join(', '))
23 }
24}
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/scoping/AlloyLanguageScopeProvider.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/scoping/AlloyLanguageScopeProvider.xtend
new file mode 100644
index 00000000..6e095f3c
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/scoping/AlloyLanguageScopeProvider.xtend
@@ -0,0 +1,81 @@
1/*
2 * generated by Xtext
3 */
4package hu.bme.mit.inf.dslreasoner.scoping
5
6import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSDefinition
7import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSDocument
8import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSEnumDeclaration
9import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSFunctionCall
10import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSQuantifiedEx
11import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSReference
12import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSRelationDeclaration
13import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSRelationDefinition
14import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSSignatureBody
15import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSSum
16import java.util.ArrayList
17import java.util.Collections
18import java.util.HashSet
19import java.util.LinkedList
20import java.util.List
21import java.util.Set
22import org.eclipse.emf.ecore.EObject
23import org.eclipse.emf.ecore.EReference
24import org.eclipse.xtext.scoping.IScope
25import org.eclipse.xtext.scoping.Scopes
26import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider
27
28/**
29 * This class contains custom scoping description.
30 *
31 * see : http://www.eclipse.org/Xtext/documentation.html#scoping
32 * on how and when to use it
33 *
34 */
35class AlloyLanguageScopeProvider extends AbstractDeclarativeScopeProvider {
36
37 def public IScope scope_ALSReference_referred(ALSReference alsReferecnce, EReference ref) {
38 val Set<ALSRelationDeclaration> declarations = new HashSet
39
40 val parent = alsReferecnce.getAllParents(ALSDocument).head as ALSDocument
41 val signatures = parent.signatureBodies.map[ALSSignatureBody x|x.declarations].flatten
42 declarations+=parent.enumDeclarations
43 declarations+=signatures
44 declarations+=parent.enumDeclarations.map[ALSEnumDeclaration x | x.literal].flatten
45 declarations+=parent.signatureBodies.map[ALSSignatureBody x|x.fields].flatten
46
47 declarations+=alsReferecnce.getAllParents(ALSQuantifiedEx).map[ALSQuantifiedEx x | x.variables].flatten
48 declarations+=alsReferecnce.getAllParents(ALSSum).map[ALSSum x | x.variables].flatten
49 declarations+=alsReferecnce.getAllParents(ALSRelationDefinition).map[ALSRelationDefinition x | x.variables].flatten
50
51// println("---")
52// println(declarations.map[it.name].join(", "))
53
54 return Scopes.scopeFor(declarations)
55 }
56 //{ALSFunctionCall} (/*functionName=ALSID |*/ referredDefinition=[ALSDefinition])
57 def public IScope scope_ALSFunctionCall_referredDefinition(ALSFunctionCall call, EReference ref) {
58 val parent = call.<ALSDocument>getAllParents(ALSDocument).head as ALSDocument
59 val list = new LinkedList<ALSDefinition>
60 list += parent.relationDefinitions
61 list += parent.functionDefinitions
62 //list.forEach[println(it.name + " " + it.eContainer)]
63 return Scopes.scopeFor(list)
64 }
65
66 def <X extends EObject> List<X> getAllParents(EObject object, Class<X> type) {
67 if(object.eContainer == null) {
68 return Collections.EMPTY_LIST
69 } else {
70 val container = object.eContainer;
71 val previousParents = container.getAllParents(type)
72 if(type.isInstance(container)){
73 val res = new ArrayList(previousParents)
74 res+= container as X
75 return res
76 }
77 else return previousParents
78
79 }
80 }
81}
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/validation/AlloyLanguageValidator.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/validation/AlloyLanguageValidator.xtend
new file mode 100644
index 00000000..8e1efc99
--- /dev/null
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src/hu/bme/mit/inf/dslreasoner/validation/AlloyLanguageValidator.xtend
@@ -0,0 +1,24 @@
1/*
2 * generated by Xtext
3 */
4package hu.bme.mit.inf.dslreasoner.validation
5//import org.eclipse.xtext.validation.Check
6
7/**
8 * Custom validation rules.
9 *
10 * see http://www.eclipse.org/Xtext/documentation.html#validation
11 */
12class AlloyLanguageValidator extends AbstractAlloyLanguageValidator {
13
14// public static val INVALID_NAME = 'invalidName'
15//
16// @Check
17// def checkGreetingStartsWithCapital(Greeting greeting) {
18// if (!Character.isUpperCase(greeting.name.charAt(0))) {
19// warning('Name should start with a capital',
20// MyDslPackage.Literals.GREETING__NAME,
21// INVALID_NAME)
22// }
23// }
24}
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.classpath b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.classpath
new file mode 100644
index 00000000..1287f96c
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.classpath
@@ -0,0 +1,9 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="src"/>
4 <classpathentry kind="src" path="src-gen"/>
5 <classpathentry kind="src" path="xtend-gen"/>
6 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
7 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
8 <classpathentry kind="output" path="bin"/>
9</classpath>
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.gitignore b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.gitignore
new file mode 100644
index 00000000..8ae4e44d
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.gitignore
@@ -0,0 +1,4 @@
1/bin/
2/src-gen/
3/vql-gen/
4/xtend-gen/
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.project b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.project
new file mode 100644
index 00000000..94d225bf
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.smt.language.ui</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.jdt.core.javabuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.pde.ManifestBuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.SchemaBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.jdt.core.javanature</nature>
31 <nature>org.eclipse.pde.PluginNature</nature>
32 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.settings/org.eclipse.core.resources.prefs b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..4824b802
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
1eclipse.preferences.version=1
2encoding/<project>=UTF-8
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.settings/org.eclipse.jdt.core.prefs b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/META-INF/MANIFEST.MF b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..ba28b7ef
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,27 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: hu.bme.mit.inf.dslreasoner.smt.language.ui
4Bundle-Vendor: My Company
5Bundle-Version: 1.0.0.qualifier
6Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.smt.language.ui; singleton:=true
7Bundle-ActivationPolicy: lazy
8Require-Bundle: hu.bme.mit.inf.dslreasoner.smt.language;visibility:=reexport,
9 org.eclipse.xtext.ui,
10 org.eclipse.ui.editors;bundle-version="3.5.0",
11 org.eclipse.ui.ide;bundle-version="3.5.0",
12 org.eclipse.xtext.ui.shared,
13 org.eclipse.ui,
14 org.eclipse.xtext.builder,
15 org.antlr.runtime,
16 org.eclipse.xtext.common.types.ui,
17 org.eclipse.xtext.ui.codetemplates.ui,
18 org.eclipse.compare,
19 org.eclipse.xtext.xbase.lib
20Import-Package: org.apache.log4j,
21 org.eclipse.xtext.xbase.lib
22Bundle-RequiredExecutionEnvironment: J2SE-1.5
23Export-Package: hu.bme.mit.inf.dslreasoner.ui.quickfix,
24 hu.bme.mit.inf.dslreasoner.ui.contentassist,
25 hu.bme.mit.inf.dslreasoner.ui.contentassist.antlr,
26 hu.bme.mit.inf.dslreasoner.ui.internal
27Bundle-Activator: hu.bme.mit.inf.dslreasoner.ui.internal.SmtLanguageActivator
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/build.properties b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/build.properties
new file mode 100644
index 00000000..31255ed0
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/build.properties
@@ -0,0 +1,6 @@
1source.. = src/,\
2 src-gen/,\
3 xtend-gen/
4bin.includes = META-INF/,\
5 .,\
6 plugin.xml \ No newline at end of file
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/plugin.xml b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/plugin.xml
new file mode 100644
index 00000000..2602c957
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/plugin.xml
@@ -0,0 +1,398 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3
4<plugin>
5
6 <extension
7 point="org.eclipse.ui.editors">
8 <editor
9 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
10 contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
11 default="true"
12 extensions="smt2"
13 id="hu.bme.mit.inf.dslreasoner.SmtLanguage"
14 name="SmtLanguage Editor">
15 </editor>
16 </extension>
17 <extension
18 point="org.eclipse.ui.handlers">
19 <handler
20 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
21 commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
22 <activeWhen>
23 <reference
24 definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
25 </reference>
26 </activeWhen>
27 </handler>
28 <handler
29 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
30 commandId="hu.bme.mit.inf.dslreasoner.SmtLanguage.validate">
31 <activeWhen>
32 <reference
33 definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
34 </reference>
35 </activeWhen>
36 </handler>
37 <!-- copy qualified name -->
38 <handler
39 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
40 commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
41 <activeWhen>
42 <reference definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened" />
43 </activeWhen>
44 </handler>
45 <handler
46 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
47 commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
48 <activeWhen>
49 <and>
50 <reference definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.XtextEditor.opened" />
51 <iterate>
52 <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
53 </iterate>
54 </and>
55 </activeWhen>
56 </handler>
57 </extension>
58 <extension point="org.eclipse.core.expressions.definitions">
59 <definition id="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
60 <and>
61 <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
62 <with variable="activeEditor">
63 <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
64 value="hu.bme.mit.inf.dslreasoner.SmtLanguage"
65 forcePluginActivation="true"/>
66 </with>
67 </and>
68 </definition>
69 <definition id="hu.bme.mit.inf.dslreasoner.SmtLanguage.XtextEditor.opened">
70 <and>
71 <reference definitionId="isXtextEditorActive"/>
72 <with variable="activeEditor">
73 <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
74 value="hu.bme.mit.inf.dslreasoner.SmtLanguage"
75 forcePluginActivation="true"/>
76 </with>
77 </and>
78 </definition>
79 </extension>
80 <extension
81 point="org.eclipse.ui.preferencePages">
82 <page
83 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
84 id="hu.bme.mit.inf.dslreasoner.SmtLanguage"
85 name="SmtLanguage">
86 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_SmtLanguage"/>
87 </page>
88 <page
89 category="hu.bme.mit.inf.dslreasoner.SmtLanguage"
90 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
91 id="hu.bme.mit.inf.dslreasoner.SmtLanguage.coloring"
92 name="Syntax Coloring">
93 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_SmtLanguage"/>
94 </page>
95 <page
96 category="hu.bme.mit.inf.dslreasoner.SmtLanguage"
97 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
98 id="hu.bme.mit.inf.dslreasoner.SmtLanguage.templates"
99 name="Templates">
100 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_SmtLanguage"/>
101 </page>
102 </extension>
103 <extension
104 point="org.eclipse.ui.propertyPages">
105 <page
106 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
107 id="hu.bme.mit.inf.dslreasoner.SmtLanguage"
108 name="SmtLanguage">
109 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_SmtLanguage"/>
110 <enabledWhen>
111 <adapt type="org.eclipse.core.resources.IProject"/>
112 </enabledWhen>
113 <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
114 </page>
115 </extension>
116 <extension
117 point="org.eclipse.ui.keywords">
118 <keyword
119 id="hu.bme.mit.inf.dslreasoner.ui.keyword_SmtLanguage"
120 label="SmtLanguage"/>
121 </extension>
122 <extension
123 point="org.eclipse.ui.commands">
124 <command
125 description="Trigger expensive validation"
126 id="hu.bme.mit.inf.dslreasoner.SmtLanguage.validate"
127 name="Validate">
128 </command>
129 <!-- copy qualified name -->
130 <command
131 id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
132 categoryId="org.eclipse.ui.category.edit"
133 description="Copy the qualified name for the selected element"
134 name="Copy Qualified Name">
135 </command>
136 <command
137 id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
138 categoryId="org.eclipse.ui.category.edit"
139 description="Copy the qualified name for the selected element"
140 name="Copy Qualified Name">
141 </command>
142 </extension>
143 <extension point="org.eclipse.ui.menus">
144 <menuContribution
145 locationURI="popup:#TextEditorContext?after=group.edit">
146 <command
147 commandId="hu.bme.mit.inf.dslreasoner.SmtLanguage.validate"
148 style="push"
149 tooltip="Trigger expensive validation">
150 <visibleWhen checkEnabled="false">
151 <reference
152 definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
153 </reference>
154 </visibleWhen>
155 </command>
156 </menuContribution>
157 <!-- copy qualified name -->
158 <menuContribution locationURI="popup:#TextEditorContext?after=copy">
159 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
160 style="push" tooltip="Copy Qualified Name">
161 <visibleWhen checkEnabled="false">
162 <reference definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened" />
163 </visibleWhen>
164 </command>
165 </menuContribution>
166 <menuContribution locationURI="menu:edit?after=copy">
167 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
168 style="push" tooltip="Copy Qualified Name">
169 <visibleWhen checkEnabled="false">
170 <reference definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened" />
171 </visibleWhen>
172 </command>
173 </menuContribution>
174 <menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
175 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
176 style="push" tooltip="Copy Qualified Name">
177 <visibleWhen checkEnabled="false">
178 <and>
179 <reference definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.XtextEditor.opened" />
180 <iterate>
181 <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
182 </iterate>
183 </and>
184 </visibleWhen>
185 </command>
186 </menuContribution>
187 </extension>
188 <extension point="org.eclipse.ui.menus">
189 <menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
190 <command commandId="org.eclipse.xtext.ui.editor.FindReferences">
191 <visibleWhen checkEnabled="false">
192 <reference definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
193 </reference>
194 </visibleWhen>
195 </command>
196 </menuContribution>
197 </extension>
198 <extension point="org.eclipse.ui.handlers">
199 <handler
200 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
201 commandId="org.eclipse.xtext.ui.editor.FindReferences">
202 <activeWhen>
203 <reference
204 definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
205 </reference>
206 </activeWhen>
207 </handler>
208 </extension>
209
210<!-- adding resource factories -->
211
212 <extension
213 point="org.eclipse.emf.ecore.extension_parser">
214 <parser
215 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
216 type="smt2">
217 </parser>
218 </extension>
219 <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
220 <resourceServiceProvider
221 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
222 uriExtension="smt2">
223 </resourceServiceProvider>
224 </extension>
225
226
227 <!-- marker definitions for hu.bme.mit.inf.dslreasoner.SmtLanguage -->
228 <extension
229 id="smtlanguage.check.fast"
230 name="SmtLanguage Problem"
231 point="org.eclipse.core.resources.markers">
232 <super type="org.eclipse.xtext.ui.check.fast"/>
233 <persistent value="true"/>
234 </extension>
235 <extension
236 id="smtlanguage.check.normal"
237 name="SmtLanguage Problem"
238 point="org.eclipse.core.resources.markers">
239 <super type="org.eclipse.xtext.ui.check.normal"/>
240 <persistent value="true"/>
241 </extension>
242 <extension
243 id="smtlanguage.check.expensive"
244 name="SmtLanguage Problem"
245 point="org.eclipse.core.resources.markers">
246 <super type="org.eclipse.xtext.ui.check.expensive"/>
247 <persistent value="true"/>
248 </extension>
249
250 <extension
251 point="org.eclipse.xtext.builder.participant">
252 <participant
253 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
254 fileExtensions="smt2"
255 >
256 </participant>
257 </extension>
258 <extension
259 point="org.eclipse.ui.preferencePages">
260 <page
261 category="hu.bme.mit.inf.dslreasoner.SmtLanguage"
262 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
263 id="hu.bme.mit.inf.dslreasoner.SmtLanguage.compiler.preferencePage"
264 name="Compiler">
265 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_SmtLanguage"/>
266 </page>
267 </extension>
268 <extension
269 point="org.eclipse.ui.propertyPages">
270 <page
271 category="hu.bme.mit.inf.dslreasoner.SmtLanguage"
272 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
273 id="hu.bme.mit.inf.dslreasoner.SmtLanguage.compiler.propertyPage"
274 name="Compiler">
275 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_SmtLanguage"/>
276 <enabledWhen>
277 <adapt type="org.eclipse.core.resources.IProject"/>
278 </enabledWhen>
279 <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
280 </page>
281 </extension>
282
283 <!-- Quick Outline -->
284 <extension
285 point="org.eclipse.ui.handlers">
286 <handler
287 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
288 commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
289 <activeWhen>
290 <reference
291 definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
292 </reference>
293 </activeWhen>
294 </handler>
295 </extension>
296 <extension
297 point="org.eclipse.ui.commands">
298 <command
299 description="Open the quick outline."
300 id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
301 name="Quick Outline">
302 </command>
303 </extension>
304 <extension point="org.eclipse.ui.menus">
305 <menuContribution
306 locationURI="popup:#TextEditorContext?after=group.open">
307 <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
308 style="push"
309 tooltip="Open Quick Outline">
310 <visibleWhen checkEnabled="false">
311 <reference definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened"/>
312 </visibleWhen>
313 </command>
314 </menuContribution>
315 </extension>
316 <!-- quickfix marker resolution generator for hu.bme.mit.inf.dslreasoner.SmtLanguage -->
317 <extension
318 point="org.eclipse.ui.ide.markerResolution">
319 <markerResolutionGenerator
320 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
321 markerType="hu.bme.mit.inf.dslreasoner.ui.smtlanguage.check.fast">
322 <attribute
323 name="FIXABLE_KEY"
324 value="true">
325 </attribute>
326 </markerResolutionGenerator>
327 <markerResolutionGenerator
328 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
329 markerType="hu.bme.mit.inf.dslreasoner.ui.smtlanguage.check.normal">
330 <attribute
331 name="FIXABLE_KEY"
332 value="true">
333 </attribute>
334 </markerResolutionGenerator>
335 <markerResolutionGenerator
336 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
337 markerType="hu.bme.mit.inf.dslreasoner.ui.smtlanguage.check.expensive">
338 <attribute
339 name="FIXABLE_KEY"
340 value="true">
341 </attribute>
342 </markerResolutionGenerator>
343 </extension>
344 <!-- Rename Refactoring -->
345 <extension point="org.eclipse.ui.handlers">
346 <handler
347 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
348 commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
349 <activeWhen>
350 <reference
351 definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
352 </reference>
353 </activeWhen>
354 </handler>
355 </extension>
356 <extension point="org.eclipse.ui.menus">
357 <menuContribution
358 locationURI="popup:#TextEditorContext?after=group.edit">
359 <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
360 style="push">
361 <visibleWhen checkEnabled="false">
362 <reference
363 definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
364 </reference>
365 </visibleWhen>
366 </command>
367 </menuContribution>
368 </extension>
369 <extension point="org.eclipse.ui.preferencePages">
370 <page
371 category="hu.bme.mit.inf.dslreasoner.SmtLanguage"
372 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
373 id="hu.bme.mit.inf.dslreasoner.SmtLanguage.refactoring"
374 name="Refactoring">
375 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_SmtLanguage"/>
376 </page>
377 </extension>
378
379 <extension point="org.eclipse.compare.contentViewers">
380 <viewer id="hu.bme.mit.inf.dslreasoner.SmtLanguage.compare.contentViewers"
381 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
382 extensions="smt2">
383 </viewer>
384 </extension>
385 <extension point="org.eclipse.compare.contentMergeViewers">
386 <viewer id="hu.bme.mit.inf.dslreasoner.SmtLanguage.compare.contentMergeViewers"
387 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
388 extensions="smt2" label="SmtLanguage Compare">
389 </viewer>
390 </extension>
391 <extension point="org.eclipse.ui.editors.documentProviders">
392 <provider id="hu.bme.mit.inf.dslreasoner.SmtLanguage.editors.documentProviders"
393 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
394 extensions="smt2">
395 </provider>
396 </extension>
397
398</plugin>
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/plugin.xml_gen b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/plugin.xml_gen
new file mode 100644
index 00000000..4edb0697
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/plugin.xml_gen
@@ -0,0 +1,398 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3
4<plugin>
5
6 <extension
7 point="org.eclipse.ui.editors">
8 <editor
9 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
10 contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
11 default="true"
12 extensions="smt2"
13 id="hu.bme.mit.inf.dslreasoner.SmtLanguage"
14 name="SmtLanguage Editor">
15 </editor>
16 </extension>
17 <extension
18 point="org.eclipse.ui.handlers">
19 <handler
20 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
21 commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
22 <activeWhen>
23 <reference
24 definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
25 </reference>
26 </activeWhen>
27 </handler>
28 <handler
29 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
30 commandId="hu.bme.mit.inf.dslreasoner.SmtLanguage.validate">
31 <activeWhen>
32 <reference
33 definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
34 </reference>
35 </activeWhen>
36 </handler>
37 <!-- copy qualified name -->
38 <handler
39 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
40 commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
41 <activeWhen>
42 <reference definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened" />
43 </activeWhen>
44 </handler>
45 <handler
46 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
47 commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
48 <activeWhen>
49 <and>
50 <reference definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.XtextEditor.opened" />
51 <iterate>
52 <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
53 </iterate>
54 </and>
55 </activeWhen>
56 </handler>
57 </extension>
58 <extension point="org.eclipse.core.expressions.definitions">
59 <definition id="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
60 <and>
61 <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
62 <with variable="activeEditor">
63 <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
64 value="hu.bme.mit.inf.dslreasoner.SmtLanguage"
65 forcePluginActivation="true"/>
66 </with>
67 </and>
68 </definition>
69 <definition id="hu.bme.mit.inf.dslreasoner.SmtLanguage.XtextEditor.opened">
70 <and>
71 <reference definitionId="isXtextEditorActive"/>
72 <with variable="activeEditor">
73 <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
74 value="hu.bme.mit.inf.dslreasoner.SmtLanguage"
75 forcePluginActivation="true"/>
76 </with>
77 </and>
78 </definition>
79 </extension>
80 <extension
81 point="org.eclipse.ui.preferencePages">
82 <page
83 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
84 id="hu.bme.mit.inf.dslreasoner.SmtLanguage"
85 name="SmtLanguage">
86 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_SmtLanguage"/>
87 </page>
88 <page
89 category="hu.bme.mit.inf.dslreasoner.SmtLanguage"
90 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
91 id="hu.bme.mit.inf.dslreasoner.SmtLanguage.coloring"
92 name="Syntax Coloring">
93 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_SmtLanguage"/>
94 </page>
95 <page
96 category="hu.bme.mit.inf.dslreasoner.SmtLanguage"
97 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
98 id="hu.bme.mit.inf.dslreasoner.SmtLanguage.templates"
99 name="Templates">
100 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_SmtLanguage"/>
101 </page>
102 </extension>
103 <extension
104 point="org.eclipse.ui.propertyPages">
105 <page
106 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
107 id="hu.bme.mit.inf.dslreasoner.SmtLanguage"
108 name="SmtLanguage">
109 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_SmtLanguage"/>
110 <enabledWhen>
111 <adapt type="org.eclipse.core.resources.IProject"/>
112 </enabledWhen>
113 <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
114 </page>
115 </extension>
116 <extension
117 point="org.eclipse.ui.keywords">
118 <keyword
119 id="hu.bme.mit.inf.dslreasoner.ui.keyword_SmtLanguage"
120 label="SmtLanguage"/>
121 </extension>
122 <extension
123 point="org.eclipse.ui.commands">
124 <command
125 description="Trigger expensive validation"
126 id="hu.bme.mit.inf.dslreasoner.SmtLanguage.validate"
127 name="Validate">
128 </command>
129 <!-- copy qualified name -->
130 <command
131 id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
132 categoryId="org.eclipse.ui.category.edit"
133 description="Copy the qualified name for the selected element"
134 name="Copy Qualified Name">
135 </command>
136 <command
137 id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
138 categoryId="org.eclipse.ui.category.edit"
139 description="Copy the qualified name for the selected element"
140 name="Copy Qualified Name">
141 </command>
142 </extension>
143 <extension point="org.eclipse.ui.menus">
144 <menuContribution
145 locationURI="popup:#TextEditorContext?after=group.edit">
146 <command
147 commandId="hu.bme.mit.inf.dslreasoner.SmtLanguage.validate"
148 style="push"
149 tooltip="Trigger expensive validation">
150 <visibleWhen checkEnabled="false">
151 <reference
152 definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
153 </reference>
154 </visibleWhen>
155 </command>
156 </menuContribution>
157 <!-- copy qualified name -->
158 <menuContribution locationURI="popup:#TextEditorContext?after=copy">
159 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
160 style="push" tooltip="Copy Qualified Name">
161 <visibleWhen checkEnabled="false">
162 <reference definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened" />
163 </visibleWhen>
164 </command>
165 </menuContribution>
166 <menuContribution locationURI="menu:edit?after=copy">
167 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
168 style="push" tooltip="Copy Qualified Name">
169 <visibleWhen checkEnabled="false">
170 <reference definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened" />
171 </visibleWhen>
172 </command>
173 </menuContribution>
174 <menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
175 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
176 style="push" tooltip="Copy Qualified Name">
177 <visibleWhen checkEnabled="false">
178 <and>
179 <reference definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.XtextEditor.opened" />
180 <iterate>
181 <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
182 </iterate>
183 </and>
184 </visibleWhen>
185 </command>
186 </menuContribution>
187 </extension>
188 <extension point="org.eclipse.ui.menus">
189 <menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
190 <command commandId="org.eclipse.xtext.ui.editor.FindReferences">
191 <visibleWhen checkEnabled="false">
192 <reference definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
193 </reference>
194 </visibleWhen>
195 </command>
196 </menuContribution>
197 </extension>
198 <extension point="org.eclipse.ui.handlers">
199 <handler
200 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
201 commandId="org.eclipse.xtext.ui.editor.FindReferences">
202 <activeWhen>
203 <reference
204 definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
205 </reference>
206 </activeWhen>
207 </handler>
208 </extension>
209
210<!-- adding resource factories -->
211
212 <extension
213 point="org.eclipse.emf.ecore.extension_parser">
214 <parser
215 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
216 type="smt2">
217 </parser>
218 </extension>
219 <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
220 <resourceServiceProvider
221 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
222 uriExtension="smt2">
223 </resourceServiceProvider>
224 </extension>
225
226
227 <!-- marker definitions for hu.bme.mit.inf.dslreasoner.SmtLanguage -->
228 <extension
229 id="smtlanguage.check.fast"
230 name="SmtLanguage Problem"
231 point="org.eclipse.core.resources.markers">
232 <super type="org.eclipse.xtext.ui.check.fast"/>
233 <persistent value="true"/>
234 </extension>
235 <extension
236 id="smtlanguage.check.normal"
237 name="SmtLanguage Problem"
238 point="org.eclipse.core.resources.markers">
239 <super type="org.eclipse.xtext.ui.check.normal"/>
240 <persistent value="true"/>
241 </extension>
242 <extension
243 id="smtlanguage.check.expensive"
244 name="SmtLanguage Problem"
245 point="org.eclipse.core.resources.markers">
246 <super type="org.eclipse.xtext.ui.check.expensive"/>
247 <persistent value="true"/>
248 </extension>
249
250 <extension
251 point="org.eclipse.xtext.builder.participant">
252 <participant
253 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
254 fileExtensions="smt2"
255 >
256 </participant>
257 </extension>
258 <extension
259 point="org.eclipse.ui.preferencePages">
260 <page
261 category="hu.bme.mit.inf.dslreasoner.SmtLanguage"
262 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
263 id="hu.bme.mit.inf.dslreasoner.SmtLanguage.compiler.preferencePage"
264 name="Compiler">
265 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_SmtLanguage"/>
266 </page>
267 </extension>
268 <extension
269 point="org.eclipse.ui.propertyPages">
270 <page
271 category="hu.bme.mit.inf.dslreasoner.SmtLanguage"
272 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
273 id="hu.bme.mit.inf.dslreasoner.SmtLanguage.compiler.propertyPage"
274 name="Compiler">
275 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_SmtLanguage"/>
276 <enabledWhen>
277 <adapt type="org.eclipse.core.resources.IProject"/>
278 </enabledWhen>
279 <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
280 </page>
281 </extension>
282
283 <!-- Quick Outline -->
284 <extension
285 point="org.eclipse.ui.handlers">
286 <handler
287 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
288 commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
289 <activeWhen>
290 <reference
291 definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
292 </reference>
293 </activeWhen>
294 </handler>
295 </extension>
296 <extension
297 point="org.eclipse.ui.commands">
298 <command
299 description="Open the quick outline."
300 id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
301 name="Quick Outline">
302 </command>
303 </extension>
304 <extension point="org.eclipse.ui.menus">
305 <menuContribution
306 locationURI="popup:#TextEditorContext?after=group.open">
307 <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
308 style="push"
309 tooltip="Open Quick Outline">
310 <visibleWhen checkEnabled="false">
311 <reference definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened"/>
312 </visibleWhen>
313 </command>
314 </menuContribution>
315 </extension>
316 <!-- quickfix marker resolution generator for hu.bme.mit.inf.dslreasoner.SmtLanguage -->
317 <extension
318 point="org.eclipse.ui.ide.markerResolution">
319 <markerResolutionGenerator
320 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
321 markerType="hu.bme.mit.inf.dslreasoner.ui.smtlanguage.check.fast">
322 <attribute
323 name="FIXABLE_KEY"
324 value="true">
325 </attribute>
326 </markerResolutionGenerator>
327 <markerResolutionGenerator
328 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
329 markerType="hu.bme.mit.inf.dslreasoner.ui.smtlanguage.check.normal">
330 <attribute
331 name="FIXABLE_KEY"
332 value="true">
333 </attribute>
334 </markerResolutionGenerator>
335 <markerResolutionGenerator
336 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
337 markerType="hu.bme.mit.inf.dslreasoner.ui.smtlanguage.check.expensive">
338 <attribute
339 name="FIXABLE_KEY"
340 value="true">
341 </attribute>
342 </markerResolutionGenerator>
343 </extension>
344 <!-- Rename Refactoring -->
345 <extension point="org.eclipse.ui.handlers">
346 <handler
347 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
348 commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
349 <activeWhen>
350 <reference
351 definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
352 </reference>
353 </activeWhen>
354 </handler>
355 </extension>
356 <extension point="org.eclipse.ui.menus">
357 <menuContribution
358 locationURI="popup:#TextEditorContext?after=group.edit">
359 <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
360 style="push">
361 <visibleWhen checkEnabled="false">
362 <reference
363 definitionId="hu.bme.mit.inf.dslreasoner.SmtLanguage.Editor.opened">
364 </reference>
365 </visibleWhen>
366 </command>
367 </menuContribution>
368 </extension>
369 <extension point="org.eclipse.ui.preferencePages">
370 <page
371 category="hu.bme.mit.inf.dslreasoner.SmtLanguage"
372 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
373 id="hu.bme.mit.inf.dslreasoner.SmtLanguage.refactoring"
374 name="Refactoring">
375 <keywordReference id="hu.bme.mit.inf.dslreasoner.ui.keyword_SmtLanguage"/>
376 </page>
377 </extension>
378
379 <extension point="org.eclipse.compare.contentViewers">
380 <viewer id="hu.bme.mit.inf.dslreasoner.SmtLanguage.compare.contentViewers"
381 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
382 extensions="smt2">
383 </viewer>
384 </extension>
385 <extension point="org.eclipse.compare.contentMergeViewers">
386 <viewer id="hu.bme.mit.inf.dslreasoner.SmtLanguage.compare.contentMergeViewers"
387 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
388 extensions="smt2" label="SmtLanguage Compare">
389 </viewer>
390 </extension>
391 <extension point="org.eclipse.ui.editors.documentProviders">
392 <provider id="hu.bme.mit.inf.dslreasoner.SmtLanguage.editors.documentProviders"
393 class="hu.bme.mit.inf.dslreasoner.ui.SmtLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
394 extensions="smt2">
395 </provider>
396 </extension>
397
398</plugin>
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/SmtLanguageUiModule.java b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/SmtLanguageUiModule.java
new file mode 100644
index 00000000..371ccec5
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/SmtLanguageUiModule.java
@@ -0,0 +1,15 @@
1/*
2 * generated by Xtext
3 */
4package hu.bme.mit.inf.dslreasoner.ui;
5
6import org.eclipse.ui.plugin.AbstractUIPlugin;
7
8/**
9 * Use this class to register components to be used within the IDE.
10 */
11public class SmtLanguageUiModule extends hu.bme.mit.inf.dslreasoner.ui.AbstractSmtLanguageUiModule {
12 public SmtLanguageUiModule(AbstractUIPlugin plugin) {
13 super(plugin);
14 }
15}
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/contentassist/SmtLanguageProposalProvider.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/contentassist/SmtLanguageProposalProvider.xtend
new file mode 100644
index 00000000..b00cbdfa
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/contentassist/SmtLanguageProposalProvider.xtend
@@ -0,0 +1,12 @@
1/*
2 * generated by Xtext
3 */
4package hu.bme.mit.inf.dslreasoner.ui.contentassist
5
6import hu.bme.mit.inf.dslreasoner.ui.contentassist.AbstractSmtLanguageProposalProvider
7
8/**
9 * see http://www.eclipse.org/Xtext/documentation.html#contentAssist on how to customize content assistant
10 */
11class SmtLanguageProposalProvider extends AbstractSmtLanguageProposalProvider {
12}
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/labeling/SmtLanguageDescriptionLabelProvider.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/labeling/SmtLanguageDescriptionLabelProvider.xtend
new file mode 100644
index 00000000..1aa3189f
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/labeling/SmtLanguageDescriptionLabelProvider.xtend
@@ -0,0 +1,24 @@
1/*
2* generated by Xtext
3*/
4package hu.bme.mit.inf.dslreasoner.ui.labeling
5
6//import org.eclipse.xtext.resource.IEObjectDescription
7
8/**
9 * Provides labels for a IEObjectDescriptions and IResourceDescriptions.
10 *
11 * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
12 */
13class SmtLanguageDescriptionLabelProvider extends org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider {
14
15 // Labels and icons can be computed like this:
16
17// override text(IEObjectDescription ele) {
18// ele.name.toString
19// }
20//
21// override image(IEObjectDescription ele) {
22// ele.EClass.name + '.gif'
23// }
24}
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/labeling/SmtLanguageLabelProvider.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/labeling/SmtLanguageLabelProvider.xtend
new file mode 100644
index 00000000..3d26adea
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/labeling/SmtLanguageLabelProvider.xtend
@@ -0,0 +1,29 @@
1/*
2* generated by Xtext
3*/
4package hu.bme.mit.inf.dslreasoner.ui.labeling
5
6import com.google.inject.Inject
7
8/**
9 * Provides labels for a EObjects.
10 *
11 * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
12 */
13class SmtLanguageLabelProvider extends org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider {
14
15 @Inject
16 new(org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider delegate) {
17 super(delegate);
18 }
19
20 // Labels and icons can be computed like this:
21
22// def text(Greeting ele) {
23// 'A greeting to ' + ele.name
24// }
25//
26// def image(Greeting ele) {
27// 'Greeting.gif'
28// }
29}
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/outline/SmtLanguageOutlineTreeProvider.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/outline/SmtLanguageOutlineTreeProvider.xtend
new file mode 100644
index 00000000..3ad5725a
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/outline/SmtLanguageOutlineTreeProvider.xtend
@@ -0,0 +1,13 @@
1/*
2* generated by Xtext
3*/
4package hu.bme.mit.inf.dslreasoner.ui.outline
5
6/**
7 * Customization of the default outline structure.
8 *
9 * see http://www.eclipse.org/Xtext/documentation.html#outline
10 */
11class SmtLanguageOutlineTreeProvider extends org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider {
12
13}
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/quickfix/SmtLanguageQuickfixProvider.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/quickfix/SmtLanguageQuickfixProvider.xtend
new file mode 100644
index 00000000..7fae2761
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language.ui/src/hu/bme/mit/inf/dslreasoner/ui/quickfix/SmtLanguageQuickfixProvider.xtend
@@ -0,0 +1,26 @@
1/*
2* generated by Xtext
3*/
4package hu.bme.mit.inf.dslreasoner.ui.quickfix
5
6//import org.eclipse.xtext.ui.editor.quickfix.Fix
7//import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionAcceptor
8//import org.eclipse.xtext.validation.Issue
9
10/**
11 * Custom quickfixes.
12 *
13 * see http://www.eclipse.org/Xtext/documentation.html#quickfixes
14 */
15class SmtLanguageQuickfixProvider extends org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider {
16
17// @Fix(MyDslValidator::INVALID_NAME)
18// def capitalizeName(Issue issue, IssueResolutionAcceptor acceptor) {
19// acceptor.accept(issue, 'Capitalize name', 'Capitalize the name.', 'upcase.png') [
20// context |
21// val xtextDocument = context.xtextDocument
22// val firstLetter = xtextDocument.get(issue.offset, 1)
23// xtextDocument.replace(issue.offset, 1, firstLetter.toUpperCase)
24// ]
25// }
26}
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.classpath b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.classpath
new file mode 100644
index 00000000..1287f96c
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.classpath
@@ -0,0 +1,9 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="src"/>
4 <classpathentry kind="src" path="src-gen"/>
5 <classpathentry kind="src" path="xtend-gen"/>
6 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
7 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
8 <classpathentry kind="output" path="bin"/>
9</classpath>
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.gitignore b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.gitignore
new file mode 100644
index 00000000..8ae4e44d
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.gitignore
@@ -0,0 +1,4 @@
1/bin/
2/src-gen/
3/vql-gen/
4/xtend-gen/
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.launch/Generate Language Infrastructure (hu.bme.mit.inf.dslreasoner.smt.language).launch b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.launch/Generate Language Infrastructure (hu.bme.mit.inf.dslreasoner.smt.language).launch
new file mode 100644
index 00000000..e448edbe
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.launch/Generate Language Infrastructure (hu.bme.mit.inf.dslreasoner.smt.language).launch
@@ -0,0 +1,17 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
3<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1299248699643_13&quot; label=&quot;working set&quot; name=&quot;working set&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/hu.bme.mit.inf.dslreasoner.smt.language&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/hu.bme.mit.inf.dslreasoner.smt.language.generator&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/hu.bme.mit.inf.dslreasoner.smt.language.tests&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/hu.bme.mit.inf.dslreasoner.smt.language.ui&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
4<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
5<listEntry value="/hu.bme.mit.inf.dslreasoner.smt.language"/>
6</listAttribute>
7<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
8<listEntry value="4"/>
9</listAttribute>
10<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
11<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
12</listAttribute>
13<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
14<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/hu/bme/mit/inf/dslreasoner/GenerateSmtLanguage.mwe2"/>
15<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="hu.bme.mit.inf.dslreasoner.smt.language"/>
16<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m"/>
17</launchConfiguration>
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.project b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.project
new file mode 100644
index 00000000..b4b09620
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.smt.language</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.jdt.core.javabuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.pde.ManifestBuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.SchemaBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.jdt.core.javanature</nature>
31 <nature>org.eclipse.pde.PluginNature</nature>
32 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.settings/org.eclipse.core.resources.prefs b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..4824b802
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
1eclipse.preferences.version=1
2encoding/<project>=UTF-8
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.settings/org.eclipse.jdt.core.prefs b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/META-INF/MANIFEST.MF b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..ec8f78ce
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/META-INF/MANIFEST.MF
@@ -0,0 +1,37 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: hu.bme.mit.inf.dslreasoner.smt.language
4Bundle-Vendor: My Company
5Bundle-Version: 1.0.0.qualifier
6Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.smt.language; singleton:=true
7Bundle-ActivationPolicy: lazy
8Require-Bundle: org.eclipse.xtext;visibility:=reexport,
9 org.eclipse.xtext.xbase;resolution:=optional;visibility:=reexport,
10 org.eclipse.xtext.generator;resolution:=optional,
11 org.apache.commons.logging;bundle-version="1.0.4";resolution:=optional,
12 org.eclipse.emf.codegen.ecore;resolution:=optional,
13 org.eclipse.emf.mwe.utils;resolution:=optional,
14 org.eclipse.emf.mwe2.launch;resolution:=optional,
15 org.eclipse.xtext.util,
16 org.eclipse.emf.ecore,
17 org.eclipse.emf.common,
18 org.antlr.runtime,
19 org.eclipse.xtext.common.types,
20 org.objectweb.asm;bundle-version="[5.0.1,6.0.0)";resolution:=optional,
21 org.eclipse.xtext.xbase.lib
22Import-Package: org.apache.log4j,
23 org.eclipse.xtext.xbase.lib
24Bundle-RequiredExecutionEnvironment: J2SE-1.5
25Export-Package: hu.bme.mit.inf.dslreasoner,
26 hu.bme.mit.inf.dslreasoner.services,
27 hu.bme.mit.inf.dslreasoner.smtLanguage,
28 hu.bme.mit.inf.dslreasoner.smtLanguage.impl,
29 hu.bme.mit.inf.dslreasoner.smtLanguage.util,
30 hu.bme.mit.inf.dslreasoner.serializer,
31 hu.bme.mit.inf.dslreasoner.parser.antlr,
32 hu.bme.mit.inf.dslreasoner.parser.antlr.internal,
33 hu.bme.mit.inf.dslreasoner.validation,
34 hu.bme.mit.inf.dslreasoner.scoping,
35 hu.bme.mit.inf.dslreasoner.generator,
36 hu.bme.mit.inf.dslreasoner.formatting
37
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/build.properties b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/build.properties
new file mode 100644
index 00000000..07a42688
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/build.properties
@@ -0,0 +1,7 @@
1source.. = src/,\
2 src-gen/,\
3 xtend-gen/
4bin.includes = model/,\
5 META-INF/,\
6 .,\
7 plugin.xml \ No newline at end of file
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/model/generated/SmtLanguage.ecore b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/model/generated/SmtLanguage.ecore
new file mode 100644
index 00000000..e49cb530
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/model/generated/SmtLanguage.ecore
@@ -0,0 +1,304 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="smtLanguage" nsURI="http://www.bme.hu/mit/inf/dslreasoner/SmtLanguage"
4 nsPrefix="smtLanguage">
5 <eClassifiers xsi:type="ecore:EClass" name="SMTDocument">
6 <eStructuralFeatures xsi:type="ecore:EReference" name="input" eType="#//SMTInput"
7 containment="true"/>
8 <eStructuralFeatures xsi:type="ecore:EReference" name="output" eType="#//SMTOutput"
9 containment="true"/>
10 </eClassifiers>
11 <eClassifiers xsi:type="ecore:EClass" name="SMTInput">
12 <eStructuralFeatures xsi:type="ecore:EReference" name="options" upperBound="-1"
13 eType="#//SMTOption" containment="true"/>
14 <eStructuralFeatures xsi:type="ecore:EReference" name="typeDeclarations" upperBound="-1"
15 eType="#//SMTType" containment="true"/>
16 <eStructuralFeatures xsi:type="ecore:EReference" name="functionDeclarations" upperBound="-1"
17 eType="#//SMTFunctionDeclaration" containment="true"/>
18 <eStructuralFeatures xsi:type="ecore:EReference" name="functionDefinition" upperBound="-1"
19 eType="#//SMTFunctionDefinition" containment="true"/>
20 <eStructuralFeatures xsi:type="ecore:EReference" name="assertions" upperBound="-1"
21 eType="#//SMTAssertion" containment="true"/>
22 <eStructuralFeatures xsi:type="ecore:EReference" name="satCommand" eType="#//SMTSatCommand"
23 containment="true"/>
24 <eStructuralFeatures xsi:type="ecore:EReference" name="getModelCommand" eType="#//SMTGetModelCommand"
25 containment="true"/>
26 </eClassifiers>
27 <eClassifiers xsi:type="ecore:EClass" name="SMTOutput">
28 <eStructuralFeatures xsi:type="ecore:EReference" name="satResult" eType="#//SMTResult"
29 containment="true"/>
30 <eStructuralFeatures xsi:type="ecore:EReference" name="getModelResult" eType="#//SMTResult"
31 containment="true"/>
32 <eStructuralFeatures xsi:type="ecore:EReference" name="statistics" eType="#//SMTStatisticsSection"
33 containment="true"/>
34 </eClassifiers>
35 <eClassifiers xsi:type="ecore:EClass" name="SMTOption">
36 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
37 <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//SMTAtomicTerm"
38 containment="true"/>
39 </eClassifiers>
40 <eClassifiers xsi:type="ecore:EClass" name="SMTType">
41 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
42 </eClassifiers>
43 <eClassifiers xsi:type="ecore:EClass" name="SMTEnumLiteral" eSuperTypes="#//SMTSymbolicDeclaration"/>
44 <eClassifiers xsi:type="ecore:EClass" name="SMTEnumeratedTypeDeclaration" eSuperTypes="#//SMTType">
45 <eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
46 eType="#//SMTEnumLiteral" containment="true"/>
47 </eClassifiers>
48 <eClassifiers xsi:type="ecore:EClass" name="SMTSetTypeDeclaration" eSuperTypes="#//SMTType"/>
49 <eClassifiers xsi:type="ecore:EClass" name="SMTTypeReference"/>
50 <eClassifiers xsi:type="ecore:EClass" name="SMTComplexTypeReference" eSuperTypes="#//SMTTypeReference">
51 <eStructuralFeatures xsi:type="ecore:EReference" name="referred" eType="#//SMTType"/>
52 </eClassifiers>
53 <eClassifiers xsi:type="ecore:EClass" name="SMTPrimitiveTypeReference" eSuperTypes="#//SMTTypeReference"/>
54 <eClassifiers xsi:type="ecore:EClass" name="SMTIntTypeReference" eSuperTypes="#//SMTPrimitiveTypeReference"/>
55 <eClassifiers xsi:type="ecore:EClass" name="SMTBoolTypeReference" eSuperTypes="#//SMTPrimitiveTypeReference"/>
56 <eClassifiers xsi:type="ecore:EClass" name="SMTRealTypeReference" eSuperTypes="#//SMTPrimitiveTypeReference"/>
57 <eClassifiers xsi:type="ecore:EClass" name="SMTFunctionDeclaration" eSuperTypes="#//SMTSymbolicDeclaration">
58 <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
59 eType="#//SMTTypeReference" containment="true"/>
60 <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//SMTTypeReference"
61 containment="true"/>
62 </eClassifiers>
63 <eClassifiers xsi:type="ecore:EClass" name="SMTFunctionDefinition" eSuperTypes="#//SMTSymbolicDeclaration">
64 <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
65 eType="#//SMTSortedVariable" containment="true"/>
66 <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//SMTTypeReference"
67 containment="true"/>
68 <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//SMTTerm"
69 containment="true"/>
70 </eClassifiers>
71 <eClassifiers xsi:type="ecore:EClass" name="SMTTerm"/>
72 <eClassifiers xsi:type="ecore:EClass" name="SMTSymbolicDeclaration">
73 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
74 </eClassifiers>
75 <eClassifiers xsi:type="ecore:EClass" name="SMTSymbolicValue" eSuperTypes="#//SMTTerm">
76 <eStructuralFeatures xsi:type="ecore:EReference" name="symbolicReference" eType="#//SMTSymbolicDeclaration"/>
77 <eStructuralFeatures xsi:type="ecore:EReference" name="parameterSubstitutions"
78 upperBound="-1" eType="#//SMTTerm" containment="true"/>
79 </eClassifiers>
80 <eClassifiers xsi:type="ecore:EClass" name="SMTAtomicTerm" eSuperTypes="#//SMTTerm"/>
81 <eClassifiers xsi:type="ecore:EClass" name="SMTIntLiteral" eSuperTypes="#//SMTAtomicTerm">
82 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
83 </eClassifiers>
84 <eClassifiers xsi:type="ecore:EClass" name="SMTBoolLiteral" eSuperTypes="#//SMTAtomicTerm">
85 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
86 </eClassifiers>
87 <eClassifiers xsi:type="ecore:EClass" name="SMTRealLiteral" eSuperTypes="#//SMTAtomicTerm">
88 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
89 </eClassifiers>
90 <eClassifiers xsi:type="ecore:EClass" name="SMTSortedVariable" eSuperTypes="#//SMTSymbolicDeclaration">
91 <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//SMTTypeReference"
92 containment="true"/>
93 </eClassifiers>
94 <eClassifiers xsi:type="ecore:EClass" name="SMTQuantifiedExpression" eSuperTypes="#//SMTTerm">
95 <eStructuralFeatures xsi:type="ecore:EReference" name="quantifiedVariables" upperBound="-1"
96 eType="#//SMTSortedVariable" containment="true"/>
97 <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//SMTTerm"
98 containment="true"/>
99 <eStructuralFeatures xsi:type="ecore:EReference" name="pattern" eType="#//SMTTerm"
100 containment="true"/>
101 </eClassifiers>
102 <eClassifiers xsi:type="ecore:EClass" name="SMTExists" eSuperTypes="#//SMTQuantifiedExpression"/>
103 <eClassifiers xsi:type="ecore:EClass" name="SMTForall" eSuperTypes="#//SMTQuantifiedExpression"/>
104 <eClassifiers xsi:type="ecore:EClass" name="SMTBoolOperation" eSuperTypes="#//SMTTerm"/>
105 <eClassifiers xsi:type="ecore:EClass" name="SMTAnd" eSuperTypes="#//SMTBoolOperation">
106 <eStructuralFeatures xsi:type="ecore:EReference" name="operands" upperBound="-1"
107 eType="#//SMTTerm" containment="true"/>
108 </eClassifiers>
109 <eClassifiers xsi:type="ecore:EClass" name="SMTOr" eSuperTypes="#//SMTBoolOperation">
110 <eStructuralFeatures xsi:type="ecore:EReference" name="operands" upperBound="-1"
111 eType="#//SMTTerm" containment="true"/>
112 </eClassifiers>
113 <eClassifiers xsi:type="ecore:EClass" name="SMTImpl" eSuperTypes="#//SMTBoolOperation">
114 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//SMTTerm"
115 containment="true"/>
116 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//SMTTerm"
117 containment="true"/>
118 </eClassifiers>
119 <eClassifiers xsi:type="ecore:EClass" name="SMTNot" eSuperTypes="#//SMTBoolOperation">
120 <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//SMTTerm"
121 containment="true"/>
122 </eClassifiers>
123 <eClassifiers xsi:type="ecore:EClass" name="SMTIff" eSuperTypes="#//SMTBoolOperation">
124 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//SMTTerm"
125 containment="true"/>
126 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//SMTTerm"
127 containment="true"/>
128 </eClassifiers>
129 <eClassifiers xsi:type="ecore:EClass" name="SMTITE" eSuperTypes="#//SMTTerm">
130 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//SMTTerm"
131 containment="true"/>
132 <eStructuralFeatures xsi:type="ecore:EReference" name="if" eType="#//SMTTerm"
133 containment="true"/>
134 <eStructuralFeatures xsi:type="ecore:EReference" name="else" eType="#//SMTTerm"
135 containment="true"/>
136 </eClassifiers>
137 <eClassifiers xsi:type="ecore:EClass" name="SMTLet" eSuperTypes="#//SMTTerm">
138 <eStructuralFeatures xsi:type="ecore:EReference" name="inlineConstantDefinitions"
139 upperBound="-1" eType="#//SMTInlineConstantDefinition" containment="true"/>
140 <eStructuralFeatures xsi:type="ecore:EReference" name="term" eType="#//SMTTerm"
141 containment="true"/>
142 </eClassifiers>
143 <eClassifiers xsi:type="ecore:EClass" name="SMTInlineConstantDefinition" eSuperTypes="#//SMTSymbolicDeclaration">
144 <eStructuralFeatures xsi:type="ecore:EReference" name="definition" eType="#//SMTTerm"
145 containment="true"/>
146 </eClassifiers>
147 <eClassifiers xsi:type="ecore:EClass" name="SMTRelation" eSuperTypes="#//SMTTerm"/>
148 <eClassifiers xsi:type="ecore:EClass" name="SMTEquals" eSuperTypes="#//SMTRelation">
149 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//SMTTerm"
150 containment="true"/>
151 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//SMTTerm"
152 containment="true"/>
153 </eClassifiers>
154 <eClassifiers xsi:type="ecore:EClass" name="SMTDistinct" eSuperTypes="#//SMTRelation">
155 <eStructuralFeatures xsi:type="ecore:EReference" name="operands" upperBound="-1"
156 eType="#//SMTTerm" containment="true"/>
157 </eClassifiers>
158 <eClassifiers xsi:type="ecore:EClass" name="SMTLT" eSuperTypes="#//SMTRelation">
159 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//SMTTerm"
160 containment="true"/>
161 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//SMTTerm"
162 containment="true"/>
163 </eClassifiers>
164 <eClassifiers xsi:type="ecore:EClass" name="SMTMT" eSuperTypes="#//SMTRelation">
165 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//SMTTerm"
166 containment="true"/>
167 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//SMTTerm"
168 containment="true"/>
169 </eClassifiers>
170 <eClassifiers xsi:type="ecore:EClass" name="SMTLEQ" eSuperTypes="#//SMTRelation">
171 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//SMTTerm"
172 containment="true"/>
173 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//SMTTerm"
174 containment="true"/>
175 </eClassifiers>
176 <eClassifiers xsi:type="ecore:EClass" name="SMTMEQ" eSuperTypes="#//SMTRelation">
177 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//SMTTerm"
178 containment="true"/>
179 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//SMTTerm"
180 containment="true"/>
181 </eClassifiers>
182 <eClassifiers xsi:type="ecore:EClass" name="SMTIntOperation" eSuperTypes="#//SMTTerm">
183 <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//SMTTerm"
184 containment="true"/>
185 <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//SMTTerm"
186 containment="true"/>
187 </eClassifiers>
188 <eClassifiers xsi:type="ecore:EClass" name="SMTPlus" eSuperTypes="#//SMTIntOperation"/>
189 <eClassifiers xsi:type="ecore:EClass" name="SMTMinus" eSuperTypes="#//SMTIntOperation"/>
190 <eClassifiers xsi:type="ecore:EClass" name="SMTMultiply" eSuperTypes="#//SMTIntOperation"/>
191 <eClassifiers xsi:type="ecore:EClass" name="SMTDivison" eSuperTypes="#//SMTIntOperation"/>
192 <eClassifiers xsi:type="ecore:EClass" name="SMTDiv" eSuperTypes="#//SMTIntOperation"/>
193 <eClassifiers xsi:type="ecore:EClass" name="SMTMod" eSuperTypes="#//SMTIntOperation"/>
194 <eClassifiers xsi:type="ecore:EClass" name="SMTAssertion">
195 <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//SMTTerm"
196 containment="true"/>
197 </eClassifiers>
198 <eClassifiers xsi:type="ecore:EClass" name="SMTCardinalityConstraint">
199 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//SMTTypeReference"
200 containment="true"/>
201 <eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
202 eType="#//SMTSymbolicValue" containment="true"/>
203 </eClassifiers>
204 <eClassifiers xsi:type="ecore:EClass" name="SMTSatCommand"/>
205 <eClassifiers xsi:type="ecore:EClass" name="SMTSimpleSatCommand" eSuperTypes="#//SMTSatCommand"/>
206 <eClassifiers xsi:type="ecore:EClass" name="SMTComplexSatCommand" eSuperTypes="#//SMTSatCommand">
207 <eStructuralFeatures xsi:type="ecore:EReference" name="method" eType="#//SMTReasoningTactic"
208 containment="true"/>
209 </eClassifiers>
210 <eClassifiers xsi:type="ecore:EClass" name="SMTGetModelCommand"/>
211 <eClassifiers xsi:type="ecore:EClass" name="SMTReasoningTactic"/>
212 <eClassifiers xsi:type="ecore:EClass" name="SMTBuiltinTactic" eSuperTypes="#//SMTReasoningTactic">
213 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
214 </eClassifiers>
215 <eClassifiers xsi:type="ecore:EClass" name="SMTReasoningCombinator" eSuperTypes="#//SMTReasoningTactic"/>
216 <eClassifiers xsi:type="ecore:EClass" name="SMTAndThenCombinator" eSuperTypes="#//SMTReasoningCombinator">
217 <eStructuralFeatures xsi:type="ecore:EReference" name="tactics" upperBound="-1"
218 eType="#//SMTReasoningTactic" containment="true"/>
219 </eClassifiers>
220 <eClassifiers xsi:type="ecore:EClass" name="SMTOrElseCombinator" eSuperTypes="#//SMTReasoningCombinator">
221 <eStructuralFeatures xsi:type="ecore:EReference" name="tactics" upperBound="-1"
222 eType="#//SMTReasoningTactic" containment="true"/>
223 </eClassifiers>
224 <eClassifiers xsi:type="ecore:EClass" name="SMTParOrCombinator" eSuperTypes="#//SMTReasoningCombinator">
225 <eStructuralFeatures xsi:type="ecore:EReference" name="tactics" upperBound="-1"
226 eType="#//SMTReasoningTactic" containment="true"/>
227 </eClassifiers>
228 <eClassifiers xsi:type="ecore:EClass" name="SMTParThenCombinator" eSuperTypes="#//SMTReasoningCombinator">
229 <eStructuralFeatures xsi:type="ecore:EReference" name="preProcessingTactic" eType="#//SMTReasoningTactic"
230 containment="true"/>
231 <eStructuralFeatures xsi:type="ecore:EReference" name="paralellyPostpricessingTactic"
232 eType="#//SMTReasoningTactic" containment="true"/>
233 </eClassifiers>
234 <eClassifiers xsi:type="ecore:EClass" name="SMTTryForCombinator" eSuperTypes="#//SMTReasoningCombinator">
235 <eStructuralFeatures xsi:type="ecore:EReference" name="tactic" eType="#//SMTReasoningTactic"
236 containment="true"/>
237 <eStructuralFeatures xsi:type="ecore:EAttribute" name="time" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
238 </eClassifiers>
239 <eClassifiers xsi:type="ecore:EClass" name="SMTIfCombinator" eSuperTypes="#//SMTReasoningCombinator">
240 <eStructuralFeatures xsi:type="ecore:EReference" name="probe" eType="#//ReasoningProbe"
241 containment="true"/>
242 <eStructuralFeatures xsi:type="ecore:EReference" name="ifTactic" eType="#//SMTReasoningTactic"
243 containment="true"/>
244 <eStructuralFeatures xsi:type="ecore:EReference" name="elseTactic" eType="#//SMTReasoningTactic"
245 containment="true"/>
246 </eClassifiers>
247 <eClassifiers xsi:type="ecore:EClass" name="SMTWhenCombinator" eSuperTypes="#//SMTReasoningCombinator">
248 <eStructuralFeatures xsi:type="ecore:EReference" name="probe" eType="#//ReasoningProbe"
249 containment="true"/>
250 <eStructuralFeatures xsi:type="ecore:EReference" name="tactic" eType="#//SMTReasoningTactic"
251 containment="true"/>
252 </eClassifiers>
253 <eClassifiers xsi:type="ecore:EClass" name="SMTFailIfCombinator" eSuperTypes="#//SMTReasoningCombinator">
254 <eStructuralFeatures xsi:type="ecore:EReference" name="probe" eType="#//ReasoningProbe"
255 containment="true"/>
256 </eClassifiers>
257 <eClassifiers xsi:type="ecore:EClass" name="SMTUsingParamCombinator" eSuperTypes="#//SMTReasoningCombinator">
258 <eStructuralFeatures xsi:type="ecore:EReference" name="tactic" eType="#//SMTReasoningTactic"
259 containment="true"/>
260 <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
261 eType="#//ReasoningTacticParameter" containment="true"/>
262 </eClassifiers>
263 <eClassifiers xsi:type="ecore:EClass" name="ReasoningProbe">
264 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
265 </eClassifiers>
266 <eClassifiers xsi:type="ecore:EClass" name="ReasoningTacticParameter">
267 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
268 <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//SMTAtomicTerm"
269 containment="true"/>
270 </eClassifiers>
271 <eClassifiers xsi:type="ecore:EClass" name="SMTResult"/>
272 <eClassifiers xsi:type="ecore:EClass" name="SMTErrorResult" eSuperTypes="#//SMTResult">
273 <eStructuralFeatures xsi:type="ecore:EAttribute" name="message" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
274 </eClassifiers>
275 <eClassifiers xsi:type="ecore:EClass" name="SMTUnsupportedResult" eSuperTypes="#//SMTResult">
276 <eStructuralFeatures xsi:type="ecore:EAttribute" name="command" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
277 </eClassifiers>
278 <eClassifiers xsi:type="ecore:EClass" name="SMTSatResult" eSuperTypes="#//SMTResult">
279 <eStructuralFeatures xsi:type="ecore:EAttribute" name="sat" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
280 <eStructuralFeatures xsi:type="ecore:EAttribute" name="unsat" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
281 <eStructuralFeatures xsi:type="ecore:EAttribute" name="unknown" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
282 </eClassifiers>
283 <eClassifiers xsi:type="ecore:EClass" name="SMTModelResult" eSuperTypes="#//SMTResult">
284 <eStructuralFeatures xsi:type="ecore:EReference" name="newFunctionDeclarations"
285 upperBound="-1" eType="#//SMTFunctionDeclaration" containment="true"/>
286 <eStructuralFeatures xsi:type="ecore:EReference" name="typeDefinitions" upperBound="-1"
287 eType="#//SMTCardinalityConstraint" containment="true"/>
288 <eStructuralFeatures xsi:type="ecore:EReference" name="newFunctionDefinitions"
289 upperBound="-1" eType="#//SMTFunctionDefinition" containment="true"/>
290 </eClassifiers>
291 <eClassifiers xsi:type="ecore:EClass" name="SMTStatisticValue">
292 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
293 </eClassifiers>
294 <eClassifiers xsi:type="ecore:EClass" name="SMTStatisticIntValue" eSuperTypes="#//SMTStatisticValue">
295 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
296 </eClassifiers>
297 <eClassifiers xsi:type="ecore:EClass" name="SMTStatisticDoubleValue" eSuperTypes="#//SMTStatisticValue">
298 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
299 </eClassifiers>
300 <eClassifiers xsi:type="ecore:EClass" name="SMTStatisticsSection">
301 <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1"
302 eType="#//SMTStatisticValue" containment="true"/>
303 </eClassifiers>
304</ecore:EPackage>
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/model/generated/SmtLanguage.genmodel b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/model/generated/SmtLanguage.genmodel
new file mode 100644
index 00000000..500f4dae
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/model/generated/SmtLanguage.genmodel
@@ -0,0 +1,238 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3 xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/hu.bme.mit.inf.dslreasoner.smt.language/src-gen"
4 editDirectory="/hu.bme.mit.inf.dslreasoner.smt.language.edit/src" editorDirectory="/hu.bme.mit.inf.dslreasoner.smt.language.editor/src"
5 modelPluginID="hu.bme.mit.inf.dslreasoner.smt.language" forceOverwrite="true"
6 modelName="SmtLanguage" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
7 complianceLevel="5.0" copyrightFields="false" editPluginID="hu.bme.mit.inf.dslreasoner.smt.language.edit"
8 editorPluginID="hu.bme.mit.inf.dslreasoner.smt.language.editor" runtimeVersion="2.10">
9 <genPackages prefix="SmtLanguage" basePackage="hu.bme.mit.inf.dslreasoner" disposableProviderFactory="true"
10 fileExtensions="smt2" ecorePackage="SmtLanguage.ecore#/">
11 <genClasses ecoreClass="SmtLanguage.ecore#//SMTDocument">
12 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTDocument/input"/>
13 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTDocument/output"/>
14 </genClasses>
15 <genClasses ecoreClass="SmtLanguage.ecore#//SMTInput">
16 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTInput/options"/>
17 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTInput/typeDeclarations"/>
18 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTInput/functionDeclarations"/>
19 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTInput/functionDefinition"/>
20 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTInput/assertions"/>
21 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTInput/satCommand"/>
22 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTInput/getModelCommand"/>
23 </genClasses>
24 <genClasses ecoreClass="SmtLanguage.ecore#//SMTOutput">
25 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTOutput/satResult"/>
26 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTOutput/getModelResult"/>
27 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTOutput/statistics"/>
28 </genClasses>
29 <genClasses ecoreClass="SmtLanguage.ecore#//SMTOption">
30 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//SMTOption/name"/>
31 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTOption/value"/>
32 </genClasses>
33 <genClasses ecoreClass="SmtLanguage.ecore#//SMTType">
34 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//SMTType/name"/>
35 </genClasses>
36 <genClasses ecoreClass="SmtLanguage.ecore#//SMTEnumLiteral"/>
37 <genClasses ecoreClass="SmtLanguage.ecore#//SMTEnumeratedTypeDeclaration">
38 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTEnumeratedTypeDeclaration/elements"/>
39 </genClasses>
40 <genClasses ecoreClass="SmtLanguage.ecore#//SMTSetTypeDeclaration"/>
41 <genClasses ecoreClass="SmtLanguage.ecore#//SMTTypeReference"/>
42 <genClasses ecoreClass="SmtLanguage.ecore#//SMTComplexTypeReference">
43 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTComplexTypeReference/referred"/>
44 </genClasses>
45 <genClasses ecoreClass="SmtLanguage.ecore#//SMTPrimitiveTypeReference"/>
46 <genClasses ecoreClass="SmtLanguage.ecore#//SMTIntTypeReference"/>
47 <genClasses ecoreClass="SmtLanguage.ecore#//SMTBoolTypeReference"/>
48 <genClasses ecoreClass="SmtLanguage.ecore#//SMTRealTypeReference"/>
49 <genClasses ecoreClass="SmtLanguage.ecore#//SMTFunctionDeclaration">
50 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTFunctionDeclaration/parameters"/>
51 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTFunctionDeclaration/range"/>
52 </genClasses>
53 <genClasses ecoreClass="SmtLanguage.ecore#//SMTFunctionDefinition">
54 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTFunctionDefinition/parameters"/>
55 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTFunctionDefinition/range"/>
56 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTFunctionDefinition/value"/>
57 </genClasses>
58 <genClasses ecoreClass="SmtLanguage.ecore#//SMTTerm"/>
59 <genClasses ecoreClass="SmtLanguage.ecore#//SMTSymbolicDeclaration">
60 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//SMTSymbolicDeclaration/name"/>
61 </genClasses>
62 <genClasses ecoreClass="SmtLanguage.ecore#//SMTSymbolicValue">
63 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTSymbolicValue/symbolicReference"/>
64 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTSymbolicValue/parameterSubstitutions"/>
65 </genClasses>
66 <genClasses ecoreClass="SmtLanguage.ecore#//SMTAtomicTerm"/>
67 <genClasses ecoreClass="SmtLanguage.ecore#//SMTIntLiteral">
68 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//SMTIntLiteral/value"/>
69 </genClasses>
70 <genClasses ecoreClass="SmtLanguage.ecore#//SMTBoolLiteral">
71 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//SMTBoolLiteral/value"/>
72 </genClasses>
73 <genClasses ecoreClass="SmtLanguage.ecore#//SMTRealLiteral">
74 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//SMTRealLiteral/value"/>
75 </genClasses>
76 <genClasses ecoreClass="SmtLanguage.ecore#//SMTSortedVariable">
77 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTSortedVariable/range"/>
78 </genClasses>
79 <genClasses ecoreClass="SmtLanguage.ecore#//SMTQuantifiedExpression">
80 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTQuantifiedExpression/quantifiedVariables"/>
81 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTQuantifiedExpression/expression"/>
82 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTQuantifiedExpression/pattern"/>
83 </genClasses>
84 <genClasses ecoreClass="SmtLanguage.ecore#//SMTExists"/>
85 <genClasses ecoreClass="SmtLanguage.ecore#//SMTForall"/>
86 <genClasses ecoreClass="SmtLanguage.ecore#//SMTBoolOperation"/>
87 <genClasses ecoreClass="SmtLanguage.ecore#//SMTAnd">
88 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTAnd/operands"/>
89 </genClasses>
90 <genClasses ecoreClass="SmtLanguage.ecore#//SMTOr">
91 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTOr/operands"/>
92 </genClasses>
93 <genClasses ecoreClass="SmtLanguage.ecore#//SMTImpl">
94 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTImpl/leftOperand"/>
95 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTImpl/rightOperand"/>
96 </genClasses>
97 <genClasses ecoreClass="SmtLanguage.ecore#//SMTNot">
98 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTNot/operand"/>
99 </genClasses>
100 <genClasses ecoreClass="SmtLanguage.ecore#//SMTIff">
101 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTIff/leftOperand"/>
102 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTIff/rightOperand"/>
103 </genClasses>
104 <genClasses ecoreClass="SmtLanguage.ecore#//SMTITE">
105 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTITE/condition"/>
106 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTITE/if"/>
107 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTITE/else"/>
108 </genClasses>
109 <genClasses ecoreClass="SmtLanguage.ecore#//SMTLet">
110 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTLet/inlineConstantDefinitions"/>
111 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTLet/term"/>
112 </genClasses>
113 <genClasses ecoreClass="SmtLanguage.ecore#//SMTInlineConstantDefinition">
114 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTInlineConstantDefinition/definition"/>
115 </genClasses>
116 <genClasses ecoreClass="SmtLanguage.ecore#//SMTRelation"/>
117 <genClasses ecoreClass="SmtLanguage.ecore#//SMTEquals">
118 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTEquals/leftOperand"/>
119 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTEquals/rightOperand"/>
120 </genClasses>
121 <genClasses ecoreClass="SmtLanguage.ecore#//SMTDistinct">
122 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTDistinct/operands"/>
123 </genClasses>
124 <genClasses ecoreClass="SmtLanguage.ecore#//SMTLT">
125 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTLT/leftOperand"/>
126 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTLT/rightOperand"/>
127 </genClasses>
128 <genClasses ecoreClass="SmtLanguage.ecore#//SMTMT">
129 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTMT/leftOperand"/>
130 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTMT/rightOperand"/>
131 </genClasses>
132 <genClasses ecoreClass="SmtLanguage.ecore#//SMTLEQ">
133 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTLEQ/leftOperand"/>
134 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTLEQ/rightOperand"/>
135 </genClasses>
136 <genClasses ecoreClass="SmtLanguage.ecore#//SMTMEQ">
137 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTMEQ/leftOperand"/>
138 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTMEQ/rightOperand"/>
139 </genClasses>
140 <genClasses ecoreClass="SmtLanguage.ecore#//SMTIntOperation">
141 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTIntOperation/leftOperand"/>
142 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTIntOperation/rightOperand"/>
143 </genClasses>
144 <genClasses ecoreClass="SmtLanguage.ecore#//SMTPlus"/>
145 <genClasses ecoreClass="SmtLanguage.ecore#//SMTMinus"/>
146 <genClasses ecoreClass="SmtLanguage.ecore#//SMTMultiply"/>
147 <genClasses ecoreClass="SmtLanguage.ecore#//SMTDivison"/>
148 <genClasses ecoreClass="SmtLanguage.ecore#//SMTDiv"/>
149 <genClasses ecoreClass="SmtLanguage.ecore#//SMTMod"/>
150 <genClasses ecoreClass="SmtLanguage.ecore#//SMTAssertion">
151 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTAssertion/value"/>
152 </genClasses>
153 <genClasses ecoreClass="SmtLanguage.ecore#//SMTCardinalityConstraint">
154 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTCardinalityConstraint/type"/>
155 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTCardinalityConstraint/elements"/>
156 </genClasses>
157 <genClasses ecoreClass="SmtLanguage.ecore#//SMTSatCommand"/>
158 <genClasses ecoreClass="SmtLanguage.ecore#//SMTSimpleSatCommand"/>
159 <genClasses ecoreClass="SmtLanguage.ecore#//SMTComplexSatCommand">
160 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTComplexSatCommand/method"/>
161 </genClasses>
162 <genClasses ecoreClass="SmtLanguage.ecore#//SMTGetModelCommand"/>
163 <genClasses ecoreClass="SmtLanguage.ecore#//SMTReasoningTactic"/>
164 <genClasses ecoreClass="SmtLanguage.ecore#//SMTBuiltinTactic">
165 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//SMTBuiltinTactic/name"/>
166 </genClasses>
167 <genClasses ecoreClass="SmtLanguage.ecore#//SMTReasoningCombinator"/>
168 <genClasses ecoreClass="SmtLanguage.ecore#//SMTAndThenCombinator">
169 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTAndThenCombinator/tactics"/>
170 </genClasses>
171 <genClasses ecoreClass="SmtLanguage.ecore#//SMTOrElseCombinator">
172 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTOrElseCombinator/tactics"/>
173 </genClasses>
174 <genClasses ecoreClass="SmtLanguage.ecore#//SMTParOrCombinator">
175 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTParOrCombinator/tactics"/>
176 </genClasses>
177 <genClasses ecoreClass="SmtLanguage.ecore#//SMTParThenCombinator">
178 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTParThenCombinator/preProcessingTactic"/>
179 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTParThenCombinator/paralellyPostpricessingTactic"/>
180 </genClasses>
181 <genClasses ecoreClass="SmtLanguage.ecore#//SMTTryForCombinator">
182 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTTryForCombinator/tactic"/>
183 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//SMTTryForCombinator/time"/>
184 </genClasses>
185 <genClasses ecoreClass="SmtLanguage.ecore#//SMTIfCombinator">
186 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTIfCombinator/probe"/>
187 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTIfCombinator/ifTactic"/>
188 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTIfCombinator/elseTactic"/>
189 </genClasses>
190 <genClasses ecoreClass="SmtLanguage.ecore#//SMTWhenCombinator">
191 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTWhenCombinator/probe"/>
192 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTWhenCombinator/tactic"/>
193 </genClasses>
194 <genClasses ecoreClass="SmtLanguage.ecore#//SMTFailIfCombinator">
195 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTFailIfCombinator/probe"/>
196 </genClasses>
197 <genClasses ecoreClass="SmtLanguage.ecore#//SMTUsingParamCombinator">
198 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTUsingParamCombinator/tactic"/>
199 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTUsingParamCombinator/parameters"/>
200 </genClasses>
201 <genClasses ecoreClass="SmtLanguage.ecore#//ReasoningProbe">
202 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//ReasoningProbe/name"/>
203 </genClasses>
204 <genClasses ecoreClass="SmtLanguage.ecore#//ReasoningTacticParameter">
205 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//ReasoningTacticParameter/name"/>
206 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//ReasoningTacticParameter/value"/>
207 </genClasses>
208 <genClasses ecoreClass="SmtLanguage.ecore#//SMTResult"/>
209 <genClasses ecoreClass="SmtLanguage.ecore#//SMTErrorResult">
210 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//SMTErrorResult/message"/>
211 </genClasses>
212 <genClasses ecoreClass="SmtLanguage.ecore#//SMTUnsupportedResult">
213 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//SMTUnsupportedResult/command"/>
214 </genClasses>
215 <genClasses ecoreClass="SmtLanguage.ecore#//SMTSatResult">
216 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//SMTSatResult/sat"/>
217 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//SMTSatResult/unsat"/>
218 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//SMTSatResult/unknown"/>
219 </genClasses>
220 <genClasses ecoreClass="SmtLanguage.ecore#//SMTModelResult">
221 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTModelResult/newFunctionDeclarations"/>
222 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTModelResult/typeDefinitions"/>
223 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTModelResult/newFunctionDefinitions"/>
224 </genClasses>
225 <genClasses ecoreClass="SmtLanguage.ecore#//SMTStatisticValue">
226 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//SMTStatisticValue/name"/>
227 </genClasses>
228 <genClasses ecoreClass="SmtLanguage.ecore#//SMTStatisticIntValue">
229 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//SMTStatisticIntValue/value"/>
230 </genClasses>
231 <genClasses ecoreClass="SmtLanguage.ecore#//SMTStatisticDoubleValue">
232 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SmtLanguage.ecore#//SMTStatisticDoubleValue/value"/>
233 </genClasses>
234 <genClasses ecoreClass="SmtLanguage.ecore#//SMTStatisticsSection">
235 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SmtLanguage.ecore#//SMTStatisticsSection/values"/>
236 </genClasses>
237 </genPackages>
238</genmodel:GenModel>
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/plugin.xml b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/plugin.xml
new file mode 100644
index 00000000..fea6dabe
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/plugin.xml
@@ -0,0 +1,16 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3
4<plugin>
5
6 <extension point="org.eclipse.emf.ecore.generated_package">
7 <package
8 uri = "http://www.bme.hu/mit/inf/dslreasoner/SmtLanguage"
9 class = "hu.bme.mit.inf.dslreasoner.smtLanguage.SmtLanguagePackage"
10 genModel = "model/generated/SmtLanguage.genmodel" />
11
12 </extension>
13
14
15
16</plugin>
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/plugin.xml_gen b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/plugin.xml_gen
new file mode 100644
index 00000000..3665b60a
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/plugin.xml_gen
@@ -0,0 +1,16 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3
4<plugin>
5
6 <extension point="org.eclipse.emf.ecore.generated_package">
7 <package
8 uri = "http://www.bme.hu/mit/inf/dslreasoner/SmtLanguage"
9 class = "hu.bme.mit.inf.dslreasoner.smtLanguage.SmtLanguagePackage"
10 genModel = "model/generated/SmtLanguage.genmodel" />
11
12 </extension>
13
14
15
16</plugin>
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/GenerateSmtLanguage.mwe2 b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/GenerateSmtLanguage.mwe2
new file mode 100644
index 00000000..e27dbd64
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/GenerateSmtLanguage.mwe2
@@ -0,0 +1,133 @@
1module hu.bme.mit.inf.dslreasoner.GenerateSmtLanguage
2
3import org.eclipse.emf.mwe.utils.*
4import org.eclipse.xtext.generator.*
5import org.eclipse.xtext.ui.generator.*
6
7var grammarURI = "classpath:/hu/bme/mit/inf/dslreasoner/SmtLanguage.xtext"
8var fileExtensions = "smt2"
9var projectName = "hu.bme.mit.inf.dslreasoner.smt.language"
10var runtimeProject = "../${projectName}"
11var generateXtendStub = true
12var encoding = "UTF-8"
13
14Workflow {
15 bean = StandaloneSetup {
16 scanClassPath = true
17 platformUri = "${runtimeProject}/.."
18 // The following two lines can be removed, if Xbase is not used.
19 registerGeneratedEPackage = "org.eclipse.xtext.xbase.XbasePackage"
20 registerGenModelFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel"
21 }
22
23 component = DirectoryCleaner {
24 directory = "${runtimeProject}/src-gen"
25 }
26
27 component = DirectoryCleaner {
28 directory = "${runtimeProject}/model/generated"
29 }
30
31 component = DirectoryCleaner {
32 directory = "${runtimeProject}.ui/src-gen"
33 }
34
35 component = DirectoryCleaner {
36 directory = "${runtimeProject}.tests/src-gen"
37 }
38
39 component = Generator {
40 pathRtProject = runtimeProject
41 pathUiProject = "${runtimeProject}.ui"
42 //pathTestProject = "${runtimeProject}.tests"
43 projectNameRt = projectName
44 projectNameUi = "${projectName}.ui"
45 encoding = encoding
46 language = auto-inject {
47 uri = grammarURI
48
49 // Java API to access grammar elements (required by several other fragments)
50 fragment = grammarAccess.GrammarAccessFragment auto-inject {}
51
52 // generates Java API for the generated EPackages
53 fragment = ecore.EMFGeneratorFragment auto-inject {}
54
55 // the old serialization component
56 // fragment = parseTreeConstructor.ParseTreeConstructorFragment auto-inject {}
57
58 // serializer 2.0
59 fragment = serializer.SerializerFragment auto-inject {
60 generateStub = false
61 }
62
63 // a custom ResourceFactory for use with EMF
64 fragment = resourceFactory.ResourceFactoryFragment auto-inject {}
65
66 // The antlr parser generator fragment.
67 fragment = parser.antlr.XtextAntlrGeneratorFragment auto-inject {
68 // options = {
69 // backtrack = true
70 // }
71 }
72
73 // Xtend-based API for validation
74 fragment = validation.ValidatorFragment auto-inject {
75 // composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
76 // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
77 }
78
79 // old scoping and exporting API
80 // fragment = scoping.ImportURIScopingFragment auto-inject {}
81 // fragment = exporting.SimpleNamesFragment auto-inject {}
82
83 // scoping and exporting API
84 fragment = scoping.ImportNamespacesScopingFragment auto-inject {}
85 fragment = exporting.QualifiedNamesFragment auto-inject {}
86 fragment = builder.BuilderIntegrationFragment auto-inject {}
87
88 // generator API
89 fragment = generator.GeneratorFragment auto-inject {}
90
91 // formatter API
92 fragment = formatting.FormatterFragment auto-inject {}
93
94 // labeling API
95 fragment = labeling.LabelProviderFragment auto-inject {}
96
97 // outline API
98 fragment = outline.OutlineTreeProviderFragment auto-inject {}
99 fragment = outline.QuickOutlineFragment auto-inject {}
100
101 // quickfix API
102 fragment = quickfix.QuickfixProviderFragment auto-inject {}
103
104 // content assist API
105 fragment = contentAssist.ContentAssistFragment auto-inject {}
106
107 // generates a more lightweight Antlr parser and lexer tailored for content assist
108 fragment = parser.antlr.XtextAntlrUiGeneratorFragment auto-inject {}
109
110 // generates junit test support classes into Generator#pathTestProject
111 //fragment = junit.Junit4Fragment auto-inject {}
112
113 // rename refactoring
114 fragment = refactoring.RefactorElementNameFragment auto-inject {}
115
116 // provides the necessary bindings for java types integration
117 fragment = types.TypesGeneratorFragment auto-inject {}
118
119 // generates the required bindings only if the grammar inherits from Xbase
120 fragment = xbase.XbaseGeneratorFragment auto-inject {}
121
122 // generates the required bindings only if the grammar inherits from Xtype
123 fragment = xbase.XtypeGeneratorFragment auto-inject {}
124
125 // provides a preference page for template proposals
126 fragment = templates.CodetemplatesGeneratorFragment auto-inject {}
127
128 // provides a compare view
129 fragment = compare.CompareFragment auto-inject {}
130 }
131 }
132}
133
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/SmtLanguage.xtext b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/SmtLanguage.xtext
new file mode 100644
index 00000000..320e1cfe
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/SmtLanguage.xtext
@@ -0,0 +1,222 @@
1grammar hu.bme.mit.inf.dslreasoner.SmtLanguage with org.eclipse.xtext.common.Terminals
2
3generate smtLanguage "http://www.bme.hu/mit/inf/dslreasoner/SmtLanguage"
4
5import "http://www.eclipse.org/emf/2002/Ecore" as ecore
6
7SMTDocument:
8 input=SMTInput
9 (
10 '--------------'
11 output=SMTOutput
12 )?;
13
14SMTInput:
15 (options += SMTOption)*
16 (
17 typeDeclarations+=SMTType |
18 functionDeclarations+=SMTFunctionDeclaration |
19 functionDefinition+=SMTFunctionDefinition |
20 assertions += SMTAssertion
21 )*
22 satCommand = SMTSatCommand
23 getModelCommand = SMTGetModelCommand;
24
25SMTOutput:(
26 (satResult = SMTResult
27 getModelResult = SMTResult) | 'timeout' {SMTOutput})
28 statistics=SMTStatisticsSection?;
29
30//////////////////////////////////
31// SMT terminals
32//////////////////////////////////
33
34terminal SL_COMMENT : ';' !('\n'|'\r')* ('\r'? '\n')?;
35
36terminal ID : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'-'|'!'|'0'..'9')*;
37// ('a'..'z'|'A'..'Z'|'_'/*|'+'|'-'|'/'|'*'|'='|'%'|'?'|'!'|'.'|'$'|'~'|'&'/*|'^'*/|'<'|'>'/*|'@'*/)
38// ('a'..'z'|'A'..'Z'|'_'/*|'+'|'-'|'/'|'*'|'='|'%'|'?'|'!'|'.'|'$'|'~'|'&'/*|'^'|*/'<'|'>'/*|'@'*/|'0'..'9')*
39SMTID: ID;
40
41terminal PROPERTYNAME : ':' + ID;
42terminal REAL returns ecore::EBigDecimal: INT '.' INT;
43
44//////////////////////////////////
45// Options
46//////////////////////////////////
47SMTOption: '(' 'set-option' name = PROPERTYNAME value = SMTAtomicTerm ')';
48
49//////////////////////////////////
50// Type declarations
51//////////////////////////////////
52SMTType: SMTEnumeratedTypeDeclaration | SMTSetTypeDeclaration;
53
54SMTEnumLiteral: name = SMTID;
55SMTEnumeratedTypeDeclaration: '(' 'declare-datatypes' '(' ')' '(' '(' name = SMTID elements+=SMTEnumLiteral+ ')' ')' ')';
56SMTSetTypeDeclaration: '(' 'declare-sort' name = SMTID ')';
57
58SMTTypeReference: SMTComplexTypeReference | SMTPrimitiveTypeReference;
59SMTComplexTypeReference: referred = [SMTType];
60SMTPrimitiveTypeReference: SMTIntTypeReference | SMTBoolTypeReference | SMTRealTypeReference;
61
62SMTIntTypeReference: {SMTIntTypeReference} "Int";
63SMTBoolTypeReference: {SMTBoolTypeReference} "Bool";
64SMTRealTypeReference: {SMTRealTypeReference} "Real";
65
66//////////////////////////////////
67// Functions and constants
68//////////////////////////////////
69
70SMTFunctionDeclaration: '(' 'declare-fun' name = SMTID '(' parameters+=SMTTypeReference* ')' range = SMTTypeReference ')';
71
72/*DeclaredFunctionDefinition:
73 '(' 'define-fun' declaration=[Function] '(' parameters+=SortedVariable* ')' range = TypeReference value = Term ')';*/
74
75SMTFunctionDefinition:
76 '(' 'define-fun' name=SMTID '(' parameters+=SMTSortedVariable* ')' range = SMTTypeReference value = SMTTerm ')';
77
78
79//////////////////////////////////
80// Expressions
81//////////////////////////////////
82SMTTerm:
83 SMTSymbolicValue|
84 SMTAtomicTerm |
85 SMTBoolOperation |
86 SMTIntOperation |
87 SMTITE |
88 SMTLet |
89 SMTRelation |
90 SMTQuantifiedExpression;
91
92SMTSymbolicDeclaration: SMTFunctionDeclaration | SMTFunctionDefinition | SMTSortedVariable | SMTEnumLiteral | SMTInlineConstantDefinition;
93
94SMTSymbolicValue:
95 '(' symbolicReference = [SMTSymbolicDeclaration] ( parameterSubstitutions += SMTTerm )+ ')' |
96 symbolicReference = [SMTSymbolicDeclaration];
97
98SMTAtomicTerm: SMTIntLiteral | SMTBoolLiteral | SMTRealLiteral;
99SMTIntLiteral: value=INT;
100BOOLEANTERMINAL returns ecore::EBoolean: 'true' | 'false';
101SMTBoolLiteral: value=BOOLEANTERMINAL;
102SMTRealLiteral: value=REAL;
103
104// Quantified operations
105SMTSortedVariable: '(' name = SMTID range = SMTTypeReference ')';
106//QuantifiedVariableValue: variable = [QuantifiedVariable];
107
108SMTQuantifiedExpression: SMTExists | SMTForall;
109SMTExists: '(' 'exists' '(' (quantifiedVariables += SMTSortedVariable)+ ')'
110 (expression=SMTTerm | ('(' '!' expression = SMTTerm ':pattern' '(' pattern = SMTTerm ')' ')')) ')'
111;
112SMTForall: '(' 'forall' '(' (quantifiedVariables += SMTSortedVariable)+ ')'
113 (expression=SMTTerm | ('(' '!' expression = SMTTerm ':pattern' '(' pattern = SMTTerm ')' ')')) ')'
114;
115
116// Boolean operations
117SMTBoolOperation: SMTAnd | SMTOr | SMTImpl | SMTNot | SMTIff;
118SMTAnd: '(' 'and' operands+=SMTTerm+ ')';
119SMTOr: '(' 'or' operands+=SMTTerm+ ')';
120SMTImpl: '(' '=>' leftOperand=SMTTerm rightOperand=SMTTerm ')';
121SMTNot: '(' 'not' operand=SMTTerm ')';
122SMTIff: '(' 'iff' leftOperand=SMTTerm rightOperand=SMTTerm ')';
123
124// If-then-else
125SMTITE: '(' 'ite' condition = SMTTerm if=SMTTerm else = SMTTerm ')';
126
127//Let
128SMTLet: '(' 'let' '(' (inlineConstantDefinitions+=SMTInlineConstantDefinition)+ ')' term=SMTTerm ')';
129SMTInlineConstantDefinition:
130 '(' name=SMTID definition=SMTTerm ')'
131;
132
133// Relations
134SMTRelation: SMTEquals | SMTDistinct | SMTLT | SMTMT | SMTLEQ | SMTMEQ;
135SMTEquals: '(' '=' leftOperand=SMTTerm rightOperand=SMTTerm ')';
136SMTDistinct: '(' 'distinct' operands+=SMTTerm+ ')';
137SMTLT: '(' '<' leftOperand=SMTTerm rightOperand=SMTTerm ')';
138SMTMT: '(' '>' leftOperand=SMTTerm rightOperand=SMTTerm ')';
139SMTLEQ: '(' '<=' leftOperand=SMTTerm rightOperand=SMTTerm ')';
140SMTMEQ: '(' '>=' leftOperand=SMTTerm rightOperand=SMTTerm ')';
141
142// Int operations
143SMTIntOperation: SMTPlus | SMTMinus | SMTMultiply | SMTDivison | SMTDiv | SMTMod;
144SMTPlus: '(' '+' leftOperand=SMTTerm rightOperand=SMTTerm ')';
145SMTMinus: '(' '-' leftOperand=SMTTerm (rightOperand=SMTTerm)? ')';
146SMTMultiply: '(' '*' leftOperand=SMTTerm rightOperand=SMTTerm ')';
147SMTDivison: '(' '/' leftOperand=SMTTerm rightOperand=SMTTerm ')';
148SMTDiv: '(' 'div' leftOperand=SMTTerm rightOperand=SMTTerm ')';
149SMTMod: '(' 'mod' leftOperand=SMTTerm rightOperand=SMTTerm ')';
150
151//////////////////////////////////
152// Assertion
153//////////////////////////////////
154SMTAssertion: '(' 'assert' value=SMTTerm ')';
155SMTCardinalityConstraint:
156 '(' 'forall' '(' '(' ID type=SMTTypeReference ')' ')'
157 (('(' 'or'('(' '=' ID elements+=SMTSymbolicValue ')')* ')') | // With multiple element
158 ('(' '=' ID elements+=SMTSymbolicValue ')')) //With single element
159 ')'
160;
161
162//////////////////////////////////
163// Goals
164//////////////////////////////////
165SMTSatCommand: SMTSimpleSatCommand | SMTComplexSatCommand;
166SMTSimpleSatCommand : '(' 'check-sat' {SMTSimpleSatCommand} ')';
167SMTComplexSatCommand: '(' 'check-sat-using' method = SMTReasoningTactic ')';
168SMTGetModelCommand: '(' 'get-model' {SMTGetModelCommand} ')';
169
170SMTReasoningTactic: SMTBuiltinTactic | SMTReasoningCombinator;
171SMTBuiltinTactic: name = ID;
172SMTReasoningCombinator:
173 SMTAndThenCombinator | SMTOrElseCombinator | SMTParOrCombinator | SMTParThenCombinator | SMTTryForCombinator |
174 SMTIfCombinator | SMTWhenCombinator | SMTFailIfCombinator | SMTUsingParamCombinator
175;
176// executes the given tactics sequencially.
177SMTAndThenCombinator: '(' 'and-then' (tactics+=SMTReasoningTactic)+ ')';
178// tries the given tactics in sequence until one of them succeeds.
179SMTOrElseCombinator: '(' 'or-else' (tactics+=SMTReasoningTactic)+ ')';
180// executes the given tactics in parallel until one of them succeeds.
181SMTParOrCombinator: '(' 'par-or' (tactics+=SMTReasoningTactic)+ ')';
182// executes tactic1 and then tactic2 to every subgoal produced by tactic1. All subgoals are processed in parallel.
183SMTParThenCombinator: '(' 'par-then' preProcessingTactic=SMTReasoningTactic paralellyPostpricessingTactic = SMTReasoningTactic ')';
184// excutes the given tactic for at most <num> milliseconds, it fails if the execution takes more than <num> milliseconds.
185SMTTryForCombinator: '(' 'try-for' tactic=SMTReasoningTactic time=INT ')';
186// if <probe> evaluates to true, then execute the first tactic. Otherwise execute the second.
187SMTIfCombinator: '(' 'if' probe=ReasoningProbe ifTactic=SMTReasoningTactic elseTactic=SMTReasoningTactic ')';
188// shorthand for (if <probe> <tactic> skip).
189SMTWhenCombinator: '(' 'when' probe=ReasoningProbe tactic=SMTReasoningTactic ')';
190// fail if <probe> evaluates to true.
191SMTFailIfCombinator: '(' 'fail-if' probe=ReasoningProbe ')';
192//executes the given tactic using the given attributes, where <attribute> ::= <keyword> <value>. ! is a syntax sugar for using-params.
193SMTUsingParamCombinator: '(' ('using-params' | '!') tactic=SMTReasoningTactic (parameters+=ReasoningTacticParameter)* ')';
194
195ReasoningProbe: name=ID;
196ReasoningTacticParameter: name=PROPERTYNAME value=SMTAtomicTerm;
197
198//////////////////////////////////
199// Result
200//////////////////////////////////
201
202SMTResult: SMTUnsupportedResult | SMTSatResult | SMTModelResult | SMTErrorResult;
203SMTErrorResult: '(' 'error' message = STRING ')';
204SMTUnsupportedResult: 'unsupported' ';' command=ID;
205SMTSatResult: sat?='sat' | unsat?='unsat' | unknown?='unknown';
206SMTModelResult: {SMTModelResult} '(' 'model'
207 (
208 newFunctionDeclarations+=SMTFunctionDeclaration |
209 typeDefinitions+=SMTCardinalityConstraint |
210 newFunctionDefinitions+=SMTFunctionDefinition
211 )*
212 ')';
213
214//////////////////////////////////
215// Statistics
216//////////////////////////////////
217//IntOrReal returns ecore::EDouble: INT | REAL;
218
219SMTStatisticValue: SMTStatisticIntValue | SMTStatisticDoubleValue;
220SMTStatisticIntValue: name = PROPERTYNAME value=INT;
221SMTStatisticDoubleValue: name = PROPERTYNAME value = REAL;
222SMTStatisticsSection: '(' {SMTStatisticsSection} values += SMTStatisticValue* ')'; \ No newline at end of file
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/SmtLanguageRuntimeModule.java b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/SmtLanguageRuntimeModule.java
new file mode 100644
index 00000000..dabb0c29
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/SmtLanguageRuntimeModule.java
@@ -0,0 +1,11 @@
1/*
2 * generated by Xtext
3 */
4package hu.bme.mit.inf.dslreasoner;
5
6/**
7 * Use this class to register components to be used at runtime / without the Equinox extension registry.
8 */
9public class SmtLanguageRuntimeModule extends hu.bme.mit.inf.dslreasoner.AbstractSmtLanguageRuntimeModule {
10
11}
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/SmtLanguageStandaloneSetup.java b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/SmtLanguageStandaloneSetup.java
new file mode 100644
index 00000000..ed297373
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/SmtLanguageStandaloneSetup.java
@@ -0,0 +1,16 @@
1/*
2* generated by Xtext
3*/
4package hu.bme.mit.inf.dslreasoner;
5
6/**
7 * Initialization support for running Xtext languages
8 * without equinox extension registry
9 */
10public class SmtLanguageStandaloneSetup extends SmtLanguageStandaloneSetupGenerated{
11
12 public static void doSetup() {
13 new SmtLanguageStandaloneSetup().createInjectorAndDoEMFRegistration();
14 }
15}
16
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/formatting/SmtLanguageFormatter.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/formatting/SmtLanguageFormatter.xtend
new file mode 100644
index 00000000..9e3e3943
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/formatting/SmtLanguageFormatter.xtend
@@ -0,0 +1,34 @@
1package hu.bme.mit.inf.dslreasoner.formatting
2
3import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter
4import org.eclipse.xtext.formatting.impl.FormattingConfig
5import hu.bme.mit.inf.dslreasoner.services.SmtLanguageGrammarAccess
6
7
8/**
9 * This class contains custom formatting description.
10 *
11 * see : http://www.eclipse.org/Xtext/documentation.html#formatting
12 * on how and when to use it
13 *
14 * Also see {@link org.eclipse.xtext.xtext.XtextFormattingTokenSerializer} as an example
15 */
16class SmtLanguageFormatter extends AbstractDeclarativeFormatter {
17
18// @Inject extension SmtLanguageGrammarAccess
19
20 override protected void configureFormatting(FormattingConfig c) {
21 val f = getGrammarAccess as SmtLanguageGrammarAccess
22 c.setAutoLinewrap(100000);
23 for(pair : f.findKeywordPairs("(",")")) {
24 c.setNoSpace().after(pair.getFirst());
25 c.setNoSpace().before(pair.getSecond());
26 }
27 c.setLinewrap.after(f.SMTAssertionRule)
28 c.setLinewrap.after(f.SMTFunctionDeclarationRule)
29 c.setLinewrap.after(f.SMTFunctionDefinitionRule)
30 c.setLinewrap.after(f.SMTEnumeratedTypeDeclarationRule)
31 c.setLinewrap.after(f.SMTSetTypeDeclarationRule)
32 c.setLinewrap.after(f.SMTOptionRule)
33 }
34}
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/generator/SmtLanguageGenerator.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/generator/SmtLanguageGenerator.xtend
new file mode 100644
index 00000000..e61c082e
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/generator/SmtLanguageGenerator.xtend
@@ -0,0 +1,24 @@
1/*
2 * generated by Xtext
3 */
4package hu.bme.mit.inf.dslreasoner.generator
5
6import org.eclipse.emf.ecore.resource.Resource
7import org.eclipse.xtext.generator.IGenerator
8import org.eclipse.xtext.generator.IFileSystemAccess
9
10/**
11 * Generates code from your model files on save.
12 *
13 * see http://www.eclipse.org/Xtext/documentation.html#TutorialCodeGeneration
14 */
15class SmtLanguageGenerator implements IGenerator {
16
17 override void doGenerate(Resource resource, IFileSystemAccess fsa) {
18// fsa.generateFile('greetings.txt', 'People to greet: ' +
19// resource.allContents
20// .filter(typeof(Greeting))
21// .map[name]
22// .join(', '))
23 }
24}
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/scoping/SmtLanguageScopeProvider.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/scoping/SmtLanguageScopeProvider.xtend
new file mode 100644
index 00000000..e93e0543
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/scoping/SmtLanguageScopeProvider.xtend
@@ -0,0 +1,138 @@
1/*
2 * generated by Xtext
3 */
4package hu.bme.mit.inf.dslreasoner.scoping
5
6import java.util.Set
7import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSortedVariable
8import org.eclipse.emf.ecore.EObject
9import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTQuantifiedExpression
10import java.util.Collections
11import java.util.HashSet
12import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTInlineConstantDefinition
13import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTLet
14import java.util.Collection
15import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTFunctionDefinition
16import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSymbolicValue
17import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTDocument
18import org.eclipse.xtext.scoping.IScope
19import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSymbolicDeclaration
20import org.eclipse.emf.ecore.EReference
21import java.util.HashMap
22import java.util.Map
23import org.eclipse.xtext.scoping.Scopes
24import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTModelResult
25import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTComplexTypeReference
26import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTEnumLiteral
27import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTEnumeratedTypeDeclaration
28import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTFunctionDeclaration
29
30/**
31 * This class contains custom scoping description.
32 *
33 * see : http://www.eclipse.org/Xtext/documentation.html#scoping
34 * on how and when to use it
35 *
36 */
37class SmtLanguageScopeProvider extends org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider {
38 /**
39 * Search for the first instance of containerType up in the containment hierarchy.
40 * @param containerType
41 * @param from
42 * @return
43 */
44 @SuppressWarnings("unchecked")
45 def private <ContainerType> ContainerType getTop(Class<ContainerType> containerType, EObject from){
46 var actualLevel = from.eContainer();
47 while(actualLevel!=null){
48 if(containerType.isInstance(actualLevel)) { return actualLevel as ContainerType}
49 else { actualLevel = actualLevel.eContainer() }
50 }
51 return null;
52 }
53
54 def private Set<SMTSortedVariable> getQuantifiedVariables(EObject from) {
55 //The most inner quantified variables are in this expression:
56 val quantifiedExpression = getTop(typeof(SMTQuantifiedExpression), from);
57 if(quantifiedExpression==null) return Collections.emptySet();
58
59 //The variables can be referred by a symbolic reference
60 val Set<SMTSortedVariable> result = new HashSet(quantifiedExpression.getQuantifiedVariables());
61 //The variables can defined in an outer quantifier
62 result.addAll(getQuantifiedVariables(quantifiedExpression));
63 //println(result.map[name].join(","))
64 return result;
65 }
66
67 def private Set<SMTInlineConstantDefinition> getInlineConstantDefinitions(EObject from) {
68 //The most inner quantified variables are in this expression:
69 val let = getTop(typeof(SMTLet), from);
70 if(let==null) return Collections.emptySet();
71
72 //The variables can be referred by a symbolic reference
73 val result = new HashSet(let.getInlineConstantDefinitions());
74 //The variables can defined in an outer quantifier
75 result.addAll(getInlineConstantDefinitions(let));
76 return result;
77 }
78
79 def private Collection<SMTSortedVariable> getParameters(SMTSymbolicValue from) {
80 val functionDefinition = getTop(typeof(SMTFunctionDefinition), from);
81 if(functionDefinition!=null) {
82 return functionDefinition.getParameters();
83 }
84 else return Collections.emptySet();
85 }
86
87 def private Set<SMTEnumLiteral> getFiniteElements(SMTSymbolicValue value) {
88 val Set<SMTEnumLiteral> result = new HashSet();
89 val document = getTop(typeof(SMTDocument),value)
90 for(type : document.input.getTypeDeclarations().filter(typeof(SMTEnumeratedTypeDeclaration))) {
91 result.addAll(type.getElements());
92 }
93 return result;
94 }
95
96 def private Set<SMTSymbolicDeclaration> getFunctions(SMTSymbolicValue value) {
97 val document = getTop(typeof(SMTDocument),value);
98 val input = document.input
99 var SMTModelResult output = null;
100 if(document.output != null && document.output.getModelResult instanceof SMTModelResult) {
101 output = document.output.getModelResult as SMTModelResult
102 }
103
104 val Map<String, SMTFunctionDeclaration> declarations = new HashMap
105 val Set<SMTFunctionDefinition> definitions =new HashSet
106
107 input.functionDeclarations.forEach[declarations.put(it.name,it)]
108 if(output != null) {
109 output.newFunctionDeclarations.forEach[declarations.put(it.name,it)]
110 }
111 input.functionDefinition.filter[!declarations.containsKey(it.name)].forEach[definitions += it]
112 if(output != null) {
113 output.newFunctionDefinitions.filter[!declarations.containsKey(it.name)].forEach[definitions += it]
114 }
115
116 val referrables = new HashSet<SMTSymbolicDeclaration>;
117 referrables.addAll(declarations.values)
118 referrables.addAll(definitions)
119 return referrables
120 }
121
122 def public IScope scope_SMTSymbolicValue_symbolicReference(SMTSymbolicValue value, EReference ref) {
123 val Set<SMTSymbolicDeclaration> referrables = new HashSet;
124
125 referrables.addAll(value.getFiniteElements)
126 referrables.addAll(value.getParameters)
127 referrables.addAll(value.getFunctions)
128 referrables.addAll(value.getQuantifiedVariables)
129 referrables.addAll(value.getInlineConstantDefinitions)
130
131 return Scopes.scopeFor(referrables);
132 }
133
134 // Any type defined in the input section can be referred.
135 def public IScope scope_SMTComplexTypeReference_referred(SMTComplexTypeReference reference, EReference ref){
136 return Scopes.scopeFor(getTop(typeof(SMTDocument),reference).input.typeDeclarations)
137 }
138}
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/validation/SmtLanguageValidator.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/validation/SmtLanguageValidator.xtend
new file mode 100644
index 00000000..2ae6130f
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/src/hu/bme/mit/inf/dslreasoner/validation/SmtLanguageValidator.xtend
@@ -0,0 +1,24 @@
1/*
2 * generated by Xtext
3 */
4package hu.bme.mit.inf.dslreasoner.validation
5//import org.eclipse.xtext.validation.Check
6
7/**
8 * Custom validation rules.
9 *
10 * see http://www.eclipse.org/Xtext/documentation.html#validation
11 */
12class SmtLanguageValidator extends AbstractSmtLanguageValidator {
13
14// public static val INVALID_NAME = 'invalidName'
15//
16// @Check
17// def checkGreetingStartsWithCapital(Greeting greeting) {
18// if (!Character.isUpperCase(greeting.name.charAt(0))) {
19// warning('Name should start with a capital',
20// MyDslPackage.Literals.GREETING__NAME,
21// INVALID_NAME)
22// }
23// }
24}
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/.classpath b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/.classpath
new file mode 100644
index 00000000..7e444723
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/.classpath
@@ -0,0 +1,8 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="xtend-gen"/>
4 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
5 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
6 <classpathentry kind="src" path="src"/>
7 <classpathentry kind="output" path="bin"/>
8</classpath>
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/.gitignore b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/.gitignore
new file mode 100644
index 00000000..8ae4e44d
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/.gitignore
@@ -0,0 +1,4 @@
1/bin/
2/src-gen/
3/vql-gen/
4/xtend-gen/
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/.project b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/.project
new file mode 100644
index 00000000..00f0576a
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.smt.reasoner</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.jdt.core.javabuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.ManifestBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.SchemaBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.pde.PluginNature</nature>
31 <nature>org.eclipse.jdt.core.javanature</nature>
32 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/.settings/org.eclipse.jdt.core.prefs b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/META-INF/MANIFEST.MF b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..a7f26476
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: Solver
4Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.smt.reasoner
5Bundle-Version: 1.0.0.qualifier
6Bundle-RequiredExecutionEnvironment: JavaSE-1.8
7Require-Bundle: hu.bme.mit.inf.dslreasoner.smt.language;bundle-version="1.0.0",
8 hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0",
9 org.eclipse.viatra.query.runtime;bundle-version="1.5.0",
10 org.eclipse.viatra.query.runtime.base.itc;bundle-version="1.5.0",
11 org.eclipse.viatra.query.tooling.core;bundle-version="1.5.0"
12Export-Package: hu.bme.mit.inf.dslreasoner.smt.reasoner
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/build.properties b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/build.properties
new file mode 100644
index 00000000..d6c49e5c
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/build.properties
@@ -0,0 +1,5 @@
1source.. = src/,\
2 xtend-gen/
3output.. = bin/
4bin.includes = META-INF/,\
5 .
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SMT_TypeMapperInterpretation.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SMT_TypeMapperInterpretation.xtend
new file mode 100644
index 00000000..44708f44
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SMT_TypeMapperInterpretation.xtend
@@ -0,0 +1,36 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
5import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSymbolicDeclaration
6import java.util.List
7import java.util.Map
8import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
9
10class Logic2SMT_TypeMapperInterpretation {
11
12 val Map<Type, ? extends List<DefinedElement>> type2Elements
13 val Map<DefinedElement, ValueType> logic2smt
14 val Map<SMTSymbolicDeclaration, DefinedElement> smt2logic
15
16 public new(
17 Map<Type, ? extends List<DefinedElement>> type2Elements,
18 Map<DefinedElement, ValueType> logic2smt,
19 Map<SMTSymbolicDeclaration, DefinedElement> smt2logic) {
20 this.type2Elements = type2Elements
21 this.logic2smt = logic2smt
22 this.smt2logic = smt2logic
23 }
24
25 public def getElements(Type type) {
26 return type2Elements.get(type)
27 }
28
29 public def ValueType logicElement2Smt(DefinedElement element) {
30 return element.lookup(this.logic2smt)
31 }
32
33 public def smtElement2Logic(SMTSymbolicDeclaration element) {
34 return element.lookup(this.smt2logic)
35 }
36}
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapper.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapper.xtend
new file mode 100644
index 00000000..aad43716
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapper.xtend
@@ -0,0 +1,1055 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput
4import hu.bme.mit.inf.dslreasoner.logic.model.builder.TypeScopes
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.And
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolLiteral
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolTypeReference
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
13import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Distinct
14import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Divison
15import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals
16import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Exists
17import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Forall
18import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function
19import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration
20import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition
21import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IfThenElse
22import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff
23import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl
24import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf
25import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral
26import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntTypeReference
27import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessOrEqualThan
28import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LessThan
29import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Minus
30import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Mod
31import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreOrEqualThan
32import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.MoreThan
33import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Multiply
34import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Not
35import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Or
36import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Plus
37import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression
38import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral
39import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealTypeReference
40import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
41import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
42import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
43import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue
44import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
45import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
46import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
47import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTAnd
48import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTAssertion
49import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTBoolTypeReference
50import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTComplexTypeReference
51import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTDocument
52import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTInput
53import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTIntTypeReference
54import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTOr
55import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTQuantifiedExpression
56import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTRealTypeReference
57import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTReasoningTactic
58import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSortedVariable
59import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSymbolicValue
60import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTTerm
61import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTType
62import hu.bme.mit.inf.dslreasoner.smtLanguage.SmtLanguageFactory
63import java.util.ArrayList
64import java.util.HashMap
65import java.util.LinkedHashMap
66import java.util.LinkedList
67import java.util.List
68import java.util.Map
69import org.eclipse.emf.ecore.EObject
70import org.eclipse.emf.ecore.util.EcoreUtil
71import org.eclipse.xtend.lib.annotations.Accessors
72import org.eclipse.xtext.xbase.lib.Functions.Function0
73import org.eclipse.xtext.xbase.lib.Functions.Function1
74import org.eclipse.xtext.xbase.lib.Functions.Function2
75import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
76import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTFunctionDefinition
77import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy
78import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
79
80class Logic2SmtMapper{
81 val extension SmtLanguageFactory factory = SmtLanguageFactory.eINSTANCE
82 val Logic2SmtMapper_UnfoldingSupport unfolder = new Logic2SmtMapper_UnfoldingSupport
83 @Accessors val Logic2Smt_TypeMapper typeMapper;
84
85 LogicProblemBuilder b
86
87 new(Logic2Smt_TypeMapper typeMapper) {
88 this.typeMapper = typeMapper
89 }
90
91 public def TracedOutput<SMTDocument, Logic2SmtMapperTrace> transformProblem(LogicProblem problem, TypeScopes scope, SMTReasoningTactic strategy) {
92 val documentInput = createSMTInput => [getModelCommand = createSMTGetModelCommand]
93 if(strategy == null) documentInput.satCommand = createSMTSimpleSatCommand
94 else documentInput.satCommand = createSMTComplexSatCommand => [it.method = EcoreUtil.copy(strategy)]
95
96 val document = createSMTDocument => [input = documentInput]
97 val trace = new Logic2SmtMapperTrace => [
98 it.forwardMapper = this
99 it.problem = problem
100 ]
101 // Trafo
102 this.typeMapper.transformTypes(documentInput,problem,trace, scope)
103 problem.functions.filter(FunctionDeclaration).forEach[it.transformFunctionDeclaration(documentInput,trace)]
104 problem.functions.filter(FunctionDefinition) .forEach[it.transformFunctionDefinition(documentInput,trace)]
105 problem.relations.filter(RelationDeclaration).forEach[it.transformRelationDeclaration(documentInput,trace)]
106 problem.relations.filter(RelationDefinition) .forEach[it.transformRelationDefinition(documentInput,trace)]
107 problem.constants.filter(ConstantDeclaration).forEach[it.transformConstantDeclaration(documentInput,trace)]
108 problem.constants.filter(ConstantDefinition) .forEach[it.transformConstantDefinition(documentInput,trace)]
109
110 problem.relations.filter(RelationDefinition).forEach[it.transformRelationDefinition_definition(documentInput,trace)]
111 documentInput.assertions += problem.assertions.map[transformAssertion(trace)]
112 // End trafo
113
114 document.input.assertions.forEach[it.value.nameAllUnnamedVariable]
115 document.input.functionDefinition.forEach[it.value.nameAllUnnamedVariable]
116 document.cleanDocument
117 return new TracedOutput(document,trace)
118 }
119
120 private def toID(String name) {name.split("\\s+").join("!") }
121
122 private def nameAllUnnamedVariable(SMTTerm root) {
123 var index = 1
124 val unnamedVariables = root.eAllContents.filter(SMTSortedVariable).filter[it.name == null].toList
125 for(unnamedVariable : unnamedVariables) {
126 unnamedVariable.name = '''var«index++»'''
127 }
128 }
129
130// def protected maxIntegerRageDefiniton(SMTInput documentInput) {
131// val upperlimit = createSMTFunctionDeclaration
132// }
133
134 def dispatch protected List<TypeConstraint> transformTypeReference(BoolTypeReference boolTypeReference, Logic2SmtMapperTrace trace) {
135 return #[new TypeConstraint(createSMTBoolTypeReference,null)]
136 }
137 def dispatch protected List<TypeConstraint> transformTypeReference(IntTypeReference intTypeReference, Logic2SmtMapperTrace trace) {
138 return #[new TypeConstraint(createSMTIntTypeReference,null)]
139 }
140 def dispatch protected List<TypeConstraint> transformTypeReference(RealTypeReference realTypeReference, Logic2SmtMapperTrace trace) {
141 return #[new TypeConstraint(createSMTRealTypeReference,null)]
142 }
143 def dispatch protected List<TypeConstraint> transformTypeReference(ComplexTypeReference complexTypeReference, Logic2SmtMapperTrace trace) {
144 return typeMapper.transformTypeReference(complexTypeReference.referred,trace)
145 }
146
147 ///////////////////////////////////////////////////////
148 // Definitions
149 ///////////////////////////////////////////////////////
150
151 def transformFunctionDeclaration(FunctionDeclaration function, SMTInput input, Logic2SmtMapperTrace trace) {
152 val parameterTypeCombinations = unfolder.getPermutations(function.parameters.map[x|transformTypeReference(x,trace)])
153 val rangeTypeCombinations = function.range.transformTypeReference(trace)
154
155 if(rangeTypeCombinations.size == 1) {
156 val rangeType = rangeTypeCombinations.head
157 // Map it as function
158 var index = 1
159 for(combination : parameterTypeCombinations) {
160 val nameWithIndex = if (parameterTypeCombinations.size > 1)
161 toID('''function «function.name.toID» «index++»''')
162 else
163 toID('''function «function.name.toID»''')
164
165 createFunctionDeclaration(function,nameWithIndex,combination,rangeType,true, input,trace)
166 }
167 } else {
168 // Map it as a relation
169 var index = 1
170 for(combination : parameterTypeCombinations) {
171 val type2function = new HashMap
172 for(rangeType : rangeTypeCombinations) {
173 val nameWithIndex = toID('''function «function.name.toID» «index++»''')
174 val f = createFunctionDeclaration(function,nameWithIndex,combination,rangeType,false,input,trace)
175 type2function.put(rangeType,f)
176 }
177 // for all rangeTypes, there is
178 // 1. at least one range type that satisfies the relation
179 input.assertions+=createSMTAssertion => [
180 it.value = createSMTForall => [f|
181 var paramIndex = 1
182 for(param : combination) {
183 val paramName = '''p«paramIndex++»'''
184 val variable = createSMTSortedVariable => [
185 it.name = paramName
186 it.range = param.type
187 ]
188 f.quantifiedVariables += variable
189 }
190 f.expression = createSMTOr => [
191 operands+=rangeTypeCombinations.map[t|
192 createSMTExists => [
193 val v = createSMTSortedVariable => [
194 it.name = "r"
195 it.range = EcoreUtil.copy(t.type)
196 ]
197 it.quantifiedVariables += v
198 it.expression = createSMTSymbolicValue => [
199 it.symbolicReference = type2function.get(t)
200 it.parameterSubstitutions += f.quantifiedVariables.map[fv|
201 createSMTSymbolicValue => [it.symbolicReference = fv]
202 ]
203 it.parameterSubstitutions += createSMTSymbolicValue => [it.symbolicReference = v]
204 ]
205 ]
206 ]
207 ]
208 ]
209 ]
210 // 2. at most one range type that satisfies the relation
211 // TODO a
212 }
213 }
214 }
215
216 private def createFunctionDeclaration(
217 Function function,
218 String nameWithIndex,
219 List<TypeConstraint> combination,
220 TypeConstraint rangeType,
221 boolean useFunction,
222 SMTInput input,
223 Logic2SmtMapperTrace trace
224 ) {
225 val smtFunction = if(useFunction) {
226 createSMTFunctionDeclaration => [
227 it.name = nameWithIndex
228 it.parameters += combination.map[it.type]
229 it.range = rangeType.type
230 ]
231 } else {
232 createSMTFunctionDeclaration => [
233 it.name = nameWithIndex
234 it.parameters += combination.map[it.type]
235 it.parameters += rangeType.type
236 it.range = createSMTBoolTypeReference
237 ]
238 }
239
240 val descriptor = new Descriptor<Function>((combination+#[rangeType]).toList.map[
241 TypeDescriptor.createFromTypeReference(it.type)],function)
242 trace.functionMap.put(descriptor,smtFunction)
243 input.functionDeclarations += smtFunction
244 trace.functionUnfolding.put(function,#[descriptor])
245
246 if(!useFunction) {
247 input.assertions += createSMTAssertion => [
248 it.value = createSMTForall => [f|
249 var pi = 0
250 for(param : combination) {
251 val variable = createSMTSortedVariable
252 variable.name = "p"+pi.toString
253 variable.range = EcoreUtil.copy(combination.get(pi).type)
254 f.quantifiedVariables+=variable
255 pi++
256 }
257 val resultParam1 = createSMTSortedVariable => [
258 it.name = "res1"
259 it.range = EcoreUtil.copy(rangeType.type)
260 ]
261 f.quantifiedVariables+=resultParam1
262 val resultParam2 = createSMTSortedVariable => [
263 it.name = "res2"
264 it.range = EcoreUtil.copy(rangeType.type)
265 ]
266 f.quantifiedVariables+=resultParam2
267 f.expression = createSMTImpl => [
268 it.leftOperand = createSMTAnd => [
269 it.operands += createSMTSymbolicValue => [
270 it.symbolicReference = smtFunction
271 it.parameterSubstitutions += (0..<combination.size).map[x|
272 createSMTSymbolicValue => [it.symbolicReference = f.quantifiedVariables.get(x)]]
273 it.parameterSubstitutions += createSMTSymbolicValue => [it.symbolicReference = resultParam1]
274 ]
275 it.operands += createSMTSymbolicValue => [
276 it.symbolicReference = smtFunction
277 it.parameterSubstitutions += (0..<combination.size).map[x|
278 createSMTSymbolicValue => [it.symbolicReference = f.quantifiedVariables.get(x)]]
279 it.parameterSubstitutions += createSMTSymbolicValue => [it.symbolicReference = resultParam2]
280 ]
281 ]
282 it.rightOperand = createSMTEquals => [
283 it.leftOperand = createSMTSymbolicValue => [it.symbolicReference = resultParam1]
284 it.rightOperand = createSMTSymbolicValue => [it.symbolicReference = resultParam2]
285 ]
286 ]
287 ]
288 ]
289 }
290
291 if(rangeType.constraint != null) {
292 input.assertions += createSMTAssertion => [
293 it.value = createSMTForall => [f|
294 var pi = 0
295 for(param : combination) {
296 val variable = createSMTSortedVariable
297 variable.name = "p"+pi.toString
298 variable.range = EcoreUtil.copy(combination.get(pi).type)
299 f.quantifiedVariables+=variable
300 pi++
301 }
302 val resultParam = createSMTSortedVariable => [
303 it.name = "res"
304 it.range = EcoreUtil.copy(rangeType.type)
305 ]
306 f.quantifiedVariables += resultParam
307 f.expression = createSMTImpl => [
308 it.leftOperand = if(useFunction)
309 {
310 createSMTEquals => [
311 leftOperand = createSMTSymbolicValue => [
312 it.symbolicReference = smtFunction
313 it.parameterSubstitutions += (0..<combination.size).map[x|
314 createSMTSymbolicValue => [it.symbolicReference = f.quantifiedVariables.get(x)]
315 ]
316 ]
317 rightOperand = createSMTSymbolicValue => [it.symbolicReference = resultParam]
318 ]
319 } else {
320 createSMTSymbolicValue => [
321 it.symbolicReference = smtFunction
322 it.parameterSubstitutions += (0..<combination.size).map[x|
323 createSMTSymbolicValue => [it.symbolicReference = f.quantifiedVariables.get(x)]]
324 it.parameterSubstitutions += createSMTSymbolicValue => [it.symbolicReference = resultParam]
325 ]
326 }
327 it.rightOperand = rangeType.constraint.apply(resultParam)
328 ]
329 ]
330 ]
331 }
332 return smtFunction
333 }
334
335 def transformFunctionDefinition(FunctionDefinition function, SMTInput input, Logic2SmtMapperTrace trace) {
336 throw new UnsupportedOperationException("TODO: auto-generated method stub")
337 }
338
339 def protected transformRelationDeclaration(RelationDeclaration relation, SMTInput input, Logic2SmtMapperTrace trace) {
340 val parameterTypeCombinations = unfolder.getPermutations(relation.parameters.map[x|transformTypeReference(x,trace)])
341 var relationIndex = 1
342 val unfolding = new ArrayList(parameterTypeCombinations.size)
343 for(parameterTypeCombination : parameterTypeCombinations) {
344 /// Create a name for the relation
345 val nameWithIndex = if (parameterTypeCombinations.size > 1)
346 toID('''relation «relation.name.toID» «relationIndex++»''')
347 else
348 toID('''relation «relation.name.toID»''')
349
350 // Adding an unfolded relation
351 val smtRelation = createSMTFunctionDeclaration => [
352 name = nameWithIndex
353 parameters+= parameterTypeCombination.map[typeConstraint | EcoreUtil.copy(typeConstraint.type)]
354 range = createSMTBoolTypeReference
355 ]
356 val Descriptor<Relation> descriptor = new Descriptor<Relation>(parameterTypeCombination.map[
357 TypeDescriptor.createFromTypeReference(it.type)],relation)
358 trace.relationMap.put(descriptor,smtRelation)
359 input.functionDeclarations += smtRelation
360 unfolding += descriptor
361
362 // If there is a type constraint
363 if(parameterTypeCombination.exists[it.constraint != null]) {
364 // create a constraint that specifies that the relation contains elemenents with the required properties
365 val and = createSMTAnd
366 val rel = createSMTSymbolicValue => [it.symbolicReference = smtRelation]
367 val forall = createSMTForall => [
368 it.expression = createSMTImpl => [
369 it.leftOperand = rel
370 it.rightOperand = and
371 ]
372 ]
373 var paramIndex = 0
374 for(param : parameterTypeCombination) {
375 val paramName = '''p«paramIndex++»'''
376 val variable = createSMTSortedVariable => [
377 it.name = paramName
378 it.range = param.type
379 ]
380 forall.quantifiedVariables += variable
381 rel.parameterSubstitutions += createSMTSymbolicValue => [it.symbolicReference = variable]
382 if(param.constraint != null) {
383 and.operands+=param.constraint.apply(variable)
384 }
385 }
386 input.assertions += createSMTAssertion => [
387 it.value = forall
388 ]
389 }
390 }
391 trace.relationUnfolding.put(relation,unfolding)
392 }
393 def protected transformRelationDefinition(RelationDefinition relation, SMTInput input, Logic2SmtMapperTrace trace) {
394 val parameterTypeCombinations = unfolder.getPermutations(relation.variables.map[x|transformTypeReference(x.range,trace)]).toList
395 var relationIndex = 1
396 val unfolding = new ArrayList(parameterTypeCombinations.size)
397 for(parameterTypeCombination : parameterTypeCombinations) {
398 /// Create a name for the relation
399 val nameWithIndex = if (parameterTypeCombinations.size > 1)
400 toID('''relation «relation.name.toID» «relationIndex++»''')
401 else
402 toID('''relation «relation.name.toID»''')
403
404 // creating an unfolded relation
405 val smtRelation = createSMTFunctionDefinition => [
406 name = nameWithIndex
407 range = createSMTBoolTypeReference
408 ]
409 /*
410 // adding variables as parameters
411 val Map<Variable, SMTSortedVariable> variables = new HashMap
412 var paramIndex = 0
413 val constraintList = new LinkedList
414 for(param : parameterTypeCombination) {
415 val paramName = relation.variables.get(paramIndex).name.toID
416 val variable = createSMTSortedVariable => [
417 it.name = paramName
418 it.range = param.type
419 ]
420
421 smtRelation.parameters+=variable
422 variables.put(relation.variables.get(paramIndex),variable)
423 if(param.constraint != null) {
424 constraintList+=param.constraint.apply(variable)
425 }
426 paramIndex++
427 }
428 val definition = transformTerm(relation.value,trace,variables)
429 if(constraintList.empty) {
430 smtRelation.value = definition.expectLogic.value
431 } else if(constraintList.size == 1) {
432 smtRelation.value = createSMTAnd => [
433 it.operands += constraintList.head
434 it.operands += definition.expectLogic.value
435 ]
436 } else {
437 smtRelation.value = createSMTAnd => [
438 it.operands += createSMTAnd => [operands += constraintList]
439 it.operands += definition.expectLogic.value
440 ]
441 }
442 */
443 //
444 val Descriptor<Relation> descriptor = new Descriptor<Relation>(parameterTypeCombination.map[
445 TypeDescriptor.createFromTypeReference(it.type)],relation)
446 trace.relationMap.put(descriptor,smtRelation)
447 input.functionDefinition += smtRelation
448 unfolding += descriptor
449 }
450 trace.relationUnfolding.put(relation,unfolding)
451 }
452 def transformRelationDefinition_definition(RelationDefinition relation, SMTInput input, Logic2SmtMapperTrace trace) {
453 val parameterTypeCombinations = unfolder.getPermutations(relation.variables.map[x|transformTypeReference(x.range,trace)]).toList
454 for(parameterTypeCombination : parameterTypeCombinations) {
455 val Descriptor<Relation> descriptor = new Descriptor<Relation>(parameterTypeCombination.map[
456 TypeDescriptor.createFromTypeReference(it.type)],relation)
457 val smtRelation = descriptor.lookup(trace.relationMap) as SMTFunctionDefinition
458
459 // adding variables as parameters
460 val Map<Variable, SMTSortedVariable> variables = new HashMap
461 var paramIndex = 0
462 val constraintList = new LinkedList
463 for(param : parameterTypeCombination) {
464 val paramName = relation.variables.get(paramIndex).name.toID
465 val variable = createSMTSortedVariable => [
466 it.name = paramName
467 it.range = param.type
468 ]
469
470 smtRelation.parameters+=variable
471 variables.put(relation.variables.get(paramIndex),variable)
472 if(param.constraint != null) {
473 constraintList+=param.constraint.apply(variable)
474 }
475 paramIndex++
476 }
477 val definition = transformTerm(relation.value,trace,variables)
478 if(constraintList.empty) {
479 smtRelation.value = definition.expectLogic.value
480 } else if(constraintList.size == 1) {
481 smtRelation.value = createSMTAnd => [
482 it.operands += constraintList.head
483 it.operands += definition.expectLogic.value
484 ]
485 } else {
486 smtRelation.value = createSMTAnd => [
487 it.operands += createSMTAnd => [operands += constraintList]
488 it.operands += definition.expectLogic.value
489 ]
490 }
491 }
492 }
493
494 def transformConstantDeclaration(ConstantDeclaration constant,SMTInput input, Logic2SmtMapperTrace trace) {
495 throw new UnsupportedOperationException("TODO: auto-generated method stub")
496 }
497
498 def transformConstantDefinition(ConstantDefinition constant, SMTInput input, Logic2SmtMapperTrace trace) {
499 throw new UnsupportedOperationException("TODO: auto-generated method stub")
500 }
501
502
503 def protected SMTAssertion transformAssertion(Assertion assertion, Logic2SmtMapperTrace trace) {
504 val a = assertion.value.transformTerm(trace,emptyMap)
505 createSMTAssertion => [value = a.expectLogic.value]
506 }
507
508 ///////////////////////////////////////////////////////
509 // Logic -> Logic value transformation
510 ///////////////////////////////////////////////////////
511
512 ///////////////////////////////////////////////////////
513 // Literals
514 ///////////////////////////////////////////////////////
515 def dispatch protected TransformedSubterm transformTerm(BoolLiteral literal, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
516 new LogicSubterm(createSMTBoolLiteral => [value = literal.value]) }
517 def dispatch protected TransformedSubterm transformTerm(IntLiteral literal, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
518 if(literal.value>=0) { new NumericSubterm(#[],#[],createSMTIntLiteral => [value = literal.value])}
519 else {new NumericSubterm(#[],#[],createSMTMinus => [ leftOperand = (createSMTIntLiteral => [value = - (literal.value) ] ) ]) } }
520 def dispatch protected TransformedSubterm transformTerm(RealLiteral literal, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
521 new NumericSubterm(#[],#[],createSMTRealLiteral => [value = literal.value]) }
522
523 ///////////////////////////////////////////////////////
524 // NumericOperators
525 ///////////////////////////////////////////////////////
526 def dispatch protected TransformedSubterm transformTerm(Plus plus, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
527 return transformBinaryNumericOperator(
528 plus.leftOperand,plus.rightOperand,
529 [l,r|createSMTPlus => [ leftOperand = l rightOperand = r ]],
530 trace,variables)
531 }
532 def dispatch protected TransformedSubterm transformTerm(Minus minus, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
533 return transformBinaryNumericOperator(
534 minus.leftOperand,minus.rightOperand,
535 [l,r|createSMTMinus => [ leftOperand = l rightOperand = r ]],
536 trace,variables)
537 }
538 def dispatch protected TransformedSubterm transformTerm(Multiply multiply, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
539 return transformBinaryNumericOperator(
540 multiply.leftOperand,multiply.rightOperand,
541 [l,r|createSMTMultiply => [ leftOperand = l rightOperand = r ]],
542 trace,variables)
543 }
544 def dispatch protected TransformedSubterm transformTerm(Divison div, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
545 return transformBinaryNumericOperator(
546 div.leftOperand,div.rightOperand,
547 [l,r|createSMTDiv => [ leftOperand = l rightOperand = r ]],
548 trace,variables)
549 }
550 def dispatch protected TransformedSubterm transformTerm(Mod mod, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
551 return transformBinaryNumericOperator(
552 mod.leftOperand,mod.rightOperand,
553 [l,r|createSMTMod => [ leftOperand = l rightOperand = r ]],
554 trace,variables)
555 }
556
557 def protected TransformedSubterm transformBinaryNumericOperator(
558 Term leftOperand,
559 Term rightOperand,
560 Function2<SMTTerm,SMTTerm,SMTTerm> combinator,
561 Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables)
562 {
563 val left = leftOperand. transformTerm(trace,variables).expectNumber.getPossibleValues
564 val right = rightOperand.transformTerm(trace,variables).expectNumber.getPossibleValues
565 val values = new ArrayList(left.size * right.size)
566 for(combination : TransformedSubterm.allCombinations(left,right)) {
567 val l = combination.get(0)
568 val r = combination.get(1)
569 values += new SubtermOption(
570 #[l,r],#[],#[],
571 combinator.apply(l.expression, r.expression),
572 TypeDescriptor.numericTypeDescriptor_Instance
573 )
574 }
575 return new NumericSubterm(values)
576 }
577
578 ///////////////////////////////////////////////////////
579 // LogicOperators
580 ///////////////////////////////////////////////////////
581 def dispatch protected TransformedSubterm transformTerm(Not not, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
582 val operand = not.operand.transformTerm(trace,variables).expectLogic
583 new LogicSubterm(createSMTNot => [operand = operand.value]) }
584 def dispatch protected TransformedSubterm transformTerm(And and, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
585 transformBinaryLogicOperator2(and.operands,[x|createSMTAnd => [operands += x]],trace,variables) }
586 def dispatch protected TransformedSubterm transformTerm(Or or, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
587 transformBinaryLogicOperator2(or.operands,[x|createSMTOr => [operands += x]],trace,variables) }
588 def dispatch protected TransformedSubterm transformTerm(Impl impl, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
589 transformBinaryLogicOperator1(impl.leftOperand,impl.rightOperand,[l,r|createSMTImpl =>[leftOperand = l rightOperand = r]],trace,variables) }
590 def dispatch protected TransformedSubterm transformTerm(Iff iff, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
591 transformBinaryLogicOperator1(iff.leftOperand,iff.rightOperand,[l,r|createSMTIff => [leftOperand = l rightOperand = r]],trace,variables)}
592
593 /**
594 * Logic combinator with two values
595 */
596 def protected transformBinaryLogicOperator1(
597 Term leftOperand, Term rightOperand,
598 Function2<SMTTerm,SMTTerm,SMTTerm> combinator,
599 Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
600 val left = leftOperand.transformTerm(trace,variables).expectLogic
601 val right = rightOperand.transformTerm(trace,variables).expectLogic
602 return new LogicSubterm(combinator.apply(left.value, right.value))
603 }
604 /**
605 * Logic combinator with multiple values
606 */
607 def protected transformBinaryLogicOperator2(
608 Iterable<? extends Term> operands,
609 Function1<Iterable<? extends SMTTerm>,SMTTerm> combinator,
610 Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
611 val smtOperands = operands.map[transformTerm(trace,variables).expectLogic.value]
612 return new LogicSubterm(combinator.apply(smtOperands))
613 }
614
615 ///////////////////////////////////////////////////////
616 // Numeric -> Logic
617 ///////////////////////////////////////////////////////
618 def dispatch protected TransformedSubterm transformTerm(MoreThan moreThan, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
619 transformNumericComparison(moreThan.leftOperand,moreThan.rightOperand, [l,r|createSMTMT => [ leftOperand = l rightOperand = r ]],trace,variables)}
620 def dispatch protected TransformedSubterm transformTerm(LessThan lessThan, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
621 transformNumericComparison(lessThan.leftOperand,lessThan.rightOperand, [l,r|createSMTLT => [ leftOperand = l rightOperand = r ]],trace,variables)}
622 def dispatch protected TransformedSubterm transformTerm(MoreOrEqualThan moreThan, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
623 transformNumericComparison(moreThan.leftOperand,moreThan.rightOperand, [l,r|createSMTMEQ => [ leftOperand = l rightOperand = r ]],trace,variables)}
624 def dispatch protected TransformedSubterm transformTerm(LessOrEqualThan lessThan, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
625 transformNumericComparison(lessThan.leftOperand,lessThan.rightOperand, [l,r|createSMTLEQ => [ leftOperand = l rightOperand = r ]],trace,variables)}
626
627 def protected transformNumericComparison(Term leftOperand, Term rightOperand, Function2<SMTTerm,SMTTerm,SMTTerm> combinator, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables){
628 val left = leftOperand.transformTerm(trace,variables).getPossibleValues
629 val right = rightOperand.transformTerm(trace,variables).getPossibleValues
630 val values = new ArrayList(left.size * right.size)
631 for(combination : TransformedSubterm.allCombinations(left,right)) {
632 val l = combination.get(0)
633 val r = combination.get(1)
634 values += LogicSubterm::resolveToLogic(#[l,r],combinator.apply(l.expression, r.expression))
635 }
636 val res = createSMTOr =>[operands += values]
637 return new LogicSubterm(res)
638 }
639
640 ///////////////////////////////////////////////////////
641 // Equals and Distinct
642 ///////////////////////////////////////////////////////
643
644 def dispatch protected TransformedSubterm transformTerm(Equals equals, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
645 val left = equals.leftOperand.transformTerm(trace,variables)
646 val rightX = equals.rightOperand.transformTerm(trace,variables)
647 if(left instanceof LogicSubterm) {
648 val right = rightX.expectLogic
649 new LogicSubterm(createSMTEquals => [
650 leftOperand = left.value
651 rightOperand = right.value ])
652 } else if(left instanceof NumericSubterm) {
653 val right = rightX.expectNumber
654 val leftOperands = left.possibleValues
655 val rightOperands = right.possibleValues
656 val values = new ArrayList(leftOperands.size * rightOperands.size)
657 for(combination : TransformedSubterm.allCombinations(left.possibleValues,right.possibleValues)) {
658 val l = combination.get(0)
659 val r = combination.get(1)
660 values += TransformedSubterm.resolveToLogic(#[l,r],
661 createSMTEquals => [
662 leftOperand = combination.get(0).expression
663 rightOperand = combination.get(1).expression])
664 }
665 return new LogicSubterm(createSMTOr =>[operands += values])
666 } else if(left instanceof ComplexSubterm){
667 val right = rightX as ComplexSubterm
668
669 val values = new LinkedList
670 for(combination : TransformedSubterm.allCombinations(left.possibleValues,right.possibleValues)) {
671 val l = combination.get(0)
672 val r = combination.get(1)
673 if(l.type.complexType == r.type.complexType) {
674 values += TransformedSubterm.resolveToLogic(#[l,r],createSMTEquals => [
675 leftOperand = l.expression
676 rightOperand = r.expression ])
677 } /*else dont add*/
678 }
679
680 if(values.size == 0) {
681 return new LogicSubterm(createSMTBoolLiteral => [it.value = false])
682 } else if(values.size == 1) {
683 return new LogicSubterm(values.head)
684 } else {
685 return new LogicSubterm(createSMTOr => [operands += values])
686 }
687 }
688 }
689
690 def dispatch protected TransformedSubterm transformTerm(Distinct distinct, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
691 val o = distinct.operands.map[transformTerm(trace,variables)]
692 if(o.empty) {
693 throw new IllegalArgumentException('''empty distinct''')
694 } else if(o.size == 1) {
695 // 1 element is always distinct
696 new LogicSubterm(createSMTBoolLiteral => [it.value = true])
697 } else {
698 val head = o.head
699 if(head instanceof LogicSubterm) {
700 return new LogicSubterm(createSMTDistinct => [
701 it.operands += o.map[expectLogic.value]])
702 } else if(head instanceof NumericSubterm) {
703 val numbers = o.map[expectNumber.possibleValues]
704 val distincts = new LinkedList
705 for(combination : TransformedSubterm.allCombinations(numbers)) {
706 distincts += LogicSubterm::resolveToLogic(combination,createSMTDistinct => [operands += combination.map[it.expression]])
707 }
708 new LogicSubterm(createSMTOr => [it.operands += distincts])
709 } else {
710 val objects = o.map[possibleValues]
711 val distincts = new LinkedList
712 for(combination : TransformedSubterm.allCombinations(objects)) {
713 val Map<SMTType,LinkedList<SubtermOption>> type2Terms = new LinkedHashMap;
714 for(param:combination) {
715 val type = param.type.complexType
716 val value = param
717 var LinkedList<SubtermOption> list;
718 if(type2Terms.containsKey(type)) {
719 list = type2Terms.get(type)
720 } else {
721 list = new LinkedList
722 type2Terms.put(type,list)
723 }
724 list+=value
725 }
726
727 val groups = type2Terms.values.map[elementList|
728 if(elementList.size == 1) return null
729 else return LogicSubterm.resolveToLogic(elementList,createSMTDistinct => [it.operands += elementList.map[expression]])
730 ].filterNull
731 if(groups.empty) {
732 // One of the group is trivially satisfied
733 return new LogicSubterm(createSMTBoolLiteral => [it.value = true])
734 } else {
735 val and = createSMTAnd => [operands += groups]
736 distincts.add(and)
737 }
738 }
739 if(distincts.size == 1) {
740 return new LogicSubterm(distincts.head)
741 } else {
742 return new LogicSubterm(createSMTOr => [it.operands += distincts])
743 }
744 }
745 }
746 }
747
748 ///////////////////////////////////////////////////////
749 // Quantifiers
750 ///////////////////////////////////////////////////////
751
752 def dispatch protected TransformedSubterm transformTerm(Forall forall, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
753 new LogicSubterm(transformQuantifiedExpression(forall,trace,variables,
754 [createSMTForall],
755 [q|createSMTAnd=>[operands+=q]],
756 [precondition,expression|createSMTImpl=>[leftOperand=precondition rightOperand=expression]]))
757 }
758 def dispatch protected TransformedSubterm transformTerm(Exists exists, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
759 new LogicSubterm(transformQuantifiedExpression(exists,trace,variables,
760 [createSMTExists],
761 [q|createSMTOr=>[operands+=q]],
762 [precondition,expression|createSMTAnd=>[operands+=precondition operands+=expression]]))
763 }
764
765 def protected SMTTerm transformQuantifiedExpression(
766 QuantifiedExpression q, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables,
767 Function0<SMTQuantifiedExpression> constructor,
768 Function1<Iterable<SMTQuantifiedExpression>,SMTTerm> combinator,
769 Function2<SMTTerm,SMTTerm,SMTTerm> preconditionCombinator
770 ) {
771 val permutations = unfolder.getPermutations(q.quantifiedVariables.map[it.range.transformTypeReference(trace)])
772 val ArrayList<SMTQuantifiedExpression> unfoldedQuantification = new ArrayList(permutations.size)
773
774 for(permutation : permutations) {
775 val allVariables = new HashMap(variables)
776 val newSMTVariables = new ArrayList(q.quantifiedVariables.size)
777 val typePrecondition = new ArrayList<SMTTerm>(q.quantifiedVariables.size)
778
779 for(variableIndex: 0..<q.quantifiedVariables.size) {
780 val logicVariable = q.quantifiedVariables.get(variableIndex)
781 val elementInPermutation = permutation.get(variableIndex)
782
783 val newSMTVariable = createSMTSortedVariable => [
784 name = logicVariable.name.toID
785 range = elementInPermutation.type
786 ]
787 allVariables.put(logicVariable, newSMTVariable)
788 newSMTVariables+=newSMTVariable
789 if(elementInPermutation.constraint != null) {
790 typePrecondition += elementInPermutation.constraint.apply(newSMTVariable)
791 }
792 }
793
794 val expressionOfQuantifiedFormula =
795 if(typePrecondition.isEmpty)
796 q.expression.transformTerm(trace,allVariables).expectLogic.value
797 else if(typePrecondition.size == 1)
798 preconditionCombinator.apply(
799 typePrecondition.head,
800 q.expression.transformTerm(trace,allVariables).expectLogic.value)
801 else
802 preconditionCombinator.apply(
803 createSMTAnd => [it.operands += typePrecondition],
804 q.expression.transformTerm(trace,allVariables).expectLogic.value)
805
806 unfoldedQuantification += constructor.apply => [
807 quantifiedVariables += newSMTVariables
808 expression = expressionOfQuantifiedFormula
809 ]
810
811// if(newSMTVariables.exists[it.range == null]) {
812// println(newSMTVariables.filter[it.range == null].map[name])
813// }
814 }
815
816 if(permutations.size == 1) return unfoldedQuantification.head
817 else return combinator.apply(unfoldedQuantification)
818 }
819
820 ///////////////////////////////////////////////////////
821 // If - Then - Else
822 ///////////////////////////////////////////////////////
823 def dispatch protected TransformedSubterm transformTerm(IfThenElse ite, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
824 val condition = ite.condition.transformTerm(trace,variables).expectLogic.value
825 val positiveTerm = ite.ifTrue.transformTerm(trace,variables)
826 val positives = positiveTerm.possibleValues
827 val negativeTerm = ite.ifFalse.transformTerm(trace,variables)
828 val negatives = negativeTerm.possibleValues
829 // Simple ITE
830 if(positives.size == 1 && negatives.size == 1 && positives.head.type == negatives.head.type) {
831 val t = positives.head.type
832 if(t.isLogic) {
833 return new LogicSubterm(createSMTITE => [
834 it.condition = condition
835 it.^if = positives.head.expression
836 it.^else = negatives.head.expression])
837 } else if(t.isNumeric) {
838 return new NumericSubterm(
839 (positives.head.variables + negatives.head.variables).toList,
840 (positives.head.preconditions + negatives.head.preconditions).toList,
841 createSMTITE => [
842 it.condition = condition
843 it.^if = positives.head.expression
844 it.^else = negatives.head.expression
845 ])
846 } else {
847 return new ComplexSubterm(
848 (positives.head.variables + negatives.head.variables).toList,
849 (positives.head.preconditions + negatives.head.preconditions).toList,
850 createSMTITE => [
851 it.condition = condition
852 it.^if = positives.head.expression
853 it.^else = negatives.head.expression],
854 t
855 )
856 }
857 // else the ite need to be unfolded
858 } else {
859 if(positiveTerm instanceof LogicSubterm) {
860 throw new AssertionError('''If the subterm has logic value it should be transformed as "Simple ITE""''')
861 } else if (positiveTerm instanceof NumericSubterm){
862 return new NumericSubterm(unfoldIte(positives, condition, negatives))
863 } else {
864 return new ComplexSubterm(unfoldIte(positives, condition, negatives))
865 }
866 }
867 }
868
869 private def List<SubtermOption> unfoldIte(List<SubtermOption> positives, SMTTerm condition, List<SubtermOption> negatives) {
870 (positives.map[
871 new SubtermOption(#[it],#[],#[condition],it.expression,it.type)
872 ] +
873 negatives.map[
874 new SubtermOption(#[it],#[],#[createSMTNot => [it.operand = condition]],it.expression,it.type)
875 ]).toList
876 }
877
878 ///////////////////////////////////////////////////////
879 // instanceof
880 ///////////////////////////////////////////////////////
881
882 def dispatch protected TransformedSubterm transformTerm(InstanceOf i, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
883 val value = i.value.transformTerm(trace,variables)
884 val range = i.range
885 if(range instanceof BoolTypeReference) {
886 return new LogicSubterm(createSMTBoolLiteral=>[it.value = (value instanceof LogicSubterm)])
887 } else if(range instanceof IntTypeReference || range instanceof RealTypeReference) {
888 return new LogicSubterm(createSMTBoolLiteral=>[it.value = (value instanceof NumericSubterm)])
889 } else {
890 val requestedTypes = this.typeMapper.transformTypeReference((range as ComplexTypeReference).referred,trace)
891 val possileValues = value.possibleValues
892 val options = new ArrayList(requestedTypes.size)
893 for(typeConstraint : requestedTypes) {
894 val possibleValue = possileValues.filter[it.type.complexType == (typeConstraint.type as SMTComplexTypeReference).referred].head
895 if(possibleValue != null) {
896 val x = if(typeConstraint.constraint != null ) {
897 if(possibleValue.expression instanceof SMTSymbolicValue && (possibleValue.expression as SMTSymbolicValue).symbolicReference instanceof SMTSortedVariable) {
898 val referred = (possibleValue.expression as SMTSymbolicValue).symbolicReference as SMTSortedVariable
899 typeConstraint.constraint.apply(referred)
900 } else {
901 createSMTForall => [
902 val v = createSMTSortedVariable => [it.range = EcoreUtil.copy(typeConstraint.type)]
903 it.quantifiedVariables += v
904 it.expression = createSMTImpl => [
905 leftOperand = createSMTEquals => [
906 it.leftOperand = possibleValue.expression
907 it.rightOperand = createSMTSymbolicValue => [it.symbolicReference = v]
908 ]
909 rightOperand = typeConstraint.constraint.apply(v)
910 ]
911 ]
912 }
913 } else if(typeConstraint.constraint == null) {
914 createSMTBoolLiteral => [it.value = true]
915 }
916 options += LogicSubterm::resolveToLogic(#[possibleValue],x)
917 }
918 }
919
920 if(options.size == 0) {
921 return new LogicSubterm(createSMTBoolLiteral=>[it.value = false])
922 } else if(options.size == 1) {
923 return new LogicSubterm(options.head)
924 } else {
925 return new LogicSubterm(createSMTOr => [it.operands += options])
926 }
927 }
928
929 }
930
931 ///////////////////////////////////////////////////////
932 // SymbolicReference
933 ///////////////////////////////////////////////////////
934
935 def dispatch protected TransformedSubterm transformTerm(SymbolicValue symbolicValue, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
936 val referred = symbolicValue.symbolicReference
937 val params = symbolicValue.parameterSubstitutions
938 return transformSymbolicReference(referred,params,trace,variables)
939 }
940
941 def dispatch protected TransformedSubterm transformSymbolicReference(Relation referred, List<Term> parameterSubstitution, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
942 val parameters = parameterSubstitution.map[transformTerm(it,trace,variables)]
943 val list = new LinkedList
944 for(combination : TransformedSubterm.allCombinations(parameters.map[it.possibleValues])) {
945 val descriptor = new Descriptor(combination.map[it.type],referred)
946 val targetRelation = descriptor.lookup(trace.relationMap)
947 if(targetRelation == null) {
948 throw new AssertionError('''target relation should not be null (yet)''')
949
950 } else {
951 list += TransformedSubterm.resolveToLogic(combination,createSMTSymbolicValue => [
952 it.symbolicReference = targetRelation
953 it.parameterSubstitutions += combination.map[it.expression]
954 ])
955 }
956 }
957
958 if(list.size == 1) {
959 return new LogicSubterm(list.head)
960 } else {
961 return new LogicSubterm(createSMTOr => [ operands += list ])
962 }
963 }
964
965
966 def dispatch protected TransformedSubterm transformSymbolicReference(Function referred, List<Term> parameterSubstitution, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
967 throw new UnsupportedOperationException
968 }
969
970 def dispatch protected TransformedSubterm transformSymbolicReference(Variable referred, List<Term> parameterSubstitution, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
971 if(!variables.containsKey(referred)) {
972 val container = referred.eContainer
973 println("X" + container)
974 for(v : variables.keySet) {
975 println(v)
976 println("in " +v.eContainer)
977 }
978 return null
979 }
980 val v = referred.lookup(variables)
981
982 val expression = createSMTSymbolicValue => [it.symbolicReference = v]
983 if(v.range instanceof SMTBoolTypeReference) {
984 return new LogicSubterm(expression)
985 } else if(v.range instanceof SMTIntTypeReference || v.range instanceof SMTRealTypeReference) {
986 return new NumericSubterm(#[],#[],expression)
987 } else {
988 return new ComplexSubterm(#[],#[],expression,
989 new TypeDescriptor((v.range as SMTComplexTypeReference).referred));
990 }
991 }
992
993 def dispatch protected TransformedSubterm transformSymbolicReference(DefinedElement referred, List<Term> parameterSubstitution, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
994 this.typeMapper.transformSymbolicReference(referred,trace)
995 }
996
997 def dispatch protected TransformedSubterm transformSymbolicReference(Void referred, List<Term> parameterSubstitution, Logic2SmtMapperTrace trace, Map<Variable, SMTSortedVariable> variables) {
998 throw new NullPointerException('''unfilled symbolic reference!''')
999 }
1000
1001 ///////////
1002
1003 /*def transformContainment(SMTDocument document, ContainmentHierarchy h, Logic2SmtMapperTrace trace) {
1004 val containmentRelation_oo = createSMTFunctionDefinition=>[
1005 it.name="containment!oo"
1006 it.range=createSMTBoolTypeReference
1007 val child = createSMTSortedVariable => [
1008 it.name =
1009 ]
1010 ]
1011 }*/
1012
1013 ///////////
1014
1015 def cleanDocument(SMTDocument document) {
1016 val content = document.eAllContents.toList
1017 for(object:content) {
1018 for(containmentReference : object.eClass.EAllReferences.filter[containment]) {
1019 val child = object.eGet(containmentReference) {
1020 if(child!=null) {
1021 if(containmentReference.isMany) {
1022 val list = child as List<EObject>
1023 for(index : 0..<list.size) {
1024 val single = list.get(index)
1025 val newSingle = replaceWith(single)
1026 if(newSingle!=null) {
1027 list.set(index,newSingle)
1028 }
1029 }
1030 } else {
1031 val single = child as EObject
1032 val newSingle = replaceWith(single)
1033 if(newSingle!=null) {
1034 object.eSet(containmentReference,newSingle)
1035 }
1036 }
1037 }
1038 }
1039 }
1040 }
1041 }
1042 def private dispatch replaceWith(SMTOr or) {
1043 if(or.operands.empty) {
1044 return createSMTBoolLiteral => [it.value = false]
1045 } else return null
1046 }
1047 def private dispatch replaceWith(SMTAnd and) {
1048 if(and.operands.empty) {
1049 return createSMTBoolLiteral => [it.value = true]
1050 } else return null
1051 }
1052 def private dispatch replaceWith(EObject object) {
1053 null
1054 }
1055} \ No newline at end of file
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapperTrace.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapperTrace.xtend
new file mode 100644
index 00000000..69111a11
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapperTrace.xtend
@@ -0,0 +1,23 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Function
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
6import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
7import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSymbolicDeclaration
8import java.util.HashMap
9import java.util.List
10import java.util.Map
11
12class Logic2SmtMapperTrace {
13 public var LogicProblem problem
14 public var Logic2SmtMapper forwardMapper
15 public var Logic2Smt_TypeMapperTrace typeMapperTrace
16
17 public val Map<Relation,List<Descriptor<Relation>>> relationUnfolding = new HashMap
18 public val Map<Descriptor<Relation>,SMTSymbolicDeclaration> relationMap = new HashMap
19 public val Map<Function,List<Descriptor<Function>>> functionUnfolding = new HashMap
20 public val Map<Descriptor<Function>,SMTSymbolicDeclaration> functionMap = new HashMap
21 public val Map<Function,List<Descriptor<Constant>>> constantUnfolding = new HashMap
22 public val Map<Descriptor<Constant>,SMTSymbolicDeclaration> constantMap = new HashMap
23} \ No newline at end of file
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapper_UnfoldingSupport.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapper_UnfoldingSupport.xtend
new file mode 100644
index 00000000..8c2d5dad
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapper_UnfoldingSupport.xtend
@@ -0,0 +1,33 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner
2
3//import hu.bme.mit.inf.dslreasoner.smtLanguage.SmtLanguageFactory
4import java.util.ArrayList
5import java.util.List
6
7class Logic2SmtMapper_UnfoldingSupport {
8 //val extension SmtLanguageFactory factory = SmtLanguageFactory.eINSTANCE
9
10 def List<List<TypeConstraint>> getPermutations(List<List<TypeConstraint>> lists) {
11 if(lists.size == 1) {
12 val elements = lists.head
13 val result = new ArrayList(elements.size)
14 for(element: elements){
15 result.add(#[element.copy])
16 }
17 return result
18 } else {
19 val permuteThis = lists.head
20 val withThat = getPermutations(lists.tail.toList)
21 val result = new ArrayList(permuteThis.size*withThat.size)
22 for(h:permuteThis) {
23 for(t:withThat) {
24 val l = new ArrayList(withThat.size+1)
25 l+=h.copy
26 l.addAll(t.map[copy])
27 result.add(l)
28 }
29 }
30 return result
31 }
32 }
33} \ No newline at end of file
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper.xtend
new file mode 100644
index 00000000..71cfd0e0
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper.xtend
@@ -0,0 +1,38 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.TypeScopes
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
6import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
7import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTDocument
8import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTInput
9import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSortedVariable
10import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTTerm
11import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTTypeReference
12import java.util.List
13import org.eclipse.emf.ecore.util.EcoreUtil
14import org.eclipse.xtend.lib.annotations.Data
15import org.eclipse.xtext.xbase.lib.Functions.Function1
16
17interface Logic2Smt_TypeMapper {
18 def void transformTypes(
19 SMTInput document, LogicProblem problem, Logic2SmtMapperTrace trace, TypeScopes scopes)
20
21 def List<TypeConstraint> transformTypeReference(Type type, Logic2SmtMapperTrace trace)
22 def TransformedSubterm transformSymbolicReference(DefinedElement referred, Logic2SmtMapperTrace trace)
23 def Logic2SMT_TypeMapperInterpretation getTypeInterpretation(LogicProblem problem,SMTDocument document,SmtModelInterpretation interpretation, Logic2SmtMapperTrace trace)
24}
25
26@Data
27class TypeConstraint {
28 SMTTypeReference type
29 Function1<SMTSortedVariable,SMTTerm> constraint
30
31 def public copy() {
32 return new TypeConstraint(EcoreUtil.copy(this.type),this.constraint)
33 }
34}
35
36interface Logic2Smt_TypeMapperTrace{
37 def Logic2Smt_TypeMapperTrace copy(SMTInput newModel)
38} \ No newline at end of file
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypes.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypes.xtend
new file mode 100644
index 00000000..c9bafa6c
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypes.xtend
@@ -0,0 +1,501 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.TypeScopes
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
10import hu.bme.mit.inf.dslreasoner.logic.model.patterns.PossibleDynamicTypeMatcher
11import hu.bme.mit.inf.dslreasoner.logic.model.patterns.SupertypeStarMatcher
12import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTComplexTypeReference
13import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTDocument
14import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTEnumLiteral
15import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTEnumeratedTypeDeclaration
16import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTFunctionDeclaration
17import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTFunctionDefinition
18import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTInput
19import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTModelResult
20import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSetTypeDeclaration
21import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSymbolicDeclaration
22import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTTerm
23import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTType
24import hu.bme.mit.inf.dslreasoner.smtLanguage.SmtLanguageFactory
25import java.util.ArrayList
26import java.util.HashMap
27import java.util.LinkedList
28import java.util.List
29import java.util.Map
30import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
31import org.eclipse.viatra.query.runtime.emf.EMFScope
32import org.eclipse.xtext.xbase.lib.Functions.Function0
33import org.eclipse.xtext.xbase.lib.Functions.Function1
34
35import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
36
37class Logic2Smt_TypeMapperTrace_FilteredTypes implements Logic2Smt_TypeMapperTrace{
38 public var Map<Type, SMTType> independentClasses = new HashMap
39 /**
40 * SMT type for the new objects
41 */
42 public var SMTType newObjects
43 /**
44 * SMT type for the existing objects
45 */
46 public var SMTEnumeratedTypeDeclaration oldObjects
47 /**
48 * existing element -> SMT literal map
49 */
50 public var Map<DefinedElement, SMTEnumLiteral> elementMap = new HashMap
51
52 public var SMTEnumeratedTypeDeclaration oldObjectTypes
53 public var Map<Type, SMTEnumLiteral> oldObjectTypeMap = new HashMap
54 public var SMTFunctionDefinition oldObjectTypeFunction
55 public var Map<Type, SMTFunctionDefinition> oldObjectTypePredicates = new HashMap
56
57 public var SMTEnumeratedTypeDeclaration newObjectTypes
58 public var Map<Type, SMTEnumLiteral> newObjectTypeMap = new HashMap
59 public var SMTFunctionDeclaration newObjectTypeFunction
60 public var Map<Type, SMTFunctionDefinition> newObjectTypePredicates = new HashMap
61
62 override copy(SMTInput newModel) {
63 val a = this
64 val b = new Logic2Smt_TypeMapperTrace_FilteredTypes
65
66 b.independentClasses = a.independentClasses.copyMap(newModel.typeDeclarations,[name])
67
68 b.newObjects = newModel.typeDeclarations.filter[it.name == a.newObjects.name].head
69 b.oldObjects = newModel.typeDeclarations.filter[it.name == a.oldObjects.name].head as SMTEnumeratedTypeDeclaration
70 b.elementMap = a.elementMap.copyMap(b.oldObjects.elements,[name])
71
72 b.oldObjectTypes = newModel.typeDeclarations.filter[it.name == a.newObjects.name].head as SMTEnumeratedTypeDeclaration
73 b.oldObjectTypeMap = a.oldObjectTypeMap.copyMap(b.oldObjectTypes.elements,[name])
74 b.oldObjectTypeFunction = newModel.functionDefinition.filter[it.name == a.oldObjectTypeFunction.name].head
75 b.oldObjectTypePredicates = a.oldObjectTypePredicates.copyMap(newModel.functionDefinition,[name])
76
77 b.newObjectTypes = newModel.typeDeclarations.filter[it.name == a.newObjectTypes.name].head as SMTEnumeratedTypeDeclaration
78 b.newObjectTypeMap = a.newObjectTypeMap.copyMap(b.newObjectTypes.elements,[name])
79 b.newObjectTypeFunction = newModel.functionDeclarations.filter[it.name == a.newObjectTypeFunction.name].head
80 b.newObjectTypePredicates = a.newObjectTypePredicates.copyMap(newModel.functionDefinition,[name])
81
82 return b
83 }
84}
85
86class Logic2Smt_TypeMapper_FilteredTypes implements Logic2Smt_TypeMapper {
87 val extension SmtLanguageFactory factory = SmtLanguageFactory.eINSTANCE
88 val LogiclanguageFactory factory2 = LogiclanguageFactory.eINSTANCE
89
90 private def toID(List<String> names) {names.join("!") }
91 private def toID(String name) {name.split("\\s+").toID}
92
93 override transformTypes(SMTInput document, LogicProblem problem, Logic2SmtMapperTrace trace, TypeScopes scopes) {
94 val typeTrace = new Logic2Smt_TypeMapperTrace_FilteredTypes
95 trace.typeMapperTrace = typeTrace
96 val engine = ViatraQueryEngine.on(new EMFScope(problem))
97
98 val independentTypes = problem.types.filter(TypeDefinition).filter[isIndependentType]
99
100 val connectedTypes = problem.types.filter[!isIndependentType]
101 val connectedElements = problem.elements.filter[!isIndependentElement]
102
103 val connectedTypesWithoutDefintypesWithoutDefinedSupertype = connectedTypes.filter(TypeDeclaration).filter[!hasDefinedSupertype].toList
104 val hasOldElements = !connectedElements.empty
105 val hasNewElements = !connectedTypesWithoutDefintypesWithoutDefinedSupertype.empty
106
107 // 0. map the simple types
108 this.transformIndependentTypes(independentTypes,trace)
109
110 // 1. Has old elements => create supertype for it
111 if(hasOldElements) {
112 this.transformDefinedElements(connectedElements, trace,document)
113 }
114 // 2. Has new types => create a supertype for it
115 if(hasNewElements) {
116 this.transformUndefinedElements(scopes,trace,document)
117 }
118 // 3. Adding type definitions of the types
119 // 3.1: Type definition to old elements
120 if(hasOldElements) {
121 this.transformOldTypes(connectedTypes, connectedElements, trace, document, engine)
122 }
123 // 3.2: Type definition to new elements
124 if(hasNewElements) {
125 this.transformNewTypes(connectedTypesWithoutDefintypesWithoutDefinedSupertype,trace,document,engine);
126 }
127 }
128
129 private def isIndependentType(Type t) {
130 val res = (t instanceof TypeDefinition) && t.supertypes.empty && t.subtypes.empty
131 return res
132 }
133 private def isIndependentElement(DefinedElement e) {
134 val types = e.definedInType
135 return types.size == 1 && types.head.isIndependentType
136 }
137
138 protected def transformIndependentTypes(Iterable<TypeDefinition> types,Logic2SmtMapperTrace trace) {
139 for(type: types) {
140 val independentSMTType = createSMTEnumeratedTypeDeclaration => [
141 name = toID(#["oldType",type.name])
142 ]
143 trace.typeTrace.independentClasses.put(type,independentSMTType)
144 for(element : type.elements) {
145 val enumLiteral = createSMTEnumLiteral => [it.name = toID(#["oldElement",element.name])]
146 independentSMTType.elements += enumLiteral
147 trace.typeTrace.elementMap.put(element,enumLiteral)
148 }
149 }
150 }
151
152 protected def transformDefinedElements(Iterable<DefinedElement> oldElements, Logic2SmtMapperTrace trace, SMTInput document) {
153 val List<SMTEnumLiteral> literals = new ArrayList(oldElements.size)
154 for(element : oldElements) {
155 val elementName ='''oldElement «element.name»'''
156 val literal = createSMTEnumLiteral => [name = elementName.toID]
157 literals += literal
158 trace.typeTrace.elementMap.put(element,literal)
159 }
160 trace.typeTrace.oldObjects = createSMTEnumeratedTypeDeclaration =>
161 [name = "oldObjects" it.elements += literals]
162 document.typeDeclarations += trace.typeTrace.oldObjects
163 }
164
165 protected def transformUndefinedElements(TypeScopes scopes, Logic2SmtMapperTrace trace, SMTInput document) {
166 var SMTType newObjects
167 if(scopes.maxNewElements == -1) {
168 newObjects = createSMTSetTypeDeclaration => [
169 name = "newObjects"
170 ]
171 } else {
172 val newElements = new ArrayList(scopes.maxNewElements)
173 for(index : (1..<scopes.maxNewElements+1)) {
174 val literal = createSMTEnumLiteral => [
175 name = #["newElement",index.toString].toID
176 ]
177 newElements += literal
178 }
179 newObjects = createSMTEnumeratedTypeDeclaration => [
180 name = "newObjects"
181 it.elements += newElements
182 ]
183 }
184 trace.typeTrace.newObjects = newObjects
185 document.typeDeclarations += newObjects
186 }
187
188 protected def transformOldTypes(Iterable<Type> oldTypes,Iterable<DefinedElement> oldElements, Logic2SmtMapperTrace trace, SMTInput document, ViatraQueryEngine engine) {
189 val possibleTypeMatcher = PossibleDynamicTypeMatcher.on(engine)
190 val supertypeStarMatcher = SupertypeStarMatcher.on(engine)
191// val possibleTypes = new LinkedList
192// if(hasDefinedElement) possibleTypes += typesWithDefinedSupertype
193// if(hasUndefinedElement) possibleTypes += typesWithoutDefinedSupertype
194// val possibleConcreteTypes = possibleTypes.filter[!it.isIsAbstract]
195// val possibleConcreteTypes = possibleTypeMatcher.allValuesOfdynamic
196
197 // 3.1.1. cretate a type for old types
198 val possibleConcreteTypeLiterals = new ArrayList()
199 for(possibleConcreteType: oldTypes.filter[!isIsAbstract]) {
200 val typeName = '''oldType «possibleConcreteType.name»'''
201 val literal = createSMTEnumLiteral => [name = typeName.toID]
202 trace.typeTrace.oldObjectTypeMap.put(possibleConcreteType,literal)
203 possibleConcreteTypeLiterals+=literal
204 }
205 val oldObjectTypes = createSMTEnumeratedTypeDeclaration => [
206 it.name = "oldTypes"
207 it.elements += possibleConcreteTypeLiterals
208 ]
209 trace.typeTrace.oldObjectTypes = oldObjectTypes
210 document.typeDeclarations += oldObjectTypes
211
212 // 3.1.2 for each object, create a constant for its possible dynamic type
213 val Map<DefinedElement,SMTFunctionDeclaration> possibleTypesOfElement = new HashMap
214 val Map<DefinedElement,Type> onlyPossibleType = new HashMap
215 for(object: oldElements) {
216 val types = possibleTypeMatcher.getAllValuesOfdynamic(null,object)
217 if(types.size == 1) {
218 onlyPossibleType.put(object,types.head)
219 } else { // including 0 or more than 1
220 // create a constant declaration
221 val typeOfObjectConstant = createSMTFunctionDeclaration => [
222 it.name = toID(#["typeDecisions",toID(object.name)])
223 it.range = createSMTComplexTypeReference => [
224 it.referred = trace.typeTrace.oldObjectTypes
225 ]
226 ]
227 document.functionDeclarations += typeOfObjectConstant
228 possibleTypesOfElement.put(object,typeOfObjectConstant)
229 // add assertions to the constant to select valid values
230 document.assertions += createSMTAssertion => [
231 val options = types.map[type | createSMTEquals => [
232 it.leftOperand = createSMTSymbolicValue => [it.symbolicReference = typeOfObjectConstant]
233 it.rightOperand = createSMTSymbolicValue => [it.symbolicReference = type.lookup(trace.typeTrace.oldObjectTypeMap)]
234 ]]
235 it.value = if(options.empty) {
236 createSMTBoolLiteral => [it.value = false]
237 } else {
238 createSMTOr=>[operands += options]
239 }
240 ]
241 }
242 }
243
244 // 3.1.2 create a function: old elements -> old types
245 val oldTypeFunction = createSMTFunctionDefinition => [
246 it.name = "oldTypeFunction"
247 val o = createSMTSortedVariable => [
248 it.name = "o"
249 it.range= createSMTComplexTypeReference => [it.referred = trace.typeTrace.oldObjects]
250 ]
251 it.parameters += o
252 it.range = createSMTComplexTypeReference => [it.referred = trace.typeTrace.oldObjectTypes]
253 it.value = unfoldITE(oldElements,
254 [createSMTSymbolicValue => [it.symbolicReference = o]],
255 [DefinedElement e | createSMTSymbolicValue => [it.symbolicReference = e.lookup(trace.typeTrace.elementMap)]],
256 [DefinedElement e |
257 if(onlyPossibleType.containsKey(e)) {
258 return createSMTSymbolicValue => [
259 symbolicReference = e.lookup(onlyPossibleType).lookup(trace.typeTrace.oldObjectTypeMap) ]
260 } else {
261 return createSMTSymbolicValue => [
262 symbolicReference = e.lookup(possibleTypesOfElement)
263 ]
264 }
265 ]
266 )
267 ]
268 trace.typeTrace.oldObjectTypeFunction = oldTypeFunction
269 document.functionDefinition += oldTypeFunction
270
271 // 3.1.3 create a predicate for each type: old object -> {true, false}
272 for(oldType: oldTypes) {
273 val oldTypePredicate = createSMTFunctionDefinition
274 oldTypePredicate.name = toID(#["oldTypePredicate",oldType.name.toID])
275 val param = createSMTSortedVariable => [
276 name = "o"
277 range = createSMTComplexTypeReference => [referred = trace.typeTrace.oldObjects]
278 ]
279 oldTypePredicate.parameters += param
280 oldTypePredicate.range = createSMTBoolTypeReference
281 val values = new LinkedList
282 for(concreteSupbtype : supertypeStarMatcher.getAllValuesOfsubtype(oldType).filter[!isIsAbstract]) {
283 val typeOfO = createSMTSymbolicValue => [
284 it.symbolicReference = oldTypeFunction
285 it.parameterSubstitutions += createSMTSymbolicValue => [it.symbolicReference = param]
286 ]
287 val valueOfConcreteSupbtype = createSMTSymbolicValue => [
288 it.symbolicReference = concreteSupbtype.lookup(trace.typeTrace.oldObjectTypeMap)
289 ]
290 values += createSMTEquals => [
291 it.leftOperand = typeOfO
292 it.rightOperand = valueOfConcreteSupbtype
293 ]
294 }
295 oldTypePredicate.value = createSMTOr=>[it.operands +=values]
296
297 document.functionDefinition += oldTypePredicate
298 trace.typeTrace.oldObjectTypePredicates.put(oldType,oldTypePredicate)
299 }
300 }
301
302 protected def transformNewTypes(
303 Iterable<TypeDeclaration> typesWithoutDefinedSupertype,
304 Logic2SmtMapperTrace trace, SMTInput document, ViatraQueryEngine engine)
305 {
306 val supertypeStarMatcher = SupertypeStarMatcher.on(engine)
307 val possibleTypes = typesWithoutDefinedSupertype
308 val possibleConcreteTypes = possibleTypes.filter[!it.isIsAbstract].toList
309
310 // 3.2.1. cretate a type for new types
311 val possibleConcreteTypeLiterals = new ArrayList()
312 for(possibleConcreteType: possibleConcreteTypes) {
313 val typeName = '''newType «possibleConcreteType.name»'''
314 val literal = createSMTEnumLiteral => [name = typeName.toID]
315 trace.typeTrace.newObjectTypeMap.put(possibleConcreteType,literal)
316 possibleConcreteTypeLiterals+=literal
317 }
318 val newObjectTypes = createSMTEnumeratedTypeDeclaration => [
319 it.name = "newTypes"
320 it.elements += possibleConcreteTypeLiterals
321 ]
322 trace.typeTrace.newObjectTypes = newObjectTypes
323 document.typeDeclarations += newObjectTypes
324
325 // 3.2.2 create a function: new elements -> new types
326 val newTypeFunction = createSMTFunctionDeclaration => [
327 it.name = "newTypeFunction"
328 it.parameters += createSMTComplexTypeReference => [it.referred = trace.typeTrace.newObjects]
329 it.range = createSMTComplexTypeReference => [it.referred = trace.typeTrace.newObjectTypes]
330 ]
331 trace.typeTrace.newObjectTypeFunction = newTypeFunction
332 document.functionDeclarations += newTypeFunction
333
334 // 3.1.3 create a predicate for each type: new type -> {true, false}
335 for(newType: possibleTypes) {
336 val newTypePredicate = createSMTFunctionDefinition
337 newTypePredicate.name = toID(#["newTypePredicate",newType.name.toID])
338 val param = createSMTSortedVariable => [
339 name = "o"
340 range = createSMTComplexTypeReference => [referred = trace.typeTrace.newObjects]
341 ]
342 newTypePredicate.parameters += param
343 newTypePredicate.range = createSMTBoolTypeReference
344 val values = new LinkedList
345 for(concreteSupbtype : supertypeStarMatcher.getAllValuesOfsubtype(newType).filter[!isIsAbstract]) {
346 if(possibleConcreteTypes.contains(concreteSupbtype)) {
347 val typeOfO = createSMTSymbolicValue => [
348 it.symbolicReference = newTypeFunction
349 it.parameterSubstitutions += createSMTSymbolicValue => [it.symbolicReference = param]
350 ]
351 if(!trace.typeTrace.newObjectTypeMap.containsKey(concreteSupbtype)) {
352 println("gebasz")
353 }
354 val valueOfConcreteSupbtype = createSMTSymbolicValue => [
355 it.symbolicReference = concreteSupbtype.lookup(trace.typeTrace.newObjectTypeMap)
356 ]
357 values+= createSMTEquals => [
358 it.leftOperand = typeOfO
359 it.rightOperand = valueOfConcreteSupbtype
360 ]
361 }
362 }
363 newTypePredicate.value = createSMTOr=>[it.operands +=values]
364
365 document.functionDefinition += newTypePredicate
366 trace.typeTrace.newObjectTypePredicates.put(newType,newTypePredicate)
367 }
368 }
369
370 private def Logic2Smt_TypeMapperTrace_FilteredTypes getTypeTrace(Logic2SmtMapperTrace trace) {
371 val typeTrace = trace.typeMapperTrace
372 if(typeTrace instanceof Logic2Smt_TypeMapperTrace_FilteredTypes) {
373 return typeTrace
374 } else {
375 throw new IllegalArgumentException('''Unknown trace type: «typeTrace.class.name»''')
376 }
377 }
378
379 private def boolean hasDefinedSupertype(Type type) {
380 if(type instanceof TypeDefinition) {
381 return true
382 } else {
383 if(type.supertypes.empty) return false
384 else return type.supertypes.exists[it.hasDefinedSupertype]
385 }
386 }
387
388 def private <T> SMTTerm unfoldITE(Iterable<T> options, Function0<SMTTerm> input, Function1<T,SMTTerm> conditionOfOption, Function1<T,SMTTerm> outputForOption) {
389 if(options.size == 1) {
390 return outputForOption.apply(options.head)
391 } else {
392 return createSMTITE => [
393 it.condition = createSMTEquals => [
394 leftOperand = input.apply
395 rightOperand = conditionOfOption.apply(options.head)
396 ]
397 it.^if = outputForOption.apply(options.head)
398 it.^else = unfoldITE(options.tail,input,conditionOfOption,outputForOption)
399 ]
400 }
401 }
402
403 override transformSymbolicReference(DefinedElement referred,Logic2SmtMapperTrace trace) {
404 val x = referred.lookup(trace.typeTrace.elementMap)
405 new ComplexSubterm(#[],#[],
406 createSMTSymbolicValue => [it.symbolicReference = x],
407 new TypeDescriptor(x.eContainer as SMTEnumeratedTypeDeclaration)
408 )
409 }
410
411 override transformTypeReference(Type type, Logic2SmtMapperTrace trace) {
412 val list = new ArrayList
413
414 if(trace.typeTrace.oldObjectTypePredicates.containsKey(type)) {
415 list += new TypeConstraint(
416 createSMTComplexTypeReference => [it.referred = trace.typeTrace.oldObjects],
417 [x|createSMTSymbolicValue => [
418 it.symbolicReference = trace.typeTrace.oldObjectTypePredicates.get(type)
419 it.parameterSubstitutions += createSMTSymbolicValue => [it.symbolicReference = x]]]
420 )
421 }
422 if(trace.typeTrace.newObjectTypePredicates.containsKey(type)) {
423 list += new TypeConstraint(
424 createSMTComplexTypeReference => [it.referred = trace.typeTrace.newObjects],
425 [x|createSMTSymbolicValue => [
426 it.symbolicReference = trace.typeTrace.newObjectTypePredicates.get(type)
427 it.parameterSubstitutions += createSMTSymbolicValue => [it.symbolicReference = x]]]
428 )
429 }
430 if(trace.typeTrace.independentClasses.containsKey(type)) {
431 list += new TypeConstraint(
432 createSMTComplexTypeReference => [it.referred = type.lookup(trace.typeTrace.independentClasses)],
433 null
434 )
435 }
436
437 if(list.empty) throw new AssertionError('''Typereference to type is «type.name» empty''')
438 if(list.exists[it.type == null]){
439 throw new AssertionError('''Typereference to null!''')
440 }
441 return list
442 }
443
444 override getTypeInterpretation(LogicProblem problem, SMTDocument document, SmtModelInterpretation interpretation, Logic2SmtMapperTrace trace) {
445 val model = document.output.getModelResult as SMTModelResult
446 val newTypeDec = trace.typeTrace.newObjects
447 var List<ValueType> newElements = null
448
449 if(newTypeDec instanceof SMTSetTypeDeclaration) {
450 val newElementType = model.typeDefinitions.filter[
451 (it.type as SMTComplexTypeReference).referred == newTypeDec
452 ].head
453 newElements = newElementType.elements.map[new ValueType(new TypeDescriptor(newTypeDec),it.symbolicReference)]
454 } else if(newTypeDec instanceof SMTEnumeratedTypeDeclaration) {
455 newElements = newTypeDec.elements.map[new ValueType(new TypeDescriptor(newTypeDec),it)]
456 } else throw new IllegalArgumentException('''Unknown type : «newTypeDec.class.name»''')
457
458 val Map<DefinedElement, ValueType> logic2smt = new HashMap<DefinedElement,ValueType>
459 val Map<SMTSymbolicDeclaration, DefinedElement> smt2logic = new HashMap<SMTSymbolicDeclaration,DefinedElement>
460
461 var index = 1;
462 for(newElement : newElements) {
463 val n = '''new «index++»'''
464 val logic = factory2.createDefinedElement => [it.name = n]
465 logic2smt.put(logic,newElement)
466 smt2logic.put(newElement.value as SMTSymbolicDeclaration,logic)
467 }
468 for(oldElement : problem.elements) {
469 val declaration = trace.typeTrace.oldObjectTypeMap.get(oldElement)
470 logic2smt.put(oldElement,new ValueType(new TypeDescriptor(trace.typeTrace.oldObjects),declaration))
471 smt2logic.put(declaration,oldElement)
472 }
473
474 val engine = ViatraQueryEngine.on(new EMFScope(problem))
475 val supertypeStarMatcher = SupertypeStarMatcher.on(engine)
476
477 val type2Elements = (trace.typeTrace.oldObjectTypeMap.keySet +
478 trace.typeTrace.newObjectTypeMap.keySet)
479 .toInvertedMap[new LinkedList<DefinedElement>]
480
481 val inverseOldTypeMap = trace.typeTrace.oldObjectTypeMap.bijectiveInverse
482 for(oldElement: trace.typeTrace.elementMap.values) {
483 val type = interpretation.queryEngine.resolveFunctionDefinition(
484 trace.typeTrace.oldObjectTypeFunction,#[oldElement]) as SMTEnumLiteral
485 val dynamicType = type.lookup(inverseOldTypeMap)
486 val supertypes = supertypeStarMatcher.getAllValuesOfsupertype(dynamicType)
487 supertypes.forEach[type2Elements.get(it) += oldElement.lookup(smt2logic)]
488 }
489
490 val inverseNewTypeMap = trace.typeTrace.newObjectTypeMap.bijectiveInverse
491 for(newElement: newElements.map[value as SMTSymbolicDeclaration]) {
492 val type = interpretation.queryEngine.resolveFunctionDeclaration(
493 trace.typeTrace.newObjectTypeFunction,#[newElement]) as SMTEnumLiteral
494 val dynamicType = type.lookup(inverseNewTypeMap)
495 val supertypes = supertypeStarMatcher.getAllValuesOfsupertype(dynamicType)
496 supertypes.forEach[type2Elements.get(it) += newElement.lookup(smt2logic)]
497 }
498
499 return new Logic2SMT_TypeMapperInterpretation(type2Elements,logic2smt,smt2logic)
500 }
501} \ No newline at end of file
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypesSimple.xtend_ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypesSimple.xtend_
new file mode 100644
index 00000000..79fc38e6
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypesSimple.xtend_
@@ -0,0 +1,463 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner
2
3import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTType
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
5import java.util.HashMap
6import java.util.Map
7import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTInput
8import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTFunctionDefinition
9import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTEnumLiteral
10import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTEnumeratedTypeDeclaration
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
12import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
13import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
14import hu.bme.mit.inf.dslreasoner.logic.model.builder.TypeScopes
15import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTDocument
16import hu.bme.mit.inf.dslreasoner.smtLanguage.SmtLanguageFactory
17import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
18import java.util.List
19import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
21import org.eclipse.viatra.query.runtime.emf.EMFScope
22
23class Logic2Smt_TypeMapperTrace_FilteredTypesSimple implements Logic2Smt_TypeMapperTrace{
24 public var Map<Type, SMTType> independentClasses = new HashMap
25 /**
26 * SMT type for the new objects
27 */
28 public var SMTEnumeratedTypeDeclaration objects
29 /**
30 * existing element -> SMT literal map
31 */
32 public var Map<DefinedElement, SMTEnumLiteral> elementMap = new HashMap
33
34 public var SMTEnumeratedTypeDeclaration objectTypes
35 public var Map<Type, SMTEnumLiteral> objectTypeMap = new HashMap
36 public var SMTFunctionDefinition objectTypeFunction
37 public var Map<Type, SMTFunctionDefinition> objectTypePredicates = new HashMap
38
39 override copy(SMTInput newModel) {
40 val a = this
41 val b = new Logic2Smt_TypeMapperTrace_FilteredTypesSimple
42
43 b.independentClasses = a.independentClasses.copyMap(newModel.typeDeclarations,[name])
44
45 b.objects = newModel.typeDeclarations.filter[it.name == a.objects.name].head as SMTEnumeratedTypeDeclaration
46 b.elementMap = a.elementMap.copyMap(b.objects.elements,[name])
47
48 b.objectTypes = newModel.typeDeclarations.filter[it.name == a.objects.name].head as SMTEnumeratedTypeDeclaration
49 b.objectTypeMap = a.objectTypeMap.copyMap(b.objectTypes.elements,[name])
50 b.objectTypeFunction = newModel.functionDefinition.filter[it.name == a.objectTypeFunction.name].head
51 b.objectTypePredicates = a.objectTypePredicates.copyMap(newModel.functionDefinition,[name])
52
53 return b
54 }
55}
56
57class Logic2Smt_TypeMapper_FilteredTypesSimple implements Logic2Smt_TypeMapper{
58 val extension SmtLanguageFactory factory = SmtLanguageFactory.eINSTANCE
59 val LogiclanguageFactory factory2 = LogiclanguageFactory.eINSTANCE
60
61 private def toID(List<String> names) {names.join("!") }
62 private def toID(String name) {name.split("\\s+").toID}
63
64 override transformTypes(SMTInput document, LogicProblem problem, Logic2SmtMapperTrace trace, TypeScopes scopes) {
65 val typeTrace = new Logic2Smt_TypeMapperTrace_FilteredTypes
66 trace.typeMapperTrace = typeTrace
67 val engine = ViatraQueryEngine.on(new EMFScope(problem))
68
69 val independentTypes = problem.types.filter(TypeDefinition).filter[isIndependentType]
70
71 val connectedTypes = problem.types.filter[!isIndependentType]
72 val connectedElements = problem.elements.filter[!isIndependentElement]
73
74 // 0. map the simple types
75 this.transformIndependentTypes(independentTypes,trace)
76
77 // 1. Has old elements => create supertype for it
78
79 this.transformDefinedElements(connectedElements, trace,document)
80 this.transformUndefinedElements(scopes,trace,document)
81
82
83 this.transforTypes(connectedTypes, connectedElements, trace, document, engine)
84 // 3.2: Type definition to new elements
85 if(hasNewElements) {
86 this.transformNewTypes(connectedTypesWithoutDefintypesWithoutDefinedSupertype,trace,document,engine);
87 }
88 }
89
90 private def isIndependentType(Type t) {
91 val res = (t instanceof TypeDefinition) && t.supertypes.empty && t.subtypes.empty
92 return res
93 }
94 private def isIndependentElement(DefinedElement e) {
95 val types = e.definedInType
96 return types.size == 1 && types.head.isIndependentType
97 }
98
99 protected def transformIndependentTypes(Iterable<TypeDefinition> types,Logic2SmtMapperTrace trace) {
100 for(type: types) {
101 val independentSMTType = createSMTEnumeratedTypeDeclaration => [
102 name = toID(#["oldType",type.name])
103 ]
104 trace.typeTrace.independentClasses.put(type,independentSMTType)
105 for(element : type.elements) {
106 val enumLiteral = createSMTEnumLiteral => [it.name = toID(#["oldElement",element.name])]
107 independentSMTType.elements += enumLiteral
108 trace.typeTrace.elementMap.put(element,enumLiteral)
109 }
110 }
111 }
112
113 protected def transformDefinedElements(Iterable<DefinedElement> oldElements, Logic2SmtMapperTrace trace, SMTInput document) {
114 val List<SMTEnumLiteral> literals = new ArrayList(oldElements.size)
115 for(element : oldElements) {
116 val elementName ='''oldElement «element.name»'''
117 val literal = createSMTEnumLiteral => [name = elementName.toID]
118 literals += literal
119 trace.typeTrace.elementMap.put(element,literal)
120 }
121 trace.typeTrace.oldObjects = createSMTEnumeratedTypeDeclaration =>
122 [name = "oldObjects" it.elements += literals]
123 document.typeDeclarations += trace.typeTrace.oldObjects
124 }
125
126 protected def transformUndefinedElements(TypeScopes scopes, Logic2SmtMapperTrace trace, SMTInput document) {
127 var SMTType newObjects
128 if(scopes.maxNewElements == -1) {
129 newObjects = createSMTSetTypeDeclaration => [
130 name = "newObjects"
131 ]
132 } else {
133 val newElements = new ArrayList(scopes.maxNewElements)
134 for(index : (1..<scopes.maxNewElements+1)) {
135 val literal = createSMTEnumLiteral => [
136 name = #["newElement",index.toString].toID
137 ]
138 newElements += literal
139 }
140 newObjects = createSMTEnumeratedTypeDeclaration => [
141 name = "newObjects"
142 it.elements += newElements
143 ]
144 }
145 trace.typeTrace.newObjects = newObjects
146 document.typeDeclarations += newObjects
147 }
148
149 protected def transformOldTypes(Iterable<Type> oldTypes,Iterable<DefinedElement> oldElements, Logic2SmtMapperTrace trace, SMTInput document, ViatraQueryEngine engine) {
150 val possibleTypeMatcher = PossibleDynamicTypeMatcher.on(engine)
151 val supertypeStarMatcher = SupertypeStarMatcher.on(engine)
152// val possibleTypes = new LinkedList
153// if(hasDefinedElement) possibleTypes += typesWithDefinedSupertype
154// if(hasUndefinedElement) possibleTypes += typesWithoutDefinedSupertype
155// val possibleConcreteTypes = possibleTypes.filter[!it.isIsAbstract]
156// val possibleConcreteTypes = possibleTypeMatcher.allValuesOfdynamic
157
158 // 3.1.1. cretate a type for old types
159 val possibleConcreteTypeLiterals = new ArrayList()
160 for(possibleConcreteType: oldTypes.filter[!isIsAbstract]) {
161 val typeName = '''oldType «possibleConcreteType.name»'''
162 val literal = createSMTEnumLiteral => [name = typeName.toID]
163 trace.typeTrace.oldObjectTypeMap.put(possibleConcreteType,literal)
164 possibleConcreteTypeLiterals+=literal
165 }
166 val oldObjectTypes = createSMTEnumeratedTypeDeclaration => [
167 it.name = "oldTypes"
168 it.elements += possibleConcreteTypeLiterals
169 ]
170 trace.typeTrace.oldObjectTypes = oldObjectTypes
171 document.typeDeclarations += oldObjectTypes
172
173 // 3.1.2 for each object, create a constant for its possible dynamic type
174 val Map<DefinedElement,SMTFunctionDeclaration> possibleTypesOfElement = new HashMap
175 val Map<DefinedElement,Type> onlyPossibleType = new HashMap
176 for(object: oldElements) {
177 val types = possibleTypeMatcher.getAllValuesOfdynamic(null,object)
178 if(types.size == 1) {
179 onlyPossibleType.put(object,types.head)
180 } else { // including 0 or more than 1
181 // create a constant declaration
182 val typeOfObjectConstant = createSMTFunctionDeclaration => [
183 it.name = toID(#["typeDecisions",toID(object.name)])
184 it.range = createSMTComplexTypeReference => [
185 it.referred = trace.typeTrace.oldObjectTypes
186 ]
187 ]
188 document.functionDeclarations += typeOfObjectConstant
189 possibleTypesOfElement.put(object,typeOfObjectConstant)
190 // add assertions to the constant to select valid values
191 document.assertions += createSMTAssertion => [
192 val options = types.map[type | createSMTEquals => [
193 it.leftOperand = createSMTSymbolicValue => [it.symbolicReference = typeOfObjectConstant]
194 it.rightOperand = createSMTSymbolicValue => [it.symbolicReference = type.lookup(trace.typeTrace.oldObjectTypeMap)]
195 ]]
196 it.value = if(options.empty) {
197 createSMTBoolLiteral => [it.value = false]
198 } else {
199 createSMTOr=>[operands += options]
200 }
201 ]
202 }
203 }
204
205 // 3.1.2 create a function: old elements -> old types
206 val oldTypeFunction = createSMTFunctionDefinition => [
207 it.name = "oldTypeFunction"
208 val o = createSMTSortedVariable => [
209 it.name = "o"
210 it.range= createSMTComplexTypeReference => [it.referred = trace.typeTrace.oldObjects]
211 ]
212 it.parameters += o
213 it.range = createSMTComplexTypeReference => [it.referred = trace.typeTrace.oldObjectTypes]
214 it.value = unfoldITE(oldElements,
215 [createSMTSymbolicValue => [it.symbolicReference = o]],
216 [DefinedElement e | createSMTSymbolicValue => [it.symbolicReference = e.lookup(trace.typeTrace.elementMap)]],
217 [DefinedElement e |
218 if(onlyPossibleType.containsKey(e)) {
219 return createSMTSymbolicValue => [
220 symbolicReference = e.lookup(onlyPossibleType).lookup(trace.typeTrace.oldObjectTypeMap) ]
221 } else {
222 return createSMTSymbolicValue => [
223 symbolicReference = e.lookup(possibleTypesOfElement)
224 ]
225 }
226 ]
227 )
228 ]
229 trace.typeTrace.oldObjectTypeFunction = oldTypeFunction
230 document.functionDefinition += oldTypeFunction
231
232 // 3.1.3 create a predicate for each type: old object -> {true, false}
233 for(oldType: oldTypes) {
234 val oldTypePredicate = createSMTFunctionDefinition
235 oldTypePredicate.name = toID(#["oldTypePredicate",oldType.name.toID])
236 val param = createSMTSortedVariable => [
237 name = "o"
238 range = createSMTComplexTypeReference => [referred = trace.typeTrace.oldObjects]
239 ]
240 oldTypePredicate.parameters += param
241 oldTypePredicate.range = createSMTBoolTypeReference
242 val values = new LinkedList
243 for(concreteSupbtype : supertypeStarMatcher.getAllValuesOfsubtype(oldType).filter[!isIsAbstract]) {
244 val typeOfO = createSMTSymbolicValue => [
245 it.symbolicReference = oldTypeFunction
246 it.parameterSubstitutions += createSMTSymbolicValue => [it.symbolicReference = param]
247 ]
248 val valueOfConcreteSupbtype = createSMTSymbolicValue => [
249 it.symbolicReference = concreteSupbtype.lookup(trace.typeTrace.oldObjectTypeMap)
250 ]
251 values += createSMTEquals => [
252 it.leftOperand = typeOfO
253 it.rightOperand = valueOfConcreteSupbtype
254 ]
255 }
256 oldTypePredicate.value = createSMTOr=>[it.operands +=values]
257
258 document.functionDefinition += oldTypePredicate
259 trace.typeTrace.oldObjectTypePredicates.put(oldType,oldTypePredicate)
260 }
261 }
262
263 protected def transformNewTypes(
264 Iterable<TypeDeclaration> typesWithoutDefinedSupertype,
265 Logic2SmtMapperTrace trace, SMTInput document, ViatraQueryEngine engine)
266 {
267 val supertypeStarMatcher = SupertypeStarMatcher.on(engine)
268 val possibleTypes = typesWithoutDefinedSupertype
269 val possibleConcreteTypes = possibleTypes.filter[!it.isIsAbstract].toList
270
271 // 3.2.1. cretate a type for new types
272 val possibleConcreteTypeLiterals = new ArrayList()
273 for(possibleConcreteType: possibleConcreteTypes) {
274 val typeName = '''newType «possibleConcreteType.name»'''
275 val literal = createSMTEnumLiteral => [name = typeName.toID]
276 trace.typeTrace.newObjectTypeMap.put(possibleConcreteType,literal)
277 possibleConcreteTypeLiterals+=literal
278 }
279 val newObjectTypes = createSMTEnumeratedTypeDeclaration => [
280 it.name = "newTypes"
281 it.elements += possibleConcreteTypeLiterals
282 ]
283 trace.typeTrace.newObjectTypes = newObjectTypes
284 document.typeDeclarations += newObjectTypes
285
286 // 3.2.2 create a function: new elements -> new types
287 val newTypeFunction = createSMTFunctionDeclaration => [
288 it.name = "newTypeFunction"
289 it.parameters += createSMTComplexTypeReference => [it.referred = trace.typeTrace.newObjects]
290 it.range = createSMTComplexTypeReference => [it.referred = trace.typeTrace.newObjectTypes]
291 ]
292 trace.typeTrace.newObjectTypeFunction = newTypeFunction
293 document.functionDeclarations += newTypeFunction
294
295 // 3.1.3 create a predicate for each type: new type -> {true, false}
296 for(newType: possibleTypes) {
297 val newTypePredicate = createSMTFunctionDefinition
298 newTypePredicate.name = toID(#["newTypePredicate",newType.name.toID])
299 val param = createSMTSortedVariable => [
300 name = "o"
301 range = createSMTComplexTypeReference => [referred = trace.typeTrace.newObjects]
302 ]
303 newTypePredicate.parameters += param
304 newTypePredicate.range = createSMTBoolTypeReference
305 val values = new LinkedList
306 for(concreteSupbtype : supertypeStarMatcher.getAllValuesOfsubtype(newType).filter[!isIsAbstract]) {
307 if(possibleConcreteTypes.contains(concreteSupbtype)) {
308 val typeOfO = createSMTSymbolicValue => [
309 it.symbolicReference = newTypeFunction
310 it.parameterSubstitutions += createSMTSymbolicValue => [it.symbolicReference = param]
311 ]
312 if(!trace.typeTrace.newObjectTypeMap.containsKey(concreteSupbtype)) {
313 println("gebasz")
314 }
315 val valueOfConcreteSupbtype = createSMTSymbolicValue => [
316 it.symbolicReference = concreteSupbtype.lookup(trace.typeTrace.newObjectTypeMap)
317 ]
318 values+= createSMTEquals => [
319 it.leftOperand = typeOfO
320 it.rightOperand = valueOfConcreteSupbtype
321 ]
322 }
323 }
324 newTypePredicate.value = createSMTOr=>[it.operands +=values]
325
326 document.functionDefinition += newTypePredicate
327 trace.typeTrace.newObjectTypePredicates.put(newType,newTypePredicate)
328 }
329 }
330
331 private def Logic2Smt_TypeMapperTrace_FilteredTypes getTypeTrace(Logic2SmtMapperTrace trace) {
332 val typeTrace = trace.typeMapperTrace
333 if(typeTrace instanceof Logic2Smt_TypeMapperTrace_FilteredTypes) {
334 return typeTrace
335 } else {
336 throw new IllegalArgumentException('''Unknown trace type: «typeTrace.class.name»''')
337 }
338 }
339
340 private def boolean hasDefinedSupertype(Type type) {
341 if(type instanceof TypeDefinition) {
342 return true
343 } else {
344 if(type.supertypes.empty) return false
345 else return type.supertypes.exists[it.hasDefinedSupertype]
346 }
347 }
348
349 def private <T> SMTTerm unfoldITE(Iterable<T> options, Function0<SMTTerm> input, Function1<T,SMTTerm> conditionOfOption, Function1<T,SMTTerm> outputForOption) {
350 if(options.size == 1) {
351 return outputForOption.apply(options.head)
352 } else {
353 return createSMTITE => [
354 it.condition = createSMTEquals => [
355 leftOperand = input.apply
356 rightOperand = conditionOfOption.apply(options.head)
357 ]
358 it.^if = outputForOption.apply(options.head)
359 it.^else = unfoldITE(options.tail,input,conditionOfOption,outputForOption)
360 ]
361 }
362 }
363
364 override transformSymbolicReference(DefinedElement referred,Logic2SmtMapperTrace trace) {
365 val x = referred.lookup(trace.typeTrace.elementMap)
366 new ComplexSubterm(#[],#[],
367 createSMTSymbolicValue => [it.symbolicReference = x],
368 new TypeDescriptor(x.eContainer as SMTEnumeratedTypeDeclaration)
369 )
370 }
371
372 override transformTypeReference(Type type, Logic2SmtMapperTrace trace) {
373 val list = new ArrayList
374
375 if(trace.typeTrace.oldObjectTypePredicates.containsKey(type)) {
376 list += new TypeConstraint(
377 createSMTComplexTypeReference => [it.referred = trace.typeTrace.oldObjects],
378 [x|createSMTSymbolicValue => [
379 it.symbolicReference = trace.typeTrace.oldObjectTypePredicates.get(type)
380 it.parameterSubstitutions += createSMTSymbolicValue => [it.symbolicReference = x]]]
381 )
382 }
383 if(trace.typeTrace.newObjectTypePredicates.containsKey(type)) {
384 list += new TypeConstraint(
385 createSMTComplexTypeReference => [it.referred = trace.typeTrace.newObjects],
386 [x|createSMTSymbolicValue => [
387 it.symbolicReference = trace.typeTrace.newObjectTypePredicates.get(type)
388 it.parameterSubstitutions += createSMTSymbolicValue => [it.symbolicReference = x]]]
389 )
390 }
391 if(trace.typeTrace.independentClasses.containsKey(type)) {
392 list += new TypeConstraint(
393 createSMTComplexTypeReference => [it.referred = type.lookup(trace.typeTrace.independentClasses)],
394 null
395 )
396 }
397
398 if(list.empty) throw new AssertionError('''Typereference to type is «type.name» empty''')
399 if(list.exists[it.type == null]){
400 throw new AssertionError('''Typereference to null!''')
401 }
402 return list
403 }
404
405 override getTypeInterpretation(LogicProblem problem, SMTDocument document, SmtModelInterpretation interpretation, Logic2SmtMapperTrace trace) {
406 val model = document.output.getModelResult as SMTModelResult
407 val newTypeDec = trace.typeTrace.newObjects
408 var List<ValueType> newElements = null
409
410 if(newTypeDec instanceof SMTSetTypeDeclaration) {
411 val newElementType = model.typeDefinitions.filter[
412 (it.type as SMTComplexTypeReference).referred == newTypeDec
413 ].head
414 newElements = newElementType.elements.map[new ValueType(new TypeDescriptor(newTypeDec),it.symbolicReference)]
415 } else if(newTypeDec instanceof SMTEnumeratedTypeDeclaration) {
416 newElements = newTypeDec.elements.map[new ValueType(new TypeDescriptor(newTypeDec),it)]
417 } else throw new IllegalArgumentException('''Unknown type : «newTypeDec.class.name»''')
418
419 val Map<DefinedElement, ValueType> logic2smt = new HashMap<DefinedElement,ValueType>
420 val Map<SMTSymbolicDeclaration, DefinedElement> smt2logic = new HashMap<SMTSymbolicDeclaration,DefinedElement>
421
422 var index = 1;
423 for(newElement : newElements) {
424 val n = '''new «index++»'''
425 val logic = factory2.createDefinedElement => [it.name = n]
426 logic2smt.put(logic,newElement)
427 smt2logic.put(newElement.value as SMTSymbolicDeclaration,logic)
428 }
429 for(oldElement : problem.elements) {
430 val declaration = trace.typeTrace.oldObjectTypeMap.get(oldElement)
431 logic2smt.put(oldElement,new ValueType(new TypeDescriptor(trace.typeTrace.oldObjects),declaration))
432 smt2logic.put(declaration,oldElement)
433 }
434
435 val engine = ViatraQueryEngine.on(new EMFScope(problem))
436 val supertypeStarMatcher = SupertypeStarMatcher.on(engine)
437
438 val type2Elements = (trace.typeTrace.oldObjectTypeMap.keySet +
439 trace.typeTrace.newObjectTypeMap.keySet)
440 .toInvertedMap[new LinkedList<DefinedElement>]
441
442 val inverseOldTypeMap = trace.typeTrace.oldObjectTypeMap.bijectiveInverse
443 for(oldElement: trace.typeTrace.elementMap.values) {
444 val type = interpretation.queryEngine.resolveFunctionDefinition(
445 trace.typeTrace.oldObjectTypeFunction,#[oldElement]) as SMTEnumLiteral
446 val dynamicType = type.lookup(inverseOldTypeMap)
447 val supertypes = supertypeStarMatcher.getAllValuesOfsupertype(dynamicType)
448 supertypes.forEach[type2Elements.get(it) += oldElement.lookup(smt2logic)]
449 }
450
451 val inverseNewTypeMap = trace.typeTrace.newObjectTypeMap.bijectiveInverse
452 for(newElement: newElements.map[value as SMTSymbolicDeclaration]) {
453 val type = interpretation.queryEngine.resolveFunctionDeclaration(
454 trace.typeTrace.newObjectTypeFunction,#[newElement]) as SMTEnumLiteral
455 val dynamicType = type.lookup(inverseNewTypeMap)
456 val supertypes = supertypeStarMatcher.getAllValuesOfsupertype(dynamicType)
457 supertypes.forEach[type2Elements.get(it) += newElement.lookup(smt2logic)]
458 }
459
460 return new Logic2SMT_TypeMapperInterpretation(type2Elements,logic2smt,smt2logic)
461 }
462
463} \ No newline at end of file
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_Horizontal.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_Horizontal.xtend
new file mode 100644
index 00000000..a5abbb44
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_Horizontal.xtend
@@ -0,0 +1,63 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner
2
3import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTInput
4import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
5import hu.bme.mit.inf.dslreasoner.logic.model.builder.TypeScopes
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
8import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTDocument
9import java.util.List
10import hu.bme.mit.inf.dslreasoner.smtLanguage.SmtLanguageFactory
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
12
13class Logic2Smt_TypeMapperTrace_Horizontal implements Logic2Smt_TypeMapperTrace{
14
15 override copy(SMTInput newModel) {
16 throw new UnsupportedOperationException("TODO: auto-generated method stub")
17 }
18}
19
20class Logic2Smt_TypeMapper_Horizontal implements Logic2Smt_TypeMapper {
21 val extension SmtLanguageFactory factory = SmtLanguageFactory.eINSTANCE
22
23 private def toID(List<String> names) {names.join("!") }
24
25 override transformTypes(SMTInput document, LogicProblem problem, Logic2SmtMapperTrace trace, TypeScopes scopes) {
26 val typeTrace = new Logic2Smt_TypeMapperTrace_Horizontal
27 trace.typeMapperTrace = typeTrace
28
29 // mapping of known elements
30
31 }
32
33 private def Logic2Smt_TypeMapperTrace_Horizontal getTypeTrace(Logic2SmtMapperTrace trace) {
34 val typeTrace = trace.typeMapperTrace
35 if(typeTrace instanceof Logic2Smt_TypeMapperTrace_Horizontal) {
36 return typeTrace
37 } else {
38 throw new IllegalArgumentException('''Unknown trace type: «typeTrace.class.name»''')
39 }
40 }
41
42 private def boolean hasDefinedSupertype(Type type) {
43 if(type instanceof TypeDefinition) {
44 return true
45 } else {
46 if(type.supertypes.empty) return false
47 else return type.supertypes.exists[it.hasDefinedSupertype]
48 }
49 }
50
51 override transformTypeReference(Type type, Logic2SmtMapperTrace trace) {
52 throw new UnsupportedOperationException("TODO: auto-generated method stub")
53 }
54
55 override transformSymbolicReference(DefinedElement referred, Logic2SmtMapperTrace trace) {
56 throw new UnsupportedOperationException("TODO: auto-generated method stub")
57 }
58
59 override getTypeInterpretation(LogicProblem problem, SMTDocument document, SmtModelInterpretation interpretation, Logic2SmtMapperTrace trace) {
60 throw new UnsupportedOperationException("TODO: auto-generated method stub")
61 }
62
63} \ No newline at end of file
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/SMTSolver.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/SMTSolver.xtend
new file mode 100644
index 00000000..d371b89e
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/SMTSolver.xtend
@@ -0,0 +1,49 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner
2
3import hu.bme.mit.inf.dslreasoner.SmtLanguageStandaloneSetupGenerated
4import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner
5import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
6import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
7import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult
8import hu.bme.mit.inf.dslreasoner.smt.reasoner.builder.SmtSolverHandler
9import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTDocument
10import hu.bme.mit.inf.dslreasoner.smtLanguage.SmtLanguagePackage
11import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
12import org.eclipse.emf.ecore.util.EcoreUtil
13
14class SMTSolver extends LogicReasoner{
15
16 public new() {
17 SmtLanguagePackage.eINSTANCE.eClass
18 val x = new SmtLanguageStandaloneSetupGenerated
19 x.createInjectorAndDoEMFRegistration
20 }
21
22 val forwardMapper = new Logic2SmtMapper(new Logic2Smt_TypeMapper_FilteredTypes);
23 val backMapper = new Smt2LogicMapper;
24 val handler = new SmtSolverHandler
25
26 override solve(LogicProblem problem, LogicSolverConfiguration configuration, ReasonerWorkspace workspace) {
27 if(configuration instanceof SmtSolverConfiguration) {
28 val transformationStart = System.currentTimeMillis
29 val transformationResult = forwardMapper.transformProblem(problem,configuration.typeScopes,configuration.strategy)
30 val SMTDocument inputModel= transformationResult.output
31 val trace = transformationResult.trace
32 val input = workspace.writeModel(inputModel,"problem.smt2")
33 val transformationTime = System.currentTimeMillis-transformationStart
34 val solverTimeStart = System.currentTimeMillis
35 handler.callSolver(input,configuration)
36 val solverTime = System.currentTimeMillis - solverTimeStart
37 val outputModel = workspace.reloadModel(typeof(SMTDocument), "problem.smt2")
38 EcoreUtil.resolveAll(outputModel)
39 workspace.deactivateModel("problem.smt2")
40 return backMapper.transformOutput(problem,outputModel.output,trace, transformationTime, solverTime)
41 } else throw new IllegalArgumentException('''The configuration have to be an «SmtSolverConfiguration.simpleName»!''')
42 }
43
44 override getInterpretation(ModelResult modelResult) {
45 val representation = modelResult.representation as SMTDocument
46 val trace = modelResult.trace as Logic2SmtMapperTrace
47 return new SmtModelInterpretation(trace.problem,representation,trace.forwardMapper,trace)
48 }
49} \ No newline at end of file
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Smt2LogicMapper.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Smt2LogicMapper.xtend
new file mode 100644
index 00000000..cbabc7b0
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Smt2LogicMapper.xtend
@@ -0,0 +1,71 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner
2
3import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTOutput
4import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTStatisticsSection
5import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultFactory
6import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTStatisticIntValue
7import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTStatisticDoubleValue
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
9import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTErrorResult
10import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSatResult
11import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTUnsupportedResult
12import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException
13import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult
14import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTStatisticValue
15import java.math.BigDecimal
16
17class Smt2LogicMapper {
18 val extension LogicresultFactory resultFactory = LogicresultFactory.eINSTANCE
19
20 public def transformOutput(LogicProblem problem, SMTOutput output, Logic2SmtMapperTrace trace, long transformationTime, long solverTime) {
21 val satResult = output.satResult
22 if(satResult === null) { // Timeout
23 return createInsuficientResourcesResult => [ init(problem,output,transformationTime,solverTime) it.resourceName = "time"]
24 } else {
25 if(satResult instanceof SMTErrorResult) {
26 return createErrorResult => [init(problem,output,transformationTime,solverTime) message = satResult.message]
27 } else if(satResult instanceof SMTUnsupportedResult) {
28 return createUndecidableResult => [init(problem,output,transformationTime,solverTime)]
29 } else if(satResult instanceof SMTSatResult) {
30 if(satResult.sat) {
31 return createModelResult => [
32 init(problem,output,transformationTime,solverTime)
33 representation += output.eContainer
34 it.trace = trace
35 ]
36 } else if(satResult.unsat) {
37 return createInconsistencyResult => [init(problem,output,transformationTime,solverTime)]
38 } else if(satResult.unknown) {
39 return createUndecidableResult => [init(problem,output,transformationTime,solverTime)]
40 }
41 } else throw new LogicReasonerException("The solver resulted with unknown result.")
42 }
43 }
44
45 private def init(LogicResult result,LogicProblem problem, SMTOutput output, long transformationTime, long solverTime) {
46 result.problem = problem
47 result.statistics = output.statistics.transformStatistics(transformationTime,solverTime)
48 }
49
50 protected def transformStatistics(SMTStatisticsSection section, long transformationTime, long solverTime) {
51 createStatistics => [
52 it.transformationTime = transformationTime.intValue
53 it.solverTime = solverTime.intValue
54
55 val memorySection = section.values.filter[it.name==":memory"].head
56 if(memorySection != null) {
57 it.solverMemory = ((memorySection as SMTStatisticDoubleValue).value.add(BigDecimal.valueOf(0.5))).intValue
58 }
59 entries += section.values.map[transformEntry]
60 ]
61 }
62
63 protected def dispatch transformEntry(SMTStatisticIntValue entry) {
64 createIntStatisticEntry => [name = entry.exportName value = entry.value] }
65 protected def dispatch transformEntry(SMTStatisticDoubleValue entry) {
66 createRealStatisticEntry => [name = entry.exportName value = entry.value.doubleValue] }
67
68 private def exportName(SMTStatisticValue value) {
69 return value.name.replaceFirst(":","")
70 }
71} \ No newline at end of file
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/SmtModelInterpretation.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/SmtModelInterpretation.xtend
new file mode 100644
index 00000000..fb0739ab
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/SmtModelInterpretation.xtend
@@ -0,0 +1,167 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicModelInterpretation
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
10import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
11import hu.bme.mit.inf.dslreasoner.smt.reasoner.builder.SmtModelQueryEngine
12import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTDocument
13import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTInput
14import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSymbolicDeclaration
15import org.eclipse.xtend.lib.annotations.Accessors
16import org.eclipse.xtend.lib.annotations.Data
17
18import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
19import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTFunctionDeclaration
20
21@Data
22class ValueType {
23 TypeDescriptor descriptor
24 Object value
25}
26
27class SmtModelInterpretation implements LogicModelInterpretation {
28 //val extension LogiclanguageFactory factory = LogiclanguageFactory.eINSTANCE
29 @Accessors(PUBLIC_GETTER) val SmtModelQueryEngine queryEngine;
30
31 // Trace info
32 val Logic2SmtMapperTrace newTrace;
33 val Logic2SMT_TypeMapperInterpretation typeInterpretation
34
35 /**
36 * Creates a model builder which queries a logic structure.
37 * @param document The whole SMT2 document.
38 * @param trace The trace of the [Logic problem -> SMT problem] mapping
39 */
40 new(LogicProblem problem, SMTDocument document, Logic2SmtMapper forwardMapper, Logic2SmtMapperTrace forwardTrace) {
41 //document.input.typeDeclarations.forEach[typeNames.put(it.name,it)]
42
43 this.queryEngine = new SmtModelQueryEngine(document)
44 this.newTrace = initialiseNewTrace(document,forwardTrace)
45 this.typeInterpretation = forwardMapper.typeMapper.getTypeInterpretation(problem,document,this,newTrace)
46 }
47
48 /**
49 * Creates a new trace from the logic model to the new smt file by using the old trace.
50 */
51 def protected Logic2SmtMapperTrace initialiseNewTrace(SMTDocument document, Logic2SmtMapperTrace oldTrace) {
52 val i = document.input
53
54 val res = new Logic2SmtMapperTrace => [ typeMapperTrace = oldTrace.typeMapperTrace.copy(i) ]
55
56 for(entry : oldTrace.relationUnfolding.entrySet) {
57 val rel = entry.key
58 val descriptors = entry.value.map[old |
59 new Descriptor<Relation>(
60 old.parameterTypes.map[copyTypeDescriptor(i)],
61 old.relation)
62 ]
63 res.relationUnfolding.put(rel,descriptors)
64 }
65
66 for(entry : oldTrace.relationMap.entrySet) {
67 val desc = new Descriptor<Relation>(
68 entry.key.parameterTypes.map[copyTypeDescriptor(i)],
69 entry.key.relation)
70 val fun = i.functionDeclarations.filter[it.name == entry.value.name].head
71 res.relationMap.put(desc,fun)
72 }
73
74 return res
75 }
76
77 def private copyTypeDescriptor(TypeDescriptor original, SMTInput i) {
78 if(original.complexType == null) return original
79 else {
80 val newType = i.typeDeclarations.filter[it.name == original.complexType.name].head
81 new TypeDescriptor(newType)
82 }
83 }
84
85 /*def protected initialiseTypes(SMTDocument document) {
86 val model = document.output.getModelResult as SMTModelResult
87 val smtUndefinedType2LogicType = this.newTrace.typeDeclarationMap.bijectiveInverse
88
89 for(cardinalityConstraint : model.typeDefinitions) {
90 val targetType = (cardinalityConstraint.type as SMTComplexTypeReference).referred as SMTSetTypeDeclaration
91 val List<DefinedElement> elementCollection = new LinkedList
92 for(element : cardinalityConstraint.elements.map[symbolicReference]) {
93 if(element instanceof SMTFunctionDeclaration) {
94 val definedElementRepresentation = createDefinedElement => [name += element.name.split("!")]
95 newElement2Constants.put(definedElementRepresentation,element)
96 newConstants2Elements.put(element,definedElementRepresentation)
97 } else{
98 throw new UnsupportedOperationException(
99 "Unresolvable reference in cardinality constraint: " + element.class.name + ": " + element.name)
100 }
101 }
102 undefinedTypeDefinitions.put(targetType.lookup(smtUndefinedType2LogicType),elementCollection);
103 }
104 }*/
105
106 def private dispatch ValueType logicLiteral2SmtLiteral(Integer literal) {
107 new ValueType(TypeDescriptor::numericTypeDescriptor_Instance, literal)
108 }
109 def private dispatch ValueType logicLiteral2SmtLiteral(Boolean literal) {
110 new ValueType(TypeDescriptor::logicTypeDescriptor_Instance, literal)
111 }
112 def private dispatch ValueType logicLiteral2SmtLiteral(DefinedElement literal) {
113 this.typeInterpretation.logicElement2Smt(literal)
114 }
115
116// def private dispatch Object smt2Literal2LogicLiteral(Integer literal) { literal }
117// def private dispatch Object smt2Literal2LogicLiteral(Boolean literal) { literal }
118// def private dispatch Object smt2Literal2LogicLiteral(SMTSymbolicDeclaration literal) {
119// this.typeInterpretation.smtElement2Logic(literal)
120// }
121
122 override getElements(Type type) {
123 return this.typeInterpretation.getElements(type)
124 }
125
126 override getInterpretation(FunctionDeclaration function, Object[] parameterSubstitution) {
127 /*queryEngine.resolveFunctionDeclaration(
128 function.lookup(newTrace.functionDeclarationMap),
129 parameterSubstitution.map[logicLiteral2SmtLiteral]
130 ).smt2Literal2LogicLiteral*/
131 throw new UnsupportedOperationException
132 }
133
134 override getInterpretation(RelationDeclaration relation, Object[] parameterSubstitution) {
135 val transformedParameters = parameterSubstitution.map[logicLiteral2SmtLiteral]
136
137 val smtFunction = new Descriptor<Relation>(
138 transformedParameters.map[descriptor],
139 relation)
140 .lookup(newTrace.relationMap)
141
142 val result = queryEngine.resolveFunctionDeclaration(
143 smtFunction as SMTFunctionDeclaration,
144 transformedParameters.map[value]
145 ) as Boolean
146
147 return result
148 }
149
150 override getInterpretation(ConstantDeclaration constant) {
151 /*queryEngine.resolveFunctionDeclaration(
152 constant.lookup(newTrace.constantDeclarationMap),
153 Collections.EMPTY_LIST
154 ).smt2Literal2LogicLiteral*/
155 throw new UnsupportedOperationException
156 }
157
158 override getMaximalInteger() {
159 100
160 //throw new UnsupportedOperationException("TODO: auto-generated method stub")
161 }
162
163 override getMinimalInteger() {
164 -100
165 //throw new UnsupportedOperationException("TODO: auto-generated method stub")
166 }
167} \ No newline at end of file
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/SmtSolverConfiguration.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/SmtSolverConfiguration.xtend
new file mode 100644
index 00000000..2a926cb6
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/SmtSolverConfiguration.xtend
@@ -0,0 +1,9 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
4import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTReasoningTactic
5
6class SmtSolverConfiguration extends LogicSolverConfiguration{
7 public boolean fixRandomSeed = false
8 public SMTReasoningTactic strategy = null
9}
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/TransformedSubterm.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/TransformedSubterm.xtend
new file mode 100644
index 00000000..48952288
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/TransformedSubterm.xtend
@@ -0,0 +1,183 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner
2
3import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSortedVariable
4import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSymbolicValue
5import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTTerm
6import hu.bme.mit.inf.dslreasoner.smtLanguage.SmtLanguageFactory
7import java.util.ArrayList
8import java.util.List
9import java.util.Map
10import org.eclipse.emf.ecore.EObject
11import org.eclipse.emf.ecore.util.EcoreUtil
12import org.eclipse.xtend.lib.annotations.Data
13import java.util.HashMap
14import java.util.LinkedList
15
16abstract class TransformedSubterm {
17 val static extension SmtLanguageFactory factory = SmtLanguageFactory.eINSTANCE
18 def LogicSubterm expectLogic()
19 def NumericSubterm expectNumber()
20
21 def List<SubtermOption> getPossibleValues()
22
23 public static def List<List<SubtermOption>> allCombinations(List<SubtermOption>... possibleValues) {
24 return allCombinations(possibleValues.toList)
25 }
26 public static def List<List<SubtermOption>> allCombinations(Iterable<List<SubtermOption>> possibleValues) {
27 if(possibleValues.size == 1) {
28 return possibleValues.head.map[x|#[x.copy]]
29 } else {
30 val head = possibleValues.head
31 val tails = possibleValues.tail.allCombinations
32 val res = new ArrayList(tails.size * head.size)
33 for(headElement : head) {
34 for(tail : tails) {
35 val combination = new ArrayList(tail.size+1)
36 combination.add(headElement)
37 combination.addAll(tail.map[copy])
38 res.add(combination)
39 }
40 }
41 return res
42 }
43 }
44
45 public static def resolveToLogic(List<SubtermOption> subterms, SMTTerm value) {
46 val allDefinitions = subterms.map[it.variables].flatten
47 val allPreconditions = subterms.map[it.preconditions].flatten
48 val preconditionedExpression = if(allPreconditions.empty) {
49 value
50 } else {
51 createSMTAnd => [it.operands += allPreconditions it.operands += value]
52 }
53 val quantifiedExpression = if(allDefinitions.empty) {
54 preconditionedExpression
55 } else {
56 createSMTForall => [
57 it.quantifiedVariables += allDefinitions
58 it.expression = preconditionedExpression]
59 }
60 return quantifiedExpression
61 }
62}
63
64@Data class SubtermOption {
65 List<SMTSortedVariable> variables
66 List<SMTTerm> preconditions
67 SMTTerm expression
68 TypeDescriptor type
69
70 public new(
71 List<SMTSortedVariable> variables,
72 List<SMTTerm> preconditions,
73 SMTTerm expression,
74 TypeDescriptor type)
75 {
76 this.variables = variables
77 this.preconditions = preconditions
78 this.expression = expression
79 this.type = type
80 }
81
82 public new(
83 List<SubtermOption> previousSubterms,
84 List<SMTSortedVariable> newVariables,
85 List<SMTTerm> newPreconditions,
86 SMTTerm newExpression,
87 TypeDescriptor newType)
88 {
89 val old2New = new HashMap
90 variables = new LinkedList
91 for(variable : previousSubterms.map[getVariables].flatten) {
92 val newVariable = EcoreUtil.copy(variable)
93 old2New.put(variable,newVariable)
94 variables+=newVariable
95 }
96
97 preconditions = new LinkedList
98 preconditions += previousSubterms.map[getPreconditions].flatten.map[x|EcoreUtil.copy(x)]
99 preconditions += newPreconditions.map[x|EcoreUtil.copy(x)]
100 preconditions.forEach[relinkAllVariableReference(old2New)]
101
102 expression = EcoreUtil.copy(newExpression)
103 relinkAllVariableReference(expression,old2New)
104
105 type = newType
106 }
107
108 public def copy() {
109 val old2New = variables.toInvertedMap[EcoreUtil.copy(it)]
110 val newPreconditions = preconditions.map[EcoreUtil.copy(it)]
111 newPreconditions.forEach[it.relinkAllVariableReference(old2New)]
112 val newExpression = EcoreUtil.copy(expression)
113 return new SubtermOption(variables.map[old2New.get(it)],newPreconditions,newExpression,type)
114 }
115
116 def private relinkAllVariableReference(EObject root,Map<SMTSortedVariable, SMTSortedVariable> map) {
117 if(root instanceof SMTSymbolicValue) root.relinkVariableReference(map)
118 root.eAllContents().filter(SMTSymbolicValue).forEach[relinkVariableReference(map)]
119 }
120 def private relinkVariableReference(SMTSymbolicValue target,Map<SMTSortedVariable, SMTSortedVariable> map) {
121 if(map.containsKey(target.symbolicReference)) {
122 target.symbolicReference = map.get(target.symbolicReference)
123 }
124 }
125}
126
127@Data
128class LogicSubterm extends TransformedSubterm{
129
130 SMTTerm value
131 override expectLogic() {return this}
132 override expectNumber() { throw new AssertionError("A term is not a number") }
133
134 public new(SMTTerm expression)
135 {
136 this.value = expression
137 }
138 override getPossibleValues() {
139 #[new SubtermOption(#[],#[],value,TypeDescriptor::logicTypeDescriptor_Instance)]
140 }
141}
142
143@Data
144class NumericSubterm extends TransformedSubterm {
145 List<SubtermOption> values
146
147 public new(
148 List<SMTSortedVariable> variables,
149 List<SMTTerm> preconditions,
150 SMTTerm expression) {
151 this.values = #[new SubtermOption(variables,preconditions,expression,TypeDescriptor.numericTypeDescriptor_Instance)]
152 }
153 public new(List<SubtermOption> values) {
154 this.values = values
155 }
156
157 override expectLogic() { throw new AssertionError("A term is not a logic value") }
158 override expectNumber() { return this }
159
160 override getPossibleValues() {
161 values
162 }
163}
164
165@Data
166class ComplexSubterm extends TransformedSubterm {
167 List<SubtermOption> options
168 override expectLogic() { throw new AssertionError("A term is not a logic value") }
169 override expectNumber() { throw new AssertionError("A term is not a number") }
170 public new(List<SMTSortedVariable> variables,
171 List<SMTTerm> preconditions,
172 SMTTerm expression,
173 TypeDescriptor type)
174 {
175 this.options = #[new SubtermOption(variables,preconditions,expression,type)]
176 }
177 public new(List<SubtermOption> subterms) {
178 this.options = subterms
179 }
180 override getPossibleValues() {
181 this.options
182 }
183}
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/TypeDescriptor.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/TypeDescriptor.xtend
new file mode 100644
index 00000000..1aa5cf04
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/TypeDescriptor.xtend
@@ -0,0 +1,44 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner
2
3import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTBoolTypeReference
4import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTComplexTypeReference
5import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTIntTypeReference
6import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTRealTypeReference
7import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTType
8import java.util.List
9import org.eclipse.xtend.lib.annotations.Accessors
10import org.eclipse.xtend.lib.annotations.Data
11
12@Data
13class Descriptor<T> {
14 List<TypeDescriptor> parameterTypes
15 T relation
16}
17
18@Data
19class TypeDescriptor {
20 val boolean logic
21 val boolean numeric
22 val SMTType complexType
23
24 @Accessors(PUBLIC_GETTER)
25 static val LogicTypeDescriptor_Instance = new TypeDescriptor(true,false,null)
26 @Accessors(PUBLIC_GETTER)
27 static val NumericTypeDescriptor_Instance = new TypeDescriptor(false,true,null)
28
29 private new(boolean logic, boolean numeric, SMTType complexType) {
30 this.logic = logic
31 this.numeric = numeric
32 this.complexType = complexType
33 }
34 public new(SMTType complexType) {
35 this.logic = false
36 this.numeric = false
37 this.complexType = complexType
38 }
39
40 def static dispatch createFromTypeReference(SMTBoolTypeReference ref) { return TypeDescriptor::LogicTypeDescriptor_Instance}
41 def static dispatch createFromTypeReference(SMTIntTypeReference ref) { return TypeDescriptor::NumericTypeDescriptor_Instance}
42 def static dispatch createFromTypeReference(SMTRealTypeReference ref) { return TypeDescriptor::NumericTypeDescriptor_Instance}
43 def static dispatch createFromTypeReference(SMTComplexTypeReference ref) { return new TypeDescriptor(false,false,ref.referred)}
44} \ No newline at end of file
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/builder/SmtModelQueryEngine.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/builder/SmtModelQueryEngine.xtend
new file mode 100644
index 00000000..a259d103
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/builder/SmtModelQueryEngine.xtend
@@ -0,0 +1,314 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTAnd
4import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTBoolLiteral
5import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTBoolTypeReference
6import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTComplexTypeReference
7import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTDocument
8import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTEnumLiteral
9import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTEnumeratedTypeDeclaration
10import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTEquals
11import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTFunctionDeclaration
12import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTFunctionDefinition
13import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTITE
14import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTInput
15import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTIntLiteral
16import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTIntTypeReference
17import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTMinus
18import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTModelResult
19import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTOutput
20import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSortedVariable
21import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTSymbolicValue
22import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTTerm
23import java.util.HashMap
24import java.util.List
25import java.util.Map
26
27class SmtModelQueryEngine {
28 private Map<SMTFunctionDeclaration, SMTFunctionDefinition> functionDeclarationToDefinitions =
29 new HashMap<SMTFunctionDeclaration, SMTFunctionDefinition>
30
31 private val SMTInput input;
32 private val SMTOutput output
33
34 new(SMTDocument model) {
35 val nameToFunctionDefiniton = new HashMap<String, SMTFunctionDefinition>
36 input = model.input
37 var SMTModelResult modelResult = null
38
39 output = model.output
40 if(output!=null) {
41 val result = output.getModelResult
42 if(result instanceof SMTModelResult) {
43 modelResult = result as SMTModelResult
44 }
45 }
46
47 input.functionDefinition.
48 forEach[x|nameToFunctionDefiniton.put(x.name,x)]
49 if(modelResult!=null)
50 modelResult.newFunctionDefinitions.
51 forEach[x|nameToFunctionDefiniton.put(x.name,x)]
52
53 input.functionDeclarations.
54 forEach[x|functionDeclarationToDefinitions.put(x,x.name.lookup(nameToFunctionDefiniton))]
55 if(modelResult!=null)
56 modelResult.newFunctionDeclarations.
57 forEach[x|functionDeclarationToDefinitions.put(x,x.name.lookup(nameToFunctionDefiniton))]
58 }
59
60 def protected <KEY_TYPE,VALUE_TYPE> VALUE_TYPE lookup(KEY_TYPE key, Map<? extends KEY_TYPE,? extends VALUE_TYPE> map) {
61 return map.get(key)
62 }
63
64 def protected dispatch getDefaultValue(SMTIntTypeReference reference) { 0 }
65 def protected dispatch getDefaultValue(SMTBoolTypeReference reference) { false }
66 def protected dispatch getDefaultValue(SMTComplexTypeReference reference) {
67 val type = reference.referred
68 if(type instanceof SMTEnumeratedTypeDeclaration) return type.elements.head
69 else {
70 val definition = (output.getModelResult as SMTModelResult).typeDefinitions.filter[it.type == type].head
71 return definition.elements.head
72 }
73 }
74
75 def protected isTerminal(
76 SMTTerm term,
77 Map<SMTSortedVariable,Object> substitution)
78 {
79 /*
80 * An undefined function is a terminal.
81 */
82 if(term instanceof SMTSymbolicValue) {
83 val symbolicValue = term as SMTSymbolicValue
84
85 if(symbolicValue.symbolicReference instanceof SMTFunctionDeclaration)
86 {
87 val function = symbolicValue.symbolicReference as SMTFunctionDeclaration;
88 val hasDefinition = functionDeclarationToDefinitions.get(function) != null
89 return ! hasDefinition
90 }
91 else return false
92 }
93 /*
94 * A finite element is a terminal.
95 */
96 else if(term instanceof SMTEnumLiteral)
97 return true
98 else return false
99 }
100 def protected resolveTerminal(
101 SMTTerm terminal,
102 Map<SMTSortedVariable,Object> substitution)
103 {
104 if(terminal instanceof SMTEnumLiteral) {
105 return terminal;
106 }
107 else if(terminal instanceof SMTSymbolicValue) {
108 val symbolicValue = terminal as SMTSymbolicValue
109 if(symbolicValue.symbolicReference instanceof SMTFunctionDeclaration)
110 {
111 val function = symbolicValue.symbolicReference as SMTFunctionDeclaration;
112 return function
113 }
114 }
115 }
116
117 def public Object resolveFunctionDeclaration(
118 SMTFunctionDeclaration declaration,
119 List<Object> params)
120 {
121
122 val definition = declaration.lookup(functionDeclarationToDefinitions)
123 if(definition == null) return declaration.range.defaultValue
124 else return definition.resolveFunctionDefinition(params)
125 }
126 def public Object resolveFunctionDefinition(
127 SMTFunctionDefinition definition,
128 List<Object> params)
129 {
130 if(params.nullOrEmpty && definition.parameters.nullOrEmpty) {
131 return definition.resolveFunctionDefinition(emptyMap)
132 }
133 else if(params.size!=definition.parameters.size)
134 throw new IllegalArgumentException(
135 "Incorrect number of parameters!")
136 else {
137 val substitution = new HashMap<SMTSortedVariable,Object>
138 if(! definition.parameters.nullOrEmpty) {
139 for(i : 0..definition.parameters.size-1) {
140 substitution.put(
141 definition.parameters.get(i),
142 params.get(i))
143 }
144 }
145 val result=definition.resolveFunctionDefinition(substitution)
146 //System::out.println(definition.name+"("+params.map[toString] + ") = " + result)
147 return result
148 }
149 }
150 def protected Object resolveFunctionDefinition(
151 SMTFunctionDefinition definition,
152 Map<SMTSortedVariable,Object> substitution)
153 {
154 definition.value.resolveValue(substitution)
155 }
156
157 def protected isBoolLiteral(SMTTerm term, Map<SMTSortedVariable,Object> substitution) {
158 term instanceof SMTBoolLiteral
159 }
160 def protected resolveBoolLiteral(SMTTerm boolValue, Map<SMTSortedVariable,Object> substitution) {
161 return (boolValue as SMTBoolLiteral).^value
162 }
163
164 def protected isIntLiteral(SMTTerm term, Map<SMTSortedVariable,Object> substitution) {
165 term instanceof SMTIntLiteral ||
166 (term instanceof SMTMinus && (term as SMTMinus).rightOperand==null)
167 }
168 def protected resolveIntLiteral(SMTTerm intValue, Map<SMTSortedVariable,Object> substitution) {
169 if(intValue instanceof SMTIntLiteral) return (intValue as SMTIntLiteral).^value
170 else return -((intValue as SMTMinus).leftOperand as SMTIntLiteral).value
171 }
172
173 def protected isParameterValue(
174 SMTTerm term,
175 Map<SMTSortedVariable,Object> substitution)
176 {
177 if(term instanceof SMTSymbolicValue) {
178 return substitution.containsKey((term as SMTSymbolicValue).symbolicReference)
179 }
180 else return false
181 }
182 def protected Object resolveParameterValue(
183 SMTTerm term,
184 Map<SMTSortedVariable,Object> substitution)
185 {
186 return substitution.get((term as SMTSymbolicValue).symbolicReference);
187 }
188
189 def protected isITE(
190 SMTTerm term,
191 Map<SMTSortedVariable,Object> substitution)
192 {
193 return term instanceof SMTITE;
194 }
195 def protected resolveITE(
196 SMTTerm term,
197 Map<SMTSortedVariable,Object> substitution)
198 {
199 val ite = term as SMTITE
200 val condition = ite.condition.resolveValue(substitution) as Boolean
201
202 if(condition){
203 return resolveValue(ite.^if,substitution)
204 }else{
205 return resolveValue(ite.^else,substitution)
206 }
207 }
208
209 def protected isAnd(SMTTerm term, Map<SMTSortedVariable,Object> substitution) {
210 term instanceof SMTAnd
211 }
212 def protected resolveAnd(SMTTerm term, Map<SMTSortedVariable,Object> substitution) {
213 val and = term as SMTAnd
214 for(operand : and.operands) {
215 val operandValue = operand.resolveValue(substitution) as Boolean
216 if(!operandValue) return false
217 }
218 return true
219 }
220
221 def protected isEquals(
222 SMTTerm operand,
223 Map<SMTSortedVariable,Object> substitution)
224 {
225 return operand instanceof SMTEquals
226 }
227 def protected resolveEquals(SMTTerm term, Map<SMTSortedVariable,Object> substitution){
228 val equals = term as SMTEquals
229 val left = equals.leftOperand.resolveValue(substitution)
230 val right = equals.rightOperand.resolveValue(substitution)
231 val res = left.equals(right)
232 return res
233 }
234
235 def protected isFiniteElementReference(SMTTerm term, Map<SMTSortedVariable,Object> substitution) {
236 if(term instanceof SMTSymbolicValue) {
237 if((term as SMTSymbolicValue).symbolicReference instanceof SMTEnumLiteral) {
238 return true
239 }
240 }
241 return false;
242 }
243 def protected resolveFiniteElementReference(SMTTerm term, Map<SMTSortedVariable,Object> substitution) {
244 (term as SMTSymbolicValue).symbolicReference
245 }
246
247 def protected isFunctionCall(SMTTerm term, Map<SMTSortedVariable,Object> substitution) {
248 if(term instanceof SMTSymbolicValue) {
249 val functionCall = (term as SMTSymbolicValue).symbolicReference
250 return functionCall instanceof SMTFunctionDeclaration || functionCall instanceof SMTFunctionDefinition
251 }
252 return false;
253 }
254 def protected resolveFunctionCall(SMTTerm term, Map<SMTSortedVariable,Object> substitution) {
255 if(term.isTerminal(substitution))
256 {
257 return term.resolveTerminal(substitution);
258 }
259 else{
260 val functionCall = term as SMTSymbolicValue
261 var SMTFunctionDefinition calledFunction;
262 var SMTFunctionDeclaration calledDeclaration;
263 if(functionCall.symbolicReference instanceof SMTFunctionDeclaration) {
264 calledDeclaration = functionCall.symbolicReference as SMTFunctionDeclaration
265 calledFunction = functionCall.symbolicReference.lookup(functionDeclarationToDefinitions)}
266 else {
267 calledDeclaration = null;
268 calledFunction = functionCall.symbolicReference as SMTFunctionDefinition
269 }
270
271 val newSubstitution = new HashMap<SMTSortedVariable,Object>
272 if(! calledFunction.parameters.nullOrEmpty) {
273 for(i : 0..calledFunction.parameters.size-1) {
274 newSubstitution.put(
275 calledFunction.parameters.get(i),
276 functionCall.parameterSubstitutions.get(i).resolveValue(substitution)
277 )
278 }
279 }
280 return calledFunction.resolveFunctionDefinition(newSubstitution)
281 }
282 }
283
284 def protected Object resolveValue(
285 SMTTerm value,
286 Map<SMTSortedVariable,Object> substitution)
287 {
288 if(value instanceof SMTSymbolicValue){
289 (value as SMTSymbolicValue).symbolicReference
290 }
291
292 if(value.isTerminal(substitution)) {
293 return value.resolveTerminal(substitution)
294 }else if(value.isBoolLiteral(substitution)){
295 return resolveBoolLiteral(value, substitution)
296 }else if(value.isIntLiteral(substitution)){
297 return resolveIntLiteral(value, substitution)
298 }else if(value.isParameterValue(substitution)) {
299 return resolveParameterValue(value,substitution)
300 }else if(value.isITE(substitution)){
301 return resolveITE(value, substitution)
302 }else if(value.isAnd(substitution)) {
303 return resolveAnd(value,substitution)
304 }else if(value.isEquals(substitution)) {
305 return resolveEquals(value,substitution)
306 }else if(value.isFiniteElementReference(substitution)) {
307 return resolveFiniteElementReference(value,substitution)
308 }else if(value.isFunctionCall(substitution)) {
309 return resolveFunctionCall(value,substitution)
310 }else{
311 throw new IllegalArgumentException("Can not resolve this term: " + value)
312 }
313 }
314} \ No newline at end of file
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/builder/SmtSolverHandler.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/builder/SmtSolverHandler.xtend
new file mode 100644
index 00000000..38ae1dae
--- /dev/null
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/builder/SmtSolverHandler.xtend
@@ -0,0 +1,64 @@
1package hu.bme.mit.inf.dslreasoner.smt.reasoner.builder
2
3import org.eclipse.emf.common.util.URI
4import java.io.InputStream
5import java.io.IOException
6import java.io.FileWriter
7import java.io.File
8import java.io.BufferedReader
9import java.io.InputStreamReader
10import org.eclipse.emf.common.CommonPlugin
11import hu.bme.mit.inf.dslreasoner.smt.reasoner.SmtSolverConfiguration
12
13class SmtSolverException extends Exception{
14 new(String s) { super(s) }
15 new(String s, Exception e) { super(s,e) }
16}
17
18class SmtSolverHandler {
19 public def callSolver(URI resourceURI, SmtSolverConfiguration configuration) {
20 val URI smtUri = CommonPlugin.resolve(resourceURI)
21 val File smtFile = new File(smtUri.toFileString())
22
23 val params =
24 '''/smt2 /st«
25 IF configuration.runtimeLimit != SmtSolverConfiguration::Unlimited» /T:«configuration.runtimeLimit»«ENDIF»«
26 IF configuration.memoryLimit != SmtSolverConfiguration::Unlimited» /memory:«configuration.memoryLimit»«ENDIF»«
27 IF configuration.fixRandomSeed» /rs:0«ENDIF
28 » «smtFile.path»'''
29
30 val Runtime runTime = Runtime.getRuntime()
31
32 try {
33 val process = runTime.exec(configuration.solverPath + " " + params)
34
35 val FileWriter writer = new FileWriter(smtFile,true)
36 writer.append("\n--------------\n")
37 appendStream(writer, process.getInputStream())
38 printStream(process.getErrorStream())
39 writer.close
40 } catch (IOException e) {
41 throw new SmtSolverException(
42 "Error during the input/output handling of the reasoner.", e)
43 }
44
45 return resourceURI
46 }
47
48 def private void printStream(InputStream inputStream) throws IOException {
49 val BufferedReader input = new BufferedReader(new InputStreamReader(inputStream))
50 var int line = -1
51 while ((line = input.read()) != -1) {
52 System.out.print(line as char)
53 }
54 input.close()
55 }
56
57 def private appendStream(FileWriter writer, InputStream inputStream) throws IOException {
58 val BufferedReader input = new BufferedReader(new InputStreamReader(inputStream))
59 var int line = -1
60 while ((line = input.read()) != -1) {
61 writer.append(line as char)
62 }
63 }
64} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.classpath b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.classpath
new file mode 100644
index 00000000..d9c5bef5
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.classpath
@@ -0,0 +1,11 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
4 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
5 <classpathentry kind="src" path="src"/>
6 <classpathentry kind="src" path="xtend-gen"/>
7 <classpathentry kind="src" path="patterns"/>
8 <classpathentry kind="src" path="vql-gen"/>
9 <classpathentry kind="src" path="src-gen/"/>
10 <classpathentry kind="output" path="bin"/>
11</classpath>
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.gitignore b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.gitignore
new file mode 100644
index 00000000..8ae4e44d
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.gitignore
@@ -0,0 +1,4 @@
1/bin/
2/src-gen/
3/vql-gen/
4/xtend-gen/
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.project b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.project
new file mode 100644
index 00000000..386eda9e
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.project
@@ -0,0 +1,40 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.viatra.query.tooling.ui.projectbuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.jdt.core.javabuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.ManifestBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 <buildCommand>
29 <name>org.eclipse.pde.SchemaBuilder</name>
30 <arguments>
31 </arguments>
32 </buildCommand>
33 </buildSpec>
34 <natures>
35 <nature>org.eclipse.pde.PluginNature</nature>
36 <nature>org.eclipse.jdt.core.javanature</nature>
37 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
38 <nature>org.eclipse.viatra.query.projectnature</nature>
39 </natures>
40</projectDescription>
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.settings/org.eclipse.jdt.core.prefs b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.settings/org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguage.prefs b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.settings/org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguage.prefs
new file mode 100644
index 00000000..5b3dcb93
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/.settings/org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguage.prefs
@@ -0,0 +1,27 @@
1BuilderConfiguration.is_project_specific=true
2autobuilding=true
3eclipse.preferences.version=1
4generateGeneratedAnnotation=false
5generateSuppressWarnings=true
6generatedAnnotationComment=
7includeDateInGenerated=false
8outlet.DEFAULT_OUTPUT.cleanDirectory=false
9outlet.DEFAULT_OUTPUT.cleanupDerived=true
10outlet.DEFAULT_OUTPUT.createDirectory=true
11outlet.DEFAULT_OUTPUT.derived=true
12outlet.DEFAULT_OUTPUT.directory=./vql-gen
13outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
14outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
15outlet.DEFAULT_OUTPUT.keepLocalHistory=true
16outlet.DEFAULT_OUTPUT.override=true
17outlet.DEFAULT_OUTPUT.sourceFolder.patterns.directory=
18outlet.DEFAULT_OUTPUT.sourceFolder.patterns.ignore=
19outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=
20outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.ignore=
21outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=
22outlet.DEFAULT_OUTPUT.sourceFolder.src.ignore=
23outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=
24outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.ignore=
25outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=
26targetJavaVersion=JAVA5
27useJavaCompilerCompliance=true
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/META-INF/MANIFEST.MF b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..8f0e037a
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/META-INF/MANIFEST.MF
@@ -0,0 +1,26 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: Logic2viatra
4Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatraquery;singleton:=true
5Bundle-Version: 1.0.0.qualifier
6Export-Package: hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra,
7 hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries,
8 hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.util
9Require-Bundle: hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0",
10 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;bundle-version="1.0.0",
11 hu.bme.mit.inf.dslreasoner.ecore2logic;bundle-version="1.0.0",
12 hu.bme.mit.inf.dslreasoner.viatra2logic;bundle-version="1.0.0",
13 com.google.guava,
14 org.eclipse.xtext.xbase.lib,
15 org.eclipse.xtend.lib,
16 org.eclipse.xtend.lib.macro,
17 org.eclipse.viatra.query.runtime;bundle-version="1.5.0",
18 org.eclipse.viatra.query.runtime.base.itc;bundle-version="1.5.0",
19 org.eclipse.viatra.query.patternlanguage;bundle-version="1.5.0",
20 org.eclipse.viatra.query.patternlanguage.emf;bundle-version="1.5.0",
21 com.google.inject;bundle-version="3.0.0",
22 org.eclipse.xtext;bundle-version="2.10.0",
23 org.eclipse.viatra.transformation.runtime.emf;bundle-version="1.5.0",
24 org.eclipse.xtext.xbase;bundle-version="2.10.0"
25Bundle-RequiredExecutionEnvironment: JavaSE-1.8
26Import-Package: org.apache.log4j
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/build.properties b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/build.properties
new file mode 100644
index 00000000..585df5ce
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/build.properties
@@ -0,0 +1,9 @@
1bin.includes = META-INF/,\
2 .,\
3 plugin.xml
4source.. = src/,\
5 patterns/,\
6 vql-gen/,\
7 xtend-gen/,\
8 src-gen/
9output.. = bin/
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/patterns/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/queries/TypeAnalysis.vql b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/patterns/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/queries/TypeAnalysis.vql
new file mode 100644
index 00000000..ebab542c
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/patterns/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/queries/TypeAnalysis.vql
@@ -0,0 +1,223 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries
2
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
5import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
6
7/**
8 * Direct supertypes of a type.
9 */
10private pattern supertypeDirect(subtype : Type, supertype : Type) {
11 Type.supertypes(subtype, supertype);
12}
13
14/**
15 * All supertypes of a type.
16 */
17
18private pattern supertypePlus(subtype: Type, supertype: Type) {
19 find supertypeDirect+(subtype,supertype);
20}
21
22private pattern supertypeStar(subtype: Type, supertype: Type) {
23 subtype == supertype;
24} or {
25 find supertypePlus(subtype,supertype);
26}
27
28pattern hasDefinedSupertype(type:Type) {
29 find supertypeStar(type,superType);
30 TypeDefinition(superType);
31}
32
33pattern dontHaveDefinedSupertype(type:TypeDeclaration) {
34 neg find hasDefinedSupertype(type);
35}
36
37///////////////////////
38// New element types
39///////////////////////
40
41/**
42 * A new element can has 'type' as a dynamic type iff
43 * (1) 'type' is concrete and
44 * (2) 'type' does not have defined supertype
45 * (including the case when 'type' itself is defined).
46 */
47private pattern possibleNewElementDynamicType(type:TypeDeclaration) {
48 Type.isAbstract(type,false);
49 find dontHaveDefinedSupertype(type);
50}
51///**
52// * The type of a new element can be refined from 'previous' to 'refined'.
53// */
54//private pattern newElementTypeRefinementPath(previous:TypeDeclaration, refined:TypeDeclaration) {
55// find possibleNewElementDynamicType(previous);
56// find possibleNewElementDynamicType(refined);
57// find supertypePlus(refined,previous);
58//}
59
60/**
61 * New element can be created with type 'type' iff it can has 'type' as a dynamic type.
62 */
63pattern newElementTypeConstructor(type:TypeDeclaration) {
64 find possibleNewElementDynamicType(type);
65}
66
67/**
68 * New element can be refined to type 'refined' iff
69 * (1) type is concrete
70 * (2) the new type cover each existing type of the previous state, i.e.
71 * (2') it does not have type that:
72 */
73
74pattern newElementTypeRefinementTarget(refined: TypeDeclaration) {
75 find possibleNewElementDynamicType(refined);
76}
77
78private pattern incompatibleType(type:TypeDeclaration, incompatible:TypeDeclaration) {
79 LogicProblem.types(problem,type);
80 LogicProblem.types(problem,incompatible);
81 neg find supertypeStar(type, incompatible);
82}
83
84pattern incompatibleSuperType(type:TypeDeclaration, incompatibleType1:TypeDeclaration, incompatibleType2:TypeDeclaration) {
85 find incompatibleType(type, incompatibleType1);
86 find incompatibleType(type, incompatibleType2);
87 find supertypePlus(incompatibleType1, incompatibleType2);
88}
89
90pattern incompatibleTopType(type:TypeDeclaration, incompatible:TypeDeclaration) {
91 find incompatibleType(type, incompatible);
92 neg find incompatibleSuperType(type, incompatible, _);
93}
94
95pattern newElementTypeRefinementNegativeConstraint(refined:TypeDeclaration, inhibitor:TypeDeclaration) {
96 find incompatibleTopType(refined, inhibitor);
97} or {
98 find possibleNewElementDynamicType(refined);
99 refined == inhibitor;
100}
101
102pattern newElementMayTypeNegativeConstraint(mayType: TypeDeclaration, inhibitor: TypeDeclaration) {
103 find incompatibleTopType(mayType, inhibitor);
104}
105
106///////////////////////
107// Old element types
108///////////////////////
109
110//TODO old element types
111
112//private pattern typeInterpretation(problem:LogicProblem, interpetation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialTypeInterpratation) {
113// find interpretation(problem,interpetation);
114// LogicProblem.types(problem,type);
115// PartialInterpretation.partialtypeinterpratation(interpetation,typeInterpretation);
116// PartialTypeInterpratation.interpretationOf(typeInterpretation,type);
117//}
118//
119//pattern directInstanceOf(problem:LogicProblem, interpetation:PartialInterpretation, element:DefinedElement, type:Type) {
120// find interpretation(problem,interpetation);
121// find mustExist(problem,interpetation,element);
122// LogicProblem.types(problem,type);
123// TypeDefinition.elements(type,element);
124//} or {
125// find mustExist(problem,interpetation,element);
126// find typeInterpretation(problem,interpetation,type,typeInterpretation);
127// PartialTypeInterpratation.elements(typeInterpretation,element);
128//}
129//
130//
131//
132///// Complex type reasoning patterns ///
133////
134//// In a valid type system, for each element e there is exactly one type T where
135//// 1: T(e) - but we dont know this for type declaration
136//// 2: For the dynamic type D and another type T, where D(e) && D-->T, T(e) is true.
137//// 2e: A type hierarchy is invalid, if there is a supertype T for a dynamic type D which does no contains e:
138//// D(e) && D-->T && !T(e)
139//// 3: There is no T' that T'->T and T'(e)
140//// 3e: A type hierarcy is invalid, if there is a type T for a dynamic type D, which contains e, but not subtype of T:
141//// D(e) && ![T--->D] && T(e)
142//// 4: T is not abstract
143//// Such type T is called Dynamic type of e, while other types are called static types.
144////
145//// The following patterns checks the possible dynamic types for an element
146//
147//pattern wellformedType(problem: LogicProblem, interpretation:PartialInterpretation, dynamic:Type, element:DefinedElement) {
148// // 1: T(e)
149// find directInstanceOf(problem,interpretation,element,dynamic);
150// // 2e is not true: D(e) && D-->T && !T(e)
151// neg find dynamicTypeNotSubtypeOfADefinition(problem,interpretation,element,dynamic);
152// // 3e is not true: D(e) && ![T--->D] && T(e)
153// neg find dynamicTypeIsSubtypeOfANonDefinition(problem,interpretation,element,dynamic);
154// // 4: T is not abstract
155// Type.isAbstract(dynamic,false);
156//}
157//
158//pattern possibleDynamicType(problem: LogicProblem, interpretation:PartialInterpretation, dynamic:Type, element:DefinedElement)
159//// case 1: element is defined at least once
160//{
161// LogicProblem.types(problem,dynamic);
162// // select a random definition 'randomType'
163// find directInstanceOf(problem,interpretation,element,randomType);
164// // dynamic is a subtype of 'randomType'
165// find supertypeStar(dynamic,randomType);
166// // 2e is not true: D(e) && D-->T && !T(e)
167// neg find dynamicTypeNotSubtypeOfADefinition(problem,interpretation,element,dynamic);
168// // 3e is not true: D(e) && ![T--->D] && T(e)
169// neg find dynamicTypeIsSubtypeOfANonDefinition(problem,interpretation,element,dynamic);
170// // 4: T is not abstract
171// Type.isAbstract(dynamic,false);
172//} or
173//// case 2: element is not defined anywhere
174//{
175// find mayExist(problem,interpretation,element);
176// // there is no definition
177// neg find directInstanceOf(problem,interpretation,element,_);
178// // 2e is not true: D(e) && D-->T && !T(e)
179// // because non of the definition contains element, the type cannot have defined supertype
180// LogicProblem.types(problem,dynamic);
181// PartialInterpretation.problem(interpretation,problem);
182// neg find typeWithDefinedSupertype(dynamic);
183// // 3e is not true: D(e) && ![T--->D] && T(e)
184// // because there is no definition, dynamic covers all definition
185// // 4: T is not abstract
186// Type.isAbstract(dynamic,false);
187//}
188//
189///**
190// * supertype -------> element <------- otherSupertype
191// * A A
192// * | |
193// * wrongDynamic -----------------------------X
194// */
195//private pattern dynamicTypeNotSubtypeOfADefinition(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, wrongDynamic : Type) {
196// find directInstanceOf(problem,interpretation,element,supertype);
197// find directInstanceOf(problem,interpretation,element,otherSupertype);
198// find supertypeStar(wrongDynamic,supertype);
199// neg find supertypeStar(wrongDynamic,otherSupertype);
200//}
201//
202//
203///**
204// * supertype -------> element <---X--- otherSupertype
205// * A A
206// * | |
207// * wrongDynamic -----------------------------+
208// */
209//private pattern dynamicTypeIsSubtypeOfANonDefinition(problem: LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, wrongDynamic:Type) {
210// find directInstanceOf(problem,interpretation,element,supertype);
211// neg find elementInTypeDefinition(element,otherSupertype);
212// find supertypeStar(wrongDynamic, supertype);
213// find supertypeStar(wrongDynamic, otherSupertype);
214//}
215//
216//private pattern elementInTypeDefinition(element:DefinedElement, definition:TypeDefinition) {
217// TypeDefinition.elements(definition,element);
218//}
219//
220//private pattern typeWithDefinedSupertype(type:TypeDeclaration) {
221// find supertypeStar(type,definedSupertype);
222// TypeDefinition(definedSupertype);
223//}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/plugin.xml b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/plugin.xml
new file mode 100644
index 00000000..05e00983
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/plugin.xml
@@ -0,0 +1,14 @@
1<?xml version="1.0" encoding="UTF-8"?><plugin>
2 <extension id="hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.TypeAnalysis" point="org.eclipse.viatra.query.runtime.queryspecification">
3 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.TypeAnalysis" id="hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.TypeAnalysis">
4 <query-specification fqn="hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.hasDefinedSupertype"/>
5 <query-specification fqn="hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.dontHaveDefinedSupertype"/>
6 <query-specification fqn="hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.newElementTypeConstructor"/>
7 <query-specification fqn="hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.newElementTypeRefinementTarget"/>
8 <query-specification fqn="hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.incompatibleSuperType"/>
9 <query-specification fqn="hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.incompatibleTopType"/>
10 <query-specification fqn="hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.newElementTypeRefinementNegativeConstraint"/>
11 <query-specification fqn="hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.newElementMayTypeNegativeConstraint"/>
12 </group>
13 </extension>
14</plugin>
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/Modality.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/Modality.java
new file mode 100644
index 00000000..d2132cea
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/Modality.java
@@ -0,0 +1,22 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra;
2
3public enum Modality {
4 MUST, MAY, CURRENT;
5 public boolean isMust() {
6 return this == MUST;
7 }
8 public boolean isMay() {
9 return this == MAY;
10 }
11 public boolean isCurrent() {
12 return this == CURRENT;
13 }
14 public boolean isMustOrCurrent() {
15 return isMust() || isCurrent();
16 }
17 public Modality getDual() {
18 if(this.isCurrent()) return CURRENT;
19 else if(this.isMust())return MAY;
20 else return MUST;
21 }
22}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/ModelGenerationMethodProvider.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/ModelGenerationMethodProvider.xtend
new file mode 100644
index 00000000..1653226d
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/ModelGenerationMethodProvider.xtend
@@ -0,0 +1,78 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
6import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns.PatternProvider
7import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.rules.GoalConstraintProvider
8import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.rules.RefinementRuleProvider
9import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
10import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
11import java.util.Collection
12import java.util.LinkedHashMap
13import java.util.List
14import org.eclipse.viatra.query.runtime.api.GenericPatternMatch
15import org.eclipse.viatra.query.runtime.api.IQuerySpecification
16import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher
17import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery
18import org.eclipse.viatra.transformation.runtime.emf.rules.batch.BatchTransformationRule
19import org.eclipse.xtend.lib.annotations.Data
20import org.eclipse.viatra.query.runtime.api.IPatternMatch
21
22class ModelGenerationStatistics {
23 public var long transformationExecutionTime = 0
24 synchronized def addExecutionTime(long amount) {
25 transformationExecutionTime+=amount
26 }
27 public var long PreliminaryTypeAnalisisTime = 0
28}
29@Data class ModelGenerationMethod {
30 ModelGenerationStatistics statistics
31
32 Collection<? extends BatchTransformationRule<?,?>> objectRefinementRules
33 Collection<? extends BatchTransformationRule<?,?>> relationRefinementRules
34
35 List<MultiplicityGoalConstraintCalculator> unfinishedMultiplicities
36 Collection<? extends IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> unfinishedWF
37
38 Collection<? extends IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> invalidWF
39}
40enum TypeInferenceMethod {
41 Generic, PreliminaryAnalysis
42}
43
44class ModelGenerationMethodProvider {
45 private val PatternProvider patternProvider = new PatternProvider
46 private val RefinementRuleProvider refinementRuleProvider = new RefinementRuleProvider
47 private val GoalConstraintProvider goalConstraintProvider = new GoalConstraintProvider
48
49 public def ModelGenerationMethod createModelGenerationMethod(
50 LogicProblem logicProblem,
51 PartialInterpretation emptySolution,
52 Iterable<PQuery> existingQueries,
53 ReasonerWorkspace workspace,
54 boolean nameNewElements,
55 TypeInferenceMethod typeInferenceMethod
56 ) {
57 val statistics = new ModelGenerationStatistics
58 val queries = patternProvider.generateQueries(logicProblem,emptySolution,statistics,existingQueries,workspace,typeInferenceMethod)
59
60 val //LinkedHashMap<Pair<Relation, ? extends Type>, BatchTransformationRule<GenericPatternMatch, ViatraQueryMatcher<GenericPatternMatch>>>
61 objectRefinementRules = refinementRuleProvider.createObjectRefinementRules(queries,nameNewElements,statistics)
62 val relationRefinementRules = refinementRuleProvider.createRelationRefinementRules(queries,statistics)
63
64 val unfinishedMultiplicities = goalConstraintProvider.getUnfinishedMultiplicityQueries(queries)
65 val unfinishedWF = queries.getUnfinishedWFQueries.values
66
67 val invalidWF = queries.getInvalidWFQueries.values
68
69 return new ModelGenerationMethod(
70 statistics,
71 objectRefinementRules.values,
72 relationRefinementRules.values,
73 unfinishedMultiplicities,
74 unfinishedWF,
75 invalidWF
76 )
77 }
78}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/MultiplicityGoalConstraintCalculator.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/MultiplicityGoalConstraintCalculator.xtend
new file mode 100644
index 00000000..e05160d0
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/MultiplicityGoalConstraintCalculator.xtend
@@ -0,0 +1,46 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra
2
3import org.eclipse.emf.common.notify.Notifier
4import org.eclipse.viatra.query.runtime.api.IQuerySpecification
5import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
6import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher
7import org.eclipse.viatra.query.runtime.emf.EMFScope
8
9class MultiplicityGoalConstraintCalculator {
10 val String targetRelationName;
11 val IQuerySpecification<?> querySpecification;
12 var ViatraQueryMatcher<?> matcher;
13
14 public new(String targetRelationName, IQuerySpecification<?> querySpecification) {
15 this.targetRelationName = targetRelationName
16 this.querySpecification = querySpecification
17 this.matcher = null
18 }
19
20 public new(MultiplicityGoalConstraintCalculator other) {
21 this.targetRelationName = other.targetRelationName
22 this.querySpecification = other.querySpecification
23 this.matcher = null
24 }
25
26 def public getName() {
27 targetRelationName
28 }
29
30 def public init(Notifier notifier) {
31 val engine = ViatraQueryEngine.on(new EMFScope(notifier))
32 matcher = querySpecification.getMatcher(engine)
33 }
34
35 def public calculateValue() {
36 var res = 0
37 val allMatches = this.matcher.allMatches
38 for(match : allMatches) {
39 //println(targetRelationName+ " missing multiplicity: "+match.get(3))
40 val missingMultiplicity = match.get(4) as Integer
41 res += missingMultiplicity
42 }
43 //println(targetRelationName+ " all missing multiplicities: "+res)
44 return res
45 }
46} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/TypeAnalysis.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/TypeAnalysis.xtend
new file mode 100644
index 00000000..395aba85
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/TypeAnalysis.xtend
@@ -0,0 +1,92 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra
2
3import org.eclipse.xtend.lib.annotations.Data
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
5import java.util.List
6import java.util.Map
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
9import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
10import org.eclipse.viatra.query.runtime.emf.EMFScope
11import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeConstructorMatcher
12import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeRefinementTargetMatcher
13import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeRefinementNegativeConstraintMatcher
14import java.util.ArrayList
15import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.DontHaveDefinedSupertypeMatcher
16import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
17import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
18import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementMayTypeNegativeConstraintMatcher
19
20@Data class TypeRefinementPrecondition {
21 Type targetType
22 List<? extends Type> inhibitorTypes
23}
24
25/**
26 * Collection of all possible element creation and type refinement rules for defined and undefined elements.
27 */
28@Data class TypeAnalysisResult {
29 /////////////////
30 // New elements
31 /////////////////
32 /**
33 * New elements can be created using with the following types.
34 */
35 List<? extends Type> possibleNewDynamicTypes
36 /**
37 * <b>(A,B)</b> in <b>possibleNewTypeRefinements</b>: a new element <b>x</b> can be refined to A <=> <b>x</b> has all types listed in B.
38 */
39 List<TypeRefinementPrecondition> possibleNewTypeRefinements
40 /**
41 * A new element may have type A if it already has types
42 */
43 Map<? extends Type,TypeRefinementPrecondition> mayNewTypePreconditions
44
45 /////////////////
46 // Old elements
47 /////////////////
48
49 /**
50 * <b>(A,B)</b> in <b>possibleNewTypeRefinements</b>: a new element <b>x</b> can be refined to A <=> <b>x</b> has all types listed in B.
51 */
52 Map<DefinedElement,TypeRefinementPrecondition> possibleOldTypeRefinements
53 /**
54 * A new element may have type A if it already has types
55 */
56 Map<? extends Type,Map<DefinedElement,TypeRefinementPrecondition>> mayOldTypePreconditions
57}
58
59class TypeAnalysis {
60
61 def TypeAnalysisResult performTypeAnalysis(LogicProblem problem, PartialInterpretation interpretation) {
62 val viatraEngine = ViatraQueryEngine.on(new EMFScope(problem))
63 val negativeMatcher = NewElementTypeRefinementNegativeConstraintMatcher.on(viatraEngine)
64
65 val possibleNewDynamicTypes = NewElementTypeConstructorMatcher.on(viatraEngine).allValuesOftype
66
67 val possibleNewTypeRefinementTargets = NewElementTypeRefinementTargetMatcher.on(viatraEngine).allValuesOfrefined
68 val possibleNewTypeRefinements = new ArrayList
69 for(possibleNewTypeRefinementTarget : possibleNewTypeRefinementTargets) {
70 val inhibitorTypes = negativeMatcher.getAllValuesOfinhibitor(possibleNewTypeRefinementTarget)
71 possibleNewTypeRefinements += new TypeRefinementPrecondition(
72 possibleNewTypeRefinementTarget,
73 inhibitorTypes.toList)
74 }
75
76 val possibleTypes = DontHaveDefinedSupertypeMatcher.on(viatraEngine).allValuesOftype
77 val newElementMayTypeMatcher = NewElementMayTypeNegativeConstraintMatcher.on(viatraEngine)
78
79 val mayNewTypePreconditions = possibleTypes.toInvertedMap[type |
80 val inhibitorTypes = newElementMayTypeMatcher.getAllValuesOfinhibitor(type as TypeDeclaration)
81 return new TypeRefinementPrecondition(type,inhibitorTypes.toList)
82 ]
83
84 return new TypeAnalysisResult(
85 possibleNewDynamicTypes.toList,
86 possibleNewTypeRefinements,
87 mayNewTypePreconditions,
88 emptyMap,
89 emptyMap
90 )
91 }
92} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/ContainmentIndexer.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/ContainmentIndexer.xtend
new file mode 100644
index 00000000..02e58c9b
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/ContainmentIndexer.xtend
@@ -0,0 +1,41 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
4import java.util.Collection
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
6import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery
7import java.util.Map
8import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality
9
10class ContainmentIndexer {
11 val PatternGenerator base;
12
13 new(PatternGenerator base) {
14 this.base = base
15 }
16
17 def isContainmentRelation(Relation relation, LogicProblem problem) {
18 problem.containmentHierarchies.exists[it.containmentRelations.contains(relation)]
19 }
20
21 def transformContainment(LogicProblem problem, Collection<Relation> relations,Map<String,PQuery> fqn2PQuery)
22 '''
23 private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
24 find mustContains4(_,_,source,target);
25 }
26
27 private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
28 source: DefinedElement, target: DefinedElement)
29 «FOR reference : relations.filter[isContainmentRelation(problem)] SEPARATOR 'or\n'»
30 { «base.referRelation(reference,"source","target",Modality.MUST,fqn2PQuery)» }
31 «ENDFOR»
32
33 private pattern mustTransitiveContains(source,target) {
34 find mustContains2+(source,target);
35 }
36 '''
37 def referMustContaint(String source, String target)
38 '''find mustContains4(problem,interpretation,«source»,«target»);'''
39 def referTransitiveMustContains(String source, String target)
40 '''find mustTransitiveContains(source,target);'''
41}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend
new file mode 100644
index 00000000..fbbd9fb5
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend
@@ -0,0 +1,194 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
5import org.eclipse.emf.ecore.EClass
6import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
8import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeAnalysisResult
9
10class GenericTypeIndexer implements TypeIndexer {
11 val PatternGenerator base;
12
13 new(PatternGenerator base) {
14 this.base = base
15 }
16 override requiresTypeAnalysis() { false }
17
18 public override getRequiredQueries() '''
19 private pattern newELement(interpretation: PartialInterpretation, element: DefinedElement) {
20 PartialInterpretation.newElements(interpretation,element);
21 }
22
23 private pattern typeInterpretation(problem:LogicProblem, interpetation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialTypeInterpratation) {
24 find interpretation(problem,interpetation);
25 LogicProblem.types(problem,type);
26 PartialInterpretation.partialtypeinterpratation(interpetation,typeInterpretation);
27 PartialTypeInterpratation.interpretationOf(typeInterpretation,type);
28 }
29
30 private pattern directInstanceOf(problem:LogicProblem, interpetation:PartialInterpretation, element:DefinedElement, type:Type) {
31 find interpretation(problem,interpetation);
32 find mustExist(problem,interpetation,element);
33 LogicProblem.types(problem,type);
34 TypeDefinition.elements(type,element);
35 } or {
36 find mustExist(problem,interpetation,element);
37 find typeInterpretation(problem,interpetation,type,typeInterpretation);
38 PartialTypeInterpratation.elements(typeInterpretation,element);
39 }
40
41 /**
42 * Direct supertypes of a type.
43 */
44 private pattern supertypeDirect(subtype : Type, supertype : Type) {
45 Type.supertypes(subtype, supertype);
46 }
47
48 /**
49 * All supertypes of a type.
50 */
51 private pattern supertypeStar(subtype: Type, supertype: Type) {
52 subtype == supertype;
53 } or {
54 find supertypeDirect+(subtype,supertype);
55 }
56
57 /// Complex type reasoning patterns ///
58 //
59 // In a valid type system, for each element e there is exactly one type T where
60 // 1: T(e) - but we dont know this for type declaration
61 // 2: For the dynamic type D and another type T, where D(e) && D-->T, T(e) is true.
62 // 2e: A type hierarchy is invalid, if there is a supertype T for a dynamic type D which does no contains e:
63 // D(e) && D-->T && !T(e)
64 // 3: There is no T' that T'->T and T'(e)
65 // 3e: A type hierarcy is invalid, if there is a type T for a dynamic type D, which contains e, but not subtype of T:
66 // D(e) && ![T--->D] && T(e)
67 // 4: T is not abstract
68 // Such type T is called Dynamic type of e, while other types are called static types.
69 //
70 // The following patterns checks the possible dynamic types for an element
71
72 private pattern wellformedType(problem: LogicProblem, interpretation:PartialInterpretation, dynamic:Type, element:DefinedElement) {
73 // 1: T(e)
74 find directInstanceOf(problem,interpretation,element,dynamic);
75 // 2e is not true: D(e) && D-->T && !T(e)
76 neg find dynamicTypeNotSubtypeOfADefinition(problem,interpretation,element,dynamic);
77 // 3e is not true: D(e) && ![T--->D] && T(e)
78 neg find dynamicTypeIsSubtypeOfANonDefinition(problem,interpretation,element,dynamic);
79 // 4: T is not abstract
80 Type.isAbstract(dynamic,false);
81 }
82
83 private pattern possibleDynamicType(problem: LogicProblem, interpretation:PartialInterpretation, dynamic:Type, element:DefinedElement)
84 // case 1: element is defined at least once
85 {
86 LogicProblem.types(problem,dynamic);
87 // select a random definition 'randomType'
88 find directInstanceOf(problem,interpretation,element,randomType);
89 // dynamic is a subtype of 'randomType'
90 find supertypeStar(dynamic,randomType);
91 // 2e is not true: D(e) && D-->T && !T(e)
92 neg find dynamicTypeNotSubtypeOfADefinition(problem,interpretation,element,dynamic);
93 // 3e is not true: D(e) && ![T--->D] && T(e)
94 neg find dynamicTypeIsSubtypeOfANonDefinition(problem,interpretation,element,dynamic);
95 // 4: T is not abstract
96 Type.isAbstract(dynamic,false);
97 } or
98 // case 2: element is not defined anywhere
99 {
100 find mayExist(problem,interpretation,element);
101 // there is no definition
102 neg find directInstanceOf(problem,interpretation,element,_);
103 // 2e is not true: D(e) && D-->T && !T(e)
104 // because non of the definition contains element, the type cannot have defined supertype
105 LogicProblem.types(problem,dynamic);
106 PartialInterpretation.problem(interpretation,problem);
107 neg find typeWithDefinedSupertype(dynamic);
108 // 3e is not true: D(e) && ![T--->D] && T(e)
109 // because there is no definition, dynamic covers all definition
110 // 4: T is not abstract
111 Type.isAbstract(dynamic,false);
112 }
113
114 /**
115 * supertype -------> element <------- otherSupertype
116 * A A
117 * | |
118 * wrongDynamic -----------------------------X
119 */
120 private pattern dynamicTypeNotSubtypeOfADefinition(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, wrongDynamic : Type) {
121 find directInstanceOf(problem,interpretation,element,supertype);
122 find directInstanceOf(problem,interpretation,element,otherSupertype);
123 find supertypeStar(wrongDynamic,supertype);
124 neg find supertypeStar(wrongDynamic,otherSupertype);
125 }
126
127 /**
128 * supertype -------> element <---X--- otherSupertype
129 * A A
130 * | |
131 * wrongDynamic -----------------------------+
132 */
133 private pattern dynamicTypeIsSubtypeOfANonDefinition(problem: LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, wrongDynamic:Type) {
134 find directInstanceOf(problem,interpretation,element,supertype);
135 neg find elementInTypeDefinition(element,otherSupertype);
136 TypeDefinition(otherSupertype);
137 find supertypeStar(wrongDynamic, supertype);
138 find supertypeStar(wrongDynamic, otherSupertype);
139 }
140
141 private pattern elementInTypeDefinition(element:DefinedElement, definition:TypeDefinition) {
142 TypeDefinition.elements(definition,element);
143 }
144
145 private pattern typeWithDefinedSupertype(type:Type) {
146 find supertypeStar(type,definedSupertype);
147 TypeDefinition(definedSupertype);
148 }
149 '''
150
151 public override generateInstanceOfQueries(LogicProblem problem, PartialInterpretation emptySolution,TypeAnalysisResult typeAnalysisResult) {
152 '''
153 «FOR type:problem.types»
154 «problem.generateMustInstenceOf(type)»
155 «problem.generateMayInstanceOf(type)»
156 «ENDFOR»
157 '''
158 }
159
160 private def patternName(Type type, Modality modality)
161 '''«modality.toString.toLowerCase»InstanceOf«base.canonizeName(type.name)»'''
162
163 private def generateMustInstenceOf(LogicProblem problem, Type type) {
164 '''
165 /**
166 * An element must be an instance of type "«type.name»".
167 */
168 private pattern «patternName(type,Modality.MUST)»(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
169 Type.name(type,"«type.name»");
170 find directInstanceOf(problem,interpretation,element,type);
171 }
172 '''
173 }
174
175 private def generateMayInstanceOf(LogicProblem problem, Type type) {
176 '''
177 /**
178 * An element may be an instance of type "«type.name»".
179 */
180 private pattern «patternName(type,Modality.MAY)»(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
181 Type.name(type,"«type.name»");
182 find possibleDynamicType(problem,interpretation,dynamic,element);
183 find supertypeStar(dynamic,type);
184 }
185 '''
186 }
187
188 public override referInstanceOf(Type type, Modality modality, String variableName) {
189 '''find «patternName(type,modality)»(problem,interpretation,«variableName»);'''
190 }
191 public override referInstanceOf(EClass type, Modality modality, String variableName) {
192 '''find «modality.toString.toLowerCase»InstanceOf«base.canonizeName('''class «type.name»''')»(problem,interpretation,«variableName»);'''
193 }
194} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeRefinementGenerator.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeRefinementGenerator.xtend
new file mode 100644
index 00000000..4b7af959
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeRefinementGenerator.xtend
@@ -0,0 +1,102 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns
2
3import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
8import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality
9import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeAnalysisResult
10import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
11import java.util.HashMap
12
13class GenericTypeRefinementGenerator extends TypeRefinementGenerator {
14 public new(PatternGenerator base) {
15 super(base)
16 }
17 override requiresTypeAnalysis() { false }
18
19 override generateRefineObjectQueries(LogicProblem p, PartialInterpretation emptySolution, TypeAnalysisResult typeAnalysisResult) {
20 val containment = p.containmentHierarchies.head
21 val newObjectTypes = p.types.filter(TypeDeclaration).filter[!isAbstract]
22 val inverseRelations = new HashMap
23 p.annotations.filter(InverseRelationAssertion).forEach[
24 inverseRelations.put(it.inverseA,it.inverseB)
25 inverseRelations.put(it.inverseB,it.inverseA)
26 ]
27 return '''
28 «FOR type:newObjectTypes»
29 «IF(containment.typesOrderedInHierarchy.contains(type))»
30 «FOR containmentRelation : containment.containmentRelations.filter[canBeContainedByRelation(it,type)]»
31 «IF inverseRelations.containsKey(containmentRelation)»
32 pattern «this.patternName(containmentRelation,inverseRelations.get(containmentRelation),type)»(
33 problem:LogicProblem, interpretation:PartialInterpretation,
34 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation ,typeInterpretation:PartialTypeInterpratation,
35 container:DefinedElement)
36 {
37 find interpretation(problem,interpretation);
38 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
39 PartialTypeInterpratation.interpretationOf.name(typeInterpretation,"«type.name»");
40 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
41 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"«containmentRelation.name»");
42 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
43 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"«inverseRelations.get(containmentRelation).name»");
44 «base.typeIndexer.referInstanceOf((containmentRelation.parameters.get(0) as ComplexTypeReference).referred,Modality.MUST,"container")»
45 «base.typeIndexer.referInstanceOf(type,Modality.MAY,"newObject")»
46 «base.relationDeclarationIndexer.referRelation(containmentRelation as RelationDeclaration,"container","newObject",Modality.MAY)»
47 find mustExist(problem, interpretation, container);
48 neg find mustExist(problem, interpretation, newObject);
49 }
50 «ELSE»
51 pattern «this.patternName(containmentRelation,null,type)»(
52 problem:LogicProblem, interpretation:PartialInterpretation,
53 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialTypeInterpratation,
54 container:DefinedElement)
55 {
56 find interpretation(problem,interpretation);
57 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
58 PartialTypeInterpratation.interpretationOf.name(typeInterpretation,"«type.name»");
59 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
60 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"«containmentRelation.name»");
61 «base.typeIndexer.referInstanceOf((containmentRelation.parameters.get(0) as ComplexTypeReference).referred,Modality.MUST,"container")»
62 «base.typeIndexer.referInstanceOf(type,Modality.MAY,"newObject")»
63 «base.relationDeclarationIndexer.referRelation(containmentRelation as RelationDeclaration,"container","newObject",Modality.MAY)»
64 find mustExist(problem, interpretation, container);
65 neg find mustExist(problem, interpretation, newObject);
66 }
67 «ENDIF»
68 «ENDFOR»
69 «ELSE»
70 pattern createObject_«this.patternName(null,null,type)»(
71 problem:LogicProblem, interpretation:PartialInterpretation,
72 typeInterpretation:PartialTypeInterpratation)
73 {
74 find interpretation(problem,interpretation);
75 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
76 PartialTypeInterpratation.interpretationOf.name(type,"«type.name»");
77 «base.typeIndexer.referInstanceOf(type,Modality.MAY,"newObject")»
78 find mayExist(problem, interpretation, newObject);
79 neg find mustExist(problem, interpretation, newObject);
80 }
81 «ENDIF»
82 «ENDFOR»
83 '''
84 }
85
86 override generateRefineTypeQueries(LogicProblem p, PartialInterpretation emptySolution, TypeAnalysisResult typeAnalysisResult) {
87 return '''
88 «FOR type : p.types.filter(TypeDeclaration).filter[!it.isAbstract]»
89 pattern refineTypeTo_«base.canonizeName(type.name)»(problem:LogicProblem, interpretation:PartialInterpretation, object: DefinedElement) {
90 find interpretation(problem,interpretation);
91 find mustExist(problem, interpretation, object);
92 «base.typeIndexer.referInstanceOf(type,Modality.MAY,"object")»
93 neg «base.typeIndexer.referInstanceOf(type,Modality.MUST,"object")»
94 }
95 «ENDFOR»
96 '''
97 }
98
99 override getRefineTypeQueryNames(LogicProblem p, PartialInterpretation emptySolution, TypeAnalysisResult typeAnalysisResult) {
100 p.types.filter(TypeDeclaration).toInvertedMap['''refineTypeTo_«base.canonizeName(it.name)»''']
101 }
102} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/InvalidIndexer.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/InvalidIndexer.xtend
new file mode 100644
index 00000000..d9ede2a8
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/InvalidIndexer.xtend
@@ -0,0 +1,53 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
4import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint
5import java.util.Map
6import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery
7
8import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.lookup
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
10import java.util.LinkedHashMap
11import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality
12
13class InvalidIndexer {
14 val PatternGenerator patternGenerator
15
16 public new(PatternGenerator patternGenerator) {
17 this.patternGenerator = patternGenerator
18 }
19
20 public def getWFQueryName(RelationDefinition query) '''invalidWFQuery_«patternGenerator.canonizeName(query.name)»'''
21
22 public def generateInvalidatedByWfQueries(LogicProblem problem, Map<String,PQuery> fqn2PQuery) {
23 val wfQueries = problem.assertions.map[it.annotations]
24 .flatten
25 .filter(TransformedViatraWellformednessConstraint)
26 .map[it.query]
27 '''
28 «FOR wfQuery: wfQueries»
29 pattern invalidatedBy_«patternGenerator.canonizeName(wfQuery.target.name)»(problem:LogicProblem, interpretation:PartialInterpretation,
30 «FOR param : wfQuery.patternFullyQualifiedName.lookup(fqn2PQuery).parameters SEPARATOR ', '»var_«param.name»«ENDFOR»)
31 {
32 «patternGenerator.relationDefinitionIndexer.referPattern(
33 wfQuery.patternFullyQualifiedName.lookup(fqn2PQuery),
34 wfQuery.patternFullyQualifiedName.lookup(fqn2PQuery).parameters.map['''var_«it.name»'''],
35 Modality.MUST,
36 true,false)»
37 }
38 «ENDFOR»
39 '''
40 }
41
42 public def getInvalidateByWfQueryNames(LogicProblem problem) {
43 val wfQueries = problem.assertions.map[it.annotations]
44 .flatten
45 .filter(TransformedViatraWellformednessConstraint)
46 .map[it.query]
47 val map = new LinkedHashMap
48 for(wfQuery : wfQueries) {
49 map.put(wfQuery.target, '''invalidatedBy_«patternGenerator.canonizeName(wfQuery.target.name)»''')
50 }
51 return map
52 }
53}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternGenerator.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternGenerator.xtend
new file mode 100644
index 00000000..291b605b
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternGenerator.xtend
@@ -0,0 +1,244 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
5import java.util.Map
6import org.eclipse.emf.ecore.EReference
7import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery
8import org.eclipse.xtend.lib.annotations.Accessors
9import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery
10import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
11import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
12import org.eclipse.emf.ecore.EAttribute
13import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality
14import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
15import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeInferenceMethod
16import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeAnalysisResult
17import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion
18import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint
19import java.util.HashMap
20import java.util.HashSet
21import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion
22import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
23import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature
24
25class PatternGenerator {
26 @Accessors(PUBLIC_GETTER) val TypeIndexer typeIndexer //= new TypeIndexer(this)
27 @Accessors(PUBLIC_GETTER) val RelationDeclarationIndexer relationDeclarationIndexer = new RelationDeclarationIndexer(this)
28 @Accessors(PUBLIC_GETTER) val RelationDefinitionIndexer relationDefinitionIndexer = new RelationDefinitionIndexer(this)
29 @Accessors(PUBLIC_GETTER) val ContainmentIndexer containmentIndexer = new ContainmentIndexer(this)
30 @Accessors(PUBLIC_GETTER) val InvalidIndexer invalidIndexer = new InvalidIndexer(this)
31 @Accessors(PUBLIC_GETTER) val UnfinishedIndexer unfinishedIndexer = new UnfinishedIndexer(this)
32 @Accessors(PUBLIC_GETTER) val TypeRefinementGenerator typeRefinementGenerator //= new RefinementGenerator(this)
33 @Accessors(PUBLIC_GETTER) val RelationRefinementGenerator relationRefinementGenerator = new RelationRefinementGenerator(this)
34
35 public new(TypeInferenceMethod typeInferenceMethod) {
36 if(typeInferenceMethod == TypeInferenceMethod.Generic) {
37 this.typeIndexer = new GenericTypeIndexer(this)
38 this.typeRefinementGenerator = new GenericTypeRefinementGenerator(this)
39 } else if(typeInferenceMethod == TypeInferenceMethod.PreliminaryAnalysis) {
40 this.typeIndexer = new TypeIndexerWithPreliminaryTypeAnalysis(this)
41 this.typeRefinementGenerator = new TypeRefinementWithPreliminaryTypeAnalysis(this)
42 } else {
43 this.typeIndexer = null
44 this.typeRefinementGenerator = null
45 throw new IllegalArgumentException('''Unknown type indexing technique : «typeInferenceMethod.name»''')
46 }
47 }
48
49 public def requiresTypeAnalysis() {
50 typeIndexer.requiresTypeAnalysis || typeRefinementGenerator.requiresTypeAnalysis
51 }
52
53 public dispatch def referRelation(
54 RelationDeclaration referred,
55 String sourceVariable,
56 String targetVariable,
57 Modality modality,
58 Map<String,PQuery> fqn2PQuery)
59 {
60 return this.relationDeclarationIndexer.referRelation(referred,sourceVariable,targetVariable,modality)
61 }
62 public dispatch def referRelation(
63 RelationDefinition referred,
64 String sourceVariable,
65 String targetVariable,
66 Modality modality,
67 Map<String,PQuery> fqn2PQuery)
68 {
69 val pattern = referred.annotations.filter(TransfomedViatraQuery).head.patternFullyQualifiedName.lookup(fqn2PQuery)
70 return this.relationDefinitionIndexer.referPattern(pattern,#[sourceVariable,targetVariable],modality,true,false)
71 }
72
73 def public referRelationByName(EReference reference,
74 String sourceVariable,
75 String targetVariable,
76 Modality modality)
77 {
78 '''find «modality.name.toLowerCase»InRelation«canonizeName('''inreference «reference.name» «reference.EContainingClass.name»''')
79 »(problem,interpretation,«sourceVariable»,«targetVariable»);'''
80 }
81
82 def public CharSequence referAttributeByName(EAttribute attribute,
83 String sourceVariable,
84 String targetVariable,
85 Modality modality)
86 {
87 throw new UnsupportedOperationException
88 }
89
90 public def canonizeName(String name) {
91 name.split(' ').join('_')
92 }
93
94 public def lowerMultiplicities(LogicProblem problem) {
95 problem.assertions.map[annotations].flatten.filter(LowerMultiplicityAssertion).filter[!it.relation.isDerived]
96 }
97 public def wfQueries(LogicProblem problem) {
98 problem.assertions.map[it.annotations]
99 .flatten
100 .filter(TransformedViatraWellformednessConstraint)
101 .map[it.query]
102 }
103 public def getContainments(LogicProblem p) {
104 return p.containmentHierarchies.head.containmentRelations
105 }
106 public def getInverseRelations(LogicProblem p) {
107 val inverseRelations = new HashMap
108 p.annotations.filter(InverseRelationAssertion).forEach[
109 inverseRelations.put(it.inverseA,it.inverseB)
110 inverseRelations.put(it.inverseB,it.inverseA)
111 ]
112 return inverseRelations
113 }
114 public def isRepresentative(Relation relation, Relation inverse) {
115 if(inverse == null) {
116 return true
117 } else {
118 relation.name.compareTo(inverse.name)<1
119 }
120 }
121
122 public def isDerived(Relation relation) {
123 relation.annotations.exists[it instanceof DefinedByDerivedFeature]
124 }
125 public def getDerivedDefinition(RelationDeclaration relation) {
126 relation.annotations.filter(DefinedByDerivedFeature).head.query
127 }
128
129 public def transformBaseProperties(
130 LogicProblem problem,
131 PartialInterpretation emptySolution,
132 Map<String,PQuery> fqn2PQuery,
133 TypeAnalysisResult typeAnalysisResult
134 ) {
135
136 return '''
137 import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
138 import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
139 import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
140
141 //////////
142 // 0. Util
143 //////////
144 private pattern interpretation(problem:LogicProblem, interpetation:PartialInterpretation) {
145 PartialInterpretation.problem(interpetation,problem);
146 }
147
148 /////////////////////////
149 // 0.1 Existance
150 /////////////////////////
151 private pattern mustExist(problem:LogicProblem, interpetation:PartialInterpretation, element:DefinedElement) {
152 find interpretation(problem,interpetation);
153 LogicProblem.elements(problem,element);
154 } or {
155 find interpretation(problem,interpetation);
156 PartialInterpretation.newElements(interpetation,element);
157 }
158
159 private pattern mayExist(problem:LogicProblem, interpetation:PartialInterpretation, element:DefinedElement) {
160 find mustExist(problem,interpetation,element);
161 } or {
162 find interpretation(problem,interpetation);
163 neg find closeWorld(interpetation);
164 PartialInterpretation.openWorldElementPrototype(interpetation,element);
165 }
166
167 private pattern closeWorld(interpetation:PartialInterpretation) {
168 PartialInterpretation.maxNewElements(interpetation,0);
169 }
170
171 ////////////////////////
172 // 0.2 Equivalence
173 ////////////////////////
174 pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
175 find mayExist(problem,interpretation,a);
176 find mayExist(problem,interpretation,b);
177 a == b;
178 }
179
180 ////////////////////////
181 // 0.3 Required Patterns by TypeIndexer
182 ////////////////////////
183 «typeIndexer.requiredQueries»
184
185 //////////
186 // 1. Problem-Specific Base Indexers
187 //////////
188 // 1.1 Type Indexers
189 //////////
190 «typeIndexer.generateInstanceOfQueries(problem,emptySolution,typeAnalysisResult)»
191
192 //////////
193 // 1.2 Relation Declaration Indexers
194 //////////
195 «relationDeclarationIndexer.generateRelationIndexers(problem,problem.relations.filter(RelationDeclaration),fqn2PQuery)»
196
197 //////////
198 // 1.3 Relation Definition Indexers
199 //////////
200 «relationDefinitionIndexer.generateRelationDefinitions(problem,problem.relations.filter(RelationDefinition),fqn2PQuery)»
201
202 //////////
203 // 1.4 Containment Indexer
204 //////////
205 «containmentIndexer.transformContainment(problem,problem.relations,fqn2PQuery)»
206
207 //////////
208 // 2. Invalidation Indexers
209 //////////
210 // 2.1 Invalidated by WF Queries
211 //////////
212 «invalidIndexer.generateInvalidatedByWfQueries(problem,fqn2PQuery)»
213
214 //////////
215 // 3. Unfinishedness Indexers
216 //////////
217 // 3.1 Unfinishedness Measured by Multiplicity
218 //////////
219 «unfinishedIndexer.generateUnfinishedMultiplicityQueries(problem,fqn2PQuery)»
220
221 //////////
222 // 3.2 Unfinishedness Measured by WF Queries
223 //////////
224 «unfinishedIndexer.generateUnfinishedWfQueries(problem,fqn2PQuery)»
225
226 //////////
227 // 4. Refinement Indexers
228 //////////
229 // 4.1 Object constructors
230 //////////
231 «typeRefinementGenerator.generateRefineObjectQueries(problem,emptySolution,typeAnalysisResult)»
232
233 //////////
234 // 4.2 Type refinement
235 //////////
236 «typeRefinementGenerator.generateRefineTypeQueries(problem,emptySolution,typeAnalysisResult)»
237
238 //////////
239 // 4.3 Relation refinement
240 //////////
241 «relationRefinementGenerator.generateRefineReference(problem)»
242 '''
243 }
244}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternProvider.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternProvider.xtend
new file mode 100644
index 00000000..dac5630b
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternProvider.xtend
@@ -0,0 +1,96 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
6import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
7import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationStatistics
8import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeAnalysis
9import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeAnalysisResult
10import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeInferenceMethod
11import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.util.ParseUtil
12import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
13import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
14import java.util.Map
15import org.eclipse.viatra.query.runtime.api.IPatternMatch
16import org.eclipse.viatra.query.runtime.api.IQuerySpecification
17import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher
18import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery
19import org.eclipse.xtend.lib.annotations.Data
20
21import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
22
23@Data class GeneratedPatterns {
24 public Map<Relation, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> invalidWFQueries
25 public Map<Relation, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> unfinishedWFQueries
26 public Map<Relation, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> unfinishedMulticiplicityQueries
27 public Map<ObjectCreationPrecondition, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> refineObjectQueries
28 public Map<? extends Type, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> refineTypeQueries
29 public Map<Pair<RelationDeclaration, Relation>, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> refinerelationQueries
30}
31
32class PatternProvider {
33 val ParseUtil parseUtil = new ParseUtil
34 val TypeAnalysis typeAnalysis = new TypeAnalysis
35
36 public def generateQueries(
37 LogicProblem problem,
38 PartialInterpretation emptySolution,
39 ModelGenerationStatistics statistics,
40 Iterable<PQuery> existingQueries,
41 ReasonerWorkspace workspace,
42 TypeInferenceMethod typeInferenceMethod
43 ) {
44 val fqn2Query = existingQueries.toMap[it.fullyQualifiedName]
45 val PatternGenerator patternGenerator = new PatternGenerator(typeInferenceMethod)
46 val typeAnalysisResult = if(patternGenerator.requiresTypeAnalysis) {
47 val startTime = System.nanoTime
48 val result = typeAnalysis.performTypeAnalysis(problem,emptySolution)
49 val typeAnalysisTime = System.nanoTime - startTime
50 statistics.PreliminaryTypeAnalisisTime = typeAnalysisTime
51 result
52 } else {
53 null
54 }
55 val baseIndexerFile = patternGenerator.transformBaseProperties(problem,emptySolution,fqn2Query,typeAnalysisResult)
56 writeQueries(baseIndexerFile,"GeneratedQueries",workspace)
57 val generatedQueries = parseUtil.parse(baseIndexerFile)
58 val runtimeQueries = calclulateRuntimeQueries(patternGenerator,problem,emptySolution,typeAnalysisResult,generatedQueries);
59 return runtimeQueries
60 }
61
62 private def writeQueries(CharSequence content, String name,ReasonerWorkspace workspace) {
63 if(workspace!=null) {
64 workspace.writeText('''«name».vql_deactivated''',content)
65 }
66 }
67
68 private def GeneratedPatterns calclulateRuntimeQueries(
69 PatternGenerator patternGenerator,
70 LogicProblem problem,
71 PartialInterpretation emptySolution,
72 TypeAnalysisResult typeAnalysisResult,
73 Map<String, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> queries
74 ) {
75 val Map<Relation, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>>
76 invalidWFQueries = patternGenerator.invalidIndexer.getInvalidateByWfQueryNames(problem).mapValues[it.lookup(queries)]
77 val Map<Relation, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>>
78 unfinishedWFQueries = patternGenerator.unfinishedIndexer.getUnfinishedWFQueryNames(problem).mapValues[it.lookup(queries)]
79 val Map<Relation, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>>
80 unfinishedMultiplicityQueries = patternGenerator.unfinishedIndexer.getUnfinishedMultiplicityQueries(problem).mapValues[it.lookup(queries)]
81 val Map<ObjectCreationPrecondition, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>>
82 refineObjectsQueries = patternGenerator.typeRefinementGenerator.getRefineObjectQueryNames(problem,emptySolution,typeAnalysisResult).mapValues[it.lookup(queries)]
83 val Map<? extends Type, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>>
84 refineTypeQueries = patternGenerator.typeRefinementGenerator.getRefineTypeQueryNames(problem,emptySolution,typeAnalysisResult).mapValues[it.lookup(queries)]
85 val Map<Pair<RelationDeclaration, Relation>, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>>
86 refineRelationQueries = patternGenerator.relationRefinementGenerator.getRefineRelationQueries(problem).mapValues[it.lookup(queries)]
87 return new GeneratedPatterns(
88 invalidWFQueries,
89 unfinishedWFQueries,
90 unfinishedMultiplicityQueries,
91 refineObjectsQueries,
92 refineTypeQueries,
93 refineRelationQueries
94 )
95 }
96}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RelationDeclarationIndexer.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RelationDeclarationIndexer.xtend
new file mode 100644
index 00000000..e6d92cc6
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RelationDeclarationIndexer.xtend
@@ -0,0 +1,154 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns
2
3import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
9import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality
10import java.util.HashMap
11import java.util.List
12import java.util.Map
13import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery
14
15import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
16
17class RelationDeclarationIndexer {
18 val PatternGenerator base;
19
20 new(PatternGenerator base) {
21 this.base = base
22 }
23
24 public def generateRelationIndexers(LogicProblem problem, Iterable<RelationDeclaration> relations, Map<String,PQuery> fqn2PQuery) {
25 val upperMultiplicities = new HashMap
26 problem.annotations.filter(UpperMultiplicityAssertion).forEach[
27 upperMultiplicities.put(it.relation,it.upper)
28 ]
29
30 return '''
31 «FOR relation : relations»
32 «IF base.isDerived(relation)»
33 «generateDerivedMustRelation(problem,relation,base.getDerivedDefinition(relation).patternFullyQualifiedName.lookup(fqn2PQuery))»
34 «generateDerivedMayRelation(problem,relation,base.getDerivedDefinition(relation).patternFullyQualifiedName.lookup(fqn2PQuery))»
35 «ELSE»
36 «generateMustRelation(problem,relation)»
37 «generateMayRelation(problem,relation,upperMultiplicities,base.getContainments(problem),base.getInverseRelations(problem),fqn2PQuery)»
38 «ENDIF»
39 «ENDFOR»
40 '''
41 }
42
43 def private patternName(RelationDeclaration r, Modality modality) {
44 '''«modality.name.toLowerCase»InRelation«base.canonizeName(r.name)»'''
45 }
46
47 public def referRelation(
48 RelationDeclaration referred,
49 String sourceVariable,
50 String targetVariable,
51 Modality modality)
52 '''find «referred.patternName(modality)»(problem,interpretation,«sourceVariable»,«targetVariable»);'''
53
54 def generateMustRelation(LogicProblem problem, RelationDeclaration relation) '''
55 /**
56 * Matcher for detecting tuples t where []«relation.name»(source,target)
57 */
58 private pattern «relation.patternName(Modality.MUST)»(
59 problem:LogicProblem, interpretation:PartialInterpretation,
60 source: DefinedElement, target:DefinedElement)
61 {
62 find interpretation(problem,interpretation);
63 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
64 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"«relation.name»");
65 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
66 BinaryElementRelationLink.param1(link,source);
67 BinaryElementRelationLink.param2(link,target);
68 }
69 '''
70 def generateMayRelation(LogicProblem problem, RelationDeclaration relation,
71 Map<Relation, Integer> upperMultiplicities,
72 List<Relation> containments,
73 HashMap<Relation, Relation> inverseRelations,
74 Map<String,PQuery> fqn2PQuery)
75 {
76 return '''
77 /**
78 * Matcher for detecting tuples t where <>«relation.name»(source,target)
79 */
80 private pattern «relation.patternName(Modality.MAY)»(
81 problem:LogicProblem, interpretation:PartialInterpretation,
82 source: DefinedElement, target:DefinedElement)
83 {
84 find interpretation(problem,interpretation);
85 // The two endpoint of the link have to exist
86 find mayExist(problem, interpretation, source);
87 find mayExist(problem, interpretation, target);
88 // Type consistency
89 «transformTypeConsistency(relation.parameters.get(0),"source")»
90 «transformTypeConsistency(relation.parameters.get(1),"target")»
91 «IF upperMultiplicities.containsKey(relation)»
92 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
93 // the upper bound of the multiplicity should be considered.
94 numberOfExistingReferences == count «referRelation(relation,"source","_",Modality.MUST)»
95 check(numberOfExistingReferences < «upperMultiplicities.get(relation)»);
96 «ENDIF»
97 «IF inverseRelations.containsKey(relation) && upperMultiplicities.containsKey(inverseRelations.get(relation))»
98 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
99 // the upper bound of the opposite reference multiplicity should be considered.
100 numberOfExistingOppositeReferences == count «base.referRelation(inverseRelations.get(relation),"target","_",Modality.MUST,fqn2PQuery)»
101 check(numberOfExistingOppositeReferences < «upperMultiplicities.get(inverseRelations.get(relation))»);
102 «ENDIF»
103 «IF containments.contains(relation)»
104 // The reference is containment, then a new reference cannot be create if:
105 // 1. Multiple parents
106 neg «base.containmentIndexer.referMustContaint("_","target")»
107 // 2. Circle in the containment hierarchy
108 neg «base.containmentIndexer.referTransitiveMustContains("target","source")»
109 «ENDIF»
110 «IF inverseRelations.containsKey(relation) && containments.contains(inverseRelations.get(relation))»
111 // The eOpposite of the reference is containment, then a referene cannot be created if
112 // 1. Multiple parents
113 neg «base.containmentIndexer.referMustContaint("source","_")»
114 // 2. Circle in the containment hierarchy
115 neg «base.containmentIndexer.referTransitiveMustContains("source","target")»
116 «ENDIF»
117 } or {
118 «relation.referRelation("source","target",Modality.MUST)»
119 }
120 '''
121 }
122
123 def generateDerivedMustRelation(LogicProblem problem, RelationDeclaration relation, PQuery definition) '''
124 /**
125 * Matcher for detecting tuples t where []«relation.name»(source,target)
126 */
127 private pattern «relation.patternName(Modality.MUST)»(
128 problem:LogicProblem, interpretation:PartialInterpretation,
129 source: DefinedElement, target:DefinedElement)
130 {
131 «base.relationDefinitionIndexer.referPattern(definition,#["source","target"],Modality::MUST,true,false)»
132 }
133 '''
134 def generateDerivedMayRelation(LogicProblem problem, RelationDeclaration relation, PQuery definition) '''
135 /**
136 * Matcher for detecting tuples t where []«relation.name»(source,target)
137 */
138 private pattern «relation.patternName(Modality.MAY)»(
139 problem:LogicProblem, interpretation:PartialInterpretation,
140 source: DefinedElement, target:DefinedElement)
141 {
142 «base.relationDefinitionIndexer.referPattern(definition,#["source","target"],Modality::MAY,true,false)»
143 }
144 '''
145
146 protected def CharSequence transformTypeConsistency(TypeReference reference, String name) {
147 if(reference instanceof ComplexTypeReference) {
148 this.base.typeIndexer.referInstanceOf(reference.referred,Modality.MAY,name)
149 } else {
150 return '''// Primitive type of «name» is already enforced'''
151 }
152
153 }
154} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RelationDefinitionIndexer.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RelationDefinitionIndexer.xtend
new file mode 100644
index 00000000..7792eccb
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RelationDefinitionIndexer.xtend
@@ -0,0 +1,185 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
4import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
5import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery
6import java.util.Map
7import org.eclipse.emf.ecore.EAttribute
8import org.eclipse.emf.ecore.EReference
9import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey
10import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey
11import org.eclipse.viatra.query.runtime.matchers.psystem.PConstraint
12import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable
13import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality
14import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter
15import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality
16import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall
17import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.BinaryTransitiveClosure
18import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue
19import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall
20import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint
21import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery
22
23import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
24import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey
25import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality
26
27class RelationDefinitionIndexer {
28 val PatternGenerator base;
29
30 new(PatternGenerator base) {
31 this.base = base
32 }
33
34 public def generateRelationDefinitions(
35 LogicProblem problem,
36 Iterable<RelationDefinition> relations,
37 Map<String,PQuery> fqn2PQuery) {
38 val relation2PQuery = relations.toInvertedMap[
39 annotations.filter(TransfomedViatraQuery).head.patternFullyQualifiedName.lookup(fqn2PQuery)
40 ]
41
42 return '''
43 «FOR relation : relations»
44 // Must, May and Current queries for «relation.name»
45 «relation.transformPattern(relation.lookup(relation2PQuery), Modality.MUST)»
46 «relation.transformPattern(relation.lookup(relation2PQuery), Modality.MAY)»
47 «relation.transformPattern(relation.lookup(relation2PQuery), Modality.CURRENT)»
48 «ENDFOR»
49 '''
50 }
51
52 private def relationDefinitionName(RelationDefinition relation, Modality modality)
53 '''«modality.name.toLowerCase»InRelation_«base.canonizeName(relation.name)»'''
54
55 private def canonizeName(PVariable v) {
56 return '''«IF v.referringConstraints.size == 1»_«ENDIF»var_«v.name.replaceAll("\\W","")»'''
57 }
58
59 private def transformPattern(RelationDefinition relation, PQuery p, Modality modality) {
60 try {
61 return '''
62 private pattern «relationDefinitionName(relation,modality)»(
63 problem:LogicProblem, interpretation:PartialInterpretation,
64 «FOR param : p.parameters SEPARATOR ', '»var_«param.name»«ENDFOR»)
65 «FOR body : p.disjunctBodies.bodies SEPARATOR "or"»{
66 find interpretation(problem,interpretation);
67 «FOR constraint : body.constraints»
68 «constraint.transformConstraint(modality)»
69 «ENDFOR»
70 }«ENDFOR»
71 '''
72 } catch(UnsupportedOperationException e) {
73 throw new UnsupportedOperationException('''Can not transform pattern "«p.fullyQualifiedName»"!''',e)
74 }
75 }
76
77 private def toMustMay(Modality modality) {
78 if(modality == Modality::MAY) return Modality::MAY
79 else return Modality::MUST
80 }
81
82 def public referPattern(PQuery p, String[] variables, Modality modality, boolean positive, boolean transitive) '''
83 «IF !positive»neg «ENDIF»find «modality.name.toLowerCase»InRelation_pattern_«p.fullyQualifiedName.replace('.','_')»«IF transitive»+«ENDIF»(problem,interpretation,«variables.join(',')»);
84 '''
85
86 private dispatch def transformConstraint(TypeConstraint constraint, Modality modality) {
87 val touple = constraint.variablesTuple
88 if(touple.size == 1) {
89 val inputKey = constraint.equivalentJudgement.inputKey
90 if(inputKey instanceof EClassTransitiveInstancesKey) {
91 return base.typeIndexer.referInstanceOf(inputKey.emfKey,modality.toMustMay,
92 constraint.getVariableInTuple(0).canonizeName)
93 } else if(inputKey instanceof EDataTypeInSlotsKey){
94 return '''// type constraint is enforced by construction'''
95 }
96
97 } else if(touple.size == 2){
98 val key = (constraint.equivalentJudgement.inputKey as EStructuralFeatureInstancesKey).emfKey
99 if(key instanceof EReference) {
100 return base.referRelationByName(
101 key,
102 constraint.getVariableInTuple(0).canonizeName,
103 constraint.getVariableInTuple(1).canonizeName,
104 modality.toMustMay)
105 } else if (key instanceof EAttribute) {
106 return '''// attribute reference omitted'''//base.referRelationByName()
107 } else throw new UnsupportedOperationException('''unknown key: «key.class»''')
108 } else {
109 throw new UnsupportedOperationException()
110 }
111 }
112
113 private dispatch def transformConstraint(Equality equality, Modality modality) {
114 val a = equality.who
115 val b = equality.withWhom
116 transformEquality(modality.toMustMay, a, b)
117 }
118
119 private def CharSequence transformEquality(Modality modality, PVariable a, PVariable b) {
120 if(modality.isMustOrCurrent) '''«a.canonizeName» == «b.canonizeName»;'''
121 else '''find mayEquivalent(problem, interpretation, «a.canonizeName», «b.canonizeName»);'''
122 }
123
124 private dispatch def transformConstraint(Inequality inequality, Modality modality) {
125 val a = inequality.who
126 val b = inequality.withWhom
127 if(modality.isCurrent) {
128 return '''«a.canonizeName» != «b.canonizeName»;'''
129 } else if(modality.isMust) {
130 return '''neg find mayEquivalent(problem, interpretation, «a.canonizeName», «b.canonizeName»);'''
131 } else {
132 return '''«a.canonizeName» != «b.canonizeName»;'''
133 }
134 }
135
136 private dispatch def transformConstraint(NegativePatternCall pcall, Modality modality) {
137 val params = (0..<pcall.actualParametersTuple.size).map[index |
138 val variable = pcall.actualParametersTuple.get(index) as PVariable
139 return variable.canonizeName
140 ]
141 return referPattern(pcall.referredQuery,params,modality.dual,false,false)
142 }
143
144 private dispatch def transformConstraint(PositivePatternCall pcall, Modality modality) {
145 val params = (0..<pcall.variablesTuple.size).map[index |
146 val variable = pcall.variablesTuple.get(index) as PVariable
147 return variable.canonizeName
148 ]
149 return referPattern(pcall.referredQuery,params,modality,true,false)
150 }
151 private dispatch def transformConstraint(BinaryTransitiveClosure pcall, Modality modality) {
152 val params = (0..1).map[index |
153 val variable = pcall.getVariableInTuple(index) as PVariable
154 return variable.canonizeName
155 ]
156 return referPattern(pcall.referredQuery,params,modality,true,true)
157 }
158 private dispatch def transformConstraint(ExportedParameter e, Modality modality) {
159 return '''// «e.parameterName» is exported'''
160 }
161 private dispatch def transformConstraint(ConstantValue c, Modality modality) {
162 val target = c.supplierKey
163
164 var String targetString;
165 var String additionalDefinition;
166 if(target instanceof Enum<?>) {
167 targetString = '''const_«target.name»_«target.declaringClass.simpleName»'''
168 additionalDefinition = '''DefinedElement.name(«targetString»,"«target.name» «target.declaringClass.simpleName»"); LogicProblem.elements(problem,«targetString»);'''
169 } else if(target instanceof Integer) {
170 targetString = target.toString
171 additionalDefinition = ''''''
172 } else throw new UnsupportedOperationException('''Unknown constant type: «target.class»''')
173
174 val source = c.variablesTuple
175 var String sourceName
176 if(source.size == 1)
177 sourceName = (source.get(0) as PVariable).canonizeName
178 else throw new UnsupportedOperationException("unknown source")
179 return '''«sourceName» == «targetString»;«additionalDefinition»''';
180 }
181
182 private dispatch def transformConstraint(PConstraint c, Modality modality) {
183 throw new UnsupportedOperationException('''Unknown constraint type: "«c.class.name»"!''')
184 }
185} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RelationRefinementGenerator.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RelationRefinementGenerator.xtend
new file mode 100644
index 00000000..7b175227
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RelationRefinementGenerator.xtend
@@ -0,0 +1,93 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
6import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality
7import java.util.LinkedList
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
9
10class RelationRefinementGenerator {
11 PatternGenerator base;
12 public new(PatternGenerator base) {
13 this.base = base
14 }
15
16 def CharSequence generateRefineReference(LogicProblem p) {
17 return '''
18 «FOR relationRefinement: this.getRelationRefinements(p)»
19 pattern «relationRefinementQueryName(relationRefinement.key,relationRefinement.value)»(
20 problem:LogicProblem, interpretation:PartialInterpretation,
21 relationIterpretation:PartialRelationInterpretation«IF relationRefinement.value != null», oppositeInterpretation:PartialRelationInterpretation«ENDIF»,
22 from: DefinedElement, to: DefinedElement)
23 {
24 find interpretation(problem,interpretation);
25 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
26 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"«relationRefinement.key.name»");
27 «IF relationRefinement.value != null»
28 PartialInterpretation.partialrelationinterpretation(interpretation,oppositeInterpretation);
29 PartialRelationInterpretation.interpretationOf.name(oppositeInterpretation,"«relationRefinement.value.name»");
30 «ENDIF»
31 find mustExist(problem, interpretation, from);
32 find mustExist(problem, interpretation, to);
33 «base.typeIndexer.referInstanceOf((relationRefinement.key.parameters.get(0) as ComplexTypeReference).referred, Modality::MUST,"from")»
34 «base.typeIndexer.referInstanceOf((relationRefinement.key.parameters.get(1) as ComplexTypeReference).referred, Modality::MUST,"to")»
35 «base.relationDeclarationIndexer.referRelation(relationRefinement.key,"from","to",Modality.MAY)»
36 neg «base.relationDeclarationIndexer.referRelation(relationRefinement.key,"from","to",Modality.MUST)»
37 }
38 «ENDFOR»
39 '''
40 }
41
42 def String relationRefinementQueryName(RelationDeclaration relation, Relation inverseRelation) {
43 '''«IF inverseRelation != null
44 »refineRelation_«base.canonizeName(relation.name)»_and_«base.canonizeName(inverseRelation.name)»«
45 ELSE
46 »refineRelation_«base.canonizeName(relation.name)»«ENDIF»'''
47 }
48
49 def referRefinementQuery(RelationDeclaration relation, Relation inverseRelation, String relInterpretationName,
50 String inverseInterpretationName, String sourceName, String targetName)
51 '''find «this.relationRefinementQueryName(relation,inverseRelation)»(problem, interpretation, «relInterpretationName», «IF inverseRelation != null»inverseInterpretationName, «ENDIF»«sourceName», «targetName»);'''
52
53 def getRefineRelationQueries(LogicProblem p) {
54// val containmentRelations = p.containmentHierarchies.map[containmentRelations].flatten.toSet
55// p.relations.filter(RelationDeclaration).filter[!containmentRelations.contains(it)].toInvertedMap['''refineRelation_«base.canonizeName(it.name)»''']
56 /*
57 val res = new LinkedHashMap
58 for(relation: getRelationRefinements(p)) {
59 if(inverseRelations.containsKey(relation)) {
60 val name = '''refineRelation_«base.canonizeName(relation.name)»_and_«base.canonizeName(inverseRelations.get(relation).name)»'''
61 res.put(relation -> inverseRelations.get(relation),name)
62 } else {
63 val name = '''refineRelation_«base.canonizeName(relation.name)»'''
64 res.put(relation -> null,name)
65 }
66 }
67 return res*/
68
69 getRelationRefinements(p).toInvertedMap[relationRefinementQueryName(it.key,it.value)]
70 }
71
72
73 def getRelationRefinements(LogicProblem p) {
74 val inverses = base.getInverseRelations(p)
75 val containments = base.getContainments(p)
76 val list = new LinkedList
77 for(relation : p.relations.filter(RelationDeclaration)) {
78 if(!containments.contains(relation)) {
79 if(inverses.containsKey(relation)) {
80 val inverse = inverses.get(relation)
81 if(!containments.contains(inverse)) {
82 if(base.isRepresentative(relation,inverse)) {
83 list += (relation -> inverse)
84 }
85 }
86 } else {
87 list += (relation -> null)
88 }
89 }
90 }
91 return list
92 }
93} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RepairGenerator.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RepairGenerator.xtend
new file mode 100644
index 00000000..30fe5878
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/RepairGenerator.xtend
@@ -0,0 +1,18 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
4
5class RepairGenerator {
6 val PatternGenerator base;
7 new(PatternGenerator base) {
8 this.base = base
9 }
10
11 def generateRepairUnfinishedMultiplicityPatterns(LogicProblem problem) {
12 //val refinements = base.relationRefinementGenerator.getRelationRefinements(problem)
13 //val unfinisedLowerMultiplicities = base.get
14 }
15 def getRepairUnfinishedMultiplicityPatterns() {
16
17 }
18} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexer.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexer.xtend
new file mode 100644
index 00000000..6c450664
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexer.xtend
@@ -0,0 +1,16 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
5import org.eclipse.emf.ecore.EClass
6import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
8import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeAnalysisResult
9
10interface TypeIndexer {
11 public def CharSequence getRequiredQueries()
12 public def boolean requiresTypeAnalysis()
13 public def CharSequence generateInstanceOfQueries(LogicProblem problem,PartialInterpretation emptySolution,TypeAnalysisResult typeAnalysisResult)
14 public def CharSequence referInstanceOf(Type type, Modality modality, String variableName)
15 public def CharSequence referInstanceOf(EClass type, Modality modality, String variableName)
16} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexerWithPreliminaryTypeAnalysis.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexerWithPreliminaryTypeAnalysis.xtend
new file mode 100644
index 00000000..3c49c323
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexerWithPreliminaryTypeAnalysis.xtend
@@ -0,0 +1,97 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
4import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
5import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality
6import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeAnalysisResult
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
8import org.eclipse.emf.ecore.EClass
9import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeRefinementPrecondition
10import java.util.Collections
11
12class TypeIndexerWithPreliminaryTypeAnalysis implements TypeIndexer{
13 val PatternGenerator base;
14
15 new(PatternGenerator base) {
16 this.base = base
17 }
18 override requiresTypeAnalysis() { true }
19
20 override getRequiredQueries() '''
21 private pattern typeInterpretation(problem:LogicProblem, interpetation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialTypeInterpratation) {
22 find interpretation(problem,interpetation);
23 LogicProblem.types(problem,type);
24 PartialInterpretation.partialtypeinterpratation(interpetation,typeInterpretation);
25 PartialTypeInterpratation.interpretationOf(typeInterpretation,type);
26 }
27
28 private pattern directInstanceOf(problem:LogicProblem, interpetation:PartialInterpretation, element:DefinedElement, type:Type) {
29 find interpretation(problem,interpetation);
30 LogicProblem.types(problem,type);
31 TypeDefinition.elements(type,element);
32 } or {
33 find interpretation(problem,interpetation);
34 find typeInterpretation(problem,interpetation,type,typeInterpretation);
35 PartialTypeInterpratation.elements(typeInterpretation,element);
36 }
37 '''
38
39 override generateInstanceOfQueries(LogicProblem problem, PartialInterpretation emptySolution, TypeAnalysisResult typeAnalysisResult) {
40 val mayNewTypePreconditions = typeAnalysisResult.mayNewTypePreconditions
41
42 return '''
43 «FOR type:problem.types»
44 «problem.generateMustInstenceOf(type)»
45 «problem.generateMayInstanceOf(type,mayNewTypePreconditions.get(type))»
46 «ENDFOR»
47 '''
48 }
49
50 private def patternName(Type type, Modality modality)
51 '''«modality.toString.toLowerCase»InstanceOf«base.canonizeName(type.name)»'''
52
53 private def generateMustInstenceOf(LogicProblem problem, Type type) {
54 '''
55 /**
56 * An element must be an instance of type "«type.name»".
57 */
58 private pattern «patternName(type,Modality.MUST)»(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
59 Type.name(type,"«type.name»");
60 find directInstanceOf(problem,interpretation,element,type);
61 }
62 '''
63 }
64
65 private def generateMayInstanceOf(LogicProblem problem, Type type, TypeRefinementPrecondition precondition) {
66 val inhibitorTypes = if(precondition!=null) {
67 precondition.inhibitorTypes
68 } else {
69 null
70 }
71 '''
72 /**
73 * An element may be an instance of type "«type.name»".
74 */
75 private pattern «patternName(type,Modality.MAY)»(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
76 «IF inhibitorTypes != null»{
77 find interpretation(problem,interpretation);
78 PartialInterpretation.newElements(interpretation,element);
79 «FOR inhibitorType : inhibitorTypes»
80 neg «referInstanceOf(inhibitorType,Modality.MUST,"element")»
81 «ENDFOR»
82 } or {
83 find interpretation(problem,interpretation);
84 PartialInterpretation.openWorldElementPrototype(interpetation,element);
85 } or
86 «ENDIF»
87 { «referInstanceOf(type,Modality.MUST,"element")» }
88 '''
89 }
90
91 public override referInstanceOf(Type type, Modality modality, String variableName) {
92 '''find «patternName(type,modality)»(problem,interpretation,«variableName»);'''
93 }
94 public override referInstanceOf(EClass type, Modality modality, String variableName) {
95 '''find «modality.toString.toLowerCase»InstanceOf«base.canonizeName('''class «type.name»''')»(problem,interpretation,«variableName»);'''
96 }
97} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeRefinementGenerator.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeRefinementGenerator.xtend
new file mode 100644
index 00000000..a9ce9d73
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeRefinementGenerator.xtend
@@ -0,0 +1,95 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
6import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeAnalysisResult
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
8import java.util.Map
9import org.eclipse.xtend.lib.annotations.Data
10import java.util.HashMap
11import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
13import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
14import java.util.LinkedHashMap
15import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
16import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy
17
18@Data
19class ObjectCreationPrecondition {
20 Relation containmentRelation
21 Relation inverseContainment
22 Type newType
23}
24
25abstract class TypeRefinementGenerator {
26 val protected PatternGenerator base;
27 public new(PatternGenerator base) {
28 this.base = base
29 }
30
31 public def boolean requiresTypeAnalysis()
32 public def CharSequence generateRefineObjectQueries(LogicProblem p, PartialInterpretation emptySolution, TypeAnalysisResult typeAnalysisResult)
33 public def CharSequence generateRefineTypeQueries(LogicProblem p, PartialInterpretation emptySolution, TypeAnalysisResult typeAnalysisResult)
34 public def Map<? extends Type, String> getRefineTypeQueryNames(LogicProblem p, PartialInterpretation emptySolution, TypeAnalysisResult typeAnalysisResult)
35
36 public def getRefineObjectQueryNames(LogicProblem p, PartialInterpretation emptySolution, TypeAnalysisResult typeAnalysisResult) {
37 val Map<ObjectCreationPrecondition,String> objectCreationQueries = new LinkedHashMap
38 val containment = p.containmentHierarchies.head
39 val inverseRelations = new HashMap
40 p.annotations.filter(InverseRelationAssertion).forEach[
41 inverseRelations.put(it.inverseA,it.inverseB)
42 inverseRelations.put(it.inverseB,it.inverseA)
43 ]
44 for(type: p.types.filter(TypeDeclaration).filter[!it.isAbstract]) {
45 if(containment.typeInContainment(type)) {
46 for(containmentRelation : containment.containmentRelations.filter[canBeContainedByRelation(it,type)]) {
47 if(inverseRelations.containsKey(containmentRelation)) {
48 objectCreationQueries.put(
49 new ObjectCreationPrecondition(containmentRelation,inverseRelations.get(containmentRelation),type),
50 this.patternName(containmentRelation,inverseRelations.get(containmentRelation),type))
51 } else {
52 objectCreationQueries.put(
53 new ObjectCreationPrecondition(containmentRelation,null,type),
54 patternName(containmentRelation,null,type))
55 }
56 }
57 } else {
58 objectCreationQueries.put(
59 new ObjectCreationPrecondition(null,null,type),
60 this.patternName(null,null,type))
61 }
62 }
63 return objectCreationQueries
64 }
65
66 protected def canBeContainedByRelation(Relation r, Type t) {
67 if(r.parameters.size==2) {
68 val param = r.parameters.get(1)
69 if(param instanceof ComplexTypeReference) {
70 val allSuperTypes = t.transitiveClosureStar[it.supertypes]
71 for(superType : allSuperTypes) {
72 if(param.referred == superType) return true
73 }
74 }
75 }
76 return false
77 }
78
79 private def typeInContainment(ContainmentHierarchy hierarchy, Type type) {
80 val allSuperTypes = type.transitiveClosureStar[it.supertypes]
81 return allSuperTypes.exists[hierarchy.typesOrderedInHierarchy.contains(it)]
82 }
83
84 protected def String patternName(Relation containmentRelation, Relation inverseContainment, Type newType) {
85 if(containmentRelation != null) {
86 if(inverseContainment != null) {
87 '''createObject_«base.canonizeName(newType.name)»_by_«base.canonizeName(containmentRelation.name)»_with_«base.canonizeName(inverseContainment.name)»'''
88 } else {
89 '''createObject_«base.canonizeName(newType.name)»_by_«base.canonizeName(containmentRelation.name)»'''
90 }
91 } else {
92 '''createObject_«base.canonizeName(newType.name)»'''
93 }
94 }
95} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeRefinementWithPreliminaryTypeAnalysis.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeRefinementWithPreliminaryTypeAnalysis.xtend
new file mode 100644
index 00000000..be54d63c
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeRefinementWithPreliminaryTypeAnalysis.xtend
@@ -0,0 +1,105 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns
2
3import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
6import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
7import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality
8import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeAnalysisResult
9import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
10import java.util.HashMap
11
12class TypeRefinementWithPreliminaryTypeAnalysis extends TypeRefinementGenerator{
13 public new(PatternGenerator base) {
14 super(base)
15 }
16 override requiresTypeAnalysis() { true }
17
18
19 override generateRefineObjectQueries(LogicProblem p, PartialInterpretation emptySolution, TypeAnalysisResult typeAnalysisResult) {
20 val possibleNewDynamicType = typeAnalysisResult.possibleNewDynamicTypes
21 val containment = p.containmentHierarchies.head
22 val inverseRelations = new HashMap
23 p.annotations.filter(InverseRelationAssertion).forEach[
24 inverseRelations.put(it.inverseA,it.inverseB)
25 inverseRelations.put(it.inverseB,it.inverseA)
26 ]
27 return '''
28 «FOR type:possibleNewDynamicType»
29 «IF(containment.typesOrderedInHierarchy.contains(type))»
30 «FOR containmentRelation : containment.containmentRelations.filter[canBeContainedByRelation(it,type)]»
31 «IF inverseRelations.containsKey(containmentRelation)»
32 pattern «this.patternName(containmentRelation,inverseRelations.get(containmentRelation),type)»(
33 problem:LogicProblem, interpretation:PartialInterpretation,
34 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialTypeInterpratation,
35 container:DefinedElement)
36 {
37 find interpretation(problem,interpretation);
38 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
39 PartialTypeInterpratation.interpretationOf.name(typeInterpretation,"«type.name»");
40 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
41 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"«containmentRelation.name»");
42 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
43 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"«inverseRelations.get(containmentRelation).name»");
44 «base.typeIndexer.referInstanceOf((containmentRelation.parameters.get(0) as ComplexTypeReference).referred,Modality.MUST,"container")»
45 «base.typeIndexer.referInstanceOf(type,Modality.MAY,"newObject")»
46 «base.relationDeclarationIndexer.referRelation(containmentRelation as RelationDeclaration,"container","newObject",Modality.MAY)»
47 find mustExist(problem, interpretation, container);
48 neg find mustExist(problem, interpretation, newObject);
49 }
50 «ELSE»
51 pattern «this.patternName(containmentRelation,null,type)»(
52 problem:LogicProblem, interpretation:PartialInterpretation,
53 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialTypeInterpratation,
54 container:DefinedElement)
55 {
56 find interpretation(problem,interpretation);
57 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
58 PartialTypeInterpratation.interpretationOf.name(typeInterpretation,"«type.name»");
59 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
60 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"«containmentRelation.name»");
61 «base.typeIndexer.referInstanceOf((containmentRelation.parameters.get(0) as ComplexTypeReference).referred,Modality.MUST,"container")»
62 «base.typeIndexer.referInstanceOf(type,Modality.MAY,"newObject")»
63 «base.relationDeclarationIndexer.referRelation(containmentRelation as RelationDeclaration,"container","newObject",Modality.MAY)»
64 find mustExist(problem, interpretation, container);
65 neg find mustExist(problem, interpretation, newObject);
66 }
67 «ENDIF»
68 «ENDFOR»
69 «ELSE»
70 pattern createObject_«base.canonizeName(type.name)»(
71 problem:LogicProblem, interpretation:PartialInterpretation,
72 typeInterpretation:PartialTypeInterpratation)
73 {
74 find interpretation(problem,interpretation);
75 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
76 PartialTypeInterpratation.interpretationOf.name(type,"«type.name»");
77 «base.typeIndexer.referInstanceOf(type,Modality.MAY,"newObject")»
78 find mayExist(problem, interpretation, newObject);
79 neg find mustExist(problem, interpretation, newObject);
80 }
81 «ENDIF»
82 «ENDFOR»
83 '''
84 }
85
86 override generateRefineTypeQueries(LogicProblem p, PartialInterpretation emptySolution, TypeAnalysisResult typeAnalysisResult) {
87 val newTypeRefinements = typeAnalysisResult.possibleNewTypeRefinements
88 return '''
89 «FOR newTypeRefinement : newTypeRefinements»
90 pattern refineTypeTo_«base.canonizeName(newTypeRefinement.targetType.name)»(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
91 find interpretation(problem,interpretation);
92 PartialInterpretation.newElements(interpretation,element);
93 «FOR inhibitorType : newTypeRefinement.inhibitorTypes»
94 neg «base.typeIndexer.referInstanceOf(inhibitorType,Modality.MUST,"element")»
95 «ENDFOR»
96 }
97 «ENDFOR»
98 '''
99 }
100
101 override getRefineTypeQueryNames(LogicProblem p, PartialInterpretation emptySolution, TypeAnalysisResult typeAnalysisResult) {
102 val newTypeRefinements = typeAnalysisResult.possibleNewTypeRefinements
103 newTypeRefinements.map[targetType].toInvertedMap['''refineTypeTo_«base.canonizeName(it.name)»''']
104 }
105} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/UnfinishedIndexer.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/UnfinishedIndexer.xtend
new file mode 100644
index 00000000..ad1c9033
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/UnfinishedIndexer.xtend
@@ -0,0 +1,85 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns
2
3import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion
4import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
5import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint
6import java.util.Map
7import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery
8
9import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
10import java.util.LinkedHashMap
11import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
13
14class UnfinishedIndexer {
15 val PatternGenerator base
16
17 new(PatternGenerator patternGenerator) {
18 this.base = patternGenerator
19 }
20
21 def generateUnfinishedWfQueries(LogicProblem problem, Map<String,PQuery> fqn2PQuery) {
22 val wfQueries = base.wfQueries(problem)
23 '''
24 «FOR wfQuery: wfQueries»
25 pattern unfinishedBy_«base.canonizeName(wfQuery.target.name)»(problem:LogicProblem, interpretation:PartialInterpretation,
26 «FOR param : wfQuery.patternFullyQualifiedName.lookup(fqn2PQuery).parameters SEPARATOR ', '»var_«param.name»«ENDFOR»)
27 {
28 «base.relationDefinitionIndexer.referPattern(
29 wfQuery.patternFullyQualifiedName.lookup(fqn2PQuery),
30 wfQuery.patternFullyQualifiedName.lookup(fqn2PQuery).parameters.map['''var_«it.name»'''],
31 Modality.CURRENT,
32 true,false)»
33 }
34 «ENDFOR»
35 '''
36 }
37 def getUnfinishedWFQueryNames(LogicProblem problem) {
38 val wfQueries = base.wfQueries(problem)
39 val map = new LinkedHashMap
40 for(wfQuery : wfQueries) {
41 map.put(wfQuery.target,'''unfinishedBy_«base.canonizeName(wfQuery.target.name)»''')
42 }
43 return map
44 }
45 def generateUnfinishedMultiplicityQueries(LogicProblem problem, Map<String,PQuery> fqn2PQuery) {
46 val lowerMultiplicities = base.lowerMultiplicities(problem)
47 return '''
48 «FOR lowerMultiplicity : lowerMultiplicities»
49 pattern «unfinishedMultiplicityName(lowerMultiplicity)»(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
50 find interpretation(problem,interpretation);
51 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
52 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"«lowerMultiplicity.relation.name»");
53 «base.typeIndexer.referInstanceOf(lowerMultiplicity.firstParamTypeOfRelation,Modality::MUST,"object")»
54 numberOfExistingReferences == count «base.referRelation(lowerMultiplicity.relation,"object","_",Modality.MUST,fqn2PQuery)»
55 check(numberOfExistingReferences < «lowerMultiplicity.lower»);
56 missingMultiplicity == eval(«lowerMultiplicity.lower»-numberOfExistingReferences);
57 }
58 «ENDFOR»
59 '''
60 }
61 def String unfinishedMultiplicityName(LowerMultiplicityAssertion lowerMultiplicityAssertion)
62 '''unfinishedLowerMultiplicity_«base.canonizeName(lowerMultiplicityAssertion.relation.name)»'''
63
64 def public referUnfinishedMultiplicityQuery(LowerMultiplicityAssertion lowerMultiplicityAssertion)
65 '''find «unfinishedMultiplicityName(lowerMultiplicityAssertion)»(problem, interpretation ,object, missingMultiplicity);'''
66
67 def getFirstParamTypeOfRelation(LowerMultiplicityAssertion lowerMultiplicityAssertion) {
68 val parameters = lowerMultiplicityAssertion.relation.parameters
69 if(parameters.size == 2) {
70 val firstParam = parameters.get(0)
71 if(firstParam instanceof ComplexTypeReference) {
72 return firstParam.referred
73 }
74 }
75 }
76
77 def getUnfinishedMultiplicityQueries(LogicProblem problem) {
78 val lowerMultiplicities = base.lowerMultiplicities(problem)
79 val map = new LinkedHashMap
80 for(lowerMultiplicity : lowerMultiplicities) {
81 map.put(lowerMultiplicity.relation,unfinishedMultiplicityName(lowerMultiplicity))
82 }
83 return map
84 }
85}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/GoalConstraintProvider.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/GoalConstraintProvider.xtend
new file mode 100644
index 00000000..e1be2742
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/GoalConstraintProvider.xtend
@@ -0,0 +1,18 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.rules
2
3import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.MultiplicityGoalConstraintCalculator
4import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns.GeneratedPatterns
5import java.util.ArrayList
6
7class GoalConstraintProvider {
8 def public getUnfinishedMultiplicityQueries(GeneratedPatterns patterns) {
9 val multiplicityQueries = patterns.unfinishedMulticiplicityQueries
10 val res = new ArrayList(multiplicityQueries.size)
11 for(multiplicityQuery : multiplicityQueries.entrySet) {
12 val targetRelationName = multiplicityQuery.key.name
13 val query = multiplicityQuery.value
14 res += new MultiplicityGoalConstraintCalculator(targetRelationName,query);
15 }
16 return res
17 }
18} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend
new file mode 100644
index 00000000..8b0f8f85
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend
@@ -0,0 +1,209 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.rules
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
9import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationStatistics
10import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns.GeneratedPatterns
11import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns.ObjectCreationPrecondition
12import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
13import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation
14import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation
15import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationFactory
16import java.util.LinkedHashMap
17import org.eclipse.viatra.query.runtime.api.GenericPatternMatch
18import org.eclipse.viatra.query.runtime.api.IQuerySpecification
19import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher
20import org.eclipse.viatra.transformation.runtime.emf.rules.batch.BatchTransformationRule
21import org.eclipse.viatra.transformation.runtime.emf.rules.batch.BatchTransformationRuleFactory
22
23class RefinementRuleProvider {
24 private extension BatchTransformationRuleFactory factory = new BatchTransformationRuleFactory
25 private extension PartialinterpretationFactory factory2 = PartialinterpretationFactory.eINSTANCE
26 private extension LogiclanguageFactory factory3 = LogiclanguageFactory.eINSTANCE
27
28 def canonizeName(String name) {
29 return name.replace(' ','_')
30 }
31
32 def LinkedHashMap<ObjectCreationPrecondition, BatchTransformationRule<GenericPatternMatch, ViatraQueryMatcher<GenericPatternMatch>>>
33 createObjectRefinementRules(
34 GeneratedPatterns patterns,
35 boolean nameNewElement,
36 ModelGenerationStatistics statistics
37 )
38 {
39 val res = new LinkedHashMap
40 for(LHSEntry: patterns.refineObjectQueries.entrySet) {
41 val containmentRelation = LHSEntry.key.containmentRelation
42 val inverseRelation = LHSEntry.key.inverseContainment
43 val type = LHSEntry.key.newType
44 val lhs = LHSEntry.value as IQuerySpecification<ViatraQueryMatcher<GenericPatternMatch>>
45 val rule = createObjectCreationRule(containmentRelation,inverseRelation,type,lhs,nameNewElement,statistics)
46 res.put(LHSEntry.key,rule)
47 }
48 return res
49 }
50
51 def private createObjectCreationRule(
52 Relation containmentRelation,
53 Relation inverseRelation,
54 Type type,
55 IQuerySpecification<ViatraQueryMatcher<GenericPatternMatch>> lhs,
56 boolean nameNewElement,
57 ModelGenerationStatistics statistics)
58 {
59 val name = '''addObject_«type.name.canonizeName»«
60 IF containmentRelation!=null»_by_«containmentRelation.name.canonizeName»«ENDIF»'''
61 val ruleBuilder = factory.createRule
62 .name(name)
63 .precondition(lhs)
64 if(containmentRelation != null) {
65 if(inverseRelation!= null) {
66 ruleBuilder.action[match |
67 //println(name)
68 val startTime = System.nanoTime
69 //val problem = match.get(0) as LogicProblem
70 val interpretation = match.get(1) as PartialInterpretation
71 val relationInterpretation = match.get(2) as PartialRelationInterpretation
72 val inverseRelationInterpretation = match.get(3) as PartialRelationInterpretation
73 val typeInterpretation = match.get(4) as PartialTypeInterpratation
74 val container = match.get(5) as DefinedElement
75
76 val newElement = createDefinedElement
77 if(nameNewElement) {
78 newElement.name = '''new «interpretation.newElements.size»'''
79 }
80
81 // Existence
82 interpretation.newElements+=newElement
83 interpretation.maxNewElements=interpretation.maxNewElements-1
84 if(interpretation.minNewElements > 0) {
85 interpretation.minNewElements=interpretation.minNewElements-1
86 }
87
88 // Types
89 typeInterpretation.elements += newElement
90 typeInterpretation.supertypeInterpretation.forEach[it.elements += newElement]
91 // ContainmentRelation
92 val newLink1 = factory2.createBinaryElementRelationLink => [it.param1 = container it.param2 = newElement]
93 relationInterpretation.relationlinks+=newLink1
94 // Inverse Containment
95 val newLink2 = factory2.createBinaryElementRelationLink => [it.param1 = newElement it.param2 = container]
96 inverseRelationInterpretation.relationlinks+=newLink2
97 statistics.addExecutionTime(System.nanoTime-startTime)
98 ]
99 } else {
100 ruleBuilder.action[match |
101 //println(name)
102 val startTime = System.nanoTime
103 //val problem = match.get(0) as LogicProblem
104 val interpretation = match.get(1) as PartialInterpretation
105 val relationInterpretation = match.get(2) as PartialRelationInterpretation
106 val typeInterpretation = match.get(3) as PartialTypeInterpratation
107 val container = match.get(4) as DefinedElement
108
109 val newElement = createDefinedElement
110 if(nameNewElement) {
111 newElement.name = '''new «interpretation.newElements.size»'''
112 }
113
114 // Existence
115 interpretation.newElements+=newElement
116 interpretation.maxNewElements=interpretation.maxNewElements-1
117 if(interpretation.minNewElements > 0) {
118 interpretation.minNewElements=interpretation.minNewElements-1
119 }
120
121 // Types
122 typeInterpretation.elements += newElement
123 typeInterpretation.supertypeInterpretation.forEach[it.elements += newElement]
124 // ContainmentRelation
125 val newLink = factory2.createBinaryElementRelationLink => [it.param1 = container it.param2 = newElement]
126 relationInterpretation.relationlinks+=newLink
127 statistics.addExecutionTime(System.nanoTime-startTime)
128 ]
129 }
130 } else {
131 ruleBuilder.action[match |
132 //println(name)
133 val startTime = System.nanoTime
134 //val problem = match.get(0) as LogicProblem
135 val interpretation = match.get(1) as PartialInterpretation
136 val typeInterpretation = match.get(2) as PartialTypeInterpratation
137
138 val newElement = createDefinedElement //=> [it.name = null]
139 if(nameNewElement) {
140 newElement.name = '''new «interpretation.newElements.size»'''
141 }
142 // Existence
143 interpretation.newElements+=newElement
144 interpretation.maxNewElements=interpretation.maxNewElements-1
145 if(interpretation.minNewElements > 0) {
146 interpretation.minNewElements=interpretation.minNewElements-1
147 }
148 // Types
149 typeInterpretation.elements += newElement
150 typeInterpretation.supertypeInterpretation.forEach[it.elements += newElement]
151 statistics.addExecutionTime(System.nanoTime-startTime)
152 ]
153 }
154 return ruleBuilder.build
155 }
156
157 def createRelationRefinementRules(GeneratedPatterns patterns, ModelGenerationStatistics statistics) {
158 val res = new LinkedHashMap
159 for(LHSEntry: patterns.refinerelationQueries.entrySet) {
160 val declaration = LHSEntry.key.key
161 val inverseReference = LHSEntry.key.value
162 val lhs = LHSEntry.value as IQuerySpecification<ViatraQueryMatcher<GenericPatternMatch>>
163 val rule = createRelationRefinementRule(declaration,inverseReference,lhs,statistics)
164 res.put(LHSEntry.key,rule)
165 }
166 return res
167 }
168
169 def private BatchTransformationRule<GenericPatternMatch, ViatraQueryMatcher<GenericPatternMatch>>
170 createRelationRefinementRule(RelationDeclaration declaration, Relation inverseRelation, IQuerySpecification<ViatraQueryMatcher<GenericPatternMatch>> lhs, ModelGenerationStatistics statistics)
171 {
172 val name = '''addRelation_«declaration.name.canonizeName»«IF inverseRelation != null»_and_«inverseRelation.name.canonizeName»«ENDIF»'''
173 val ruleBuilder = factory.createRule
174 .name(name)
175 .precondition(lhs)
176 if (inverseRelation == null) {
177 ruleBuilder.action [ match |
178 val startTime = System.nanoTime
179 //println(name)
180 // val problem = match.get(0) as LogicProblem
181 // val interpretation = match.get(1) as PartialInterpretation
182 val relationInterpretation = match.get(2) as PartialRelationInterpretation
183 val src = match.get(3) as DefinedElement
184 val trg = match.get(4) as DefinedElement
185 val link = createBinaryElementRelationLink => [it.param1 = src it.param2 = trg]
186 relationInterpretation.relationlinks += link
187 statistics.addExecutionTime(System.nanoTime-startTime)
188 ]
189 } else {
190 ruleBuilder.action [ match |
191 val startTime = System.nanoTime
192 //println(name)
193 // val problem = match.get(0) as LogicProblem
194 // val interpretation = match.get(1) as PartialInterpretation
195 val relationInterpretation = match.get(2) as PartialRelationInterpretation
196 val inverseInterpretation = match.get(3) as PartialRelationInterpretation
197 val src = match.get(4) as DefinedElement
198 val trg = match.get(5) as DefinedElement
199 val link = createBinaryElementRelationLink => [it.param1 = src it.param2 = trg]
200 relationInterpretation.relationlinks += link
201 val inverseLink = createBinaryElementRelationLink => [it.param1 = trg it.param2 = src]
202 inverseInterpretation.relationlinks += inverseLink
203 statistics.addExecutionTime(System.nanoTime-startTime)
204 ]
205 }
206
207 return ruleBuilder.build
208 }
209}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend
new file mode 100644
index 00000000..005304ea
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend
@@ -0,0 +1,89 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.util
2
3import com.google.inject.Guice
4import com.google.inject.Injector
5import com.google.inject.Module
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage
8import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage
9import java.io.ByteArrayInputStream
10import java.io.InputStream
11import java.util.LinkedHashMap
12import org.eclipse.emf.common.util.URI
13import org.eclipse.emf.ecore.resource.Resource
14import org.eclipse.emf.ecore.util.EcoreUtil
15import org.eclipse.viatra.query.patternlanguage.PatternLanguageStandaloneSetup
16import org.eclipse.viatra.query.patternlanguage.annotations.ExtensionBasedAnnotationValidatorLoader
17import org.eclipse.viatra.query.patternlanguage.annotations.IAnnotationValidatorLoader
18import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageRuntimeModule
19import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageStandaloneSetup
20import org.eclipse.viatra.query.patternlanguage.emf.GenmodelExtensionLoader
21import org.eclipse.viatra.query.patternlanguage.emf.IGenmodelMappingLoader
22import org.eclipse.viatra.query.patternlanguage.emf.eMFPatternLanguage.PatternModel
23import org.eclipse.viatra.query.patternlanguage.emf.specification.SpecificationBuilder
24import org.eclipse.xtext.resource.XtextResourceSet
25
26class MyModule extends EMFPatternLanguageRuntimeModule implements Module{
27 def public Class<? extends IAnnotationValidatorLoader> bindAnnotationValidatorLoader() {
28 return typeof(ExtensionBasedAnnotationValidatorLoader);
29 }
30 def public Class<? extends IGenmodelMappingLoader> bindGenmodelMappingLoader() {
31 return typeof(GenmodelExtensionLoader);
32 }
33}
34
35class ParseUtil {
36 val Injector injector;
37 new() {
38 PatternLanguageStandaloneSetup.doSetup
39 EMFPatternLanguageStandaloneSetup.doSetup;
40 PartialinterpretationPackage.eINSTANCE.class;
41 LogicproblemPackage.eINSTANCE.class;
42 LogiclanguagePackage.eINSTANCE.class;
43
44 injector = internalCreateInjector//(new EMFPatternLanguageStandaloneSetup()).createInjectorAndDoEMFRegistration();
45 }
46
47 def protected Injector internalCreateInjector() {
48 var newInjector = new EMFPatternLanguageStandaloneSetup().createInjectorAndDoEMFRegistration();
49 //XXX the following line enforce the tests to be run in an Eclipse environment
50 val Module module = new MyModule
51 newInjector = Guice.createInjector(module)
52 //ViatraQueryLoggingUtil.setExternalLogger(newInjector.getInstance(Logger.class));
53 //EMFPatternLanguagePlugin.getInstance().addCompoundInjector(newInjector,EMFPatternLanguagePlugin.TEST_INJECTOR_PRIORITY);
54 return newInjector;
55 }
56
57// @Inject
58// var ParseHelper<PatternModel> parseHelper;
59 val builder = new SpecificationBuilder
60
61 public def parse(CharSequence vqlFileContent) {
62 //val patternModel = this.parseHelper.parse(vqlFileContent)
63 val XtextResourceSet resourceSet = injector.getInstance(XtextResourceSet);
64 val Resource resource = resourceSet.createResource(URI.createURI("dummy:/example.vql"));
65 val InputStream in = new ByteArrayInputStream(vqlFileContent.toString.getBytes());
66 resource.load(in, resourceSet.getLoadOptions());
67 val patternModel = resource.getContents().get(0) as PatternModel;
68
69 EcoreUtil.resolveAll(resource)
70 resource.validate
71 val res = new LinkedHashMap
72 for(pattern : patternModel.patterns) {
73 val querySpecification = builder.getOrCreateSpecification(pattern)
74 res.put(querySpecification.fullyQualifiedName,querySpecification)
75 //println('''«querySpecification.fullyQualifiedName» -> «querySpecification»''')
76 }
77 resource.validate
78 return res
79 }
80
81 def private validate(Resource resource) {
82 val errors = resource.errors
83 if(!errors.isEmpty) {
84 println('''-- Errors --''')
85 errors.forEach[println('''> «it»''')]
86 println('''------------''')
87 }
88 }
89} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/.classpath b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/.classpath
new file mode 100644
index 00000000..1c96fe2f
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/.classpath
@@ -0,0 +1,8 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
4 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
5 <classpathentry kind="src" path="src"/>
6 <classpathentry kind="src" path="xtend-gen"/>
7 <classpathentry kind="output" path="bin"/>
8</classpath>
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/.gitignore b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/.gitignore
new file mode 100644
index 00000000..8ae4e44d
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/.gitignore
@@ -0,0 +1,4 @@
1/bin/
2/src-gen/
3/vql-gen/
4/xtend-gen/
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/.project b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/.project
new file mode 100644
index 00000000..153ec5ab
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.jdt.core.javabuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.ManifestBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.SchemaBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.pde.PluginNature</nature>
31 <nature>org.eclipse.jdt.core.javanature</nature>
32 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/.settings/org.eclipse.jdt.core.prefs b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/META-INF/MANIFEST.MF b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..24dbd918
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: Partialinterpretation2logic
4Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic
5Bundle-Version: 1.0.0.qualifier
6Bundle-RequiredExecutionEnvironment: JavaSE-1.8
7Require-Bundle: com.google.guava,
8 org.eclipse.xtext.xbase.lib,
9 org.eclipse.xtend.lib,
10 org.eclipse.xtend.lib.macro,
11 hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0",
12 hu.bme.mit.inf.dslreasoner.ecore2logic;bundle-version="1.0.0",
13 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;bundle-version="1.0.0"
14Export-Package: hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic
15
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/build.properties b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/build.properties
new file mode 100644
index 00000000..41eb6ade
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/build.properties
@@ -0,0 +1,4 @@
1source.. = src/
2output.. = bin/
3bin.includes = META-INF/,\
4 .
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/InstanceModel2Logic.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/InstanceModel2Logic.xtend
new file mode 100644
index 00000000..2910a702
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/InstanceModel2Logic.xtend
@@ -0,0 +1,21 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic
2
3import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace
4import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
6import java.util.List
7import org.eclipse.emf.ecore.EObject
8
9class InstanceModel2Logic {
10 val InstanceModel2PartialInterpretation instanceModel2PartialInterpretation = new InstanceModel2PartialInterpretation
11 val PartialInterpretation2Logic partialInterpretation2Logic = new PartialInterpretation2Logic
12
13 public def transform(
14 TracedOutput<LogicProblem, Ecore2Logic_Trace> metamodelTranslationResult,
15 List<EObject> objects)
16 {
17 val res1 = this.instanceModel2PartialInterpretation.transform(metamodelTranslationResult,objects,true)
18 this.partialInterpretation2Logic.transformPartialIntepretation2Logic(metamodelTranslationResult.output,res1)
19 return metamodelTranslationResult//.output
20 }
21} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/InstanceModel2PartialInterpretation.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/InstanceModel2PartialInterpretation.xtend
new file mode 100644
index 00000000..58c41a49
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/InstanceModel2PartialInterpretation.xtend
@@ -0,0 +1,130 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic
2
3import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic
4import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
9import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.PartialInterpretationInitialiser
10import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.Problem2PartialInterpretationTrace
11import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation
12import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationFactory
13import java.util.HashMap
14import java.util.List
15import java.util.Map
16import org.eclipse.emf.common.util.Enumerator
17import org.eclipse.emf.ecore.EObject
18
19import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
20import org.eclipse.emf.ecore.resource.Resource
21import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput
22
23class InstanceModel2PartialInterpretation {
24 val extension LogiclanguageFactory factory = LogiclanguageFactory.eINSTANCE
25 val extension PartialinterpretationFactory factory2 = PartialinterpretationFactory.eINSTANCE
26 val Ecore2Logic ecore2Logic = new Ecore2Logic
27 val partialInterpretationInitialiser = new PartialInterpretationInitialiser
28
29 public def transform(
30 TracedOutput<LogicProblem, Ecore2Logic_Trace> metamodelTranslationResult,
31 Resource resource,
32 boolean withID)
33 {
34 val objects = resource.allContents.toList
35 return transform(metamodelTranslationResult,objects,withID)
36 }
37
38 public def transform(
39 TracedOutput<LogicProblem, Ecore2Logic_Trace> metamodelTranslationResult,
40 List<EObject> objects,
41 boolean withID)
42 {
43 val problem = metamodelTranslationResult.output
44 val ecore2LogicTrace = metamodelTranslationResult.trace
45 val tracedOutput = partialInterpretationInitialiser.initialisePartialInterpretation(problem, -1, -1)
46 val partialInterpretation = tracedOutput.output
47 val partialInterpretationTrace = tracedOutput.trace
48
49 val Map<EObject,DefinedElement> object2DefinedElement = new HashMap
50
51 // EObject -> DefinedElement
52 for(objectIndex : 0..<objects.size) {
53 val object = objects.get(objectIndex)
54 val element = createDefinedElement => [
55 it.name = if(withID)
56 { '''PartialObject«objectIndex»''' } else
57 { null }
58 ]
59
60 // Add element to interpretation
61 partialInterpretation.newElements += element
62
63 // Define the types
64 val type = ecore2Logic.TypeofEClass(ecore2LogicTrace,object.eClass) as TypeDeclaration
65 val interpretation = type.lookup(partialInterpretationTrace.type2Interpretation)
66 interpretation.elements += element
67 interpretation.supertypeInterpretation.forEach[elements += element]
68
69 // Trace handling
70 object2DefinedElement.put(object, element)
71 }
72
73 for(source : objects) {
74 // Translating the references
75 for(reference : source.eClass.EAllReferences) {
76 val type = ecore2Logic.relationOfReference(ecore2LogicTrace,reference)
77 val interpretation = type.lookup(partialInterpretationTrace.relation2Interpretation)
78 val sourceElement = source.lookup(object2DefinedElement)
79 if(reference.isMany) {
80 val listOfTargets = source.eGet(reference) as List<? extends EObject>
81 for(target : listOfTargets) {
82 val targetElement = target.lookup(object2DefinedElement)
83 translateLink(interpretation,sourceElement,targetElement)
84 }
85 } else {
86 val target = source.eGet(reference) as EObject
87 val targetElement = target.lookup(object2DefinedElement)
88 if(target !== null) {
89 translateLink(interpretation,sourceElement,targetElement)
90 }
91 }
92 }
93 // Transforming the relations
94 for(attribute : source.eClass.EAllAttributes) {
95 val type = ecore2Logic.relationOfAttribute(ecore2LogicTrace,attribute)
96 val interpretation = type.lookup(partialInterpretationTrace.relation2Interpretation)
97 val sourceElement = source.lookup(object2DefinedElement)
98 if(attribute.isMany) {
99 val listOfTargets = source.eGet(attribute) as List<? extends EObject>
100 for(target : listOfTargets) {
101 translateLink(interpretation,sourceElement,translateValue(target,ecore2LogicTrace,partialInterpretationTrace))
102 }
103 } else {
104 val target = source.eGet(attribute)
105 if(target !== null) {
106 translateLink(interpretation,sourceElement,translateValue(target,ecore2LogicTrace,partialInterpretationTrace))
107 }
108 }
109 }
110 }
111
112 return partialInterpretation
113 }
114
115 protected def translateLink(PartialRelationInterpretation interpretation, DefinedElement source, DefinedElement target) {
116 interpretation.relationlinks += createBinaryElementRelationLink => [it.param1 = source it.param2 = target]
117 }
118
119 dispatch protected def translateValue(Enumerator value, Ecore2Logic_Trace ecore2LogicTrace, Problem2PartialInterpretationTrace partialInterpretationTrace) {
120 val term = this.ecore2Logic.Literal(ecore2LogicTrace,value)
121 if(term instanceof DefinedElement) {
122 return term
123 }
124 else throw new AssertionError('''term should be a defined element?''')
125 }
126
127 dispatch protected def translateValue(Object value, Ecore2Logic_Trace ecore2LogicTrace, Problem2PartialInterpretationTrace partialInterpretationTrace) {
128 throw new UnsupportedOperationException('''Mapping of «value.class.simpleName» in partial models is currently not supported!''')
129 }
130} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/PartialInterpretation2Logic.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/PartialInterpretation2Logic.xtend
new file mode 100644
index 00000000..39d8a365
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/PartialInterpretation2Logic.xtend
@@ -0,0 +1,146 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicDeclaration
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
10import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink
11import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
12import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation
13import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation
14import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RelationLink
15import java.util.ArrayList
16import java.util.HashMap
17import java.util.HashSet
18import java.util.Map
19import java.util.Set
20import org.eclipse.xtend.lib.annotations.Data
21
22import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
23
24@Data class PartialInterpretation2Logic_Trace {
25 Map<TypeDeclaration, TypeDefinition> definedPart = new HashMap
26 Map<TypeDeclaration, TypeDeclaration> undefinedPart = new HashMap
27 Set<Type> originalTypes = new HashSet
28 Set<TypeDeclaration> splittedTypes = new HashSet
29}
30
31class PartialInterpretation2Logic {
32 val extension LogiclanguageFactory factory = LogiclanguageFactory.eINSTANCE
33 val extension LogicProblemBuilder builder = new LogicProblemBuilder
34
35 def transformPartialIntepretation2Logic(LogicProblem p, PartialInterpretation i) {
36 val trace = new PartialInterpretation2Logic_Trace()
37 trace.originalTypes.addAll(p.types)
38 if(! i.newElements.empty) {
39
40 // Elements adding
41 addExistingElementToProblem(p,i)
42
43 // Types
44 for(partialTypeDeclaration : i.partialtypeinterpratation) {
45 splitTypeIntoTwo(p,partialTypeDeclaration,trace)
46 }
47 connectSplittings(p,trace)
48
49 // Relations
50 for(partialRelationInterpretation : i.partialrelationinterpretation) {
51 relationLinksToAssertion(p,partialRelationInterpretation,trace)
52 }
53 }
54 }
55
56 private def addExistingElementToProblem(LogicProblem p, PartialInterpretation i) {
57 val newElements = new ArrayList(i.newElements)
58 var newElementIndex = 1
59 for(newElement : newElements) {
60 newElement.name = '''DefinedElement «newElementIndex++»'''
61 p.elements += newElement
62 }
63 }
64
65 private def splitTypeIntoTwo(LogicProblem p, PartialTypeInterpratation partialTypeDeclaration,PartialInterpretation2Logic_Trace trace) {
66 if(!partialTypeDeclaration.elements.empty) {
67 val declaration = partialTypeDeclaration.interpretationOf
68
69 val definedPart = createTypeDefinition => [
70 it.name = '''DefinedPartOf «declaration.name»'''
71 it.elements += partialTypeDeclaration.elements
72 it.isAbstract = declaration.isIsAbstract
73 ]
74 val undefinedPart = createTypeDeclaration => [
75 it.name = '''UndefinedPartOf «declaration.name»'''
76 it.isAbstract = declaration.isIsAbstract
77 ]
78 declaration.isAbstract = true
79
80 trace.definedPart.put(declaration,definedPart)
81 trace.undefinedPart.put(declaration,undefinedPart)
82 trace.splittedTypes.add(declaration)
83 p.add(definedPart)
84 p.add(undefinedPart)
85 Supertype(definedPart,declaration)
86 Supertype(undefinedPart,declaration)
87 }
88 }
89
90 private def connectSplittings(LogicProblem p,PartialInterpretation2Logic_Trace trace) {
91 val originalTypes = p.types.filter[originalType(trace)].toList
92 for(type : originalTypes) {
93 val superTypes = new ArrayList(type.supertypes.filter[originalType(trace)].toList)
94 for(supertype : superTypes) {
95 if(type.isSplitted(trace)) {
96 if(supertype.isSplitted(trace)) {
97 Supertype((type as TypeDeclaration).lookup(trace.definedPart), (supertype as TypeDeclaration).lookup(trace.definedPart))
98 Supertype((type as TypeDeclaration).lookup(trace.undefinedPart), (supertype as TypeDeclaration).lookup(trace.undefinedPart))
99 } else {
100 // Do nothing
101 }
102 } else {
103 if(supertype.isSplitted(trace)) {
104 Supertype(type, (supertype as TypeDeclaration).lookup(trace.undefinedPart))
105 } else if(supertype instanceof TypeDefinition) {
106 // Do nothing
107 }
108 }
109 }
110 }
111 }
112
113 private def originalType(Type type,PartialInterpretation2Logic_Trace trace) {
114 return trace.originalTypes.contains(type)
115 }
116 private def isSplitted(Type t, PartialInterpretation2Logic_Trace trace) {
117 trace.splittedTypes.contains(t)
118 }
119
120 private def relationLinksToAssertion(LogicProblem p, PartialRelationInterpretation r,PartialInterpretation2Logic_Trace trace) {
121 val relation = r.interpretationOf
122 val links = r.relationlinks
123 if(links.size == 0) {
124 return
125 } else {
126 val term = if(links.size == 1) {
127 createLink(links.head,relation)
128 } else {
129 links.map[link|createLink(link,relation)].And
130 }
131 val assertion = Assertion('''PartialInterpretation «r.interpretationOf.name»''',term)
132 p.add(assertion)
133 }
134
135 }
136
137 def private createLink(RelationLink link, SymbolicDeclaration relationDeclaration) {
138 if(link instanceof BinaryElementRelationLink) {
139 return createSymbolicValue=>[
140 it.symbolicReference=relationDeclaration
141 it.parameterSubstitutions += createSymbolicValue => [link.param1]
142 it.parameterSubstitutions += createSymbolicValue => [link.param2]
143 ]
144 } else throw new UnsupportedOperationException
145 }
146} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.classpath b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.classpath
new file mode 100644
index 00000000..75ccaa90
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.classpath
@@ -0,0 +1,9 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="ecore-gen"/>
4 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
5 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
6 <classpathentry kind="src" path="src"/>
7 <classpathentry kind="src" path="xtend-gen"/>
8 <classpathentry kind="output" path="bin"/>
9</classpath>
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.gitignore b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.gitignore
new file mode 100644
index 00000000..b33f6aff
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.gitignore
@@ -0,0 +1,2 @@
1/bin/
2/xtend-gen/
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.project b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.project
new file mode 100644
index 00000000..b8b85892
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.jdt.core.javabuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.ManifestBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.SchemaBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.pde.PluginNature</nature>
31 <nature>org.eclipse.jdt.core.javanature</nature>
32 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.settings/org.eclipse.jdt.core.prefs b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/META-INF/MANIFEST.MF b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..ea971e17
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/META-INF/MANIFEST.MF
@@ -0,0 +1,27 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: %pluginName
4Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;singleton:=true
5Bundle-Version: 1.0.0.qualifier
6Bundle-ClassPath: .
7Bundle-Vendor: %providerName
8Bundle-Localization: plugin
9Bundle-RequiredExecutionEnvironment: JavaSE-1.8
10Export-Package: hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage,
11 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood,
12 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation,
13 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl,
14 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.util,
15 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.statecoder,
16 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation
17Require-Bundle: org.eclipse.core.runtime,
18 org.eclipse.emf.ecore;visibility:=reexport,
19 hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0";visibility:=reexport,
20 com.google.guava,
21 org.eclipse.xtext.xbase.lib,
22 org.eclipse.xtend.lib,
23 org.eclipse.xtend.lib.macro,
24 org.eclipse.viatra.query.runtime;bundle-version="1.5.0",
25 org.eclipse.viatra.dse;bundle-version="0.15.0"
26Bundle-ActivationPolicy: lazy
27
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/build.properties b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/build.properties
new file mode 100644
index 00000000..72399047
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/build.properties
@@ -0,0 +1,10 @@
1#
2
3bin.includes = .,\
4 model/,\
5 META-INF/,\
6 plugin.xml,\
7 plugin.properties
8jars.compile.order = .
9source.. = ecore-gen/
10output.. = bin/
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/BinaryElementRelationLink.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/BinaryElementRelationLink.java
new file mode 100644
index 00000000..bd88f469
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/BinaryElementRelationLink.java
@@ -0,0 +1,77 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Binary Element Relation Link</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink#getParam1 <em>Param1</em>}</li>
17 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink#getParam2 <em>Param2</em>}</li>
18 * </ul>
19 *
20 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getBinaryElementRelationLink()
21 * @model
22 * @generated
23 */
24public interface BinaryElementRelationLink extends RelationLink {
25 /**
26 * Returns the value of the '<em><b>Param1</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Param1</em>' reference isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Param1</em>' reference.
34 * @see #setParam1(DefinedElement)
35 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getBinaryElementRelationLink_Param1()
36 * @model required="true"
37 * @generated
38 */
39 DefinedElement getParam1();
40
41 /**
42 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink#getParam1 <em>Param1</em>}' reference.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Param1</em>' reference.
46 * @see #getParam1()
47 * @generated
48 */
49 void setParam1(DefinedElement value);
50
51 /**
52 * Returns the value of the '<em><b>Param2</b></em>' reference.
53 * <!-- begin-user-doc -->
54 * <p>
55 * If the meaning of the '<em>Param2</em>' reference isn't clear,
56 * there really should be more of a description here...
57 * </p>
58 * <!-- end-user-doc -->
59 * @return the value of the '<em>Param2</em>' reference.
60 * @see #setParam2(DefinedElement)
61 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getBinaryElementRelationLink_Param2()
62 * @model required="true"
63 * @generated
64 */
65 DefinedElement getParam2();
66
67 /**
68 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink#getParam2 <em>Param2</em>}' reference.
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @param value the new value of the '<em>Param2</em>' reference.
72 * @see #getParam2()
73 * @generated
74 */
75 void setParam2(DefinedElement value);
76
77} // BinaryElementRelationLink
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/NaryRelationLink.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/NaryRelationLink.java
new file mode 100644
index 00000000..b4981259
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/NaryRelationLink.java
@@ -0,0 +1,40 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Nary Relation Link</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLink#getElements <em>Elements</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getNaryRelationLink()
20 * @model
21 * @generated
22 */
23public interface NaryRelationLink extends RelationLink {
24 /**
25 * Returns the value of the '<em><b>Elements</b></em>' containment reference list.
26 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement}.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Elements</em>' containment reference list isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Elements</em>' containment reference list.
34 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getNaryRelationLink_Elements()
35 * @model containment="true"
36 * @generated
37 */
38 EList<NaryRelationLinkElement> getElements();
39
40} // NaryRelationLink
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/NaryRelationLinkElement.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/NaryRelationLinkElement.java
new file mode 100644
index 00000000..4b70390f
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/NaryRelationLinkElement.java
@@ -0,0 +1,50 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Nary Relation Link Element</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement#getIndex <em>Index</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getNaryRelationLinkElement()
20 * @model
21 * @generated
22 */
23public interface NaryRelationLinkElement extends EObject {
24 /**
25 * Returns the value of the '<em><b>Index</b></em>' attribute.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Index</em>' attribute isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Index</em>' attribute.
33 * @see #setIndex(int)
34 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getNaryRelationLinkElement_Index()
35 * @model
36 * @generated
37 */
38 int getIndex();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement#getIndex <em>Index</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Index</em>' attribute.
45 * @see #getIndex()
46 * @generated
47 */
48 void setIndex(int value);
49
50} // NaryRelationLinkElement
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialConstantInterpretation.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialConstantInterpretation.java
new file mode 100644
index 00000000..29f2cb21
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialConstantInterpretation.java
@@ -0,0 +1,52 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Partial Constant Interpretation</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation#getInterpretationOf <em>Interpretation Of</em>}</li>
19 * </ul>
20 *
21 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialConstantInterpretation()
22 * @model
23 * @generated
24 */
25public interface PartialConstantInterpretation extends EObject {
26 /**
27 * Returns the value of the '<em><b>Interpretation Of</b></em>' reference.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Interpretation Of</em>' reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Interpretation Of</em>' reference.
35 * @see #setInterpretationOf(ConstantDeclaration)
36 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialConstantInterpretation_InterpretationOf()
37 * @model required="true"
38 * @generated
39 */
40 ConstantDeclaration getInterpretationOf();
41
42 /**
43 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation#getInterpretationOf <em>Interpretation Of</em>}' reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Interpretation Of</em>' reference.
47 * @see #getInterpretationOf()
48 * @generated
49 */
50 void setInterpretationOf(ConstantDeclaration value);
51
52} // PartialConstantInterpretation
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialFunctionInterpretation.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialFunctionInterpretation.java
new file mode 100644
index 00000000..26ce2480
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialFunctionInterpretation.java
@@ -0,0 +1,52 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Partial Function Interpretation</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation#getInterpretationOf <em>Interpretation Of</em>}</li>
19 * </ul>
20 *
21 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialFunctionInterpretation()
22 * @model
23 * @generated
24 */
25public interface PartialFunctionInterpretation extends EObject {
26 /**
27 * Returns the value of the '<em><b>Interpretation Of</b></em>' reference.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Interpretation Of</em>' reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Interpretation Of</em>' reference.
35 * @see #setInterpretationOf(FunctionDeclaration)
36 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialFunctionInterpretation_InterpretationOf()
37 * @model required="true"
38 * @generated
39 */
40 FunctionDeclaration getInterpretationOf();
41
42 /**
43 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation#getInterpretationOf <em>Interpretation Of</em>}' reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Interpretation Of</em>' reference.
47 * @see #getInterpretationOf()
48 * @generated
49 */
50 void setInterpretationOf(FunctionDeclaration value);
51
52} // PartialFunctionInterpretation
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialInterpretation.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialInterpretation.java
new file mode 100644
index 00000000..46c85cc8
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialInterpretation.java
@@ -0,0 +1,251 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
6
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
8
9import org.eclipse.emf.common.util.EList;
10
11import org.eclipse.emf.ecore.EObject;
12
13/**
14 * <!-- begin-user-doc -->
15 * A representation of the model object '<em><b>Partial Interpretation</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * <p>
19 * The following features are supported:
20 * </p>
21 * <ul>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getProblem <em>Problem</em>}</li>
23 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialconstantinterpretation <em>Partialconstantinterpretation</em>}</li>
24 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialrelationinterpretation <em>Partialrelationinterpretation</em>}</li>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialfunctioninterpretation <em>Partialfunctioninterpretation</em>}</li>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getNewElements <em>New Elements</em>}</li>
27 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialtypeinterpratation <em>Partialtypeinterpratation</em>}</li>
28 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getMinNewElements <em>Min New Elements</em>}</li>
29 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getMaxNewElements <em>Max New Elements</em>}</li>
30 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getOpenWorldElementPrototype <em>Open World Element Prototype</em>}</li>
31 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getProblemConainer <em>Problem Conainer</em>}</li>
32 * </ul>
33 *
34 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation()
35 * @model
36 * @generated
37 */
38public interface PartialInterpretation extends EObject {
39 /**
40 * Returns the value of the '<em><b>Problem</b></em>' reference.
41 * <!-- begin-user-doc -->
42 * <p>
43 * If the meaning of the '<em>Problem</em>' reference isn't clear,
44 * there really should be more of a description here...
45 * </p>
46 * <!-- end-user-doc -->
47 * @return the value of the '<em>Problem</em>' reference.
48 * @see #setProblem(LogicProblem)
49 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_Problem()
50 * @model required="true"
51 * @generated
52 */
53 LogicProblem getProblem();
54
55 /**
56 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getProblem <em>Problem</em>}' reference.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @param value the new value of the '<em>Problem</em>' reference.
60 * @see #getProblem()
61 * @generated
62 */
63 void setProblem(LogicProblem value);
64
65 /**
66 * Returns the value of the '<em><b>Partialconstantinterpretation</b></em>' containment reference list.
67 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation}.
68 * <!-- begin-user-doc -->
69 * <p>
70 * If the meaning of the '<em>Partialconstantinterpretation</em>' containment reference list isn't clear,
71 * there really should be more of a description here...
72 * </p>
73 * <!-- end-user-doc -->
74 * @return the value of the '<em>Partialconstantinterpretation</em>' containment reference list.
75 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_Partialconstantinterpretation()
76 * @model containment="true"
77 * @generated
78 */
79 EList<PartialConstantInterpretation> getPartialconstantinterpretation();
80
81 /**
82 * Returns the value of the '<em><b>Partialrelationinterpretation</b></em>' containment reference list.
83 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation}.
84 * <!-- begin-user-doc -->
85 * <p>
86 * If the meaning of the '<em>Partialrelationinterpretation</em>' containment reference list isn't clear,
87 * there really should be more of a description here...
88 * </p>
89 * <!-- end-user-doc -->
90 * @return the value of the '<em>Partialrelationinterpretation</em>' containment reference list.
91 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_Partialrelationinterpretation()
92 * @model containment="true"
93 * @generated
94 */
95 EList<PartialRelationInterpretation> getPartialrelationinterpretation();
96
97 /**
98 * Returns the value of the '<em><b>Partialfunctioninterpretation</b></em>' containment reference list.
99 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation}.
100 * <!-- begin-user-doc -->
101 * <p>
102 * If the meaning of the '<em>Partialfunctioninterpretation</em>' containment reference list isn't clear,
103 * there really should be more of a description here...
104 * </p>
105 * <!-- end-user-doc -->
106 * @return the value of the '<em>Partialfunctioninterpretation</em>' containment reference list.
107 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_Partialfunctioninterpretation()
108 * @model containment="true"
109 * @generated
110 */
111 EList<PartialFunctionInterpretation> getPartialfunctioninterpretation();
112
113 /**
114 * Returns the value of the '<em><b>New Elements</b></em>' containment reference list.
115 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement}.
116 * <!-- begin-user-doc -->
117 * <p>
118 * If the meaning of the '<em>New Elements</em>' containment reference list isn't clear,
119 * there really should be more of a description here...
120 * </p>
121 * <!-- end-user-doc -->
122 * @return the value of the '<em>New Elements</em>' containment reference list.
123 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_NewElements()
124 * @model containment="true"
125 * @generated
126 */
127 EList<DefinedElement> getNewElements();
128
129 /**
130 * Returns the value of the '<em><b>Partialtypeinterpratation</b></em>' containment reference list.
131 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation}.
132 * <!-- begin-user-doc -->
133 * <p>
134 * If the meaning of the '<em>Partialtypeinterpratation</em>' containment reference list isn't clear,
135 * there really should be more of a description here...
136 * </p>
137 * <!-- end-user-doc -->
138 * @return the value of the '<em>Partialtypeinterpratation</em>' containment reference list.
139 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_Partialtypeinterpratation()
140 * @model containment="true"
141 * @generated
142 */
143 EList<PartialTypeInterpratation> getPartialtypeinterpratation();
144
145 /**
146 * Returns the value of the '<em><b>Min New Elements</b></em>' attribute.
147 * The default value is <code>"0"</code>.
148 * <!-- begin-user-doc -->
149 * <p>
150 * If the meaning of the '<em>Min New Elements</em>' attribute isn't clear,
151 * there really should be more of a description here...
152 * </p>
153 * <!-- end-user-doc -->
154 * @return the value of the '<em>Min New Elements</em>' attribute.
155 * @see #setMinNewElements(int)
156 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_MinNewElements()
157 * @model default="0" id="true" required="true"
158 * @generated
159 */
160 int getMinNewElements();
161
162 /**
163 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getMinNewElements <em>Min New Elements</em>}' attribute.
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @param value the new value of the '<em>Min New Elements</em>' attribute.
167 * @see #getMinNewElements()
168 * @generated
169 */
170 void setMinNewElements(int value);
171
172 /**
173 * Returns the value of the '<em><b>Max New Elements</b></em>' attribute.
174 * The default value is <code>"0"</code>.
175 * <!-- begin-user-doc -->
176 * <p>
177 * If the meaning of the '<em>Max New Elements</em>' attribute isn't clear,
178 * there really should be more of a description here...
179 * </p>
180 * <!-- end-user-doc -->
181 * @return the value of the '<em>Max New Elements</em>' attribute.
182 * @see #setMaxNewElements(int)
183 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_MaxNewElements()
184 * @model default="0" required="true"
185 * @generated
186 */
187 int getMaxNewElements();
188
189 /**
190 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getMaxNewElements <em>Max New Elements</em>}' attribute.
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @param value the new value of the '<em>Max New Elements</em>' attribute.
194 * @see #getMaxNewElements()
195 * @generated
196 */
197 void setMaxNewElements(int value);
198
199 /**
200 * Returns the value of the '<em><b>Open World Element Prototype</b></em>' containment reference.
201 * <!-- begin-user-doc -->
202 * <p>
203 * If the meaning of the '<em>Open World Element Prototype</em>' containment reference isn't clear,
204 * there really should be more of a description here...
205 * </p>
206 * <!-- end-user-doc -->
207 * @return the value of the '<em>Open World Element Prototype</em>' containment reference.
208 * @see #setOpenWorldElementPrototype(DefinedElement)
209 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_OpenWorldElementPrototype()
210 * @model containment="true" required="true"
211 * @generated
212 */
213 DefinedElement getOpenWorldElementPrototype();
214
215 /**
216 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getOpenWorldElementPrototype <em>Open World Element Prototype</em>}' containment reference.
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @param value the new value of the '<em>Open World Element Prototype</em>' containment reference.
220 * @see #getOpenWorldElementPrototype()
221 * @generated
222 */
223 void setOpenWorldElementPrototype(DefinedElement value);
224
225 /**
226 * Returns the value of the '<em><b>Problem Conainer</b></em>' containment reference.
227 * <!-- begin-user-doc -->
228 * <p>
229 * If the meaning of the '<em>Problem Conainer</em>' containment reference isn't clear,
230 * there really should be more of a description here...
231 * </p>
232 * <!-- end-user-doc -->
233 * @return the value of the '<em>Problem Conainer</em>' containment reference.
234 * @see #setProblemConainer(LogicProblem)
235 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_ProblemConainer()
236 * @model containment="true"
237 * @generated
238 */
239 LogicProblem getProblemConainer();
240
241 /**
242 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getProblemConainer <em>Problem Conainer</em>}' containment reference.
243 * <!-- begin-user-doc -->
244 * <!-- end-user-doc -->
245 * @param value the new value of the '<em>Problem Conainer</em>' containment reference.
246 * @see #getProblemConainer()
247 * @generated
248 */
249 void setProblemConainer(LogicProblem value);
250
251} // PartialInterpretation
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialRelationInterpretation.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialRelationInterpretation.java
new file mode 100644
index 00000000..e1fa092f
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialRelationInterpretation.java
@@ -0,0 +1,126 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration;
6
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference;
8import org.eclipse.emf.common.util.EList;
9
10import org.eclipse.emf.ecore.EObject;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the model object '<em><b>Partial Relation Interpretation</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * <p>
18 * The following features are supported:
19 * </p>
20 * <ul>
21 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getInterpretationOf <em>Interpretation Of</em>}</li>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getRelationlinks <em>Relationlinks</em>}</li>
23 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getParam1 <em>Param1</em>}</li>
24 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getParam2 <em>Param2</em>}</li>
25 * </ul>
26 *
27 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialRelationInterpretation()
28 * @model
29 * @generated
30 */
31public interface PartialRelationInterpretation extends EObject {
32 /**
33 * Returns the value of the '<em><b>Interpretation Of</b></em>' reference.
34 * <!-- begin-user-doc -->
35 * <p>
36 * If the meaning of the '<em>Interpretation Of</em>' reference isn't clear,
37 * there really should be more of a description here...
38 * </p>
39 * <!-- end-user-doc -->
40 * @return the value of the '<em>Interpretation Of</em>' reference.
41 * @see #setInterpretationOf(RelationDeclaration)
42 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialRelationInterpretation_InterpretationOf()
43 * @model required="true"
44 * @generated
45 */
46 RelationDeclaration getInterpretationOf();
47
48 /**
49 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getInterpretationOf <em>Interpretation Of</em>}' reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @param value the new value of the '<em>Interpretation Of</em>' reference.
53 * @see #getInterpretationOf()
54 * @generated
55 */
56 void setInterpretationOf(RelationDeclaration value);
57
58 /**
59 * Returns the value of the '<em><b>Relationlinks</b></em>' containment reference list.
60 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RelationLink}.
61 * <!-- begin-user-doc -->
62 * <p>
63 * If the meaning of the '<em>Relationlinks</em>' containment reference list isn't clear,
64 * there really should be more of a description here...
65 * </p>
66 * <!-- end-user-doc -->
67 * @return the value of the '<em>Relationlinks</em>' containment reference list.
68 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialRelationInterpretation_Relationlinks()
69 * @model containment="true"
70 * @generated
71 */
72 EList<RelationLink> getRelationlinks();
73
74 /**
75 * Returns the value of the '<em><b>Param1</b></em>' reference.
76 * <!-- begin-user-doc -->
77 * <p>
78 * If the meaning of the '<em>Param1</em>' reference isn't clear,
79 * there really should be more of a description here...
80 * </p>
81 * <!-- end-user-doc -->
82 * @return the value of the '<em>Param1</em>' reference.
83 * @see #setParam1(TypeReference)
84 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialRelationInterpretation_Param1()
85 * @model
86 * @generated
87 */
88 TypeReference getParam1();
89
90 /**
91 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getParam1 <em>Param1</em>}' reference.
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @param value the new value of the '<em>Param1</em>' reference.
95 * @see #getParam1()
96 * @generated
97 */
98 void setParam1(TypeReference value);
99
100 /**
101 * Returns the value of the '<em><b>Param2</b></em>' reference.
102 * <!-- begin-user-doc -->
103 * <p>
104 * If the meaning of the '<em>Param2</em>' reference isn't clear,
105 * there really should be more of a description here...
106 * </p>
107 * <!-- end-user-doc -->
108 * @return the value of the '<em>Param2</em>' reference.
109 * @see #setParam2(TypeReference)
110 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialRelationInterpretation_Param2()
111 * @model
112 * @generated
113 */
114 TypeReference getParam2();
115
116 /**
117 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getParam2 <em>Param2</em>}' reference.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @param value the new value of the '<em>Param2</em>' reference.
121 * @see #getParam2()
122 * @generated
123 */
124 void setParam2(TypeReference value);
125
126} // PartialRelationInterpretation
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialTypeInterpratation.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialTypeInterpratation.java
new file mode 100644
index 00000000..ff313b42
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialTypeInterpratation.java
@@ -0,0 +1,88 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration;
7
8import org.eclipse.emf.common.util.EList;
9import org.eclipse.emf.ecore.EObject;
10
11/**
12 * <!-- begin-user-doc -->
13 * A representation of the model object '<em><b>Partial Type Interpratation</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * <p>
17 * The following features are supported:
18 * </p>
19 * <ul>
20 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getInterpretationOf <em>Interpretation Of</em>}</li>
21 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getElements <em>Elements</em>}</li>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getSupertypeInterpretation <em>Supertype Interpretation</em>}</li>
23 * </ul>
24 *
25 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialTypeInterpratation()
26 * @model
27 * @generated
28 */
29public interface PartialTypeInterpratation extends EObject {
30 /**
31 * Returns the value of the '<em><b>Interpretation Of</b></em>' reference.
32 * <!-- begin-user-doc -->
33 * <p>
34 * If the meaning of the '<em>Interpretation Of</em>' reference isn't clear,
35 * there really should be more of a description here...
36 * </p>
37 * <!-- end-user-doc -->
38 * @return the value of the '<em>Interpretation Of</em>' reference.
39 * @see #setInterpretationOf(TypeDeclaration)
40 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialTypeInterpratation_InterpretationOf()
41 * @model required="true"
42 * @generated
43 */
44 TypeDeclaration getInterpretationOf();
45
46 /**
47 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getInterpretationOf <em>Interpretation Of</em>}' reference.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @param value the new value of the '<em>Interpretation Of</em>' reference.
51 * @see #getInterpretationOf()
52 * @generated
53 */
54 void setInterpretationOf(TypeDeclaration value);
55
56 /**
57 * Returns the value of the '<em><b>Elements</b></em>' reference list.
58 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement}.
59 * <!-- begin-user-doc -->
60 * <p>
61 * If the meaning of the '<em>Elements</em>' reference isn't clear,
62 * there really should be more of a description here...
63 * </p>
64 * <!-- end-user-doc -->
65 * @return the value of the '<em>Elements</em>' reference list.
66 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialTypeInterpratation_Elements()
67 * @model
68 * @generated
69 */
70 EList<DefinedElement> getElements();
71
72 /**
73 * Returns the value of the '<em><b>Supertype Interpretation</b></em>' reference list.
74 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation}.
75 * <!-- begin-user-doc -->
76 * <p>
77 * If the meaning of the '<em>Supertype Interpretation</em>' reference list isn't clear,
78 * there really should be more of a description here...
79 * </p>
80 * <!-- end-user-doc -->
81 * @return the value of the '<em>Supertype Interpretation</em>' reference list.
82 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialTypeInterpratation_SupertypeInterpretation()
83 * @model
84 * @generated
85 */
86 EList<PartialTypeInterpratation> getSupertypeInterpretation();
87
88} // PartialTypeInterpratation
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialinterpretationFactory.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialinterpretationFactory.java
new file mode 100644
index 00000000..406e2f02
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialinterpretationFactory.java
@@ -0,0 +1,114 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation;
4
5import org.eclipse.emf.ecore.EFactory;
6
7/**
8 * <!-- begin-user-doc -->
9 * The <b>Factory</b> for the model.
10 * It provides a create method for each non-abstract class of the model.
11 * <!-- end-user-doc -->
12 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage
13 * @generated
14 */
15public interface PartialinterpretationFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 PartialinterpretationFactory eINSTANCE = hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>Partial Interpretation</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>Partial Interpretation</em>'.
29 * @generated
30 */
31 PartialInterpretation createPartialInterpretation();
32
33 /**
34 * Returns a new object of class '<em>Partial Constant Interpretation</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Partial Constant Interpretation</em>'.
38 * @generated
39 */
40 PartialConstantInterpretation createPartialConstantInterpretation();
41
42 /**
43 * Returns a new object of class '<em>Partial Relation Interpretation</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>Partial Relation Interpretation</em>'.
47 * @generated
48 */
49 PartialRelationInterpretation createPartialRelationInterpretation();
50
51 /**
52 * Returns a new object of class '<em>Partial Function Interpretation</em>'.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return a new object of class '<em>Partial Function Interpretation</em>'.
56 * @generated
57 */
58 PartialFunctionInterpretation createPartialFunctionInterpretation();
59
60 /**
61 * Returns a new object of class '<em>Partial Type Interpratation</em>'.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return a new object of class '<em>Partial Type Interpratation</em>'.
65 * @generated
66 */
67 PartialTypeInterpratation createPartialTypeInterpratation();
68
69 /**
70 * Returns a new object of class '<em>Unary Element Relation Link</em>'.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @return a new object of class '<em>Unary Element Relation Link</em>'.
74 * @generated
75 */
76 UnaryElementRelationLink createUnaryElementRelationLink();
77
78 /**
79 * Returns a new object of class '<em>Binary Element Relation Link</em>'.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @return a new object of class '<em>Binary Element Relation Link</em>'.
83 * @generated
84 */
85 BinaryElementRelationLink createBinaryElementRelationLink();
86
87 /**
88 * Returns a new object of class '<em>Nary Relation Link</em>'.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @return a new object of class '<em>Nary Relation Link</em>'.
92 * @generated
93 */
94 NaryRelationLink createNaryRelationLink();
95
96 /**
97 * Returns a new object of class '<em>Nary Relation Link Element</em>'.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @return a new object of class '<em>Nary Relation Link Element</em>'.
101 * @generated
102 */
103 NaryRelationLinkElement createNaryRelationLinkElement();
104
105 /**
106 * Returns the package supported by this factory.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @return the package supported by this factory.
110 * @generated
111 */
112 PartialinterpretationPackage getPartialinterpretationPackage();
113
114} //PartialinterpretationFactory
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialinterpretationPackage.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialinterpretationPackage.java
new file mode 100644
index 00000000..573500dd
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialinterpretationPackage.java
@@ -0,0 +1,1237 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation;
4
5import org.eclipse.emf.ecore.EAttribute;
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EPackage;
8import org.eclipse.emf.ecore.EReference;
9
10/**
11 * <!-- begin-user-doc -->
12 * The <b>Package</b> for the model.
13 * It contains accessors for the meta objects to represent
14 * <ul>
15 * <li>each class,</li>
16 * <li>each feature of each class,</li>
17 * <li>each operation of each class,</li>
18 * <li>each enum,</li>
19 * <li>and each data type</li>
20 * </ul>
21 * <!-- end-user-doc -->
22 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationFactory
23 * @model kind="package"
24 * @generated
25 */
26public interface PartialinterpretationPackage extends EPackage {
27 /**
28 * The package name.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 String eNAME = "partialinterpretation";
34
35 /**
36 * The package namespace URI.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @generated
40 */
41 String eNS_URI = "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage";
42
43 /**
44 * The package namespace name.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @generated
48 */
49 String eNS_PREFIX = "partialinterpretation";
50
51 /**
52 * The singleton instance of the package.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 PartialinterpretationPackage eINSTANCE = hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl.init();
58
59 /**
60 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl <em>Partial Interpretation</em>}' class.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl
64 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialInterpretation()
65 * @generated
66 */
67 int PARTIAL_INTERPRETATION = 0;
68
69 /**
70 * The feature id for the '<em><b>Problem</b></em>' reference.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 * @ordered
75 */
76 int PARTIAL_INTERPRETATION__PROBLEM = 0;
77
78 /**
79 * The feature id for the '<em><b>Partialconstantinterpretation</b></em>' containment reference list.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 * @ordered
84 */
85 int PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION = 1;
86
87 /**
88 * The feature id for the '<em><b>Partialrelationinterpretation</b></em>' containment reference list.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 * @ordered
93 */
94 int PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION = 2;
95
96 /**
97 * The feature id for the '<em><b>Partialfunctioninterpretation</b></em>' containment reference list.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 * @ordered
102 */
103 int PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION = 3;
104
105 /**
106 * The feature id for the '<em><b>New Elements</b></em>' containment reference list.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 * @ordered
111 */
112 int PARTIAL_INTERPRETATION__NEW_ELEMENTS = 4;
113
114 /**
115 * The feature id for the '<em><b>Partialtypeinterpratation</b></em>' containment reference list.
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 * @ordered
120 */
121 int PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION = 5;
122
123 /**
124 * The feature id for the '<em><b>Min New Elements</b></em>' attribute.
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 * @ordered
129 */
130 int PARTIAL_INTERPRETATION__MIN_NEW_ELEMENTS = 6;
131
132 /**
133 * The feature id for the '<em><b>Max New Elements</b></em>' attribute.
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 * @ordered
138 */
139 int PARTIAL_INTERPRETATION__MAX_NEW_ELEMENTS = 7;
140
141 /**
142 * The feature id for the '<em><b>Open World Element Prototype</b></em>' containment reference.
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 * @ordered
147 */
148 int PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE = 8;
149
150 /**
151 * The feature id for the '<em><b>Problem Conainer</b></em>' containment reference.
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 * @ordered
156 */
157 int PARTIAL_INTERPRETATION__PROBLEM_CONAINER = 9;
158
159 /**
160 * The number of structural features of the '<em>Partial Interpretation</em>' class.
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 * @ordered
165 */
166 int PARTIAL_INTERPRETATION_FEATURE_COUNT = 10;
167
168 /**
169 * The number of operations of the '<em>Partial Interpretation</em>' class.
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 * @ordered
174 */
175 int PARTIAL_INTERPRETATION_OPERATION_COUNT = 0;
176
177 /**
178 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialConstantInterpretationImpl <em>Partial Constant Interpretation</em>}' class.
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialConstantInterpretationImpl
182 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialConstantInterpretation()
183 * @generated
184 */
185 int PARTIAL_CONSTANT_INTERPRETATION = 1;
186
187 /**
188 * The feature id for the '<em><b>Interpretation Of</b></em>' reference.
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @generated
192 * @ordered
193 */
194 int PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF = 0;
195
196 /**
197 * The number of structural features of the '<em>Partial Constant Interpretation</em>' class.
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 * @ordered
202 */
203 int PARTIAL_CONSTANT_INTERPRETATION_FEATURE_COUNT = 1;
204
205 /**
206 * The number of operations of the '<em>Partial Constant Interpretation</em>' class.
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 * @ordered
211 */
212 int PARTIAL_CONSTANT_INTERPRETATION_OPERATION_COUNT = 0;
213
214 /**
215 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialRelationInterpretationImpl <em>Partial Relation Interpretation</em>}' class.
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialRelationInterpretationImpl
219 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialRelationInterpretation()
220 * @generated
221 */
222 int PARTIAL_RELATION_INTERPRETATION = 2;
223
224 /**
225 * The feature id for the '<em><b>Interpretation Of</b></em>' reference.
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 * @ordered
230 */
231 int PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF = 0;
232
233 /**
234 * The feature id for the '<em><b>Relationlinks</b></em>' containment reference list.
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 * @ordered
239 */
240 int PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS = 1;
241
242 /**
243 * The feature id for the '<em><b>Param1</b></em>' reference.
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @generated
247 * @ordered
248 */
249 int PARTIAL_RELATION_INTERPRETATION__PARAM1 = 2;
250
251 /**
252 * The feature id for the '<em><b>Param2</b></em>' reference.
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 * @ordered
257 */
258 int PARTIAL_RELATION_INTERPRETATION__PARAM2 = 3;
259
260 /**
261 * The number of structural features of the '<em>Partial Relation Interpretation</em>' class.
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @generated
265 * @ordered
266 */
267 int PARTIAL_RELATION_INTERPRETATION_FEATURE_COUNT = 4;
268
269 /**
270 * The number of operations of the '<em>Partial Relation Interpretation</em>' class.
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @generated
274 * @ordered
275 */
276 int PARTIAL_RELATION_INTERPRETATION_OPERATION_COUNT = 0;
277
278 /**
279 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialFunctionInterpretationImpl <em>Partial Function Interpretation</em>}' class.
280 * <!-- begin-user-doc -->
281 * <!-- end-user-doc -->
282 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialFunctionInterpretationImpl
283 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialFunctionInterpretation()
284 * @generated
285 */
286 int PARTIAL_FUNCTION_INTERPRETATION = 3;
287
288 /**
289 * The feature id for the '<em><b>Interpretation Of</b></em>' reference.
290 * <!-- begin-user-doc -->
291 * <!-- end-user-doc -->
292 * @generated
293 * @ordered
294 */
295 int PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF = 0;
296
297 /**
298 * The number of structural features of the '<em>Partial Function Interpretation</em>' class.
299 * <!-- begin-user-doc -->
300 * <!-- end-user-doc -->
301 * @generated
302 * @ordered
303 */
304 int PARTIAL_FUNCTION_INTERPRETATION_FEATURE_COUNT = 1;
305
306 /**
307 * The number of operations of the '<em>Partial Function Interpretation</em>' class.
308 * <!-- begin-user-doc -->
309 * <!-- end-user-doc -->
310 * @generated
311 * @ordered
312 */
313 int PARTIAL_FUNCTION_INTERPRETATION_OPERATION_COUNT = 0;
314
315 /**
316 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialTypeInterpratationImpl <em>Partial Type Interpratation</em>}' class.
317 * <!-- begin-user-doc -->
318 * <!-- end-user-doc -->
319 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialTypeInterpratationImpl
320 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialTypeInterpratation()
321 * @generated
322 */
323 int PARTIAL_TYPE_INTERPRATATION = 4;
324
325 /**
326 * The feature id for the '<em><b>Interpretation Of</b></em>' reference.
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @generated
330 * @ordered
331 */
332 int PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF = 0;
333
334 /**
335 * The feature id for the '<em><b>Elements</b></em>' reference list.
336 * <!-- begin-user-doc -->
337 * <!-- end-user-doc -->
338 * @generated
339 * @ordered
340 */
341 int PARTIAL_TYPE_INTERPRATATION__ELEMENTS = 1;
342
343 /**
344 * The feature id for the '<em><b>Supertype Interpretation</b></em>' reference list.
345 * <!-- begin-user-doc -->
346 * <!-- end-user-doc -->
347 * @generated
348 * @ordered
349 */
350 int PARTIAL_TYPE_INTERPRATATION__SUPERTYPE_INTERPRETATION = 2;
351
352 /**
353 * The number of structural features of the '<em>Partial Type Interpratation</em>' class.
354 * <!-- begin-user-doc -->
355 * <!-- end-user-doc -->
356 * @generated
357 * @ordered
358 */
359 int PARTIAL_TYPE_INTERPRATATION_FEATURE_COUNT = 3;
360
361 /**
362 * The number of operations of the '<em>Partial Type Interpratation</em>' class.
363 * <!-- begin-user-doc -->
364 * <!-- end-user-doc -->
365 * @generated
366 * @ordered
367 */
368 int PARTIAL_TYPE_INTERPRATATION_OPERATION_COUNT = 0;
369
370 /**
371 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.RelationLinkImpl <em>Relation Link</em>}' class.
372 * <!-- begin-user-doc -->
373 * <!-- end-user-doc -->
374 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.RelationLinkImpl
375 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getRelationLink()
376 * @generated
377 */
378 int RELATION_LINK = 5;
379
380 /**
381 * The number of structural features of the '<em>Relation Link</em>' class.
382 * <!-- begin-user-doc -->
383 * <!-- end-user-doc -->
384 * @generated
385 * @ordered
386 */
387 int RELATION_LINK_FEATURE_COUNT = 0;
388
389 /**
390 * The number of operations of the '<em>Relation Link</em>' class.
391 * <!-- begin-user-doc -->
392 * <!-- end-user-doc -->
393 * @generated
394 * @ordered
395 */
396 int RELATION_LINK_OPERATION_COUNT = 0;
397
398 /**
399 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.UnaryElementRelationLinkImpl <em>Unary Element Relation Link</em>}' class.
400 * <!-- begin-user-doc -->
401 * <!-- end-user-doc -->
402 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.UnaryElementRelationLinkImpl
403 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getUnaryElementRelationLink()
404 * @generated
405 */
406 int UNARY_ELEMENT_RELATION_LINK = 6;
407
408 /**
409 * The feature id for the '<em><b>Param1</b></em>' reference.
410 * <!-- begin-user-doc -->
411 * <!-- end-user-doc -->
412 * @generated
413 * @ordered
414 */
415 int UNARY_ELEMENT_RELATION_LINK__PARAM1 = RELATION_LINK_FEATURE_COUNT + 0;
416
417 /**
418 * The number of structural features of the '<em>Unary Element Relation Link</em>' class.
419 * <!-- begin-user-doc -->
420 * <!-- end-user-doc -->
421 * @generated
422 * @ordered
423 */
424 int UNARY_ELEMENT_RELATION_LINK_FEATURE_COUNT = RELATION_LINK_FEATURE_COUNT + 1;
425
426 /**
427 * The number of operations of the '<em>Unary Element Relation Link</em>' class.
428 * <!-- begin-user-doc -->
429 * <!-- end-user-doc -->
430 * @generated
431 * @ordered
432 */
433 int UNARY_ELEMENT_RELATION_LINK_OPERATION_COUNT = RELATION_LINK_OPERATION_COUNT + 0;
434
435 /**
436 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.BinaryElementRelationLinkImpl <em>Binary Element Relation Link</em>}' class.
437 * <!-- begin-user-doc -->
438 * <!-- end-user-doc -->
439 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.BinaryElementRelationLinkImpl
440 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getBinaryElementRelationLink()
441 * @generated
442 */
443 int BINARY_ELEMENT_RELATION_LINK = 7;
444
445 /**
446 * The feature id for the '<em><b>Param1</b></em>' reference.
447 * <!-- begin-user-doc -->
448 * <!-- end-user-doc -->
449 * @generated
450 * @ordered
451 */
452 int BINARY_ELEMENT_RELATION_LINK__PARAM1 = RELATION_LINK_FEATURE_COUNT + 0;
453
454 /**
455 * The feature id for the '<em><b>Param2</b></em>' reference.
456 * <!-- begin-user-doc -->
457 * <!-- end-user-doc -->
458 * @generated
459 * @ordered
460 */
461 int BINARY_ELEMENT_RELATION_LINK__PARAM2 = RELATION_LINK_FEATURE_COUNT + 1;
462
463 /**
464 * The number of structural features of the '<em>Binary Element Relation Link</em>' class.
465 * <!-- begin-user-doc -->
466 * <!-- end-user-doc -->
467 * @generated
468 * @ordered
469 */
470 int BINARY_ELEMENT_RELATION_LINK_FEATURE_COUNT = RELATION_LINK_FEATURE_COUNT + 2;
471
472 /**
473 * The number of operations of the '<em>Binary Element Relation Link</em>' class.
474 * <!-- begin-user-doc -->
475 * <!-- end-user-doc -->
476 * @generated
477 * @ordered
478 */
479 int BINARY_ELEMENT_RELATION_LINK_OPERATION_COUNT = RELATION_LINK_OPERATION_COUNT + 0;
480
481 /**
482 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkImpl <em>Nary Relation Link</em>}' class.
483 * <!-- begin-user-doc -->
484 * <!-- end-user-doc -->
485 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkImpl
486 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getNaryRelationLink()
487 * @generated
488 */
489 int NARY_RELATION_LINK = 8;
490
491 /**
492 * The feature id for the '<em><b>Elements</b></em>' containment reference list.
493 * <!-- begin-user-doc -->
494 * <!-- end-user-doc -->
495 * @generated
496 * @ordered
497 */
498 int NARY_RELATION_LINK__ELEMENTS = RELATION_LINK_FEATURE_COUNT + 0;
499
500 /**
501 * The number of structural features of the '<em>Nary Relation Link</em>' class.
502 * <!-- begin-user-doc -->
503 * <!-- end-user-doc -->
504 * @generated
505 * @ordered
506 */
507 int NARY_RELATION_LINK_FEATURE_COUNT = RELATION_LINK_FEATURE_COUNT + 1;
508
509 /**
510 * The number of operations of the '<em>Nary Relation Link</em>' class.
511 * <!-- begin-user-doc -->
512 * <!-- end-user-doc -->
513 * @generated
514 * @ordered
515 */
516 int NARY_RELATION_LINK_OPERATION_COUNT = RELATION_LINK_OPERATION_COUNT + 0;
517
518 /**
519 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkElementImpl <em>Nary Relation Link Element</em>}' class.
520 * <!-- begin-user-doc -->
521 * <!-- end-user-doc -->
522 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkElementImpl
523 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getNaryRelationLinkElement()
524 * @generated
525 */
526 int NARY_RELATION_LINK_ELEMENT = 9;
527
528 /**
529 * The feature id for the '<em><b>Index</b></em>' attribute.
530 * <!-- begin-user-doc -->
531 * <!-- end-user-doc -->
532 * @generated
533 * @ordered
534 */
535 int NARY_RELATION_LINK_ELEMENT__INDEX = 0;
536
537 /**
538 * The number of structural features of the '<em>Nary Relation Link Element</em>' class.
539 * <!-- begin-user-doc -->
540 * <!-- end-user-doc -->
541 * @generated
542 * @ordered
543 */
544 int NARY_RELATION_LINK_ELEMENT_FEATURE_COUNT = 1;
545
546 /**
547 * The number of operations of the '<em>Nary Relation Link Element</em>' class.
548 * <!-- begin-user-doc -->
549 * <!-- end-user-doc -->
550 * @generated
551 * @ordered
552 */
553 int NARY_RELATION_LINK_ELEMENT_OPERATION_COUNT = 0;
554
555
556 /**
557 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation <em>Partial Interpretation</em>}'.
558 * <!-- begin-user-doc -->
559 * <!-- end-user-doc -->
560 * @return the meta object for class '<em>Partial Interpretation</em>'.
561 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
562 * @generated
563 */
564 EClass getPartialInterpretation();
565
566 /**
567 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getProblem <em>Problem</em>}'.
568 * <!-- begin-user-doc -->
569 * <!-- end-user-doc -->
570 * @return the meta object for the reference '<em>Problem</em>'.
571 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getProblem()
572 * @see #getPartialInterpretation()
573 * @generated
574 */
575 EReference getPartialInterpretation_Problem();
576
577 /**
578 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialconstantinterpretation <em>Partialconstantinterpretation</em>}'.
579 * <!-- begin-user-doc -->
580 * <!-- end-user-doc -->
581 * @return the meta object for the containment reference list '<em>Partialconstantinterpretation</em>'.
582 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialconstantinterpretation()
583 * @see #getPartialInterpretation()
584 * @generated
585 */
586 EReference getPartialInterpretation_Partialconstantinterpretation();
587
588 /**
589 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialrelationinterpretation <em>Partialrelationinterpretation</em>}'.
590 * <!-- begin-user-doc -->
591 * <!-- end-user-doc -->
592 * @return the meta object for the containment reference list '<em>Partialrelationinterpretation</em>'.
593 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialrelationinterpretation()
594 * @see #getPartialInterpretation()
595 * @generated
596 */
597 EReference getPartialInterpretation_Partialrelationinterpretation();
598
599 /**
600 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialfunctioninterpretation <em>Partialfunctioninterpretation</em>}'.
601 * <!-- begin-user-doc -->
602 * <!-- end-user-doc -->
603 * @return the meta object for the containment reference list '<em>Partialfunctioninterpretation</em>'.
604 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialfunctioninterpretation()
605 * @see #getPartialInterpretation()
606 * @generated
607 */
608 EReference getPartialInterpretation_Partialfunctioninterpretation();
609
610 /**
611 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getNewElements <em>New Elements</em>}'.
612 * <!-- begin-user-doc -->
613 * <!-- end-user-doc -->
614 * @return the meta object for the containment reference list '<em>New Elements</em>'.
615 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getNewElements()
616 * @see #getPartialInterpretation()
617 * @generated
618 */
619 EReference getPartialInterpretation_NewElements();
620
621 /**
622 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialtypeinterpratation <em>Partialtypeinterpratation</em>}'.
623 * <!-- begin-user-doc -->
624 * <!-- end-user-doc -->
625 * @return the meta object for the containment reference list '<em>Partialtypeinterpratation</em>'.
626 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getPartialtypeinterpratation()
627 * @see #getPartialInterpretation()
628 * @generated
629 */
630 EReference getPartialInterpretation_Partialtypeinterpratation();
631
632 /**
633 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getMinNewElements <em>Min New Elements</em>}'.
634 * <!-- begin-user-doc -->
635 * <!-- end-user-doc -->
636 * @return the meta object for the attribute '<em>Min New Elements</em>'.
637 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getMinNewElements()
638 * @see #getPartialInterpretation()
639 * @generated
640 */
641 EAttribute getPartialInterpretation_MinNewElements();
642
643 /**
644 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getMaxNewElements <em>Max New Elements</em>}'.
645 * <!-- begin-user-doc -->
646 * <!-- end-user-doc -->
647 * @return the meta object for the attribute '<em>Max New Elements</em>'.
648 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getMaxNewElements()
649 * @see #getPartialInterpretation()
650 * @generated
651 */
652 EAttribute getPartialInterpretation_MaxNewElements();
653
654 /**
655 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getOpenWorldElementPrototype <em>Open World Element Prototype</em>}'.
656 * <!-- begin-user-doc -->
657 * <!-- end-user-doc -->
658 * @return the meta object for the containment reference '<em>Open World Element Prototype</em>'.
659 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getOpenWorldElementPrototype()
660 * @see #getPartialInterpretation()
661 * @generated
662 */
663 EReference getPartialInterpretation_OpenWorldElementPrototype();
664
665 /**
666 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getProblemConainer <em>Problem Conainer</em>}'.
667 * <!-- begin-user-doc -->
668 * <!-- end-user-doc -->
669 * @return the meta object for the containment reference '<em>Problem Conainer</em>'.
670 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation#getProblemConainer()
671 * @see #getPartialInterpretation()
672 * @generated
673 */
674 EReference getPartialInterpretation_ProblemConainer();
675
676 /**
677 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation <em>Partial Constant Interpretation</em>}'.
678 * <!-- begin-user-doc -->
679 * <!-- end-user-doc -->
680 * @return the meta object for class '<em>Partial Constant Interpretation</em>'.
681 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation
682 * @generated
683 */
684 EClass getPartialConstantInterpretation();
685
686 /**
687 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation#getInterpretationOf <em>Interpretation Of</em>}'.
688 * <!-- begin-user-doc -->
689 * <!-- end-user-doc -->
690 * @return the meta object for the reference '<em>Interpretation Of</em>'.
691 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation#getInterpretationOf()
692 * @see #getPartialConstantInterpretation()
693 * @generated
694 */
695 EReference getPartialConstantInterpretation_InterpretationOf();
696
697 /**
698 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation <em>Partial Relation Interpretation</em>}'.
699 * <!-- begin-user-doc -->
700 * <!-- end-user-doc -->
701 * @return the meta object for class '<em>Partial Relation Interpretation</em>'.
702 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation
703 * @generated
704 */
705 EClass getPartialRelationInterpretation();
706
707 /**
708 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getInterpretationOf <em>Interpretation Of</em>}'.
709 * <!-- begin-user-doc -->
710 * <!-- end-user-doc -->
711 * @return the meta object for the reference '<em>Interpretation Of</em>'.
712 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getInterpretationOf()
713 * @see #getPartialRelationInterpretation()
714 * @generated
715 */
716 EReference getPartialRelationInterpretation_InterpretationOf();
717
718 /**
719 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getRelationlinks <em>Relationlinks</em>}'.
720 * <!-- begin-user-doc -->
721 * <!-- end-user-doc -->
722 * @return the meta object for the containment reference list '<em>Relationlinks</em>'.
723 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getRelationlinks()
724 * @see #getPartialRelationInterpretation()
725 * @generated
726 */
727 EReference getPartialRelationInterpretation_Relationlinks();
728
729 /**
730 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getParam1 <em>Param1</em>}'.
731 * <!-- begin-user-doc -->
732 * <!-- end-user-doc -->
733 * @return the meta object for the reference '<em>Param1</em>'.
734 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getParam1()
735 * @see #getPartialRelationInterpretation()
736 * @generated
737 */
738 EReference getPartialRelationInterpretation_Param1();
739
740 /**
741 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getParam2 <em>Param2</em>}'.
742 * <!-- begin-user-doc -->
743 * <!-- end-user-doc -->
744 * @return the meta object for the reference '<em>Param2</em>'.
745 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation#getParam2()
746 * @see #getPartialRelationInterpretation()
747 * @generated
748 */
749 EReference getPartialRelationInterpretation_Param2();
750
751 /**
752 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation <em>Partial Function Interpretation</em>}'.
753 * <!-- begin-user-doc -->
754 * <!-- end-user-doc -->
755 * @return the meta object for class '<em>Partial Function Interpretation</em>'.
756 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation
757 * @generated
758 */
759 EClass getPartialFunctionInterpretation();
760
761 /**
762 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation#getInterpretationOf <em>Interpretation Of</em>}'.
763 * <!-- begin-user-doc -->
764 * <!-- end-user-doc -->
765 * @return the meta object for the reference '<em>Interpretation Of</em>'.
766 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation#getInterpretationOf()
767 * @see #getPartialFunctionInterpretation()
768 * @generated
769 */
770 EReference getPartialFunctionInterpretation_InterpretationOf();
771
772 /**
773 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation <em>Partial Type Interpratation</em>}'.
774 * <!-- begin-user-doc -->
775 * <!-- end-user-doc -->
776 * @return the meta object for class '<em>Partial Type Interpratation</em>'.
777 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation
778 * @generated
779 */
780 EClass getPartialTypeInterpratation();
781
782 /**
783 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getInterpretationOf <em>Interpretation Of</em>}'.
784 * <!-- begin-user-doc -->
785 * <!-- end-user-doc -->
786 * @return the meta object for the reference '<em>Interpretation Of</em>'.
787 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getInterpretationOf()
788 * @see #getPartialTypeInterpratation()
789 * @generated
790 */
791 EReference getPartialTypeInterpratation_InterpretationOf();
792
793 /**
794 * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getElements <em>Elements</em>}'.
795 * <!-- begin-user-doc -->
796 * <!-- end-user-doc -->
797 * @return the meta object for the reference list '<em>Elements</em>'.
798 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getElements()
799 * @see #getPartialTypeInterpratation()
800 * @generated
801 */
802 EReference getPartialTypeInterpratation_Elements();
803
804 /**
805 * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getSupertypeInterpretation <em>Supertype Interpretation</em>}'.
806 * <!-- begin-user-doc -->
807 * <!-- end-user-doc -->
808 * @return the meta object for the reference list '<em>Supertype Interpretation</em>'.
809 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation#getSupertypeInterpretation()
810 * @see #getPartialTypeInterpratation()
811 * @generated
812 */
813 EReference getPartialTypeInterpratation_SupertypeInterpretation();
814
815 /**
816 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RelationLink <em>Relation Link</em>}'.
817 * <!-- begin-user-doc -->
818 * <!-- end-user-doc -->
819 * @return the meta object for class '<em>Relation Link</em>'.
820 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RelationLink
821 * @generated
822 */
823 EClass getRelationLink();
824
825 /**
826 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink <em>Unary Element Relation Link</em>}'.
827 * <!-- begin-user-doc -->
828 * <!-- end-user-doc -->
829 * @return the meta object for class '<em>Unary Element Relation Link</em>'.
830 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink
831 * @generated
832 */
833 EClass getUnaryElementRelationLink();
834
835 /**
836 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink#getParam1 <em>Param1</em>}'.
837 * <!-- begin-user-doc -->
838 * <!-- end-user-doc -->
839 * @return the meta object for the reference '<em>Param1</em>'.
840 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink#getParam1()
841 * @see #getUnaryElementRelationLink()
842 * @generated
843 */
844 EReference getUnaryElementRelationLink_Param1();
845
846 /**
847 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink <em>Binary Element Relation Link</em>}'.
848 * <!-- begin-user-doc -->
849 * <!-- end-user-doc -->
850 * @return the meta object for class '<em>Binary Element Relation Link</em>'.
851 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink
852 * @generated
853 */
854 EClass getBinaryElementRelationLink();
855
856 /**
857 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink#getParam1 <em>Param1</em>}'.
858 * <!-- begin-user-doc -->
859 * <!-- end-user-doc -->
860 * @return the meta object for the reference '<em>Param1</em>'.
861 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink#getParam1()
862 * @see #getBinaryElementRelationLink()
863 * @generated
864 */
865 EReference getBinaryElementRelationLink_Param1();
866
867 /**
868 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink#getParam2 <em>Param2</em>}'.
869 * <!-- begin-user-doc -->
870 * <!-- end-user-doc -->
871 * @return the meta object for the reference '<em>Param2</em>'.
872 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink#getParam2()
873 * @see #getBinaryElementRelationLink()
874 * @generated
875 */
876 EReference getBinaryElementRelationLink_Param2();
877
878 /**
879 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLink <em>Nary Relation Link</em>}'.
880 * <!-- begin-user-doc -->
881 * <!-- end-user-doc -->
882 * @return the meta object for class '<em>Nary Relation Link</em>'.
883 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLink
884 * @generated
885 */
886 EClass getNaryRelationLink();
887
888 /**
889 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLink#getElements <em>Elements</em>}'.
890 * <!-- begin-user-doc -->
891 * <!-- end-user-doc -->
892 * @return the meta object for the containment reference list '<em>Elements</em>'.
893 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLink#getElements()
894 * @see #getNaryRelationLink()
895 * @generated
896 */
897 EReference getNaryRelationLink_Elements();
898
899 /**
900 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement <em>Nary Relation Link Element</em>}'.
901 * <!-- begin-user-doc -->
902 * <!-- end-user-doc -->
903 * @return the meta object for class '<em>Nary Relation Link Element</em>'.
904 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement
905 * @generated
906 */
907 EClass getNaryRelationLinkElement();
908
909 /**
910 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement#getIndex <em>Index</em>}'.
911 * <!-- begin-user-doc -->
912 * <!-- end-user-doc -->
913 * @return the meta object for the attribute '<em>Index</em>'.
914 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement#getIndex()
915 * @see #getNaryRelationLinkElement()
916 * @generated
917 */
918 EAttribute getNaryRelationLinkElement_Index();
919
920 /**
921 * Returns the factory that creates the instances of the model.
922 * <!-- begin-user-doc -->
923 * <!-- end-user-doc -->
924 * @return the factory that creates the instances of the model.
925 * @generated
926 */
927 PartialinterpretationFactory getPartialinterpretationFactory();
928
929 /**
930 * <!-- begin-user-doc -->
931 * Defines literals for the meta objects that represent
932 * <ul>
933 * <li>each class,</li>
934 * <li>each feature of each class,</li>
935 * <li>each operation of each class,</li>
936 * <li>each enum,</li>
937 * <li>and each data type</li>
938 * </ul>
939 * <!-- end-user-doc -->
940 * @generated
941 */
942 interface Literals {
943 /**
944 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl <em>Partial Interpretation</em>}' class.
945 * <!-- begin-user-doc -->
946 * <!-- end-user-doc -->
947 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl
948 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialInterpretation()
949 * @generated
950 */
951 EClass PARTIAL_INTERPRETATION = eINSTANCE.getPartialInterpretation();
952
953 /**
954 * The meta object literal for the '<em><b>Problem</b></em>' reference feature.
955 * <!-- begin-user-doc -->
956 * <!-- end-user-doc -->
957 * @generated
958 */
959 EReference PARTIAL_INTERPRETATION__PROBLEM = eINSTANCE.getPartialInterpretation_Problem();
960
961 /**
962 * The meta object literal for the '<em><b>Partialconstantinterpretation</b></em>' containment reference list feature.
963 * <!-- begin-user-doc -->
964 * <!-- end-user-doc -->
965 * @generated
966 */
967 EReference PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION = eINSTANCE.getPartialInterpretation_Partialconstantinterpretation();
968
969 /**
970 * The meta object literal for the '<em><b>Partialrelationinterpretation</b></em>' containment reference list feature.
971 * <!-- begin-user-doc -->
972 * <!-- end-user-doc -->
973 * @generated
974 */
975 EReference PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION = eINSTANCE.getPartialInterpretation_Partialrelationinterpretation();
976
977 /**
978 * The meta object literal for the '<em><b>Partialfunctioninterpretation</b></em>' containment reference list feature.
979 * <!-- begin-user-doc -->
980 * <!-- end-user-doc -->
981 * @generated
982 */
983 EReference PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION = eINSTANCE.getPartialInterpretation_Partialfunctioninterpretation();
984
985 /**
986 * The meta object literal for the '<em><b>New Elements</b></em>' containment reference list feature.
987 * <!-- begin-user-doc -->
988 * <!-- end-user-doc -->
989 * @generated
990 */
991 EReference PARTIAL_INTERPRETATION__NEW_ELEMENTS = eINSTANCE.getPartialInterpretation_NewElements();
992
993 /**
994 * The meta object literal for the '<em><b>Partialtypeinterpratation</b></em>' containment reference list feature.
995 * <!-- begin-user-doc -->
996 * <!-- end-user-doc -->
997 * @generated
998 */
999 EReference PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION = eINSTANCE.getPartialInterpretation_Partialtypeinterpratation();
1000
1001 /**
1002 * The meta object literal for the '<em><b>Min New Elements</b></em>' attribute feature.
1003 * <!-- begin-user-doc -->
1004 * <!-- end-user-doc -->
1005 * @generated
1006 */
1007 EAttribute PARTIAL_INTERPRETATION__MIN_NEW_ELEMENTS = eINSTANCE.getPartialInterpretation_MinNewElements();
1008
1009 /**
1010 * The meta object literal for the '<em><b>Max New Elements</b></em>' attribute feature.
1011 * <!-- begin-user-doc -->
1012 * <!-- end-user-doc -->
1013 * @generated
1014 */
1015 EAttribute PARTIAL_INTERPRETATION__MAX_NEW_ELEMENTS = eINSTANCE.getPartialInterpretation_MaxNewElements();
1016
1017 /**
1018 * The meta object literal for the '<em><b>Open World Element Prototype</b></em>' containment reference feature.
1019 * <!-- begin-user-doc -->
1020 * <!-- end-user-doc -->
1021 * @generated
1022 */
1023 EReference PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE = eINSTANCE.getPartialInterpretation_OpenWorldElementPrototype();
1024
1025 /**
1026 * The meta object literal for the '<em><b>Problem Conainer</b></em>' containment reference feature.
1027 * <!-- begin-user-doc -->
1028 * <!-- end-user-doc -->
1029 * @generated
1030 */
1031 EReference PARTIAL_INTERPRETATION__PROBLEM_CONAINER = eINSTANCE.getPartialInterpretation_ProblemConainer();
1032
1033 /**
1034 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialConstantInterpretationImpl <em>Partial Constant Interpretation</em>}' class.
1035 * <!-- begin-user-doc -->
1036 * <!-- end-user-doc -->
1037 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialConstantInterpretationImpl
1038 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialConstantInterpretation()
1039 * @generated
1040 */
1041 EClass PARTIAL_CONSTANT_INTERPRETATION = eINSTANCE.getPartialConstantInterpretation();
1042
1043 /**
1044 * The meta object literal for the '<em><b>Interpretation Of</b></em>' reference feature.
1045 * <!-- begin-user-doc -->
1046 * <!-- end-user-doc -->
1047 * @generated
1048 */
1049 EReference PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF = eINSTANCE.getPartialConstantInterpretation_InterpretationOf();
1050
1051 /**
1052 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialRelationInterpretationImpl <em>Partial Relation Interpretation</em>}' class.
1053 * <!-- begin-user-doc -->
1054 * <!-- end-user-doc -->
1055 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialRelationInterpretationImpl
1056 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialRelationInterpretation()
1057 * @generated
1058 */
1059 EClass PARTIAL_RELATION_INTERPRETATION = eINSTANCE.getPartialRelationInterpretation();
1060
1061 /**
1062 * The meta object literal for the '<em><b>Interpretation Of</b></em>' reference feature.
1063 * <!-- begin-user-doc -->
1064 * <!-- end-user-doc -->
1065 * @generated
1066 */
1067 EReference PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF = eINSTANCE.getPartialRelationInterpretation_InterpretationOf();
1068
1069 /**
1070 * The meta object literal for the '<em><b>Relationlinks</b></em>' containment reference list feature.
1071 * <!-- begin-user-doc -->
1072 * <!-- end-user-doc -->
1073 * @generated
1074 */
1075 EReference PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS = eINSTANCE.getPartialRelationInterpretation_Relationlinks();
1076
1077 /**
1078 * The meta object literal for the '<em><b>Param1</b></em>' reference feature.
1079 * <!-- begin-user-doc -->
1080 * <!-- end-user-doc -->
1081 * @generated
1082 */
1083 EReference PARTIAL_RELATION_INTERPRETATION__PARAM1 = eINSTANCE.getPartialRelationInterpretation_Param1();
1084
1085 /**
1086 * The meta object literal for the '<em><b>Param2</b></em>' reference feature.
1087 * <!-- begin-user-doc -->
1088 * <!-- end-user-doc -->
1089 * @generated
1090 */
1091 EReference PARTIAL_RELATION_INTERPRETATION__PARAM2 = eINSTANCE.getPartialRelationInterpretation_Param2();
1092
1093 /**
1094 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialFunctionInterpretationImpl <em>Partial Function Interpretation</em>}' class.
1095 * <!-- begin-user-doc -->
1096 * <!-- end-user-doc -->
1097 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialFunctionInterpretationImpl
1098 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialFunctionInterpretation()
1099 * @generated
1100 */
1101 EClass PARTIAL_FUNCTION_INTERPRETATION = eINSTANCE.getPartialFunctionInterpretation();
1102
1103 /**
1104 * The meta object literal for the '<em><b>Interpretation Of</b></em>' reference feature.
1105 * <!-- begin-user-doc -->
1106 * <!-- end-user-doc -->
1107 * @generated
1108 */
1109 EReference PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF = eINSTANCE.getPartialFunctionInterpretation_InterpretationOf();
1110
1111 /**
1112 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialTypeInterpratationImpl <em>Partial Type Interpratation</em>}' class.
1113 * <!-- begin-user-doc -->
1114 * <!-- end-user-doc -->
1115 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialTypeInterpratationImpl
1116 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getPartialTypeInterpratation()
1117 * @generated
1118 */
1119 EClass PARTIAL_TYPE_INTERPRATATION = eINSTANCE.getPartialTypeInterpratation();
1120
1121 /**
1122 * The meta object literal for the '<em><b>Interpretation Of</b></em>' reference feature.
1123 * <!-- begin-user-doc -->
1124 * <!-- end-user-doc -->
1125 * @generated
1126 */
1127 EReference PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF = eINSTANCE.getPartialTypeInterpratation_InterpretationOf();
1128
1129 /**
1130 * The meta object literal for the '<em><b>Elements</b></em>' reference list feature.
1131 * <!-- begin-user-doc -->
1132 * <!-- end-user-doc -->
1133 * @generated
1134 */
1135 EReference PARTIAL_TYPE_INTERPRATATION__ELEMENTS = eINSTANCE.getPartialTypeInterpratation_Elements();
1136
1137 /**
1138 * The meta object literal for the '<em><b>Supertype Interpretation</b></em>' reference list feature.
1139 * <!-- begin-user-doc -->
1140 * <!-- end-user-doc -->
1141 * @generated
1142 */
1143 EReference PARTIAL_TYPE_INTERPRATATION__SUPERTYPE_INTERPRETATION = eINSTANCE.getPartialTypeInterpratation_SupertypeInterpretation();
1144
1145 /**
1146 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.RelationLinkImpl <em>Relation Link</em>}' class.
1147 * <!-- begin-user-doc -->
1148 * <!-- end-user-doc -->
1149 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.RelationLinkImpl
1150 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getRelationLink()
1151 * @generated
1152 */
1153 EClass RELATION_LINK = eINSTANCE.getRelationLink();
1154
1155 /**
1156 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.UnaryElementRelationLinkImpl <em>Unary Element Relation Link</em>}' class.
1157 * <!-- begin-user-doc -->
1158 * <!-- end-user-doc -->
1159 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.UnaryElementRelationLinkImpl
1160 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getUnaryElementRelationLink()
1161 * @generated
1162 */
1163 EClass UNARY_ELEMENT_RELATION_LINK = eINSTANCE.getUnaryElementRelationLink();
1164
1165 /**
1166 * The meta object literal for the '<em><b>Param1</b></em>' reference feature.
1167 * <!-- begin-user-doc -->
1168 * <!-- end-user-doc -->
1169 * @generated
1170 */
1171 EReference UNARY_ELEMENT_RELATION_LINK__PARAM1 = eINSTANCE.getUnaryElementRelationLink_Param1();
1172
1173 /**
1174 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.BinaryElementRelationLinkImpl <em>Binary Element Relation Link</em>}' class.
1175 * <!-- begin-user-doc -->
1176 * <!-- end-user-doc -->
1177 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.BinaryElementRelationLinkImpl
1178 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getBinaryElementRelationLink()
1179 * @generated
1180 */
1181 EClass BINARY_ELEMENT_RELATION_LINK = eINSTANCE.getBinaryElementRelationLink();
1182
1183 /**
1184 * The meta object literal for the '<em><b>Param1</b></em>' reference feature.
1185 * <!-- begin-user-doc -->
1186 * <!-- end-user-doc -->
1187 * @generated
1188 */
1189 EReference BINARY_ELEMENT_RELATION_LINK__PARAM1 = eINSTANCE.getBinaryElementRelationLink_Param1();
1190
1191 /**
1192 * The meta object literal for the '<em><b>Param2</b></em>' reference feature.
1193 * <!-- begin-user-doc -->
1194 * <!-- end-user-doc -->
1195 * @generated
1196 */
1197 EReference BINARY_ELEMENT_RELATION_LINK__PARAM2 = eINSTANCE.getBinaryElementRelationLink_Param2();
1198
1199 /**
1200 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkImpl <em>Nary Relation Link</em>}' class.
1201 * <!-- begin-user-doc -->
1202 * <!-- end-user-doc -->
1203 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkImpl
1204 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getNaryRelationLink()
1205 * @generated
1206 */
1207 EClass NARY_RELATION_LINK = eINSTANCE.getNaryRelationLink();
1208
1209 /**
1210 * The meta object literal for the '<em><b>Elements</b></em>' containment reference list feature.
1211 * <!-- begin-user-doc -->
1212 * <!-- end-user-doc -->
1213 * @generated
1214 */
1215 EReference NARY_RELATION_LINK__ELEMENTS = eINSTANCE.getNaryRelationLink_Elements();
1216
1217 /**
1218 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkElementImpl <em>Nary Relation Link Element</em>}' class.
1219 * <!-- begin-user-doc -->
1220 * <!-- end-user-doc -->
1221 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkElementImpl
1222 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialinterpretationPackageImpl#getNaryRelationLinkElement()
1223 * @generated
1224 */
1225 EClass NARY_RELATION_LINK_ELEMENT = eINSTANCE.getNaryRelationLinkElement();
1226
1227 /**
1228 * The meta object literal for the '<em><b>Index</b></em>' attribute feature.
1229 * <!-- begin-user-doc -->
1230 * <!-- end-user-doc -->
1231 * @generated
1232 */
1233 EAttribute NARY_RELATION_LINK_ELEMENT__INDEX = eINSTANCE.getNaryRelationLinkElement_Index();
1234
1235 }
1236
1237} //PartialinterpretationPackage
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/RelationLink.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/RelationLink.java
new file mode 100644
index 00000000..8da96792
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/RelationLink.java
@@ -0,0 +1,18 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Relation Link</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getRelationLink()
14 * @model abstract="true"
15 * @generated
16 */
17public interface RelationLink extends EObject {
18} // RelationLink
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/UnaryElementRelationLink.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/UnaryElementRelationLink.java
new file mode 100644
index 00000000..f25a4e05
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/UnaryElementRelationLink.java
@@ -0,0 +1,50 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Unary Element Relation Link</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink#getParam1 <em>Param1</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getUnaryElementRelationLink()
20 * @model
21 * @generated
22 */
23public interface UnaryElementRelationLink extends RelationLink {
24 /**
25 * Returns the value of the '<em><b>Param1</b></em>' reference.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Param1</em>' reference isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Param1</em>' reference.
33 * @see #setParam1(DefinedElement)
34 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getUnaryElementRelationLink_Param1()
35 * @model required="true"
36 * @generated
37 */
38 DefinedElement getParam1();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink#getParam1 <em>Param1</em>}' reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Param1</em>' reference.
45 * @see #getParam1()
46 * @generated
47 */
48 void setParam1(DefinedElement value);
49
50} // UnaryElementRelationLink
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/BinaryElementRelationLinkImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/BinaryElementRelationLinkImpl.java
new file mode 100644
index 00000000..f5efe02a
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/BinaryElementRelationLinkImpl.java
@@ -0,0 +1,217 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
6
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink;
8import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage;
9
10import org.eclipse.emf.common.notify.Notification;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Binary Element Relation Link</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.BinaryElementRelationLinkImpl#getParam1 <em>Param1</em>}</li>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.BinaryElementRelationLinkImpl#getParam2 <em>Param2</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class BinaryElementRelationLinkImpl extends RelationLinkImpl implements BinaryElementRelationLink {
32 /**
33 * The cached value of the '{@link #getParam1() <em>Param1</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getParam1()
37 * @generated
38 * @ordered
39 */
40 protected DefinedElement param1;
41
42 /**
43 * The cached value of the '{@link #getParam2() <em>Param2</em>}' reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getParam2()
47 * @generated
48 * @ordered
49 */
50 protected DefinedElement param2;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected BinaryElementRelationLinkImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return PartialinterpretationPackage.Literals.BINARY_ELEMENT_RELATION_LINK;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public DefinedElement getParam1() {
77 if (param1 != null && param1.eIsProxy()) {
78 InternalEObject oldParam1 = (InternalEObject)param1;
79 param1 = (DefinedElement)eResolveProxy(oldParam1);
80 if (param1 != oldParam1) {
81 if (eNotificationRequired())
82 eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM1, oldParam1, param1));
83 }
84 }
85 return param1;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public DefinedElement basicGetParam1() {
94 return param1;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 public void setParam1(DefinedElement newParam1) {
103 DefinedElement oldParam1 = param1;
104 param1 = newParam1;
105 if (eNotificationRequired())
106 eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM1, oldParam1, param1));
107 }
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 public DefinedElement getParam2() {
115 if (param2 != null && param2.eIsProxy()) {
116 InternalEObject oldParam2 = (InternalEObject)param2;
117 param2 = (DefinedElement)eResolveProxy(oldParam2);
118 if (param2 != oldParam2) {
119 if (eNotificationRequired())
120 eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM2, oldParam2, param2));
121 }
122 }
123 return param2;
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 public DefinedElement basicGetParam2() {
132 return param2;
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 public void setParam2(DefinedElement newParam2) {
141 DefinedElement oldParam2 = param2;
142 param2 = newParam2;
143 if (eNotificationRequired())
144 eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM2, oldParam2, param2));
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public Object eGet(int featureID, boolean resolve, boolean coreType) {
154 switch (featureID) {
155 case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM1:
156 if (resolve) return getParam1();
157 return basicGetParam1();
158 case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM2:
159 if (resolve) return getParam2();
160 return basicGetParam2();
161 }
162 return super.eGet(featureID, resolve, coreType);
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 @Override
171 public void eSet(int featureID, Object newValue) {
172 switch (featureID) {
173 case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM1:
174 setParam1((DefinedElement)newValue);
175 return;
176 case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM2:
177 setParam2((DefinedElement)newValue);
178 return;
179 }
180 super.eSet(featureID, newValue);
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 @Override
189 public void eUnset(int featureID) {
190 switch (featureID) {
191 case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM1:
192 setParam1((DefinedElement)null);
193 return;
194 case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM2:
195 setParam2((DefinedElement)null);
196 return;
197 }
198 super.eUnset(featureID);
199 }
200
201 /**
202 * <!-- begin-user-doc -->
203 * <!-- end-user-doc -->
204 * @generated
205 */
206 @Override
207 public boolean eIsSet(int featureID) {
208 switch (featureID) {
209 case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM1:
210 return param1 != null;
211 case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK__PARAM2:
212 return param2 != null;
213 }
214 return super.eIsSet(featureID);
215 }
216
217} //BinaryElementRelationLinkImpl
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/NaryRelationLinkElementImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/NaryRelationLinkElementImpl.java
new file mode 100644
index 00000000..40e6549d
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/NaryRelationLinkElementImpl.java
@@ -0,0 +1,163 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl;
4
5import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement;
6import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Nary Relation Link Element</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkElementImpl#getIndex <em>Index</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class NaryRelationLinkElementImpl extends MinimalEObjectImpl.Container implements NaryRelationLinkElement {
29 /**
30 * The default value of the '{@link #getIndex() <em>Index</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getIndex()
34 * @generated
35 * @ordered
36 */
37 protected static final int INDEX_EDEFAULT = 0;
38
39 /**
40 * The cached value of the '{@link #getIndex() <em>Index</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getIndex()
44 * @generated
45 * @ordered
46 */
47 protected int index = INDEX_EDEFAULT;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected NaryRelationLinkElementImpl() {
55 super();
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 @Override
64 protected EClass eStaticClass() {
65 return PartialinterpretationPackage.Literals.NARY_RELATION_LINK_ELEMENT;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 public int getIndex() {
74 return index;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public void setIndex(int newIndex) {
83 int oldIndex = index;
84 index = newIndex;
85 if (eNotificationRequired())
86 eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.NARY_RELATION_LINK_ELEMENT__INDEX, oldIndex, index));
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public Object eGet(int featureID, boolean resolve, boolean coreType) {
96 switch (featureID) {
97 case PartialinterpretationPackage.NARY_RELATION_LINK_ELEMENT__INDEX:
98 return getIndex();
99 }
100 return super.eGet(featureID, resolve, coreType);
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void eSet(int featureID, Object newValue) {
110 switch (featureID) {
111 case PartialinterpretationPackage.NARY_RELATION_LINK_ELEMENT__INDEX:
112 setIndex((Integer)newValue);
113 return;
114 }
115 super.eSet(featureID, newValue);
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public void eUnset(int featureID) {
125 switch (featureID) {
126 case PartialinterpretationPackage.NARY_RELATION_LINK_ELEMENT__INDEX:
127 setIndex(INDEX_EDEFAULT);
128 return;
129 }
130 super.eUnset(featureID);
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 public boolean eIsSet(int featureID) {
140 switch (featureID) {
141 case PartialinterpretationPackage.NARY_RELATION_LINK_ELEMENT__INDEX:
142 return index != INDEX_EDEFAULT;
143 }
144 return super.eIsSet(featureID);
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public String toString() {
154 if (eIsProxy()) return super.toString();
155
156 StringBuffer result = new StringBuffer(super.toString());
157 result.append(" (index: ");
158 result.append(index);
159 result.append(')');
160 return result.toString();
161 }
162
163} //NaryRelationLinkElementImpl
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/NaryRelationLinkImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/NaryRelationLinkImpl.java
new file mode 100644
index 00000000..f387ee06
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/NaryRelationLinkImpl.java
@@ -0,0 +1,150 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl;
4
5import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLink;
6import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement;
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Nary Relation Link</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.NaryRelationLinkImpl#getElements <em>Elements</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class NaryRelationLinkImpl extends RelationLinkImpl implements NaryRelationLink {
35 /**
36 * The cached value of the '{@link #getElements() <em>Elements</em>}' containment reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getElements()
40 * @generated
41 * @ordered
42 */
43 protected EList<NaryRelationLinkElement> elements;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected NaryRelationLinkImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return PartialinterpretationPackage.Literals.NARY_RELATION_LINK;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public EList<NaryRelationLinkElement> getElements() {
70 if (elements == null) {
71 elements = new EObjectContainmentEList<NaryRelationLinkElement>(NaryRelationLinkElement.class, this, PartialinterpretationPackage.NARY_RELATION_LINK__ELEMENTS);
72 }
73 return elements;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @Override
82 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
83 switch (featureID) {
84 case PartialinterpretationPackage.NARY_RELATION_LINK__ELEMENTS:
85 return ((InternalEList<?>)getElements()).basicRemove(otherEnd, msgs);
86 }
87 return super.eInverseRemove(otherEnd, featureID, msgs);
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 public Object eGet(int featureID, boolean resolve, boolean coreType) {
97 switch (featureID) {
98 case PartialinterpretationPackage.NARY_RELATION_LINK__ELEMENTS:
99 return getElements();
100 }
101 return super.eGet(featureID, resolve, coreType);
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @SuppressWarnings("unchecked")
110 @Override
111 public void eSet(int featureID, Object newValue) {
112 switch (featureID) {
113 case PartialinterpretationPackage.NARY_RELATION_LINK__ELEMENTS:
114 getElements().clear();
115 getElements().addAll((Collection<? extends NaryRelationLinkElement>)newValue);
116 return;
117 }
118 super.eSet(featureID, newValue);
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 public void eUnset(int featureID) {
128 switch (featureID) {
129 case PartialinterpretationPackage.NARY_RELATION_LINK__ELEMENTS:
130 getElements().clear();
131 return;
132 }
133 super.eUnset(featureID);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public boolean eIsSet(int featureID) {
143 switch (featureID) {
144 case PartialinterpretationPackage.NARY_RELATION_LINK__ELEMENTS:
145 return elements != null && !elements.isEmpty();
146 }
147 return super.eIsSet(featureID);
148 }
149
150} //NaryRelationLinkImpl
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialConstantInterpretationImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialConstantInterpretationImpl.java
new file mode 100644
index 00000000..81b2ce8d
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialConstantInterpretationImpl.java
@@ -0,0 +1,158 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration;
6
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation;
8import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage;
9
10import org.eclipse.emf.common.notify.Notification;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Partial Constant Interpretation</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialConstantInterpretationImpl#getInterpretationOf <em>Interpretation Of</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class PartialConstantInterpretationImpl extends MinimalEObjectImpl.Container implements PartialConstantInterpretation {
32 /**
33 * The cached value of the '{@link #getInterpretationOf() <em>Interpretation Of</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getInterpretationOf()
37 * @generated
38 * @ordered
39 */
40 protected ConstantDeclaration interpretationOf;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected PartialConstantInterpretationImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 protected EClass eStaticClass() {
58 return PartialinterpretationPackage.Literals.PARTIAL_CONSTANT_INTERPRETATION;
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 public ConstantDeclaration getInterpretationOf() {
67 if (interpretationOf != null && interpretationOf.eIsProxy()) {
68 InternalEObject oldInterpretationOf = (InternalEObject)interpretationOf;
69 interpretationOf = (ConstantDeclaration)eResolveProxy(oldInterpretationOf);
70 if (interpretationOf != oldInterpretationOf) {
71 if (eNotificationRequired())
72 eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF, oldInterpretationOf, interpretationOf));
73 }
74 }
75 return interpretationOf;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public ConstantDeclaration basicGetInterpretationOf() {
84 return interpretationOf;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public void setInterpretationOf(ConstantDeclaration newInterpretationOf) {
93 ConstantDeclaration oldInterpretationOf = interpretationOf;
94 interpretationOf = newInterpretationOf;
95 if (eNotificationRequired())
96 eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF, oldInterpretationOf, interpretationOf));
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public Object eGet(int featureID, boolean resolve, boolean coreType) {
106 switch (featureID) {
107 case PartialinterpretationPackage.PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF:
108 if (resolve) return getInterpretationOf();
109 return basicGetInterpretationOf();
110 }
111 return super.eGet(featureID, resolve, coreType);
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public void eSet(int featureID, Object newValue) {
121 switch (featureID) {
122 case PartialinterpretationPackage.PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF:
123 setInterpretationOf((ConstantDeclaration)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID) {
136 switch (featureID) {
137 case PartialinterpretationPackage.PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF:
138 setInterpretationOf((ConstantDeclaration)null);
139 return;
140 }
141 super.eUnset(featureID);
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 @Override
150 public boolean eIsSet(int featureID) {
151 switch (featureID) {
152 case PartialinterpretationPackage.PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF:
153 return interpretationOf != null;
154 }
155 return super.eIsSet(featureID);
156 }
157
158} //PartialConstantInterpretationImpl
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialFunctionInterpretationImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialFunctionInterpretationImpl.java
new file mode 100644
index 00000000..2d361e8e
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialFunctionInterpretationImpl.java
@@ -0,0 +1,158 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration;
6
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation;
8import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage;
9
10import org.eclipse.emf.common.notify.Notification;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Partial Function Interpretation</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialFunctionInterpretationImpl#getInterpretationOf <em>Interpretation Of</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class PartialFunctionInterpretationImpl extends MinimalEObjectImpl.Container implements PartialFunctionInterpretation {
32 /**
33 * The cached value of the '{@link #getInterpretationOf() <em>Interpretation Of</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getInterpretationOf()
37 * @generated
38 * @ordered
39 */
40 protected FunctionDeclaration interpretationOf;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected PartialFunctionInterpretationImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 protected EClass eStaticClass() {
58 return PartialinterpretationPackage.Literals.PARTIAL_FUNCTION_INTERPRETATION;
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 public FunctionDeclaration getInterpretationOf() {
67 if (interpretationOf != null && interpretationOf.eIsProxy()) {
68 InternalEObject oldInterpretationOf = (InternalEObject)interpretationOf;
69 interpretationOf = (FunctionDeclaration)eResolveProxy(oldInterpretationOf);
70 if (interpretationOf != oldInterpretationOf) {
71 if (eNotificationRequired())
72 eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF, oldInterpretationOf, interpretationOf));
73 }
74 }
75 return interpretationOf;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public FunctionDeclaration basicGetInterpretationOf() {
84 return interpretationOf;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public void setInterpretationOf(FunctionDeclaration newInterpretationOf) {
93 FunctionDeclaration oldInterpretationOf = interpretationOf;
94 interpretationOf = newInterpretationOf;
95 if (eNotificationRequired())
96 eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF, oldInterpretationOf, interpretationOf));
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public Object eGet(int featureID, boolean resolve, boolean coreType) {
106 switch (featureID) {
107 case PartialinterpretationPackage.PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF:
108 if (resolve) return getInterpretationOf();
109 return basicGetInterpretationOf();
110 }
111 return super.eGet(featureID, resolve, coreType);
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public void eSet(int featureID, Object newValue) {
121 switch (featureID) {
122 case PartialinterpretationPackage.PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF:
123 setInterpretationOf((FunctionDeclaration)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID) {
136 switch (featureID) {
137 case PartialinterpretationPackage.PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF:
138 setInterpretationOf((FunctionDeclaration)null);
139 return;
140 }
141 super.eUnset(featureID);
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 @Override
150 public boolean eIsSet(int featureID) {
151 switch (featureID) {
152 case PartialinterpretationPackage.PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF:
153 return interpretationOf != null;
154 }
155 return super.eIsSet(featureID);
156 }
157
158} //PartialFunctionInterpretationImpl
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialInterpretationImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialInterpretationImpl.java
new file mode 100644
index 00000000..09690c79
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialInterpretationImpl.java
@@ -0,0 +1,619 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
6
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
8
9import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation;
10import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation;
11import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation;
12import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation;
13import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation;
14import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage;
15
16import java.util.Collection;
17
18import org.eclipse.emf.common.notify.Notification;
19import org.eclipse.emf.common.notify.NotificationChain;
20
21import org.eclipse.emf.common.util.EList;
22
23import org.eclipse.emf.ecore.EClass;
24import org.eclipse.emf.ecore.InternalEObject;
25
26import org.eclipse.emf.ecore.impl.ENotificationImpl;
27import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
28
29import org.eclipse.emf.ecore.util.EObjectContainmentEList;
30import org.eclipse.emf.ecore.util.InternalEList;
31
32/**
33 * <!-- begin-user-doc -->
34 * An implementation of the model object '<em><b>Partial Interpretation</b></em>'.
35 * <!-- end-user-doc -->
36 * <p>
37 * The following features are implemented:
38 * </p>
39 * <ul>
40 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getProblem <em>Problem</em>}</li>
41 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getPartialconstantinterpretation <em>Partialconstantinterpretation</em>}</li>
42 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getPartialrelationinterpretation <em>Partialrelationinterpretation</em>}</li>
43 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getPartialfunctioninterpretation <em>Partialfunctioninterpretation</em>}</li>
44 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getNewElements <em>New Elements</em>}</li>
45 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getPartialtypeinterpratation <em>Partialtypeinterpratation</em>}</li>
46 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getMinNewElements <em>Min New Elements</em>}</li>
47 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getMaxNewElements <em>Max New Elements</em>}</li>
48 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getOpenWorldElementPrototype <em>Open World Element Prototype</em>}</li>
49 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialInterpretationImpl#getProblemConainer <em>Problem Conainer</em>}</li>
50 * </ul>
51 *
52 * @generated
53 */
54public class PartialInterpretationImpl extends MinimalEObjectImpl.Container implements PartialInterpretation {
55 /**
56 * The cached value of the '{@link #getProblem() <em>Problem</em>}' reference.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getProblem()
60 * @generated
61 * @ordered
62 */
63 protected LogicProblem problem;
64
65 /**
66 * The cached value of the '{@link #getPartialconstantinterpretation() <em>Partialconstantinterpretation</em>}' containment reference list.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #getPartialconstantinterpretation()
70 * @generated
71 * @ordered
72 */
73 protected EList<PartialConstantInterpretation> partialconstantinterpretation;
74
75 /**
76 * The cached value of the '{@link #getPartialrelationinterpretation() <em>Partialrelationinterpretation</em>}' containment reference list.
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @see #getPartialrelationinterpretation()
80 * @generated
81 * @ordered
82 */
83 protected EList<PartialRelationInterpretation> partialrelationinterpretation;
84
85 /**
86 * The cached value of the '{@link #getPartialfunctioninterpretation() <em>Partialfunctioninterpretation</em>}' containment reference list.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @see #getPartialfunctioninterpretation()
90 * @generated
91 * @ordered
92 */
93 protected EList<PartialFunctionInterpretation> partialfunctioninterpretation;
94
95 /**
96 * The cached value of the '{@link #getNewElements() <em>New Elements</em>}' containment reference list.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @see #getNewElements()
100 * @generated
101 * @ordered
102 */
103 protected EList<DefinedElement> newElements;
104
105 /**
106 * The cached value of the '{@link #getPartialtypeinterpratation() <em>Partialtypeinterpratation</em>}' containment reference list.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @see #getPartialtypeinterpratation()
110 * @generated
111 * @ordered
112 */
113 protected EList<PartialTypeInterpratation> partialtypeinterpratation;
114
115 /**
116 * The default value of the '{@link #getMinNewElements() <em>Min New Elements</em>}' attribute.
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @see #getMinNewElements()
120 * @generated
121 * @ordered
122 */
123 protected static final int MIN_NEW_ELEMENTS_EDEFAULT = 0;
124
125 /**
126 * The cached value of the '{@link #getMinNewElements() <em>Min New Elements</em>}' attribute.
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @see #getMinNewElements()
130 * @generated
131 * @ordered
132 */
133 protected int minNewElements = MIN_NEW_ELEMENTS_EDEFAULT;
134
135 /**
136 * The default value of the '{@link #getMaxNewElements() <em>Max New Elements</em>}' attribute.
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @see #getMaxNewElements()
140 * @generated
141 * @ordered
142 */
143 protected static final int MAX_NEW_ELEMENTS_EDEFAULT = 0;
144
145 /**
146 * The cached value of the '{@link #getMaxNewElements() <em>Max New Elements</em>}' attribute.
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @see #getMaxNewElements()
150 * @generated
151 * @ordered
152 */
153 protected int maxNewElements = MAX_NEW_ELEMENTS_EDEFAULT;
154
155 /**
156 * The cached value of the '{@link #getOpenWorldElementPrototype() <em>Open World Element Prototype</em>}' containment reference.
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @see #getOpenWorldElementPrototype()
160 * @generated
161 * @ordered
162 */
163 protected DefinedElement openWorldElementPrototype;
164
165 /**
166 * The cached value of the '{@link #getProblemConainer() <em>Problem Conainer</em>}' containment reference.
167 * <!-- begin-user-doc -->
168 * <!-- end-user-doc -->
169 * @see #getProblemConainer()
170 * @generated
171 * @ordered
172 */
173 protected LogicProblem problemConainer;
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 protected PartialInterpretationImpl() {
181 super();
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @Override
190 protected EClass eStaticClass() {
191 return PartialinterpretationPackage.Literals.PARTIAL_INTERPRETATION;
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 public LogicProblem getProblem() {
200 if (problem != null && problem.eIsProxy()) {
201 InternalEObject oldProblem = (InternalEObject)problem;
202 problem = (LogicProblem)eResolveProxy(oldProblem);
203 if (problem != oldProblem) {
204 if (eNotificationRequired())
205 eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM, oldProblem, problem));
206 }
207 }
208 return problem;
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 public LogicProblem basicGetProblem() {
217 return problem;
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 public void setProblem(LogicProblem newProblem) {
226 LogicProblem oldProblem = problem;
227 problem = newProblem;
228 if (eNotificationRequired())
229 eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM, oldProblem, problem));
230 }
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 public EList<PartialConstantInterpretation> getPartialconstantinterpretation() {
238 if (partialconstantinterpretation == null) {
239 partialconstantinterpretation = new EObjectContainmentEList<PartialConstantInterpretation>(PartialConstantInterpretation.class, this, PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION);
240 }
241 return partialconstantinterpretation;
242 }
243
244 /**
245 * <!-- begin-user-doc -->
246 * <!-- end-user-doc -->
247 * @generated
248 */
249 public EList<PartialRelationInterpretation> getPartialrelationinterpretation() {
250 if (partialrelationinterpretation == null) {
251 partialrelationinterpretation = new EObjectContainmentEList<PartialRelationInterpretation>(PartialRelationInterpretation.class, this, PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION);
252 }
253 return partialrelationinterpretation;
254 }
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 public EList<PartialFunctionInterpretation> getPartialfunctioninterpretation() {
262 if (partialfunctioninterpretation == null) {
263 partialfunctioninterpretation = new EObjectContainmentEList<PartialFunctionInterpretation>(PartialFunctionInterpretation.class, this, PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION);
264 }
265 return partialfunctioninterpretation;
266 }
267
268 /**
269 * <!-- begin-user-doc -->
270 * <!-- end-user-doc -->
271 * @generated
272 */
273 public EList<DefinedElement> getNewElements() {
274 if (newElements == null) {
275 newElements = new EObjectContainmentEList<DefinedElement>(DefinedElement.class, this, PartialinterpretationPackage.PARTIAL_INTERPRETATION__NEW_ELEMENTS);
276 }
277 return newElements;
278 }
279
280 /**
281 * <!-- begin-user-doc -->
282 * <!-- end-user-doc -->
283 * @generated
284 */
285 public EList<PartialTypeInterpratation> getPartialtypeinterpratation() {
286 if (partialtypeinterpratation == null) {
287 partialtypeinterpratation = new EObjectContainmentEList<PartialTypeInterpratation>(PartialTypeInterpratation.class, this, PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION);
288 }
289 return partialtypeinterpratation;
290 }
291
292 /**
293 * <!-- begin-user-doc -->
294 * <!-- end-user-doc -->
295 * @generated
296 */
297 public int getMinNewElements() {
298 return minNewElements;
299 }
300
301 /**
302 * <!-- begin-user-doc -->
303 * <!-- end-user-doc -->
304 * @generated
305 */
306 public void setMinNewElements(int newMinNewElements) {
307 int oldMinNewElements = minNewElements;
308 minNewElements = newMinNewElements;
309 if (eNotificationRequired())
310 eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_INTERPRETATION__MIN_NEW_ELEMENTS, oldMinNewElements, minNewElements));
311 }
312
313 /**
314 * <!-- begin-user-doc -->
315 * <!-- end-user-doc -->
316 * @generated
317 */
318 public int getMaxNewElements() {
319 return maxNewElements;
320 }
321
322 /**
323 * <!-- begin-user-doc -->
324 * <!-- end-user-doc -->
325 * @generated
326 */
327 public void setMaxNewElements(int newMaxNewElements) {
328 int oldMaxNewElements = maxNewElements;
329 maxNewElements = newMaxNewElements;
330 if (eNotificationRequired())
331 eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_INTERPRETATION__MAX_NEW_ELEMENTS, oldMaxNewElements, maxNewElements));
332 }
333
334 /**
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @generated
338 */
339 public DefinedElement getOpenWorldElementPrototype() {
340 return openWorldElementPrototype;
341 }
342
343 /**
344 * <!-- begin-user-doc -->
345 * <!-- end-user-doc -->
346 * @generated
347 */
348 public NotificationChain basicSetOpenWorldElementPrototype(DefinedElement newOpenWorldElementPrototype, NotificationChain msgs) {
349 DefinedElement oldOpenWorldElementPrototype = openWorldElementPrototype;
350 openWorldElementPrototype = newOpenWorldElementPrototype;
351 if (eNotificationRequired()) {
352 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE, oldOpenWorldElementPrototype, newOpenWorldElementPrototype);
353 if (msgs == null) msgs = notification; else msgs.add(notification);
354 }
355 return msgs;
356 }
357
358 /**
359 * <!-- begin-user-doc -->
360 * <!-- end-user-doc -->
361 * @generated
362 */
363 public void setOpenWorldElementPrototype(DefinedElement newOpenWorldElementPrototype) {
364 if (newOpenWorldElementPrototype != openWorldElementPrototype) {
365 NotificationChain msgs = null;
366 if (openWorldElementPrototype != null)
367 msgs = ((InternalEObject)openWorldElementPrototype).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE, null, msgs);
368 if (newOpenWorldElementPrototype != null)
369 msgs = ((InternalEObject)newOpenWorldElementPrototype).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE, null, msgs);
370 msgs = basicSetOpenWorldElementPrototype(newOpenWorldElementPrototype, msgs);
371 if (msgs != null) msgs.dispatch();
372 }
373 else if (eNotificationRequired())
374 eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE, newOpenWorldElementPrototype, newOpenWorldElementPrototype));
375 }
376
377 /**
378 * <!-- begin-user-doc -->
379 * <!-- end-user-doc -->
380 * @generated
381 */
382 public LogicProblem getProblemConainer() {
383 return problemConainer;
384 }
385
386 /**
387 * <!-- begin-user-doc -->
388 * <!-- end-user-doc -->
389 * @generated
390 */
391 public NotificationChain basicSetProblemConainer(LogicProblem newProblemConainer, NotificationChain msgs) {
392 LogicProblem oldProblemConainer = problemConainer;
393 problemConainer = newProblemConainer;
394 if (eNotificationRequired()) {
395 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER, oldProblemConainer, newProblemConainer);
396 if (msgs == null) msgs = notification; else msgs.add(notification);
397 }
398 return msgs;
399 }
400
401 /**
402 * <!-- begin-user-doc -->
403 * <!-- end-user-doc -->
404 * @generated
405 */
406 public void setProblemConainer(LogicProblem newProblemConainer) {
407 if (newProblemConainer != problemConainer) {
408 NotificationChain msgs = null;
409 if (problemConainer != null)
410 msgs = ((InternalEObject)problemConainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER, null, msgs);
411 if (newProblemConainer != null)
412 msgs = ((InternalEObject)newProblemConainer).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER, null, msgs);
413 msgs = basicSetProblemConainer(newProblemConainer, msgs);
414 if (msgs != null) msgs.dispatch();
415 }
416 else if (eNotificationRequired())
417 eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER, newProblemConainer, newProblemConainer));
418 }
419
420 /**
421 * <!-- begin-user-doc -->
422 * <!-- end-user-doc -->
423 * @generated
424 */
425 @Override
426 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
427 switch (featureID) {
428 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION:
429 return ((InternalEList<?>)getPartialconstantinterpretation()).basicRemove(otherEnd, msgs);
430 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION:
431 return ((InternalEList<?>)getPartialrelationinterpretation()).basicRemove(otherEnd, msgs);
432 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION:
433 return ((InternalEList<?>)getPartialfunctioninterpretation()).basicRemove(otherEnd, msgs);
434 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__NEW_ELEMENTS:
435 return ((InternalEList<?>)getNewElements()).basicRemove(otherEnd, msgs);
436 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION:
437 return ((InternalEList<?>)getPartialtypeinterpratation()).basicRemove(otherEnd, msgs);
438 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE:
439 return basicSetOpenWorldElementPrototype(null, msgs);
440 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER:
441 return basicSetProblemConainer(null, msgs);
442 }
443 return super.eInverseRemove(otherEnd, featureID, msgs);
444 }
445
446 /**
447 * <!-- begin-user-doc -->
448 * <!-- end-user-doc -->
449 * @generated
450 */
451 @Override
452 public Object eGet(int featureID, boolean resolve, boolean coreType) {
453 switch (featureID) {
454 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM:
455 if (resolve) return getProblem();
456 return basicGetProblem();
457 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION:
458 return getPartialconstantinterpretation();
459 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION:
460 return getPartialrelationinterpretation();
461 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION:
462 return getPartialfunctioninterpretation();
463 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__NEW_ELEMENTS:
464 return getNewElements();
465 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION:
466 return getPartialtypeinterpratation();
467 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__MIN_NEW_ELEMENTS:
468 return getMinNewElements();
469 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__MAX_NEW_ELEMENTS:
470 return getMaxNewElements();
471 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE:
472 return getOpenWorldElementPrototype();
473 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER:
474 return getProblemConainer();
475 }
476 return super.eGet(featureID, resolve, coreType);
477 }
478
479 /**
480 * <!-- begin-user-doc -->
481 * <!-- end-user-doc -->
482 * @generated
483 */
484 @SuppressWarnings("unchecked")
485 @Override
486 public void eSet(int featureID, Object newValue) {
487 switch (featureID) {
488 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM:
489 setProblem((LogicProblem)newValue);
490 return;
491 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION:
492 getPartialconstantinterpretation().clear();
493 getPartialconstantinterpretation().addAll((Collection<? extends PartialConstantInterpretation>)newValue);
494 return;
495 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION:
496 getPartialrelationinterpretation().clear();
497 getPartialrelationinterpretation().addAll((Collection<? extends PartialRelationInterpretation>)newValue);
498 return;
499 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION:
500 getPartialfunctioninterpretation().clear();
501 getPartialfunctioninterpretation().addAll((Collection<? extends PartialFunctionInterpretation>)newValue);
502 return;
503 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__NEW_ELEMENTS:
504 getNewElements().clear();
505 getNewElements().addAll((Collection<? extends DefinedElement>)newValue);
506 return;
507 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION:
508 getPartialtypeinterpratation().clear();
509 getPartialtypeinterpratation().addAll((Collection<? extends PartialTypeInterpratation>)newValue);
510 return;
511 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__MIN_NEW_ELEMENTS:
512 setMinNewElements((Integer)newValue);
513 return;
514 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__MAX_NEW_ELEMENTS:
515 setMaxNewElements((Integer)newValue);
516 return;
517 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE:
518 setOpenWorldElementPrototype((DefinedElement)newValue);
519 return;
520 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER:
521 setProblemConainer((LogicProblem)newValue);
522 return;
523 }
524 super.eSet(featureID, newValue);
525 }
526
527 /**
528 * <!-- begin-user-doc -->
529 * <!-- end-user-doc -->
530 * @generated
531 */
532 @Override
533 public void eUnset(int featureID) {
534 switch (featureID) {
535 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM:
536 setProblem((LogicProblem)null);
537 return;
538 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION:
539 getPartialconstantinterpretation().clear();
540 return;
541 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION:
542 getPartialrelationinterpretation().clear();
543 return;
544 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION:
545 getPartialfunctioninterpretation().clear();
546 return;
547 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__NEW_ELEMENTS:
548 getNewElements().clear();
549 return;
550 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION:
551 getPartialtypeinterpratation().clear();
552 return;
553 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__MIN_NEW_ELEMENTS:
554 setMinNewElements(MIN_NEW_ELEMENTS_EDEFAULT);
555 return;
556 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__MAX_NEW_ELEMENTS:
557 setMaxNewElements(MAX_NEW_ELEMENTS_EDEFAULT);
558 return;
559 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE:
560 setOpenWorldElementPrototype((DefinedElement)null);
561 return;
562 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER:
563 setProblemConainer((LogicProblem)null);
564 return;
565 }
566 super.eUnset(featureID);
567 }
568
569 /**
570 * <!-- begin-user-doc -->
571 * <!-- end-user-doc -->
572 * @generated
573 */
574 @Override
575 public boolean eIsSet(int featureID) {
576 switch (featureID) {
577 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM:
578 return problem != null;
579 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION:
580 return partialconstantinterpretation != null && !partialconstantinterpretation.isEmpty();
581 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION:
582 return partialrelationinterpretation != null && !partialrelationinterpretation.isEmpty();
583 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION:
584 return partialfunctioninterpretation != null && !partialfunctioninterpretation.isEmpty();
585 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__NEW_ELEMENTS:
586 return newElements != null && !newElements.isEmpty();
587 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION:
588 return partialtypeinterpratation != null && !partialtypeinterpratation.isEmpty();
589 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__MIN_NEW_ELEMENTS:
590 return minNewElements != MIN_NEW_ELEMENTS_EDEFAULT;
591 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__MAX_NEW_ELEMENTS:
592 return maxNewElements != MAX_NEW_ELEMENTS_EDEFAULT;
593 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE:
594 return openWorldElementPrototype != null;
595 case PartialinterpretationPackage.PARTIAL_INTERPRETATION__PROBLEM_CONAINER:
596 return problemConainer != null;
597 }
598 return super.eIsSet(featureID);
599 }
600
601 /**
602 * <!-- begin-user-doc -->
603 * <!-- end-user-doc -->
604 * @generated
605 */
606 @Override
607 public String toString() {
608 if (eIsProxy()) return super.toString();
609
610 StringBuffer result = new StringBuffer(super.toString());
611 result.append(" (minNewElements: ");
612 result.append(minNewElements);
613 result.append(", maxNewElements: ");
614 result.append(maxNewElements);
615 result.append(')');
616 return result.toString();
617 }
618
619} //PartialInterpretationImpl
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialRelationInterpretationImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialRelationInterpretationImpl.java
new file mode 100644
index 00000000..71aef9af
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialRelationInterpretationImpl.java
@@ -0,0 +1,337 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration;
6
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference;
8import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation;
9import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage;
10import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RelationLink;
11
12import java.util.Collection;
13
14import org.eclipse.emf.common.notify.Notification;
15import org.eclipse.emf.common.notify.NotificationChain;
16
17import org.eclipse.emf.common.util.EList;
18
19import org.eclipse.emf.ecore.EClass;
20import org.eclipse.emf.ecore.InternalEObject;
21
22import org.eclipse.emf.ecore.impl.ENotificationImpl;
23import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
24
25import org.eclipse.emf.ecore.util.EObjectContainmentEList;
26import org.eclipse.emf.ecore.util.InternalEList;
27
28/**
29 * <!-- begin-user-doc -->
30 * An implementation of the model object '<em><b>Partial Relation Interpretation</b></em>'.
31 * <!-- end-user-doc -->
32 * <p>
33 * The following features are implemented:
34 * </p>
35 * <ul>
36 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialRelationInterpretationImpl#getInterpretationOf <em>Interpretation Of</em>}</li>
37 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialRelationInterpretationImpl#getRelationlinks <em>Relationlinks</em>}</li>
38 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialRelationInterpretationImpl#getParam1 <em>Param1</em>}</li>
39 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialRelationInterpretationImpl#getParam2 <em>Param2</em>}</li>
40 * </ul>
41 *
42 * @generated
43 */
44public class PartialRelationInterpretationImpl extends MinimalEObjectImpl.Container implements PartialRelationInterpretation {
45 /**
46 * The cached value of the '{@link #getInterpretationOf() <em>Interpretation Of</em>}' reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getInterpretationOf()
50 * @generated
51 * @ordered
52 */
53 protected RelationDeclaration interpretationOf;
54
55 /**
56 * The cached value of the '{@link #getRelationlinks() <em>Relationlinks</em>}' containment reference list.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getRelationlinks()
60 * @generated
61 * @ordered
62 */
63 protected EList<RelationLink> relationlinks;
64
65 /**
66 * The cached value of the '{@link #getParam1() <em>Param1</em>}' reference.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #getParam1()
70 * @generated
71 * @ordered
72 */
73 protected TypeReference param1;
74
75 /**
76 * The cached value of the '{@link #getParam2() <em>Param2</em>}' reference.
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @see #getParam2()
80 * @generated
81 * @ordered
82 */
83 protected TypeReference param2;
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 protected PartialRelationInterpretationImpl() {
91 super();
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 protected EClass eStaticClass() {
101 return PartialinterpretationPackage.Literals.PARTIAL_RELATION_INTERPRETATION;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 public RelationDeclaration getInterpretationOf() {
110 if (interpretationOf != null && interpretationOf.eIsProxy()) {
111 InternalEObject oldInterpretationOf = (InternalEObject)interpretationOf;
112 interpretationOf = (RelationDeclaration)eResolveProxy(oldInterpretationOf);
113 if (interpretationOf != oldInterpretationOf) {
114 if (eNotificationRequired())
115 eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF, oldInterpretationOf, interpretationOf));
116 }
117 }
118 return interpretationOf;
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 public RelationDeclaration basicGetInterpretationOf() {
127 return interpretationOf;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 public void setInterpretationOf(RelationDeclaration newInterpretationOf) {
136 RelationDeclaration oldInterpretationOf = interpretationOf;
137 interpretationOf = newInterpretationOf;
138 if (eNotificationRequired())
139 eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF, oldInterpretationOf, interpretationOf));
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 public EList<RelationLink> getRelationlinks() {
148 if (relationlinks == null) {
149 relationlinks = new EObjectContainmentEList<RelationLink>(RelationLink.class, this, PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS);
150 }
151 return relationlinks;
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 public TypeReference getParam1() {
160 if (param1 != null && param1.eIsProxy()) {
161 InternalEObject oldParam1 = (InternalEObject)param1;
162 param1 = (TypeReference)eResolveProxy(oldParam1);
163 if (param1 != oldParam1) {
164 if (eNotificationRequired())
165 eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM1, oldParam1, param1));
166 }
167 }
168 return param1;
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 public TypeReference basicGetParam1() {
177 return param1;
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 public void setParam1(TypeReference newParam1) {
186 TypeReference oldParam1 = param1;
187 param1 = newParam1;
188 if (eNotificationRequired())
189 eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM1, oldParam1, param1));
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 public TypeReference getParam2() {
198 if (param2 != null && param2.eIsProxy()) {
199 InternalEObject oldParam2 = (InternalEObject)param2;
200 param2 = (TypeReference)eResolveProxy(oldParam2);
201 if (param2 != oldParam2) {
202 if (eNotificationRequired())
203 eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM2, oldParam2, param2));
204 }
205 }
206 return param2;
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 public TypeReference basicGetParam2() {
215 return param2;
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 public void setParam2(TypeReference newParam2) {
224 TypeReference oldParam2 = param2;
225 param2 = newParam2;
226 if (eNotificationRequired())
227 eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM2, oldParam2, param2));
228 }
229
230 /**
231 * <!-- begin-user-doc -->
232 * <!-- end-user-doc -->
233 * @generated
234 */
235 @Override
236 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
237 switch (featureID) {
238 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS:
239 return ((InternalEList<?>)getRelationlinks()).basicRemove(otherEnd, msgs);
240 }
241 return super.eInverseRemove(otherEnd, featureID, msgs);
242 }
243
244 /**
245 * <!-- begin-user-doc -->
246 * <!-- end-user-doc -->
247 * @generated
248 */
249 @Override
250 public Object eGet(int featureID, boolean resolve, boolean coreType) {
251 switch (featureID) {
252 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF:
253 if (resolve) return getInterpretationOf();
254 return basicGetInterpretationOf();
255 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS:
256 return getRelationlinks();
257 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM1:
258 if (resolve) return getParam1();
259 return basicGetParam1();
260 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM2:
261 if (resolve) return getParam2();
262 return basicGetParam2();
263 }
264 return super.eGet(featureID, resolve, coreType);
265 }
266
267 /**
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 @SuppressWarnings("unchecked")
273 @Override
274 public void eSet(int featureID, Object newValue) {
275 switch (featureID) {
276 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF:
277 setInterpretationOf((RelationDeclaration)newValue);
278 return;
279 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS:
280 getRelationlinks().clear();
281 getRelationlinks().addAll((Collection<? extends RelationLink>)newValue);
282 return;
283 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM1:
284 setParam1((TypeReference)newValue);
285 return;
286 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM2:
287 setParam2((TypeReference)newValue);
288 return;
289 }
290 super.eSet(featureID, newValue);
291 }
292
293 /**
294 * <!-- begin-user-doc -->
295 * <!-- end-user-doc -->
296 * @generated
297 */
298 @Override
299 public void eUnset(int featureID) {
300 switch (featureID) {
301 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF:
302 setInterpretationOf((RelationDeclaration)null);
303 return;
304 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS:
305 getRelationlinks().clear();
306 return;
307 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM1:
308 setParam1((TypeReference)null);
309 return;
310 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM2:
311 setParam2((TypeReference)null);
312 return;
313 }
314 super.eUnset(featureID);
315 }
316
317 /**
318 * <!-- begin-user-doc -->
319 * <!-- end-user-doc -->
320 * @generated
321 */
322 @Override
323 public boolean eIsSet(int featureID) {
324 switch (featureID) {
325 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF:
326 return interpretationOf != null;
327 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS:
328 return relationlinks != null && !relationlinks.isEmpty();
329 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM1:
330 return param1 != null;
331 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION__PARAM2:
332 return param2 != null;
333 }
334 return super.eIsSet(featureID);
335 }
336
337} //PartialRelationInterpretationImpl
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialTypeInterpratationImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialTypeInterpratationImpl.java
new file mode 100644
index 00000000..1090aaf7
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialTypeInterpratationImpl.java
@@ -0,0 +1,231 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration;
7
8import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation;
9import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage;
10
11import java.util.Collection;
12import org.eclipse.emf.common.notify.Notification;
13
14import org.eclipse.emf.common.util.EList;
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.impl.ENotificationImpl;
19import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
20import org.eclipse.emf.ecore.util.EObjectResolvingEList;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model object '<em><b>Partial Type Interpratation</b></em>'.
25 * <!-- end-user-doc -->
26 * <p>
27 * The following features are implemented:
28 * </p>
29 * <ul>
30 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialTypeInterpratationImpl#getInterpretationOf <em>Interpretation Of</em>}</li>
31 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialTypeInterpratationImpl#getElements <em>Elements</em>}</li>
32 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.PartialTypeInterpratationImpl#getSupertypeInterpretation <em>Supertype Interpretation</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class PartialTypeInterpratationImpl extends MinimalEObjectImpl.Container implements PartialTypeInterpratation {
38 /**
39 * The cached value of the '{@link #getInterpretationOf() <em>Interpretation Of</em>}' reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getInterpretationOf()
43 * @generated
44 * @ordered
45 */
46 protected TypeDeclaration interpretationOf;
47
48 /**
49 * The cached value of the '{@link #getElements() <em>Elements</em>}' reference list.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @see #getElements()
53 * @generated
54 * @ordered
55 */
56 protected EList<DefinedElement> elements;
57
58 /**
59 * The cached value of the '{@link #getSupertypeInterpretation() <em>Supertype Interpretation</em>}' reference list.
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @see #getSupertypeInterpretation()
63 * @generated
64 * @ordered
65 */
66 protected EList<PartialTypeInterpratation> supertypeInterpretation;
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 protected PartialTypeInterpratationImpl() {
74 super();
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 @Override
83 protected EClass eStaticClass() {
84 return PartialinterpretationPackage.Literals.PARTIAL_TYPE_INTERPRATATION;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public TypeDeclaration getInterpretationOf() {
93 if (interpretationOf != null && interpretationOf.eIsProxy()) {
94 InternalEObject oldInterpretationOf = (InternalEObject)interpretationOf;
95 interpretationOf = (TypeDeclaration)eResolveProxy(oldInterpretationOf);
96 if (interpretationOf != oldInterpretationOf) {
97 if (eNotificationRequired())
98 eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF, oldInterpretationOf, interpretationOf));
99 }
100 }
101 return interpretationOf;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 public TypeDeclaration basicGetInterpretationOf() {
110 return interpretationOf;
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public void setInterpretationOf(TypeDeclaration newInterpretationOf) {
119 TypeDeclaration oldInterpretationOf = interpretationOf;
120 interpretationOf = newInterpretationOf;
121 if (eNotificationRequired())
122 eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF, oldInterpretationOf, interpretationOf));
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 public EList<DefinedElement> getElements() {
131 if (elements == null) {
132 elements = new EObjectResolvingEList<DefinedElement>(DefinedElement.class, this, PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__ELEMENTS);
133 }
134 return elements;
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 public EList<PartialTypeInterpratation> getSupertypeInterpretation() {
143 if (supertypeInterpretation == null) {
144 supertypeInterpretation = new EObjectResolvingEList<PartialTypeInterpratation>(PartialTypeInterpratation.class, this, PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__SUPERTYPE_INTERPRETATION);
145 }
146 return supertypeInterpretation;
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public Object eGet(int featureID, boolean resolve, boolean coreType) {
156 switch (featureID) {
157 case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF:
158 if (resolve) return getInterpretationOf();
159 return basicGetInterpretationOf();
160 case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__ELEMENTS:
161 return getElements();
162 case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__SUPERTYPE_INTERPRETATION:
163 return getSupertypeInterpretation();
164 }
165 return super.eGet(featureID, resolve, coreType);
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @SuppressWarnings("unchecked")
174 @Override
175 public void eSet(int featureID, Object newValue) {
176 switch (featureID) {
177 case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF:
178 setInterpretationOf((TypeDeclaration)newValue);
179 return;
180 case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__ELEMENTS:
181 getElements().clear();
182 getElements().addAll((Collection<? extends DefinedElement>)newValue);
183 return;
184 case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__SUPERTYPE_INTERPRETATION:
185 getSupertypeInterpretation().clear();
186 getSupertypeInterpretation().addAll((Collection<? extends PartialTypeInterpratation>)newValue);
187 return;
188 }
189 super.eSet(featureID, newValue);
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 @Override
198 public void eUnset(int featureID) {
199 switch (featureID) {
200 case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF:
201 setInterpretationOf((TypeDeclaration)null);
202 return;
203 case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__ELEMENTS:
204 getElements().clear();
205 return;
206 case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__SUPERTYPE_INTERPRETATION:
207 getSupertypeInterpretation().clear();
208 return;
209 }
210 super.eUnset(featureID);
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public boolean eIsSet(int featureID) {
220 switch (featureID) {
221 case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF:
222 return interpretationOf != null;
223 case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__ELEMENTS:
224 return elements != null && !elements.isEmpty();
225 case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION__SUPERTYPE_INTERPRETATION:
226 return supertypeInterpretation != null && !supertypeInterpretation.isEmpty();
227 }
228 return super.eIsSet(featureID);
229 }
230
231} //PartialTypeInterpratationImpl
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationFactoryImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationFactoryImpl.java
new file mode 100644
index 00000000..99ab7830
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationFactoryImpl.java
@@ -0,0 +1,183 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl;
4
5import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.*;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage;
10
11import org.eclipse.emf.ecore.impl.EFactoryImpl;
12
13import org.eclipse.emf.ecore.plugin.EcorePlugin;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model <b>Factory</b>.
18 * <!-- end-user-doc -->
19 * @generated
20 */
21public class PartialinterpretationFactoryImpl extends EFactoryImpl implements PartialinterpretationFactory {
22 /**
23 * Creates the default factory implementation.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @generated
27 */
28 public static PartialinterpretationFactory init() {
29 try {
30 PartialinterpretationFactory thePartialinterpretationFactory = (PartialinterpretationFactory)EPackage.Registry.INSTANCE.getEFactory(PartialinterpretationPackage.eNS_URI);
31 if (thePartialinterpretationFactory != null) {
32 return thePartialinterpretationFactory;
33 }
34 }
35 catch (Exception exception) {
36 EcorePlugin.INSTANCE.log(exception);
37 }
38 return new PartialinterpretationFactoryImpl();
39 }
40
41 /**
42 * Creates an instance of the factory.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 public PartialinterpretationFactoryImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 public EObject create(EClass eClass) {
58 switch (eClass.getClassifierID()) {
59 case PartialinterpretationPackage.PARTIAL_INTERPRETATION: return createPartialInterpretation();
60 case PartialinterpretationPackage.PARTIAL_CONSTANT_INTERPRETATION: return createPartialConstantInterpretation();
61 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION: return createPartialRelationInterpretation();
62 case PartialinterpretationPackage.PARTIAL_FUNCTION_INTERPRETATION: return createPartialFunctionInterpretation();
63 case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION: return createPartialTypeInterpratation();
64 case PartialinterpretationPackage.UNARY_ELEMENT_RELATION_LINK: return createUnaryElementRelationLink();
65 case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK: return createBinaryElementRelationLink();
66 case PartialinterpretationPackage.NARY_RELATION_LINK: return createNaryRelationLink();
67 case PartialinterpretationPackage.NARY_RELATION_LINK_ELEMENT: return createNaryRelationLinkElement();
68 default:
69 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
70 }
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 public PartialInterpretation createPartialInterpretation() {
79 PartialInterpretationImpl partialInterpretation = new PartialInterpretationImpl();
80 return partialInterpretation;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 public PartialConstantInterpretation createPartialConstantInterpretation() {
89 PartialConstantInterpretationImpl partialConstantInterpretation = new PartialConstantInterpretationImpl();
90 return partialConstantInterpretation;
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 public PartialRelationInterpretation createPartialRelationInterpretation() {
99 PartialRelationInterpretationImpl partialRelationInterpretation = new PartialRelationInterpretationImpl();
100 return partialRelationInterpretation;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 public PartialFunctionInterpretation createPartialFunctionInterpretation() {
109 PartialFunctionInterpretationImpl partialFunctionInterpretation = new PartialFunctionInterpretationImpl();
110 return partialFunctionInterpretation;
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public PartialTypeInterpratation createPartialTypeInterpratation() {
119 PartialTypeInterpratationImpl partialTypeInterpratation = new PartialTypeInterpratationImpl();
120 return partialTypeInterpratation;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public UnaryElementRelationLink createUnaryElementRelationLink() {
129 UnaryElementRelationLinkImpl unaryElementRelationLink = new UnaryElementRelationLinkImpl();
130 return unaryElementRelationLink;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public BinaryElementRelationLink createBinaryElementRelationLink() {
139 BinaryElementRelationLinkImpl binaryElementRelationLink = new BinaryElementRelationLinkImpl();
140 return binaryElementRelationLink;
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 public NaryRelationLink createNaryRelationLink() {
149 NaryRelationLinkImpl naryRelationLink = new NaryRelationLinkImpl();
150 return naryRelationLink;
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 public NaryRelationLinkElement createNaryRelationLinkElement() {
159 NaryRelationLinkElementImpl naryRelationLinkElement = new NaryRelationLinkElementImpl();
160 return naryRelationLinkElement;
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 public PartialinterpretationPackage getPartialinterpretationPackage() {
169 return (PartialinterpretationPackage)getEPackage();
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @deprecated
176 * @generated
177 */
178 @Deprecated
179 public static PartialinterpretationPackage getPackage() {
180 return PartialinterpretationPackage.eINSTANCE;
181 }
182
183} //PartialinterpretationFactoryImpl
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationPackageImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationPackageImpl.java
new file mode 100644
index 00000000..65d73721
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationPackageImpl.java
@@ -0,0 +1,635 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
8
9import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink;
10import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLink;
11import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement;
12import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation;
13import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation;
14import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation;
15import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation;
16import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation;
17import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationFactory;
18import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage;
19import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RelationLink;
20import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink;
21
22import org.eclipse.emf.ecore.EAttribute;
23import org.eclipse.emf.ecore.EClass;
24import org.eclipse.emf.ecore.EPackage;
25import org.eclipse.emf.ecore.EReference;
26
27import org.eclipse.emf.ecore.impl.EPackageImpl;
28
29/**
30 * <!-- begin-user-doc -->
31 * An implementation of the model <b>Package</b>.
32 * <!-- end-user-doc -->
33 * @generated
34 */
35public class PartialinterpretationPackageImpl extends EPackageImpl implements PartialinterpretationPackage {
36 /**
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @generated
40 */
41 private EClass partialInterpretationEClass = null;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 private EClass partialConstantInterpretationEClass = null;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 private EClass partialRelationInterpretationEClass = null;
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 private EClass partialFunctionInterpretationEClass = null;
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 private EClass partialTypeInterpratationEClass = null;
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 private EClass relationLinkEClass = null;
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 private EClass unaryElementRelationLinkEClass = null;
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 private EClass binaryElementRelationLinkEClass = null;
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 private EClass naryRelationLinkEClass = null;
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 private EClass naryRelationLinkElementEClass = null;
105
106 /**
107 * Creates an instance of the model <b>Package</b>, registered with
108 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
109 * package URI value.
110 * <p>Note: the correct way to create the package is via the static
111 * factory method {@link #init init()}, which also performs
112 * initialization of the package, or returns the registered package,
113 * if one already exists.
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @see org.eclipse.emf.ecore.EPackage.Registry
117 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#eNS_URI
118 * @see #init()
119 * @generated
120 */
121 private PartialinterpretationPackageImpl() {
122 super(eNS_URI, PartialinterpretationFactory.eINSTANCE);
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 private static boolean isInited = false;
131
132 /**
133 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
134 *
135 * <p>This method is used to initialize {@link PartialinterpretationPackage#eINSTANCE} when that field is accessed.
136 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @see #eNS_URI
140 * @see #createPackageContents()
141 * @see #initializePackageContents()
142 * @generated
143 */
144 public static PartialinterpretationPackage init() {
145 if (isInited) return (PartialinterpretationPackage)EPackage.Registry.INSTANCE.getEPackage(PartialinterpretationPackage.eNS_URI);
146
147 // Obtain or create and register package
148 PartialinterpretationPackageImpl thePartialinterpretationPackage = (PartialinterpretationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof PartialinterpretationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new PartialinterpretationPackageImpl());
149
150 isInited = true;
151
152 // Initialize simple dependencies
153 LogiclanguagePackage.eINSTANCE.eClass();
154 LogicproblemPackage.eINSTANCE.eClass();
155
156 // Create package meta-data objects
157 thePartialinterpretationPackage.createPackageContents();
158
159 // Initialize created meta-data
160 thePartialinterpretationPackage.initializePackageContents();
161
162 // Mark meta-data to indicate it can't be changed
163 thePartialinterpretationPackage.freeze();
164
165
166 // Update the registry and return the package
167 EPackage.Registry.INSTANCE.put(PartialinterpretationPackage.eNS_URI, thePartialinterpretationPackage);
168 return thePartialinterpretationPackage;
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 public EClass getPartialInterpretation() {
177 return partialInterpretationEClass;
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 public EReference getPartialInterpretation_Problem() {
186 return (EReference)partialInterpretationEClass.getEStructuralFeatures().get(0);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 public EReference getPartialInterpretation_Partialconstantinterpretation() {
195 return (EReference)partialInterpretationEClass.getEStructuralFeatures().get(1);
196 }
197
198 /**
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated
202 */
203 public EReference getPartialInterpretation_Partialrelationinterpretation() {
204 return (EReference)partialInterpretationEClass.getEStructuralFeatures().get(2);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 public EReference getPartialInterpretation_Partialfunctioninterpretation() {
213 return (EReference)partialInterpretationEClass.getEStructuralFeatures().get(3);
214 }
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 public EReference getPartialInterpretation_NewElements() {
222 return (EReference)partialInterpretationEClass.getEStructuralFeatures().get(4);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 public EReference getPartialInterpretation_Partialtypeinterpratation() {
231 return (EReference)partialInterpretationEClass.getEStructuralFeatures().get(5);
232 }
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 public EAttribute getPartialInterpretation_MinNewElements() {
240 return (EAttribute)partialInterpretationEClass.getEStructuralFeatures().get(6);
241 }
242
243 /**
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @generated
247 */
248 public EAttribute getPartialInterpretation_MaxNewElements() {
249 return (EAttribute)partialInterpretationEClass.getEStructuralFeatures().get(7);
250 }
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 public EReference getPartialInterpretation_OpenWorldElementPrototype() {
258 return (EReference)partialInterpretationEClass.getEStructuralFeatures().get(8);
259 }
260
261 /**
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @generated
265 */
266 public EReference getPartialInterpretation_ProblemConainer() {
267 return (EReference)partialInterpretationEClass.getEStructuralFeatures().get(9);
268 }
269
270 /**
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @generated
274 */
275 public EClass getPartialConstantInterpretation() {
276 return partialConstantInterpretationEClass;
277 }
278
279 /**
280 * <!-- begin-user-doc -->
281 * <!-- end-user-doc -->
282 * @generated
283 */
284 public EReference getPartialConstantInterpretation_InterpretationOf() {
285 return (EReference)partialConstantInterpretationEClass.getEStructuralFeatures().get(0);
286 }
287
288 /**
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @generated
292 */
293 public EClass getPartialRelationInterpretation() {
294 return partialRelationInterpretationEClass;
295 }
296
297 /**
298 * <!-- begin-user-doc -->
299 * <!-- end-user-doc -->
300 * @generated
301 */
302 public EReference getPartialRelationInterpretation_InterpretationOf() {
303 return (EReference)partialRelationInterpretationEClass.getEStructuralFeatures().get(0);
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 public EReference getPartialRelationInterpretation_Relationlinks() {
312 return (EReference)partialRelationInterpretationEClass.getEStructuralFeatures().get(1);
313 }
314
315 /**
316 * <!-- begin-user-doc -->
317 * <!-- end-user-doc -->
318 * @generated
319 */
320 public EReference getPartialRelationInterpretation_Param1() {
321 return (EReference)partialRelationInterpretationEClass.getEStructuralFeatures().get(2);
322 }
323
324 /**
325 * <!-- begin-user-doc -->
326 * <!-- end-user-doc -->
327 * @generated
328 */
329 public EReference getPartialRelationInterpretation_Param2() {
330 return (EReference)partialRelationInterpretationEClass.getEStructuralFeatures().get(3);
331 }
332
333 /**
334 * <!-- begin-user-doc -->
335 * <!-- end-user-doc -->
336 * @generated
337 */
338 public EClass getPartialFunctionInterpretation() {
339 return partialFunctionInterpretationEClass;
340 }
341
342 /**
343 * <!-- begin-user-doc -->
344 * <!-- end-user-doc -->
345 * @generated
346 */
347 public EReference getPartialFunctionInterpretation_InterpretationOf() {
348 return (EReference)partialFunctionInterpretationEClass.getEStructuralFeatures().get(0);
349 }
350
351 /**
352 * <!-- begin-user-doc -->
353 * <!-- end-user-doc -->
354 * @generated
355 */
356 public EClass getPartialTypeInterpratation() {
357 return partialTypeInterpratationEClass;
358 }
359
360 /**
361 * <!-- begin-user-doc -->
362 * <!-- end-user-doc -->
363 * @generated
364 */
365 public EReference getPartialTypeInterpratation_InterpretationOf() {
366 return (EReference)partialTypeInterpratationEClass.getEStructuralFeatures().get(0);
367 }
368
369 /**
370 * <!-- begin-user-doc -->
371 * <!-- end-user-doc -->
372 * @generated
373 */
374 public EReference getPartialTypeInterpratation_Elements() {
375 return (EReference)partialTypeInterpratationEClass.getEStructuralFeatures().get(1);
376 }
377
378 /**
379 * <!-- begin-user-doc -->
380 * <!-- end-user-doc -->
381 * @generated
382 */
383 public EReference getPartialTypeInterpratation_SupertypeInterpretation() {
384 return (EReference)partialTypeInterpratationEClass.getEStructuralFeatures().get(2);
385 }
386
387 /**
388 * <!-- begin-user-doc -->
389 * <!-- end-user-doc -->
390 * @generated
391 */
392 public EClass getRelationLink() {
393 return relationLinkEClass;
394 }
395
396 /**
397 * <!-- begin-user-doc -->
398 * <!-- end-user-doc -->
399 * @generated
400 */
401 public EClass getUnaryElementRelationLink() {
402 return unaryElementRelationLinkEClass;
403 }
404
405 /**
406 * <!-- begin-user-doc -->
407 * <!-- end-user-doc -->
408 * @generated
409 */
410 public EReference getUnaryElementRelationLink_Param1() {
411 return (EReference)unaryElementRelationLinkEClass.getEStructuralFeatures().get(0);
412 }
413
414 /**
415 * <!-- begin-user-doc -->
416 * <!-- end-user-doc -->
417 * @generated
418 */
419 public EClass getBinaryElementRelationLink() {
420 return binaryElementRelationLinkEClass;
421 }
422
423 /**
424 * <!-- begin-user-doc -->
425 * <!-- end-user-doc -->
426 * @generated
427 */
428 public EReference getBinaryElementRelationLink_Param1() {
429 return (EReference)binaryElementRelationLinkEClass.getEStructuralFeatures().get(0);
430 }
431
432 /**
433 * <!-- begin-user-doc -->
434 * <!-- end-user-doc -->
435 * @generated
436 */
437 public EReference getBinaryElementRelationLink_Param2() {
438 return (EReference)binaryElementRelationLinkEClass.getEStructuralFeatures().get(1);
439 }
440
441 /**
442 * <!-- begin-user-doc -->
443 * <!-- end-user-doc -->
444 * @generated
445 */
446 public EClass getNaryRelationLink() {
447 return naryRelationLinkEClass;
448 }
449
450 /**
451 * <!-- begin-user-doc -->
452 * <!-- end-user-doc -->
453 * @generated
454 */
455 public EReference getNaryRelationLink_Elements() {
456 return (EReference)naryRelationLinkEClass.getEStructuralFeatures().get(0);
457 }
458
459 /**
460 * <!-- begin-user-doc -->
461 * <!-- end-user-doc -->
462 * @generated
463 */
464 public EClass getNaryRelationLinkElement() {
465 return naryRelationLinkElementEClass;
466 }
467
468 /**
469 * <!-- begin-user-doc -->
470 * <!-- end-user-doc -->
471 * @generated
472 */
473 public EAttribute getNaryRelationLinkElement_Index() {
474 return (EAttribute)naryRelationLinkElementEClass.getEStructuralFeatures().get(0);
475 }
476
477 /**
478 * <!-- begin-user-doc -->
479 * <!-- end-user-doc -->
480 * @generated
481 */
482 public PartialinterpretationFactory getPartialinterpretationFactory() {
483 return (PartialinterpretationFactory)getEFactoryInstance();
484 }
485
486 /**
487 * <!-- begin-user-doc -->
488 * <!-- end-user-doc -->
489 * @generated
490 */
491 private boolean isCreated = false;
492
493 /**
494 * Creates the meta-model objects for the package. This method is
495 * guarded to have no affect on any invocation but its first.
496 * <!-- begin-user-doc -->
497 * <!-- end-user-doc -->
498 * @generated
499 */
500 public void createPackageContents() {
501 if (isCreated) return;
502 isCreated = true;
503
504 // Create classes and their features
505 partialInterpretationEClass = createEClass(PARTIAL_INTERPRETATION);
506 createEReference(partialInterpretationEClass, PARTIAL_INTERPRETATION__PROBLEM);
507 createEReference(partialInterpretationEClass, PARTIAL_INTERPRETATION__PARTIALCONSTANTINTERPRETATION);
508 createEReference(partialInterpretationEClass, PARTIAL_INTERPRETATION__PARTIALRELATIONINTERPRETATION);
509 createEReference(partialInterpretationEClass, PARTIAL_INTERPRETATION__PARTIALFUNCTIONINTERPRETATION);
510 createEReference(partialInterpretationEClass, PARTIAL_INTERPRETATION__NEW_ELEMENTS);
511 createEReference(partialInterpretationEClass, PARTIAL_INTERPRETATION__PARTIALTYPEINTERPRATATION);
512 createEAttribute(partialInterpretationEClass, PARTIAL_INTERPRETATION__MIN_NEW_ELEMENTS);
513 createEAttribute(partialInterpretationEClass, PARTIAL_INTERPRETATION__MAX_NEW_ELEMENTS);
514 createEReference(partialInterpretationEClass, PARTIAL_INTERPRETATION__OPEN_WORLD_ELEMENT_PROTOTYPE);
515 createEReference(partialInterpretationEClass, PARTIAL_INTERPRETATION__PROBLEM_CONAINER);
516
517 partialConstantInterpretationEClass = createEClass(PARTIAL_CONSTANT_INTERPRETATION);
518 createEReference(partialConstantInterpretationEClass, PARTIAL_CONSTANT_INTERPRETATION__INTERPRETATION_OF);
519
520 partialRelationInterpretationEClass = createEClass(PARTIAL_RELATION_INTERPRETATION);
521 createEReference(partialRelationInterpretationEClass, PARTIAL_RELATION_INTERPRETATION__INTERPRETATION_OF);
522 createEReference(partialRelationInterpretationEClass, PARTIAL_RELATION_INTERPRETATION__RELATIONLINKS);
523 createEReference(partialRelationInterpretationEClass, PARTIAL_RELATION_INTERPRETATION__PARAM1);
524 createEReference(partialRelationInterpretationEClass, PARTIAL_RELATION_INTERPRETATION__PARAM2);
525
526 partialFunctionInterpretationEClass = createEClass(PARTIAL_FUNCTION_INTERPRETATION);
527 createEReference(partialFunctionInterpretationEClass, PARTIAL_FUNCTION_INTERPRETATION__INTERPRETATION_OF);
528
529 partialTypeInterpratationEClass = createEClass(PARTIAL_TYPE_INTERPRATATION);
530 createEReference(partialTypeInterpratationEClass, PARTIAL_TYPE_INTERPRATATION__INTERPRETATION_OF);
531 createEReference(partialTypeInterpratationEClass, PARTIAL_TYPE_INTERPRATATION__ELEMENTS);
532 createEReference(partialTypeInterpratationEClass, PARTIAL_TYPE_INTERPRATATION__SUPERTYPE_INTERPRETATION);
533
534 relationLinkEClass = createEClass(RELATION_LINK);
535
536 unaryElementRelationLinkEClass = createEClass(UNARY_ELEMENT_RELATION_LINK);
537 createEReference(unaryElementRelationLinkEClass, UNARY_ELEMENT_RELATION_LINK__PARAM1);
538
539 binaryElementRelationLinkEClass = createEClass(BINARY_ELEMENT_RELATION_LINK);
540 createEReference(binaryElementRelationLinkEClass, BINARY_ELEMENT_RELATION_LINK__PARAM1);
541 createEReference(binaryElementRelationLinkEClass, BINARY_ELEMENT_RELATION_LINK__PARAM2);
542
543 naryRelationLinkEClass = createEClass(NARY_RELATION_LINK);
544 createEReference(naryRelationLinkEClass, NARY_RELATION_LINK__ELEMENTS);
545
546 naryRelationLinkElementEClass = createEClass(NARY_RELATION_LINK_ELEMENT);
547 createEAttribute(naryRelationLinkElementEClass, NARY_RELATION_LINK_ELEMENT__INDEX);
548 }
549
550 /**
551 * <!-- begin-user-doc -->
552 * <!-- end-user-doc -->
553 * @generated
554 */
555 private boolean isInitialized = false;
556
557 /**
558 * Complete the initialization of the package and its meta-model. This
559 * method is guarded to have no affect on any invocation but its first.
560 * <!-- begin-user-doc -->
561 * <!-- end-user-doc -->
562 * @generated
563 */
564 public void initializePackageContents() {
565 if (isInitialized) return;
566 isInitialized = true;
567
568 // Initialize package
569 setName(eNAME);
570 setNsPrefix(eNS_PREFIX);
571 setNsURI(eNS_URI);
572
573 // Obtain other dependent packages
574 LogicproblemPackage theLogicproblemPackage = (LogicproblemPackage)EPackage.Registry.INSTANCE.getEPackage(LogicproblemPackage.eNS_URI);
575 LogiclanguagePackage theLogiclanguagePackage = (LogiclanguagePackage)EPackage.Registry.INSTANCE.getEPackage(LogiclanguagePackage.eNS_URI);
576
577 // Create type parameters
578
579 // Set bounds for type parameters
580
581 // Add supertypes to classes
582 unaryElementRelationLinkEClass.getESuperTypes().add(this.getRelationLink());
583 binaryElementRelationLinkEClass.getESuperTypes().add(this.getRelationLink());
584 naryRelationLinkEClass.getESuperTypes().add(this.getRelationLink());
585
586 // Initialize classes, features, and operations; add parameters
587 initEClass(partialInterpretationEClass, PartialInterpretation.class, "PartialInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
588 initEReference(getPartialInterpretation_Problem(), theLogicproblemPackage.getLogicProblem(), null, "problem", null, 1, 1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
589 initEReference(getPartialInterpretation_Partialconstantinterpretation(), this.getPartialConstantInterpretation(), null, "partialconstantinterpretation", null, 0, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
590 initEReference(getPartialInterpretation_Partialrelationinterpretation(), this.getPartialRelationInterpretation(), null, "partialrelationinterpretation", null, 0, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
591 initEReference(getPartialInterpretation_Partialfunctioninterpretation(), this.getPartialFunctionInterpretation(), null, "partialfunctioninterpretation", null, 0, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
592 initEReference(getPartialInterpretation_NewElements(), theLogiclanguagePackage.getDefinedElement(), null, "newElements", null, 0, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
593 initEReference(getPartialInterpretation_Partialtypeinterpratation(), this.getPartialTypeInterpratation(), null, "partialtypeinterpratation", null, 0, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
594 initEAttribute(getPartialInterpretation_MinNewElements(), ecorePackage.getEInt(), "minNewElements", "0", 1, 1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
595 initEAttribute(getPartialInterpretation_MaxNewElements(), ecorePackage.getEInt(), "maxNewElements", "0", 1, 1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
596 initEReference(getPartialInterpretation_OpenWorldElementPrototype(), theLogiclanguagePackage.getDefinedElement(), null, "openWorldElementPrototype", null, 1, 1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
597 initEReference(getPartialInterpretation_ProblemConainer(), theLogicproblemPackage.getLogicProblem(), null, "problemConainer", null, 0, 1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
598
599 initEClass(partialConstantInterpretationEClass, PartialConstantInterpretation.class, "PartialConstantInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
600 initEReference(getPartialConstantInterpretation_InterpretationOf(), theLogiclanguagePackage.getConstantDeclaration(), null, "interpretationOf", null, 1, 1, PartialConstantInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
601
602 initEClass(partialRelationInterpretationEClass, PartialRelationInterpretation.class, "PartialRelationInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
603 initEReference(getPartialRelationInterpretation_InterpretationOf(), theLogiclanguagePackage.getRelationDeclaration(), null, "interpretationOf", null, 1, 1, PartialRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
604 initEReference(getPartialRelationInterpretation_Relationlinks(), this.getRelationLink(), null, "relationlinks", null, 0, -1, PartialRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
605 initEReference(getPartialRelationInterpretation_Param1(), theLogiclanguagePackage.getTypeReference(), null, "param1", null, 0, 1, PartialRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
606 initEReference(getPartialRelationInterpretation_Param2(), theLogiclanguagePackage.getTypeReference(), null, "param2", null, 0, 1, PartialRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
607
608 initEClass(partialFunctionInterpretationEClass, PartialFunctionInterpretation.class, "PartialFunctionInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
609 initEReference(getPartialFunctionInterpretation_InterpretationOf(), theLogiclanguagePackage.getFunctionDeclaration(), null, "interpretationOf", null, 1, 1, PartialFunctionInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
610
611 initEClass(partialTypeInterpratationEClass, PartialTypeInterpratation.class, "PartialTypeInterpratation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
612 initEReference(getPartialTypeInterpratation_InterpretationOf(), theLogiclanguagePackage.getTypeDeclaration(), null, "interpretationOf", null, 1, 1, PartialTypeInterpratation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
613 initEReference(getPartialTypeInterpratation_Elements(), theLogiclanguagePackage.getDefinedElement(), null, "elements", null, 0, -1, PartialTypeInterpratation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
614 initEReference(getPartialTypeInterpratation_SupertypeInterpretation(), this.getPartialTypeInterpratation(), null, "supertypeInterpretation", null, 0, -1, PartialTypeInterpratation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
615
616 initEClass(relationLinkEClass, RelationLink.class, "RelationLink", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
617
618 initEClass(unaryElementRelationLinkEClass, UnaryElementRelationLink.class, "UnaryElementRelationLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
619 initEReference(getUnaryElementRelationLink_Param1(), theLogiclanguagePackage.getDefinedElement(), null, "param1", null, 1, 1, UnaryElementRelationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
620
621 initEClass(binaryElementRelationLinkEClass, BinaryElementRelationLink.class, "BinaryElementRelationLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
622 initEReference(getBinaryElementRelationLink_Param1(), theLogiclanguagePackage.getDefinedElement(), null, "param1", null, 1, 1, BinaryElementRelationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
623 initEReference(getBinaryElementRelationLink_Param2(), theLogiclanguagePackage.getDefinedElement(), null, "param2", null, 1, 1, BinaryElementRelationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
624
625 initEClass(naryRelationLinkEClass, NaryRelationLink.class, "NaryRelationLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
626 initEReference(getNaryRelationLink_Elements(), this.getNaryRelationLinkElement(), null, "elements", null, 0, -1, NaryRelationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
627
628 initEClass(naryRelationLinkElementEClass, NaryRelationLinkElement.class, "NaryRelationLinkElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
629 initEAttribute(getNaryRelationLinkElement_Index(), ecorePackage.getEInt(), "index", null, 0, 1, NaryRelationLinkElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
630
631 // Create resource
632 createResource(eNS_URI);
633 }
634
635} //PartialinterpretationPackageImpl
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/RelationLinkImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/RelationLinkImpl.java
new file mode 100644
index 00000000..5eda35c7
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/RelationLinkImpl.java
@@ -0,0 +1,39 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl;
4
5import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage;
6import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RelationLink;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
11
12/**
13 * <!-- begin-user-doc -->
14 * An implementation of the model object '<em><b>Relation Link</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * @generated
18 */
19public abstract class RelationLinkImpl extends MinimalEObjectImpl.Container implements RelationLink {
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected RelationLinkImpl() {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass() {
36 return PartialinterpretationPackage.Literals.RELATION_LINK;
37 }
38
39} //RelationLinkImpl
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/UnaryElementRelationLinkImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/UnaryElementRelationLinkImpl.java
new file mode 100644
index 00000000..2cb56323
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/UnaryElementRelationLinkImpl.java
@@ -0,0 +1,157 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
6
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage;
8import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink;
9
10import org.eclipse.emf.common.notify.Notification;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Unary Element Relation Link</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.UnaryElementRelationLinkImpl#getParam1 <em>Param1</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class UnaryElementRelationLinkImpl extends RelationLinkImpl implements UnaryElementRelationLink {
31 /**
32 * The cached value of the '{@link #getParam1() <em>Param1</em>}' reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getParam1()
36 * @generated
37 * @ordered
38 */
39 protected DefinedElement param1;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected UnaryElementRelationLinkImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return PartialinterpretationPackage.Literals.UNARY_ELEMENT_RELATION_LINK;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 public DefinedElement getParam1() {
66 if (param1 != null && param1.eIsProxy()) {
67 InternalEObject oldParam1 = (InternalEObject)param1;
68 param1 = (DefinedElement)eResolveProxy(oldParam1);
69 if (param1 != oldParam1) {
70 if (eNotificationRequired())
71 eNotify(new ENotificationImpl(this, Notification.RESOLVE, PartialinterpretationPackage.UNARY_ELEMENT_RELATION_LINK__PARAM1, oldParam1, param1));
72 }
73 }
74 return param1;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public DefinedElement basicGetParam1() {
83 return param1;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public void setParam1(DefinedElement newParam1) {
92 DefinedElement oldParam1 = param1;
93 param1 = newParam1;
94 if (eNotificationRequired())
95 eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.UNARY_ELEMENT_RELATION_LINK__PARAM1, oldParam1, param1));
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 @Override
104 public Object eGet(int featureID, boolean resolve, boolean coreType) {
105 switch (featureID) {
106 case PartialinterpretationPackage.UNARY_ELEMENT_RELATION_LINK__PARAM1:
107 if (resolve) return getParam1();
108 return basicGetParam1();
109 }
110 return super.eGet(featureID, resolve, coreType);
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 @Override
119 public void eSet(int featureID, Object newValue) {
120 switch (featureID) {
121 case PartialinterpretationPackage.UNARY_ELEMENT_RELATION_LINK__PARAM1:
122 setParam1((DefinedElement)newValue);
123 return;
124 }
125 super.eSet(featureID, newValue);
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 @Override
134 public void eUnset(int featureID) {
135 switch (featureID) {
136 case PartialinterpretationPackage.UNARY_ELEMENT_RELATION_LINK__PARAM1:
137 setParam1((DefinedElement)null);
138 return;
139 }
140 super.eUnset(featureID);
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 @Override
149 public boolean eIsSet(int featureID) {
150 switch (featureID) {
151 case PartialinterpretationPackage.UNARY_ELEMENT_RELATION_LINK__PARAM1:
152 return param1 != null;
153 }
154 return super.eIsSet(featureID);
155 }
156
157} //UnaryElementRelationLinkImpl
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/util/PartialinterpretationAdapterFactory.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/util/PartialinterpretationAdapterFactory.java
new file mode 100644
index 00000000..628d56eb
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/util/PartialinterpretationAdapterFactory.java
@@ -0,0 +1,282 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.util;
4
5import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.*;
6
7import org.eclipse.emf.common.notify.Adapter;
8import org.eclipse.emf.common.notify.Notifier;
9
10import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
11
12import org.eclipse.emf.ecore.EObject;
13
14/**
15 * <!-- begin-user-doc -->
16 * The <b>Adapter Factory</b> for the model.
17 * It provides an adapter <code>createXXX</code> method for each class of the model.
18 * <!-- end-user-doc -->
19 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage
20 * @generated
21 */
22public class PartialinterpretationAdapterFactory extends AdapterFactoryImpl {
23 /**
24 * The cached model package.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 protected static PartialinterpretationPackage modelPackage;
30
31 /**
32 * Creates an instance of the adapter factory.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 public PartialinterpretationAdapterFactory() {
38 if (modelPackage == null) {
39 modelPackage = PartialinterpretationPackage.eINSTANCE;
40 }
41 }
42
43 /**
44 * Returns whether this factory is applicable for the type of the object.
45 * <!-- begin-user-doc -->
46 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
47 * <!-- end-user-doc -->
48 * @return whether this factory is applicable for the type of the object.
49 * @generated
50 */
51 @Override
52 public boolean isFactoryForType(Object object) {
53 if (object == modelPackage) {
54 return true;
55 }
56 if (object instanceof EObject) {
57 return ((EObject)object).eClass().getEPackage() == modelPackage;
58 }
59 return false;
60 }
61
62 /**
63 * The switch that delegates to the <code>createXXX</code> methods.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected PartialinterpretationSwitch<Adapter> modelSwitch =
69 new PartialinterpretationSwitch<Adapter>() {
70 @Override
71 public Adapter casePartialInterpretation(PartialInterpretation object) {
72 return createPartialInterpretationAdapter();
73 }
74 @Override
75 public Adapter casePartialConstantInterpretation(PartialConstantInterpretation object) {
76 return createPartialConstantInterpretationAdapter();
77 }
78 @Override
79 public Adapter casePartialRelationInterpretation(PartialRelationInterpretation object) {
80 return createPartialRelationInterpretationAdapter();
81 }
82 @Override
83 public Adapter casePartialFunctionInterpretation(PartialFunctionInterpretation object) {
84 return createPartialFunctionInterpretationAdapter();
85 }
86 @Override
87 public Adapter casePartialTypeInterpratation(PartialTypeInterpratation object) {
88 return createPartialTypeInterpratationAdapter();
89 }
90 @Override
91 public Adapter caseRelationLink(RelationLink object) {
92 return createRelationLinkAdapter();
93 }
94 @Override
95 public Adapter caseUnaryElementRelationLink(UnaryElementRelationLink object) {
96 return createUnaryElementRelationLinkAdapter();
97 }
98 @Override
99 public Adapter caseBinaryElementRelationLink(BinaryElementRelationLink object) {
100 return createBinaryElementRelationLinkAdapter();
101 }
102 @Override
103 public Adapter caseNaryRelationLink(NaryRelationLink object) {
104 return createNaryRelationLinkAdapter();
105 }
106 @Override
107 public Adapter caseNaryRelationLinkElement(NaryRelationLinkElement object) {
108 return createNaryRelationLinkElementAdapter();
109 }
110 @Override
111 public Adapter defaultCase(EObject object) {
112 return createEObjectAdapter();
113 }
114 };
115
116 /**
117 * Creates an adapter for the <code>target</code>.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @param target the object to adapt.
121 * @return the adapter for the <code>target</code>.
122 * @generated
123 */
124 @Override
125 public Adapter createAdapter(Notifier target) {
126 return modelSwitch.doSwitch((EObject)target);
127 }
128
129
130 /**
131 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation <em>Partial Interpretation</em>}'.
132 * <!-- begin-user-doc -->
133 * This default implementation returns null so that we can easily ignore cases;
134 * it's useful to ignore a case when inheritance will catch all the cases anyway.
135 * <!-- end-user-doc -->
136 * @return the new adapter.
137 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
138 * @generated
139 */
140 public Adapter createPartialInterpretationAdapter() {
141 return null;
142 }
143
144 /**
145 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation <em>Partial Constant Interpretation</em>}'.
146 * <!-- begin-user-doc -->
147 * This default implementation returns null so that we can easily ignore cases;
148 * it's useful to ignore a case when inheritance will catch all the cases anyway.
149 * <!-- end-user-doc -->
150 * @return the new adapter.
151 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation
152 * @generated
153 */
154 public Adapter createPartialConstantInterpretationAdapter() {
155 return null;
156 }
157
158 /**
159 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation <em>Partial Relation Interpretation</em>}'.
160 * <!-- begin-user-doc -->
161 * This default implementation returns null so that we can easily ignore cases;
162 * it's useful to ignore a case when inheritance will catch all the cases anyway.
163 * <!-- end-user-doc -->
164 * @return the new adapter.
165 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation
166 * @generated
167 */
168 public Adapter createPartialRelationInterpretationAdapter() {
169 return null;
170 }
171
172 /**
173 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation <em>Partial Function Interpretation</em>}'.
174 * <!-- begin-user-doc -->
175 * This default implementation returns null so that we can easily ignore cases;
176 * it's useful to ignore a case when inheritance will catch all the cases anyway.
177 * <!-- end-user-doc -->
178 * @return the new adapter.
179 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation
180 * @generated
181 */
182 public Adapter createPartialFunctionInterpretationAdapter() {
183 return null;
184 }
185
186 /**
187 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation <em>Partial Type Interpratation</em>}'.
188 * <!-- begin-user-doc -->
189 * This default implementation returns null so that we can easily ignore cases;
190 * it's useful to ignore a case when inheritance will catch all the cases anyway.
191 * <!-- end-user-doc -->
192 * @return the new adapter.
193 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation
194 * @generated
195 */
196 public Adapter createPartialTypeInterpratationAdapter() {
197 return null;
198 }
199
200 /**
201 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RelationLink <em>Relation Link</em>}'.
202 * <!-- begin-user-doc -->
203 * This default implementation returns null so that we can easily ignore cases;
204 * it's useful to ignore a case when inheritance will catch all the cases anyway.
205 * <!-- end-user-doc -->
206 * @return the new adapter.
207 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RelationLink
208 * @generated
209 */
210 public Adapter createRelationLinkAdapter() {
211 return null;
212 }
213
214 /**
215 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink <em>Unary Element Relation Link</em>}'.
216 * <!-- begin-user-doc -->
217 * This default implementation returns null so that we can easily ignore cases;
218 * it's useful to ignore a case when inheritance will catch all the cases anyway.
219 * <!-- end-user-doc -->
220 * @return the new adapter.
221 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.UnaryElementRelationLink
222 * @generated
223 */
224 public Adapter createUnaryElementRelationLinkAdapter() {
225 return null;
226 }
227
228 /**
229 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink <em>Binary Element Relation Link</em>}'.
230 * <!-- begin-user-doc -->
231 * This default implementation returns null so that we can easily ignore cases;
232 * it's useful to ignore a case when inheritance will catch all the cases anyway.
233 * <!-- end-user-doc -->
234 * @return the new adapter.
235 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink
236 * @generated
237 */
238 public Adapter createBinaryElementRelationLinkAdapter() {
239 return null;
240 }
241
242 /**
243 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLink <em>Nary Relation Link</em>}'.
244 * <!-- begin-user-doc -->
245 * This default implementation returns null so that we can easily ignore cases;
246 * it's useful to ignore a case when inheritance will catch all the cases anyway.
247 * <!-- end-user-doc -->
248 * @return the new adapter.
249 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLink
250 * @generated
251 */
252 public Adapter createNaryRelationLinkAdapter() {
253 return null;
254 }
255
256 /**
257 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement <em>Nary Relation Link Element</em>}'.
258 * <!-- begin-user-doc -->
259 * This default implementation returns null so that we can easily ignore cases;
260 * it's useful to ignore a case when inheritance will catch all the cases anyway.
261 * <!-- end-user-doc -->
262 * @return the new adapter.
263 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.NaryRelationLinkElement
264 * @generated
265 */
266 public Adapter createNaryRelationLinkElementAdapter() {
267 return null;
268 }
269
270 /**
271 * Creates a new adapter for the default case.
272 * <!-- begin-user-doc -->
273 * This default implementation returns null.
274 * <!-- end-user-doc -->
275 * @return the new adapter.
276 * @generated
277 */
278 public Adapter createEObjectAdapter() {
279 return null;
280 }
281
282} //PartialinterpretationAdapterFactory
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/util/PartialinterpretationSwitch.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/util/PartialinterpretationSwitch.java
new file mode 100644
index 00000000..f99b2d76
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/util/PartialinterpretationSwitch.java
@@ -0,0 +1,302 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.util;
4
5import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.*;
6
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EPackage;
9
10import org.eclipse.emf.ecore.util.Switch;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Switch</b> for the model's inheritance hierarchy.
15 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
16 * to invoke the <code>caseXXX</code> method for each class of the model,
17 * starting with the actual class of the object
18 * and proceeding up the inheritance hierarchy
19 * until a non-null result is returned,
20 * which is the result of the switch.
21 * <!-- end-user-doc -->
22 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage
23 * @generated
24 */
25public class PartialinterpretationSwitch<T> extends Switch<T> {
26 /**
27 * The cached model package
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 protected static PartialinterpretationPackage modelPackage;
33
34 /**
35 * Creates an instance of the switch.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 public PartialinterpretationSwitch() {
41 if (modelPackage == null) {
42 modelPackage = PartialinterpretationPackage.eINSTANCE;
43 }
44 }
45
46 /**
47 * Checks whether this is a switch for the given package.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @param ePackage the package in question.
51 * @return whether this is a switch for the given package.
52 * @generated
53 */
54 @Override
55 protected boolean isSwitchFor(EPackage ePackage) {
56 return ePackage == modelPackage;
57 }
58
59 /**
60 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @return the first non-null result returned by a <code>caseXXX</code> call.
64 * @generated
65 */
66 @Override
67 protected T doSwitch(int classifierID, EObject theEObject) {
68 switch (classifierID) {
69 case PartialinterpretationPackage.PARTIAL_INTERPRETATION: {
70 PartialInterpretation partialInterpretation = (PartialInterpretation)theEObject;
71 T result = casePartialInterpretation(partialInterpretation);
72 if (result == null) result = defaultCase(theEObject);
73 return result;
74 }
75 case PartialinterpretationPackage.PARTIAL_CONSTANT_INTERPRETATION: {
76 PartialConstantInterpretation partialConstantInterpretation = (PartialConstantInterpretation)theEObject;
77 T result = casePartialConstantInterpretation(partialConstantInterpretation);
78 if (result == null) result = defaultCase(theEObject);
79 return result;
80 }
81 case PartialinterpretationPackage.PARTIAL_RELATION_INTERPRETATION: {
82 PartialRelationInterpretation partialRelationInterpretation = (PartialRelationInterpretation)theEObject;
83 T result = casePartialRelationInterpretation(partialRelationInterpretation);
84 if (result == null) result = defaultCase(theEObject);
85 return result;
86 }
87 case PartialinterpretationPackage.PARTIAL_FUNCTION_INTERPRETATION: {
88 PartialFunctionInterpretation partialFunctionInterpretation = (PartialFunctionInterpretation)theEObject;
89 T result = casePartialFunctionInterpretation(partialFunctionInterpretation);
90 if (result == null) result = defaultCase(theEObject);
91 return result;
92 }
93 case PartialinterpretationPackage.PARTIAL_TYPE_INTERPRATATION: {
94 PartialTypeInterpratation partialTypeInterpratation = (PartialTypeInterpratation)theEObject;
95 T result = casePartialTypeInterpratation(partialTypeInterpratation);
96 if (result == null) result = defaultCase(theEObject);
97 return result;
98 }
99 case PartialinterpretationPackage.RELATION_LINK: {
100 RelationLink relationLink = (RelationLink)theEObject;
101 T result = caseRelationLink(relationLink);
102 if (result == null) result = defaultCase(theEObject);
103 return result;
104 }
105 case PartialinterpretationPackage.UNARY_ELEMENT_RELATION_LINK: {
106 UnaryElementRelationLink unaryElementRelationLink = (UnaryElementRelationLink)theEObject;
107 T result = caseUnaryElementRelationLink(unaryElementRelationLink);
108 if (result == null) result = caseRelationLink(unaryElementRelationLink);
109 if (result == null) result = defaultCase(theEObject);
110 return result;
111 }
112 case PartialinterpretationPackage.BINARY_ELEMENT_RELATION_LINK: {
113 BinaryElementRelationLink binaryElementRelationLink = (BinaryElementRelationLink)theEObject;
114 T result = caseBinaryElementRelationLink(binaryElementRelationLink);
115 if (result == null) result = caseRelationLink(binaryElementRelationLink);
116 if (result == null) result = defaultCase(theEObject);
117 return result;
118 }
119 case PartialinterpretationPackage.NARY_RELATION_LINK: {
120 NaryRelationLink naryRelationLink = (NaryRelationLink)theEObject;
121 T result = caseNaryRelationLink(naryRelationLink);
122 if (result == null) result = caseRelationLink(naryRelationLink);
123 if (result == null) result = defaultCase(theEObject);
124 return result;
125 }
126 case PartialinterpretationPackage.NARY_RELATION_LINK_ELEMENT: {
127 NaryRelationLinkElement naryRelationLinkElement = (NaryRelationLinkElement)theEObject;
128 T result = caseNaryRelationLinkElement(naryRelationLinkElement);
129 if (result == null) result = defaultCase(theEObject);
130 return result;
131 }
132 default: return defaultCase(theEObject);
133 }
134 }
135
136 /**
137 * Returns the result of interpreting the object as an instance of '<em>Partial Interpretation</em>'.
138 * <!-- begin-user-doc -->
139 * This implementation returns null;
140 * returning a non-null result will terminate the switch.
141 * <!-- end-user-doc -->
142 * @param object the target of the switch.
143 * @return the result of interpreting the object as an instance of '<em>Partial Interpretation</em>'.
144 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
145 * @generated
146 */
147 public T casePartialInterpretation(PartialInterpretation object) {
148 return null;
149 }
150
151 /**
152 * Returns the result of interpreting the object as an instance of '<em>Partial Constant Interpretation</em>'.
153 * <!-- begin-user-doc -->
154 * This implementation returns null;
155 * returning a non-null result will terminate the switch.
156 * <!-- end-user-doc -->
157 * @param object the target of the switch.
158 * @return the result of interpreting the object as an instance of '<em>Partial Constant Interpretation</em>'.
159 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
160 * @generated
161 */
162 public T casePartialConstantInterpretation(PartialConstantInterpretation object) {
163 return null;
164 }
165
166 /**
167 * Returns the result of interpreting the object as an instance of '<em>Partial Relation Interpretation</em>'.
168 * <!-- begin-user-doc -->
169 * This implementation returns null;
170 * returning a non-null result will terminate the switch.
171 * <!-- end-user-doc -->
172 * @param object the target of the switch.
173 * @return the result of interpreting the object as an instance of '<em>Partial Relation Interpretation</em>'.
174 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
175 * @generated
176 */
177 public T casePartialRelationInterpretation(PartialRelationInterpretation object) {
178 return null;
179 }
180
181 /**
182 * Returns the result of interpreting the object as an instance of '<em>Partial Function Interpretation</em>'.
183 * <!-- begin-user-doc -->
184 * This implementation returns null;
185 * returning a non-null result will terminate the switch.
186 * <!-- end-user-doc -->
187 * @param object the target of the switch.
188 * @return the result of interpreting the object as an instance of '<em>Partial Function Interpretation</em>'.
189 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
190 * @generated
191 */
192 public T casePartialFunctionInterpretation(PartialFunctionInterpretation object) {
193 return null;
194 }
195
196 /**
197 * Returns the result of interpreting the object as an instance of '<em>Partial Type Interpratation</em>'.
198 * <!-- begin-user-doc -->
199 * This implementation returns null;
200 * returning a non-null result will terminate the switch.
201 * <!-- end-user-doc -->
202 * @param object the target of the switch.
203 * @return the result of interpreting the object as an instance of '<em>Partial Type Interpratation</em>'.
204 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
205 * @generated
206 */
207 public T casePartialTypeInterpratation(PartialTypeInterpratation object) {
208 return null;
209 }
210
211 /**
212 * Returns the result of interpreting the object as an instance of '<em>Relation Link</em>'.
213 * <!-- begin-user-doc -->
214 * This implementation returns null;
215 * returning a non-null result will terminate the switch.
216 * <!-- end-user-doc -->
217 * @param object the target of the switch.
218 * @return the result of interpreting the object as an instance of '<em>Relation Link</em>'.
219 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
220 * @generated
221 */
222 public T caseRelationLink(RelationLink object) {
223 return null;
224 }
225
226 /**
227 * Returns the result of interpreting the object as an instance of '<em>Unary Element Relation Link</em>'.
228 * <!-- begin-user-doc -->
229 * This implementation returns null;
230 * returning a non-null result will terminate the switch.
231 * <!-- end-user-doc -->
232 * @param object the target of the switch.
233 * @return the result of interpreting the object as an instance of '<em>Unary Element Relation Link</em>'.
234 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
235 * @generated
236 */
237 public T caseUnaryElementRelationLink(UnaryElementRelationLink object) {
238 return null;
239 }
240
241 /**
242 * Returns the result of interpreting the object as an instance of '<em>Binary Element Relation Link</em>'.
243 * <!-- begin-user-doc -->
244 * This implementation returns null;
245 * returning a non-null result will terminate the switch.
246 * <!-- end-user-doc -->
247 * @param object the target of the switch.
248 * @return the result of interpreting the object as an instance of '<em>Binary Element Relation Link</em>'.
249 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
250 * @generated
251 */
252 public T caseBinaryElementRelationLink(BinaryElementRelationLink object) {
253 return null;
254 }
255
256 /**
257 * Returns the result of interpreting the object as an instance of '<em>Nary Relation Link</em>'.
258 * <!-- begin-user-doc -->
259 * This implementation returns null;
260 * returning a non-null result will terminate the switch.
261 * <!-- end-user-doc -->
262 * @param object the target of the switch.
263 * @return the result of interpreting the object as an instance of '<em>Nary Relation Link</em>'.
264 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
265 * @generated
266 */
267 public T caseNaryRelationLink(NaryRelationLink object) {
268 return null;
269 }
270
271 /**
272 * Returns the result of interpreting the object as an instance of '<em>Nary Relation Link Element</em>'.
273 * <!-- begin-user-doc -->
274 * This implementation returns null;
275 * returning a non-null result will terminate the switch.
276 * <!-- end-user-doc -->
277 * @param object the target of the switch.
278 * @return the result of interpreting the object as an instance of '<em>Nary Relation Link Element</em>'.
279 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
280 * @generated
281 */
282 public T caseNaryRelationLinkElement(NaryRelationLinkElement object) {
283 return null;
284 }
285
286 /**
287 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
288 * <!-- begin-user-doc -->
289 * This implementation returns null;
290 * returning a non-null result will terminate the switch, but this is the last case anyway.
291 * <!-- end-user-doc -->
292 * @param object the target of the switch.
293 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
294 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
295 * @generated
296 */
297 @Override
298 public T defaultCase(EObject object) {
299 return null;
300 }
301
302} //PartialinterpretationSwitch
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.aird b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.aird
new file mode 100644
index 00000000..319af04b
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.aird
@@ -0,0 +1,2710 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<viewpoint:DAnalysis xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style" xmi:id="_LPTx0LW_EeamG-Ij7YnW7w" selectedViews="_LRSu0LW_EeamG-Ij7YnW7w _LRdt8LW_EeamG-Ij7YnW7w _LRimcLW_EeamG-Ij7YnW7w _LRrwYLW_EeamG-Ij7YnW7w" version="10.1.0.201509162000">
3 <semanticResources>PartialInterpretation.ecore</semanticResources>
4 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore</semanticResources>
5 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore</semanticResources>
6 <semanticResources>http://www.eclipse.org/emf/2002/Ecore</semanticResources>
7 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_LRSu0LW_EeamG-Ij7YnW7w">
8 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_MAfXILW_EeamG-Ij7YnW7w" name="partialinterpretation class diagram">
9 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_MAfXIbW_EeamG-Ij7YnW7w" source="DANNOTATION_CUSTOMIZATION_KEY">
10 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_MAfXIrW_EeamG-Ij7YnW7w">
11 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_v4J-ALW_EeamG-Ij7YnW7w" routingStyle="manhattan">
12 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
13 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_v4J-AbW_EeamG-Ij7YnW7w" showIcon="false" labelExpression="service:render">
14 <labelFormat>bold</labelFormat>
15 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
16 </centerLabelStyleDescription>
17 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_v4J-ArW_EeamG-Ij7YnW7w" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
18 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
19 </endLabelStyleDescription>
20 </computedStyleDescriptions>
21 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_5K2RYLW_EeamG-Ij7YnW7w" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
22 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
23 <labelFormat>bold</labelFormat>
24 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
25 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
26 </computedStyleDescriptions>
27 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_5K7J4LW_EeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan">
28 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
29 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_5K7J4bW_EeamG-Ij7YnW7w" showIcon="false" labelExpression="service:render">
30 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
31 </centerLabelStyleDescription>
32 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_5K7J4rW_EeamG-Ij7YnW7w" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
33 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
34 </endLabelStyleDescription>
35 </computedStyleDescriptions>
36 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_UkL5ML5UEea19paI6HZj1w" sourceArrow="FillDiamond" routingStyle="manhattan">
37 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
38 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_UkL5Mb5UEea19paI6HZj1w" showIcon="false" labelExpression="service:render">
39 <labelFormat>bold</labelFormat>
40 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
41 </centerLabelStyleDescription>
42 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_UkL5Mr5UEea19paI6HZj1w" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
43 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
44 </endLabelStyleDescription>
45 </computedStyleDescriptions>
46 </data>
47 </ownedAnnotationEntries>
48 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_MA7cALW_EeamG-Ij7YnW7w" source="GMF_DIAGRAMS">
49 <data xmi:type="notation:Diagram" xmi:id="_MA7cAbW_EeamG-Ij7YnW7w" type="Sirius" element="_MAfXILW_EeamG-Ij7YnW7w" measurementUnit="Pixel">
50 <children xmi:type="notation:Node" xmi:id="_ggJ5QLW_EeamG-Ij7YnW7w" type="2003" element="_gf_hMLW_EeamG-Ij7YnW7w">
51 <children xmi:type="notation:Node" xmi:id="_ggLucLW_EeamG-Ij7YnW7w" type="5007"/>
52 <children xmi:type="notation:Node" xmi:id="_ggM8kLW_EeamG-Ij7YnW7w" type="7004">
53 <children xmi:type="notation:Node" xmi:id="_-4VQwL5TEea19paI6HZj1w" type="3010" element="_-3bR0L5TEea19paI6HZj1w">
54 <styles xmi:type="notation:FontStyle" xmi:id="_-4VQwb5TEea19paI6HZj1w" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
55 <layoutConstraint xmi:type="notation:Location" xmi:id="_-4VQwr5TEea19paI6HZj1w"/>
56 </children>
57 <children xmi:type="notation:Node" xmi:id="_BBy3oL5UEea19paI6HZj1w" type="3010" element="_BBOP4L5UEea19paI6HZj1w">
58 <styles xmi:type="notation:FontStyle" xmi:id="_BBy3ob5UEea19paI6HZj1w" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
59 <layoutConstraint xmi:type="notation:Location" xmi:id="_BBy3or5UEea19paI6HZj1w"/>
60 </children>
61 <styles xmi:type="notation:SortingStyle" xmi:id="_ggM8kbW_EeamG-Ij7YnW7w"/>
62 <styles xmi:type="notation:FilteringStyle" xmi:id="_ggM8krW_EeamG-Ij7YnW7w"/>
63 </children>
64 <styles xmi:type="notation:ShapeStyle" xmi:id="_ggJ5QbW_EeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
65 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ggJ5QrW_EeamG-Ij7YnW7w" x="387" y="490" width="183" height="68"/>
66 </children>
67 <children xmi:type="notation:Node" xmi:id="_v4LzMLW_EeamG-Ij7YnW7w" type="2003" element="_v4CCMLW_EeamG-Ij7YnW7w">
68 <children xmi:type="notation:Node" xmi:id="_v4MaQLW_EeamG-Ij7YnW7w" type="5007"/>
69 <children xmi:type="notation:Node" xmi:id="_v4MaQbW_EeamG-Ij7YnW7w" type="7004">
70 <styles xmi:type="notation:SortingStyle" xmi:id="_v4MaQrW_EeamG-Ij7YnW7w"/>
71 <styles xmi:type="notation:FilteringStyle" xmi:id="_v4MaQ7W_EeamG-Ij7YnW7w"/>
72 </children>
73 <styles xmi:type="notation:ShapeStyle" xmi:id="_v4LzMbW_EeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" fillColor="8047085"/>
74 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4LzMrW_EeamG-Ij7YnW7w" x="567" y="15"/>
75 </children>
76 <children xmi:type="notation:Node" xmi:id="_5LFh8LW_EeamG-Ij7YnW7w" type="2003" element="_5KlLoLW_EeamG-Ij7YnW7w">
77 <children xmi:type="notation:Node" xmi:id="_5LFh87W_EeamG-Ij7YnW7w" type="5007"/>
78 <children xmi:type="notation:Node" xmi:id="_5LGJALW_EeamG-Ij7YnW7w" type="7004">
79 <styles xmi:type="notation:SortingStyle" xmi:id="_5LGJAbW_EeamG-Ij7YnW7w"/>
80 <styles xmi:type="notation:FilteringStyle" xmi:id="_5LGJArW_EeamG-Ij7YnW7w"/>
81 </children>
82 <styles xmi:type="notation:ShapeStyle" xmi:id="_5LFh8bW_EeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" italic="true" fillColor="8047085"/>
83 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LFh8rW_EeamG-Ij7YnW7w" x="689" y="165" height="18"/>
84 </children>
85 <children xmi:type="notation:Node" xmi:id="_5LGwELW_EeamG-Ij7YnW7w" type="2003" element="_5KnA0LW_EeamG-Ij7YnW7w">
86 <children xmi:type="notation:Node" xmi:id="_5LHXILW_EeamG-Ij7YnW7w" type="5007"/>
87 <children xmi:type="notation:Node" xmi:id="_5LHXIbW_EeamG-Ij7YnW7w" type="7004">
88 <styles xmi:type="notation:SortingStyle" xmi:id="_5LHXIrW_EeamG-Ij7YnW7w"/>
89 <styles xmi:type="notation:FilteringStyle" xmi:id="_5LHXI7W_EeamG-Ij7YnW7w"/>
90 </children>
91 <styles xmi:type="notation:ShapeStyle" xmi:id="_5LGwEbW_EeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" fillColor="8047085"/>
92 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LGwErW_EeamG-Ij7YnW7w" x="247" y="165" height="41"/>
93 </children>
94 <children xmi:type="notation:Node" xmi:id="_5LH-MLW_EeamG-Ij7YnW7w" type="2003" element="_5KoO8LW_EeamG-Ij7YnW7w">
95 <children xmi:type="notation:Node" xmi:id="_5LIlQLW_EeamG-Ij7YnW7w" type="5007"/>
96 <children xmi:type="notation:Node" xmi:id="_5LIlQbW_EeamG-Ij7YnW7w" type="7004">
97 <styles xmi:type="notation:SortingStyle" xmi:id="_5LIlQrW_EeamG-Ij7YnW7w"/>
98 <styles xmi:type="notation:FilteringStyle" xmi:id="_5LIlQ7W_EeamG-Ij7YnW7w"/>
99 </children>
100 <styles xmi:type="notation:ShapeStyle" xmi:id="_5LH-MbW_EeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" italic="true" fillColor="8047085"/>
101 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LH-MrW_EeamG-Ij7YnW7w" x="1069" y="165" height="8"/>
102 </children>
103 <children xmi:type="notation:Node" xmi:id="_5LIlRLW_EeamG-Ij7YnW7w" type="2003" element="_5KqEILW_EeamG-Ij7YnW7w">
104 <children xmi:type="notation:Node" xmi:id="_5LJMULW_EeamG-Ij7YnW7w" type="5007"/>
105 <children xmi:type="notation:Node" xmi:id="_5LJMUbW_EeamG-Ij7YnW7w" type="7004">
106 <styles xmi:type="notation:SortingStyle" xmi:id="_5LJMUrW_EeamG-Ij7YnW7w"/>
107 <styles xmi:type="notation:FilteringStyle" xmi:id="_5LJMU7W_EeamG-Ij7YnW7w"/>
108 </children>
109 <styles xmi:type="notation:ShapeStyle" xmi:id="_5LIlRbW_EeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" italic="true" fillColor="8047085"/>
110 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LIlRrW_EeamG-Ij7YnW7w" x="870" y="165" height="33"/>
111 </children>
112 <children xmi:type="notation:Node" xmi:id="_5LJzYLW_EeamG-Ij7YnW7w" type="2003" element="_5Kr5ULW_EeamG-Ij7YnW7w">
113 <children xmi:type="notation:Node" xmi:id="_5LJzY7W_EeamG-Ij7YnW7w" type="5007"/>
114 <children xmi:type="notation:Node" xmi:id="_5LKacLW_EeamG-Ij7YnW7w" type="7004">
115 <children xmi:type="notation:Node" xmi:id="_5LLokLW_EeamG-Ij7YnW7w" visible="false" type="3010" element="_5K1qULW_EeamG-Ij7YnW7w">
116 <styles xmi:type="notation:FontStyle" xmi:id="_5LLokbW_EeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" bold="true"/>
117 <layoutConstraint xmi:type="notation:Location" xmi:id="_5LLokrW_EeamG-Ij7YnW7w"/>
118 </children>
119 <children xmi:type="notation:Node" xmi:id="_5LMPoLW_EeamG-Ij7YnW7w" visible="false" type="3010" element="_5K3fgLW_EeamG-Ij7YnW7w">
120 <styles xmi:type="notation:FontStyle" xmi:id="_5LMPobW_EeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" bold="true"/>
121 <layoutConstraint xmi:type="notation:Location" xmi:id="_5LMPorW_EeamG-Ij7YnW7w"/>
122 </children>
123 <styles xmi:type="notation:SortingStyle" xmi:id="_5LKacbW_EeamG-Ij7YnW7w"/>
124 <styles xmi:type="notation:FilteringStyle" xmi:id="_5LKacrW_EeamG-Ij7YnW7w"/>
125 </children>
126 <styles xmi:type="notation:ShapeStyle" xmi:id="_5LJzYbW_EeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" italic="true" fillColor="8047085"/>
127 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LJzYrW_EeamG-Ij7YnW7w" x="387" y="165" height="38"/>
128 </children>
129 <children xmi:type="notation:Node" xmi:id="_OeTn8LXAEeamG-Ij7YnW7w" type="2003" element="_OeBUELXAEeamG-Ij7YnW7w">
130 <children xmi:type="notation:Node" xmi:id="_OeUPALXAEeamG-Ij7YnW7w" type="5007"/>
131 <children xmi:type="notation:Node" xmi:id="_OeUPAbXAEeamG-Ij7YnW7w" type="7004">
132 <styles xmi:type="notation:SortingStyle" xmi:id="_OeUPArXAEeamG-Ij7YnW7w"/>
133 <styles xmi:type="notation:FilteringStyle" xmi:id="_OeUPA7XAEeamG-Ij7YnW7w"/>
134 </children>
135 <styles xmi:type="notation:ShapeStyle" xmi:id="_OeTn8bXAEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" fillColor="8047085"/>
136 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OeTn8rXAEeamG-Ij7YnW7w" x="684" y="224" height="8"/>
137 </children>
138 <children xmi:type="notation:Node" xmi:id="_P3ExsLXAEeamG-Ij7YnW7w" type="2003" element="_P22IMLXAEeamG-Ij7YnW7w">
139 <children xmi:type="notation:Node" xmi:id="_P3Exs7XAEeamG-Ij7YnW7w" type="5007"/>
140 <children xmi:type="notation:Node" xmi:id="_P3ExtLXAEeamG-Ij7YnW7w" type="7004">
141 <styles xmi:type="notation:SortingStyle" xmi:id="_P3ExtbXAEeamG-Ij7YnW7w"/>
142 <styles xmi:type="notation:FilteringStyle" xmi:id="_P3ExtrXAEeamG-Ij7YnW7w"/>
143 </children>
144 <styles xmi:type="notation:ShapeStyle" xmi:id="_P3ExsbXAEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" fillColor="8047085"/>
145 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P3ExsrXAEeamG-Ij7YnW7w" x="867" y="224" height="14"/>
146 </children>
147 <children xmi:type="notation:Node" xmi:id="_RpdVULXAEeamG-Ij7YnW7w" type="2003" element="_RpETwLXAEeamG-Ij7YnW7w">
148 <children xmi:type="notation:Node" xmi:id="_RpdVU7XAEeamG-Ij7YnW7w" type="5007"/>
149 <children xmi:type="notation:Node" xmi:id="_Rpd8YLXAEeamG-Ij7YnW7w" type="7004">
150 <styles xmi:type="notation:SortingStyle" xmi:id="_Rpd8YbXAEeamG-Ij7YnW7w"/>
151 <styles xmi:type="notation:FilteringStyle" xmi:id="_Rpd8YrXAEeamG-Ij7YnW7w"/>
152 </children>
153 <styles xmi:type="notation:ShapeStyle" xmi:id="_RpdVUbXAEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" fillColor="8047085"/>
154 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RpdVUrXAEeamG-Ij7YnW7w" x="1065" y="224" height="8"/>
155 </children>
156 <children xmi:type="notation:Node" xmi:id="_WfHcsLXAEeamG-Ij7YnW7w" type="2003" element="_WexecLXAEeamG-Ij7YnW7w">
157 <children xmi:type="notation:Node" xmi:id="_WfIDwLXAEeamG-Ij7YnW7w" type="5007"/>
158 <children xmi:type="notation:Node" xmi:id="_WfIDwbXAEeamG-Ij7YnW7w" type="7004">
159 <styles xmi:type="notation:SortingStyle" xmi:id="_WfIDwrXAEeamG-Ij7YnW7w"/>
160 <styles xmi:type="notation:FilteringStyle" xmi:id="_WfIDw7XAEeamG-Ij7YnW7w"/>
161 </children>
162 <styles xmi:type="notation:ShapeStyle" xmi:id="_WfHcsbXAEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" fillColor="8047085"/>
163 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WfHcsrXAEeamG-Ij7YnW7w" x="387" y="222" height="43"/>
164 </children>
165 <children xmi:type="notation:Node" xmi:id="_KQMMQLXBEeamG-Ij7YnW7w" type="2003" element="_KP9iwLXBEeamG-Ij7YnW7w">
166 <children xmi:type="notation:Node" xmi:id="_KQMzULXBEeamG-Ij7YnW7w" type="5007"/>
167 <children xmi:type="notation:Node" xmi:id="_KQMzUbXBEeamG-Ij7YnW7w" type="7004">
168 <styles xmi:type="notation:SortingStyle" xmi:id="_KQMzUrXBEeamG-Ij7YnW7w"/>
169 <styles xmi:type="notation:FilteringStyle" xmi:id="_KQMzU7XBEeamG-Ij7YnW7w"/>
170 </children>
171 <styles xmi:type="notation:ShapeStyle" xmi:id="_KQMMQbXBEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
172 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KQMMQrXBEeamG-Ij7YnW7w" x="647" y="355" width="186" height="63"/>
173 </children>
174 <children xmi:type="notation:Node" xmi:id="_WUEN0LXBEeamG-Ij7YnW7w" type="2003" element="_WTu2oLXBEeamG-Ij7YnW7w">
175 <children xmi:type="notation:Node" xmi:id="_WUEN07XBEeamG-Ij7YnW7w" type="5007"/>
176 <children xmi:type="notation:Node" xmi:id="_WUEN1LXBEeamG-Ij7YnW7w" type="7004">
177 <styles xmi:type="notation:SortingStyle" xmi:id="_WUEN1bXBEeamG-Ij7YnW7w"/>
178 <styles xmi:type="notation:FilteringStyle" xmi:id="_WUEN1rXBEeamG-Ij7YnW7w"/>
179 </children>
180 <styles xmi:type="notation:ShapeStyle" xmi:id="_WUEN0bXBEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
181 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WUEN0rXBEeamG-Ij7YnW7w" x="847" y="355" width="178" height="63"/>
182 </children>
183 <children xmi:type="notation:Node" xmi:id="_cCnFALXBEeamG-Ij7YnW7w" type="2003" element="_cCYbgLXBEeamG-Ij7YnW7w">
184 <children xmi:type="notation:Node" xmi:id="_cCnFA7XBEeamG-Ij7YnW7w" type="5007"/>
185 <children xmi:type="notation:Node" xmi:id="_cCnFBLXBEeamG-Ij7YnW7w" type="7004">
186 <styles xmi:type="notation:SortingStyle" xmi:id="_cCnFBbXBEeamG-Ij7YnW7w"/>
187 <styles xmi:type="notation:FilteringStyle" xmi:id="_cCnFBrXBEeamG-Ij7YnW7w"/>
188 </children>
189 <styles xmi:type="notation:ShapeStyle" xmi:id="_cCnFAbXBEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
190 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cCnFArXBEeamG-Ij7YnW7w" x="1037" y="355" width="183" height="63"/>
191 </children>
192 <children xmi:type="notation:Node" xmi:id="_Tg2p4LXCEeamG-Ij7YnW7w" type="2003" element="_TgoAYLXCEeamG-Ij7YnW7w">
193 <children xmi:type="notation:Node" xmi:id="_Tg3Q8LXCEeamG-Ij7YnW7w" type="5007"/>
194 <children xmi:type="notation:Node" xmi:id="_Tg3Q8bXCEeamG-Ij7YnW7w" type="7004">
195 <styles xmi:type="notation:SortingStyle" xmi:id="_Tg3Q8rXCEeamG-Ij7YnW7w"/>
196 <styles xmi:type="notation:FilteringStyle" xmi:id="_Tg3Q87XCEeamG-Ij7YnW7w"/>
197 </children>
198 <styles xmi:type="notation:ShapeStyle" xmi:id="_Tg2p4bXCEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
199 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tg2p4rXCEeamG-Ij7YnW7w" x="325" y="355" width="168" height="63"/>
200 </children>
201 <styles xmi:type="notation:DiagramStyle" xmi:id="_MA7cArW_EeamG-Ij7YnW7w"/>
202 <edges xmi:type="notation:Edge" xmi:id="_v4QEoLW_EeamG-Ij7YnW7w" type="4001" element="_v4JW8LW_EeamG-Ij7YnW7w" source="_ggJ5QLW_EeamG-Ij7YnW7w" target="_v4LzMLW_EeamG-Ij7YnW7w">
203 <children xmi:type="notation:Node" xmi:id="_v4R50LW_EeamG-Ij7YnW7w" type="6001">
204 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4R50bW_EeamG-Ij7YnW7w" x="-13"/>
205 </children>
206 <children xmi:type="notation:Node" xmi:id="_v4Sg4LW_EeamG-Ij7YnW7w" type="6002">
207 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4Sg4bW_EeamG-Ij7YnW7w" x="111"/>
208 </children>
209 <children xmi:type="notation:Node" xmi:id="_v4UWELW_EeamG-Ij7YnW7w" type="6003">
210 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4UWEbW_EeamG-Ij7YnW7w" x="-54"/>
211 </children>
212 <styles xmi:type="notation:ConnectorStyle" xmi:id="_v4QEobW_EeamG-Ij7YnW7w" routing="Rectilinear"/>
213 <styles xmi:type="notation:FontStyle" xmi:id="_v4QEorW_EeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
214 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_v4QEo7W_EeamG-Ij7YnW7w" points="[76, -39, -70, 436]$[130, -39, -16, 436]$[130, -426, -16, 49]"/>
215 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4YngLW_EeamG-Ij7YnW7w" id="(0.5138482649044885,0.7424242424242424)"/>
216 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v4YngbW_EeamG-Ij7YnW7w" id="(0.5,0.5)"/>
217 </edges>
218 <edges xmi:type="notation:Edge" xmi:id="_5LM2sLW_EeamG-Ij7YnW7w" type="4001" element="_5K6i0LW_EeamG-Ij7YnW7w" source="_v4LzMLW_EeamG-Ij7YnW7w" target="_5LJzYLW_EeamG-Ij7YnW7w">
219 <children xmi:type="notation:Node" xmi:id="_5LM2tLW_EeamG-Ij7YnW7w" type="6001">
220 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LM2tbW_EeamG-Ij7YnW7w" x="6" y="-11"/>
221 </children>
222 <children xmi:type="notation:Node" xmi:id="_5LM2trW_EeamG-Ij7YnW7w" type="6002">
223 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LM2t7W_EeamG-Ij7YnW7w" x="10" y="-10"/>
224 </children>
225 <children xmi:type="notation:Node" xmi:id="_5LNdwLW_EeamG-Ij7YnW7w" type="6003">
226 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LNdwbW_EeamG-Ij7YnW7w" x="-16" y="9"/>
227 </children>
228 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5LM2sbW_EeamG-Ij7YnW7w" routing="Rectilinear"/>
229 <styles xmi:type="notation:FontStyle" xmi:id="_5LM2srW_EeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
230 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5LM2s7W_EeamG-Ij7YnW7w" points="[-59, 89, 121, -167]$[-166, 89, 14, -167]$[-166, 150, 14, -106]"/>
231 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5LPS8LW_EeamG-Ij7YnW7w" id="(0.5,0.0)"/>
232 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5LPS8bW_EeamG-Ij7YnW7w" id="(0.5,2.7222222222222223)"/>
233 </edges>
234 <edges xmi:type="notation:Edge" xmi:id="_5LPS8rW_EeamG-Ij7YnW7w" type="4001" element="_5K7w8LW_EeamG-Ij7YnW7w" source="_v4LzMLW_EeamG-Ij7YnW7w" target="_5LH-MLW_EeamG-Ij7YnW7w">
235 <children xmi:type="notation:Node" xmi:id="_5LP6A7W_EeamG-Ij7YnW7w" type="6001">
236 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LP6BLW_EeamG-Ij7YnW7w" x="128" y="79"/>
237 </children>
238 <children xmi:type="notation:Node" xmi:id="_5LP6BbW_EeamG-Ij7YnW7w" type="6002">
239 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LP6BrW_EeamG-Ij7YnW7w" x="-77" y="-10"/>
240 </children>
241 <children xmi:type="notation:Node" xmi:id="_5LP6B7W_EeamG-Ij7YnW7w" type="6003">
242 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LP6CLW_EeamG-Ij7YnW7w" x="278" y="24"/>
243 </children>
244 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5LP6ALW_EeamG-Ij7YnW7w" routing="Rectilinear"/>
245 <styles xmi:type="notation:FontStyle" xmi:id="_5LP6AbW_EeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
246 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5LP6ArW_EeamG-Ij7YnW7w" points="[59, 65, -443, -1359]$[501, 65, -1, -1359]$[501, 150, -1, -1274]"/>
247 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5LQhELW_EeamG-Ij7YnW7w" id="(0.5,0.0)"/>
248 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5LQhEbW_EeamG-Ij7YnW7w" id="(0.5,32.666666666666664)"/>
249 </edges>
250 <edges xmi:type="notation:Edge" xmi:id="_5LQhErW_EeamG-Ij7YnW7w" type="4001" element="_5K9mI7W_EeamG-Ij7YnW7w" source="_v4LzMLW_EeamG-Ij7YnW7w" target="_5LIlRLW_EeamG-Ij7YnW7w">
251 <children xmi:type="notation:Node" xmi:id="_5LRIILW_EeamG-Ij7YnW7w" type="6001">
252 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LRIIbW_EeamG-Ij7YnW7w" x="34" y="78"/>
253 </children>
254 <children xmi:type="notation:Node" xmi:id="_5LRIIrW_EeamG-Ij7YnW7w" type="6002">
255 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LRII7W_EeamG-Ij7YnW7w" x="-30" y="10"/>
256 </children>
257 <children xmi:type="notation:Node" xmi:id="_5LRIJLW_EeamG-Ij7YnW7w" type="6003">
258 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LRIJbW_EeamG-Ij7YnW7w" x="-37" y="118"/>
259 </children>
260 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5LQhE7W_EeamG-Ij7YnW7w" routing="Rectilinear"/>
261 <styles xmi:type="notation:FontStyle" xmi:id="_5LQhFLW_EeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
262 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5LQhFbW_EeamG-Ij7YnW7w" points="[59, 65, -244, -208]$[302, 65, -1, -208]$[302, 150, -1, -123]"/>
263 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5LRIJrW_EeamG-Ij7YnW7w" id="(0.5,0.0)"/>
264 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5LRIJ7W_EeamG-Ij7YnW7w" id="(0.5,3.161290322580645)"/>
265 </edges>
266 <edges xmi:type="notation:Edge" xmi:id="_5LRvMLW_EeamG-Ij7YnW7w" type="4001" element="_5K_bULW_EeamG-Ij7YnW7w" source="_v4LzMLW_EeamG-Ij7YnW7w" target="_5LFh8LW_EeamG-Ij7YnW7w">
267 <children xmi:type="notation:Node" xmi:id="_5LRvNLW_EeamG-Ij7YnW7w" type="6001">
268 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LRvNbW_EeamG-Ij7YnW7w" x="69" y="47"/>
269 </children>
270 <children xmi:type="notation:Node" xmi:id="_5LRvNrW_EeamG-Ij7YnW7w" type="6002">
271 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LRvN7W_EeamG-Ij7YnW7w" x="-7" y="10"/>
272 </children>
273 <children xmi:type="notation:Node" xmi:id="_5LRvOLW_EeamG-Ij7YnW7w" type="6003">
274 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LRvObW_EeamG-Ij7YnW7w" x="18"/>
275 </children>
276 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5LRvMbW_EeamG-Ij7YnW7w" routing="Rectilinear"/>
277 <styles xmi:type="notation:FontStyle" xmi:id="_5LRvMrW_EeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
278 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5LRvM7W_EeamG-Ij7YnW7w" points="[59, 65, -63, -323]$[138, 65, 16, -323]$[138, 150, 16, -238]"/>
279 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5LSWQLW_EeamG-Ij7YnW7w" id="(0.5,0.0)"/>
280 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5LSWQbW_EeamG-Ij7YnW7w" id="(0.5,6.125)"/>
281 </edges>
282 <edges xmi:type="notation:Edge" xmi:id="_5LSWQrW_EeamG-Ij7YnW7w" type="4001" element="_5LApcLW_EeamG-Ij7YnW7w" source="_v4LzMLW_EeamG-Ij7YnW7w" target="_5LGwELW_EeamG-Ij7YnW7w">
283 <children xmi:type="notation:Node" xmi:id="_5LS9ULW_EeamG-Ij7YnW7w" type="6001">
284 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LS9UbW_EeamG-Ij7YnW7w" x="-2" y="10"/>
285 </children>
286 <children xmi:type="notation:Node" xmi:id="_5LS9UrW_EeamG-Ij7YnW7w" type="6002">
287 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LS9U7W_EeamG-Ij7YnW7w" x="105" y="-10"/>
288 </children>
289 <children xmi:type="notation:Node" xmi:id="_5LS9VLW_EeamG-Ij7YnW7w" type="6003">
290 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LS9VbW_EeamG-Ij7YnW7w" x="-15" y="-218"/>
291 </children>
292 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5LSWQ7W_EeamG-Ij7YnW7w" routing="Rectilinear"/>
293 <styles xmi:type="notation:FontStyle" xmi:id="_5LSWRLW_EeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
294 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5LSWRbW_EeamG-Ij7YnW7w" points="[-59, 70, 261, -178]$[-344, 70, -24, -178]$[-344, 150, -24, -98]"/>
295 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5LS9VrW_EeamG-Ij7YnW7w" id="(0.5,0.0)"/>
296 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5LS9V7W_EeamG-Ij7YnW7w" id="(0.5,2.5128205128205128)"/>
297 </edges>
298 <edges xmi:type="notation:Edge" xmi:id="_5LTkYLW_EeamG-Ij7YnW7w" visible="false" type="4001" element="_5LB3kLW_EeamG-Ij7YnW7w" source="_5LJzYLW_EeamG-Ij7YnW7w" target="_5LJzYLW_EeamG-Ij7YnW7w">
299 <children xmi:type="notation:Node" xmi:id="_5LTkZLW_EeamG-Ij7YnW7w" type="6001">
300 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LTkZbW_EeamG-Ij7YnW7w" y="-10"/>
301 </children>
302 <children xmi:type="notation:Node" xmi:id="_5LTkZrW_EeamG-Ij7YnW7w" type="6002">
303 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LTkZ7W_EeamG-Ij7YnW7w" y="10"/>
304 </children>
305 <children xmi:type="notation:Node" xmi:id="_5LTkaLW_EeamG-Ij7YnW7w" type="6003">
306 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5LTkabW_EeamG-Ij7YnW7w" y="10"/>
307 </children>
308 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5LTkYbW_EeamG-Ij7YnW7w" routing="Rectilinear"/>
309 <styles xmi:type="notation:FontStyle" xmi:id="_5LTkYrW_EeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
310 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5LTkY7W_EeamG-Ij7YnW7w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
311 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5LULcLW_EeamG-Ij7YnW7w" id="(0.5,1.3611111111111112)"/>
312 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5LULcbW_EeamG-Ij7YnW7w" id="(0.5,1.3611111111111112)"/>
313 </edges>
314 <edges xmi:type="notation:Edge" xmi:id="_OeU2ELXAEeamG-Ij7YnW7w" type="4001" element="_OePWgLXAEeamG-Ij7YnW7w" source="_OeTn8LXAEeamG-Ij7YnW7w" target="_5LFh8LW_EeamG-Ij7YnW7w">
315 <children xmi:type="notation:Node" xmi:id="_OeVdILXAEeamG-Ij7YnW7w" type="6001">
316 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OeVdIbXAEeamG-Ij7YnW7w" x="6" y="-10"/>
317 </children>
318 <children xmi:type="notation:Node" xmi:id="_OeVdIrXAEeamG-Ij7YnW7w" type="6002">
319 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OeVdI7XAEeamG-Ij7YnW7w" x="2" y="10"/>
320 </children>
321 <children xmi:type="notation:Node" xmi:id="_OeVdJLXAEeamG-Ij7YnW7w" type="6003">
322 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OeVdJbXAEeamG-Ij7YnW7w" x="-3" y="10"/>
323 </children>
324 <styles xmi:type="notation:ConnectorStyle" xmi:id="_OeU2EbXAEeamG-Ij7YnW7w" routing="Tree"/>
325 <styles xmi:type="notation:FontStyle" xmi:id="_OeU2ErXAEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
326 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OeU2E7XAEeamG-Ij7YnW7w" points="[0, -49, 4, 86]$[0, -74, 4, 61]$[0, -74, 4, 61]$[0, -86, 4, 49]"/>
327 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OeVdJrXAEeamG-Ij7YnW7w" id="(0.5,16.333333333333332)"/>
328 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OeVdJ7XAEeamG-Ij7YnW7w" id="(0.5,3.0625)"/>
329 </edges>
330 <edges xmi:type="notation:Edge" xmi:id="_P3FYwLXAEeamG-Ij7YnW7w" type="4001" element="_P3BuYLXAEeamG-Ij7YnW7w" source="_P3ExsLXAEeamG-Ij7YnW7w" target="_5LIlRLW_EeamG-Ij7YnW7w">
331 <children xmi:type="notation:Node" xmi:id="_P3F_0LXAEeamG-Ij7YnW7w" type="6001">
332 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P3F_0bXAEeamG-Ij7YnW7w" x="-54"/>
333 </children>
334 <children xmi:type="notation:Node" xmi:id="_P3F_0rXAEeamG-Ij7YnW7w" type="6002">
335 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P3F_07XAEeamG-Ij7YnW7w" x="11" y="-2"/>
336 </children>
337 <children xmi:type="notation:Node" xmi:id="_P3F_1LXAEeamG-Ij7YnW7w" type="6003">
338 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P3F_1bXAEeamG-Ij7YnW7w" x="-29" y="25"/>
339 </children>
340 <styles xmi:type="notation:ConnectorStyle" xmi:id="_P3FYwbXAEeamG-Ij7YnW7w" routing="Tree"/>
341 <styles xmi:type="notation:FontStyle" xmi:id="_P3FYwrXAEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
342 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_P3FYw7XAEeamG-Ij7YnW7w" points="[0, -159, -1, -2]$[0, -163, -1, -6]$[-3, -163, -4, -6]$[-3, -179, -4, -22]"/>
343 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_P3Gm4LXAEeamG-Ij7YnW7w" id="(0.5,4.083333333333333)"/>
344 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_P3Gm4bXAEeamG-Ij7YnW7w" id="(0.5,1.5806451612903225)"/>
345 </edges>
346 <edges xmi:type="notation:Edge" xmi:id="_RpejcLXAEeamG-Ij7YnW7w" type="4001" element="_RpYc0LXAEeamG-Ij7YnW7w" source="_RpdVULXAEeamG-Ij7YnW7w" target="_5LH-MLW_EeamG-Ij7YnW7w">
347 <children xmi:type="notation:Node" xmi:id="_RpfKgLXAEeamG-Ij7YnW7w" type="6001">
348 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RpfKgbXAEeamG-Ij7YnW7w" x="10"/>
349 </children>
350 <children xmi:type="notation:Node" xmi:id="_RpfKgrXAEeamG-Ij7YnW7w" type="6002">
351 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RpfKg7XAEeamG-Ij7YnW7w" x="12" y="10"/>
352 </children>
353 <children xmi:type="notation:Node" xmi:id="_RpfKhLXAEeamG-Ij7YnW7w" type="6003">
354 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RpfKhbXAEeamG-Ij7YnW7w" x="-10"/>
355 </children>
356 <styles xmi:type="notation:ConnectorStyle" xmi:id="_RpejcbXAEeamG-Ij7YnW7w" routing="Tree"/>
357 <styles xmi:type="notation:FontStyle" xmi:id="_RpejcrXAEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
358 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Rpejc7XAEeamG-Ij7YnW7w" points="[0, -637, 0, -578]$[0, -637, 0, -578]$[-1, -637, -1, -578]$[-1, -657, -1, -598]"/>
359 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RpfxkLXAEeamG-Ij7YnW7w" id="(0.5,16.333333333333332)"/>
360 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RpfxkbXAEeamG-Ij7YnW7w" id="(0.5,16.333333333333332)"/>
361 </edges>
362 <edges xmi:type="notation:Edge" xmi:id="_WfJR4LXAEeamG-Ij7YnW7w" type="4001" element="_WfDLQLXAEeamG-Ij7YnW7w" source="_WfHcsLXAEeamG-Ij7YnW7w" target="_5LJzYLW_EeamG-Ij7YnW7w">
363 <children xmi:type="notation:Node" xmi:id="_WfJ48LXAEeamG-Ij7YnW7w" type="6001">
364 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WfJ48bXAEeamG-Ij7YnW7w" x="3" y="-1"/>
365 </children>
366 <children xmi:type="notation:Node" xmi:id="_WfKgALXAEeamG-Ij7YnW7w" type="6002">
367 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WfKgAbXAEeamG-Ij7YnW7w"/>
368 </children>
369 <children xmi:type="notation:Node" xmi:id="_WfLHELXAEeamG-Ij7YnW7w" type="6003">
370 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WfLHEbXAEeamG-Ij7YnW7w" x="-13" y="9"/>
371 </children>
372 <styles xmi:type="notation:ConnectorStyle" xmi:id="_WfJR4bXAEeamG-Ij7YnW7w" routing="Tree"/>
373 <styles xmi:type="notation:FontStyle" xmi:id="_WfJR4rXAEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
374 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WfJR47XAEeamG-Ij7YnW7w" points="[0, -49, 0, 4]$[0, -61, 0, -8]$[-1, -61, -1, -8]$[-1, -67, -1, -14]"/>
375 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WfLHErXAEeamG-Ij7YnW7w" id="(0.5,1.1951219512195121)"/>
376 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WfLHE7XAEeamG-Ij7YnW7w" id="(0.5,1.3611111111111112)"/>
377 </edges>
378 <edges xmi:type="notation:Edge" xmi:id="_jxh4gLXBEeamG-Ij7YnW7w" type="4001" element="_jxT2ELXBEeamG-Ij7YnW7w" source="_KQMMQLXBEeamG-Ij7YnW7w" target="_OeTn8LXAEeamG-Ij7YnW7w">
379 <children xmi:type="notation:Node" xmi:id="_jxh4hLXBEeamG-Ij7YnW7w" type="6001">
380 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxh4hbXBEeamG-Ij7YnW7w" x="-2" y="-62"/>
381 </children>
382 <children xmi:type="notation:Node" xmi:id="_jxh4hrXBEeamG-Ij7YnW7w" type="6002">
383 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxh4h7XBEeamG-Ij7YnW7w" y="10"/>
384 </children>
385 <children xmi:type="notation:Node" xmi:id="_jxh4iLXBEeamG-Ij7YnW7w" type="6003">
386 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxh4ibXBEeamG-Ij7YnW7w" y="10"/>
387 </children>
388 <styles xmi:type="notation:ConnectorStyle" xmi:id="_jxh4gbXBEeamG-Ij7YnW7w" routing="Rectilinear"/>
389 <styles xmi:type="notation:FontStyle" xmi:id="_jxh4grXBEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
390 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jxh4g7XBEeamG-Ij7YnW7w" points="[0, 0, 0, 92]$[0, -92, 0, 0]"/>
391 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jxifkLXBEeamG-Ij7YnW7w" id="(0.7228260869565217,0.0)"/>
392 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jxifkbXBEeamG-Ij7YnW7w" id="(0.7559055118110236,1.0)"/>
393 </edges>
394 <edges xmi:type="notation:Edge" xmi:id="_owtIQLXBEeamG-Ij7YnW7w" type="4001" element="_owbbcLXBEeamG-Ij7YnW7w" source="_WUEN0LXBEeamG-Ij7YnW7w" target="_P3ExsLXAEeamG-Ij7YnW7w">
395 <children xmi:type="notation:Node" xmi:id="_owtvULXBEeamG-Ij7YnW7w" type="6001">
396 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_owtvUbXBEeamG-Ij7YnW7w" x="-7" y="-67"/>
397 </children>
398 <children xmi:type="notation:Node" xmi:id="_owtvUrXBEeamG-Ij7YnW7w" type="6002">
399 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_owtvU7XBEeamG-Ij7YnW7w" x="1" y="10"/>
400 </children>
401 <children xmi:type="notation:Node" xmi:id="_owtvVLXBEeamG-Ij7YnW7w" type="6003">
402 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_owtvVbXBEeamG-Ij7YnW7w" x="-1" y="10"/>
403 </children>
404 <styles xmi:type="notation:ConnectorStyle" xmi:id="_owtIQbXBEeamG-Ij7YnW7w" routing="Rectilinear"/>
405 <styles xmi:type="notation:FontStyle" xmi:id="_owtIQrXBEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
406 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_owtIQ7XBEeamG-Ij7YnW7w" points="[38, 0, 0, 92]$[38, -92, 0, 0]"/>
407 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_owtvVrXBEeamG-Ij7YnW7w" id="(0.3125,0.0)"/>
408 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_owtvV7XBEeamG-Ij7YnW7w" id="(0.5934959349593496,1.0)"/>
409 </edges>
410 <edges xmi:type="notation:Edge" xmi:id="_qsii0LXBEeamG-Ij7YnW7w" type="4001" element="_qsPn4LXBEeamG-Ij7YnW7w" source="_cCnFALXBEeamG-Ij7YnW7w" target="_RpdVULXAEeamG-Ij7YnW7w">
411 <children xmi:type="notation:Node" xmi:id="_qsjJ4LXBEeamG-Ij7YnW7w" type="6001">
412 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qsjJ4bXBEeamG-Ij7YnW7w" x="3" y="-59"/>
413 </children>
414 <children xmi:type="notation:Node" xmi:id="_qsjJ4rXBEeamG-Ij7YnW7w" type="6002">
415 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qsjJ47XBEeamG-Ij7YnW7w" x="11" y="10"/>
416 </children>
417 <children xmi:type="notation:Node" xmi:id="_qsjJ5LXBEeamG-Ij7YnW7w" type="6003">
418 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qsjJ5bXBEeamG-Ij7YnW7w" x="-11" y="10"/>
419 </children>
420 <styles xmi:type="notation:ConnectorStyle" xmi:id="_qsii0bXBEeamG-Ij7YnW7w" routing="Rectilinear"/>
421 <styles xmi:type="notation:FontStyle" xmi:id="_qsii0rXBEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
422 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qsii07XBEeamG-Ij7YnW7w" points="[-1, 0, -33, 92]$[-1, -92, -33, 0]"/>
423 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qsjJ5rXBEeamG-Ij7YnW7w" id="(0.5027624309392266,0.0)"/>
424 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qsjJ57XBEeamG-Ij7YnW7w" id="(0.753968253968254,1.0)"/>
425 </edges>
426 <edges xmi:type="notation:Edge" xmi:id="_2G-l0LXBEeamG-Ij7YnW7w" type="4001" element="_2Grq4LXBEeamG-Ij7YnW7w" source="_ggJ5QLW_EeamG-Ij7YnW7w" target="_KQMMQLXBEeamG-Ij7YnW7w">
427 <children xmi:type="notation:Node" xmi:id="_2G-l1LXBEeamG-Ij7YnW7w" type="6001">
428 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2G-l1bXBEeamG-Ij7YnW7w" x="-58" y="-12"/>
429 </children>
430 <children xmi:type="notation:Node" xmi:id="_2G_M4LXBEeamG-Ij7YnW7w" type="6002">
431 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2G_M4bXBEeamG-Ij7YnW7w" x="29" y="10"/>
432 </children>
433 <children xmi:type="notation:Node" xmi:id="_2G_M4rXBEeamG-Ij7YnW7w" type="6003">
434 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2G_M47XBEeamG-Ij7YnW7w" x="-85" y="-14"/>
435 </children>
436 <styles xmi:type="notation:ConnectorStyle" xmi:id="_2G-l0bXBEeamG-Ij7YnW7w" routing="Rectilinear"/>
437 <styles xmi:type="notation:FontStyle" xmi:id="_2G-l0rXBEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
438 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2G-l07XBEeamG-Ij7YnW7w" points="[0, -27, -91, 143]$[191, -27, 100, 143]$[191, -149, 100, 21]"/>
439 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2G_M5LXBEeamG-Ij7YnW7w" id="(0.9337016574585635,1.1363636363636365)"/>
440 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2G_M5bXBEeamG-Ij7YnW7w" id="(0.0,0.6557377049180327)"/>
441 </edges>
442 <edges xmi:type="notation:Edge" xmi:id="_2333QLXBEeamG-Ij7YnW7w" type="4001" element="_23ljYLXBEeamG-Ij7YnW7w" source="_ggJ5QLW_EeamG-Ij7YnW7w" target="_WUEN0LXBEeamG-Ij7YnW7w">
443 <children xmi:type="notation:Node" xmi:id="_234eULXBEeamG-Ij7YnW7w" type="6001">
444 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_234eUbXBEeamG-Ij7YnW7w" x="44" y="-12"/>
445 </children>
446 <children xmi:type="notation:Node" xmi:id="_235FYLXBEeamG-Ij7YnW7w" type="6002">
447 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_235FYbXBEeamG-Ij7YnW7w" x="31" y="10"/>
448 </children>
449 <children xmi:type="notation:Node" xmi:id="_235scLXBEeamG-Ij7YnW7w" type="6003">
450 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_235scbXBEeamG-Ij7YnW7w" x="-55" y="-141"/>
451 </children>
452 <styles xmi:type="notation:ConnectorStyle" xmi:id="_2333QbXBEeamG-Ij7YnW7w" routing="Rectilinear"/>
453 <styles xmi:type="notation:FontStyle" xmi:id="_2333QrXBEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
454 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2333Q7XBEeamG-Ij7YnW7w" points="[0, -37, -291, 148]$[391, -37, 100, 148]$[391, -159, 100, 26]"/>
455 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_236TgLXBEeamG-Ij7YnW7w" id="(0.9337016574585635,1.2878787878787878)"/>
456 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_236TgbXBEeamG-Ij7YnW7w" id="(0.0,0.5737704918032787)"/>
457 </edges>
458 <edges xmi:type="notation:Edge" xmi:id="_3UZbMLXBEeamG-Ij7YnW7w" type="4001" element="_3UBAsLXBEeamG-Ij7YnW7w" source="_ggJ5QLW_EeamG-Ij7YnW7w" target="_cCnFALXBEeamG-Ij7YnW7w">
459 <children xmi:type="notation:Node" xmi:id="_3UaCQLXBEeamG-Ij7YnW7w" type="6001">
460 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3UaCQbXBEeamG-Ij7YnW7w" x="134" y="-12"/>
461 </children>
462 <children xmi:type="notation:Node" xmi:id="_3UaCQrXBEeamG-Ij7YnW7w" type="6002">
463 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3UaCQ7XBEeamG-Ij7YnW7w" x="29" y="10"/>
464 </children>
465 <children xmi:type="notation:Node" xmi:id="_3UaCRLXBEeamG-Ij7YnW7w" type="6003">
466 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3UaCRbXBEeamG-Ij7YnW7w" x="-26" y="-173"/>
467 </children>
468 <styles xmi:type="notation:ConnectorStyle" xmi:id="_3UZbMbXBEeamG-Ij7YnW7w" routing="Rectilinear"/>
469 <styles xmi:type="notation:FontStyle" xmi:id="_3UZbMrXBEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
470 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3UZbM7XBEeamG-Ij7YnW7w" points="[0, -32, -481, 143]$[586, -32, 105, 143]$[586, -154, 105, 21]"/>
471 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3UapULXBEeamG-Ij7YnW7w" id="(0.9337016574585635,1.2121212121212122)"/>
472 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3UapUbXBEeamG-Ij7YnW7w" id="(0.0,0.6557377049180327)"/>
473 </edges>
474 <edges xmi:type="notation:Edge" xmi:id="_H4oCgLXCEeamG-Ij7YnW7w" type="4001" element="_H4YK4LXCEeamG-Ij7YnW7w" source="_ggJ5QLW_EeamG-Ij7YnW7w" target="_5LGwELW_EeamG-Ij7YnW7w">
475 <children xmi:type="notation:Node" xmi:id="_H4oChLXCEeamG-Ij7YnW7w" type="6001">
476 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H4oChbXCEeamG-Ij7YnW7w" x="-20" y="35"/>
477 </children>
478 <children xmi:type="notation:Node" xmi:id="_H4oChrXCEeamG-Ij7YnW7w" type="6002">
479 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H4oCh7XCEeamG-Ij7YnW7w" x="32" y="223"/>
480 </children>
481 <children xmi:type="notation:Node" xmi:id="_H4opkLXCEeamG-Ij7YnW7w" type="6003">
482 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H4opkbXCEeamG-Ij7YnW7w" x="23" y="10"/>
483 </children>
484 <styles xmi:type="notation:ConnectorStyle" xmi:id="_H4oCgbXCEeamG-Ij7YnW7w" routing="Rectilinear"/>
485 <styles xmi:type="notation:FontStyle" xmi:id="_H4oCgrXCEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
486 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_H4oCg7XCEeamG-Ij7YnW7w" points="[-57, 75, 113, 361]$[-170, 75, 0, 361]$[-170, -286, 0, 0]"/>
487 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_H4opkrXCEeamG-Ij7YnW7w" id="(0.4143646408839779,0.0)"/>
488 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_H4opk7XCEeamG-Ij7YnW7w" id="(0.3813559322033898,1.0)"/>
489 </edges>
490 <edges xmi:type="notation:Edge" xmi:id="_zI5OoLXCEeamG-Ij7YnW7w" type="4001" element="_zIoI4LXCEeamG-Ij7YnW7w" source="_Tg2p4LXCEeamG-Ij7YnW7w" target="_WfHcsLXAEeamG-Ij7YnW7w">
491 <children xmi:type="notation:Node" xmi:id="_zI5OpLXCEeamG-Ij7YnW7w" type="6001">
492 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zI5OpbXCEeamG-Ij7YnW7w" x="8" y="66"/>
493 </children>
494 <children xmi:type="notation:Node" xmi:id="_zI5OprXCEeamG-Ij7YnW7w" type="6002">
495 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zI5Op7XCEeamG-Ij7YnW7w" x="20" y="6"/>
496 </children>
497 <children xmi:type="notation:Node" xmi:id="_zI51sLXCEeamG-Ij7YnW7w" type="6003">
498 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zI51sbXCEeamG-Ij7YnW7w" x="-32" y="2"/>
499 </children>
500 <styles xmi:type="notation:ConnectorStyle" xmi:id="_zI5OobXCEeamG-Ij7YnW7w" routing="Rectilinear"/>
501 <styles xmi:type="notation:FontStyle" xmi:id="_zI5OorXCEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
502 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zI5Oo7XCEeamG-Ij7YnW7w" points="[30, 0, 0, 92]$[30, -92, 0, 0]"/>
503 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zI51srXCEeamG-Ij7YnW7w" id="(0.6325301204819277,0.0)"/>
504 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zI51s7XCEeamG-Ij7YnW7w" id="(0.6186440677966102,1.0)"/>
505 </edges>
506 <edges xmi:type="notation:Edge" xmi:id="_2TIWALXCEeamG-Ij7YnW7w" type="4001" element="_2Sy-0LXCEeamG-Ij7YnW7w" source="_ggJ5QLW_EeamG-Ij7YnW7w" target="_Tg2p4LXCEeamG-Ij7YnW7w">
507 <children xmi:type="notation:Node" xmi:id="_2TI9ELXCEeamG-Ij7YnW7w" type="6001">
508 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2TI9EbXCEeamG-Ij7YnW7w" x="7" y="86"/>
509 </children>
510 <children xmi:type="notation:Node" xmi:id="_2TI9ErXCEeamG-Ij7YnW7w" type="6002">
511 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2TI9E7XCEeamG-Ij7YnW7w" x="-13" y="-11"/>
512 </children>
513 <children xmi:type="notation:Node" xmi:id="_2TI9FLXCEeamG-Ij7YnW7w" type="6003">
514 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2TI9FbXCEeamG-Ij7YnW7w" x="-64" y="34"/>
515 </children>
516 <styles xmi:type="notation:ConnectorStyle" xmi:id="_2TIWAbXCEeamG-Ij7YnW7w" routing="Rectilinear"/>
517 <styles xmi:type="notation:FontStyle" xmi:id="_2TIWArXCEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
518 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2TIWA7XCEeamG-Ij7YnW7w" points="[0, -45, -86, 119]$[-41, -45, -127, 119]$[-41, -134, -127, 30]"/>
519 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2TI9FrXCEeamG-Ij7YnW7w" id="(0.09944751381215469,0.9090909090909091)"/>
520 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2TI9F7XCEeamG-Ij7YnW7w" id="(1.0,0.5081967213114754)"/>
521 </edges>
522 <edges xmi:type="notation:Edge" xmi:id="_kldk8LXDEeamG-Ij7YnW7w" type="4001" element="_klNtULXDEeamG-Ij7YnW7w" source="_Tg2p4LXCEeamG-Ij7YnW7w" target="_5LGwELW_EeamG-Ij7YnW7w">
523 <children xmi:type="notation:Node" xmi:id="_kleMALXDEeamG-Ij7YnW7w" type="6001">
524 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kleMAbXDEeamG-Ij7YnW7w" y="-10"/>
525 </children>
526 <children xmi:type="notation:Node" xmi:id="_kleMArXDEeamG-Ij7YnW7w" type="6002">
527 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kleMA7XDEeamG-Ij7YnW7w" y="10"/>
528 </children>
529 <children xmi:type="notation:Node" xmi:id="_kleMBLXDEeamG-Ij7YnW7w" type="6003">
530 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kleMBbXDEeamG-Ij7YnW7w" y="10"/>
531 </children>
532 <styles xmi:type="notation:ConnectorStyle" xmi:id="_kldk8bXDEeamG-Ij7YnW7w" routing="Rectilinear"/>
533 <styles xmi:type="notation:FontStyle" xmi:id="_kldk8rXDEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
534 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kldk87XDEeamG-Ij7YnW7w" points="[325, 355, 325, 355]$[247, 165, 247, 165]"/>
535 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kleMBrXDEeamG-Ij7YnW7w" id="(0.5,0.49206349206349204)"/>
536 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kleMB7XDEeamG-Ij7YnW7w" id="(0.5,0.4878048780487805)"/>
537 </edges>
538 <edges xmi:type="notation:Edge" xmi:id="_Qrl3AL5UEea19paI6HZj1w" type="4001" element="_QrIkAL5UEea19paI6HZj1w" source="_ggJ5QLW_EeamG-Ij7YnW7w" target="_5LGwELW_EeamG-Ij7YnW7w">
539 <children xmi:type="notation:Node" xmi:id="_QrphYL5UEea19paI6HZj1w" type="6001">
540 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QrphYb5UEea19paI6HZj1w" x="-101" y="85"/>
541 </children>
542 <children xmi:type="notation:Node" xmi:id="_QrqvgL5UEea19paI6HZj1w" type="6002">
543 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qrqvgb5UEea19paI6HZj1w" x="-65" y="18"/>
544 </children>
545 <children xmi:type="notation:Node" xmi:id="_Qrr9oL5UEea19paI6HZj1w" type="6003">
546 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qrr9ob5UEea19paI6HZj1w" x="20" y="10"/>
547 </children>
548 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Qrl3Ab5UEea19paI6HZj1w" routing="Rectilinear"/>
549 <styles xmi:type="notation:FontStyle" xmi:id="_Qrl3Ar5UEea19paI6HZj1w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
550 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Qrl3A75UEea19paI6HZj1w" points="[0, 66, 170, 352]$[0, 100, 170, 386]$[-170, 100, 0, 386]$[-170, -286, 0, 0]"/>
551 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QrtLwL5UEea19paI6HZj1w" id="(0.23756906077348067,0.0)"/>
552 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QrtLwb5UEea19paI6HZj1w" id="(0.11016949152542373,1.0)"/>
553 </edges>
554 </data>
555 </ownedAnnotationEntries>
556 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_gf_hMLW_EeamG-Ij7YnW7w" name="PartialInterpretation" tooltipText="" outgoingEdges="_v4JW8LW_EeamG-Ij7YnW7w _2Grq4LXBEeamG-Ij7YnW7w _23ljYLXBEeamG-Ij7YnW7w _3UBAsLXBEeamG-Ij7YnW7w _H4YK4LXCEeamG-Ij7YnW7w _2Sy-0LXCEeamG-Ij7YnW7w _QrIkAL5UEea19paI6HZj1w" width="12" height="10">
557 <target xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialInterpretation"/>
558 <semanticElements xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialInterpretation"/>
559 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
560 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
561 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
562 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_HsFlYL5UEea19paI6HZj1w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
563 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
564 </ownedStyle>
565 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
566 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_-3bR0L5TEea19paI6HZj1w" name="minNewElements : EInt = 0" tooltipText="">
567 <target xmi:type="ecore:EAttribute" href="PartialInterpretation.ecore#//PartialInterpretation/minNewElements"/>
568 <semanticElements xmi:type="ecore:EAttribute" href="PartialInterpretation.ecore#//PartialInterpretation/minNewElements"/>
569 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_Fh17YL5UEea19paI6HZj1w" labelAlignment="LEFT" description="_5K2RYLW_EeamG-Ij7YnW7w">
570 <labelFormat>bold</labelFormat>
571 </ownedStyle>
572 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
573 </ownedElements>
574 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_BBOP4L5UEea19paI6HZj1w" name="maxNewElements : EInt = 0" tooltipText="">
575 <target xmi:type="ecore:EAttribute" href="PartialInterpretation.ecore#//PartialInterpretation/maxNewElements"/>
576 <semanticElements xmi:type="ecore:EAttribute" href="PartialInterpretation.ecore#//PartialInterpretation/maxNewElements"/>
577 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_HsLE8L5UEea19paI6HZj1w" labelAlignment="LEFT" description="_5K2RYLW_EeamG-Ij7YnW7w">
578 <labelFormat>bold</labelFormat>
579 </ownedStyle>
580 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
581 </ownedElements>
582 </ownedDiagramElements>
583 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_v4CCMLW_EeamG-Ij7YnW7w" name="LogicProblem" tooltipText="" outgoingEdges="_5K6i0LW_EeamG-Ij7YnW7w _5K7w8LW_EeamG-Ij7YnW7w _5K9mI7W_EeamG-Ij7YnW7w _5K_bULW_EeamG-Ij7YnW7w _5LApcLW_EeamG-Ij7YnW7w" incomingEdges="_v4JW8LW_EeamG-Ij7YnW7w" width="12" height="10">
584 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem"/>
585 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem"/>
586 <decorations xmi:type="viewpoint:Decoration" xmi:id="_v4II0LW_EeamG-Ij7YnW7w">
587 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
588 </decorations>
589 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
590 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
591 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
592 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_v4DQULW_EeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
593 <customFeatures>backgroundColor</customFeatures>
594 <customFeatures>foregroundColor</customFeatures>
595 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
596 </ownedStyle>
597 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
598 </ownedDiagramElements>
599 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_v4JW8LW_EeamG-Ij7YnW7w" name="[1..1] problem" sourceNode="_gf_hMLW_EeamG-Ij7YnW7w" targetNode="_v4CCMLW_EeamG-Ij7YnW7w">
600 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/problem"/>
601 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/problem"/>
602 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_v4KlELW_EeamG-Ij7YnW7w" description="_v4J-ALW_EeamG-Ij7YnW7w" routingStyle="manhattan" strokeColor="0,0,0">
603 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_v4KlEbW_EeamG-Ij7YnW7w" showIcon="false">
604 <customFeatures>labelSize</customFeatures>
605 <labelFormat>bold</labelFormat>
606 </centerLabelStyle>
607 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_v4KlErW_EeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
608 <customFeatures>labelSize</customFeatures>
609 </endLabelStyle>
610 </ownedStyle>
611 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
612 </ownedDiagramElements>
613 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_5KlLoLW_EeamG-Ij7YnW7w" name="Constant" tooltipText="" incomingEdges="_5K_bULW_EeamG-Ij7YnW7w _OePWgLXAEeamG-Ij7YnW7w" width="12" height="10">
614 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Constant"/>
615 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Constant"/>
616 <decorations xmi:type="viewpoint:Decoration" xmi:id="_5K4toLW_EeamG-Ij7YnW7w">
617 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
618 </decorations>
619 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
620 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
621 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
622 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_5KlysLW_EeamG-Ij7YnW7w" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
623 <customFeatures>backgroundColor</customFeatures>
624 <customFeatures>foregroundColor</customFeatures>
625 <labelFormat>italic</labelFormat>
626 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
627 </ownedStyle>
628 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
629 </ownedDiagramElements>
630 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_5KnA0LW_EeamG-Ij7YnW7w" name="DefinedElement" tooltipText="" incomingEdges="_5LApcLW_EeamG-Ij7YnW7w _H4YK4LXCEeamG-Ij7YnW7w _klNtULXDEeamG-Ij7YnW7w _QrIkAL5UEea19paI6HZj1w" width="12" height="10">
631 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//DefinedElement"/>
632 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//DefinedElement"/>
633 <decorations xmi:type="viewpoint:Decoration" xmi:id="_5K4tobW_EeamG-Ij7YnW7w">
634 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
635 </decorations>
636 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
637 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
638 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
639 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_5KnA0bW_EeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
640 <customFeatures>backgroundColor</customFeatures>
641 <customFeatures>foregroundColor</customFeatures>
642 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
643 </ownedStyle>
644 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
645 </ownedDiagramElements>
646 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_5KoO8LW_EeamG-Ij7YnW7w" name="Function" tooltipText="" incomingEdges="_5K7w8LW_EeamG-Ij7YnW7w _RpYc0LXAEeamG-Ij7YnW7w" width="12" height="10">
647 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Function"/>
648 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Function"/>
649 <decorations xmi:type="viewpoint:Decoration" xmi:id="_5K4torW_EeamG-Ij7YnW7w">
650 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
651 </decorations>
652 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
653 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
654 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
655 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_5Ko2ALW_EeamG-Ij7YnW7w" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
656 <customFeatures>backgroundColor</customFeatures>
657 <customFeatures>foregroundColor</customFeatures>
658 <labelFormat>italic</labelFormat>
659 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
660 </ownedStyle>
661 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
662 </ownedDiagramElements>
663 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_5KqEILW_EeamG-Ij7YnW7w" name="Relation" tooltipText="" incomingEdges="_5K9mI7W_EeamG-Ij7YnW7w _P3BuYLXAEeamG-Ij7YnW7w" width="12" height="10">
664 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/>
665 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/>
666 <decorations xmi:type="viewpoint:Decoration" xmi:id="_5K4to7W_EeamG-Ij7YnW7w">
667 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
668 </decorations>
669 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
670 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
671 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
672 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_5KqrMLW_EeamG-Ij7YnW7w" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
673 <customFeatures>backgroundColor</customFeatures>
674 <customFeatures>foregroundColor</customFeatures>
675 <labelFormat>italic</labelFormat>
676 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
677 </ownedStyle>
678 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
679 </ownedDiagramElements>
680 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_5Kr5ULW_EeamG-Ij7YnW7w" name="Type" tooltipText="" outgoingEdges="_5LB3kLW_EeamG-Ij7YnW7w" incomingEdges="_5K6i0LW_EeamG-Ij7YnW7w _5LB3kLW_EeamG-Ij7YnW7w _WfDLQLXAEeamG-Ij7YnW7w" width="12" height="10">
681 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type"/>
682 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type"/>
683 <decorations xmi:type="viewpoint:Decoration" xmi:id="_5K4tpLW_EeamG-Ij7YnW7w">
684 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
685 </decorations>
686 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
687 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
688 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
689 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_5KtHcLW_EeamG-Ij7YnW7w" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
690 <customFeatures>backgroundColor</customFeatures>
691 <customFeatures>foregroundColor</customFeatures>
692 <labelFormat>italic</labelFormat>
693 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
694 </ownedStyle>
695 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
696 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_5K1qULW_EeamG-Ij7YnW7w" name="name : EString" visible="false" tooltipText="">
697 <target xmi:type="ecore:EAttribute" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type/name"/>
698 <semanticElements xmi:type="ecore:EAttribute" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type/name"/>
699 <graphicalFilters xmi:type="diagram:HideFilter" xmi:id="_VCbcQLXAEeamG-Ij7YnW7w"/>
700 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_5K24cLW_EeamG-Ij7YnW7w" labelAlignment="LEFT" description="_5K2RYLW_EeamG-Ij7YnW7w">
701 <labelFormat>bold</labelFormat>
702 </ownedStyle>
703 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
704 </ownedElements>
705 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_5K3fgLW_EeamG-Ij7YnW7w" name="isAbstract : EBoolean = false" visible="false" tooltipText="">
706 <target xmi:type="ecore:EAttribute" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type/isAbstract"/>
707 <semanticElements xmi:type="ecore:EAttribute" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type/isAbstract"/>
708 <graphicalFilters xmi:type="diagram:HideFilter" xmi:id="_VCbcQbXAEeamG-Ij7YnW7w"/>
709 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_5K4GkLW_EeamG-Ij7YnW7w" labelAlignment="LEFT" description="_5K2RYLW_EeamG-Ij7YnW7w">
710 <labelFormat>bold</labelFormat>
711 </ownedStyle>
712 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
713 </ownedElements>
714 </ownedDiagramElements>
715 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5K6i0LW_EeamG-Ij7YnW7w" name="[0..*] types" sourceNode="_v4CCMLW_EeamG-Ij7YnW7w" targetNode="_5Kr5ULW_EeamG-Ij7YnW7w">
716 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/types"/>
717 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/types"/>
718 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5K7J47W_EeamG-Ij7YnW7w" description="_5K7J4LW_EeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
719 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_5K7J5LW_EeamG-Ij7YnW7w" showIcon="false">
720 <customFeatures>labelSize</customFeatures>
721 </centerLabelStyle>
722 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_5K7J5bW_EeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
723 <customFeatures>labelSize</customFeatures>
724 </endLabelStyle>
725 </ownedStyle>
726 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
727 </ownedDiagramElements>
728 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5K7w8LW_EeamG-Ij7YnW7w" name="[0..*] functions" sourceNode="_v4CCMLW_EeamG-Ij7YnW7w" targetNode="_5KoO8LW_EeamG-Ij7YnW7w">
729 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/functions"/>
730 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/functions"/>
731 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5K9mILW_EeamG-Ij7YnW7w" description="_5K7J4LW_EeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
732 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_5K9mIbW_EeamG-Ij7YnW7w" showIcon="false">
733 <customFeatures>labelSize</customFeatures>
734 </centerLabelStyle>
735 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_5K9mIrW_EeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
736 <customFeatures>labelSize</customFeatures>
737 </endLabelStyle>
738 </ownedStyle>
739 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
740 </ownedDiagramElements>
741 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5K9mI7W_EeamG-Ij7YnW7w" name="[0..*] relations" sourceNode="_v4CCMLW_EeamG-Ij7YnW7w" targetNode="_5KqEILW_EeamG-Ij7YnW7w">
742 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/relations"/>
743 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/relations"/>
744 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5K-0QLW_EeamG-Ij7YnW7w" description="_5K7J4LW_EeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
745 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_5K-0QbW_EeamG-Ij7YnW7w" showIcon="false">
746 <customFeatures>labelSize</customFeatures>
747 </centerLabelStyle>
748 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_5K-0QrW_EeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
749 <customFeatures>labelSize</customFeatures>
750 </endLabelStyle>
751 </ownedStyle>
752 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
753 </ownedDiagramElements>
754 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5K_bULW_EeamG-Ij7YnW7w" name="[0..*] constants" sourceNode="_v4CCMLW_EeamG-Ij7YnW7w" targetNode="_5KlLoLW_EeamG-Ij7YnW7w">
755 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/constants"/>
756 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/constants"/>
757 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5LACYLW_EeamG-Ij7YnW7w" description="_5K7J4LW_EeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
758 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_5LACYbW_EeamG-Ij7YnW7w" showIcon="false">
759 <customFeatures>labelSize</customFeatures>
760 </centerLabelStyle>
761 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_5LACYrW_EeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
762 <customFeatures>labelSize</customFeatures>
763 </endLabelStyle>
764 </ownedStyle>
765 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
766 </ownedDiagramElements>
767 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5LApcLW_EeamG-Ij7YnW7w" name="[0..*] elements" sourceNode="_v4CCMLW_EeamG-Ij7YnW7w" targetNode="_5KnA0LW_EeamG-Ij7YnW7w">
768 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/elements"/>
769 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/elements"/>
770 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5LBQgLW_EeamG-Ij7YnW7w" description="_5K7J4LW_EeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
771 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_5LBQgbW_EeamG-Ij7YnW7w" showIcon="false">
772 <customFeatures>labelSize</customFeatures>
773 </centerLabelStyle>
774 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_5LBQgrW_EeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
775 <customFeatures>labelSize</customFeatures>
776 </endLabelStyle>
777 </ownedStyle>
778 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
779 </ownedDiagramElements>
780 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5LB3kLW_EeamG-Ij7YnW7w" visible="false" sourceNode="_5Kr5ULW_EeamG-Ij7YnW7w" targetNode="_5Kr5ULW_EeamG-Ij7YnW7w" beginLabel="[0..*] supertypes" endLabel="[0..*] subtypes">
781 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type/subtypes"/>
782 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type/subtypes"/>
783 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type/supertypes"/>
784 <graphicalFilters xmi:type="diagram:HideFilter" xmi:id="__p-4ALW_EeamG-Ij7YnW7w"/>
785 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_5LCeoLW_EeamG-Ij7YnW7w" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0">
786 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style"/>
787 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_5LCeobW_EeamG-Ij7YnW7w" showIcon="false"/>
788 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_5LCeorW_EeamG-Ij7YnW7w" showIcon="false"/>
789 </ownedStyle>
790 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
791 </ownedDiagramElements>
792 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_OeBUELXAEeamG-Ij7YnW7w" name="ConstantDeclaration" tooltipText="" outgoingEdges="_OePWgLXAEeamG-Ij7YnW7w" incomingEdges="_jxT2ELXBEeamG-Ij7YnW7w" width="12" height="10">
793 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//ConstantDeclaration"/>
794 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//ConstantDeclaration"/>
795 <decorations xmi:type="viewpoint:Decoration" xmi:id="_OeKeALXAEeamG-Ij7YnW7w">
796 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
797 </decorations>
798 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
799 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
800 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
801 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_OeB7ILXAEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
802 <customFeatures>backgroundColor</customFeatures>
803 <customFeatures>foregroundColor</customFeatures>
804 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
805 </ownedStyle>
806 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
807 </ownedDiagramElements>
808 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_OePWgLXAEeamG-Ij7YnW7w" sourceNode="_OeBUELXAEeamG-Ij7YnW7w" targetNode="_5KlLoLW_EeamG-Ij7YnW7w">
809 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//ConstantDeclaration"/>
810 <semanticElements xmi:type="ecore:EGenericType" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//ConstantDeclaration/@eGenericSuperTypes.0"/>
811 <decorations xmi:type="viewpoint:Decoration" xmi:id="_jxRZ0LXBEeamG-Ij7YnW7w">
812 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
813 </decorations>
814 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_OeP9kLXAEeamG-Ij7YnW7w" targetArrow="InputClosedArrow" routingStyle="tree">
815 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
816 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_OeP9kbXAEeamG-Ij7YnW7w" showIcon="false">
817 <labelFormat>italic</labelFormat>
818 </beginLabelStyle>
819 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_OeP9krXAEeamG-Ij7YnW7w" showIcon="false"/>
820 </ownedStyle>
821 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
822 </ownedDiagramElements>
823 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_P22IMLXAEeamG-Ij7YnW7w" name="RelationDeclaration" tooltipText="" outgoingEdges="_P3BuYLXAEeamG-Ij7YnW7w" incomingEdges="_owbbcLXBEeamG-Ij7YnW7w" width="12" height="10">
824 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//RelationDeclaration"/>
825 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//RelationDeclaration"/>
826 <decorations xmi:type="viewpoint:Decoration" xmi:id="_P29c8LXAEeamG-Ij7YnW7w">
827 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
828 </decorations>
829 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
830 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
831 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
832 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_P22vQLXAEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
833 <customFeatures>backgroundColor</customFeatures>
834 <customFeatures>foregroundColor</customFeatures>
835 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
836 </ownedStyle>
837 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
838 </ownedDiagramElements>
839 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_P3BuYLXAEeamG-Ij7YnW7w" sourceNode="_P22IMLXAEeamG-Ij7YnW7w" targetNode="_5KqEILW_EeamG-Ij7YnW7w">
840 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//RelationDeclaration"/>
841 <semanticElements xmi:type="ecore:EGenericType" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//RelationDeclaration/@eGenericSuperTypes.0"/>
842 <decorations xmi:type="viewpoint:Decoration" xmi:id="_jxRZ0bXBEeamG-Ij7YnW7w">
843 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
844 </decorations>
845 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_P3CVcLXAEeamG-Ij7YnW7w" targetArrow="InputClosedArrow" routingStyle="tree">
846 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
847 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_P3CVcbXAEeamG-Ij7YnW7w" showIcon="false">
848 <labelFormat>italic</labelFormat>
849 </beginLabelStyle>
850 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_P3CVcrXAEeamG-Ij7YnW7w" showIcon="false"/>
851 </ownedStyle>
852 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
853 </ownedDiagramElements>
854 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_RpETwLXAEeamG-Ij7YnW7w" name="FunctionDeclaration" tooltipText="" outgoingEdges="_RpYc0LXAEeamG-Ij7YnW7w" incomingEdges="_qsPn4LXBEeamG-Ij7YnW7w" width="12" height="10">
855 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//FunctionDeclaration"/>
856 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//FunctionDeclaration"/>
857 <decorations xmi:type="viewpoint:Decoration" xmi:id="_RpS9QLXAEeamG-Ij7YnW7w">
858 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
859 </decorations>
860 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
861 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
862 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
863 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ezOjwLXHEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
864 <customFeatures>backgroundColor</customFeatures>
865 <customFeatures>foregroundColor</customFeatures>
866 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
867 </ownedStyle>
868 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
869 </ownedDiagramElements>
870 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_RpYc0LXAEeamG-Ij7YnW7w" sourceNode="_RpETwLXAEeamG-Ij7YnW7w" targetNode="_5KoO8LW_EeamG-Ij7YnW7w">
871 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//FunctionDeclaration"/>
872 <semanticElements xmi:type="ecore:EGenericType" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//FunctionDeclaration/@eGenericSuperTypes.0"/>
873 <decorations xmi:type="viewpoint:Decoration" xmi:id="_jxRZ0rXBEeamG-Ij7YnW7w">
874 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
875 </decorations>
876 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_RpZD4LXAEeamG-Ij7YnW7w" targetArrow="InputClosedArrow" routingStyle="tree">
877 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
878 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_RpZD4bXAEeamG-Ij7YnW7w" showIcon="false">
879 <labelFormat>italic</labelFormat>
880 </beginLabelStyle>
881 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_RpZD4rXAEeamG-Ij7YnW7w" showIcon="false"/>
882 </ownedStyle>
883 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
884 </ownedDiagramElements>
885 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_WexecLXAEeamG-Ij7YnW7w" name="TypeDeclaration" tooltipText="" outgoingEdges="_WfDLQLXAEeamG-Ij7YnW7w" incomingEdges="_zIoI4LXCEeamG-Ij7YnW7w" width="12" height="10">
886 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//TypeDeclaration"/>
887 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//TypeDeclaration"/>
888 <decorations xmi:type="viewpoint:Decoration" xmi:id="_We8dkLXAEeamG-Ij7YnW7w">
889 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
890 </decorations>
891 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
892 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
893 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
894 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_WeyFgLXAEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
895 <customFeatures>backgroundColor</customFeatures>
896 <customFeatures>foregroundColor</customFeatures>
897 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
898 </ownedStyle>
899 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
900 </ownedDiagramElements>
901 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_WfDLQLXAEeamG-Ij7YnW7w" sourceNode="_WexecLXAEeamG-Ij7YnW7w" targetNode="_5Kr5ULW_EeamG-Ij7YnW7w">
902 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//TypeDeclaration"/>
903 <semanticElements xmi:type="ecore:EGenericType" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//TypeDeclaration/@eGenericSuperTypes.0"/>
904 <decorations xmi:type="viewpoint:Decoration" xmi:id="_jxRZ07XBEeamG-Ij7YnW7w">
905 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
906 </decorations>
907 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_WfDLQbXAEeamG-Ij7YnW7w" targetArrow="InputClosedArrow" routingStyle="tree">
908 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
909 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_WfDLQrXAEeamG-Ij7YnW7w" showIcon="false">
910 <labelFormat>italic</labelFormat>
911 </beginLabelStyle>
912 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_WfDLQ7XAEeamG-Ij7YnW7w" showIcon="false"/>
913 </ownedStyle>
914 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
915 </ownedDiagramElements>
916 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_KP9iwLXBEeamG-Ij7YnW7w" name="PartialConstantInterpretation" tooltipText="" outgoingEdges="_jxT2ELXBEeamG-Ij7YnW7w" incomingEdges="_2Grq4LXBEeamG-Ij7YnW7w" width="12" height="10">
917 <target xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialConstantInterpretation"/>
918 <semanticElements xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialConstantInterpretation"/>
919 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
920 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
921 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
922 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_KP-J0LXBEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
923 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
924 </ownedStyle>
925 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
926 </ownedDiagramElements>
927 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_WTu2oLXBEeamG-Ij7YnW7w" name="PartialRelationInterpretation" tooltipText="" outgoingEdges="_owbbcLXBEeamG-Ij7YnW7w" incomingEdges="_23ljYLXBEeamG-Ij7YnW7w" width="12" height="10">
928 <target xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialRelationInterpretation"/>
929 <semanticElements xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialRelationInterpretation"/>
930 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
931 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
932 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
933 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_WTvdsLXBEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
934 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
935 </ownedStyle>
936 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
937 </ownedDiagramElements>
938 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_cCYbgLXBEeamG-Ij7YnW7w" name="PartialFunctionInterpretation" tooltipText="" outgoingEdges="_qsPn4LXBEeamG-Ij7YnW7w" incomingEdges="_3UBAsLXBEeamG-Ij7YnW7w" width="12" height="10">
939 <target xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialFunctionInterpretation"/>
940 <semanticElements xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialFunctionInterpretation"/>
941 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
942 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
943 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
944 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_cCZCkLXBEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
945 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
946 </ownedStyle>
947 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
948 </ownedDiagramElements>
949 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_jxT2ELXBEeamG-Ij7YnW7w" name="[1..1] interpretationOf" sourceNode="_KP9iwLXBEeamG-Ij7YnW7w" targetNode="_OeBUELXAEeamG-Ij7YnW7w">
950 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialConstantInterpretation/interpretationOf"/>
951 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialConstantInterpretation/interpretationOf"/>
952 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_nsVhMLXBEeamG-Ij7YnW7w" description="_v4J-ALW_EeamG-Ij7YnW7w" routingStyle="manhattan" strokeColor="0,0,0">
953 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_nsVhMbXBEeamG-Ij7YnW7w" showIcon="false">
954 <labelFormat>bold</labelFormat>
955 </centerLabelStyle>
956 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_nsVhMrXBEeamG-Ij7YnW7w" labelSize="6" showIcon="false" labelColor="39,76,114"/>
957 </ownedStyle>
958 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
959 </ownedDiagramElements>
960 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_owbbcLXBEeamG-Ij7YnW7w" name="[1..1] interpretationOf" sourceNode="_WTu2oLXBEeamG-Ij7YnW7w" targetNode="_P22IMLXAEeamG-Ij7YnW7w">
961 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialRelationInterpretation/interpretationOf"/>
962 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialRelationInterpretation/interpretationOf"/>
963 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_p9nnULXBEeamG-Ij7YnW7w" description="_v4J-ALW_EeamG-Ij7YnW7w" routingStyle="manhattan" strokeColor="0,0,0">
964 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_p9nnUbXBEeamG-Ij7YnW7w" showIcon="false">
965 <labelFormat>bold</labelFormat>
966 </centerLabelStyle>
967 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_p9nnUrXBEeamG-Ij7YnW7w" labelSize="6" showIcon="false" labelColor="39,76,114"/>
968 </ownedStyle>
969 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
970 </ownedDiagramElements>
971 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_qsPn4LXBEeamG-Ij7YnW7w" name="[1..1] interpretationOf" sourceNode="_cCYbgLXBEeamG-Ij7YnW7w" targetNode="_RpETwLXAEeamG-Ij7YnW7w">
972 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialFunctionInterpretation/interpretationOf"/>
973 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialFunctionInterpretation/interpretationOf"/>
974 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_r0Gn0LXBEeamG-Ij7YnW7w" description="_v4J-ALW_EeamG-Ij7YnW7w" routingStyle="manhattan" strokeColor="0,0,0">
975 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_r0Gn0bXBEeamG-Ij7YnW7w" showIcon="false">
976 <labelFormat>bold</labelFormat>
977 </centerLabelStyle>
978 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_r0Gn0rXBEeamG-Ij7YnW7w" labelSize="6" showIcon="false" labelColor="39,76,114"/>
979 </ownedStyle>
980 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
981 </ownedDiagramElements>
982 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_2Grq4LXBEeamG-Ij7YnW7w" name="[0..*] partialconstantinterpretation" sourceNode="_gf_hMLW_EeamG-Ij7YnW7w" targetNode="_KP9iwLXBEeamG-Ij7YnW7w">
983 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/partialconstantinterpretation"/>
984 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/partialconstantinterpretation"/>
985 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_2GsR8LXBEeamG-Ij7YnW7w" description="_5K7J4LW_EeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
986 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_2GsR8bXBEeamG-Ij7YnW7w" showIcon="false">
987 <customFeatures>labelSize</customFeatures>
988 </centerLabelStyle>
989 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_2GsR8rXBEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
990 <customFeatures>labelSize</customFeatures>
991 </endLabelStyle>
992 </ownedStyle>
993 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
994 </ownedDiagramElements>
995 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_23ljYLXBEeamG-Ij7YnW7w" name="[0..*] partialrelationinterpretation" sourceNode="_gf_hMLW_EeamG-Ij7YnW7w" targetNode="_WTu2oLXBEeamG-Ij7YnW7w">
996 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/partialrelationinterpretation"/>
997 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/partialrelationinterpretation"/>
998 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_23mKcLXBEeamG-Ij7YnW7w" description="_5K7J4LW_EeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
999 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_23mKcbXBEeamG-Ij7YnW7w" showIcon="false">
1000 <customFeatures>labelSize</customFeatures>
1001 </centerLabelStyle>
1002 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_23mKcrXBEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
1003 <customFeatures>labelSize</customFeatures>
1004 </endLabelStyle>
1005 </ownedStyle>
1006 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1007 </ownedDiagramElements>
1008 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_3UBAsLXBEeamG-Ij7YnW7w" name="[0..*] partialfunctioninterpretation" sourceNode="_gf_hMLW_EeamG-Ij7YnW7w" targetNode="_cCYbgLXBEeamG-Ij7YnW7w">
1009 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/partialfunctioninterpretation"/>
1010 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/partialfunctioninterpretation"/>
1011 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_3UBnwLXBEeamG-Ij7YnW7w" description="_5K7J4LW_EeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1012 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_3UBnwbXBEeamG-Ij7YnW7w" showIcon="false">
1013 <customFeatures>labelSize</customFeatures>
1014 </centerLabelStyle>
1015 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_3UBnwrXBEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
1016 <customFeatures>labelSize</customFeatures>
1017 </endLabelStyle>
1018 </ownedStyle>
1019 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1020 </ownedDiagramElements>
1021 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_H4YK4LXCEeamG-Ij7YnW7w" name="[0..*] newElements" sourceNode="_gf_hMLW_EeamG-Ij7YnW7w" targetNode="_5KnA0LW_EeamG-Ij7YnW7w">
1022 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/newElements"/>
1023 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/newElements"/>
1024 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_H4Yx8LXCEeamG-Ij7YnW7w" description="_5K7J4LW_EeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1025 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_H4Yx8bXCEeamG-Ij7YnW7w" showIcon="false">
1026 <customFeatures>labelSize</customFeatures>
1027 </centerLabelStyle>
1028 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_H4Yx8rXCEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
1029 <customFeatures>labelSize</customFeatures>
1030 </endLabelStyle>
1031 </ownedStyle>
1032 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1033 </ownedDiagramElements>
1034 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_TgoAYLXCEeamG-Ij7YnW7w" name="PartialTypeInterpratation" tooltipText="" outgoingEdges="_zIoI4LXCEeamG-Ij7YnW7w _klNtULXDEeamG-Ij7YnW7w" incomingEdges="_2Sy-0LXCEeamG-Ij7YnW7w" width="12" height="10">
1035 <target xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialTypeInterpratation"/>
1036 <semanticElements xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialTypeInterpratation"/>
1037 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1038 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1039 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1040 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_TgoncLXCEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1041 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1042 </ownedStyle>
1043 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1044 </ownedDiagramElements>
1045 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_zIoI4LXCEeamG-Ij7YnW7w" name="[1..1] interpretationOf" sourceNode="_TgoAYLXCEeamG-Ij7YnW7w" targetNode="_WexecLXAEeamG-Ij7YnW7w">
1046 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialTypeInterpratation/interpretationOf"/>
1047 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialTypeInterpratation/interpretationOf"/>
1048 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_04uNgLXCEeamG-Ij7YnW7w" description="_v4J-ALW_EeamG-Ij7YnW7w" routingStyle="manhattan" strokeColor="0,0,0">
1049 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_04uNgbXCEeamG-Ij7YnW7w" showIcon="false">
1050 <labelFormat>bold</labelFormat>
1051 </centerLabelStyle>
1052 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_04uNgrXCEeamG-Ij7YnW7w" labelSize="6" showIcon="false" labelColor="39,76,114"/>
1053 </ownedStyle>
1054 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1055 </ownedDiagramElements>
1056 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_2Sy-0LXCEeamG-Ij7YnW7w" name="[0..*] partialtypeinterpratation" sourceNode="_gf_hMLW_EeamG-Ij7YnW7w" targetNode="_TgoAYLXCEeamG-Ij7YnW7w">
1057 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/partialtypeinterpratation"/>
1058 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/partialtypeinterpratation"/>
1059 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_2Szl4LXCEeamG-Ij7YnW7w" description="_5K7J4LW_EeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1060 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_2Szl4bXCEeamG-Ij7YnW7w" showIcon="false">
1061 <customFeatures>labelSize</customFeatures>
1062 </centerLabelStyle>
1063 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_2Szl4rXCEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
1064 <customFeatures>labelSize</customFeatures>
1065 </endLabelStyle>
1066 </ownedStyle>
1067 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1068 </ownedDiagramElements>
1069 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_klNtULXDEeamG-Ij7YnW7w" name="[0..*] elements" sourceNode="_TgoAYLXCEeamG-Ij7YnW7w" targetNode="_5KnA0LW_EeamG-Ij7YnW7w">
1070 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialTypeInterpratation/elements"/>
1071 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialTypeInterpratation/elements"/>
1072 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_M5BNcL3JEeaj7tVusjQpHg" routingStyle="manhattan" strokeColor="0,0,0">
1073 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
1074 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_M5BNcb3JEeaj7tVusjQpHg" showIcon="false"/>
1075 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_M5BNcr3JEeaj7tVusjQpHg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
1076 </ownedStyle>
1077 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1078 </ownedDiagramElements>
1079 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_QrIkAL5UEea19paI6HZj1w" name="[1..1] openWorldElementPrototype" sourceNode="_gf_hMLW_EeamG-Ij7YnW7w" targetNode="_5KnA0LW_EeamG-Ij7YnW7w">
1080 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/openWorldElementPrototype"/>
1081 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/openWorldElementPrototype"/>
1082 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_UkL5M75UEea19paI6HZj1w" description="_UkL5ML5UEea19paI6HZj1w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1083 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_UkL5NL5UEea19paI6HZj1w" showIcon="false">
1084 <labelFormat>bold</labelFormat>
1085 </centerLabelStyle>
1086 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_UkL5Nb5UEea19paI6HZj1w" labelSize="6" showIcon="false" labelColor="39,76,114"/>
1087 </ownedStyle>
1088 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1089 </ownedDiagramElements>
1090 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
1091 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_MAfXJbW_EeamG-Ij7YnW7w"/>
1092 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
1093 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
1094 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
1095 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
1096 <target xmi:type="ecore:EPackage" href="PartialInterpretation.ecore#/"/>
1097 </ownedRepresentations>
1098 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_ccUTkLXDEeamG-Ij7YnW7w" name="type interpratation">
1099 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_ccUTkbXDEeamG-Ij7YnW7w" source="DANNOTATION_CUSTOMIZATION_KEY">
1100 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_ccUTkrXDEeamG-Ij7YnW7w">
1101 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_ccUTk7XDEeamG-Ij7YnW7w" routingStyle="manhattan">
1102 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1103 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_ccUTlLXDEeamG-Ij7YnW7w" showIcon="false" labelExpression="service:render">
1104 <labelFormat>bold</labelFormat>
1105 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1106 </centerLabelStyleDescription>
1107 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_ccUTlbXDEeamG-Ij7YnW7w" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
1108 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
1109 </endLabelStyleDescription>
1110 </computedStyleDescriptions>
1111 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_ccUTlrXDEeamG-Ij7YnW7w" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
1112 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1113 <labelFormat>bold</labelFormat>
1114 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1115 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1116 </computedStyleDescriptions>
1117 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_ccUTl7XDEeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan">
1118 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1119 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_ccUTmLXDEeamG-Ij7YnW7w" showIcon="false" labelExpression="service:render">
1120 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1121 </centerLabelStyleDescription>
1122 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_ccUTmbXDEeamG-Ij7YnW7w" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
1123 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
1124 </endLabelStyleDescription>
1125 </computedStyleDescriptions>
1126 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_QlTfMMF9Eea_b6UyFzv22g" sourceArrow="FillDiamond" routingStyle="manhattan">
1127 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1128 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_QlTfMcF9Eea_b6UyFzv22g" showIcon="false" labelExpression="service:render">
1129 <labelFormat>bold</labelFormat>
1130 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1131 </centerLabelStyleDescription>
1132 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_QlTfMsF9Eea_b6UyFzv22g" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
1133 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
1134 </endLabelStyleDescription>
1135 </computedStyleDescriptions>
1136 </data>
1137 </ownedAnnotationEntries>
1138 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_ccUTmrXDEeamG-Ij7YnW7w" source="GMF_DIAGRAMS">
1139 <data xmi:type="notation:Diagram" xmi:id="_ccUTm7XDEeamG-Ij7YnW7w" type="Sirius" element="_ccUTkLXDEeamG-Ij7YnW7w" measurementUnit="Pixel">
1140 <children xmi:type="notation:Node" xmi:id="_ccUTnLXDEeamG-Ij7YnW7w" type="2003" element="_ccU7VbXDEeamG-Ij7YnW7w">
1141 <children xmi:type="notation:Node" xmi:id="_ccUTnbXDEeamG-Ij7YnW7w" type="5007"/>
1142 <children xmi:type="notation:Node" xmi:id="_ccUTnrXDEeamG-Ij7YnW7w" type="7004">
1143 <children xmi:type="notation:Node" xmi:id="_QlZl0MF9Eea_b6UyFzv22g" type="3010" element="_QlJHIMF9Eea_b6UyFzv22g">
1144 <styles xmi:type="notation:FontStyle" xmi:id="_QlZl0cF9Eea_b6UyFzv22g" fontName="Segoe UI" fontHeight="8" bold="true"/>
1145 <layoutConstraint xmi:type="notation:Location" xmi:id="_QlZl0sF9Eea_b6UyFzv22g"/>
1146 </children>
1147 <children xmi:type="notation:Node" xmi:id="_QlaM4MF9Eea_b6UyFzv22g" type="3010" element="_QlLjYMF9Eea_b6UyFzv22g">
1148 <styles xmi:type="notation:FontStyle" xmi:id="_QlaM4cF9Eea_b6UyFzv22g" fontName="Segoe UI" fontHeight="8" bold="true"/>
1149 <layoutConstraint xmi:type="notation:Location" xmi:id="_QlaM4sF9Eea_b6UyFzv22g"/>
1150 </children>
1151 <styles xmi:type="notation:SortingStyle" xmi:id="_ccUTn7XDEeamG-Ij7YnW7w"/>
1152 <styles xmi:type="notation:FilteringStyle" xmi:id="_ccUToLXDEeamG-Ij7YnW7w"/>
1153 </children>
1154 <styles xmi:type="notation:ShapeStyle" xmi:id="_ccUTobXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
1155 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccUTorXDEeamG-Ij7YnW7w" x="5" y="470" width="178" height="63"/>
1156 </children>
1157 <children xmi:type="notation:Node" xmi:id="_ccUTo7XDEeamG-Ij7YnW7w" type="2003" element="_ccU7V7XDEeamG-Ij7YnW7w">
1158 <children xmi:type="notation:Node" xmi:id="_ccUTpLXDEeamG-Ij7YnW7w" type="5007"/>
1159 <children xmi:type="notation:Node" xmi:id="_ccUTpbXDEeamG-Ij7YnW7w" type="7004">
1160 <styles xmi:type="notation:SortingStyle" xmi:id="_ccUTprXDEeamG-Ij7YnW7w"/>
1161 <styles xmi:type="notation:FilteringStyle" xmi:id="_ccUTp7XDEeamG-Ij7YnW7w"/>
1162 </children>
1163 <styles xmi:type="notation:ShapeStyle" xmi:id="_ccUTqLXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" fillColor="8047085"/>
1164 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccUTqbXDEeamG-Ij7YnW7w" x="15" y="45"/>
1165 </children>
1166 <children xmi:type="notation:Node" xmi:id="_ccUTsbXDEeamG-Ij7YnW7w" type="2003" element="_ccU7YbXDEeamG-Ij7YnW7w">
1167 <children xmi:type="notation:Node" xmi:id="_ccUTsrXDEeamG-Ij7YnW7w" type="5007"/>
1168 <children xmi:type="notation:Node" xmi:id="_ccUTs7XDEeamG-Ij7YnW7w" type="7004">
1169 <styles xmi:type="notation:SortingStyle" xmi:id="_ccUTtLXDEeamG-Ij7YnW7w"/>
1170 <styles xmi:type="notation:FilteringStyle" xmi:id="_ccUTtbXDEeamG-Ij7YnW7w"/>
1171 </children>
1172 <styles xmi:type="notation:ShapeStyle" xmi:id="_ccUTtrXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" fillColor="8047085"/>
1173 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccUTt7XDEeamG-Ij7YnW7w" x="247" y="165" height="41"/>
1174 </children>
1175 <children xmi:type="notation:Node" xmi:id="_ccUTxrXDEeamG-Ij7YnW7w" type="2003" element="_ccU7arXDEeamG-Ij7YnW7w">
1176 <children xmi:type="notation:Node" xmi:id="_ccUTx7XDEeamG-Ij7YnW7w" type="5007"/>
1177 <children xmi:type="notation:Node" xmi:id="_ccUTyLXDEeamG-Ij7YnW7w" type="7004">
1178 <children xmi:type="notation:Node" xmi:id="_ccUTybXDEeamG-Ij7YnW7w" visible="false" type="3010" element="_ccU7bbXDEeamG-Ij7YnW7w">
1179 <styles xmi:type="notation:FontStyle" xmi:id="_ccUTyrXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" bold="true"/>
1180 <layoutConstraint xmi:type="notation:Location" xmi:id="_ccUTy7XDEeamG-Ij7YnW7w"/>
1181 </children>
1182 <children xmi:type="notation:Node" xmi:id="_ccUTzLXDEeamG-Ij7YnW7w" visible="false" type="3010" element="_ccU7cLXDEeamG-Ij7YnW7w">
1183 <styles xmi:type="notation:FontStyle" xmi:id="_ccUTzbXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" bold="true"/>
1184 <layoutConstraint xmi:type="notation:Location" xmi:id="_ccUTzrXDEeamG-Ij7YnW7w"/>
1185 </children>
1186 <styles xmi:type="notation:SortingStyle" xmi:id="_ccUTz7XDEeamG-Ij7YnW7w"/>
1187 <styles xmi:type="notation:FilteringStyle" xmi:id="_ccUT0LXDEeamG-Ij7YnW7w"/>
1188 </children>
1189 <styles xmi:type="notation:ShapeStyle" xmi:id="_ccUT0bXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" italic="true" fillColor="8047085"/>
1190 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccUT0rXDEeamG-Ij7YnW7w" x="387" y="165" height="38"/>
1191 </children>
1192 <children xmi:type="notation:Node" xmi:id="_ccUT6LXDEeamG-Ij7YnW7w" type="2003" element="_ccU7pLXDEeamG-Ij7YnW7w">
1193 <children xmi:type="notation:Node" xmi:id="_ccUT6bXDEeamG-Ij7YnW7w" type="5007"/>
1194 <children xmi:type="notation:Node" xmi:id="_ccUT6rXDEeamG-Ij7YnW7w" type="7004">
1195 <styles xmi:type="notation:SortingStyle" xmi:id="_ccUT67XDEeamG-Ij7YnW7w"/>
1196 <styles xmi:type="notation:FilteringStyle" xmi:id="_ccUT7LXDEeamG-Ij7YnW7w"/>
1197 </children>
1198 <styles xmi:type="notation:ShapeStyle" xmi:id="_ccUT7bXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" fillColor="8047085"/>
1199 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccUT7rXDEeamG-Ij7YnW7w" x="387" y="222" height="43"/>
1200 </children>
1201 <children xmi:type="notation:Node" xmi:id="_ccUUBLXDEeamG-Ij7YnW7w" type="2003" element="_ccU7zrXDEeamG-Ij7YnW7w">
1202 <children xmi:type="notation:Node" xmi:id="_ccUUBbXDEeamG-Ij7YnW7w" type="5007"/>
1203 <children xmi:type="notation:Node" xmi:id="_ccUUBrXDEeamG-Ij7YnW7w" type="7004">
1204 <styles xmi:type="notation:SortingStyle" xmi:id="_ccUUB7XDEeamG-Ij7YnW7w"/>
1205 <styles xmi:type="notation:FilteringStyle" xmi:id="_ccUUCLXDEeamG-Ij7YnW7w"/>
1206 </children>
1207 <styles xmi:type="notation:ShapeStyle" xmi:id="_ccUUCbXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
1208 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccUUCrXDEeamG-Ij7YnW7w" x="370" y="355" width="168" height="63"/>
1209 </children>
1210 <styles xmi:type="notation:DiagramStyle" xmi:id="_ccUUC7XDEeamG-Ij7YnW7w"/>
1211 <edges xmi:type="notation:Edge" xmi:id="_ccUUDLXDEeamG-Ij7YnW7w" type="4001" element="_ccU7WrXDEeamG-Ij7YnW7w" source="_ccUTnLXDEeamG-Ij7YnW7w" target="_ccUTo7XDEeamG-Ij7YnW7w">
1212 <children xmi:type="notation:Node" xmi:id="_ccUUDbXDEeamG-Ij7YnW7w" type="6001">
1213 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccUUDrXDEeamG-Ij7YnW7w" x="-30"/>
1214 </children>
1215 <children xmi:type="notation:Node" xmi:id="_ccUUD7XDEeamG-Ij7YnW7w" type="6002">
1216 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccUUELXDEeamG-Ij7YnW7w" x="61"/>
1217 </children>
1218 <children xmi:type="notation:Node" xmi:id="_ccUUEbXDEeamG-Ij7YnW7w" type="6003">
1219 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccUUErXDEeamG-Ij7YnW7w" x="-38"/>
1220 </children>
1221 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ccUUE7XDEeamG-Ij7YnW7w" routing="Rectilinear"/>
1222 <styles xmi:type="notation:FontStyle" xmi:id="_ccUUFLXDEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1223 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ccUUFbXDEeamG-Ij7YnW7w" points="[-22, -49, -16, 396]$[-22, -396, -16, 49]"/>
1224 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccUUFrXDEeamG-Ij7YnW7w" id="(0.42617349970291146,1.1311475409836065)"/>
1225 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccUUF7XDEeamG-Ij7YnW7w" id="(0.5,0.5)"/>
1226 </edges>
1227 <edges xmi:type="notation:Edge" xmi:id="_ccUUGLXDEeamG-Ij7YnW7w" type="4001" element="_ccU7c7XDEeamG-Ij7YnW7w" source="_ccUTo7XDEeamG-Ij7YnW7w" target="_ccUTxrXDEeamG-Ij7YnW7w">
1228 <children xmi:type="notation:Node" xmi:id="_ccUUGbXDEeamG-Ij7YnW7w" type="6001">
1229 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccUUGrXDEeamG-Ij7YnW7w" x="61" y="11"/>
1230 </children>
1231 <children xmi:type="notation:Node" xmi:id="_ccUUG7XDEeamG-Ij7YnW7w" type="6002">
1232 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccUUHLXDEeamG-Ij7YnW7w" x="42" y="10"/>
1233 </children>
1234 <children xmi:type="notation:Node" xmi:id="_ccUUHbXDEeamG-Ij7YnW7w" type="6003">
1235 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccUUHrXDEeamG-Ij7YnW7w" x="43" y="9"/>
1236 </children>
1237 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ccUUH7XDEeamG-Ij7YnW7w" routing="Rectilinear"/>
1238 <styles xmi:type="notation:FontStyle" xmi:id="_ccUUILXDEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1239 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ccUUIbXDEeamG-Ij7YnW7w" points="[59, 20, -313, -206]$[386, 20, 14, -206]$[386, 120, 14, -106]"/>
1240 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccUUIrXDEeamG-Ij7YnW7w" id="(0.5,0.0)"/>
1241 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccUUI7XDEeamG-Ij7YnW7w" id="(0.5,2.7222222222222223)"/>
1242 </edges>
1243 <edges xmi:type="notation:Edge" xmi:id="_ccU6oLXDEeamG-Ij7YnW7w" type="4001" element="_ccU7g7XDEeamG-Ij7YnW7w" source="_ccUTo7XDEeamG-Ij7YnW7w" target="_ccUTsbXDEeamG-Ij7YnW7w">
1244 <children xmi:type="notation:Node" xmi:id="_ccU6obXDEeamG-Ij7YnW7w" type="6001">
1245 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU6orXDEeamG-Ij7YnW7w" x="-6" y="-10"/>
1246 </children>
1247 <children xmi:type="notation:Node" xmi:id="_ccU6o7XDEeamG-Ij7YnW7w" type="6002">
1248 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU6pLXDEeamG-Ij7YnW7w" x="54" y="10"/>
1249 </children>
1250 <children xmi:type="notation:Node" xmi:id="_ccU6pbXDEeamG-Ij7YnW7w" type="6003">
1251 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU6prXDEeamG-Ij7YnW7w" x="-10" y="114"/>
1252 </children>
1253 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ccU6p7XDEeamG-Ij7YnW7w" routing="Rectilinear"/>
1254 <styles xmi:type="notation:FontStyle" xmi:id="_ccU6qLXDEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1255 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ccU6qbXDEeamG-Ij7YnW7w" points="[59, 70, -173, -148]$[208, 70, -24, -148]$[208, 120, -24, -98]"/>
1256 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccU6qrXDEeamG-Ij7YnW7w" id="(0.5,0.0)"/>
1257 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccU6q7XDEeamG-Ij7YnW7w" id="(0.5,2.5128205128205128)"/>
1258 </edges>
1259 <edges xmi:type="notation:Edge" xmi:id="_ccU6rLXDEeamG-Ij7YnW7w" visible="false" type="4001" element="_ccU7h7XDEeamG-Ij7YnW7w" source="_ccUTxrXDEeamG-Ij7YnW7w" target="_ccUTxrXDEeamG-Ij7YnW7w">
1260 <children xmi:type="notation:Node" xmi:id="_ccU6rbXDEeamG-Ij7YnW7w" type="6001">
1261 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU6rrXDEeamG-Ij7YnW7w" y="-10"/>
1262 </children>
1263 <children xmi:type="notation:Node" xmi:id="_ccU6r7XDEeamG-Ij7YnW7w" type="6002">
1264 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU6sLXDEeamG-Ij7YnW7w" y="10"/>
1265 </children>
1266 <children xmi:type="notation:Node" xmi:id="_ccU6sbXDEeamG-Ij7YnW7w" type="6003">
1267 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU6srXDEeamG-Ij7YnW7w" y="10"/>
1268 </children>
1269 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ccU6s7XDEeamG-Ij7YnW7w" routing="Rectilinear"/>
1270 <styles xmi:type="notation:FontStyle" xmi:id="_ccU6tLXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
1271 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ccU6tbXDEeamG-Ij7YnW7w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
1272 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccU6trXDEeamG-Ij7YnW7w" id="(0.5,1.3611111111111112)"/>
1273 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccU6t7XDEeamG-Ij7YnW7w" id="(0.5,1.3611111111111112)"/>
1274 </edges>
1275 <edges xmi:type="notation:Edge" xmi:id="_ccU63LXDEeamG-Ij7YnW7w" type="4001" element="_ccU7p7XDEeamG-Ij7YnW7w" source="_ccUT6LXDEeamG-Ij7YnW7w" target="_ccUTxrXDEeamG-Ij7YnW7w">
1276 <children xmi:type="notation:Node" xmi:id="_ccU63bXDEeamG-Ij7YnW7w" type="6001">
1277 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU63rXDEeamG-Ij7YnW7w" x="3" y="-1"/>
1278 </children>
1279 <children xmi:type="notation:Node" xmi:id="_ccU637XDEeamG-Ij7YnW7w" type="6002">
1280 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU64LXDEeamG-Ij7YnW7w"/>
1281 </children>
1282 <children xmi:type="notation:Node" xmi:id="_ccU64bXDEeamG-Ij7YnW7w" type="6003">
1283 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU64rXDEeamG-Ij7YnW7w" x="-13" y="9"/>
1284 </children>
1285 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ccU647XDEeamG-Ij7YnW7w" routing="Tree"/>
1286 <styles xmi:type="notation:FontStyle" xmi:id="_ccU65LXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
1287 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ccU65bXDEeamG-Ij7YnW7w" points="[0, -49, 0, 4]$[0, -61, 0, -8]$[-1, -61, -1, -8]$[-1, -67, -1, -14]"/>
1288 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccU65rXDEeamG-Ij7YnW7w" id="(0.5,1.1951219512195121)"/>
1289 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccU657XDEeamG-Ij7YnW7w" id="(0.5,1.3611111111111112)"/>
1290 </edges>
1291 <edges xmi:type="notation:Edge" xmi:id="_ccU7MLXDEeamG-Ij7YnW7w" type="4001" element="_ccU7yrXDEeamG-Ij7YnW7w" source="_ccUTnLXDEeamG-Ij7YnW7w" target="_ccUTsbXDEeamG-Ij7YnW7w">
1292 <children xmi:type="notation:Node" xmi:id="_ccU7MbXDEeamG-Ij7YnW7w" type="6001">
1293 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU7MrXDEeamG-Ij7YnW7w" x="15" y="-55"/>
1294 </children>
1295 <children xmi:type="notation:Node" xmi:id="_ccU7M7XDEeamG-Ij7YnW7w" type="6002">
1296 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU7NLXDEeamG-Ij7YnW7w" x="90" y="-208"/>
1297 </children>
1298 <children xmi:type="notation:Node" xmi:id="_ccU7NbXDEeamG-Ij7YnW7w" type="6003">
1299 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU7NrXDEeamG-Ij7YnW7w" x="23" y="10"/>
1300 </children>
1301 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ccU7N7XDEeamG-Ij7YnW7w" routing="Rectilinear"/>
1302 <styles xmi:type="notation:FontStyle" xmi:id="_ccU7OLXDEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1303 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ccU7ObXDEeamG-Ij7YnW7w" points="[119, 10, -111, 296]$[233, 10, 3, 296]$[233, -286, 3, 0]"/>
1304 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccU7OrXDEeamG-Ij7YnW7w" id="(0.32386363636363635,0.3278688524590164)"/>
1305 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccU7O7XDEeamG-Ij7YnW7w" id="(0.3813559322033898,1.0)"/>
1306 </edges>
1307 <edges xmi:type="notation:Edge" xmi:id="_ccU7PLXDEeamG-Ij7YnW7w" type="4001" element="_ccU70LXDEeamG-Ij7YnW7w" source="_ccUUBLXDEeamG-Ij7YnW7w" target="_ccUT6LXDEeamG-Ij7YnW7w">
1308 <children xmi:type="notation:Node" xmi:id="_ccU7PbXDEeamG-Ij7YnW7w" type="6001">
1309 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU7PrXDEeamG-Ij7YnW7w" x="3" y="71"/>
1310 </children>
1311 <children xmi:type="notation:Node" xmi:id="_ccU7P7XDEeamG-Ij7YnW7w" type="6002">
1312 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU7QLXDEeamG-Ij7YnW7w" x="20" y="6"/>
1313 </children>
1314 <children xmi:type="notation:Node" xmi:id="_ccU7QbXDEeamG-Ij7YnW7w" type="6003">
1315 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU7QrXDEeamG-Ij7YnW7w" x="-32" y="2"/>
1316 </children>
1317 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ccU7Q7XDEeamG-Ij7YnW7w" routing="Rectilinear"/>
1318 <styles xmi:type="notation:FontStyle" xmi:id="_ccU7RLXDEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1319 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ccU7RbXDEeamG-Ij7YnW7w" points="[-30, 0, -15, 92]$[-30, -92, -15, 0]"/>
1320 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccU7RrXDEeamG-Ij7YnW7w" id="(0.6325301204819277,0.0)"/>
1321 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccU7R7XDEeamG-Ij7YnW7w" id="(0.6186440677966102,1.0)"/>
1322 </edges>
1323 <edges xmi:type="notation:Edge" xmi:id="_ccU7SLXDEeamG-Ij7YnW7w" type="4001" element="_ccU71LXDEeamG-Ij7YnW7w" source="_ccUTnLXDEeamG-Ij7YnW7w" target="_ccUUBLXDEeamG-Ij7YnW7w">
1324 <children xmi:type="notation:Node" xmi:id="_ccU7SbXDEeamG-Ij7YnW7w" type="6001">
1325 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU7SrXDEeamG-Ij7YnW7w" x="162" y="-37"/>
1326 </children>
1327 <children xmi:type="notation:Node" xmi:id="_ccU7S7XDEeamG-Ij7YnW7w" type="6002">
1328 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU7TLXDEeamG-Ij7YnW7w" x="50" y="11"/>
1329 </children>
1330 <children xmi:type="notation:Node" xmi:id="_ccU7TbXDEeamG-Ij7YnW7w" type="6003">
1331 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccU7TrXDEeamG-Ij7YnW7w" x="-52" y="-170"/>
1332 </children>
1333 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ccU7T7XDEeamG-Ij7YnW7w" routing="Rectilinear"/>
1334 <styles xmi:type="notation:FontStyle" xmi:id="_ccU7ULXDEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1335 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ccU7UbXDEeamG-Ij7YnW7w" points="[151, -17, -380, 147]$[430, -17, -101, 147]$[430, -134, -101, 30]"/>
1336 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccU7UrXDEeamG-Ij7YnW7w" id="(0.0,1.3114754098360655)"/>
1337 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccU7U7XDEeamG-Ij7YnW7w" id="(1.0,0.5081967213114754)"/>
1338 </edges>
1339 <edges xmi:type="notation:Edge" xmi:id="_klahoLXDEeamG-Ij7YnW7w" type="4001" element="_klCuMLXDEeamG-Ij7YnW7w" source="_ccUUBLXDEeamG-Ij7YnW7w" target="_ccUTsbXDEeamG-Ij7YnW7w">
1340 <children xmi:type="notation:Node" xmi:id="_klbIsLXDEeamG-Ij7YnW7w" type="6001">
1341 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klbIsbXDEeamG-Ij7YnW7w" x="-2" y="54"/>
1342 </children>
1343 <children xmi:type="notation:Node" xmi:id="_klbIsrXDEeamG-Ij7YnW7w" type="6002">
1344 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klbIs7XDEeamG-Ij7YnW7w" x="5" y="67"/>
1345 </children>
1346 <children xmi:type="notation:Node" xmi:id="_klbItLXDEeamG-Ij7YnW7w" type="6003">
1347 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_klbItbXDEeamG-Ij7YnW7w" x="-2" y="10"/>
1348 </children>
1349 <styles xmi:type="notation:ConnectorStyle" xmi:id="_klahobXDEeamG-Ij7YnW7w" routing="Rectilinear"/>
1350 <styles xmi:type="notation:FontStyle" xmi:id="_klahorXDEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1351 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_klaho7XDEeamG-Ij7YnW7w" points="[-45, 30, 50, 181]$[-95, 30, 0, 181]$[-95, -151, 0, 0]"/>
1352 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_klbItrXDEeamG-Ij7YnW7w" id="(0.2710843373493976,0.0)"/>
1353 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_klbIt7XDEeamG-Ij7YnW7w" id="(0.6186440677966102,1.0)"/>
1354 </edges>
1355 <edges xmi:type="notation:Edge" xmi:id="_QlbbAMF9Eea_b6UyFzv22g" type="4001" element="_QlS4IMF9Eea_b6UyFzv22g" source="_ccUTnLXDEeamG-Ij7YnW7w" target="_ccUTsbXDEeamG-Ij7YnW7w">
1356 <children xmi:type="notation:Node" xmi:id="_QlcCEMF9Eea_b6UyFzv22g" type="6001">
1357 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QlcCEcF9Eea_b6UyFzv22g" y="-10"/>
1358 </children>
1359 <children xmi:type="notation:Node" xmi:id="_QlcCEsF9Eea_b6UyFzv22g" type="6002">
1360 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QlcCE8F9Eea_b6UyFzv22g" y="10"/>
1361 </children>
1362 <children xmi:type="notation:Node" xmi:id="_QlcCFMF9Eea_b6UyFzv22g" type="6003">
1363 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QlcCFcF9Eea_b6UyFzv22g" y="10"/>
1364 </children>
1365 <styles xmi:type="notation:ConnectorStyle" xmi:id="_QlbbAcF9Eea_b6UyFzv22g" routing="Rectilinear"/>
1366 <styles xmi:type="notation:FontStyle" xmi:id="_QlbbAsF9Eea_b6UyFzv22g" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1367 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QlbbA8F9Eea_b6UyFzv22g" points="[5, 490, 5, 490]$[247, 165, 247, 165]"/>
1368 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Qld3QMF9Eea_b6UyFzv22g" id="(0.42617349970291146,0.7049180327868853)"/>
1369 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Qld3QcF9Eea_b6UyFzv22g" id="(0.5,0.4878048780487805)"/>
1370 </edges>
1371 <edges xmi:type="notation:Edge" xmi:id="_bL5d4NUaEear_rf-Vav0Gw" type="4001" element="_bLJ3ANUaEear_rf-Vav0Gw" source="_ccUUBLXDEeamG-Ij7YnW7w" target="_ccUUBLXDEeamG-Ij7YnW7w">
1372 <children xmi:type="notation:Node" xmi:id="_bMEdANUaEear_rf-Vav0Gw" type="6001">
1373 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bMEdAdUaEear_rf-Vav0Gw" x="-3" y="-10"/>
1374 </children>
1375 <children xmi:type="notation:Node" xmi:id="_bMFrINUaEear_rf-Vav0Gw" type="6002">
1376 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bMFrIdUaEear_rf-Vav0Gw" x="16" y="10"/>
1377 </children>
1378 <children xmi:type="notation:Node" xmi:id="_bMGSMNUaEear_rf-Vav0Gw" type="6003">
1379 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bMGSMdUaEear_rf-Vav0Gw" x="6" y="4"/>
1380 </children>
1381 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bL5d4dUaEear_rf-Vav0Gw" routing="Rectilinear"/>
1382 <styles xmi:type="notation:FontStyle" xmi:id="_bL5d4tUaEear_rf-Vav0Gw" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1383 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bL5d49UaEear_rf-Vav0Gw" points="[0, 25, 6, 45]$[59, 25, 65, 45]$[59, 55, 65, 75]$[-41, 55, -35, 75]$[-41, 41, -35, 61]"/>
1384 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bMHgUNUaEear_rf-Vav0Gw" id="(1.0,0.32786885245901637)"/>
1385 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bMHgUdUaEear_rf-Vav0Gw" id="(0.963855421686747,0.0)"/>
1386 </edges>
1387 <edges xmi:type="notation:Edge" xmi:id="_6YFT4OW_EearOPSxyAbpKw" type="4001" element="_6W19wOW_EearOPSxyAbpKw" source="_ccUTnLXDEeamG-Ij7YnW7w" target="_ccUTo7XDEeamG-Ij7YnW7w">
1388 <children xmi:type="notation:Node" xmi:id="_6YWZoOW_EearOPSxyAbpKw" type="6001">
1389 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6YWZoeW_EearOPSxyAbpKw" y="-10"/>
1390 </children>
1391 <children xmi:type="notation:Node" xmi:id="_6YduYOW_EearOPSxyAbpKw" type="6002">
1392 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6YduYeW_EearOPSxyAbpKw" y="10"/>
1393 </children>
1394 <children xmi:type="notation:Node" xmi:id="_6YeVcOW_EearOPSxyAbpKw" type="6003">
1395 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6YeVceW_EearOPSxyAbpKw" y="10"/>
1396 </children>
1397 <styles xmi:type="notation:ConnectorStyle" xmi:id="_6YFT4eW_EearOPSxyAbpKw" routing="Rectilinear"/>
1398 <styles xmi:type="notation:FontStyle" xmi:id="_6YFT4uW_EearOPSxyAbpKw" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1399 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6YFT4-W_EearOPSxyAbpKw" points="[5, 470, 5, 470]$[15, 45, 15, 45]"/>
1400 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6Y3-EOW_EearOPSxyAbpKw" id="(0.5,0.49206349206349204)"/>
1401 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6Y3-EeW_EearOPSxyAbpKw" id="(0.5,0.5)"/>
1402 </edges>
1403 <edges xmi:type="notation:Edge" xmi:id="_N_ukAPMVEeagPYxz1ZWLIQ" type="4001" element="_N-rbIPMVEeagPYxz1ZWLIQ" source="_ccUTnLXDEeamG-Ij7YnW7w" target="_ccUUBLXDEeamG-Ij7YnW7w">
1404 <children xmi:type="notation:Node" xmi:id="_N_vLEPMVEeagPYxz1ZWLIQ" type="6001">
1405 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_N_vLEfMVEeagPYxz1ZWLIQ" x="-22" y="-10"/>
1406 </children>
1407 <children xmi:type="notation:Node" xmi:id="_N_vLEvMVEeagPYxz1ZWLIQ" type="6002">
1408 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_N_vLE_MVEeagPYxz1ZWLIQ" x="-7" y="10"/>
1409 </children>
1410 <children xmi:type="notation:Node" xmi:id="_N_vLFPMVEeagPYxz1ZWLIQ" type="6003">
1411 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_N_vLFfMVEeagPYxz1ZWLIQ" x="7" y="10"/>
1412 </children>
1413 <styles xmi:type="notation:ConnectorStyle" xmi:id="_N_ukAfMVEeagPYxz1ZWLIQ" routing="Rectilinear"/>
1414 <styles xmi:type="notation:FontStyle" xmi:id="_N_ukAvMVEeagPYxz1ZWLIQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1415 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_N_ukA_MVEeagPYxz1ZWLIQ" points="[0, 45, -272, 114]$[272, 45, 0, 114]$[272, -69, 0, 0]"/>
1416 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_N_vyIPMVEeagPYxz1ZWLIQ" id="(1.0,0.2459016393442623)"/>
1417 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_N_vyIfMVEeagPYxz1ZWLIQ" id="(0.5,1.0)"/>
1418 </edges>
1419 </data>
1420 </ownedAnnotationEntries>
1421 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ccU7VbXDEeamG-Ij7YnW7w" name="PartialInterpretation" tooltipText="" outgoingEdges="_ccU7WrXDEeamG-Ij7YnW7w _ccU7yrXDEeamG-Ij7YnW7w _ccU71LXDEeamG-Ij7YnW7w _QlS4IMF9Eea_b6UyFzv22g _6W19wOW_EearOPSxyAbpKw _N-rbIPMVEeagPYxz1ZWLIQ" width="12" height="10">
1422 <target xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialInterpretation"/>
1423 <semanticElements xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialInterpretation"/>
1424 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1425 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1426 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1427 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_QZ78oPMVEeagPYxz1ZWLIQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1428 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1429 </ownedStyle>
1430 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1431 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_QlJHIMF9Eea_b6UyFzv22g" name="minNewElements : EInt = 0" tooltipText="">
1432 <target xmi:type="ecore:EAttribute" href="PartialInterpretation.ecore#//PartialInterpretation/minNewElements"/>
1433 <semanticElements xmi:type="ecore:EAttribute" href="PartialInterpretation.ecore#//PartialInterpretation/minNewElements"/>
1434 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_QlK8UMF9Eea_b6UyFzv22g" labelAlignment="LEFT" description="_ccUTlrXDEeamG-Ij7YnW7w">
1435 <labelFormat>bold</labelFormat>
1436 </ownedStyle>
1437 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1438 </ownedElements>
1439 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_QlLjYMF9Eea_b6UyFzv22g" name="maxNewElements : EInt = 0" tooltipText="">
1440 <target xmi:type="ecore:EAttribute" href="PartialInterpretation.ecore#//PartialInterpretation/maxNewElements"/>
1441 <semanticElements xmi:type="ecore:EAttribute" href="PartialInterpretation.ecore#//PartialInterpretation/maxNewElements"/>
1442 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_QlLjYcF9Eea_b6UyFzv22g" labelAlignment="LEFT" description="_ccUTlrXDEeamG-Ij7YnW7w">
1443 <labelFormat>bold</labelFormat>
1444 </ownedStyle>
1445 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1446 </ownedElements>
1447 </ownedDiagramElements>
1448 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ccU7V7XDEeamG-Ij7YnW7w" name="LogicProblem" tooltipText="" outgoingEdges="_ccU7c7XDEeamG-Ij7YnW7w _ccU7g7XDEeamG-Ij7YnW7w" incomingEdges="_ccU7WrXDEeamG-Ij7YnW7w _6W19wOW_EearOPSxyAbpKw" width="12" height="10">
1449 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem"/>
1450 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem"/>
1451 <decorations xmi:type="viewpoint:Decoration" xmi:id="_ccU7WLXDEeamG-Ij7YnW7w">
1452 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
1453 </decorations>
1454 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1455 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1456 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1457 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ccU7WbXDEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
1458 <customFeatures>backgroundColor</customFeatures>
1459 <customFeatures>foregroundColor</customFeatures>
1460 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1461 </ownedStyle>
1462 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1463 </ownedDiagramElements>
1464 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_ccU7WrXDEeamG-Ij7YnW7w" name="[1..1] problem" sourceNode="_ccU7VbXDEeamG-Ij7YnW7w" targetNode="_ccU7V7XDEeamG-Ij7YnW7w">
1465 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/problem"/>
1466 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/problem"/>
1467 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_ccU7W7XDEeamG-Ij7YnW7w" description="_ccUTk7XDEeamG-Ij7YnW7w" routingStyle="manhattan" strokeColor="0,0,0">
1468 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_ccU7XLXDEeamG-Ij7YnW7w" showIcon="false">
1469 <customFeatures>labelSize</customFeatures>
1470 <labelFormat>bold</labelFormat>
1471 </centerLabelStyle>
1472 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_ccU7XbXDEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
1473 <customFeatures>labelSize</customFeatures>
1474 </endLabelStyle>
1475 </ownedStyle>
1476 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1477 </ownedDiagramElements>
1478 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ccU7YbXDEeamG-Ij7YnW7w" name="DefinedElement" tooltipText="" incomingEdges="_ccU7g7XDEeamG-Ij7YnW7w _ccU7yrXDEeamG-Ij7YnW7w _klCuMLXDEeamG-Ij7YnW7w _QlS4IMF9Eea_b6UyFzv22g" width="12" height="10">
1479 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//DefinedElement"/>
1480 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//DefinedElement"/>
1481 <decorations xmi:type="viewpoint:Decoration" xmi:id="_ccU7YrXDEeamG-Ij7YnW7w">
1482 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
1483 </decorations>
1484 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1485 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1486 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1487 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ccU7Y7XDEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
1488 <customFeatures>backgroundColor</customFeatures>
1489 <customFeatures>foregroundColor</customFeatures>
1490 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1491 </ownedStyle>
1492 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1493 </ownedDiagramElements>
1494 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ccU7arXDEeamG-Ij7YnW7w" name="Type" tooltipText="" outgoingEdges="_ccU7h7XDEeamG-Ij7YnW7w" incomingEdges="_ccU7c7XDEeamG-Ij7YnW7w _ccU7h7XDEeamG-Ij7YnW7w _ccU7p7XDEeamG-Ij7YnW7w" width="12" height="10">
1495 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type"/>
1496 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type"/>
1497 <decorations xmi:type="viewpoint:Decoration" xmi:id="_ccU7a7XDEeamG-Ij7YnW7w">
1498 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
1499 </decorations>
1500 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1501 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1502 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1503 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ccU7bLXDEeamG-Ij7YnW7w" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
1504 <customFeatures>backgroundColor</customFeatures>
1505 <customFeatures>foregroundColor</customFeatures>
1506 <labelFormat>italic</labelFormat>
1507 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
1508 </ownedStyle>
1509 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1510 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_ccU7bbXDEeamG-Ij7YnW7w" name="name : EString" visible="false" tooltipText="">
1511 <target xmi:type="ecore:EAttribute" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type/name"/>
1512 <semanticElements xmi:type="ecore:EAttribute" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type/name"/>
1513 <graphicalFilters xmi:type="diagram:HideFilter" xmi:id="_ccU7brXDEeamG-Ij7YnW7w"/>
1514 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_ccU7b7XDEeamG-Ij7YnW7w" labelAlignment="LEFT" description="_ccUTlrXDEeamG-Ij7YnW7w">
1515 <labelFormat>bold</labelFormat>
1516 </ownedStyle>
1517 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1518 </ownedElements>
1519 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_ccU7cLXDEeamG-Ij7YnW7w" name="isAbstract : EBoolean = false" visible="false" tooltipText="">
1520 <target xmi:type="ecore:EAttribute" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type/isAbstract"/>
1521 <semanticElements xmi:type="ecore:EAttribute" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type/isAbstract"/>
1522 <graphicalFilters xmi:type="diagram:HideFilter" xmi:id="_ccU7cbXDEeamG-Ij7YnW7w"/>
1523 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_ccU7crXDEeamG-Ij7YnW7w" labelAlignment="LEFT" description="_ccUTlrXDEeamG-Ij7YnW7w">
1524 <labelFormat>bold</labelFormat>
1525 </ownedStyle>
1526 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1527 </ownedElements>
1528 </ownedDiagramElements>
1529 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_ccU7c7XDEeamG-Ij7YnW7w" name="[0..*] types" sourceNode="_ccU7V7XDEeamG-Ij7YnW7w" targetNode="_ccU7arXDEeamG-Ij7YnW7w">
1530 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/types"/>
1531 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/types"/>
1532 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_ccU7dLXDEeamG-Ij7YnW7w" description="_ccUTl7XDEeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1533 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_ccU7dbXDEeamG-Ij7YnW7w" showIcon="false">
1534 <customFeatures>labelSize</customFeatures>
1535 </centerLabelStyle>
1536 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_ccU7drXDEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
1537 <customFeatures>labelSize</customFeatures>
1538 </endLabelStyle>
1539 </ownedStyle>
1540 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1541 </ownedDiagramElements>
1542 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_ccU7g7XDEeamG-Ij7YnW7w" name="[0..*] elements" sourceNode="_ccU7V7XDEeamG-Ij7YnW7w" targetNode="_ccU7YbXDEeamG-Ij7YnW7w">
1543 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/elements"/>
1544 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/elements"/>
1545 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_ccU7hLXDEeamG-Ij7YnW7w" description="_ccUTl7XDEeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1546 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_ccU7hbXDEeamG-Ij7YnW7w" showIcon="false">
1547 <customFeatures>labelSize</customFeatures>
1548 </centerLabelStyle>
1549 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_ccU7hrXDEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
1550 <customFeatures>labelSize</customFeatures>
1551 </endLabelStyle>
1552 </ownedStyle>
1553 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1554 </ownedDiagramElements>
1555 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_ccU7h7XDEeamG-Ij7YnW7w" visible="false" sourceNode="_ccU7arXDEeamG-Ij7YnW7w" targetNode="_ccU7arXDEeamG-Ij7YnW7w" beginLabel="[0..*] supertypes" endLabel="[0..*] subtypes">
1556 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type/subtypes"/>
1557 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type/subtypes"/>
1558 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Type/supertypes"/>
1559 <graphicalFilters xmi:type="diagram:HideFilter" xmi:id="_ccU7iLXDEeamG-Ij7YnW7w"/>
1560 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_ccU7ibXDEeamG-Ij7YnW7w" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0">
1561 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']/@style"/>
1562 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_ccU7irXDEeamG-Ij7YnW7w" showIcon="false"/>
1563 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_ccU7i7XDEeamG-Ij7YnW7w" showIcon="false"/>
1564 </ownedStyle>
1565 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
1566 </ownedDiagramElements>
1567 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ccU7pLXDEeamG-Ij7YnW7w" name="TypeDeclaration" tooltipText="" outgoingEdges="_ccU7p7XDEeamG-Ij7YnW7w" incomingEdges="_ccU70LXDEeamG-Ij7YnW7w" width="12" height="10">
1568 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//TypeDeclaration"/>
1569 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//TypeDeclaration"/>
1570 <decorations xmi:type="viewpoint:Decoration" xmi:id="_ccU7pbXDEeamG-Ij7YnW7w">
1571 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
1572 </decorations>
1573 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1574 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1575 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1576 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ccU7prXDEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
1577 <customFeatures>backgroundColor</customFeatures>
1578 <customFeatures>foregroundColor</customFeatures>
1579 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1580 </ownedStyle>
1581 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1582 </ownedDiagramElements>
1583 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_ccU7p7XDEeamG-Ij7YnW7w" sourceNode="_ccU7pLXDEeamG-Ij7YnW7w" targetNode="_ccU7arXDEeamG-Ij7YnW7w">
1584 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//TypeDeclaration"/>
1585 <semanticElements xmi:type="ecore:EGenericType" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//TypeDeclaration/@eGenericSuperTypes.0"/>
1586 <decorations xmi:type="viewpoint:Decoration" xmi:id="_ccU7qLXDEeamG-Ij7YnW7w">
1587 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
1588 </decorations>
1589 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_ccU7qbXDEeamG-Ij7YnW7w" targetArrow="InputClosedArrow" routingStyle="tree">
1590 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1591 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_ccU7qrXDEeamG-Ij7YnW7w" showIcon="false">
1592 <labelFormat>italic</labelFormat>
1593 </beginLabelStyle>
1594 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_ccU7q7XDEeamG-Ij7YnW7w" showIcon="false"/>
1595 </ownedStyle>
1596 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1597 </ownedDiagramElements>
1598 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_ccU7yrXDEeamG-Ij7YnW7w" name="[0..*] newElements" sourceNode="_ccU7VbXDEeamG-Ij7YnW7w" targetNode="_ccU7YbXDEeamG-Ij7YnW7w">
1599 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/newElements"/>
1600 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/newElements"/>
1601 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_ccU7y7XDEeamG-Ij7YnW7w" description="_ccUTl7XDEeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1602 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_ccU7zLXDEeamG-Ij7YnW7w" showIcon="false">
1603 <customFeatures>labelSize</customFeatures>
1604 </centerLabelStyle>
1605 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_ccU7zbXDEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
1606 <customFeatures>labelSize</customFeatures>
1607 </endLabelStyle>
1608 </ownedStyle>
1609 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1610 </ownedDiagramElements>
1611 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ccU7zrXDEeamG-Ij7YnW7w" name="PartialTypeInterpratation" tooltipText="" outgoingEdges="_ccU70LXDEeamG-Ij7YnW7w _klCuMLXDEeamG-Ij7YnW7w _bLJ3ANUaEear_rf-Vav0Gw" incomingEdges="_ccU71LXDEeamG-Ij7YnW7w _bLJ3ANUaEear_rf-Vav0Gw _N-rbIPMVEeagPYxz1ZWLIQ" width="12" height="10">
1612 <target xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialTypeInterpratation"/>
1613 <semanticElements xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialTypeInterpratation"/>
1614 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1615 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1616 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1617 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ccU7z7XDEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1618 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1619 </ownedStyle>
1620 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1621 </ownedDiagramElements>
1622 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_ccU70LXDEeamG-Ij7YnW7w" name="[1..1] interpretationOf" sourceNode="_ccU7zrXDEeamG-Ij7YnW7w" targetNode="_ccU7pLXDEeamG-Ij7YnW7w">
1623 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialTypeInterpratation/interpretationOf"/>
1624 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialTypeInterpratation/interpretationOf"/>
1625 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_ccU70bXDEeamG-Ij7YnW7w" description="_ccUTk7XDEeamG-Ij7YnW7w" routingStyle="manhattan" strokeColor="0,0,0">
1626 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_ccU70rXDEeamG-Ij7YnW7w" showIcon="false">
1627 <labelFormat>bold</labelFormat>
1628 </centerLabelStyle>
1629 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_ccU707XDEeamG-Ij7YnW7w" labelSize="6" showIcon="false" labelColor="39,76,114"/>
1630 </ownedStyle>
1631 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1632 </ownedDiagramElements>
1633 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_ccU71LXDEeamG-Ij7YnW7w" name="[0..*] partialtypeinterpratation" sourceNode="_ccU7VbXDEeamG-Ij7YnW7w" targetNode="_ccU7zrXDEeamG-Ij7YnW7w">
1634 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/partialtypeinterpratation"/>
1635 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/partialtypeinterpratation"/>
1636 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_ccU71bXDEeamG-Ij7YnW7w" description="_ccUTl7XDEeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1637 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_ccU71rXDEeamG-Ij7YnW7w" showIcon="false">
1638 <customFeatures>labelSize</customFeatures>
1639 </centerLabelStyle>
1640 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_ccU717XDEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
1641 <customFeatures>labelSize</customFeatures>
1642 </endLabelStyle>
1643 </ownedStyle>
1644 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1645 </ownedDiagramElements>
1646 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_klCuMLXDEeamG-Ij7YnW7w" name="[0..*] elements" sourceNode="_ccU7zrXDEeamG-Ij7YnW7w" targetNode="_ccU7YbXDEeamG-Ij7YnW7w">
1647 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialTypeInterpratation/elements"/>
1648 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialTypeInterpratation/elements"/>
1649 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_M5V9kL3JEeaj7tVusjQpHg" routingStyle="manhattan" strokeColor="0,0,0">
1650 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
1651 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_M5V9kb3JEeaj7tVusjQpHg" showIcon="false"/>
1652 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_M5V9kr3JEeaj7tVusjQpHg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
1653 </ownedStyle>
1654 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1655 </ownedDiagramElements>
1656 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_QlS4IMF9Eea_b6UyFzv22g" name="[1..1] openWorldElementPrototype" sourceNode="_ccU7VbXDEeamG-Ij7YnW7w" targetNode="_ccU7YbXDEeamG-Ij7YnW7w">
1657 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/openWorldElementPrototype"/>
1658 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/openWorldElementPrototype"/>
1659 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_QlUGQMF9Eea_b6UyFzv22g" description="_QlTfMMF9Eea_b6UyFzv22g" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1660 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_QlUGQcF9Eea_b6UyFzv22g" showIcon="false">
1661 <customFeatures>labelSize</customFeatures>
1662 <labelFormat>bold</labelFormat>
1663 </centerLabelStyle>
1664 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_QlUGQsF9Eea_b6UyFzv22g" showIcon="false" labelColor="39,76,114">
1665 <customFeatures>labelSize</customFeatures>
1666 </endLabelStyle>
1667 </ownedStyle>
1668 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1669 </ownedDiagramElements>
1670 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_bLJ3ANUaEear_rf-Vav0Gw" name="[0..*] supertypeInterpretation" sourceNode="_ccU7zrXDEeamG-Ij7YnW7w" targetNode="_ccU7zrXDEeamG-Ij7YnW7w">
1671 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialTypeInterpratation/supertypeInterpretation"/>
1672 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialTypeInterpratation/supertypeInterpretation"/>
1673 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_bLLsMNUaEear_rf-Vav0Gw" routingStyle="manhattan" strokeColor="0,0,0">
1674 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
1675 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_bLLsMdUaEear_rf-Vav0Gw" showIcon="false">
1676 <customFeatures>labelSize</customFeatures>
1677 </centerLabelStyle>
1678 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_bLLsMtUaEear_rf-Vav0Gw" showIcon="false" labelColor="39,76,114">
1679 <customFeatures>labelSize</customFeatures>
1680 </endLabelStyle>
1681 </ownedStyle>
1682 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1683 </ownedDiagramElements>
1684 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_6W19wOW_EearOPSxyAbpKw" name="[0..1] problemConainer" sourceNode="_ccU7VbXDEeamG-Ij7YnW7w" targetNode="_ccU7V7XDEeamG-Ij7YnW7w">
1685 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/problemConainer"/>
1686 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/problemConainer"/>
1687 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_6W3y8OW_EearOPSxyAbpKw" description="_ccUTl7XDEeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1688 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_6W3y8eW_EearOPSxyAbpKw" showIcon="false">
1689 <customFeatures>labelSize</customFeatures>
1690 </centerLabelStyle>
1691 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_6W3y8uW_EearOPSxyAbpKw" showIcon="false" labelColor="39,76,114">
1692 <customFeatures>labelSize</customFeatures>
1693 </endLabelStyle>
1694 </ownedStyle>
1695 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1696 </ownedDiagramElements>
1697 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_N-rbIPMVEeagPYxz1ZWLIQ" name="[0..*] preGeneratedElements" sourceNode="_ccU7VbXDEeamG-Ij7YnW7w" targetNode="_ccU7zrXDEeamG-Ij7YnW7w">
1698 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/preGeneratedElements"/>
1699 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/preGeneratedElements"/>
1700 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_N-spQPMVEeagPYxz1ZWLIQ" description="_ccUTl7XDEeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1701 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_N-spQfMVEeagPYxz1ZWLIQ" showIcon="false">
1702 <customFeatures>labelSize</customFeatures>
1703 </centerLabelStyle>
1704 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_N-spQvMVEeagPYxz1ZWLIQ" showIcon="false" labelColor="39,76,114">
1705 <customFeatures>labelSize</customFeatures>
1706 </endLabelStyle>
1707 </ownedStyle>
1708 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1709 </ownedDiagramElements>
1710 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
1711 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_ccU72LXDEeamG-Ij7YnW7w"/>
1712 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
1713 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
1714 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
1715 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
1716 <target xmi:type="ecore:EPackage" href="PartialInterpretation.ecore#/"/>
1717 </ownedRepresentations>
1718 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_pEmCsLXDEeamG-Ij7YnW7w" name="relation interpretation">
1719 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_pEmCsbXDEeamG-Ij7YnW7w" source="DANNOTATION_CUSTOMIZATION_KEY">
1720 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_pEmCsrXDEeamG-Ij7YnW7w">
1721 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_pEmCs7XDEeamG-Ij7YnW7w" routingStyle="manhattan">
1722 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1723 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_pEmCtLXDEeamG-Ij7YnW7w" showIcon="false" labelExpression="service:render">
1724 <labelFormat>bold</labelFormat>
1725 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1726 </centerLabelStyleDescription>
1727 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_pEmCtbXDEeamG-Ij7YnW7w" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
1728 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
1729 </endLabelStyleDescription>
1730 </computedStyleDescriptions>
1731 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_pEmCt7XDEeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan">
1732 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1733 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_pEmCuLXDEeamG-Ij7YnW7w" showIcon="false" labelExpression="service:render">
1734 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1735 </centerLabelStyleDescription>
1736 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_pEmCubXDEeamG-Ij7YnW7w" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
1737 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
1738 </endLabelStyleDescription>
1739 </computedStyleDescriptions>
1740 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_RUg1QMAiEeaaj7sYFz2QKg" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
1741 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1742 <labelFormat>bold</labelFormat>
1743 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1744 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1745 </computedStyleDescriptions>
1746 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_RU2McMAiEeaaj7sYFz2QKg" sourceArrow="FillDiamond" routingStyle="manhattan">
1747 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1748 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_RU2MccAiEeaaj7sYFz2QKg" showIcon="false" labelExpression="service:render">
1749 <labelFormat>bold</labelFormat>
1750 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1751 </centerLabelStyleDescription>
1752 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_RU2McsAiEeaaj7sYFz2QKg" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
1753 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
1754 </endLabelStyleDescription>
1755 </computedStyleDescriptions>
1756 </data>
1757 </ownedAnnotationEntries>
1758 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_pEmCu7XDEeamG-Ij7YnW7w" source="GMF_DIAGRAMS">
1759 <data xmi:type="notation:Diagram" xmi:id="_pEmCvLXDEeamG-Ij7YnW7w" type="Sirius" element="_pEmCsLXDEeamG-Ij7YnW7w" measurementUnit="Pixel">
1760 <children xmi:type="notation:Node" xmi:id="_pEmCvbXDEeamG-Ij7YnW7w" type="2003" element="_pEmrI7XDEeamG-Ij7YnW7w">
1761 <children xmi:type="notation:Node" xmi:id="_pEmCvrXDEeamG-Ij7YnW7w" type="5007"/>
1762 <children xmi:type="notation:Node" xmi:id="_pEmCv7XDEeamG-Ij7YnW7w" type="7004">
1763 <children xmi:type="notation:Node" xmi:id="_RVE18MAiEeaaj7sYFz2QKg" type="3010" element="_RUgOMMAiEeaaj7sYFz2QKg">
1764 <styles xmi:type="notation:FontStyle" xmi:id="_RVE18cAiEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" bold="true"/>
1765 <layoutConstraint xmi:type="notation:Location" xmi:id="_RVE18sAiEeaaj7sYFz2QKg"/>
1766 </children>
1767 <children xmi:type="notation:Node" xmi:id="_RVIgUMAiEeaaj7sYFz2QKg" type="3010" element="_RUiDYMAiEeaaj7sYFz2QKg">
1768 <styles xmi:type="notation:FontStyle" xmi:id="_RVJHYMAiEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" bold="true"/>
1769 <layoutConstraint xmi:type="notation:Location" xmi:id="_RVJHYcAiEeaaj7sYFz2QKg"/>
1770 </children>
1771 <styles xmi:type="notation:SortingStyle" xmi:id="_pEmCwLXDEeamG-Ij7YnW7w"/>
1772 <styles xmi:type="notation:FilteringStyle" xmi:id="_pEmCwbXDEeamG-Ij7YnW7w"/>
1773 </children>
1774 <styles xmi:type="notation:ShapeStyle" xmi:id="_pEmCwrXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
1775 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmCw7XDEeamG-Ij7YnW7w" x="195" y="490" width="153" height="48"/>
1776 </children>
1777 <children xmi:type="notation:Node" xmi:id="_pEmCxLXDEeamG-Ij7YnW7w" type="2003" element="_pEmrJbXDEeamG-Ij7YnW7w">
1778 <children xmi:type="notation:Node" xmi:id="_pEmCxbXDEeamG-Ij7YnW7w" type="5007"/>
1779 <children xmi:type="notation:Node" xmi:id="_pEmCxrXDEeamG-Ij7YnW7w" type="7004">
1780 <styles xmi:type="notation:SortingStyle" xmi:id="_pEmpwLXDEeamG-Ij7YnW7w"/>
1781 <styles xmi:type="notation:FilteringStyle" xmi:id="_pEmpwbXDEeamG-Ij7YnW7w"/>
1782 </children>
1783 <styles xmi:type="notation:ShapeStyle" xmi:id="_pEmpwrXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" fillColor="8047085"/>
1784 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmpw7XDEeamG-Ij7YnW7w" x="212" y="30"/>
1785 </children>
1786 <children xmi:type="notation:Node" xmi:id="_pEmpy7XDEeamG-Ij7YnW7w" type="2003" element="_pEmrL7XDEeamG-Ij7YnW7w">
1787 <children xmi:type="notation:Node" xmi:id="_pEmpzLXDEeamG-Ij7YnW7w" type="5007"/>
1788 <children xmi:type="notation:Node" xmi:id="_pEmpzbXDEeamG-Ij7YnW7w" type="7004">
1789 <styles xmi:type="notation:SortingStyle" xmi:id="_pEmpzrXDEeamG-Ij7YnW7w"/>
1790 <styles xmi:type="notation:FilteringStyle" xmi:id="_pEmpz7XDEeamG-Ij7YnW7w"/>
1791 </children>
1792 <styles xmi:type="notation:ShapeStyle" xmi:id="_pEmp0LXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" fillColor="8047085"/>
1793 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmp0bXDEeamG-Ij7YnW7w" x="740" y="537" height="41"/>
1794 </children>
1795 <children xmi:type="notation:Node" xmi:id="_pEmp2bXDEeamG-Ij7YnW7w" type="2003" element="_pEmrNbXDEeamG-Ij7YnW7w">
1796 <children xmi:type="notation:Node" xmi:id="_pEmp2rXDEeamG-Ij7YnW7w" type="5007"/>
1797 <children xmi:type="notation:Node" xmi:id="_pEmp27XDEeamG-Ij7YnW7w" type="7004">
1798 <styles xmi:type="notation:SortingStyle" xmi:id="_pEmp3LXDEeamG-Ij7YnW7w"/>
1799 <styles xmi:type="notation:FilteringStyle" xmi:id="_pEmp3bXDEeamG-Ij7YnW7w"/>
1800 </children>
1801 <styles xmi:type="notation:ShapeStyle" xmi:id="_pEmp3rXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" italic="true" fillColor="8047085"/>
1802 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmp37XDEeamG-Ij7YnW7w" x="462" y="50" height="33"/>
1803 </children>
1804 <children xmi:type="notation:Node" xmi:id="_pEmp9LXDEeamG-Ij7YnW7w" type="2003" element="_pEmrYrXDEeamG-Ij7YnW7w">
1805 <children xmi:type="notation:Node" xmi:id="_pEmp9bXDEeamG-Ij7YnW7w" type="5007"/>
1806 <children xmi:type="notation:Node" xmi:id="_pEmp9rXDEeamG-Ij7YnW7w" type="7004">
1807 <styles xmi:type="notation:SortingStyle" xmi:id="_pEmp97XDEeamG-Ij7YnW7w"/>
1808 <styles xmi:type="notation:FilteringStyle" xmi:id="_pEmp-LXDEeamG-Ij7YnW7w"/>
1809 </children>
1810 <styles xmi:type="notation:ShapeStyle" xmi:id="_pEmp-bXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" fillColor="8047085"/>
1811 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmp-rXDEeamG-Ij7YnW7w" x="472" y="170" height="14"/>
1812 </children>
1813 <children xmi:type="notation:Node" xmi:id="_pEmqELXDEeamG-Ij7YnW7w" type="2003" element="_pEmrfLXDEeamG-Ij7YnW7w">
1814 <children xmi:type="notation:Node" xmi:id="_pEmqEbXDEeamG-Ij7YnW7w" type="5007"/>
1815 <children xmi:type="notation:Node" xmi:id="_pEmqErXDEeamG-Ij7YnW7w" type="7004">
1816 <styles xmi:type="notation:SortingStyle" xmi:id="_pEmqE7XDEeamG-Ij7YnW7w"/>
1817 <styles xmi:type="notation:FilteringStyle" xmi:id="_pEmqFLXDEeamG-Ij7YnW7w"/>
1818 </children>
1819 <styles xmi:type="notation:ShapeStyle" xmi:id="_pEmqFbXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
1820 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmqFrXDEeamG-Ij7YnW7w" x="462" y="395" width="178" height="63"/>
1821 </children>
1822 <children xmi:type="notation:Node" xmi:id="_7EeIoLXDEeamG-Ij7YnW7w" type="2003" element="_7EWz4LXDEeamG-Ij7YnW7w">
1823 <children xmi:type="notation:Node" xmi:id="_7EevsLXDEeamG-Ij7YnW7w" type="5007"/>
1824 <children xmi:type="notation:Node" xmi:id="_7EevsbXDEeamG-Ij7YnW7w" type="7004">
1825 <styles xmi:type="notation:SortingStyle" xmi:id="_7EevsrXDEeamG-Ij7YnW7w"/>
1826 <styles xmi:type="notation:FilteringStyle" xmi:id="_7Eevs7XDEeamG-Ij7YnW7w"/>
1827 </children>
1828 <styles xmi:type="notation:ShapeStyle" xmi:id="_7EeIobXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8" italic="true"/>
1829 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7EeIorXDEeamG-Ij7YnW7w" x="725" y="40"/>
1830 </children>
1831 <children xmi:type="notation:Node" xmi:id="_n_b8ALXEEeamG-Ij7YnW7w" type="2003" element="_n-_3ILXEEeamG-Ij7YnW7w">
1832 <children xmi:type="notation:Node" xmi:id="_n_cjELXEEeamG-Ij7YnW7w" type="5007"/>
1833 <children xmi:type="notation:Node" xmi:id="_n_cjEbXEEeamG-Ij7YnW7w" type="7004">
1834 <styles xmi:type="notation:SortingStyle" xmi:id="_n_cjErXEEeamG-Ij7YnW7w"/>
1835 <styles xmi:type="notation:FilteringStyle" xmi:id="_n_cjE7XEEeamG-Ij7YnW7w"/>
1836 </children>
1837 <styles xmi:type="notation:ShapeStyle" xmi:id="_n_b8AbXEEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
1838 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_n_b8ArXEEeamG-Ij7YnW7w" x="770" y="395" width="120" height="43"/>
1839 </children>
1840 <children xmi:type="notation:Node" xmi:id="__5rHkLXEEeamG-Ij7YnW7w" type="2003" element="__5SGALXEEeamG-Ij7YnW7w">
1841 <children xmi:type="notation:Node" xmi:id="__5ruoLXEEeamG-Ij7YnW7w" type="5007"/>
1842 <children xmi:type="notation:Node" xmi:id="__5ruobXEEeamG-Ij7YnW7w" type="7004">
1843 <styles xmi:type="notation:SortingStyle" xmi:id="__5ruorXEEeamG-Ij7YnW7w"/>
1844 <styles xmi:type="notation:FilteringStyle" xmi:id="__5ruo7XEEeamG-Ij7YnW7w"/>
1845 </children>
1846 <styles xmi:type="notation:ShapeStyle" xmi:id="__5rHkbXEEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
1847 <layoutConstraint xmi:type="notation:Bounds" xmi:id="__5rHkrXEEeamG-Ij7YnW7w" x="645" y="467" width="173" height="48"/>
1848 </children>
1849 <children xmi:type="notation:Node" xmi:id="_ERrCkLXFEeamG-Ij7YnW7w" type="2003" element="_ERNIgLXFEeamG-Ij7YnW7w">
1850 <children xmi:type="notation:Node" xmi:id="_ERrCk7XFEeamG-Ij7YnW7w" type="5007"/>
1851 <children xmi:type="notation:Node" xmi:id="_ERrClLXFEeamG-Ij7YnW7w" type="7004">
1852 <styles xmi:type="notation:SortingStyle" xmi:id="_ERrClbXFEeamG-Ij7YnW7w"/>
1853 <styles xmi:type="notation:FilteringStyle" xmi:id="_ERrClrXFEeamG-Ij7YnW7w"/>
1854 </children>
1855 <styles xmi:type="notation:ShapeStyle" xmi:id="_ERrCkbXFEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
1856 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ERrCkrXFEeamG-Ij7YnW7w" x="830" y="468" width="163" height="46"/>
1857 </children>
1858 <children xmi:type="notation:Node" xmi:id="_HsPE8LXFEeamG-Ij7YnW7w" type="2003" element="_Hr5GsLXFEeamG-Ij7YnW7w">
1859 <children xmi:type="notation:Node" xmi:id="_HsPsALXFEeamG-Ij7YnW7w" type="5007"/>
1860 <children xmi:type="notation:Node" xmi:id="_HsPsAbXFEeamG-Ij7YnW7w" type="7004">
1861 <styles xmi:type="notation:SortingStyle" xmi:id="_HsPsArXFEeamG-Ij7YnW7w"/>
1862 <styles xmi:type="notation:FilteringStyle" xmi:id="_HsPsA7XFEeamG-Ij7YnW7w"/>
1863 </children>
1864 <styles xmi:type="notation:ShapeStyle" xmi:id="_HsPE8bXFEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
1865 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HsPE8rXFEeamG-Ij7YnW7w" x="1050" y="470" width="120" height="35"/>
1866 </children>
1867 <children xmi:type="notation:Node" xmi:id="_KRyK4LXFEeamG-Ij7YnW7w" type="2003" element="_KReB0LXFEeamG-Ij7YnW7w">
1868 <children xmi:type="notation:Node" xmi:id="_KRyx8LXFEeamG-Ij7YnW7w" type="5007"/>
1869 <children xmi:type="notation:Node" xmi:id="_KRyx8bXFEeamG-Ij7YnW7w" type="7004">
1870 <children xmi:type="notation:Node" xmi:id="_cAdMELXFEeamG-Ij7YnW7w" type="3010" element="_cAH04LXFEeamG-Ij7YnW7w">
1871 <styles xmi:type="notation:FontStyle" xmi:id="_cAdMEbXFEeamG-Ij7YnW7w" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
1872 <layoutConstraint xmi:type="notation:Location" xmi:id="_cAdMErXFEeamG-Ij7YnW7w"/>
1873 </children>
1874 <styles xmi:type="notation:SortingStyle" xmi:id="_KRyx8rXFEeamG-Ij7YnW7w"/>
1875 <styles xmi:type="notation:FilteringStyle" xmi:id="_KRyx87XFEeamG-Ij7YnW7w"/>
1876 </children>
1877 <styles xmi:type="notation:ShapeStyle" xmi:id="_KRyK4bXFEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
1878 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KRyK4rXFEeamG-Ij7YnW7w" x="1032" y="534" width="155" height="48"/>
1879 </children>
1880 <children xmi:type="notation:Shape" xmi:id="_AnFKsLXGEeamG-Ij7YnW7w" type="Note" fontName="Segoe UI" description="TODO" fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
1881 <children xmi:type="notation:BasicDecorationNode" xmi:id="_AnFKtLXGEeamG-Ij7YnW7w" type="DiagramName">
1882 <element xsi:nil="true"/>
1883 </children>
1884 <children xmi:type="notation:BasicDecorationNode" xmi:id="_AnFKtbXGEeamG-Ij7YnW7w" type="Description">
1885 <element xsi:nil="true"/>
1886 </children>
1887 <styles xmi:type="notation:TextStyle" xmi:id="_AnFKsbXGEeamG-Ij7YnW7w"/>
1888 <styles xmi:type="notation:LineTypeStyle" xmi:id="_AnFKsrXGEeamG-Ij7YnW7w"/>
1889 <element xsi:nil="true"/>
1890 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AnFKs7XGEeamG-Ij7YnW7w" x="1059" y="600"/>
1891 </children>
1892 <styles xmi:type="notation:DiagramStyle" xmi:id="_pEmqJbXDEeamG-Ij7YnW7w"/>
1893 <edges xmi:type="notation:Edge" xmi:id="_pEmqJrXDEeamG-Ij7YnW7w" type="4001" element="_pEmrKLXDEeamG-Ij7YnW7w" source="_pEmCvbXDEeamG-Ij7YnW7w" target="_pEmCxLXDEeamG-Ij7YnW7w">
1894 <children xmi:type="notation:Node" xmi:id="_pEmqJ7XDEeamG-Ij7YnW7w" type="6001">
1895 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmqKLXDEeamG-Ij7YnW7w" x="3" y="-44"/>
1896 </children>
1897 <children xmi:type="notation:Node" xmi:id="_pEmqKbXDEeamG-Ij7YnW7w" type="6002">
1898 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmqKrXDEeamG-Ij7YnW7w" x="59"/>
1899 </children>
1900 <children xmi:type="notation:Node" xmi:id="_pEmqK7XDEeamG-Ij7YnW7w" type="6003">
1901 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmqLLXDEeamG-Ij7YnW7w" x="-51"/>
1902 </children>
1903 <styles xmi:type="notation:ConnectorStyle" xmi:id="_pEmqLbXDEeamG-Ij7YnW7w" routing="Rectilinear"/>
1904 <styles xmi:type="notation:FontStyle" xmi:id="_pEmqLrXDEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1905 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pEmqL7XDEeamG-Ij7YnW7w" points="[-15, -49, -16, 411]$[-15, -411, -16, 49]"/>
1906 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pEmqMLXDEeamG-Ij7YnW7w" id="(0.49673202614379086,1.065217391304348)"/>
1907 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pEmqMbXDEeamG-Ij7YnW7w" id="(0.5,0.5)"/>
1908 </edges>
1909 <edges xmi:type="notation:Edge" xmi:id="_pEmqSrXDEeamG-Ij7YnW7w" type="4001" element="_pEmrSbXDEeamG-Ij7YnW7w" source="_pEmCxLXDEeamG-Ij7YnW7w" target="_pEmp2bXDEeamG-Ij7YnW7w">
1910 <children xmi:type="notation:Node" xmi:id="_pEmqS7XDEeamG-Ij7YnW7w" type="6001">
1911 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmqTLXDEeamG-Ij7YnW7w" x="24" y="9"/>
1912 </children>
1913 <children xmi:type="notation:Node" xmi:id="_pEmqTbXDEeamG-Ij7YnW7w" type="6002">
1914 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmqTrXDEeamG-Ij7YnW7w" x="98" y="10"/>
1915 </children>
1916 <children xmi:type="notation:Node" xmi:id="_pEmqT7XDEeamG-Ij7YnW7w" type="6003">
1917 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmqULXDEeamG-Ij7YnW7w" x="1" y="-1"/>
1918 </children>
1919 <styles xmi:type="notation:ConnectorStyle" xmi:id="_pEmqUbXDEeamG-Ij7YnW7w" routing="Rectilinear"/>
1920 <styles xmi:type="notation:FontStyle" xmi:id="_pEmqUrXDEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1921 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pEmqU7XDEeamG-Ij7YnW7w" points="[59, 39, -191, -104]$[191, 39, -59, -104]"/>
1922 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pEmqVLXDEeamG-Ij7YnW7w" id="(0.5,0.0)"/>
1923 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pEmqVbXDEeamG-Ij7YnW7w" id="(0.5,3.161290322580645)"/>
1924 </edges>
1925 <edges xmi:type="notation:Edge" xmi:id="_pEmqYrXDEeamG-Ij7YnW7w" visible="false" type="4001" element="_pEmrUbXDEeamG-Ij7YnW7w" source="_pEmCxLXDEeamG-Ij7YnW7w" target="_pEmpy7XDEeamG-Ij7YnW7w">
1926 <children xmi:type="notation:Node" xmi:id="_pEmqY7XDEeamG-Ij7YnW7w" type="6001">
1927 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmqZLXDEeamG-Ij7YnW7w" x="-23" y="-13"/>
1928 </children>
1929 <children xmi:type="notation:Node" xmi:id="_pEmqZbXDEeamG-Ij7YnW7w" type="6002">
1930 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmqZrXDEeamG-Ij7YnW7w" x="41"/>
1931 </children>
1932 <children xmi:type="notation:Node" xmi:id="_pEmqZ7XDEeamG-Ij7YnW7w" type="6003">
1933 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmqaLXDEeamG-Ij7YnW7w" x="-37"/>
1934 </children>
1935 <styles xmi:type="notation:ConnectorStyle" xmi:id="_pEmqabXDEeamG-Ij7YnW7w" routing="Rectilinear"/>
1936 <styles xmi:type="notation:FontStyle" xmi:id="_pEmqarXDEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1937 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pEmqa7XDEeamG-Ij7YnW7w" points="[-59, 45, 75, -243]$[-158, 45, -24, -243]$[-158, 190, -24, -98]"/>
1938 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pEmqbLXDEeamG-Ij7YnW7w" id="(0.5,0.0)"/>
1939 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pEmqbbXDEeamG-Ij7YnW7w" id="(0.5,2.5128205128205128)"/>
1940 </edges>
1941 <edges xmi:type="notation:Edge" xmi:id="_pEmqhrXDEeamG-Ij7YnW7w" type="4001" element="_pEmrZbXDEeamG-Ij7YnW7w" source="_pEmp9LXDEeamG-Ij7YnW7w" target="_pEmp2bXDEeamG-Ij7YnW7w">
1942 <children xmi:type="notation:Node" xmi:id="_pEmqh7XDEeamG-Ij7YnW7w" type="6001">
1943 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmqiLXDEeamG-Ij7YnW7w" x="-46"/>
1944 </children>
1945 <children xmi:type="notation:Node" xmi:id="_pEmqibXDEeamG-Ij7YnW7w" type="6002">
1946 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmqirXDEeamG-Ij7YnW7w" x="14" y="-2"/>
1947 </children>
1948 <children xmi:type="notation:Node" xmi:id="_pEmqi7XDEeamG-Ij7YnW7w" type="6003">
1949 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmqjLXDEeamG-Ij7YnW7w" x="-32" y="9"/>
1950 </children>
1951 <styles xmi:type="notation:ConnectorStyle" xmi:id="_pEmqjbXDEeamG-Ij7YnW7w" routing="Tree"/>
1952 <styles xmi:type="notation:FontStyle" xmi:id="_pEmqjrXDEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
1953 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pEmqj7XDEeamG-Ij7YnW7w" points="[0, -159, 12, 59]$[0, -224, 12, -6]$[0, -224, 12, -6]$[0, -240, 12, -22]"/>
1954 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pEmqkLXDEeamG-Ij7YnW7w" id="(0.5,4.083333333333333)"/>
1955 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pEmqkbXDEeamG-Ij7YnW7w" id="(0.5,1.5806451612903225)"/>
1956 </edges>
1957 <edges xmi:type="notation:Edge" xmi:id="_pEmqtrXDEeamG-Ij7YnW7w" type="4001" element="_pEmrhLXDEeamG-Ij7YnW7w" source="_pEmqELXDEeamG-Ij7YnW7w" target="_pEmp9LXDEeamG-Ij7YnW7w">
1958 <children xmi:type="notation:Node" xmi:id="_pEmqt7XDEeamG-Ij7YnW7w" type="6001">
1959 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmquLXDEeamG-Ij7YnW7w" x="66" y="-64"/>
1960 </children>
1961 <children xmi:type="notation:Node" xmi:id="_pEmqubXDEeamG-Ij7YnW7w" type="6002">
1962 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmqurXDEeamG-Ij7YnW7w" x="-25"/>
1963 </children>
1964 <children xmi:type="notation:Node" xmi:id="_pEmqu7XDEeamG-Ij7YnW7w" type="6003">
1965 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmqvLXDEeamG-Ij7YnW7w" x="-115"/>
1966 </children>
1967 <styles xmi:type="notation:ConnectorStyle" xmi:id="_pEmqvbXDEeamG-Ij7YnW7w" routing="Rectilinear"/>
1968 <styles xmi:type="notation:FontStyle" xmi:id="_pEmqvrXDEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1969 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pEmqv7XDEeamG-Ij7YnW7w" points="[23, 0, -5, 186]$[23, -186, -5, 0]"/>
1970 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pEmqwLXDEeamG-Ij7YnW7w" id="(0.3125,0.0)"/>
1971 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pEmqwbXDEeamG-Ij7YnW7w" id="(0.5934959349593496,1.0)"/>
1972 </edges>
1973 <edges xmi:type="notation:Edge" xmi:id="_pEmq2rXDEeamG-Ij7YnW7w" type="4001" element="_pEmrkLXDEeamG-Ij7YnW7w" source="_pEmCvbXDEeamG-Ij7YnW7w" target="_pEmqELXDEeamG-Ij7YnW7w">
1974 <children xmi:type="notation:Node" xmi:id="_pEmq27XDEeamG-Ij7YnW7w" type="6001">
1975 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmq3LXDEeamG-Ij7YnW7w" x="1" y="-12"/>
1976 </children>
1977 <children xmi:type="notation:Node" xmi:id="_pEmq3bXDEeamG-Ij7YnW7w" type="6002">
1978 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmq3rXDEeamG-Ij7YnW7w" x="71" y="10"/>
1979 </children>
1980 <children xmi:type="notation:Node" xmi:id="_pEmq37XDEeamG-Ij7YnW7w" type="6003">
1981 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmq4LXDEeamG-Ij7YnW7w" x="-47" y="-51"/>
1982 </children>
1983 <styles xmi:type="notation:ConnectorStyle" xmi:id="_pEmq4bXDEeamG-Ij7YnW7w" routing="Rectilinear"/>
1984 <styles xmi:type="notation:FontStyle" xmi:id="_pEmq4rXDEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
1985 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pEmq47XDEeamG-Ij7YnW7w" points="[0, -58, -116, 87]$[216, -58, 100, 87]$[216, -119, 100, 26]"/>
1986 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pEmq5LXDEeamG-Ij7YnW7w" id="(1.0,1.8478260869565217)"/>
1987 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pEmq5bXDEeamG-Ij7YnW7w" id="(0.0,0.5737704918032787)"/>
1988 </edges>
1989 <edges xmi:type="notation:Edge" xmi:id="_pEmq8rXDEeamG-Ij7YnW7w" visible="false" type="4001" element="_pEmrmLXDEeamG-Ij7YnW7w" source="_pEmCvbXDEeamG-Ij7YnW7w" target="_pEmpy7XDEeamG-Ij7YnW7w">
1990 <children xmi:type="notation:Node" xmi:id="_pEmq87XDEeamG-Ij7YnW7w" type="6001">
1991 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmq9LXDEeamG-Ij7YnW7w" x="-4" y="55"/>
1992 </children>
1993 <children xmi:type="notation:Node" xmi:id="_pEmq9bXDEeamG-Ij7YnW7w" type="6002">
1994 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmq9rXDEeamG-Ij7YnW7w" x="173" y="-16"/>
1995 </children>
1996 <children xmi:type="notation:Node" xmi:id="_pEmq97XDEeamG-Ij7YnW7w" type="6003">
1997 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pEmq-LXDEeamG-Ij7YnW7w" x="-28" y="10"/>
1998 </children>
1999 <styles xmi:type="notation:ConnectorStyle" xmi:id="_pEmq-bXDEeamG-Ij7YnW7w" routing="Rectilinear"/>
2000 <styles xmi:type="notation:FontStyle" xmi:id="_pEmq-rXDEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
2001 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pEmq-7XDEeamG-Ij7YnW7w" points="[0, 0, 129, 231]$[0, -138, 129, 93]$[-129, -138, 0, 93]$[-129, -231, 0, 0]"/>
2002 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pEmq_LXDEeamG-Ij7YnW7w" id="(0.37748344370860926,0.0)"/>
2003 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pEmq_bXDEeamG-Ij7YnW7w" id="(0.3813559322033898,1.0)"/>
2004 </edges>
2005 <edges xmi:type="notation:Edge" xmi:id="_7EfWwLXDEeamG-Ij7YnW7w" type="4001" element="_7EbsYLXDEeamG-Ij7YnW7w" source="_pEmp2bXDEeamG-Ij7YnW7w" target="_7EeIoLXDEeamG-Ij7YnW7w">
2006 <children xmi:type="notation:Node" xmi:id="_7EfWxLXDEeamG-Ij7YnW7w" type="6001">
2007 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7EfWxbXDEeamG-Ij7YnW7w" x="-18" y="-11"/>
2008 </children>
2009 <children xmi:type="notation:Node" xmi:id="_7EfWxrXDEeamG-Ij7YnW7w" type="6002">
2010 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7EfWx7XDEeamG-Ij7YnW7w" x="3" y="10"/>
2011 </children>
2012 <children xmi:type="notation:Node" xmi:id="_7Ef90LXDEeamG-Ij7YnW7w" type="6003">
2013 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Ef90bXDEeamG-Ij7YnW7w" x="-97" y="44"/>
2014 </children>
2015 <styles xmi:type="notation:ConnectorStyle" xmi:id="_7EfWwbXDEeamG-Ij7YnW7w" routing="Rectilinear"/>
2016 <styles xmi:type="notation:FontStyle" xmi:id="_7EfWwrXDEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
2017 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7EfWw7XDEeamG-Ij7YnW7w" points="[59, 4, -204, -17]$[204, 4, -59, -17]"/>
2018 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Ef90rXDEeamG-Ij7YnW7w" id="(0.5,0.48484848484848486)"/>
2019 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Ef907XDEeamG-Ij7YnW7w" id="(0.5,0.5)"/>
2020 </edges>
2021 <edges xmi:type="notation:Edge" xmi:id="_QSg-QLXFEeamG-Ij7YnW7w" type="4001" element="_QSMOILXFEeamG-Ij7YnW7w" source="_pEmqELXDEeamG-Ij7YnW7w" target="_n_b8ALXEEeamG-Ij7YnW7w">
2022 <children xmi:type="notation:Node" xmi:id="_QSg-RLXFEeamG-Ij7YnW7w" type="6001">
2023 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QSg-RbXFEeamG-Ij7YnW7w" x="-14" y="-14"/>
2024 </children>
2025 <children xmi:type="notation:Node" xmi:id="_QSg-RrXFEeamG-Ij7YnW7w" type="6002">
2026 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QSg-R7XFEeamG-Ij7YnW7w" y="10"/>
2027 </children>
2028 <children xmi:type="notation:Node" xmi:id="_QSg-SLXFEeamG-Ij7YnW7w" type="6003">
2029 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QSg-SbXFEeamG-Ij7YnW7w" y="10"/>
2030 </children>
2031 <styles xmi:type="notation:ConnectorStyle" xmi:id="_QSg-QbXFEeamG-Ij7YnW7w" routing="Rectilinear"/>
2032 <styles xmi:type="notation:FontStyle" xmi:id="_QSg-QrXFEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
2033 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QSg-Q7XFEeamG-Ij7YnW7w" points="[73, 20, -164, -21]$[205, 20, -32, -21]"/>
2034 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QShlULXFEeamG-Ij7YnW7w" id="(0.5852272727272727,0.0)"/>
2035 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QShlUbXFEeamG-Ij7YnW7w" id="(0.2711864406779661,1.0)"/>
2036 </edges>
2037 <edges xmi:type="notation:Edge" xmi:id="_Z8ZpoLXFEeamG-Ij7YnW7w" type="4001" element="_Z8EScLXFEeamG-Ij7YnW7w" source="__5rHkLXEEeamG-Ij7YnW7w" target="_n_b8ALXEEeamG-Ij7YnW7w">
2038 <children xmi:type="notation:Node" xmi:id="_Z8ZppLXFEeamG-Ij7YnW7w" type="6001">
2039 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z8ZppbXFEeamG-Ij7YnW7w" y="-10"/>
2040 </children>
2041 <children xmi:type="notation:Node" xmi:id="_Z8aQsLXFEeamG-Ij7YnW7w" type="6002">
2042 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z8aQsbXFEeamG-Ij7YnW7w" y="10"/>
2043 </children>
2044 <children xmi:type="notation:Node" xmi:id="_Z8aQsrXFEeamG-Ij7YnW7w" type="6003">
2045 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z8aQs7XFEeamG-Ij7YnW7w" y="10"/>
2046 </children>
2047 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Z8ZpobXFEeamG-Ij7YnW7w" routing="Tree"/>
2048 <styles xmi:type="notation:FontStyle" xmi:id="_Z8ZporXFEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
2049 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Z8Zpo7XFEeamG-Ij7YnW7w" points="[0, 0, -90, 31]$[90, -31, 0, 0]"/>
2050 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Z8aQtLXFEeamG-Ij7YnW7w" id="(0.49707602339181284,0.0)"/>
2051 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Z8aQtbXFEeamG-Ij7YnW7w" id="(0.5,0.5)"/>
2052 </edges>
2053 <edges xmi:type="notation:Edge" xmi:id="_aX1BYLXFEeamG-Ij7YnW7w" type="4001" element="_aXV5MLXFEeamG-Ij7YnW7w" source="_ERrCkLXFEeamG-Ij7YnW7w" target="_n_b8ALXEEeamG-Ij7YnW7w">
2054 <children xmi:type="notation:Node" xmi:id="_aX1BZLXFEeamG-Ij7YnW7w" type="6001">
2055 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aX1BZbXFEeamG-Ij7YnW7w" y="-10"/>
2056 </children>
2057 <children xmi:type="notation:Node" xmi:id="_aX1BZrXFEeamG-Ij7YnW7w" type="6002">
2058 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aX1BZ7XFEeamG-Ij7YnW7w" y="10"/>
2059 </children>
2060 <children xmi:type="notation:Node" xmi:id="_aX1BaLXFEeamG-Ij7YnW7w" type="6003">
2061 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aX1BabXFEeamG-Ij7YnW7w" y="10"/>
2062 </children>
2063 <styles xmi:type="notation:ConnectorStyle" xmi:id="_aX1BYbXFEeamG-Ij7YnW7w" routing="Tree"/>
2064 <styles xmi:type="notation:FontStyle" xmi:id="_aX1BYrXFEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
2065 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aX1BY7XFEeamG-Ij7YnW7w" points="[0, 0, 20, 33]$[-20, -33, 0, 0]"/>
2066 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aX1ocLXFEeamG-Ij7YnW7w" id="(0.5900621118012422,0.0)"/>
2067 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aX1ocbXFEeamG-Ij7YnW7w" id="(0.2711864406779661,1.0)"/>
2068 </edges>
2069 <edges xmi:type="notation:Edge" xmi:id="_aqyZoLXFEeamG-Ij7YnW7w" type="4001" element="_aqZYELXFEeamG-Ij7YnW7w" source="_HsPE8LXFEeamG-Ij7YnW7w" target="_n_b8ALXEEeamG-Ij7YnW7w">
2070 <children xmi:type="notation:Node" xmi:id="_aqyZpLXFEeamG-Ij7YnW7w" type="6001">
2071 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aqyZpbXFEeamG-Ij7YnW7w" y="-10"/>
2072 </children>
2073 <children xmi:type="notation:Node" xmi:id="_aqzAsLXFEeamG-Ij7YnW7w" type="6002">
2074 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aqzAsbXFEeamG-Ij7YnW7w" y="10"/>
2075 </children>
2076 <children xmi:type="notation:Node" xmi:id="_aqzAsrXFEeamG-Ij7YnW7w" type="6003">
2077 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aqzAs7XFEeamG-Ij7YnW7w" y="10"/>
2078 </children>
2079 <styles xmi:type="notation:ConnectorStyle" xmi:id="_aqyZobXFEeamG-Ij7YnW7w" routing="Tree"/>
2080 <styles xmi:type="notation:FontStyle" xmi:id="_aqyZorXFEeamG-Ij7YnW7w" fontName="Segoe UI" fontHeight="8"/>
2081 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aqyZo7XFEeamG-Ij7YnW7w" points="[0, 0, 82, 60]$[-82, -60, 0, 0]"/>
2082 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aqzAtLXFEeamG-Ij7YnW7w" id="(0.4661016949152542,0.0)"/>
2083 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aqzAtbXFEeamG-Ij7YnW7w" id="(0.2711864406779661,1.0)"/>
2084 </edges>
2085 <edges xmi:type="notation:Edge" xmi:id="_jDM2ELXFEeamG-Ij7YnW7w" type="4001" element="_jC230LXFEeamG-Ij7YnW7w" source="_HsPE8LXFEeamG-Ij7YnW7w" target="_KRyK4LXFEeamG-Ij7YnW7w">
2086 <children xmi:type="notation:Node" xmi:id="_jDM2FLXFEeamG-Ij7YnW7w" type="6001">
2087 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jDM2FbXFEeamG-Ij7YnW7w" x="-1" y="-47"/>
2088 </children>
2089 <children xmi:type="notation:Node" xmi:id="_jDM2FrXFEeamG-Ij7YnW7w" type="6002">
2090 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jDM2F7XFEeamG-Ij7YnW7w" y="10"/>
2091 </children>
2092 <children xmi:type="notation:Node" xmi:id="_jDNdILXFEeamG-Ij7YnW7w" type="6003">
2093 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jDNdIbXFEeamG-Ij7YnW7w" y="10"/>
2094 </children>
2095 <styles xmi:type="notation:ConnectorStyle" xmi:id="_jDM2EbXFEeamG-Ij7YnW7w" routing="Rectilinear"/>
2096 <styles xmi:type="notation:FontStyle" xmi:id="_jDM2ErXFEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
2097 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jDM2E7XFEeamG-Ij7YnW7w" points="[0, 20, 1, -34]$[0, 45, 1, -9]"/>
2098 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_th_wMLXFEeamG-Ij7YnW7w" id="(0.5,0.5)"/>
2099 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jDNdIrXFEeamG-Ij7YnW7w" id="(0.49677419354838703,0.20833333333333334)"/>
2100 </edges>
2101 <edges xmi:type="notation:Edge" xmi:id="_xIpt0LXFEeamG-Ij7YnW7w" type="4001" element="_xIQsQLXFEeamG-Ij7YnW7w" source="__5rHkLXEEeamG-Ij7YnW7w" target="_pEmpy7XDEeamG-Ij7YnW7w">
2102 <children xmi:type="notation:Node" xmi:id="_xIpt1LXFEeamG-Ij7YnW7w" type="6001">
2103 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xIpt1bXFEeamG-Ij7YnW7w" x="-57" y="-13"/>
2104 </children>
2105 <children xmi:type="notation:Node" xmi:id="_xIpt1rXFEeamG-Ij7YnW7w" type="6002">
2106 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xIpt17XFEeamG-Ij7YnW7w" x="13"/>
2107 </children>
2108 <children xmi:type="notation:Node" xmi:id="_xIpt2LXFEeamG-Ij7YnW7w" type="6003">
2109 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xIqU4LXFEeamG-Ij7YnW7w" x="1" y="10"/>
2110 </children>
2111 <styles xmi:type="notation:ConnectorStyle" xmi:id="_xIpt0bXFEeamG-Ij7YnW7w" routing="Rectilinear"/>
2112 <styles xmi:type="notation:FontStyle" xmi:id="_xIpt0rXFEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
2113 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xIpt07XFEeamG-Ij7YnW7w" points="[0, 0, -94, -24]$[0, 43, -94, 19]$[45, 43, -49, 19]"/>
2114 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xIqU4bXFEeamG-Ij7YnW7w" id="(0.29239766081871343,1.0)"/>
2115 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xIqU4rXFEeamG-Ij7YnW7w" id="(0.4152542372881356,0.0)"/>
2116 </edges>
2117 <edges xmi:type="notation:Edge" xmi:id="_2W2RALXFEeamG-Ij7YnW7w" type="4001" element="_2WivALXFEeamG-Ij7YnW7w" source="_ERrCkLXFEeamG-Ij7YnW7w" target="_pEmpy7XDEeamG-Ij7YnW7w">
2118 <children xmi:type="notation:Node" xmi:id="_2W24ELXFEeamG-Ij7YnW7w" type="6001">
2119 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2W24EbXFEeamG-Ij7YnW7w" x="34" y="22"/>
2120 </children>
2121 <children xmi:type="notation:Node" xmi:id="_2W24ErXFEeamG-Ij7YnW7w" type="6002">
2122 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2W24E7XFEeamG-Ij7YnW7w" x="-10" y="4"/>
2123 </children>
2124 <children xmi:type="notation:Node" xmi:id="_2W24FLXFEeamG-Ij7YnW7w" type="6003">
2125 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2W24FbXFEeamG-Ij7YnW7w" x="-20" y="-10"/>
2126 </children>
2127 <styles xmi:type="notation:ConnectorStyle" xmi:id="_2W2RAbXFEeamG-Ij7YnW7w" routing="Rectilinear"/>
2128 <styles xmi:type="notation:FontStyle" xmi:id="_2W2RArXFEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
2129 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2W2RA7XFEeamG-Ij7YnW7w" points="[-11, 0, 91, -25]$[-11, 38, 91, 13]$[-53, 38, 49, 13]"/>
2130 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2W24FrXFEeamG-Ij7YnW7w" id="(0.5031055900621118,1.0)"/>
2131 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2W24F7XFEeamG-Ij7YnW7w" id="(0.5847457627118644,0.0)"/>
2132 </edges>
2133 <edges xmi:type="notation:Edge" xmi:id="_5HYe8LXFEeamG-Ij7YnW7w" type="4001" element="_5HFkALXFEeamG-Ij7YnW7w" source="_ERrCkLXFEeamG-Ij7YnW7w" target="_pEmpy7XDEeamG-Ij7YnW7w">
2134 <children xmi:type="notation:Node" xmi:id="_5HYe9LXFEeamG-Ij7YnW7w" type="6001">
2135 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5HYe9bXFEeamG-Ij7YnW7w" x="-1" y="-13"/>
2136 </children>
2137 <children xmi:type="notation:Node" xmi:id="_5HYe9rXFEeamG-Ij7YnW7w" type="6002">
2138 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5HYe97XFEeamG-Ij7YnW7w" x="-14" y="10"/>
2139 </children>
2140 <children xmi:type="notation:Node" xmi:id="_5HYe-LXFEeamG-Ij7YnW7w" type="6003">
2141 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5HYe-bXFEeamG-Ij7YnW7w" x="-23" y="-10"/>
2142 </children>
2143 <styles xmi:type="notation:ConnectorStyle" xmi:id="_5HYe8bXFEeamG-Ij7YnW7w" routing="Rectilinear"/>
2144 <styles xmi:type="notation:FontStyle" xmi:id="_5HYe8rXFEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
2145 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5HYe87XFEeamG-Ij7YnW7w" points="[-45, 0, 95, -25]$[-45, 48, 95, 23]$[-102, 48, 38, 23]"/>
2146 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5HZGALXFEeamG-Ij7YnW7w" id="(0.8074534161490683,1.0)"/>
2147 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5HZGAbXFEeamG-Ij7YnW7w" id="(0.6779661016949152,0.0)"/>
2148 </edges>
2149 <edges xmi:type="notation:Connector" xmi:id="_CjcJsLXGEeamG-Ij7YnW7w" type="NoteAttachment" source="_AnFKsLXGEeamG-Ij7YnW7w" target="_KRyK4LXFEeamG-Ij7YnW7w" lineWidth="1">
2150 <styles xmi:type="notation:ArrowStyle" xmi:id="_CjcJsbXGEeamG-Ij7YnW7w"/>
2151 <styles xmi:type="notation:LineTypeStyle" xmi:id="_CjcJsrXGEeamG-Ij7YnW7w"/>
2152 <element xsi:nil="true"/>
2153 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CjcJs7XGEeamG-Ij7YnW7w" points="[0, 0, -6, 43]$[-3, -20, -9, 23]"/>
2154 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Cjel8LXGEeamG-Ij7YnW7w" id="(0.43,0.0)"/>
2155 </edges>
2156 <edges xmi:type="notation:Edge" xmi:id="_lcc_oL3MEeaj7tVusjQpHg" type="4001" element="_lb3w0L3MEeaj7tVusjQpHg" source="_pEmqELXDEeamG-Ij7YnW7w" target="_7EeIoLXDEeamG-Ij7YnW7w">
2157 <children xmi:type="notation:Node" xmi:id="_lcdmsL3MEeaj7tVusjQpHg" type="6001">
2158 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lcdmsb3MEeaj7tVusjQpHg" y="-10"/>
2159 </children>
2160 <children xmi:type="notation:Node" xmi:id="_lcdmsr3MEeaj7tVusjQpHg" type="6002">
2161 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lcdms73MEeaj7tVusjQpHg" y="10"/>
2162 </children>
2163 <children xmi:type="notation:Node" xmi:id="_lcdmtL3MEeaj7tVusjQpHg" type="6003">
2164 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lcdmtb3MEeaj7tVusjQpHg" y="10"/>
2165 </children>
2166 <styles xmi:type="notation:ConnectorStyle" xmi:id="_lcc_ob3MEeaj7tVusjQpHg" routing="Rectilinear"/>
2167 <styles xmi:type="notation:FontStyle" xmi:id="_lcc_or3MEeaj7tVusjQpHg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
2168 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lcc_o73MEeaj7tVusjQpHg" points="[0, 0, -174, 257]$[174, -257, 0, 0]"/>
2169 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lceNwL3MEeaj7tVusjQpHg" id="(0.8409090909090909,0.0)"/>
2170 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lceNwb3MEeaj7tVusjQpHg" id="(0.5,1.0)"/>
2171 </edges>
2172 <edges xmi:type="notation:Edge" xmi:id="_oQo-gL3MEeaj7tVusjQpHg" type="4001" element="_oQIBIL3MEeaj7tVusjQpHg" source="_pEmqELXDEeamG-Ij7YnW7w" target="_7EeIoLXDEeamG-Ij7YnW7w">
2173 <children xmi:type="notation:Node" xmi:id="_oQplkL3MEeaj7tVusjQpHg" type="6001">
2174 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oQplkb3MEeaj7tVusjQpHg" x="-32" y="-10"/>
2175 </children>
2176 <children xmi:type="notation:Node" xmi:id="_oQplkr3MEeaj7tVusjQpHg" type="6002">
2177 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oQplk73MEeaj7tVusjQpHg" x="4" y="10"/>
2178 </children>
2179 <children xmi:type="notation:Node" xmi:id="_oQpllL3MEeaj7tVusjQpHg" type="6003">
2180 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oQpllb3MEeaj7tVusjQpHg" x="-4" y="10"/>
2181 </children>
2182 <styles xmi:type="notation:ConnectorStyle" xmi:id="_oQo-gb3MEeaj7tVusjQpHg" routing="Rectilinear"/>
2183 <styles xmi:type="notation:FontStyle" xmi:id="_oQo-gr3MEeaj7tVusjQpHg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
2184 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_oQo-g73MEeaj7tVusjQpHg" points="[26, 0, -195, 257]$[26, -110, -195, 147]$[221, -110, 0, 147]$[221, -257, 0, 0]"/>
2185 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oQpllr3MEeaj7tVusjQpHg" id="(0.75,0.0)"/>
2186 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oQpll73MEeaj7tVusjQpHg" id="(0.7627118644067796,1.0)"/>
2187 </edges>
2188 <edges xmi:type="notation:Edge" xmi:id="_RVMxwMAiEeaaj7sYFz2QKg" type="4001" element="_RU0XQMAiEeaaj7sYFz2QKg" source="_pEmCvbXDEeamG-Ij7YnW7w" target="_pEmpy7XDEeamG-Ij7YnW7w">
2189 <children xmi:type="notation:Node" xmi:id="_RVRqQMAiEeaaj7sYFz2QKg" type="6001">
2190 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RVRqQcAiEeaaj7sYFz2QKg" x="10" y="-10"/>
2191 </children>
2192 <children xmi:type="notation:Node" xmi:id="_RVSRUMAiEeaaj7sYFz2QKg" type="6002">
2193 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RVSRUcAiEeaaj7sYFz2QKg" x="97" y="10"/>
2194 </children>
2195 <children xmi:type="notation:Node" xmi:id="_RVS4YMAiEeaaj7sYFz2QKg" type="6003">
2196 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RVS4YcAiEeaaj7sYFz2QKg" x="11" y="10"/>
2197 </children>
2198 <styles xmi:type="notation:ConnectorStyle" xmi:id="_RVMxwcAiEeaaj7sYFz2QKg" routing="Rectilinear"/>
2199 <styles xmi:type="notation:FontStyle" xmi:id="_RVMxwsAiEeaaj7sYFz2QKg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
2200 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RVMxw8AiEeaaj7sYFz2QKg" points="[1, 23, -528, -20]$[1, 57, -528, 14]$[470, 57, -59, 14]"/>
2201 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RVY_AMAiEeaaj7sYFz2QKg" id="(0.49673202614379086,0.5)"/>
2202 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RVY_AcAiEeaaj7sYFz2QKg" id="(0.5,0.4878048780487805)"/>
2203 </edges>
2204 <edges xmi:type="notation:Edge" xmi:id="_1x68MPMUEeagPYxz1ZWLIQ" type="4001" element="_1xkW4PMUEeagPYxz1ZWLIQ" source="_pEmCvbXDEeamG-Ij7YnW7w" target="_pEmCxLXDEeamG-Ij7YnW7w">
2205 <children xmi:type="notation:Node" xmi:id="_1yHwgPMUEeagPYxz1ZWLIQ" type="6001">
2206 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1yHwgfMUEeagPYxz1ZWLIQ" y="-10"/>
2207 </children>
2208 <children xmi:type="notation:Node" xmi:id="_1yJlsPMUEeagPYxz1ZWLIQ" type="6002">
2209 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1yJlsfMUEeagPYxz1ZWLIQ" y="10"/>
2210 </children>
2211 <children xmi:type="notation:Node" xmi:id="_1yKMwPMUEeagPYxz1ZWLIQ" type="6003">
2212 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1yKMwfMUEeagPYxz1ZWLIQ" y="10"/>
2213 </children>
2214 <styles xmi:type="notation:ConnectorStyle" xmi:id="_1x68MfMUEeagPYxz1ZWLIQ" routing="Rectilinear"/>
2215 <styles xmi:type="notation:FontStyle" xmi:id="_1x68MvMUEeagPYxz1ZWLIQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
2216 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1x68M_MUEeagPYxz1ZWLIQ" points="[195, 490, 195, 490]$[212, 30, 212, 30]"/>
2217 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1yQ6cPMUEeagPYxz1ZWLIQ" id="(0.49673202614379086,0.5)"/>
2218 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1yQ6cfMUEeagPYxz1ZWLIQ" id="(0.5,0.5)"/>
2219 </edges>
2220 <edges xmi:type="notation:Edge" xmi:id="_3fl-8PMUEeagPYxz1ZWLIQ" type="4001" element="_3d9AMPMUEeagPYxz1ZWLIQ" source="_pEmCvbXDEeamG-Ij7YnW7w" target="_ERrCkLXFEeamG-Ij7YnW7w">
2221 <children xmi:type="notation:Node" xmi:id="_3fnNEPMUEeagPYxz1ZWLIQ" type="6001">
2222 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3fnNEfMUEeagPYxz1ZWLIQ" x="-14" y="-10"/>
2223 </children>
2224 <children xmi:type="notation:Node" xmi:id="_3fnNEvMUEeagPYxz1ZWLIQ" type="6002">
2225 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3fnNE_MUEeagPYxz1ZWLIQ" x="118" y="10"/>
2226 </children>
2227 <children xmi:type="notation:Node" xmi:id="_3fnNFPMUEeagPYxz1ZWLIQ" type="6003">
2228 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3fnNFfMUEeagPYxz1ZWLIQ" x="-155" y="10"/>
2229 </children>
2230 <styles xmi:type="notation:ConnectorStyle" xmi:id="_3fl-8fMUEeagPYxz1ZWLIQ" routing="Rectilinear"/>
2231 <styles xmi:type="notation:FontStyle" xmi:id="_3fl-8vMUEeagPYxz1ZWLIQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
2232 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3fl-8_MUEeagPYxz1ZWLIQ" points="[-96, 23, -580, 45]$[-96, 97, -580, 119]$[594, 97, 110, 119]$[594, -1, 110, 21]"/>
2233 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3fn0IPMUEeagPYxz1ZWLIQ" id="(1.0,0.5)"/>
2234 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3fn0IfMUEeagPYxz1ZWLIQ" id="(0.0,0.5227272727272727)"/>
2235 </edges>
2236 </data>
2237 </ownedAnnotationEntries>
2238 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_pEmrI7XDEeamG-Ij7YnW7w" name="PartialInterpretation" tooltipText="" outgoingEdges="_pEmrKLXDEeamG-Ij7YnW7w _pEmrkLXDEeamG-Ij7YnW7w _pEmrmLXDEeamG-Ij7YnW7w _RU0XQMAiEeaaj7sYFz2QKg _1xkW4PMUEeagPYxz1ZWLIQ _3d9AMPMUEeagPYxz1ZWLIQ" width="12" height="10">
2239 <target xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialInterpretation"/>
2240 <semanticElements xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialInterpretation"/>
2241 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2242 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2243 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2244 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_QaSh8PMVEeagPYxz1ZWLIQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2245 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2246 </ownedStyle>
2247 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2248 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_RUgOMMAiEeaaj7sYFz2QKg" name="minNewElements : EInt = 0" tooltipText="">
2249 <target xmi:type="ecore:EAttribute" href="PartialInterpretation.ecore#//PartialInterpretation/minNewElements"/>
2250 <semanticElements xmi:type="ecore:EAttribute" href="PartialInterpretation.ecore#//PartialInterpretation/minNewElements"/>
2251 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_RUhcUMAiEeaaj7sYFz2QKg" labelAlignment="LEFT" description="_RUg1QMAiEeaaj7sYFz2QKg">
2252 <labelFormat>bold</labelFormat>
2253 </ownedStyle>
2254 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
2255 </ownedElements>
2256 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_RUiDYMAiEeaaj7sYFz2QKg" name="maxNewElements : EInt = 0" tooltipText="">
2257 <target xmi:type="ecore:EAttribute" href="PartialInterpretation.ecore#//PartialInterpretation/maxNewElements"/>
2258 <semanticElements xmi:type="ecore:EAttribute" href="PartialInterpretation.ecore#//PartialInterpretation/maxNewElements"/>
2259 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_RUiqcMAiEeaaj7sYFz2QKg" labelAlignment="LEFT" description="_RUg1QMAiEeaaj7sYFz2QKg">
2260 <labelFormat>bold</labelFormat>
2261 </ownedStyle>
2262 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
2263 </ownedElements>
2264 </ownedDiagramElements>
2265 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_pEmrJbXDEeamG-Ij7YnW7w" name="LogicProblem" tooltipText="" outgoingEdges="_pEmrSbXDEeamG-Ij7YnW7w _pEmrUbXDEeamG-Ij7YnW7w" incomingEdges="_pEmrKLXDEeamG-Ij7YnW7w _1xkW4PMUEeagPYxz1ZWLIQ" width="12" height="10">
2266 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem"/>
2267 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem"/>
2268 <decorations xmi:type="viewpoint:Decoration" xmi:id="_pEmrJrXDEeamG-Ij7YnW7w">
2269 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
2270 </decorations>
2271 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2272 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2273 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2274 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_pEmrJ7XDEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
2275 <customFeatures>backgroundColor</customFeatures>
2276 <customFeatures>foregroundColor</customFeatures>
2277 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2278 </ownedStyle>
2279 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2280 </ownedDiagramElements>
2281 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_pEmrKLXDEeamG-Ij7YnW7w" name="[1..1] problem" sourceNode="_pEmrI7XDEeamG-Ij7YnW7w" targetNode="_pEmrJbXDEeamG-Ij7YnW7w">
2282 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/problem"/>
2283 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/problem"/>
2284 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_pEmrKbXDEeamG-Ij7YnW7w" description="_pEmCs7XDEeamG-Ij7YnW7w" routingStyle="manhattan" strokeColor="0,0,0">
2285 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_pEmrKrXDEeamG-Ij7YnW7w" showIcon="false">
2286 <customFeatures>labelSize</customFeatures>
2287 <labelFormat>bold</labelFormat>
2288 </centerLabelStyle>
2289 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_pEmrK7XDEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
2290 <customFeatures>labelSize</customFeatures>
2291 </endLabelStyle>
2292 </ownedStyle>
2293 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2294 </ownedDiagramElements>
2295 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_pEmrL7XDEeamG-Ij7YnW7w" name="DefinedElement" tooltipText="" incomingEdges="_pEmrUbXDEeamG-Ij7YnW7w _pEmrmLXDEeamG-Ij7YnW7w _xIQsQLXFEeamG-Ij7YnW7w _2WivALXFEeamG-Ij7YnW7w _5HFkALXFEeamG-Ij7YnW7w _RU0XQMAiEeaaj7sYFz2QKg" width="12" height="10">
2296 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//DefinedElement"/>
2297 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//DefinedElement"/>
2298 <decorations xmi:type="viewpoint:Decoration" xmi:id="_pEmrMLXDEeamG-Ij7YnW7w">
2299 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
2300 </decorations>
2301 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2302 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2303 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2304 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_pEmrMbXDEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
2305 <customFeatures>backgroundColor</customFeatures>
2306 <customFeatures>foregroundColor</customFeatures>
2307 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2308 </ownedStyle>
2309 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2310 </ownedDiagramElements>
2311 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_pEmrNbXDEeamG-Ij7YnW7w" name="Relation" tooltipText="" outgoingEdges="_7EbsYLXDEeamG-Ij7YnW7w" incomingEdges="_pEmrSbXDEeamG-Ij7YnW7w _pEmrZbXDEeamG-Ij7YnW7w" width="12" height="10">
2312 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/>
2313 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/>
2314 <decorations xmi:type="viewpoint:Decoration" xmi:id="_pEmrNrXDEeamG-Ij7YnW7w">
2315 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
2316 </decorations>
2317 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2318 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2319 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2320 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_pEmrN7XDEeamG-Ij7YnW7w" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
2321 <customFeatures>backgroundColor</customFeatures>
2322 <customFeatures>foregroundColor</customFeatures>
2323 <labelFormat>italic</labelFormat>
2324 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2325 </ownedStyle>
2326 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2327 </ownedDiagramElements>
2328 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_pEmrSbXDEeamG-Ij7YnW7w" name="[0..*] relations" sourceNode="_pEmrJbXDEeamG-Ij7YnW7w" targetNode="_pEmrNbXDEeamG-Ij7YnW7w">
2329 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/relations"/>
2330 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/relations"/>
2331 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_pEmrSrXDEeamG-Ij7YnW7w" description="_pEmCt7XDEeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2332 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_pEmrS7XDEeamG-Ij7YnW7w" showIcon="false">
2333 <customFeatures>labelSize</customFeatures>
2334 </centerLabelStyle>
2335 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_pEmrTLXDEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
2336 <customFeatures>labelSize</customFeatures>
2337 </endLabelStyle>
2338 </ownedStyle>
2339 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2340 </ownedDiagramElements>
2341 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_pEmrUbXDEeamG-Ij7YnW7w" name="[0..*] elements" visible="false" sourceNode="_pEmrJbXDEeamG-Ij7YnW7w" targetNode="_pEmrL7XDEeamG-Ij7YnW7w">
2342 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/elements"/>
2343 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem/elements"/>
2344 <graphicalFilters xmi:type="diagram:HideFilter" xmi:id="_x9broLXDEeamG-Ij7YnW7w"/>
2345 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_pEmrUrXDEeamG-Ij7YnW7w" description="_pEmCt7XDEeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2346 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_pEmrU7XDEeamG-Ij7YnW7w" showIcon="false">
2347 <customFeatures>labelSize</customFeatures>
2348 </centerLabelStyle>
2349 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_pEmrVLXDEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
2350 <customFeatures>labelSize</customFeatures>
2351 </endLabelStyle>
2352 </ownedStyle>
2353 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2354 </ownedDiagramElements>
2355 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_pEmrYrXDEeamG-Ij7YnW7w" name="RelationDeclaration" tooltipText="" outgoingEdges="_pEmrZbXDEeamG-Ij7YnW7w" incomingEdges="_pEmrhLXDEeamG-Ij7YnW7w" width="12" height="10">
2356 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//RelationDeclaration"/>
2357 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//RelationDeclaration"/>
2358 <decorations xmi:type="viewpoint:Decoration" xmi:id="_pEmrY7XDEeamG-Ij7YnW7w">
2359 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
2360 </decorations>
2361 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2362 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2363 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2364 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_pEmrZLXDEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" backgroundColor="237,201,122" foregroundColor="237,201,122">
2365 <customFeatures>backgroundColor</customFeatures>
2366 <customFeatures>foregroundColor</customFeatures>
2367 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2368 </ownedStyle>
2369 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2370 </ownedDiagramElements>
2371 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_pEmrZbXDEeamG-Ij7YnW7w" sourceNode="_pEmrYrXDEeamG-Ij7YnW7w" targetNode="_pEmrNbXDEeamG-Ij7YnW7w">
2372 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//RelationDeclaration"/>
2373 <semanticElements xmi:type="ecore:EGenericType" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//RelationDeclaration/@eGenericSuperTypes.0"/>
2374 <decorations xmi:type="viewpoint:Decoration" xmi:id="_pEmrZrXDEeamG-Ij7YnW7w">
2375 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
2376 </decorations>
2377 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_pEmrZ7XDEeamG-Ij7YnW7w" targetArrow="InputClosedArrow" routingStyle="tree">
2378 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
2379 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_pEmraLXDEeamG-Ij7YnW7w" showIcon="false">
2380 <labelFormat>italic</labelFormat>
2381 </beginLabelStyle>
2382 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_pEmrabXDEeamG-Ij7YnW7w" showIcon="false"/>
2383 </ownedStyle>
2384 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
2385 </ownedDiagramElements>
2386 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_pEmrfLXDEeamG-Ij7YnW7w" name="PartialRelationInterpretation" tooltipText="" outgoingEdges="_pEmrhLXDEeamG-Ij7YnW7w _QSMOILXFEeamG-Ij7YnW7w _lb3w0L3MEeaj7tVusjQpHg _oQIBIL3MEeaj7tVusjQpHg" incomingEdges="_pEmrkLXDEeamG-Ij7YnW7w" width="12" height="10">
2387 <target xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialRelationInterpretation"/>
2388 <semanticElements xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//PartialRelationInterpretation"/>
2389 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2390 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2391 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2392 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ybOiAMAjEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2393 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2394 </ownedStyle>
2395 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2396 </ownedDiagramElements>
2397 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_pEmrhLXDEeamG-Ij7YnW7w" name="[1..1] interpretationOf" sourceNode="_pEmrfLXDEeamG-Ij7YnW7w" targetNode="_pEmrYrXDEeamG-Ij7YnW7w">
2398 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialRelationInterpretation/interpretationOf"/>
2399 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialRelationInterpretation/interpretationOf"/>
2400 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_pEmrhbXDEeamG-Ij7YnW7w" description="_pEmCs7XDEeamG-Ij7YnW7w" routingStyle="manhattan" strokeColor="0,0,0">
2401 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_pEmrhrXDEeamG-Ij7YnW7w" showIcon="false">
2402 <labelFormat>bold</labelFormat>
2403 </centerLabelStyle>
2404 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_pEmrh7XDEeamG-Ij7YnW7w" labelSize="6" showIcon="false" labelColor="39,76,114"/>
2405 </ownedStyle>
2406 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2407 </ownedDiagramElements>
2408 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_pEmrkLXDEeamG-Ij7YnW7w" name="[0..*] partialrelationinterpretation" sourceNode="_pEmrI7XDEeamG-Ij7YnW7w" targetNode="_pEmrfLXDEeamG-Ij7YnW7w">
2409 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/partialrelationinterpretation"/>
2410 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/partialrelationinterpretation"/>
2411 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_pEmrkbXDEeamG-Ij7YnW7w" description="_pEmCt7XDEeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2412 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_pEmrkrXDEeamG-Ij7YnW7w" showIcon="false">
2413 <customFeatures>labelSize</customFeatures>
2414 </centerLabelStyle>
2415 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_pEmrk7XDEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
2416 <customFeatures>labelSize</customFeatures>
2417 </endLabelStyle>
2418 </ownedStyle>
2419 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2420 </ownedDiagramElements>
2421 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_pEmrmLXDEeamG-Ij7YnW7w" name="[0..*] newElements" visible="false" sourceNode="_pEmrI7XDEeamG-Ij7YnW7w" targetNode="_pEmrL7XDEeamG-Ij7YnW7w">
2422 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/newElements"/>
2423 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/newElements"/>
2424 <graphicalFilters xmi:type="diagram:HideFilter" xmi:id="_xG99sLXDEeamG-Ij7YnW7w"/>
2425 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_pEmrmbXDEeamG-Ij7YnW7w" description="_pEmCt7XDEeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2426 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_pEmrmrXDEeamG-Ij7YnW7w" showIcon="false">
2427 <customFeatures>labelSize</customFeatures>
2428 </centerLabelStyle>
2429 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_pEmrm7XDEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
2430 <customFeatures>labelSize</customFeatures>
2431 </endLabelStyle>
2432 </ownedStyle>
2433 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2434 </ownedDiagramElements>
2435 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7EWz4LXDEeamG-Ij7YnW7w" name="TypeReference" tooltipText="" incomingEdges="_7EbsYLXDEeamG-Ij7YnW7w _lb3w0L3MEeaj7tVusjQpHg _oQIBIL3MEeaj7tVusjQpHg" width="12" height="10">
2436 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//TypeReference"/>
2437 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//TypeReference"/>
2438 <decorations xmi:type="viewpoint:Decoration" xmi:id="_7EZ3MLXDEeamG-Ij7YnW7w">
2439 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
2440 </decorations>
2441 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2442 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2443 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2444 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7EWz4bXDEeamG-Ij7YnW7w" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2445 <labelFormat>italic</labelFormat>
2446 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2447 </ownedStyle>
2448 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2449 </ownedDiagramElements>
2450 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7EbsYLXDEeamG-Ij7YnW7w" name="[0..*] parameters" sourceNode="_pEmrNbXDEeamG-Ij7YnW7w" targetNode="_7EWz4LXDEeamG-Ij7YnW7w">
2451 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation/parameters"/>
2452 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation/parameters"/>
2453 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7EbsYbXDEeamG-Ij7YnW7w" description="_pEmCt7XDEeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2454 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7EbsYrXDEeamG-Ij7YnW7w" showIcon="false">
2455 <customFeatures>labelSize</customFeatures>
2456 </centerLabelStyle>
2457 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7EbsY7XDEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
2458 <customFeatures>labelSize</customFeatures>
2459 </endLabelStyle>
2460 </ownedStyle>
2461 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2462 </ownedDiagramElements>
2463 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_n-_3ILXEEeamG-Ij7YnW7w" name="RelationLink" tooltipText="" incomingEdges="_QSMOILXFEeamG-Ij7YnW7w _Z8EScLXFEeamG-Ij7YnW7w _aXV5MLXFEeamG-Ij7YnW7w _aqZYELXFEeamG-Ij7YnW7w" width="12" height="10">
2464 <target xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//RelationLink"/>
2465 <semanticElements xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//RelationLink"/>
2466 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2467 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2468 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2469 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_SP0_gLXFEeamG-Ij7YnW7w" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2470 <labelFormat>italic</labelFormat>
2471 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2472 </ownedStyle>
2473 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2474 </ownedDiagramElements>
2475 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="__5SGALXEEeamG-Ij7YnW7w" name="UnaryElementRelationLink" tooltipText="" outgoingEdges="_Z8EScLXFEeamG-Ij7YnW7w _xIQsQLXFEeamG-Ij7YnW7w" width="12" height="10">
2476 <target xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//UnaryElementRelationLink"/>
2477 <semanticElements xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//UnaryElementRelationLink"/>
2478 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2479 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2480 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2481 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="__5StELXEEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2482 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2483 </ownedStyle>
2484 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2485 </ownedDiagramElements>
2486 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ERNIgLXFEeamG-Ij7YnW7w" name="BinaryElementRelationLink" tooltipText="" outgoingEdges="_aXV5MLXFEeamG-Ij7YnW7w _2WivALXFEeamG-Ij7YnW7w _5HFkALXFEeamG-Ij7YnW7w" incomingEdges="_3d9AMPMUEeagPYxz1ZWLIQ" width="12" height="10">
2487 <target xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//BinaryElementRelationLink"/>
2488 <semanticElements xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//BinaryElementRelationLink"/>
2489 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2490 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2491 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2492 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ERNvkLXFEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2493 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2494 </ownedStyle>
2495 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2496 </ownedDiagramElements>
2497 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_Hr5GsLXFEeamG-Ij7YnW7w" name="NaryRelationLink" tooltipText="" outgoingEdges="_aqZYELXFEeamG-Ij7YnW7w _jC230LXFEeamG-Ij7YnW7w" width="12" height="10">
2498 <target xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//NaryRelationLink"/>
2499 <semanticElements xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//NaryRelationLink"/>
2500 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2501 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2502 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2503 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_Hr5twLXFEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2504 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2505 </ownedStyle>
2506 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2507 </ownedDiagramElements>
2508 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_KReB0LXFEeamG-Ij7YnW7w" name="NaryRelationLinkElement" tooltipText="" incomingEdges="_jC230LXFEeamG-Ij7YnW7w" width="12" height="10">
2509 <target xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//NaryRelationLinkElement"/>
2510 <semanticElements xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//NaryRelationLinkElement"/>
2511 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2512 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2513 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2514 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_dT6_ELXFEeamG-Ij7YnW7w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2515 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2516 </ownedStyle>
2517 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2518 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_cAH04LXFEeamG-Ij7YnW7w" name="index : EInt" tooltipText="">
2519 <target xmi:type="ecore:EAttribute" href="PartialInterpretation.ecore#//NaryRelationLinkElement/index"/>
2520 <semanticElements xmi:type="ecore:EAttribute" href="PartialInterpretation.ecore#//NaryRelationLinkElement/index"/>
2521 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_dT7mILXFEeamG-Ij7YnW7w" labelAlignment="LEFT">
2522 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
2523 </ownedStyle>
2524 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
2525 </ownedElements>
2526 </ownedDiagramElements>
2527 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_QSMOILXFEeamG-Ij7YnW7w" name="[0..*] relationlinks" sourceNode="_pEmrfLXDEeamG-Ij7YnW7w" targetNode="_n-_3ILXEEeamG-Ij7YnW7w">
2528 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialRelationInterpretation/relationlinks"/>
2529 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialRelationInterpretation/relationlinks"/>
2530 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_QSMOIbXFEeamG-Ij7YnW7w" description="_pEmCt7XDEeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2531 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_QSMOIrXFEeamG-Ij7YnW7w" showIcon="false">
2532 <customFeatures>labelSize</customFeatures>
2533 </centerLabelStyle>
2534 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_QSMOI7XFEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
2535 <customFeatures>labelSize</customFeatures>
2536 </endLabelStyle>
2537 </ownedStyle>
2538 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2539 </ownedDiagramElements>
2540 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Z8EScLXFEeamG-Ij7YnW7w" sourceNode="__5SGALXEEeamG-Ij7YnW7w" targetNode="_n-_3ILXEEeamG-Ij7YnW7w">
2541 <target xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//UnaryElementRelationLink"/>
2542 <semanticElements xmi:type="ecore:EGenericType" href="PartialInterpretation.ecore#//UnaryElementRelationLink/@eGenericSuperTypes.0"/>
2543 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_Z8E5gLXFEeamG-Ij7YnW7w" targetArrow="InputClosedArrow" routingStyle="tree">
2544 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
2545 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_Z8E5gbXFEeamG-Ij7YnW7w" showIcon="false">
2546 <labelFormat>italic</labelFormat>
2547 </beginLabelStyle>
2548 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_Z8E5grXFEeamG-Ij7YnW7w" showIcon="false"/>
2549 </ownedStyle>
2550 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
2551 </ownedDiagramElements>
2552 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_aXV5MLXFEeamG-Ij7YnW7w" sourceNode="_ERNIgLXFEeamG-Ij7YnW7w" targetNode="_n-_3ILXEEeamG-Ij7YnW7w">
2553 <target xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//BinaryElementRelationLink"/>
2554 <semanticElements xmi:type="ecore:EGenericType" href="PartialInterpretation.ecore#//BinaryElementRelationLink/@eGenericSuperTypes.0"/>
2555 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_aXV5MbXFEeamG-Ij7YnW7w" targetArrow="InputClosedArrow" routingStyle="tree">
2556 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
2557 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_aXV5MrXFEeamG-Ij7YnW7w" showIcon="false">
2558 <labelFormat>italic</labelFormat>
2559 </beginLabelStyle>
2560 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_aXV5M7XFEeamG-Ij7YnW7w" showIcon="false"/>
2561 </ownedStyle>
2562 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
2563 </ownedDiagramElements>
2564 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_aqZYELXFEeamG-Ij7YnW7w" sourceNode="_Hr5GsLXFEeamG-Ij7YnW7w" targetNode="_n-_3ILXEEeamG-Ij7YnW7w">
2565 <target xmi:type="ecore:EClass" href="PartialInterpretation.ecore#//NaryRelationLink"/>
2566 <semanticElements xmi:type="ecore:EGenericType" href="PartialInterpretation.ecore#//NaryRelationLink/@eGenericSuperTypes.0"/>
2567 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_aqZYEbXFEeamG-Ij7YnW7w" targetArrow="InputClosedArrow" routingStyle="tree">
2568 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
2569 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_aqZYErXFEeamG-Ij7YnW7w" showIcon="false">
2570 <labelFormat>italic</labelFormat>
2571 </beginLabelStyle>
2572 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_aqZYE7XFEeamG-Ij7YnW7w" showIcon="false"/>
2573 </ownedStyle>
2574 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
2575 </ownedDiagramElements>
2576 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_jC230LXFEeamG-Ij7YnW7w" name="[0..*] elements" sourceNode="_Hr5GsLXFEeamG-Ij7YnW7w" targetNode="_KReB0LXFEeamG-Ij7YnW7w">
2577 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//NaryRelationLink/elements"/>
2578 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//NaryRelationLink/elements"/>
2579 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_jC3e4LXFEeamG-Ij7YnW7w" description="_pEmCt7XDEeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2580 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_jC3e4bXFEeamG-Ij7YnW7w" showIcon="false">
2581 <customFeatures>labelSize</customFeatures>
2582 </centerLabelStyle>
2583 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_jC3e4rXFEeamG-Ij7YnW7w" showIcon="false" labelColor="39,76,114">
2584 <customFeatures>labelSize</customFeatures>
2585 </endLabelStyle>
2586 </ownedStyle>
2587 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2588 </ownedDiagramElements>
2589 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_xIQsQLXFEeamG-Ij7YnW7w" name="[1..1] param1" sourceNode="__5SGALXEEeamG-Ij7YnW7w" targetNode="_pEmrL7XDEeamG-Ij7YnW7w">
2590 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//UnaryElementRelationLink/param1"/>
2591 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//UnaryElementRelationLink/param1"/>
2592 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_0-ev4LXFEeamG-Ij7YnW7w" description="_pEmCs7XDEeamG-Ij7YnW7w" routingStyle="manhattan" strokeColor="0,0,0">
2593 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_0-ev4bXFEeamG-Ij7YnW7w" showIcon="false">
2594 <labelFormat>bold</labelFormat>
2595 </centerLabelStyle>
2596 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_0-ev4rXFEeamG-Ij7YnW7w" labelSize="6" showIcon="false" labelColor="39,76,114"/>
2597 </ownedStyle>
2598 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2599 </ownedDiagramElements>
2600 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_2WivALXFEeamG-Ij7YnW7w" name="[1..1] param1" sourceNode="_ERNIgLXFEeamG-Ij7YnW7w" targetNode="_pEmrL7XDEeamG-Ij7YnW7w">
2601 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//BinaryElementRelationLink/param1"/>
2602 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//BinaryElementRelationLink/param1"/>
2603 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_4Yv3ULXFEeamG-Ij7YnW7w" description="_pEmCs7XDEeamG-Ij7YnW7w" routingStyle="manhattan" strokeColor="0,0,0">
2604 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_4Yv3UbXFEeamG-Ij7YnW7w" showIcon="false">
2605 <labelFormat>bold</labelFormat>
2606 </centerLabelStyle>
2607 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_4Yv3UrXFEeamG-Ij7YnW7w" labelSize="6" showIcon="false" labelColor="39,76,114"/>
2608 </ownedStyle>
2609 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2610 </ownedDiagramElements>
2611 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_5HFkALXFEeamG-Ij7YnW7w" name="[1..1] param2" sourceNode="_ERNIgLXFEeamG-Ij7YnW7w" targetNode="_pEmrL7XDEeamG-Ij7YnW7w">
2612 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//BinaryElementRelationLink/param2"/>
2613 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//BinaryElementRelationLink/param2"/>
2614 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_8S8cALXFEeamG-Ij7YnW7w" description="_pEmCs7XDEeamG-Ij7YnW7w" routingStyle="manhattan" strokeColor="0,0,0">
2615 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_8S8cAbXFEeamG-Ij7YnW7w" showIcon="false">
2616 <labelFormat>bold</labelFormat>
2617 </centerLabelStyle>
2618 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_8S8cArXFEeamG-Ij7YnW7w" labelSize="6" showIcon="false" labelColor="39,76,114"/>
2619 </ownedStyle>
2620 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2621 </ownedDiagramElements>
2622 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_lb3w0L3MEeaj7tVusjQpHg" name="[0..1] param1" sourceNode="_pEmrfLXDEeamG-Ij7YnW7w" targetNode="_7EWz4LXDEeamG-Ij7YnW7w">
2623 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialRelationInterpretation/param1"/>
2624 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialRelationInterpretation/param1"/>
2625 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_lb4X4L3MEeaj7tVusjQpHg" routingStyle="manhattan" strokeColor="0,0,0">
2626 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
2627 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_lb4X4b3MEeaj7tVusjQpHg" showIcon="false">
2628 <customFeatures>labelSize</customFeatures>
2629 </centerLabelStyle>
2630 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_lb4X4r3MEeaj7tVusjQpHg" showIcon="false" labelColor="39,76,114">
2631 <customFeatures>labelSize</customFeatures>
2632 </endLabelStyle>
2633 </ownedStyle>
2634 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2635 </ownedDiagramElements>
2636 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_oQIBIL3MEeaj7tVusjQpHg" name="[0..1] param2" sourceNode="_pEmrfLXDEeamG-Ij7YnW7w" targetNode="_7EWz4LXDEeamG-Ij7YnW7w">
2637 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialRelationInterpretation/param2"/>
2638 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialRelationInterpretation/param2"/>
2639 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_oQIoML3MEeaj7tVusjQpHg" routingStyle="manhattan" strokeColor="0,0,0">
2640 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
2641 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_oQIoMb3MEeaj7tVusjQpHg" showIcon="false">
2642 <customFeatures>labelSize</customFeatures>
2643 </centerLabelStyle>
2644 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_oQIoMr3MEeaj7tVusjQpHg" showIcon="false" labelColor="39,76,114">
2645 <customFeatures>labelSize</customFeatures>
2646 </endLabelStyle>
2647 </ownedStyle>
2648 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2649 </ownedDiagramElements>
2650 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_RU0XQMAiEeaaj7sYFz2QKg" name="[1..1] openWorldElementPrototype" sourceNode="_pEmrI7XDEeamG-Ij7YnW7w" targetNode="_pEmrL7XDEeamG-Ij7YnW7w">
2651 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/openWorldElementPrototype"/>
2652 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/openWorldElementPrototype"/>
2653 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_RU2Mc8AiEeaaj7sYFz2QKg" description="_RU2McMAiEeaaj7sYFz2QKg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2654 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_RU2MdMAiEeaaj7sYFz2QKg" showIcon="false">
2655 <customFeatures>labelSize</customFeatures>
2656 <labelFormat>bold</labelFormat>
2657 </centerLabelStyle>
2658 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_RU2MdcAiEeaaj7sYFz2QKg" showIcon="false" labelColor="39,76,114">
2659 <customFeatures>labelSize</customFeatures>
2660 </endLabelStyle>
2661 </ownedStyle>
2662 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2663 </ownedDiagramElements>
2664 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_1xkW4PMUEeagPYxz1ZWLIQ" name="[0..1] problemConainer" sourceNode="_pEmrI7XDEeamG-Ij7YnW7w" targetNode="_pEmrJbXDEeamG-Ij7YnW7w">
2665 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/problemConainer"/>
2666 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/problemConainer"/>
2667 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_1xmzIPMUEeagPYxz1ZWLIQ" description="_pEmCt7XDEeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2668 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_1xmzIfMUEeagPYxz1ZWLIQ" showIcon="false">
2669 <customFeatures>labelSize</customFeatures>
2670 </centerLabelStyle>
2671 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_1xmzIvMUEeagPYxz1ZWLIQ" showIcon="false" labelColor="39,76,114">
2672 <customFeatures>labelSize</customFeatures>
2673 </endLabelStyle>
2674 </ownedStyle>
2675 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2676 </ownedDiagramElements>
2677 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_3d9AMPMUEeagPYxz1ZWLIQ" name="[0..*] pregeneratedRelationLinks" sourceNode="_pEmrI7XDEeamG-Ij7YnW7w" targetNode="_ERNIgLXFEeamG-Ij7YnW7w">
2678 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/pregeneratedRelationLinks"/>
2679 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/pregeneratedRelationLinks"/>
2680 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_3d9nQPMUEeagPYxz1ZWLIQ" routingStyle="manhattan" strokeColor="0,0,0">
2681 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
2682 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_3d9nQfMUEeagPYxz1ZWLIQ" showIcon="false">
2683 <customFeatures>labelSize</customFeatures>
2684 </centerLabelStyle>
2685 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_3d9nQvMUEeagPYxz1ZWLIQ" showIcon="false" labelColor="39,76,114">
2686 <customFeatures>labelSize</customFeatures>
2687 </endLabelStyle>
2688 </ownedStyle>
2689 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2690 </ownedDiagramElements>
2691 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
2692 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_pEmrqrXDEeamG-Ij7YnW7w"/>
2693 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
2694 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
2695 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
2696 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
2697 <target xmi:type="ecore:EPackage" href="PartialInterpretation.ecore#/"/>
2698 </ownedRepresentations>
2699 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
2700 </ownedViews>
2701 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_LRdt8LW_EeamG-Ij7YnW7w">
2702 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
2703 </ownedViews>
2704 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_LRimcLW_EeamG-Ij7YnW7w">
2705 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
2706 </ownedViews>
2707 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_LRrwYLW_EeamG-Ij7YnW7w">
2708 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
2709 </ownedViews>
2710</viewpoint:DAnalysis>
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.ecore b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.ecore
new file mode 100644
index 00000000..fd7ca595
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.ecore
@@ -0,0 +1,76 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="partialinterpretation" nsURI="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
4 nsPrefix="partialinterpretation">
5 <eClassifiers xsi:type="ecore:EClass" name="PartialInterpretation">
6 <eStructuralFeatures xsi:type="ecore:EReference" name="problem" lowerBound="1"
7 eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem"/>
8 <eStructuralFeatures xsi:type="ecore:EReference" name="partialconstantinterpretation"
9 upperBound="-1" eType="#//PartialConstantInterpretation" containment="true"/>
10 <eStructuralFeatures xsi:type="ecore:EReference" name="partialrelationinterpretation"
11 upperBound="-1" eType="#//PartialRelationInterpretation" containment="true"/>
12 <eStructuralFeatures xsi:type="ecore:EReference" name="partialfunctioninterpretation"
13 upperBound="-1" eType="#//PartialFunctionInterpretation" containment="true"/>
14 <eStructuralFeatures xsi:type="ecore:EReference" name="newElements" upperBound="-1"
15 eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//DefinedElement"
16 containment="true"/>
17 <eStructuralFeatures xsi:type="ecore:EReference" name="partialtypeinterpratation"
18 upperBound="-1" eType="#//PartialTypeInterpratation" containment="true"/>
19 <eStructuralFeatures xsi:type="ecore:EAttribute" name="minNewElements" lowerBound="1"
20 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"
21 iD="true"/>
22 <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxNewElements" lowerBound="1"
23 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
24 <eStructuralFeatures xsi:type="ecore:EReference" name="openWorldElementPrototype"
25 lowerBound="1" eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//DefinedElement"
26 containment="true"/>
27 <eStructuralFeatures xsi:type="ecore:EReference" name="problemConainer" eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem"
28 containment="true"/>
29 <eStructuralFeatures xsi:type="ecore:EReference" name="pregeneratedRelationLinks"
30 upperBound="-1" eType="#//BinaryElementRelationLink"/>
31 <eStructuralFeatures xsi:type="ecore:EReference" name="preGeneratedElements" upperBound="-1"
32 eType="#//PartialTypeInterpratation" containment="true"/>
33 </eClassifiers>
34 <eClassifiers xsi:type="ecore:EClass" name="PartialConstantInterpretation">
35 <eStructuralFeatures xsi:type="ecore:EReference" name="interpretationOf" lowerBound="1"
36 eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//ConstantDeclaration"/>
37 </eClassifiers>
38 <eClassifiers xsi:type="ecore:EClass" name="PartialRelationInterpretation">
39 <eStructuralFeatures xsi:type="ecore:EReference" name="interpretationOf" lowerBound="1"
40 eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//RelationDeclaration"/>
41 <eStructuralFeatures xsi:type="ecore:EReference" name="relationlinks" upperBound="-1"
42 eType="#//RelationLink" containment="true"/>
43 <eStructuralFeatures xsi:type="ecore:EReference" name="param1" eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//TypeReference"/>
44 <eStructuralFeatures xsi:type="ecore:EReference" name="param2" eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//TypeReference"/>
45 </eClassifiers>
46 <eClassifiers xsi:type="ecore:EClass" name="PartialFunctionInterpretation">
47 <eStructuralFeatures xsi:type="ecore:EReference" name="interpretationOf" lowerBound="1"
48 eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//FunctionDeclaration"/>
49 </eClassifiers>
50 <eClassifiers xsi:type="ecore:EClass" name="PartialTypeInterpratation">
51 <eStructuralFeatures xsi:type="ecore:EReference" name="interpretationOf" lowerBound="1"
52 eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//TypeDeclaration"/>
53 <eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
54 eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//DefinedElement"/>
55 <eStructuralFeatures xsi:type="ecore:EReference" name="supertypeInterpretation"
56 upperBound="-1" eType="#//PartialTypeInterpratation"/>
57 </eClassifiers>
58 <eClassifiers xsi:type="ecore:EClass" name="RelationLink" abstract="true"/>
59 <eClassifiers xsi:type="ecore:EClass" name="UnaryElementRelationLink" eSuperTypes="#//RelationLink">
60 <eStructuralFeatures xsi:type="ecore:EReference" name="param1" lowerBound="1"
61 eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//DefinedElement"/>
62 </eClassifiers>
63 <eClassifiers xsi:type="ecore:EClass" name="BinaryElementRelationLink" eSuperTypes="#//RelationLink">
64 <eStructuralFeatures xsi:type="ecore:EReference" name="param1" lowerBound="1"
65 eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//DefinedElement"/>
66 <eStructuralFeatures xsi:type="ecore:EReference" name="param2" lowerBound="1"
67 eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//DefinedElement"/>
68 </eClassifiers>
69 <eClassifiers xsi:type="ecore:EClass" name="NaryRelationLink" eSuperTypes="#//RelationLink">
70 <eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
71 eType="#//NaryRelationLinkElement" containment="true"/>
72 </eClassifiers>
73 <eClassifiers xsi:type="ecore:EClass" name="NaryRelationLinkElement">
74 <eStructuralFeatures xsi:type="ecore:EAttribute" name="index" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
75 </eClassifiers>
76</ecore:EPackage>
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.genmodel b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.genmodel
new file mode 100644
index 00000000..e244d0cd
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.genmodel
@@ -0,0 +1,49 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3 xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen"
4 modelPluginID="hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage"
5 modelName="PartialInterpretation" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
6 importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" copyrightFields="false"
7 usedGenPackages="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.genmodel#//logiclanguage ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.genmodel#//logicproblem"
8 operationReflection="true" importOrganizing="true">
9 <foreignModel>PartialInterpretation.ecore</foreignModel>
10 <genPackages prefix="Partialinterpretation" basePackage="hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage"
11 disposableProviderFactory="true" ecorePackage="PartialInterpretation.ecore#/">
12 <genClasses ecoreClass="PartialInterpretation.ecore#//PartialInterpretation">
13 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PartialInterpretation.ecore#//PartialInterpretation/problem"/>
14 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference PartialInterpretation.ecore#//PartialInterpretation/partialconstantinterpretation"/>
15 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference PartialInterpretation.ecore#//PartialInterpretation/partialrelationinterpretation"/>
16 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference PartialInterpretation.ecore#//PartialInterpretation/partialfunctioninterpretation"/>
17 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference PartialInterpretation.ecore#//PartialInterpretation/newElements"/>
18 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference PartialInterpretation.ecore#//PartialInterpretation/partialtypeinterpratation"/>
19 </genClasses>
20 <genClasses ecoreClass="PartialInterpretation.ecore#//PartialConstantInterpretation">
21 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PartialInterpretation.ecore#//PartialConstantInterpretation/interpretationOf"/>
22 </genClasses>
23 <genClasses ecoreClass="PartialInterpretation.ecore#//PartialRelationInterpretation">
24 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PartialInterpretation.ecore#//PartialRelationInterpretation/interpretationOf"/>
25 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference PartialInterpretation.ecore#//PartialRelationInterpretation/relationlinks"/>
26 </genClasses>
27 <genClasses ecoreClass="PartialInterpretation.ecore#//PartialFunctionInterpretation">
28 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PartialInterpretation.ecore#//PartialFunctionInterpretation/interpretationOf"/>
29 </genClasses>
30 <genClasses ecoreClass="PartialInterpretation.ecore#//PartialTypeInterpratation">
31 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PartialInterpretation.ecore#//PartialTypeInterpratation/interpretationOf"/>
32 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PartialInterpretation.ecore#//PartialTypeInterpratation/elements"/>
33 </genClasses>
34 <genClasses image="false" ecoreClass="PartialInterpretation.ecore#//RelationLink"/>
35 <genClasses ecoreClass="PartialInterpretation.ecore#//UnaryElementRelationLink">
36 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PartialInterpretation.ecore#//UnaryElementRelationLink/param1"/>
37 </genClasses>
38 <genClasses ecoreClass="PartialInterpretation.ecore#//BinaryElementRelationLink">
39 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PartialInterpretation.ecore#//BinaryElementRelationLink/param1"/>
40 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PartialInterpretation.ecore#//BinaryElementRelationLink/param2"/>
41 </genClasses>
42 <genClasses ecoreClass="PartialInterpretation.ecore#//NaryRelationLink">
43 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference PartialInterpretation.ecore#//NaryRelationLink/elements"/>
44 </genClasses>
45 <genClasses ecoreClass="PartialInterpretation.ecore#//NaryRelationLinkElement">
46 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PartialInterpretation.ecore#//NaryRelationLinkElement/index"/>
47 </genClasses>
48 </genPackages>
49</genmodel:GenModel>
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/plugin.properties b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/plugin.properties
new file mode 100644
index 00000000..41436684
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/plugin.properties
@@ -0,0 +1,4 @@
1#
2
3pluginName = PartialInterpretation Model
4providerName = www.example.org
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/plugin.xml b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/plugin.xml
new file mode 100644
index 00000000..b9248505
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/plugin.xml
@@ -0,0 +1,17 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3
4<!--
5-->
6
7<plugin>
8
9 <extension point="org.eclipse.emf.ecore.generated_package">
10 <!-- @generated PartialInterpretation -->
11 <package
12 uri="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
13 class="hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage"
14 genModel="model/PartialInterpretation.genmodel"/>
15 </extension>
16
17</plugin>
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend
new file mode 100644
index 00000000..eeccbf76
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend
@@ -0,0 +1,112 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
11import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
12import hu.bme.mit.inf.dslreasoner.logic.model.patterns.SupertypeStarMatcher
13import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation
14import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation
15import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
16import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation
17import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation
18import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationFactory
19import java.util.HashMap
20import java.util.Map
21import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
22import org.eclipse.viatra.query.runtime.emf.EMFScope
23import org.eclipse.xtend.lib.annotations.Data
24
25import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
26
27@Data class Problem2PartialInterpretationTrace {
28 Map<TypeDeclaration, PartialTypeInterpratation> type2Interpretation = new HashMap
29 Map<RelationDeclaration, PartialRelationInterpretation> relation2Interpretation = new HashMap
30}
31
32class PartialInterpretationInitialiser {
33 val extension PartialinterpretationFactory factory = PartialinterpretationFactory.eINSTANCE
34 val extension LogiclanguageFactory factory2 = LogiclanguageFactory.eINSTANCE
35
36 /**
37 * Initialises an empty partial interpretation from a logic problem
38 */
39 def TracedOutput<PartialInterpretation,Problem2PartialInterpretationTrace> initialisePartialInterpretation(
40 LogicProblem problem,
41 int minNewElement, int maxNewElement)
42 {
43 val engine = ViatraQueryEngine.on(new EMFScope(problem))
44 val trace = new Problem2PartialInterpretationTrace
45
46 val res = createPartialInterpretation => [
47 it.problem = problem
48 it.openWorldElementPrototype = createDefinedElement => [it.name = "Symbolic New Element"]
49 it.minNewElements = minNewElement
50 it.maxNewElements = maxNewElement
51
52 for(typeDeclaration : problem.types.filter(TypeDeclaration)) {
53 it.partialtypeinterpratation += typeDeclaration.initialisePartialTypeInterpretation(engine,trace)
54 }
55 problem.connectSuperypes(trace)
56
57 it.partialrelationinterpretation += problem.relations.filter(RelationDeclaration)
58 .map[initialisePartialRelationInterpretation(trace)]
59 it.partialfunctioninterpretation += problem.functions.filter(FunctionDeclaration)
60 .map[initialisePartialFunctionInterpretation(trace)]
61 it.partialconstantinterpretation += problem.constants.filter(ConstantDeclaration)
62 .map[initialisePartialConstantDeclaration(trace)]
63 ]
64
65 return new TracedOutput(res,trace)
66 }
67
68 /**
69 * Initialize type with existing elements
70 */
71 def private initialisePartialTypeInterpretation(TypeDeclaration t, ViatraQueryEngine engine, Problem2PartialInterpretationTrace trace) {
72 val supertypeMatcher = SupertypeStarMatcher.on(engine)
73 val res = createPartialTypeInterpratation => [
74 it.interpretationOf = t
75 it.elements += supertypeMatcher.getAllValuesOfsubtype(t)
76 .filter(TypeDefinition)
77 .map[elements].flatten
78 ]
79 trace.type2Interpretation.put(t,res)
80 return res
81 }
82
83 def private connectSuperypes(LogicProblem problem, Problem2PartialInterpretationTrace trace) {
84 for(typeDeclaration : problem.types.filter(TypeDeclaration)) {
85 val supertypes = typeDeclaration.<Type>transitiveClosurePlus[it.supertypes]
86 for(supertype : supertypes.filter(TypeDeclaration)) {
87 typeDeclaration.lookup(trace.type2Interpretation).supertypeInterpretation += supertype.lookup(trace.type2Interpretation)
88 //println('''«typeDeclaration.name» --> «supertype.name»''')
89 }
90 }
91 }
92
93 def private initialisePartialRelationInterpretation(RelationDeclaration r, Problem2PartialInterpretationTrace trace) {
94 val res = createPartialRelationInterpretation => [
95 it.interpretationOf = r
96 if(r.parameters.size==2) {
97 it.param1 = r.parameters.get(0)
98 it.param2 = r.parameters.get(1)
99 } else throw new UnsupportedOperationException
100 ]
101 trace.relation2Interpretation.put(r,res)
102 return res
103 }
104
105 def private PartialConstantInterpretation initialisePartialConstantDeclaration(ConstantDeclaration c, Problem2PartialInterpretationTrace trace) {
106 throw new UnsupportedOperationException
107 }
108
109 def private PartialFunctionInterpretation initialisePartialFunctionInterpretation(FunctionDeclaration f, Problem2PartialInterpretationTrace trace) {
110 throw new UnsupportedOperationException
111 }
112} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Descriptor.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Descriptor.xtend
new file mode 100644
index 00000000..41482b28
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Descriptor.xtend
@@ -0,0 +1,214 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood
2
3import java.util.HashMap
4import java.util.Map
5import java.util.Set
6import org.eclipse.xtend.lib.annotations.Data
7
8@Data abstract class AbstractNodeDescriptor {
9 long dataHash
10
11// @Pure
12// @Override
13// override public boolean equals(Object obj) {
14// if (this === obj)
15// return true;
16// if (obj === null)
17// return false;
18// if (getClass() != obj.getClass())
19// return false;
20// val AbstractNodeDescriptor other = obj as AbstractNodeDescriptor;
21// if (other.dataHash != this.dataHash)
22// return false;
23// return true;
24// }
25}
26
27@Data class LocalNodeDescriptor extends AbstractNodeDescriptor{
28 Set<String> types
29 String id;
30 new(String id, Set<String> types) {
31 super(calcualteDataHash(id,types))
32 this.types = types
33 this.id = id
34 }
35
36 def private static calcualteDataHash(String id, Set<String> types) {
37 val int prime = 31;
38 var result = 0
39 if(id !== null)
40 result = id.hashCode();
41 if(types !== null) {
42 result = prime * result + types.hashCode
43 }
44 return result
45 }
46
47 override hashCode() {
48 return this.dataHash.hashCode
49 }
50
51 override toString() {
52 return class.name + this.dataHash
53 }
54
55// @Pure
56// @Override
57// override public boolean equals(Object obj) {
58// if (this === obj)
59// return true;
60// if (obj === null)
61// return false;
62// if (getClass() != obj.getClass())
63// return false;
64// val AbstractNodeDescriptor other = obj as AbstractNodeDescriptor;
65// if (other.dataHash != this.dataHash)
66// return false;
67// return true;
68// }
69
70// @Pure
71// override public boolean equals(Object obj) {
72// if (this === obj)
73// return true;
74// if (obj === null)
75// return false;
76// if (getClass() != obj.getClass())
77// return false;
78// if (!super.equals(obj))
79// return false;
80// val LocalNodeDescriptor other = obj as LocalNodeDescriptor;
81// if (this.clazz === null) {
82// if (other.clazz != null)
83// return false;
84// } else if (!this.clazz.equals(other.clazz))
85// return false;
86// return true;
87// }
88}
89
90@Data class IncomingRelation<FROM> {
91 FROM from
92 String type
93}
94
95@Data class OutgoingRelation<TO> {
96 TO to
97 String type
98}
99
100@Data class FurtherNodeDescriptor<NodeRep> extends AbstractNodeDescriptor{
101
102 NodeRep previousRepresentation
103 Map<IncomingRelation<NodeRep>,Integer> incomingEdges
104 Map<OutgoingRelation<NodeRep>,Integer> outgoingEdges
105
106 new(
107 NodeRep previousRepresentation,
108 Map<IncomingRelation<NodeRep>,Integer> incomingEdges,
109 Map<OutgoingRelation<NodeRep>,Integer> outgoingEdges)
110 {
111 super(calculateDataHash(previousRepresentation,incomingEdges,outgoingEdges))
112 this.previousRepresentation = previousRepresentation
113 this.incomingEdges = new HashMap(incomingEdges)
114 this.outgoingEdges = new HashMap(outgoingEdges)
115 }
116
117 static def private <NodeRep> int calculateDataHash(
118 NodeRep previousRepresentation,
119 Map<IncomingRelation<NodeRep>,Integer> incomingEdges,
120 Map<OutgoingRelation<NodeRep>,Integer> outgoingEdges)
121 {
122 val int prime = 31;
123 var int result = previousRepresentation.hashCode;
124 if(incomingEdges !== null)
125 result = prime * result + incomingEdges.hashCode();
126 if(outgoingEdges !== null)
127 result = prime * result + outgoingEdges.hashCode();
128 return result;
129 }
130
131 override hashCode() {
132 return this.dataHash.hashCode
133 }
134
135 override toString() {
136 return class.name + dataHash
137// return '''[«previousRepresentation»,(«FOR
138// in: incomingEdges.entrySet»(«in.key.type.name»=«in.key.from»,«in.value»)«ENDFOR»),(«FOR
139// out: outgoingEdges.entrySet»(«out.key.type.name»=«out.key.to»,«out.value»)«ENDFOR»),«FOR
140// att: attributeValues»(«att.type.name»=«att.value»)«ENDFOR»]'''
141 }
142
143// @Pure
144// @Override
145// override public boolean equals(Object obj) {
146// if (this === obj)
147// return true;
148// if (obj === null)
149// return false;
150// if (getClass() != obj.getClass())
151// return false;
152// val AbstractNodeDescriptor other = obj as AbstractNodeDescriptor;
153// if (other.dataHash != this.dataHash)
154// return false;
155// return true;
156// }
157
158// @Pure
159// override public boolean equals(Object obj) {
160// if (this === obj)
161// return true;
162// if (obj === null)
163// return false;
164// if (getClass() != obj.getClass())
165// return false;
166// if (!super.equals(obj))
167// return false;
168// val FurtherNodeDescriptor<?> other = obj as FurtherNodeDescriptor<?>;
169// if (this.previousRepresentation === null) {
170// if (other.previousRepresentation != null)
171// return false;
172//
173// }
174//// } else if (!this.previousRepresentation.equals(other.previousRepresentation))
175//// return false;
176// if (this.incomingEdges === null) {
177// if (other.incomingEdges != null)
178// return false;
179// } else if (!this.incomingEdges.equals(other.incomingEdges))
180// return false;
181// if (this.outgoingEdges === null) {
182// if (other.outgoingEdges != null)
183// return false;
184// } else if (!this.outgoingEdges.equals(other.outgoingEdges))
185// return false;
186// if (this.attributeValues === null) {
187// if (other.attributeValues != null)
188// return false;
189// } else if (!this.attributeValues.equals(other.attributeValues))
190// return false;
191// return true;
192// }
193}
194
195/*
196@Data
197class ModelDescriptor {
198 int dataHash
199 int unknownElements
200 Map<? extends AbstractNodeDescriptor,Integer> knownElements
201
202 public new(Map<? extends AbstractNodeDescriptor,Integer> knownElements, int unknownElements) {
203 this.dataHash = calculateDataHash(knownElements,unknownElements)
204 this.unknownElements = unknownElements
205 this.knownElements = knownElements
206 }
207
208 def private static calculateDataHash(Map<? extends AbstractNodeDescriptor,Integer> knownElements, int unknownElements)
209 {
210 val int prime = 31;
211 return knownElements.hashCode * prime + unknownElements.hashCode
212 }
213}
214*/ \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/FurtherNodeDescriptorWithEquivalenceCounter.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/FurtherNodeDescriptorWithEquivalenceCounter.xtend
new file mode 100644
index 00000000..22e890a2
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/FurtherNodeDescriptorWithEquivalenceCounter.xtend
@@ -0,0 +1,16 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood
2
3import java.util.Map
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
5
6class FurtherNodeDescriptorWithEquivalenceCounter extends FurtherNodeDescriptor<AbstractNodeDescriptor> {
7
8 new(AbstractNodeDescriptor previousRepresentation,
9 Map<IncomingRelation<AbstractNodeDescriptor>, Integer> incomingEdges,
10 Map<OutgoingRelation<AbstractNodeDescriptor>, Integer> outgoingEdges,
11 Map<DefinedElement, FurtherNodeDescriptor<AbstractNodeDescriptor>> node2Representation)
12 {
13 super(previousRepresentation, incomingEdges, outgoingEdges)
14 }
15
16} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/NeighbourhoodWithTraces.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/NeighbourhoodWithTraces.xtend
new file mode 100644
index 00000000..76cc4ae1
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/NeighbourhoodWithTraces.xtend
@@ -0,0 +1,11 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
4import java.util.Map
5import org.eclipse.xtend.lib.annotations.Data
6
7@Data class NeighbourhoodWithTraces<ModelRep,NodeRep> {
8 ModelRep modelRepresentation
9 Map<DefinedElement,? extends NodeRep> nodeRepresentations
10 NeighbourhoodWithTraces<ModelRep,NodeRep> previousRepresentation
11}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend
new file mode 100644
index 00000000..d474877d
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend
@@ -0,0 +1,25 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood
2
3import java.util.Map
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
5
6class PartialInterpretation2Hash extends PartialInterpretation2NeighbourhoodRepresentation<Integer, Integer>{
7
8 protected new() {
9 super(false, true)
10 }
11
12 override protected createLocalRepresentation(Map<DefinedElement, LocalNodeDescriptor> node2Representation, Map<LocalNodeDescriptor, Integer> representation2Amount) {
13 return new NeighbourhoodWithTraces(
14 representation2Amount.hashCode,node2Representation.mapValues[it.hashCode],
15 null)
16 }
17
18 override protected createFurtherRepresentation(Map<FurtherNodeDescriptor<Integer>, Integer> nodeDescriptors, Map<DefinedElement, FurtherNodeDescriptor<Integer>> node2Representation, NeighbourhoodWithTraces<Integer, Integer> previous, boolean deepRepresentation) {
19 return new NeighbourhoodWithTraces(
20 nodeDescriptors.hashCode,
21 node2Representation.mapValues[it.hashCode],
22 if(deepRepresentation) {previous} else {null})
23 }
24
25}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2ImmutableTypeLattice.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2ImmutableTypeLattice.xtend
new file mode 100644
index 00000000..31181370
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2ImmutableTypeLattice.xtend
@@ -0,0 +1,24 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
4import java.util.Map
5
6class PartialInterpretation2ImmutableTypeLattice extends
7 PartialInterpretation2NeighbourhoodRepresentation<Map<? extends AbstractNodeDescriptor,Integer>, AbstractNodeDescriptor>{
8
9 public new() {
10 super(false, true)
11 }
12
13 override protected createLocalRepresentation(Map<DefinedElement, LocalNodeDescriptor> node2Representation, Map<LocalNodeDescriptor, Integer> representation2Amount) {
14 return new NeighbourhoodWithTraces(node2Representation.immutableCopy,node2Representation.immutableCopy,null)
15 }
16
17 override protected createFurtherRepresentation(Map<FurtherNodeDescriptor<AbstractNodeDescriptor>, Integer> nodeDescriptors, Map<DefinedElement, FurtherNodeDescriptor<AbstractNodeDescriptor>> node2Representation, NeighbourhoodWithTraces<Map<? extends AbstractNodeDescriptor, Integer>, AbstractNodeDescriptor> previous, boolean deepRepresentation) {
18 if(deepRepresentation) {
19 return new NeighbourhoodWithTraces<Map<? extends AbstractNodeDescriptor, Integer>, AbstractNodeDescriptor>(nodeDescriptors,node2Representation,previous)
20 } else {
21 return new NeighbourhoodWithTraces<Map<? extends AbstractNodeDescriptor, Integer>, AbstractNodeDescriptor>(nodeDescriptors,node2Representation,null)
22 }
23 }
24}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2ImmutableTypeLatticeWithEquivalenceCounter.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2ImmutableTypeLatticeWithEquivalenceCounter.xtend
new file mode 100644
index 00000000..251a82f0
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2ImmutableTypeLatticeWithEquivalenceCounter.xtend
@@ -0,0 +1,56 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
4import java.util.Map
5import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
6import java.util.HashMap
7
8class PartialInterpretation2ImmutableTypeLatticeWithEquivalenceCounter extends
9 PartialInterpretation2NeighbourhoodRepresentation<
10 Map<? extends AbstractNodeDescriptor,Integer>, // <- Model Descriptor
11 AbstractNodeDescriptor> // <- Node Descriptor
12 {
13
14 protected new() {
15 super(true,false)
16 }
17
18 override protected createLocalRepresentation(Map<DefinedElement, LocalNodeDescriptor> node2Representation, Map<LocalNodeDescriptor, Integer> representation2Amount) {
19 return new NeighbourhoodWithTraces(node2Representation.immutableCopy,node2Representation.immutableCopy,null)
20 }
21
22 override protected createFurtherRepresentation(
23 Map<FurtherNodeDescriptor<AbstractNodeDescriptor>, Integer> nodeDescriptors,
24 Map<DefinedElement, FurtherNodeDescriptor<AbstractNodeDescriptor>> node2Representation,
25 NeighbourhoodWithTraces<Map<? extends AbstractNodeDescriptor, Integer>, AbstractNodeDescriptor> previous,
26 boolean deepRepresentation
27 ) {
28 if(deepRepresentation) {
29 return new NeighbourhoodWithTraces<Map<? extends AbstractNodeDescriptor, Integer>, AbstractNodeDescriptor>(nodeDescriptors,node2Representation,previous)
30 } else {
31 return new NeighbourhoodWithTraces<Map<? extends AbstractNodeDescriptor, Integer>, AbstractNodeDescriptor>(nodeDescriptors,node2Representation,null)
32 }
33 }
34
35 public def finalRepresentation(NeighbourhoodWithTraces<Map<? extends AbstractNodeDescriptor, Integer>,AbstractNodeDescriptor> representation) {
36 val node2Representation = representation.nodeRepresentations
37 val node2LocalRepresentation = new HashMap
38 //val localRepresentation2Node = new HashMap
39 for(entry: node2Representation.entrySet) {
40 val node = entry.key
41 val localNodeDescriptor = entry.value.toLocalDescriptor
42 node2LocalRepresentation.put(node,localNodeDescriptor)
43 }
44
45 }
46
47 public def LocalNodeDescriptor toLocalDescriptor(AbstractNodeDescriptor descriptor) {
48 if(descriptor instanceof LocalNodeDescriptor) {
49 return descriptor
50 } else if(descriptor instanceof FurtherNodeDescriptor<?>) {
51 (descriptor.previousRepresentation as AbstractNodeDescriptor).toLocalDescriptor
52 } else throw new IllegalArgumentException('''Unsupported descriptor type: «descriptor.class.simpleName»''')
53 }
54
55
56}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2NeighbourhoodRepresentation.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2NeighbourhoodRepresentation.xtend
new file mode 100644
index 00000000..df6fb6ae
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2NeighbourhoodRepresentation.xtend
@@ -0,0 +1,345 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
6import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
8import java.util.HashMap
9import java.util.HashSet
10import java.util.LinkedList
11import java.util.List
12import java.util.Map
13import java.util.Set
14
15import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
16
17abstract class PartialInterpretation2NeighbourhoodRepresentation<ModelRepresentation,NodeRepresentation> {
18 private val boolean deepRepresentation
19 private val boolean mergeSimilarNeighbourhood
20
21 protected new(boolean deeprepresentation, boolean mergeSimilarNeighbourhood) {
22 this.deepRepresentation = deeprepresentation
23 this.mergeSimilarNeighbourhood = mergeSimilarNeighbourhood
24 }
25
26 public static val FixPointRage = -1
27 public static val FullParallels = Integer.MAX_VALUE
28 public static val MaxNumbers = Integer.MAX_VALUE
29
30 /**
31 * Creates a neighbourhood representation with traces
32 * @param model The model to be represented.
33 * @param range The range of the neighbourhood.
34 * @param parallels The maximal number of parallel references to be differentiated.
35 */
36 def public createRepresentation(PartialInterpretation model, int range, int parallels, int maxNumber) {
37 return createRepresentation(model,range,parallels,maxNumber,null,null)
38 }
39
40 def public createRepresentation(
41 PartialInterpretation model,
42 int range, int parallels, int maxNumber,
43 Set<TypeDeclaration> relevantTypes, Set<RelationDeclaration> relevantRelations)
44 {
45 val Map<DefinedElement, Set<String>> types = new HashMap
46 fillTypes(model,types,relevantTypes)
47 val Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations = new HashMap;
48 val Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations = new HashMap;
49 fillReferences(model,IncomingRelations,OutgoingRelations,relevantRelations)
50
51 val res = doRecursiveNeighbourCalculation(model,types,IncomingRelations,OutgoingRelations,range,parallels,maxNumber);
52
53 return res;
54 }
55
56 def private isRelevant(TypeDeclaration t, Set<TypeDeclaration> relevantTypes) {
57 if(relevantTypes === null) {
58 return true
59 } else {
60 return relevantTypes.contains(t)
61 }
62 }
63 def private isRelevant(RelationDeclaration r, Set<RelationDeclaration> relevantRelations) {
64 if(relevantRelations === null) {
65 return true
66 } else {
67 return relevantRelations.contains(r)
68 }
69 }
70
71 /**
72 * Creates a neighbourhood representation with traces
73 * @param model The model to be represented.
74 * @param IncomingRelations Requires the previously indexed incoming references.
75 * @param OutgoingRelations Requires the previously indexed outgoing references.
76 * @param range The range of the neighbourhood.
77 * @param parallels The maximal number of parallel references to be differentiated.
78 */
79 def private NeighbourhoodWithTraces<ModelRepresentation,NodeRepresentation> doRecursiveNeighbourCalculation(
80 PartialInterpretation model,
81 Map<DefinedElement, Set<String>> types,
82 Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations,
83 Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations,
84 int range, int parallels, int maxNumber)
85 {
86 if(range == 0){
87 val r = calculateLocalNodeDescriptors(model,types,maxNumber)
88 val res = this.createLocalRepresentation(r.value,r.key)
89 if(res.modelRepresentation === null) {
90 throw new IllegalArgumentException('''Model representation is null''')
91 } else if(res.nodeRepresentations === null || res.nodeRepresentations.empty) {
92 throw new IllegalArgumentException('''No node representation''')
93 } else if(res.previousRepresentation !== null) {
94 throw new IllegalArgumentException('''The previous representation of the first neighbourhood have to be null''')
95 } else return res
96 } else if(range > 0) {
97 val previous = doRecursiveNeighbourCalculation(model,types,IncomingRelations,OutgoingRelations,range-1,parallels,maxNumber)
98 val r = calculateFurtherNodeDescriptors(model,previous,IncomingRelations,OutgoingRelations,parallels,maxNumber)
99 //println('''Level «range» finished.''')
100 val res = createFurtherRepresentation(r.key,r.value,previous,deepRepresentation)
101 if(res.modelRepresentation === null) {
102 throw new IllegalArgumentException('''Model representation is null''')
103 } else if(res.nodeRepresentations === null || res.nodeRepresentations.empty) {
104 throw new IllegalArgumentException('''No node representation''')
105 } else if(res.previousRepresentation === null && deepRepresentation) {
106 throw new IllegalArgumentException('''Need previous representations''')
107 } else return res
108 } else if (range == FixPointRage) {
109 return refineUntilFixpoint(model,types,IncomingRelations,OutgoingRelations,parallels,maxNumber)
110 }
111 }
112
113 def private refineUntilFixpoint(
114 PartialInterpretation model,
115 Map<DefinedElement, Set<String>> types,
116 Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations,
117 Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations,
118 int parallels, int maxNumbers)
119 {
120 var lastRange = 0
121 val last = calculateLocalNodeDescriptors(model,types,maxNumbers)
122 var lastRepresentation = this.createLocalRepresentation(last.value,last.key)
123 //println('''Level 0 finished.''')
124 var boolean hasRefined
125 do {
126 val nextRange = lastRange+1
127 val next = calculateFurtherNodeDescriptors(model,lastRepresentation,IncomingRelations,OutgoingRelations,parallels,maxNumbers)
128 val nextRepresentation = createFurtherRepresentation(next.key,next.value,lastRepresentation,deepRepresentation)
129
130 val previousNumberOfTypes =lastRepresentation.nodeRepresentations.values.toSet.size
131 val nextNumberOfTypes = nextRepresentation.nodeRepresentations.values.toSet.size
132 hasRefined = nextNumberOfTypes > previousNumberOfTypes
133
134 lastRange = nextRange
135 lastRepresentation = nextRepresentation
136
137// if(hasRefined) {
138// println('''Level «nextRange» is calculated, number of types is refined: «previousNumberOfTypes» -> «nextNumberOfTypes»''')
139// } else {
140// println('''Level «nextRange» is calculated, but the number of types is not refined: «previousNumberOfTypes» = «nextNumberOfTypes»''')
141// }
142 } while (hasRefined)
143 return lastRepresentation
144 }
145
146 def private getElements(PartialInterpretation model) {
147 return model.problem.elements + model.newElements
148 }
149
150 def private fillTypes(PartialInterpretation model, Map<DefinedElement, Set<String>> node2Type, Set<TypeDeclaration> relevantTypes) {
151 for(element : model.elements) {
152 node2Type.put(element, new HashSet)
153 }
154
155// for(typeDefinition : model.problem.types.filter(TypeDefinition)) {
156// // Dont need
157// }
158 for(typeInterpretation : model.partialtypeinterpratation) {
159 val type = typeInterpretation.interpretationOf
160 if(type.isRelevant(relevantTypes)) {
161 for(element : typeInterpretation.elements) {
162 element.lookup(node2Type).add(type.name)
163 }
164 }
165 }
166 }
167
168 /**
169 * Indexes the references
170 */
171 def private fillReferences(PartialInterpretation model,
172 Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations,
173 Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations,
174 Set<RelationDeclaration> relevantRelations)
175 {
176 for(object : model.elements) {
177 IncomingRelations.put(object,new LinkedList)
178 OutgoingRelations.put(object,new LinkedList)
179 }
180 for(relationInterpretation : model.partialrelationinterpretation) {
181 val type = relationInterpretation.interpretationOf
182 if(type.isRelevant(relevantRelations)) {
183 for(link : relationInterpretation.relationlinks) {
184 if(link instanceof BinaryElementRelationLink) {
185 OutgoingRelations.get(link.param1) += new OutgoingRelation(link.param2,type.name)
186 IncomingRelations.get(link.param2) += new IncomingRelation(link.param1,type.name)
187 } else throw new UnsupportedOperationException
188 }
189 }
190 }
191 }
192
193 /**
194 * Creates a local representation of the objects (aka zero range neighbourhood)
195 */
196 def abstract protected NeighbourhoodWithTraces<ModelRepresentation,NodeRepresentation> createLocalRepresentation(
197 Map<DefinedElement, LocalNodeDescriptor> node2Representation,
198 Map<LocalNodeDescriptor, Integer> representation2Amount
199 )
200
201 /**
202 * Creates a
203 */
204 def abstract protected NeighbourhoodWithTraces<ModelRepresentation,NodeRepresentation> createFurtherRepresentation(
205 Map<FurtherNodeDescriptor<NodeRepresentation>, Integer> nodeDescriptors,
206 Map<DefinedElement, FurtherNodeDescriptor<NodeRepresentation>> node2Representation,
207 NeighbourhoodWithTraces<ModelRepresentation,NodeRepresentation> previous,
208 boolean deepRepresentation
209 )
210
211 def private addOne(int original, int max) {
212 if(original == Integer.MAX_VALUE) return Integer.MAX_VALUE
213 if(original +1 > max) return Integer.MAX_VALUE
214 else return original+1
215 }
216
217 private def calculateIncomingEdges(Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations,
218 DefinedElement object, Map<DefinedElement, ? extends NodeRepresentation> previousNodeRepresentations, int parallel)
219 {
220 val Map<IncomingRelation<NodeRepresentation>, Integer> res = new HashMap
221 for (incomingConcreteEdge : IncomingRelations.get(object)) {
222 val IncomingRelation<NodeRepresentation> e = new IncomingRelation(
223 previousNodeRepresentations.get(incomingConcreteEdge.from), incomingConcreteEdge.type)
224 if (res.containsKey(e)) {
225 res.put(e, addOne(res.get(e),parallel))
226 } else {
227 res.put(e, 1)
228 }
229 }
230 return res
231 }
232
233 private def calcuateOutgoingEdges(Map<DefinedElement,List<OutgoingRelation<DefinedElement>>> OutgoingRelations,
234 DefinedElement object, Map<DefinedElement, ? extends NodeRepresentation> previousNodeRepresentations, int parallel)
235 {
236 val Map<OutgoingRelation<NodeRepresentation>,Integer> res= new HashMap
237 for(outgoingConcreteEdge : OutgoingRelations.get(object)) {
238 val OutgoingRelation<NodeRepresentation> e =
239 new OutgoingRelation(
240 previousNodeRepresentations.get(outgoingConcreteEdge.to),
241 outgoingConcreteEdge.type)
242 if(res.containsKey(e)) {
243 res.put(e,addOne(res.get(e),parallel))
244 } else {
245 res.put(e,1)
246 }
247 }
248 return res;
249 }
250
251 /*def private <KEY,VALUE> void addOrCreate_Set(Map<KEY,Set<VALUE>> map, KEY key, VALUE value) {
252 var Set<VALUE> s;
253 if(map.containsKey(key)) {
254 s = map.get(key);
255 } else {
256 s = new HashSet
257 map.put(key,s)
258 }
259 s.add(value)
260 }*/
261
262
263 private def calculateFurtherNodeDescriptors(
264 PartialInterpretation model,
265 NeighbourhoodWithTraces<ModelRepresentation, NodeRepresentation> previous,
266 Map<DefinedElement, List<IncomingRelation<DefinedElement>>> IncomingRelations,
267 Map<DefinedElement, List<OutgoingRelation<DefinedElement>>> OutgoingRelations,
268 int parallels, int maxNumber)
269 {
270 val previousNodeRepresentations = previous.nodeRepresentations
271 val node2Representation = new HashMap<DefinedElement,FurtherNodeDescriptor<NodeRepresentation>>
272 val Map<FurtherNodeDescriptor<NodeRepresentation>,Integer> descriptor2Number =
273 if(this.mergeSimilarNeighbourhood){ new HashMap } else { null }
274 val Map<FurtherNodeDescriptor<NodeRepresentation>,FurtherNodeDescriptor<NodeRepresentation>> uniqueDescription =
275 if(this.mergeSimilarNeighbourhood){ new HashMap } else { null }
276
277 for(object: model.elements) {
278 val incomingEdges = this.calculateIncomingEdges(IncomingRelations, object, previousNodeRepresentations,parallels)
279 val outgoingEdges = this.calcuateOutgoingEdges(OutgoingRelations,object, previousNodeRepresentations,parallels)
280
281 val previousType = previousNodeRepresentations.get(object)
282
283 if(previousType === null) {
284 println("Error in state coder")
285 }
286
287 val nodeDescriptor = new FurtherNodeDescriptor(
288 previousType,
289 incomingEdges,
290 outgoingEdges)
291
292 if(this.mergeSimilarNeighbourhood) {
293 if(descriptor2Number.containsKey(nodeDescriptor)) {
294 descriptor2Number.put(
295 nodeDescriptor,
296 addOne(descriptor2Number.get(nodeDescriptor),maxNumber)
297 )
298 node2Representation.put(object,uniqueDescription.get(nodeDescriptor))
299 } else {
300 descriptor2Number.put(nodeDescriptor,1)
301 uniqueDescription.put(nodeDescriptor,nodeDescriptor)
302 node2Representation.put(object,nodeDescriptor)
303 }
304 } else {
305 node2Representation.put(object,nodeDescriptor)
306 }
307 }
308
309 return descriptor2Number -> node2Representation
310 }
311
312 private def calculateLocalNodeDescriptors(
313 PartialInterpretation model,
314 Map<DefinedElement, Set<String>> types,
315 int maxNumber)
316 {
317 val Map<DefinedElement, LocalNodeDescriptor> node2Representation = new HashMap
318 val Map<LocalNodeDescriptor, Integer> representation2Amount =
319 if(mergeSimilarNeighbourhood){ new HashMap } else { null }
320 val Map<LocalNodeDescriptor, LocalNodeDescriptor> uniqueRepresentation =
321 if(this.mergeSimilarNeighbourhood){ new HashMap } else { null }
322
323 for(element : model.elements) {
324 var newDescriptor = new LocalNodeDescriptor(element.name,element.lookup(types))
325 if(this.mergeSimilarNeighbourhood){
326 if(uniqueRepresentation.containsKey(newDescriptor)) {
327 newDescriptor = newDescriptor.lookup(uniqueRepresentation)
328 node2Representation.put(element,newDescriptor)
329 representation2Amount.put(
330 newDescriptor,
331 addOne(newDescriptor.lookup(representation2Amount),maxNumber)
332 )
333 } else {
334 uniqueRepresentation.put(newDescriptor,newDescriptor)
335 node2Representation.put(element,newDescriptor)
336 representation2Amount.put(newDescriptor, 1)
337 }
338 } else {
339 node2Representation.put(element,newDescriptor)
340 }
341 }
342
343 return representation2Amount -> node2Representation
344 }
345} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/IdentifierBasedStateCoderFactory.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/IdentifierBasedStateCoderFactory.xtend
new file mode 100644
index 00000000..c421ace6
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/IdentifierBasedStateCoderFactory.xtend
@@ -0,0 +1,129 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.statecoder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
4import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
5import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink
6import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation
8import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation
9import java.util.ArrayList
10import java.util.Comparator
11import java.util.LinkedList
12import java.util.List
13import java.util.SortedSet
14import java.util.TreeSet
15import org.eclipse.emf.common.notify.Notifier
16import org.eclipse.viatra.dse.statecode.IStateCoder
17import org.eclipse.viatra.dse.statecode.IStateCoderFactory
18import org.eclipse.viatra.query.runtime.api.IPatternMatch
19import org.eclipse.xtend.lib.annotations.Accessors
20import org.eclipse.xtend.lib.annotations.Data
21
22class IdentifierBasedStateCoderFactory implements IStateCoderFactory{
23
24 val List<IdentifierBasedStateCoder> statecoders = new LinkedList
25 synchronized override createStateCoder() {
26 val res = new IdentifierBasedStateCoder
27 statecoders += res
28 return res
29 }
30 def getSumStatecoderRuntime() {
31 statecoders.map[statecoderRuntime].reduce[p1, p2|p1+p2]
32 }
33}
34
35@Data
36class RelationStatecoder {
37 String relationName
38 SortedSet<Pair<Integer,Integer>> links;
39
40 static val comparator= new Comparator<Pair<Integer,Integer>>() {
41 override compare(Pair<Integer, Integer> o1, Pair<Integer, Integer> o2) {
42 if(o1.key > o2.key) {
43 return 1
44 } else if(o1.key < o2.key) {
45 return -1
46 } else {
47 return Integer.compare(o1.value,o2.value)
48 }
49 }
50 }
51
52 new(String relationName) {
53 this.relationName = relationName
54 links = new TreeSet(comparator)
55 }
56}
57
58@Data
59class IdentifierBasedStateCode {
60 int numberOfNewElement
61 SortedSet<RelationStatecoder> relationStatecoders
62
63 private static val comparator = new Comparator<RelationStatecoder>() {
64 override compare(RelationStatecoder o1, RelationStatecoder o2) {
65 o1.relationName.compareTo(o2.relationName)
66 }
67 }
68
69 public new(int numberOfNewElements) {
70 this.numberOfNewElement = numberOfNewElements
71 this.relationStatecoders = new TreeSet(comparator)
72 }
73}
74
75class IdentifierBasedStateCoder implements IStateCoder{
76 var PartialInterpretation model = null
77
78 @Accessors(PUBLIC_GETTER) var long statecoderRuntime = 0
79
80 override createActivationCode(IPatternMatch match) {
81 val startTime = System.nanoTime
82 val res = new ArrayList(match.parameterNames.size)
83 var index = 0
84 while(index < match.parameterNames.size) {
85 res.add(getID(match.get(index)))
86 index++
87 }
88 statecoderRuntime += (System.nanoTime - startTime)
89 return match.specification.fullyQualifiedName -> res
90 }
91
92 override createStateCode() {
93 val startTime = System.nanoTime
94 val res = new IdentifierBasedStateCode(model.newElements.size)
95 for(relation : model.partialrelationinterpretation) {
96 val relationCoder = new RelationStatecoder(relation.interpretationOf.name)
97 for(link: relation.relationlinks.filter(BinaryElementRelationLink)) {
98 relationCoder.links+=link.param1.ID -> link.param2.ID
99 }
100 res.relationStatecoders+=relationCoder
101 }
102 statecoderRuntime += (System.nanoTime - startTime)
103 return res
104 }
105
106 def getID(Object element) {
107 if(element instanceof DefinedElement) {
108 val container = element.eContainer
109 if(container instanceof LogicProblem) {
110 return -container.elements.indexOf(element)-1
111 } else if(container instanceof PartialInterpretation){
112 return container.newElements.indexOf(element)+1
113 }
114 } else if(element instanceof PartialInterpretation || element instanceof LogicProblem) {
115 return 0
116 } else if(element instanceof PartialRelationInterpretation) {
117 return element.interpretationOf.name.hashCode
118 } else if(element instanceof PartialTypeInterpratation) {
119 return element.interpretationOf.name.hashCode
120 } else {
121 println(element)
122 throw new UnsupportedOperationException('''Unsupported type: «element.class.simpleName»''')
123 }
124 }
125
126 override init(Notifier notifier) {
127 model = notifier as PartialInterpretation
128 }
129} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend
new file mode 100644
index 00000000..5fb85b0c
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend
@@ -0,0 +1,206 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.statecoder
2
3import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.AbstractNodeDescriptor
4import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2ImmutableTypeLattice
5import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
6import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage
7import java.util.ArrayList
8import java.util.LinkedList
9import java.util.List
10import java.util.Map
11import org.eclipse.emf.common.notify.Notifier
12import org.eclipse.emf.ecore.EClass
13import org.eclipse.emf.ecore.EObject
14import org.eclipse.emf.ecore.EStructuralFeature
15import org.eclipse.viatra.dse.statecode.IStateCoder
16import org.eclipse.viatra.dse.statecode.IStateCoderFactory
17import org.eclipse.viatra.query.runtime.api.IPatternMatch
18import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
19import org.eclipse.viatra.query.runtime.base.api.FeatureListener
20import org.eclipse.viatra.query.runtime.base.api.IndexingLevel
21import org.eclipse.viatra.query.runtime.base.api.InstanceListener
22import org.eclipse.viatra.query.runtime.emf.EMFBaseIndexWrapper
23import org.eclipse.viatra.query.runtime.emf.EMFScope
24import org.eclipse.xtend.lib.annotations.Accessors
25import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
26import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
27import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation
28import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation
29import java.util.Set
30import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
31import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
32import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2NeighbourhoodRepresentation
33
34class NeighbourhoodBasedStateCoderFactory implements IStateCoderFactory {
35 val List<NeighbourhoodBasedPartialInterpretationStateCoder> statecoders = new LinkedList
36
37 val int range
38 val int parallels
39 val int maxNumber
40 val Set<TypeDeclaration> relevantTypes
41 val Set<RelationDeclaration> relevantRelations
42
43 public new() {
44 this.range = PartialInterpretation2NeighbourhoodRepresentation::FixPointRage
45 this.parallels = PartialInterpretation2NeighbourhoodRepresentation::FullParallels
46 this.maxNumber = PartialInterpretation2NeighbourhoodRepresentation::MaxNumbers
47 this.relevantTypes = null
48 this.relevantRelations = null
49 }
50
51 public new(int range, int parallels, int maxNumber, Set<TypeDeclaration> relevantTypes, Set<RelationDeclaration> relevantRelations) {
52 this.range = range
53 this.parallels = parallels
54 this.maxNumber = maxNumber
55 this.relevantTypes = relevantTypes
56 this.relevantRelations = relevantRelations
57 }
58
59 synchronized override createStateCoder() {
60 val res = new NeighbourhoodBasedPartialInterpretationStateCoder(statecoders.size,
61 range,parallels,maxNumber,relevantTypes,relevantRelations)
62 statecoders += res
63 return res
64 }
65 def getSumStatecoderRuntime() {
66 statecoders.map[statecoderRuntime].reduce[p1, p2|p1+p2]
67 }
68}
69
70class NeighbourhoodBasedPartialInterpretationStateCoder implements IStateCoder{
71 val int id;
72 val int range
73 val int parallels
74 val int maxNumber
75 val Set<TypeDeclaration> relevantTypes
76 val Set<RelationDeclaration> relevantRelations
77
78 val calculator =
79 new PartialInterpretation2ImmutableTypeLattice
80 var PartialInterpretation target
81
82 private var Map<DefinedElement, ? extends AbstractNodeDescriptor> nodeRepresentations = null
83 private var Map<? extends AbstractNodeDescriptor, Integer> modelRepresentation = null
84
85 /*public new(int id) {
86 this.id = id
87 this.range = PartialInterpretation2NeighbourhoodRepresentation::FixPointRage
88 this.parallels = PartialInterpretation2NeighbourhoodRepresentation::FullParallels
89 this.maxNumber = maxNumber = PartialInterpretation2NeighbourhoodRepresentation::MaxNumbers
90 this.relevantTypes = relevantTypes
91 this.relevantRelations = relevantRelations
92 }*/
93
94 public new(int id, int range, int parallels, int maxNumber, Set<TypeDeclaration> relevantTypes, Set<RelationDeclaration> relevantRelations) {
95 this.id = id
96 this.range = range
97 this.parallels = parallels
98 this.maxNumber = maxNumber
99 this.relevantTypes = relevantTypes
100 this.relevantRelations = relevantRelations
101 }
102
103 @Accessors(PUBLIC_GETTER) var long statecoderRuntime = 0
104
105// val range = -1
106// val par = Integer.MAX_VALUE
107 //val deeprepresentation = false
108
109 /////////
110 // Caching version
111 /////////
112 synchronized private def refreshStateCodes() {
113 if(this.nodeRepresentations === null || this.modelRepresentation === null) {
114 val startTime = System.nanoTime
115 //relevantObjects.forEach[println(it)]
116 val code = calculator.createRepresentation(target,range,parallels,maxNumber,relevantTypes,relevantRelations)
117 this.modelRepresentation = code.modelRepresentation
118 this.nodeRepresentations = code.nodeRepresentations
119 statecoderRuntime += (System.nanoTime - startTime)
120 }
121 }
122 synchronized override createActivationCode(IPatternMatch match) {
123 refreshStateCodes
124
125 val startTime = System.nanoTime
126 val size = match.specification.parameters.size
127 val res = new ArrayList(size)
128 var int index = 0
129 while(index < size) {
130 res.add(getCode(match.get(index)))
131 index++
132 }
133 statecoderRuntime += (System.nanoTime - startTime)
134 return match.specification.fullyQualifiedName->res.hashCode
135 }
136
137 def private getCode(Object o) {
138 if(o instanceof DefinedElement) {
139 this.nodeRepresentations.get(o)
140 } else if(o instanceof PartialInterpretation || o instanceof LogicProblem) {
141 return null
142 } else if(o instanceof PartialRelationInterpretation) {
143 return o.interpretationOf.name
144 } else if(o instanceof PartialTypeInterpratation) {
145 return o.interpretationOf.name
146 } else {
147 throw new UnsupportedOperationException('''Unsupported type: «o.class.simpleName»''')
148 }
149 }
150
151 synchronized override createStateCode() {
152 refreshStateCodes
153 return this.modelRepresentation.hashCode
154 }
155 /////////
156 // Caching version
157 /////////
158
159 /////////
160 // Recalculating version
161 /////////
162// synchronized override createActivationCode(IPatternMatch match) {
163// val nodes = calculator.createRepresentation(getRelevantObjects().toList,range,par).nodeRepresentations
164// val res = match.toArray.map[objectInMatch |
165// nodes.get(objectInMatch)
166// ]
167// return res
168// }
169//
170// override createStateCode() {
171// return this.calculator.createRepresentation(getRelevantObjects().toList,range,par).modelRepresentation
172// }
173 /////////
174 // Recalculating version
175 /////////
176
177 override init(Notifier notifier) {
178 this.target = notifier as PartialInterpretation
179 val queryEngine = ViatraQueryEngine.on(new EMFScope(notifier))
180 val baseIndex = queryEngine.getBaseIndex() as EMFBaseIndexWrapper
181 val navigationHelper = baseIndex.getNavigationHelper();
182
183 val classes = PartialinterpretationPackage.eINSTANCE.EClassifiers.filter(EClass).toSet
184 val features = classes.map[it.EAllStructuralFeatures].flatten.toSet
185 navigationHelper.registerObservedTypes(
186 classes,
187 null,
188 features,
189 IndexingLevel.FULL);
190
191
192 navigationHelper.addFeatureListener(features, new FeatureListener() {
193 override public void featureInserted(EObject host, EStructuralFeature feature, Object value) { invalidate }
194 override public void featureDeleted(EObject host, EStructuralFeature feature, Object value) { invalidate }
195 });
196 navigationHelper.addInstanceListener(classes, new InstanceListener() {
197 override public void instanceInserted(EClass clazz, EObject instance) { invalidate }
198 override public void instanceDeleted(EClass clazz, EObject instance) { invalidate }
199 });
200 }
201
202 synchronized def public invalidate() {
203 this.nodeRepresentations = null
204 this.modelRepresentation = null
205 }
206}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/visualisation/PartialInterpretation2Gml.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/visualisation/PartialInterpretation2Gml.xtend
new file mode 100644
index 00000000..819cae00
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/visualisation/PartialInterpretation2Gml.xtend
@@ -0,0 +1,136 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation
2
3import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
5import java.util.Map
6import java.util.HashMap
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
9import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation
10import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
12import java.util.Set
13
14class PartialInterpretation2Gml {
15 def public transform(PartialInterpretation i) {
16 val p = i.problem
17 val Map<DefinedElement, Integer> objectToID = new HashMap
18 val containmentRelations = p.containmentHierarchies.map[it.containmentRelations].flatten.toSet
19 '''
20 graph
21 [
22 «FOR object:p.elements + i.newElements SEPARATOR '\n'»
23 «this.transformObject(object,object.typesOfElement(i),objectToID)»
24 «ENDFOR»
25 «FOR relation:i.partialrelationinterpretation»
26 «FOR link:relation.relationlinks.filter(BinaryElementRelationLink)»
27 «transformLink(relation,link,objectToID,containmentRelations)»
28 «ENDFOR»
29 «ENDFOR»
30 ]
31 '''.toString
32 }
33 def typesOfElement(DefinedElement e, PartialInterpretation i) {
34 i.problem.types.filter(TypeDefinition).filter[it.elements.contains(e)] +
35 i.partialtypeinterpratation.filter[it.elements.contains(e)].map[it.interpretationOf]
36 }
37
38 val protected titleSize = 16
39 val protected attributeSize = 14
40 val protected borderDistance = 6
41 val protected attributeBorderDistance = 8
42 val protected ratio = 11.0/20.0
43
44 def protected transformObject(DefinedElement object,Iterable<Type> types,Map<DefinedElement, Integer> objectToID){
45 val title = object.transormTitle
46 val attributes = types.map[it.name]
47
48 var double width = title.length*titleSize + borderDistance*2;
49 for(x:attributes.map[length*attributeSize + borderDistance*2 + attributeBorderDistance*2])
50 width = Math::max(width,x)
51 width = width*ratio
52
53 val height = Math::max(
54 titleSize+4,
55 (attributes.size+1)*attributeSize + borderDistance*2)
56
57 val id = objectToID.size
58 objectToID.put(object,id)
59
60 '''
61 node
62 [
63 id «id»
64 graphics
65 [
66 w «width»
67 h «height»
68 type "rectangle"
69 fill "#FFFFFF"
70 fill2 "#FFFFFF"
71 outline "#000000"
72 ]
73 LabelGraphics
74 [
75 text "«title»"
76 outline "#000000"
77 fill "#FFFFFF"
78 fontSize «titleSize»
79 fontName "Monospace"
80 autoSizePolicy "node_width"
81 anchor "t"
82 borderDistance 0.0
83 ]
84 LabelGraphics
85 [
86 text "
87 «FOR attribute : attributes»
88 «attribute»
89 «ENDFOR»"
90 fontSize «attributeSize»
91 fontName "Consolas"
92 alignment "left"
93 anchor "tl"
94 borderDistance «borderDistance»
95 ]
96 ]
97 '''
98 }
99
100 def protected transormTitle(DefinedElement object) {
101 if(object.name!= null)object.name
102 else "null"
103 }
104
105 def protected transformLink(
106 PartialRelationInterpretation reference,
107 BinaryElementRelationLink link,
108 Map<DefinedElement, Integer> objectToID,
109 Set<Relation> containmentRelations)
110 {
111 '''
112 edge
113 [
114 source «objectToID.get(link.param1)»
115 target «objectToID.get(link.param2)»
116 graphics
117 [
118 fill "#000000"
119 «IF containmentRelations.contains(reference.interpretationOf)»
120 width 3
121 «ENDIF»
122 targetArrow "standard"
123 ]
124 LabelGraphics
125 [
126 text "«reference.interpretationOf.name»"
127 fontSize 14
128 fontName "Consolas"
129 configuration "AutoFlippingLabel"
130 model "six_pos"
131 position "thead"
132 ]
133 ]
134 '''
135 }
136} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/.classpath b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/.classpath
new file mode 100644
index 00000000..2b46fc9b
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/.classpath
@@ -0,0 +1,9 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
4 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
5 <classpathentry kind="src" path="src"/>
6 <classpathentry kind="src" path="xtend-gen"/>
7 <classpathentry kind="src" path="src-gen/"/>
8 <classpathentry kind="output" path="bin"/>
9</classpath>
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/.gitignore b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/.gitignore
new file mode 100644
index 00000000..b33f6aff
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/.gitignore
@@ -0,0 +1,2 @@
1/bin/
2/xtend-gen/
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/.project b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/.project
new file mode 100644
index 00000000..712083e9
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.jdt.core.javabuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.ManifestBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.SchemaBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.pde.PluginNature</nature>
31 <nature>org.eclipse.jdt.core.javanature</nature>
32 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/.settings/org.eclipse.jdt.core.prefs b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/META-INF/MANIFEST.MF b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..bc965aa4
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/META-INF/MANIFEST.MF
@@ -0,0 +1,23 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: Reasoner
4Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner
5Bundle-Version: 1.0.0.qualifier
6Export-Package: hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner
7Require-Bundle: hu.bme.mit.inf.dslreasoner.ecore2logic;bundle-version="1.0.0",
8 hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0",
9 hu.bme.mit.inf.dslreasoner.viatra2logic;bundle-version="1.0.0",
10 hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatraquery;bundle-version="1.0.0",
11 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;bundle-version="1.0.0",
12 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic;bundle-version="1.0.0",
13 com.google.guava,
14 org.eclipse.xtext.xbase.lib,
15 org.eclipse.xtend.lib,
16 org.eclipse.xtend.lib.macro,
17 org.eclipse.viatra.query.runtime.matchers;bundle-version="1.5.0",
18 org.eclipse.viatra.query.runtime;bundle-version="1.5.0",
19 org.eclipse.viatra.dse;bundle-version="0.15.0",
20 org.eclipse.viatra.dse.genetic;bundle-version="0.15.0",
21 org.eclipse.emf.ecore.edit;bundle-version="2.9.0"
22Bundle-RequiredExecutionEnvironment: JavaSE-1.8
23Import-Package: org.apache.log4j
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/build.properties b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/build.properties
new file mode 100644
index 00000000..aed85a48
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/build.properties
@@ -0,0 +1,5 @@
1bin.includes = META-INF/,\
2 .
3source.. = src/,\
4 src-gen/
5output.. = bin/
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ModelGenerationMethodBasedGlobalConstraint.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ModelGenerationMethodBasedGlobalConstraint.xtend
new file mode 100644
index 00000000..28cf986d
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ModelGenerationMethodBasedGlobalConstraint.xtend
@@ -0,0 +1,11 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner
2
3import org.eclipse.viatra.dse.objectives.IGlobalConstraint
4import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationMethod
5
6abstract class ModelGenerationMethodBasedGlobalConstraint implements IGlobalConstraint {
7 val protected ModelGenerationMethod method
8 new(ModelGenerationMethod method) {
9 this.method = method
10 }
11} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend
new file mode 100644
index 00000000..38cc9459
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend
@@ -0,0 +1,205 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner
4import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException
5import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage
9import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultFactory
10import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult
11import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationMethodProvider
12import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.PartialInterpretationInitialiser
13import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage
14import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.statecoder.IdentifierBasedStateCoderFactory
15import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.statecoder.NeighbourhoodBasedStateCoderFactory
16import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.BestFirstStrategyForModelGeneration
17import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.ModelGenerationCompositeObjective
18import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.PartialModelAsLogicInterpretation
19import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.ScopeObjective
20import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.UnfinishedMultiplicityObjective
21import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.UnfinishedWFObjective
22import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.WF2ObjectiveConverter
23import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
24import org.eclipse.viatra.dse.api.DesignSpaceExplorer
25import org.eclipse.viatra.dse.api.DesignSpaceExplorer.DseLoggingLevel
26import org.eclipse.viatra.dse.solutionstore.SolutionStore
27import org.eclipse.viatra.dse.statecode.IStateCoderFactory
28
29class ViatraReasoner extends LogicReasoner{
30 val PartialInterpretationInitialiser initialiser = new PartialInterpretationInitialiser()
31 val ModelGenerationMethodProvider modelGenerationMethodProvider = new ModelGenerationMethodProvider
32 val extension LogicresultFactory factory = LogicresultFactory.eINSTANCE
33 val WF2ObjectiveConverter wf2ObjectiveConverter = new WF2ObjectiveConverter
34
35 val LogicReasoner inconsistencyDetector
36
37 public new() {
38 this.inconsistencyDetector=null
39 }
40
41 public new(LogicReasoner inconsistencyDetector) {
42 this.inconsistencyDetector = inconsistencyDetector
43 }
44
45 override solve(LogicProblem problem, LogicSolverConfiguration configuration, ReasonerWorkspace workspace) throws LogicReasonerException {
46 val viatraConfig = configuration.asConfig
47 val DesignSpaceExplorer dse = new DesignSpaceExplorer();
48
49 /*
50 DesignSpaceExplorer.turnOnLogging(DseLoggingLevel.VERBOSE_FULL)
51 /*/
52 DesignSpaceExplorer.turnOnLogging(DseLoggingLevel.WARN)
53 //*/
54
55 dse.addMetaModelPackage(LogiclanguagePackage.eINSTANCE)
56 dse.addMetaModelPackage(LogicproblemPackage.eINSTANCE)
57 dse.addMetaModelPackage(PartialinterpretationPackage.eINSTANCE)
58
59 val transformationStartTime = System.nanoTime
60
61 val emptySolution = initialiser.initialisePartialInterpretation(problem,
62 viatraConfig.typeScopes.minNewElements,
63 viatraConfig.typeScopes.maxNewElements).output
64 emptySolution.problemConainer = problem
65
66 val method = modelGenerationMethodProvider.createModelGenerationMethod(
67 problem,
68 emptySolution,
69 viatraConfig.existingQueries,
70 workspace,
71 viatraConfig.nameNewElements,
72 viatraConfig.typeInferenceMethod
73 )
74
75 dse.addObjective(new ModelGenerationCompositeObjective(
76 new ScopeObjective,
77 method.unfinishedMultiplicities.map[new UnfinishedMultiplicityObjective(it)],
78 new UnfinishedWFObjective(method.unfinishedWF)
79 ))
80
81 dse.addGlobalConstraint(wf2ObjectiveConverter.createInvalidationObjective(method.invalidWF))
82 for(additionalConstraint : configuration.asConfig.additionalGlobalConstraints) {
83 dse.addGlobalConstraint(additionalConstraint.apply(method))
84 }
85
86 dse.setInitialModel(emptySolution)
87
88 var IStateCoderFactory statecoder = if(viatraConfig.stateCoderStrategy == StateCoderStrategy.Neighbourhood) {
89 new NeighbourhoodBasedStateCoderFactory
90 } else {
91 new IdentifierBasedStateCoderFactory
92 }
93 dse.stateCoderFactory = statecoder
94
95 dse.maxNumberOfThreads = 1
96
97 val solutionStore = new SolutionStore(configuration.solutionScope.numberOfRequiredSolution)
98 dse.solutionStore = solutionStore
99
100 for(rule : method.relationRefinementRules) {
101 dse.addTransformationRule(rule)
102 }
103 for(rule : method.objectRefinementRules) {
104 dse.addTransformationRule(rule)
105 }
106
107 val strategy = new BestFirstStrategyForModelGeneration(
108 workspace,inconsistencyDetector,
109 viatraConfig.inconsistencDetectorConfiguration,
110 viatraConfig.diversityRequirement)
111
112 val transformationTime = System.nanoTime - transformationStartTime
113 val solverStartTime = System.nanoTime
114 var boolean stoppedByTimeout
115 var boolean stoppedByException
116 try{
117 stoppedByTimeout = dse.startExplorationWithTimeout(strategy,configuration.runtimeLimit*1000);
118 stoppedByException = false
119 } catch (NullPointerException npe) {
120 stoppedByTimeout = false
121 stoppedByException = true
122 }
123
124 val solverTime = System.nanoTime - solverStartTime
125
126 val statecoderFinal = statecoder
127 val statistics = createStatistics => [
128 //it.solverTime = viatraConfig.runtimeLimit
129 it.solverTime = (solverTime/1000000) as int
130 it.transformationTime = (transformationTime/1000000) as int
131 it.entries += createIntStatisticEntry => [
132 it.name = "TransformationExecutionTime" it.value = (method.statistics.transformationExecutionTime/1000000) as int
133 ]
134 it.entries += createIntStatisticEntry => [
135 it.name = "TypeAnalysisTime" it.value = (method.statistics.PreliminaryTypeAnalisisTime/1000000) as int
136 ]
137 it.entries += createIntStatisticEntry => [
138 it.name = "StateCoderTime" it.value = (statecoderFinal.runtime/1000000) as int
139 ]
140 it.entries += createIntStatisticEntry => [
141 it.name = "StateCoderFailCount" it.value = strategy.numberOfStatecoderFaiL
142 ]
143 it.entries += createIntStatisticEntry => [
144 it.name = "SolutionCopyTime" it.value = (strategy.solutionStoreWithCopy.sumRuntime/1000000) as int
145 ]
146 if(strategy.solutionStoreWithDiversityDescriptor.isActive) {
147 it.entries += createIntStatisticEntry => [
148 it.name = "SolutionDiversityCheckTime" it.value = (strategy.solutionStoreWithDiversityDescriptor.sumRuntime/1000000) as int
149 ]
150 it.entries += createRealStatisticEntry => [
151 it.name = "SolutionDiversitySuccessRate" it.value = strategy.solutionStoreWithDiversityDescriptor.successRate
152 ]
153 }
154 ]
155
156 if(stoppedByTimeout) {
157 return createInsuficientResourcesResult=>[
158 it.problem = problem
159 it.resourceName="time"
160 it.statistics = statistics
161 ]
162 } else {
163 if(solutionStore.solutions.empty) {
164 return createInconsistencyResult => [
165 it.problem = problem
166 it.statistics = statistics
167 ]
168 } else {
169
170 /*solutionStore.solutions.head.trajectories.head
171 solutionTrajectory.doTransformation(emptySolution)
172 *
173 */
174 return factory.createModelResult => [
175 it.problem = problem
176 it.trace = null
177 it.representation += strategy.solutionStoreWithCopy.solutions
178 it.statistics = statistics
179 ]
180 }
181 }
182 }
183
184 /*private def simpleWeithts(List<IObjective> objectives) {
185 objectives.map[1.0].toList
186 }*/
187
188 private def dispatch long runtime(NeighbourhoodBasedStateCoderFactory sc) {
189 sc.sumStatecoderRuntime
190 }
191
192 private def dispatch long runtime(IdentifierBasedStateCoderFactory sc) {
193 sc.sumStatecoderRuntime
194 }
195
196 override getInterpretation(ModelResult modelResult) {
197 return new PartialModelAsLogicInterpretation
198 }
199
200 def ViatraReasonerConfiguration asConfig(LogicSolverConfiguration configuration) {
201 if(configuration instanceof ViatraReasonerConfiguration) {
202 return configuration
203 } else throw new IllegalArgumentException('''Wrong configuration. Expected: «ViatraReasonerConfiguration.name», but got: «configuration.class.name»"''')
204 }
205}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend
new file mode 100644
index 00000000..d638dd71
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend
@@ -0,0 +1,42 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
6import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationMethod
7import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeInferenceMethod
8import java.util.LinkedList
9import java.util.List
10import java.util.Set
11import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery
12import org.eclipse.xtext.xbase.lib.Functions.Function1
13
14public enum StateCoderStrategy {
15 Neighbourhood, NeighbourhoodWithEquivalence, IDBased, DefinedByDiversity
16}
17
18class ViatraReasonerConfiguration extends LogicSolverConfiguration{
19 public var Iterable<PQuery> existingQueries
20 public var LogicSolverConfiguration inconsistencDetectorConfiguration = null
21 public var List<Function1<ModelGenerationMethod,ModelGenerationMethodBasedGlobalConstraint>> additionalGlobalConstraints = new LinkedList
22 int maxDepth = -1
23
24 public var TypeInferenceMethod typeInferenceMethod = TypeInferenceMethod.Generic
25
26 public var nameNewElements = false
27 public var StateCoderStrategy stateCoderStrategy = StateCoderStrategy.Neighbourhood
28
29 /**
30 * Describes the required diversity between the solutions.
31 * Null means that the solutions have to have different state codes only.
32 */
33 public var DiversityDescriptor diversityRequirement = null
34}
35
36public class DiversityDescriptor {
37 public var int range = -1
38 public var int parallels = Integer.MAX_VALUE
39 public var int maxNumber = Integer.MAX_VALUE
40 public var Set<TypeDeclaration> relevantTypes
41 public var Set<RelationDeclaration> relevantRelations
42} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/diversity/StateCodeCoverageComparator.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/diversity/StateCodeCoverageComparator.xtend
new file mode 100644
index 00000000..9a9446ba
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/diversity/StateCodeCoverageComparator.xtend
@@ -0,0 +1,8 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.diversity
2
3abstract class StateCodeCoverageComparator<StateCodeType>{
4 def public boolean covers(Object superStateCode, Object subStateCode) {
5 return innerCover(superStateCode as StateCodeType, subStateCode as StateCodeType)
6 }
7 abstract def protected boolean innerCover(StateCodeType superStateCode, StateCodeType subStateCode)
8} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java
new file mode 100644
index 00000000..5a6fee2c
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java
@@ -0,0 +1,372 @@
1/*******************************************************************************
2 * Copyright (c) 2010-2017, Andras Szabolcs Nagy and Daniel Varro
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 * Contributors:
8 * Andras Szabolcs Nagy - initial API and implementation
9 *******************************************************************************/
10package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse;
11
12import java.util.ArrayList;
13import java.util.Arrays;
14import java.util.Collections;
15import java.util.Comparator;
16import java.util.Iterator;
17import java.util.List;
18import java.util.PriorityQueue;
19import java.util.Random;
20
21import org.apache.log4j.Logger;
22import org.eclipse.viatra.dse.api.strategy.interfaces.IStrategy;
23import org.eclipse.viatra.dse.base.ThreadContext;
24import org.eclipse.viatra.dse.objectives.Fitness;
25import org.eclipse.viatra.dse.objectives.ObjectiveComparatorHelper;
26import org.eclipse.viatra.dse.solutionstore.SolutionStore;
27
28import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner;
29import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration;
30import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult;
31import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.PartialInterpretation2Logic;
32import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation;
33import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml;
34import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor;
35import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace;
36
37/**
38 * This exploration strategy eventually explorers the whole design space but goes in the most promising directions
39 * first, based on the {@link Fitness}.
40 *
41 * There are a few parameter to tune such as
42 * <ul>
43 * <li>maximum depth</li>
44 * <li>continue the exploration from a state that satisfies the hard objectives (the default that it will
45 * backtrack),</li>
46 * <li>whether to continue the exploration from the newly explored state if it is at least equally good than the
47 * previous one or only if it is better (default is "at least equally good").</li>
48 * </ul>
49 *
50 * @author Andras Szabolcs Nagy
51 *
52 */
53public class BestFirstStrategyForModelGeneration implements IStrategy {
54
55 private ThreadContext context;
56 private SolutionStore solutionStore;
57 private SolutionStoreWithCopy solutionStoreWithCopy;
58 private SolutionStoreWithDiversityDescriptor solutionStoreWithDiversityDescriptor;
59 private int numberOfStatecoderFail=0;
60
61 private int maxDepth = Integer.MAX_VALUE;
62 private boolean isInterrupted = false;
63 //private boolean backTrackIfSolution = true;
64 private boolean onlyBetterFirst = false;
65
66 private PriorityQueue<TrajectoryWithFitness> trajectoiresToExplore;
67 private Logger logger = Logger.getLogger(IStrategy.class);
68
69 private static class TrajectoryWithFitness {
70
71 public Object[] trajectory;
72 public Fitness fitness;
73
74 public TrajectoryWithFitness(Object[] trajectory, Fitness fitness) {
75 super();
76 this.trajectory = trajectory;
77 this.fitness = fitness;
78 }
79
80 @Override
81 public String toString() {
82 return Arrays.toString(trajectory) + fitness.toString();
83 }
84
85 }
86
87 public BestFirstStrategyForModelGeneration(ReasonerWorkspace workspace, LogicReasoner reasoner, LogicSolverConfiguration configuration, DiversityDescriptor descriptor) {
88 this.maxDepth = Integer.MAX_VALUE;
89 this.workspace = workspace;
90 this.reasoner = reasoner;
91 this.configuration = configuration;
92 this.solutionStoreWithDiversityDescriptor = new SolutionStoreWithDiversityDescriptor(descriptor);
93 }
94
95 @Override
96 public void initStrategy(ThreadContext context) {
97 this.context = context;
98 this.solutionStore = context.getGlobalContext().getSolutionStore();
99 this.solutionStoreWithCopy = new SolutionStoreWithCopy();
100
101
102 final ObjectiveComparatorHelper objectiveComparatorHelper = context.getObjectiveComparatorHelper();
103
104 Comparator<TrajectoryWithFitness> comparator = new Comparator<BestFirstStrategyForModelGeneration.TrajectoryWithFitness>() {
105
106 @Override
107 public int compare(TrajectoryWithFitness o1, TrajectoryWithFitness o2) {
108 return objectiveComparatorHelper.compare(o2.fitness, o1.fitness);
109 }
110 };
111
112 trajectoiresToExplore = new PriorityQueue<TrajectoryWithFitness>(11, comparator);
113
114 }
115
116 public SolutionStoreWithCopy getSolutionStoreWithCopy() {
117 return solutionStoreWithCopy;
118 }
119
120 public SolutionStoreWithDiversityDescriptor getSolutionStoreWithDiversityDescriptor() {
121 return solutionStoreWithDiversityDescriptor;
122 }
123
124 public int getNumberOfStatecoderFaiL() {
125 return numberOfStatecoderFail;
126 }
127
128 @Override
129 public void explore() {
130 final ObjectiveComparatorHelper objectiveComparatorHelper = context.getObjectiveComparatorHelper();
131
132 boolean globalConstraintsAreSatisfied = context.checkGlobalConstraints();
133 if (!globalConstraintsAreSatisfied) {
134 logger.info("Global contraint is not satisifed in the first state. Terminate.");
135 return;
136 }
137
138 final Fitness firstFittness = context.calculateFitness();
139 if (firstFittness.isSatisifiesHardObjectives()) {
140 context.newSolution();
141 logger.info("First state is a solution. Terminate.");
142 return;
143 }
144
145 if (maxDepth == 0) {
146 return;
147 }
148
149 final Object[] firstTrajectory = context.getTrajectory().toArray(new Object[0]);
150 TrajectoryWithFitness currentTrajectoryWithFittness = new TrajectoryWithFitness(firstTrajectory, firstFittness);
151 trajectoiresToExplore.add(currentTrajectoryWithFittness);
152
153 mainLoop: while (!isInterrupted) {
154
155 if (currentTrajectoryWithFittness == null) {
156 if (trajectoiresToExplore.isEmpty()) {
157 logger.debug("State space is fully traversed.");
158 return;
159 } else {
160 currentTrajectoryWithFittness = selectRandomState();// trajectoiresToExplore.element();
161 if (logger.isDebugEnabled()) {
162 logger.debug("Current trajectory: " + Arrays.toString(context.getTrajectory().toArray()));
163 logger.debug("New trajectory is chosen: " + currentTrajectoryWithFittness);
164 }
165// context.backtrackUntilRoot();
166// context.executeTrajectoryWithoutStateCoding(currentTrajectoryWithFittness.trajectory);
167 context.getDesignSpaceManager().executeTrajectoryWithMinimalBacktrackWithoutStateCoding(currentTrajectoryWithFittness.trajectory);
168 }
169
170 }
171
172 List<Object> activationIds;
173 try {
174 activationIds = new ArrayList<Object>(context.getUntraversedActivationIds());
175 Collections.shuffle(activationIds);
176 } catch (NullPointerException e) {
177 numberOfStatecoderFail++;
178 activationIds = Collections.emptyList();
179 }
180
181 Iterator<Object> iterator = activationIds.iterator();
182
183// writeCurrentState();
184// boolean consistencyCheckResult = checkConsistency(currentTrajectoryWithFittness);
185// if(consistencyCheckResult == true) {
186// continue mainLoop;
187// }
188
189 while (!isInterrupted && iterator.hasNext()) {
190 final Object nextActivation = iterator.next();
191 if (!iterator.hasNext()) {
192 logger.debug("Last untraversed activation of the state.");
193 trajectoiresToExplore.remove(currentTrajectoryWithFittness);
194 }
195
196 if (logger.isDebugEnabled()) {
197 logger.debug("Executing new activation: " + nextActivation);
198 }
199 context.executeAcitvationId(nextActivation);
200
201// writeCurrentState();
202
203 if (context.isCurrentStateAlreadyTraversed()) {
204 logger.info("The new state is already visited.");
205 context.backtrack();
206 } else if (!context.checkGlobalConstraints()) {
207 logger.debug("Global contraint is not satisifed.");
208 context.backtrack();
209 } else {
210 final Fitness nextFitness = context.calculateFitness();
211 if (nextFitness.isSatisifiesHardObjectives()) {
212 if(solutionStoreWithDiversityDescriptor.isDifferent(context)) {
213 solutionStoreWithCopy.newSolution(context);
214 solutionStoreWithDiversityDescriptor.newSolution(context);
215 solutionStore.newSolution(context);
216 logger.debug("Found a solution.");
217 }
218 }
219 if (context.getDepth() > maxDepth) {
220 logger.debug("Reached max depth.");
221 context.backtrack();
222 continue;
223 }
224
225 TrajectoryWithFitness nextTrajectoryWithFittness = new TrajectoryWithFitness(
226 context.getTrajectory().toArray(), nextFitness);
227 trajectoiresToExplore.add(nextTrajectoryWithFittness);
228
229 int compare = objectiveComparatorHelper.compare(currentTrajectoryWithFittness.fitness,
230 nextTrajectoryWithFittness.fitness);
231 if (compare < 0) {
232 logger.debug("Better fitness, moving on: " + nextFitness);
233 currentTrajectoryWithFittness = nextTrajectoryWithFittness;
234 continue mainLoop;
235 } else if (compare == 0) {
236 if (onlyBetterFirst) {
237 logger.debug("Equally good fitness, backtrack: " + nextFitness);
238 context.backtrack();
239 continue;
240 } else {
241 logger.debug("Equally good fitness, moving on: " + nextFitness);
242 currentTrajectoryWithFittness = nextTrajectoryWithFittness;
243 continue mainLoop;
244 }
245 } else {
246 logger.debug("Worse fitness.");
247// context.backtrack();
248 currentTrajectoryWithFittness = null;
249 continue mainLoop;
250 }
251 }
252 }
253
254 logger.debug("State is fully traversed.");
255 trajectoiresToExplore.remove(currentTrajectoryWithFittness);
256 currentTrajectoryWithFittness = null;
257
258 }
259 logger.info("Interrupted.");
260 }
261
262 @Override
263 public void interruptStrategy() {
264 isInterrupted = true;
265 }
266
267 Random random = new Random();
268 private TrajectoryWithFitness selectRandomState() {
269 int randomNumber = random.nextInt(100);
270 if(randomNumber < 5) {
271 int elements = trajectoiresToExplore.size();
272 int randomElementIndex = random.nextInt(elements);
273 logger.debug("Randomly backtract to the " + randomElementIndex + " best solution...");
274 Iterator<TrajectoryWithFitness> iterator = trajectoiresToExplore.iterator();
275 while(randomElementIndex!=0) {
276 iterator.next();
277 randomElementIndex--;
278 }
279 TrajectoryWithFitness res = iterator.next();
280 if(res == null) {
281 return trajectoiresToExplore.element();
282 } else {
283 return res;
284 }
285 } else {
286 return trajectoiresToExplore.element();
287 }
288 }
289
290 private PartialInterpretation2Logic partialInterpretation2Logic = new PartialInterpretation2Logic();
291 private LogicReasoner reasoner;
292 private PartialInterpretation2Gml partialInterpretation2Gml = new PartialInterpretation2Gml();
293 private ReasonerWorkspace workspace;
294 private LogicSolverConfiguration configuration;
295 int numberOfPrintedModel = 0;
296 public ModelResult modelResultByTheSolver = null;
297 public void writeCurrentState() {
298 PartialInterpretation p = (PartialInterpretation)(context.getModel());
299 int id= ++numberOfPrintedModel;
300 if(id%100 == 1) {
301 String text = this.partialInterpretation2Gml.transform(p);
302 this.workspace.writeText(id+".gml", text);
303 this.workspace.writeModel(p, id+".partialinterpretation");
304 logger.debug("State "+id+" is saved.");
305 }
306 }
307
308// int numberOfSolverCalls = 0;
309//
310// protected boolean checkConsistency(TrajectoryWithFitness t) {
311// if (reasoner != null) {
312// int id = ++numberOfSolverCalls;
313// if (id % 100 == 1) {
314// try {
315// PartialInterpretation interpretation = (PartialInterpretation) (context.getModel());
316// PartialInterpretation copied = EcoreUtil.copy(interpretation);
317// this.partialInterpretation2Logic.transformPartialIntepretation2Logic(copied.getProblem(), copied);
318// LogicProblem newProblem = copied.getProblem();
319//
320// this.configuration.typeScopes.maxNewElements = interpretation.getMaxNewElements();
321// this.configuration.typeScopes.minNewElements = interpretation.getMinNewElements();
322// LogicResult result = reasoner.solve(newProblem, configuration, workspace);
323// if (result instanceof InconsistencyResult) {
324// logger.debug("Solver found an Inconsistency!");
325// removeSubtreeFromQueue(t);
326// return true;
327// } else if (result instanceof ModelResult) {
328// logger.debug("Solver found a model!");
329// solutionStore.newSolution(context);
330
331// modelResultByTheSolver = (ModelResult) result;
332// return true;
333// } else {
334// logger.debug("Failed consistency check.");
335// return false;
336// }
337// } catch (Exception e) {
338// // TODO Auto-generated catch block
339// e.printStackTrace();
340// return false;
341// }
342// }
343//
344// }
345// return false;
346// }
347//
348// protected void removeSubtreeFromQueue(TrajectoryWithFitness t) {
349// PriorityQueue<TrajectoryWithFitness> previous = this.trajectoiresToExplore;
350// this.trajectoiresToExplore = new PriorityQueue<>(this.comparator);
351// for (TrajectoryWithFitness trajectoryWithFitness : previous) {
352// if(! containsAsSubstring(trajectoryWithFitness.trajectory,t.trajectory)) {
353// this.trajectoiresToExplore.add(trajectoryWithFitness);
354// } else {
355// logger.debug("State has been excluded due to inherent inconsistency");
356// }
357// }
358// }
359//
360// private boolean containsAsSubstring(Object[] full, Object[] substring) {
361// if(substring.length > full.length) {
362// return false;
363// } else if(substring.length == full.length) {
364// return Arrays.equals(full, substring);
365// } else {
366// Object[] part = Arrays.copyOfRange(full, 0, substring.length);
367// return Arrays.equals(part, substring);
368// }
369// }
370//
371
372}
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ModelGenerationCompositeObjective.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ModelGenerationCompositeObjective.xtend
new file mode 100644
index 00000000..1ca2343f
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ModelGenerationCompositeObjective.xtend
@@ -0,0 +1,85 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse
2
3import java.util.Comparator
4import java.util.List
5import org.eclipse.viatra.dse.base.ThreadContext
6import org.eclipse.viatra.dse.objectives.Comparators
7import org.eclipse.viatra.dse.objectives.IObjective
8import org.eclipse.viatra.dse.objectives.impl.BaseObjective
9
10//class ViatraReasonerNumbers {
11// public static val scopePriority = 2
12// public static val unfinishedMultiplicityPriority = 2
13// public static val unifinshedWFPriority = 2
14// //public static val complexityPriority = 4
15//
16// public static val scopeWeigth = 1.0
17// public static val unfinishedMultiplicityWeigth = 1.5
18// public static val unfinishedWFWeigth = 1.5
19// //public static val complexityWeigth = 0.1
20//
21// public static val useCompositeObjective = true
22// public static val compositePriority = 2
23//}
24
25class ModelGenerationCompositeObjective implements IObjective{
26 val ScopeObjective scopeObjective
27 val List<UnfinishedMultiplicityObjective> unfinishedMultiplicityObjectives
28 val UnfinishedWFObjective unfinishedWFObjective
29
30 public new(
31 ScopeObjective scopeObjective,
32 List<UnfinishedMultiplicityObjective> unfinishedMultiplicityObjectives,
33 UnfinishedWFObjective unfinishedWFObjective)
34 {
35 this.scopeObjective = scopeObjective
36 this.unfinishedMultiplicityObjectives = unfinishedMultiplicityObjectives
37 this.unfinishedWFObjective = unfinishedWFObjective
38 }
39
40 override init(ThreadContext context) {
41 this.scopeObjective.init(context)
42 this.unfinishedMultiplicityObjectives.forEach[it.init(context)]
43 this.unfinishedWFObjective.init(context)
44 }
45
46 override createNew() {
47 return new ModelGenerationCompositeObjective(
48 this.scopeObjective, this.unfinishedMultiplicityObjectives, this.unfinishedWFObjective)
49 }
50
51 override getComparator() { Comparators.LOWER_IS_BETTER }
52 override getFitness(ThreadContext context) {
53 var sum = 0.0
54 val scopeFitnes = scopeObjective.getFitness(context)
55 //val unfinishedMultiplicitiesFitneses = unfinishedMultiplicityObjectives.map[x|x.getFitness(context)]
56 val unfinishedWFsFitness = unfinishedWFObjective.getFitness(context)
57
58 sum+=scopeFitnes
59 var multiplicity = 0.0
60 for(multiplicityObjective : unfinishedMultiplicityObjectives) {
61 multiplicity+=multiplicityObjective.getFitness(context)//*0.5
62 }
63 sum+=multiplicity
64 sum += unfinishedWFsFitness//*0.5
65
66// println('''Sum=«sum»|Scope=«scopeFitnes»|Multiplicity=«multiplicity»|WFs=«unfinishedWFsFitness»''')
67
68 return sum
69 }
70
71 override getLevel() { 2 }
72 override getName() { "CompositeUnfinishednessObjective"}
73
74 override isHardObjective() { true }
75 override satisifiesHardObjective(Double fitness) { fitness <= 0.001 }
76
77
78 override setComparator(Comparator<Double> comparator) {
79 throw new UnsupportedOperationException("TODO: auto-generated method stub")
80 }
81 override setLevel(int level) {
82 throw new UnsupportedOperationException("TODO: auto-generated method stub")
83 }
84
85} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend
new file mode 100644
index 00000000..b2a7e3f5
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend
@@ -0,0 +1,30 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicModelInterpretation
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
8
9class PartialModelAsLogicInterpretation implements LogicModelInterpretation{
10
11
12 override getElements(Type type) {
13 throw new UnsupportedOperationException("TODO: auto-generated method stub")
14 }
15
16 override getInterpretation(FunctionDeclaration function, Object[] parameterSubstitution) {
17 throw new UnsupportedOperationException("TODO: auto-generated method stub")
18 }
19
20 override getInterpretation(RelationDeclaration relation, Object[] parameterSubstitution) {
21 throw new UnsupportedOperationException("TODO: auto-generated method stub")
22 }
23
24 override getInterpretation(ConstantDeclaration constant) {
25 throw new UnsupportedOperationException("TODO: auto-generated method stub")
26 }
27
28 override getMinimalInteger() { 0 }
29 override getMaximalInteger() {0 }
30} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ScopeObjective.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ScopeObjective.xtend
new file mode 100644
index 00000000..d3497ef2
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ScopeObjective.xtend
@@ -0,0 +1,41 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse
2
3import org.eclipse.viatra.dse.objectives.IObjective
4import org.eclipse.viatra.dse.base.ThreadContext
5import java.util.Comparator
6import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
7
8class ScopeObjective implements IObjective{
9 static val comparator = new Comparator<Double>() {
10 override compare(Double o1, Double o2) {
11
12 return o2.compareTo(o1)
13 }
14 }
15
16 //val static scopeLevel = 3
17
18 override createNew() { return new ScopeObjective }
19 override getName() { '''ScopeConstraint''' }
20 override init(ThreadContext context) { }
21
22 override getComparator() { comparator }
23
24 override getFitness(ThreadContext context) {
25 val interpretation = context.model as PartialInterpretation
26 val res = interpretation.minNewElements
27 return res.doubleValue
28 }
29
30 override isHardObjective() { true }
31 override satisifiesHardObjective(Double fitness) { return fitness <=0.01 }
32
33 override setComparator(Comparator<Double> comparator) {
34 throw new UnsupportedOperationException("TODO: auto-generated method stub")
35 }
36
37 override setLevel(int level) {
38 throw new UnsupportedOperationException("TODO: auto-generated method stub")
39 }
40 override getLevel() { 2 }
41} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionStoreWithCopy.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionStoreWithCopy.xtend
new file mode 100644
index 00000000..2892723b
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionStoreWithCopy.xtend
@@ -0,0 +1,35 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse
2
3import java.util.List
4import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
5import java.util.LinkedList
6import org.eclipse.emf.ecore.EObject
7import java.util.Map
8import org.eclipse.emf.ecore.util.EcoreUtil
9import org.eclipse.viatra.dse.base.ThreadContext
10
11class SolutionStoreWithCopy {
12 long runtime = 0
13 List<PartialInterpretation> solutions = new LinkedList
14 List<Map<EObject,EObject>> copyTraces = new LinkedList
15
16 long initTime = System.nanoTime
17
18 def newSolution(ThreadContext context) {
19 //print(System.nanoTime-initTime + ";")
20 val copyStart = System.nanoTime
21 val solution = context.model as PartialInterpretation
22 val copier = new EcoreUtil.Copier
23 val solutionCopy = copier.copy(solution) as PartialInterpretation
24 copier.copyReferences
25 solutions.add(solutionCopy)
26 copyTraces.add(copier)
27 runtime += System.nanoTime - copyStart
28 }
29 def getSumRuntime() {
30 return runtime
31 }
32 def getSolutions() {
33 solutions
34 }
35} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionStoreWithDiversityDescriptor.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionStoreWithDiversityDescriptor.xtend
new file mode 100644
index 00000000..ca39cada
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionStoreWithDiversityDescriptor.xtend
@@ -0,0 +1,77 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse
2
3import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.AbstractNodeDescriptor
4import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.NeighbourhoodWithTraces
5import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2ImmutableTypeLattice
6import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
7import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor
8import java.util.LinkedList
9import java.util.List
10import java.util.Map
11import org.eclipse.viatra.dse.base.ThreadContext
12
13class SolutionStoreWithDiversityDescriptor {
14 val DiversityDescriptor descriptor
15 val PartialInterpretation2ImmutableTypeLattice solutionCoder = new PartialInterpretation2ImmutableTypeLattice
16 val List<NeighbourhoodWithTraces<Map<? extends AbstractNodeDescriptor, Integer>, AbstractNodeDescriptor>> solutionCodeList = new LinkedList
17
18 var long runtime
19 var int allCheck
20 var int successfulCheck
21
22 public new(DiversityDescriptor descriptor) {
23 this.descriptor = descriptor
24 }
25
26 def public isActive() {
27 descriptor!==null
28 }
29
30 def getSumRuntime() {
31 return runtime
32 }
33 def getSuccessRate() {
34 return successfulCheck as double / allCheck
35 }
36
37 def isDifferent(ThreadContext context) {
38 if(active) {
39 val start = System.nanoTime
40 val model = context.model as PartialInterpretation
41 val code = solutionCoder.createRepresentation(model,
42 descriptor.range,
43 descriptor.parallels,
44 descriptor.maxNumber,
45 descriptor.relevantTypes,
46 descriptor.relevantRelations)
47 val isDifferent = solutionCodeList.forall[previous | ! code.equals(previous)]
48 runtime += System.nanoTime - start
49 allCheck++
50 if(isDifferent) { successfulCheck++ }
51 return isDifferent
52 } else {
53 allCheck++
54 successfulCheck++
55 return true
56 }
57 }
58
59 def canBeDifferent(ThreadContext context) {
60 return true
61 }
62
63 def newSolution(ThreadContext context) {
64 if(active) {
65 val start = System.nanoTime
66 val model = context.model as PartialInterpretation
67 val code = solutionCoder.createRepresentation(model,
68 descriptor.range,
69 descriptor.parallels,
70 descriptor.maxNumber,
71 descriptor.relevantTypes,
72 descriptor.relevantRelations)
73 solutionCodeList += code
74 runtime += System.nanoTime - start
75 }
76 }
77} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedMultiplicityObjective.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedMultiplicityObjective.xtend
new file mode 100644
index 00000000..aad9a448
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedMultiplicityObjective.xtend
@@ -0,0 +1,37 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse
2
3import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.MultiplicityGoalConstraintCalculator
4import java.util.Comparator
5import org.eclipse.viatra.dse.base.ThreadContext
6import org.eclipse.viatra.dse.objectives.IObjective
7import org.eclipse.viatra.dse.objectives.Comparators
8
9class UnfinishedMultiplicityObjective implements IObjective {
10 val MultiplicityGoalConstraintCalculator unfinishedMultiplicity;
11
12 public new(MultiplicityGoalConstraintCalculator unfinishedMultiplicity) {
13 this.unfinishedMultiplicity = unfinishedMultiplicity
14 }
15
16 override getName() '''unfinishedMultiplicity «unfinishedMultiplicity.name»'''
17 override createNew() {
18 return new UnfinishedMultiplicityObjective(new MultiplicityGoalConstraintCalculator(this.unfinishedMultiplicity))
19 }
20
21 override getComparator() { Comparators.LOWER_IS_BETTER }
22 override getFitness(ThreadContext context) {
23 val unfinishedMultiplicity = unfinishedMultiplicity.calculateValue
24 return unfinishedMultiplicity.doubleValue
25 }
26 override getLevel() { 2 }
27 override init(ThreadContext context) { unfinishedMultiplicity.init(context.model) }
28 override isHardObjective() { true }
29 override satisifiesHardObjective(Double fitness) { return fitness <=0.01 }
30
31 override setComparator(Comparator<Double> comparator) {
32 throw new UnsupportedOperationException("TODO: auto-generated method stub")
33 }
34 override setLevel(int level) {
35 throw new UnsupportedOperationException("TODO: auto-generated method stub")
36 }
37} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedWFObjective.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedWFObjective.xtend
new file mode 100644
index 00000000..0fd20fa3
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedWFObjective.xtend
@@ -0,0 +1,56 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse
2
3import org.eclipse.viatra.dse.objectives.IObjective
4import org.eclipse.viatra.query.runtime.api.IPatternMatch
5import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher
6import org.eclipse.viatra.query.runtime.api.IQuerySpecification
7import java.util.Collection
8import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
9import org.eclipse.viatra.query.runtime.emf.EMFScope
10import org.eclipse.viatra.dse.base.ThreadContext
11import java.util.List
12import org.eclipse.viatra.dse.objectives.Comparators
13import java.util.ArrayList
14import java.util.Comparator
15
16class UnfinishedWFObjective implements IObjective {
17 Collection<? extends IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> unfinishedWFs
18 val List<ViatraQueryMatcher<?>> matchers
19
20 public new(Collection<? extends IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> unfinishedWFs) {
21 this.unfinishedWFs = unfinishedWFs
22 matchers = new ArrayList(unfinishedWFs.size)
23 }
24 override getName() '''unfinishedWFs'''
25 override createNew() {
26 return new UnfinishedWFObjective(unfinishedWFs)
27 }
28 override init(ThreadContext context) {
29 val engine = context.queryEngine//ViatraQueryEngine.on(new EMFScope(context.model))
30 for(unfinishedWF : unfinishedWFs) {
31 matchers += unfinishedWF.getMatcher(engine)
32 }
33 }
34
35 override getComparator() { Comparators.LOWER_IS_BETTER }
36 override getFitness(ThreadContext context) {
37 var sumOfMatches = 0
38 for(matcher : matchers) {
39 val number = matcher.countMatches
40// println('''«matcher.patternName» = «number»''')
41 sumOfMatches+=number
42 }
43 return sumOfMatches.doubleValue
44 }
45
46 override getLevel() { 2 }
47 override isHardObjective() { true }
48 override satisifiesHardObjective(Double fitness) { return fitness <=0.01 }
49
50 override setComparator(Comparator<Double> comparator) {
51 throw new UnsupportedOperationException("TODO: auto-generated method stub")
52 }
53 override setLevel(int level) {
54 throw new UnsupportedOperationException("TODO: auto-generated method stub")
55 }
56} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/WF2ObjectiveConverter.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/WF2ObjectiveConverter.xtend
new file mode 100644
index 00000000..4fd297ca
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/WF2ObjectiveConverter.xtend
@@ -0,0 +1,36 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse
2
3import java.util.ArrayList
4import java.util.Collection
5import org.eclipse.viatra.dse.objectives.Comparators
6import org.eclipse.viatra.dse.objectives.IGlobalConstraint
7import org.eclipse.viatra.dse.objectives.impl.ConstraintsObjective
8import org.eclipse.viatra.dse.objectives.impl.ConstraintsObjective.QueryConstraint
9import org.eclipse.viatra.dse.objectives.impl.ModelQueriesGlobalConstraint
10import org.eclipse.viatra.query.runtime.api.IPatternMatch
11import org.eclipse.viatra.query.runtime.api.IQuerySpecification
12import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher
13
14class WF2ObjectiveConverter {
15
16 def createCompletenessObjective(
17 Collection<? extends IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> unfinishedWF)
18 {
19 val res = new ConstraintsObjective('''unfinishedWFs''',
20 unfinishedWF.map[
21 new QueryConstraint(it.fullyQualifiedName,it,1.0)
22 ].toList
23 )
24 res.withComparator(Comparators.LOWER_IS_BETTER)
25 res.level = 2
26 return res
27 }
28
29 def IGlobalConstraint createInvalidationObjective(
30 Collection<? extends IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> invalidatedByWF)
31 {
32 return new ModelQueriesGlobalConstraint('''invalidatedWFs''',
33 new ArrayList(invalidatedByWF)
34 )
35 }
36} \ No newline at end of file
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/.gitignore b/Tests/hu.bme.mit.inf.dslreasoner.run/.gitignore
new file mode 100644
index 00000000..8ae4e44d
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.run/.gitignore
@@ -0,0 +1,4 @@
1/bin/
2/src-gen/
3/vql-gen/
4/xtend-gen/
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/.project b/Tests/hu.bme.mit.inf.dslreasoner.run/.project
new file mode 100644
index 00000000..02d1720d
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.run/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.run</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.jdt.core.javabuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.ManifestBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.SchemaBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.pde.PluginNature</nature>
31 <nature>org.eclipse.jdt.core.javanature</nature>
32 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
33 </natures>
34</projectDescription>