From 6f88c4bd4e91728cea62505e893b0ce300baf7fc Mon Sep 17 00:00:00 2001
From: Kristóf Marussy
Date: Thu, 7 Feb 2019 18:24:45 +0100
Subject: Ecore2Cft transformation
---
.../components/ui/.CftLanguageUiModule.xtendbin | Bin 3606 -> 3606 bytes
.../.CftLanguageOutlineTreeProvider.xtendbin | Bin 2451 -> 2451 bytes
...LanguageSemanticHighlightingCalculator.xtendbin | Bin 3773 -> 3773 bytes
.../faulttree/components/CftLanguage.xtextbin | Bin 5924 -> 5923 bytes
.../serializer/CftLanguageSemanticSequencer.java | 10 +-
.../services/CftLanguageGrammarAccess.java | 4 +-
.../faulttree/components/CftLanguage.xtext | 2 +-
.../components/.CftLanguageRuntimeModule.xtendbin | Bin 3436 -> 3436 bytes
.../.CftLanguageQualifiedNameProvider.xtendbin | Bin 3630 -> 3630 bytes
.../naming/.PackageNameProvider.xtendbin | Bin 3283 -> 3283 bytes
.../scoping/.CftLanguageScopeProvider.xtendbin | Bin 8989 -> 8989 bytes
.../faulttree/model/cft/CftFactory.java | 6 +-
.../faulttree/model/cft/CftPackage.java | 92 ++++++++----
.../dslreasoner/faulttree/model/cft/Component.java | 27 ++++
.../faulttree/model/cft/ComponentDefinition.java | 4 +-
.../faulttree/model/cft/EventDeclaration.java | 2 +-
.../inf/dslreasoner/faulttree/model/cft/Input.java | 22 +--
.../faulttree/model/cft/InputEvent.java | 49 ++++++
.../faulttree/model/cft/IntputEvent.java | 49 ------
.../faulttree/model/cft/impl/CftFactoryImpl.java | 8 +-
.../faulttree/model/cft/impl/CftPackageImpl.java | 42 ++++--
.../model/cft/impl/ComponentDefinitionImpl.java | 11 +-
.../faulttree/model/cft/impl/ComponentImpl.java | 70 +++++++++
.../faulttree/model/cft/impl/InputEventImpl.java | 164 +++++++++++++++++++++
.../faulttree/model/cft/impl/InputImpl.java | 55 ++++---
.../faulttree/model/cft/impl/IntputEventImpl.java | 164 ---------------------
.../model/cft/util/CftAdapterFactory.java | 10 +-
.../faulttree/model/cft/util/CftSwitch.java | 14 +-
.../model/cft.ecore | 9 +-
.../model/cft.genmodel | 7 +-
.../representations.aird | 34 +++--
.../.classpath | 1 +
.../.project | 6 +
.../META-INF/MANIFEST.MF | 9 ++
.../cft2ft/Cft2FtTransformation.xtend | 10 ++
.../ecore2cft/ComponentFaultTreeTrace.xtend | 39 +++++
.../ecore2cft/ComponentInstanceTrace.xtend | 51 +++++++
.../ecore2cft/ComponentNameGenerator.xtend | 16 ++
.../ecore2cft/Ecore2CftTransformation.xtend | 27 ++++
.../transformation/ecore2cft/InputTrace.xtend | 29 ++++
.../transformation/ecore2cft/LookupHandler.xtend | 47 ++++++
.../transformation/ecore2cft/MappingHandler.xtend | 91 ++++++++++++
.../transformation/ecore2cft/MappingQueries.xtend | 38 +++++
.../faulttree/transformation/.gitignore | 8 +
.../cft2ft/.Cft2FtTransformation.xtendbin | Bin 0 -> 2298 bytes
.../faulttree/transformation/cft2ft/.gitignore | 1 +
.../cft2ft/Cft2FtTransformation.java | 10 ++
.../ecore2cft/.ComponentFaultTreeTrace.xtendbin | Bin 0 -> 5009 bytes
.../ecore2cft/.ComponentInstanceTrace.xtendbin | Bin 0 -> 5190 bytes
.../ecore2cft/.ComponentNameGenerator.xtendbin | Bin 0 -> 3472 bytes
.../ecore2cft/.Ecore2CftTransformation.xtendbin | Bin 0 -> 3400 bytes
.../transformation/ecore2cft/.InputTrace.xtendbin | Bin 0 -> 3849 bytes
.../ecore2cft/.LookupHandler.xtendbin | Bin 0 -> 5169 bytes
.../ecore2cft/.MappingHandler.xtendbin | Bin 0 -> 6876 bytes
.../ecore2cft/.MappingQueries.xtendbin | Bin 0 -> 4833 bytes
.../faulttree/transformation/ecore2cft/.gitignore | 9 ++
.../ecore2cft/ComponentFaultTreeTrace.java | 67 +++++++++
.../ecore2cft/ComponentInstanceTrace.java | 65 ++++++++
.../ecore2cft/ComponentNameGenerator.java | 29 ++++
.../ecore2cft/Ecore2CftTransformation.java | 35 +++++
.../transformation/ecore2cft/InputTrace.java | 35 +++++
.../transformation/ecore2cft/LookupHandler.java | 84 +++++++++++
.../transformation/ecore2cft/MappingHandler.java | 146 ++++++++++++++++++
.../transformation/ecore2cft/MappingQueries.java | 60 ++++++++
64 files changed, 1415 insertions(+), 353 deletions(-)
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/InputEvent.java
delete mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/IntputEvent.java
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/InputEventImpl.java
delete mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/IntputEventImpl.java
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/Cft2FtTransformation.xtend
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentFaultTreeTrace.xtend
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentInstanceTrace.xtend
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentNameGenerator.xtend
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/Ecore2CftTransformation.xtend
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/LookupHandler.xtend
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingHandler.xtend
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingQueries.xtend
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/.gitignore
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.Cft2FtTransformation.xtendbin
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.gitignore
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/Cft2FtTransformation.java
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentFaultTreeTrace.xtendbin
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentInstanceTrace.xtendbin
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentNameGenerator.xtendbin
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.Ecore2CftTransformation.xtendbin
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.InputTrace.xtendbin
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.LookupHandler.xtendbin
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.MappingHandler.xtendbin
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.MappingQueries.xtendbin
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.gitignore
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentFaultTreeTrace.java
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentInstanceTrace.java
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentNameGenerator.java
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/Ecore2CftTransformation.java
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.java
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/LookupHandler.java
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingHandler.java
create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingQueries.java
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/.CftLanguageUiModule.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/.CftLanguageUiModule.xtendbin
index ff2238f7..56635dea 100644
Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/.CftLanguageUiModule.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/.CftLanguageUiModule.xtendbin differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/.CftLanguageOutlineTreeProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/.CftLanguageOutlineTreeProvider.xtendbin
index 91137ae1..e8595819 100644
Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/.CftLanguageOutlineTreeProvider.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/.CftLanguageOutlineTreeProvider.xtendbin differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/syntaxcoloring/.CftLanguageSemanticHighlightingCalculator.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/syntaxcoloring/.CftLanguageSemanticHighlightingCalculator.xtendbin
index 81585f8b..d88f5256 100644
Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/syntaxcoloring/.CftLanguageSemanticHighlightingCalculator.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/syntaxcoloring/.CftLanguageSemanticHighlightingCalculator.xtendbin differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguage.xtextbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguage.xtextbin
index 6eb4d2c2..ffe22f72 100644
Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguage.xtextbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguage.xtextbin differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/serializer/CftLanguageSemanticSequencer.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/serializer/CftLanguageSemanticSequencer.java
index 835bb8cc..25f16824 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/serializer/CftLanguageSemanticSequencer.java
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/serializer/CftLanguageSemanticSequencer.java
@@ -19,7 +19,7 @@ import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.AndGateDefinition;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.BasicEventDefinition;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftPackage;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentDefinition;
-import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.IntputEvent;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.KOfMGateDefinition;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.OrGateDefinition;
import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantDistribution;
@@ -59,8 +59,8 @@ public class CftLanguageSemanticSequencer extends AbstractDelegatingSemanticSequ
case CftPackage.COMPONENT_DEFINITION:
sequence_ComponentDefinition(context, (ComponentDefinition) semanticObject);
return;
- case CftPackage.INTPUT_EVENT:
- sequence_InputEvent(context, (IntputEvent) semanticObject);
+ case CftPackage.INPUT_EVENT:
+ sequence_InputEvent(context, (InputEvent) semanticObject);
return;
case CftPackage.KOF_MGATE_DEFINITION:
sequence_KOfMGateDefinition(context, (KOfMGateDefinition) semanticObject);
@@ -280,12 +280,12 @@ public class CftLanguageSemanticSequencer extends AbstractDelegatingSemanticSequ
/**
* Contexts:
- * InputEvent returns IntputEvent
+ * InputEvent returns InputEvent
*
* Constraint:
* (name=ValidId multiple?='[]'?)
*/
- protected void sequence_InputEvent(ISerializationContext context, IntputEvent semanticObject) {
+ protected void sequence_InputEvent(ISerializationContext context, InputEvent semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/services/CftLanguageGrammarAccess.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/services/CftLanguageGrammarAccess.java
index 69f00bb3..cbcfbe95 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/services/CftLanguageGrammarAccess.java
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/services/CftLanguageGrammarAccess.java
@@ -215,7 +215,7 @@ public class CftLanguageGrammarAccess extends AbstractGrammarElementFinder {
private final Assignment cMultipleAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final Keyword cMultipleLeftSquareBracketRightSquareBracketKeyword_1_0 = (Keyword)cMultipleAssignment_1.eContents().get(0);
- //InputEvent cft::IntputEvent:
+ //InputEvent cft::InputEvent:
// name=ValidId multiple?="[]"?;
@Override public ParserRule getRule() { return rule; }
@@ -1128,7 +1128,7 @@ public class CftLanguageGrammarAccess extends AbstractGrammarElementFinder {
return getComponentDefinitionAccess().getRule();
}
- //InputEvent cft::IntputEvent:
+ //InputEvent cft::InputEvent:
// name=ValidId multiple?="[]"?;
public InputEventElements getInputEventAccess() {
return pInputEvent;
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguage.xtext b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguage.xtext
index 61ab3359..b4d5338b 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguage.xtext
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguage.xtext
@@ -20,7 +20,7 @@ ComponentDefinition returns cft::ComponentDefinition:
(eventDefinitions+=EventDefinition ";")*
"}";
-InputEvent returns cft::IntputEvent:
+InputEvent returns cft::InputEvent:
name=ValidId multiple?="[]"?;
EventDefinition returns cft::EventDefinition:
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageRuntimeModule.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageRuntimeModule.xtendbin
index 638dac63..df7b7e51 100644
Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageRuntimeModule.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageRuntimeModule.xtendbin differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.CftLanguageQualifiedNameProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.CftLanguageQualifiedNameProvider.xtendbin
index 6dde8420..62a48625 100644
Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.CftLanguageQualifiedNameProvider.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.CftLanguageQualifiedNameProvider.xtendbin differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.PackageNameProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.PackageNameProvider.xtendbin
index fc3d90f0..b5ec6fb3 100644
Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.PackageNameProvider.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.PackageNameProvider.xtendbin differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageScopeProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageScopeProvider.xtendbin
index 40e8786a..3c714b09 100644
Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageScopeProvider.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageScopeProvider.xtendbin differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/CftFactory.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/CftFactory.java
index d5f4cd76..8b5d54a0 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/CftFactory.java
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/CftFactory.java
@@ -40,13 +40,13 @@ public interface CftFactory extends EFactory {
BasicEventDefinition createBasicEventDefinition();
/**
- * Returns a new object of class 'Intput Event '.
+ * Returns a new object of class 'Input Event '.
*
*
- * @return a new object of class 'Intput Event '.
+ * @return a new object of class 'Input Event '.
* @generated
*/
- IntputEvent createIntputEvent();
+ InputEvent createInputEvent();
/**
* Returns a new object of class 'And Gate Definition '.
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/CftPackage.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/CftPackage.java
index 8cf7dbc6..d75710a2 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/CftPackage.java
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/CftPackage.java
@@ -287,14 +287,14 @@ public interface CftPackage extends EPackage {
int BASIC_EVENT_DEFINITION_OPERATION_COUNT = EVENT_DEFINITION_OPERATION_COUNT + 0;
/**
- * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.IntputEventImpl Intput Event }' class.
+ * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.InputEventImpl Input Event }' class.
*
*
- * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.IntputEventImpl
- * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.CftPackageImpl#getIntputEvent()
+ * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.InputEventImpl
+ * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.CftPackageImpl#getInputEvent()
* @generated
*/
- int INTPUT_EVENT = 4;
+ int INPUT_EVENT = 4;
/**
* The feature id for the 'Name ' attribute.
@@ -303,7 +303,7 @@ public interface CftPackage extends EPackage {
* @generated
* @ordered
*/
- int INTPUT_EVENT__NAME = EVENT_DECLARATION__NAME;
+ int INPUT_EVENT__NAME = EVENT_DECLARATION__NAME;
/**
* The feature id for the 'Multiple ' attribute.
@@ -312,25 +312,25 @@ public interface CftPackage extends EPackage {
* @generated
* @ordered
*/
- int INTPUT_EVENT__MULTIPLE = EVENT_DECLARATION_FEATURE_COUNT + 0;
+ int INPUT_EVENT__MULTIPLE = EVENT_DECLARATION_FEATURE_COUNT + 0;
/**
- * The number of structural features of the 'Intput Event ' class.
+ * The number of structural features of the 'Input Event ' class.
*
*
* @generated
* @ordered
*/
- int INTPUT_EVENT_FEATURE_COUNT = EVENT_DECLARATION_FEATURE_COUNT + 1;
+ int INPUT_EVENT_FEATURE_COUNT = EVENT_DECLARATION_FEATURE_COUNT + 1;
/**
- * The number of operations of the 'Intput Event ' class.
+ * The number of operations of the 'Input Event ' class.
*
*
* @generated
* @ordered
*/
- int INTPUT_EVENT_OPERATION_COUNT = EVENT_DECLARATION_OPERATION_COUNT + 0;
+ int INPUT_EVENT_OPERATION_COUNT = EVENT_DECLARATION_OPERATION_COUNT + 0;
/**
* The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.AndGateDefinitionImpl And Gate Definition }' class.
@@ -571,6 +571,15 @@ public interface CftPackage extends EPackage {
*/
int COMPONENT__COMPONENT_DEFINITION = 2;
+ /**
+ * The feature id for the 'Name ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int COMPONENT__NAME = 3;
+
/**
* The number of structural features of the 'Component ' class.
*
@@ -578,7 +587,7 @@ public interface CftPackage extends EPackage {
* @generated
* @ordered
*/
- int COMPONENT_FEATURE_COUNT = 3;
+ int COMPONENT_FEATURE_COUNT = 4;
/**
* The number of operations of the 'Component ' class.
@@ -600,13 +609,13 @@ public interface CftPackage extends EPackage {
int INPUT = 11;
/**
- * The feature id for the 'Intput Event ' reference.
+ * The feature id for the 'Input Event ' reference.
*
*
* @generated
* @ordered
*/
- int INPUT__INTPUT_EVENT = 0;
+ int INPUT__INPUT_EVENT = 0;
/**
* The feature id for the 'Component ' container reference.
@@ -853,25 +862,25 @@ public interface CftPackage extends EPackage {
EReference getBasicEventDefinition_Distribution();
/**
- * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.IntputEvent Intput Event }'.
+ * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent Input Event }'.
*
*
- * @return the meta object for class 'Intput Event '.
- * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.IntputEvent
+ * @return the meta object for class 'Input Event '.
+ * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent
* @generated
*/
- EClass getIntputEvent();
+ EClass getInputEvent();
/**
- * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.IntputEvent#isMultiple Multiple }'.
+ * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent#isMultiple Multiple }'.
*
*
* @return the meta object for the attribute 'Multiple '.
- * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.IntputEvent#isMultiple()
- * @see #getIntputEvent()
+ * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent#isMultiple()
+ * @see #getInputEvent()
* @generated
*/
- EAttribute getIntputEvent_Multiple();
+ EAttribute getInputEvent_Multiple();
/**
* Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.EventDeclaration Event Declaration }'.
@@ -1021,6 +1030,17 @@ public interface CftPackage extends EPackage {
*/
EReference getComponent_ComponentDefinition();
+ /**
+ * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Component#getName Name }'.
+ *
+ *
+ * @return the meta object for the attribute 'Name '.
+ * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Component#getName()
+ * @see #getComponent()
+ * @generated
+ */
+ EAttribute getComponent_Name();
+
/**
* Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input Input }'.
*
@@ -1032,15 +1052,15 @@ public interface CftPackage extends EPackage {
EClass getInput();
/**
- * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input#getIntputEvent Intput Event }'.
+ * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input#getInputEvent Input Event }'.
*
*
- * @return the meta object for the reference 'Intput Event '.
- * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input#getIntputEvent()
+ * @return the meta object for the reference 'Input Event '.
+ * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input#getInputEvent()
* @see #getInput()
* @generated
*/
- EReference getInput_IntputEvent();
+ EReference getInput_InputEvent();
/**
* Returns the meta object for the container reference '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input#getComponent Component }'.
@@ -1251,14 +1271,14 @@ public interface CftPackage extends EPackage {
EReference BASIC_EVENT_DEFINITION__DISTRIBUTION = eINSTANCE.getBasicEventDefinition_Distribution();
/**
- * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.IntputEventImpl Intput Event }' class.
+ * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.InputEventImpl Input Event }' class.
*
*
- * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.IntputEventImpl
- * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.CftPackageImpl#getIntputEvent()
+ * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.InputEventImpl
+ * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.CftPackageImpl#getInputEvent()
* @generated
*/
- EClass INTPUT_EVENT = eINSTANCE.getIntputEvent();
+ EClass INPUT_EVENT = eINSTANCE.getInputEvent();
/**
* The meta object literal for the 'Multiple ' attribute feature.
@@ -1266,7 +1286,7 @@ public interface CftPackage extends EPackage {
*
* @generated
*/
- EAttribute INTPUT_EVENT__MULTIPLE = eINSTANCE.getIntputEvent_Multiple();
+ EAttribute INPUT_EVENT__MULTIPLE = eINSTANCE.getInputEvent_Multiple();
/**
* The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.EventDeclarationImpl Event Declaration }' class.
@@ -1392,6 +1412,14 @@ public interface CftPackage extends EPackage {
*/
EReference COMPONENT__COMPONENT_DEFINITION = eINSTANCE.getComponent_ComponentDefinition();
+ /**
+ * The meta object literal for the 'Name ' attribute feature.
+ *
+ *
+ * @generated
+ */
+ EAttribute COMPONENT__NAME = eINSTANCE.getComponent_Name();
+
/**
* The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.InputImpl Input }' class.
*
@@ -1403,12 +1431,12 @@ public interface CftPackage extends EPackage {
EClass INPUT = eINSTANCE.getInput();
/**
- * The meta object literal for the 'Intput Event ' reference feature.
+ * The meta object literal for the 'Input Event ' reference feature.
*
*
* @generated
*/
- EReference INPUT__INTPUT_EVENT = eINSTANCE.getInput_IntputEvent();
+ EReference INPUT__INPUT_EVENT = eINSTANCE.getInput_InputEvent();
/**
* The meta object literal for the 'Component ' container reference feature.
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/Component.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/Component.java
index e1951172..7d5055c9 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/Component.java
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/Component.java
@@ -18,6 +18,7 @@ import org.eclipse.emf.ecore.EObject;
* {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Component#getInputs Inputs }
* {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Component#getOutputs Outputs }
* {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Component#getComponentDefinition Component Definition }
+ * {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Component#getName Name }
*
*
* @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftPackage#getComponent()
@@ -87,4 +88,30 @@ public interface Component extends EObject {
*/
void setComponentDefinition(ComponentDefinition value);
+ /**
+ * Returns the value of the 'Name ' attribute.
+ *
+ *
+ * If the meaning of the 'Name ' attribute isn't clear,
+ * there really should be more of a description here...
+ *
+ *
+ * @return the value of the 'Name ' attribute.
+ * @see #setName(String)
+ * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftPackage#getComponent_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Component#getName Name }' attribute.
+ *
+ *
+ * @param value the new value of the 'Name ' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
} // Component
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/ComponentDefinition.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/ComponentDefinition.java
index b3f3b163..82ab53fa 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/ComponentDefinition.java
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/ComponentDefinition.java
@@ -28,7 +28,7 @@ import org.eclipse.emf.ecore.EObject;
public interface ComponentDefinition extends EObject {
/**
* Returns the value of the 'Input Events ' containment reference list.
- * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.IntputEvent}.
+ * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent}.
*
*
* If the meaning of the 'Input Events ' containment reference list isn't clear,
@@ -40,7 +40,7 @@ public interface ComponentDefinition extends EObject {
* @model containment="true"
* @generated
*/
- EList getInputEvents();
+ EList getInputEvents();
/**
* Returns the value of the 'Event Definitions ' containment reference list.
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/EventDeclaration.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/EventDeclaration.java
index 1e52a570..28d49f06 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/EventDeclaration.java
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/EventDeclaration.java
@@ -21,7 +21,6 @@ import org.eclipse.emf.ecore.EObject;
* @generated
*/
public interface EventDeclaration extends EObject {
-
/**
* Returns the value of the 'Name ' attribute.
*
@@ -47,4 +46,5 @@ public interface EventDeclaration extends EObject {
* @generated
*/
void setName(String value);
+
} // EventDeclaration
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/Input.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/Input.java
index 55da3f9a..7351d1bb 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/Input.java
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/Input.java
@@ -15,7 +15,7 @@ import org.eclipse.emf.ecore.EObject;
* The following features are supported:
*
*
- * {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input#getIntputEvent Intput Event }
+ * {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input#getInputEvent Input Event }
* {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input#getComponent Component }
* {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input#getIncomingConnections Incoming Connections }
*
@@ -26,30 +26,30 @@ import org.eclipse.emf.ecore.EObject;
*/
public interface Input extends EObject {
/**
- * Returns the value of the 'Intput Event ' reference.
+ * Returns the value of the 'Input Event ' reference.
*
*
- * If the meaning of the 'Intput Event ' reference isn't clear,
+ * If the meaning of the 'Input Event ' reference isn't clear,
* there really should be more of a description here...
*
*
- * @return the value of the 'Intput Event ' reference.
- * @see #setIntputEvent(IntputEvent)
- * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftPackage#getInput_IntputEvent()
+ * @return the value of the 'Input Event ' reference.
+ * @see #setInputEvent(InputEvent)
+ * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftPackage#getInput_InputEvent()
* @model required="true"
* @generated
*/
- IntputEvent getIntputEvent();
+ InputEvent getInputEvent();
/**
- * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input#getIntputEvent Intput Event }' reference.
+ * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input#getInputEvent Input Event }' reference.
*
*
- * @param value the new value of the 'Intput Event ' reference.
- * @see #getIntputEvent()
+ * @param value the new value of the 'Input Event ' reference.
+ * @see #getInputEvent()
* @generated
*/
- void setIntputEvent(IntputEvent value);
+ void setInputEvent(InputEvent value);
/**
* Returns the value of the 'Component ' container reference.
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/InputEvent.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/InputEvent.java
new file mode 100644
index 00000000..92721776
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/InputEvent.java
@@ -0,0 +1,49 @@
+/**
+ */
+package hu.bme.mit.inf.dslreasoner.faulttree.model.cft;
+
+
+/**
+ *
+ * A representation of the model object 'Input Event '.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent#isMultiple Multiple }
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftPackage#getInputEvent()
+ * @model
+ * @generated
+ */
+public interface InputEvent extends EventDeclaration {
+ /**
+ * Returns the value of the 'Multiple ' attribute.
+ *
+ *
+ * If the meaning of the 'Multiple ' attribute isn't clear,
+ * there really should be more of a description here...
+ *
+ *
+ * @return the value of the 'Multiple ' attribute.
+ * @see #setMultiple(boolean)
+ * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftPackage#getInputEvent_Multiple()
+ * @model
+ * @generated
+ */
+ boolean isMultiple();
+
+ /**
+ * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent#isMultiple Multiple }' attribute.
+ *
+ *
+ * @param value the new value of the 'Multiple ' attribute.
+ * @see #isMultiple()
+ * @generated
+ */
+ void setMultiple(boolean value);
+
+} // InputEvent
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/IntputEvent.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/IntputEvent.java
deleted file mode 100644
index bec5c487..00000000
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/IntputEvent.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- */
-package hu.bme.mit.inf.dslreasoner.faulttree.model.cft;
-
-
-/**
- *
- * A representation of the model object 'Intput Event '.
- *
- *
- *
- * The following features are supported:
- *
- *
- * {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.IntputEvent#isMultiple Multiple }
- *
- *
- * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftPackage#getIntputEvent()
- * @model
- * @generated
- */
-public interface IntputEvent extends EventDeclaration {
- /**
- * Returns the value of the 'Multiple ' attribute.
- *
- *
- * If the meaning of the 'Multiple ' attribute isn't clear,
- * there really should be more of a description here...
- *
- *
- * @return the value of the 'Multiple ' attribute.
- * @see #setMultiple(boolean)
- * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftPackage#getIntputEvent_Multiple()
- * @model
- * @generated
- */
- boolean isMultiple();
-
- /**
- * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.IntputEvent#isMultiple Multiple }' attribute.
- *
- *
- * @param value the new value of the 'Multiple ' attribute.
- * @see #isMultiple()
- * @generated
- */
- void setMultiple(boolean value);
-
-} // IntputEvent
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/CftFactoryImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/CftFactoryImpl.java
index 33778461..6eac2861 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/CftFactoryImpl.java
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/CftFactoryImpl.java
@@ -58,7 +58,7 @@ public class CftFactoryImpl extends EFactoryImpl implements CftFactory {
switch (eClass.getClassifierID()) {
case CftPackage.COMPONENT_DEFINITION: return createComponentDefinition();
case CftPackage.BASIC_EVENT_DEFINITION: return createBasicEventDefinition();
- case CftPackage.INTPUT_EVENT: return createIntputEvent();
+ case CftPackage.INPUT_EVENT: return createInputEvent();
case CftPackage.AND_GATE_DEFINITION: return createAndGateDefinition();
case CftPackage.OR_GATE_DEFINITION: return createOrGateDefinition();
case CftPackage.KOF_MGATE_DEFINITION: return createKOfMGateDefinition();
@@ -100,9 +100,9 @@ public class CftFactoryImpl extends EFactoryImpl implements CftFactory {
* @generated
*/
@Override
- public IntputEvent createIntputEvent() {
- IntputEventImpl intputEvent = new IntputEventImpl();
- return intputEvent;
+ public InputEvent createInputEvent() {
+ InputEventImpl inputEvent = new InputEventImpl();
+ return inputEvent;
}
/**
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/CftPackageImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/CftPackageImpl.java
index f03fa0ba..1d6b6a23 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/CftPackageImpl.java
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/CftPackageImpl.java
@@ -14,7 +14,7 @@ import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.EventDeclaration;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.EventDefinition;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.GateDefinition;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input;
-import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.IntputEvent;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.KOfMGateDefinition;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.OrGateDefinition;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output;
@@ -68,7 +68,7 @@ public class CftPackageImpl extends EPackageImpl implements CftPackage {
*
* @generated
*/
- private EClass intputEventEClass = null;
+ private EClass inputEventEClass = null;
/**
*
@@ -303,8 +303,8 @@ public class CftPackageImpl extends EPackageImpl implements CftPackage {
* @generated
*/
@Override
- public EClass getIntputEvent() {
- return intputEventEClass;
+ public EClass getInputEvent() {
+ return inputEventEClass;
}
/**
@@ -313,8 +313,8 @@ public class CftPackageImpl extends EPackageImpl implements CftPackage {
* @generated
*/
@Override
- public EAttribute getIntputEvent_Multiple() {
- return (EAttribute)intputEventEClass.getEStructuralFeatures().get(0);
+ public EAttribute getInputEvent_Multiple() {
+ return (EAttribute)inputEventEClass.getEStructuralFeatures().get(0);
}
/**
@@ -457,6 +457,16 @@ public class CftPackageImpl extends EPackageImpl implements CftPackage {
return (EReference)componentEClass.getEStructuralFeatures().get(2);
}
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getComponent_Name() {
+ return (EAttribute)componentEClass.getEStructuralFeatures().get(3);
+ }
+
/**
*
*
@@ -473,7 +483,7 @@ public class CftPackageImpl extends EPackageImpl implements CftPackage {
* @generated
*/
@Override
- public EReference getInput_IntputEvent() {
+ public EReference getInput_InputEvent() {
return (EReference)inputEClass.getEStructuralFeatures().get(0);
}
@@ -610,8 +620,8 @@ public class CftPackageImpl extends EPackageImpl implements CftPackage {
basicEventDefinitionEClass = createEClass(BASIC_EVENT_DEFINITION);
createEReference(basicEventDefinitionEClass, BASIC_EVENT_DEFINITION__DISTRIBUTION);
- intputEventEClass = createEClass(INTPUT_EVENT);
- createEAttribute(intputEventEClass, INTPUT_EVENT__MULTIPLE);
+ inputEventEClass = createEClass(INPUT_EVENT);
+ createEAttribute(inputEventEClass, INPUT_EVENT__MULTIPLE);
eventDeclarationEClass = createEClass(EVENT_DECLARATION);
createEAttribute(eventDeclarationEClass, EVENT_DECLARATION__NAME);
@@ -632,9 +642,10 @@ public class CftPackageImpl extends EPackageImpl implements CftPackage {
createEReference(componentEClass, COMPONENT__INPUTS);
createEReference(componentEClass, COMPONENT__OUTPUTS);
createEReference(componentEClass, COMPONENT__COMPONENT_DEFINITION);
+ createEAttribute(componentEClass, COMPONENT__NAME);
inputEClass = createEClass(INPUT);
- createEReference(inputEClass, INPUT__INTPUT_EVENT);
+ createEReference(inputEClass, INPUT__INPUT_EVENT);
createEReference(inputEClass, INPUT__COMPONENT);
createEReference(inputEClass, INPUT__INCOMING_CONNECTIONS);
@@ -682,14 +693,14 @@ public class CftPackageImpl extends EPackageImpl implements CftPackage {
eventDefinitionEClass.getESuperTypes().add(this.getEventDeclaration());
gateDefinitionEClass.getESuperTypes().add(this.getEventDefinition());
basicEventDefinitionEClass.getESuperTypes().add(this.getEventDefinition());
- intputEventEClass.getESuperTypes().add(this.getEventDeclaration());
+ inputEventEClass.getESuperTypes().add(this.getEventDeclaration());
andGateDefinitionEClass.getESuperTypes().add(this.getGateDefinition());
orGateDefinitionEClass.getESuperTypes().add(this.getGateDefinition());
kOfMGateDefinitionEClass.getESuperTypes().add(this.getGateDefinition());
// Initialize classes, features, and operations; add parameters
initEClass(componentDefinitionEClass, ComponentDefinition.class, "ComponentDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getComponentDefinition_InputEvents(), this.getIntputEvent(), null, "inputEvents", null, 0, -1, ComponentDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getComponentDefinition_InputEvents(), this.getInputEvent(), null, "inputEvents", null, 0, -1, ComponentDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getComponentDefinition_EventDefinitions(), this.getEventDefinition(), null, "eventDefinitions", null, 0, -1, ComponentDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getComponentDefinition_OutputEvents(), this.getEventDeclaration(), null, "outputEvents", null, 0, -1, ComponentDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getComponentDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ComponentDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -702,8 +713,8 @@ public class CftPackageImpl extends EPackageImpl implements CftPackage {
initEClass(basicEventDefinitionEClass, BasicEventDefinition.class, "BasicEventDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getBasicEventDefinition_Distribution(), theFtPackage.getDistribution(), null, "distribution", null, 1, 1, BasicEventDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEClass(intputEventEClass, IntputEvent.class, "IntputEvent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getIntputEvent_Multiple(), ecorePackage.getEBoolean(), "multiple", null, 0, 1, IntputEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(inputEventEClass, InputEvent.class, "InputEvent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getInputEvent_Multiple(), ecorePackage.getEBoolean(), "multiple", null, 0, 1, InputEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(eventDeclarationEClass, EventDeclaration.class, "EventDeclaration", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getEventDeclaration_Name(), ecorePackage.getEString(), "name", null, 0, 1, EventDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -724,9 +735,10 @@ public class CftPackageImpl extends EPackageImpl implements CftPackage {
initEReference(getComponent_Inputs(), this.getInput(), this.getInput_Component(), "inputs", null, 0, -1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getComponent_Outputs(), this.getOutput(), this.getOutput_Component(), "outputs", null, 0, -1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getComponent_ComponentDefinition(), this.getComponentDefinition(), null, "componentDefinition", null, 1, 1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getComponent_Name(), ecorePackage.getEString(), "name", null, 0, 1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(inputEClass, Input.class, "Input", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getInput_IntputEvent(), this.getIntputEvent(), null, "intputEvent", null, 1, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getInput_InputEvent(), this.getInputEvent(), null, "inputEvent", null, 1, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getInput_Component(), this.getComponent(), this.getComponent_Inputs(), "component", null, 1, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getInput_IncomingConnections(), this.getConnection(), this.getConnection_Input(), "incomingConnections", null, 0, -1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/ComponentDefinitionImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/ComponentDefinitionImpl.java
index 58a476f3..3b79fb0c 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/ComponentDefinitionImpl.java
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/ComponentDefinitionImpl.java
@@ -6,8 +6,7 @@ import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftPackage;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentDefinition;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.EventDeclaration;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.EventDefinition;
-import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.IntputEvent;
-
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent;
import java.util.Collection;
import org.eclipse.emf.common.notify.Notification;
@@ -50,7 +49,7 @@ public class ComponentDefinitionImpl extends MinimalEObjectImpl.Container implem
* @generated
* @ordered
*/
- protected EList inputEvents;
+ protected EList inputEvents;
/**
* The cached value of the '{@link #getEventDefinitions() Event Definitions }' containment reference list.
@@ -117,9 +116,9 @@ public class ComponentDefinitionImpl extends MinimalEObjectImpl.Container implem
* @generated
*/
@Override
- public EList getInputEvents() {
+ public EList getInputEvents() {
if (inputEvents == null) {
- inputEvents = new EObjectContainmentEList(IntputEvent.class, this, CftPackage.COMPONENT_DEFINITION__INPUT_EVENTS);
+ inputEvents = new EObjectContainmentEList(InputEvent.class, this, CftPackage.COMPONENT_DEFINITION__INPUT_EVENTS);
}
return inputEvents;
}
@@ -220,7 +219,7 @@ public class ComponentDefinitionImpl extends MinimalEObjectImpl.Container implem
switch (featureID) {
case CftPackage.COMPONENT_DEFINITION__INPUT_EVENTS:
getInputEvents().clear();
- getInputEvents().addAll((Collection extends IntputEvent>)newValue);
+ getInputEvents().addAll((Collection extends InputEvent>)newValue);
return;
case CftPackage.COMPONENT_DEFINITION__EVENT_DEFINITIONS:
getEventDefinitions().clear();
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/ComponentImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/ComponentImpl.java
index 6d23dc78..847b6ee1 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/ComponentImpl.java
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/ComponentImpl.java
@@ -35,6 +35,7 @@ import org.eclipse.emf.ecore.util.InternalEList;
* {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.ComponentImpl#getInputs Inputs }
* {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.ComponentImpl#getOutputs Outputs }
* {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.ComponentImpl#getComponentDefinition Component Definition }
+ * {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.ComponentImpl#getName Name }
*
*
* @generated
@@ -70,6 +71,26 @@ public class ComponentImpl extends MinimalEObjectImpl.Container implements Compo
*/
protected ComponentDefinition componentDefinition;
+ /**
+ * The default value of the '{@link #getName() Name }' attribute.
+ *
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() Name }' attribute.
+ *
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
/**
*
*
@@ -155,6 +176,29 @@ public class ComponentImpl extends MinimalEObjectImpl.Container implements Compo
eNotify(new ENotificationImpl(this, Notification.SET, CftPackage.COMPONENT__COMPONENT_DEFINITION, oldComponentDefinition, componentDefinition));
}
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CftPackage.COMPONENT__NAME, oldName, name));
+ }
+
/**
*
*
@@ -203,6 +247,8 @@ public class ComponentImpl extends MinimalEObjectImpl.Container implements Compo
case CftPackage.COMPONENT__COMPONENT_DEFINITION:
if (resolve) return getComponentDefinition();
return basicGetComponentDefinition();
+ case CftPackage.COMPONENT__NAME:
+ return getName();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -227,6 +273,9 @@ public class ComponentImpl extends MinimalEObjectImpl.Container implements Compo
case CftPackage.COMPONENT__COMPONENT_DEFINITION:
setComponentDefinition((ComponentDefinition)newValue);
return;
+ case CftPackage.COMPONENT__NAME:
+ setName((String)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -248,6 +297,9 @@ public class ComponentImpl extends MinimalEObjectImpl.Container implements Compo
case CftPackage.COMPONENT__COMPONENT_DEFINITION:
setComponentDefinition((ComponentDefinition)null);
return;
+ case CftPackage.COMPONENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
}
super.eUnset(featureID);
}
@@ -266,8 +318,26 @@ public class ComponentImpl extends MinimalEObjectImpl.Container implements Compo
return outputs != null && !outputs.isEmpty();
case CftPackage.COMPONENT__COMPONENT_DEFINITION:
return componentDefinition != null;
+ case CftPackage.COMPONENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
}
return super.eIsSet(featureID);
}
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
} //ComponentImpl
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/InputEventImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/InputEventImpl.java
new file mode 100644
index 00000000..8432e29b
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/InputEventImpl.java
@@ -0,0 +1,164 @@
+/**
+ */
+package hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl;
+
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftPackage;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ *
+ * An implementation of the model object 'Input Event '.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.InputEventImpl#isMultiple Multiple }
+ *
+ *
+ * @generated
+ */
+public class InputEventImpl extends EventDeclarationImpl implements InputEvent {
+ /**
+ * The default value of the '{@link #isMultiple() Multiple }' attribute.
+ *
+ *
+ * @see #isMultiple()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean MULTIPLE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isMultiple() Multiple }' attribute.
+ *
+ *
+ * @see #isMultiple()
+ * @generated
+ * @ordered
+ */
+ protected boolean multiple = MULTIPLE_EDEFAULT;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected InputEventImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CftPackage.Literals.INPUT_EVENT;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean isMultiple() {
+ return multiple;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void setMultiple(boolean newMultiple) {
+ boolean oldMultiple = multiple;
+ multiple = newMultiple;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CftPackage.INPUT_EVENT__MULTIPLE, oldMultiple, multiple));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CftPackage.INPUT_EVENT__MULTIPLE:
+ return isMultiple();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CftPackage.INPUT_EVENT__MULTIPLE:
+ setMultiple((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CftPackage.INPUT_EVENT__MULTIPLE:
+ setMultiple(MULTIPLE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CftPackage.INPUT_EVENT__MULTIPLE:
+ return multiple != MULTIPLE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (multiple: ");
+ result.append(multiple);
+ result.append(')');
+ return result.toString();
+ }
+
+} //InputEventImpl
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/InputImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/InputImpl.java
index eda5fea0..aa560064 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/InputImpl.java
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/InputImpl.java
@@ -6,8 +6,7 @@ import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftPackage;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Component;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Connection;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input;
-import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.IntputEvent;
-
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent;
import java.util.Collection;
import org.eclipse.emf.common.notify.Notification;
@@ -33,7 +32,7 @@ import org.eclipse.emf.ecore.util.InternalEList;
* The following features are implemented:
*
*
- * {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.InputImpl#getIntputEvent Intput Event }
+ * {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.InputImpl#getInputEvent Input Event }
* {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.InputImpl#getComponent Component }
* {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.InputImpl#getIncomingConnections Incoming Connections }
*
@@ -42,14 +41,14 @@ import org.eclipse.emf.ecore.util.InternalEList;
*/
public class InputImpl extends MinimalEObjectImpl.Container implements Input {
/**
- * The cached value of the '{@link #getIntputEvent() Intput Event }' reference.
+ * The cached value of the '{@link #getInputEvent() Input Event }' reference.
*
*
- * @see #getIntputEvent()
+ * @see #getInputEvent()
* @generated
* @ordered
*/
- protected IntputEvent intputEvent;
+ protected InputEvent inputEvent;
/**
* The cached value of the '{@link #getIncomingConnections() Incoming Connections }' containment reference list.
@@ -86,16 +85,16 @@ public class InputImpl extends MinimalEObjectImpl.Container implements Input {
* @generated
*/
@Override
- public IntputEvent getIntputEvent() {
- if (intputEvent != null && intputEvent.eIsProxy()) {
- InternalEObject oldIntputEvent = (InternalEObject)intputEvent;
- intputEvent = (IntputEvent)eResolveProxy(oldIntputEvent);
- if (intputEvent != oldIntputEvent) {
+ public InputEvent getInputEvent() {
+ if (inputEvent != null && inputEvent.eIsProxy()) {
+ InternalEObject oldInputEvent = (InternalEObject)inputEvent;
+ inputEvent = (InputEvent)eResolveProxy(oldInputEvent);
+ if (inputEvent != oldInputEvent) {
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, CftPackage.INPUT__INTPUT_EVENT, oldIntputEvent, intputEvent));
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, CftPackage.INPUT__INPUT_EVENT, oldInputEvent, inputEvent));
}
}
- return intputEvent;
+ return inputEvent;
}
/**
@@ -103,8 +102,8 @@ public class InputImpl extends MinimalEObjectImpl.Container implements Input {
*
* @generated
*/
- public IntputEvent basicGetIntputEvent() {
- return intputEvent;
+ public InputEvent basicGetInputEvent() {
+ return inputEvent;
}
/**
@@ -113,11 +112,11 @@ public class InputImpl extends MinimalEObjectImpl.Container implements Input {
* @generated
*/
@Override
- public void setIntputEvent(IntputEvent newIntputEvent) {
- IntputEvent oldIntputEvent = intputEvent;
- intputEvent = newIntputEvent;
+ public void setInputEvent(InputEvent newInputEvent) {
+ InputEvent oldInputEvent = inputEvent;
+ inputEvent = newInputEvent;
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, CftPackage.INPUT__INTPUT_EVENT, oldIntputEvent, intputEvent));
+ eNotify(new ENotificationImpl(this, Notification.SET, CftPackage.INPUT__INPUT_EVENT, oldInputEvent, inputEvent));
}
/**
@@ -233,9 +232,9 @@ public class InputImpl extends MinimalEObjectImpl.Container implements Input {
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
- case CftPackage.INPUT__INTPUT_EVENT:
- if (resolve) return getIntputEvent();
- return basicGetIntputEvent();
+ case CftPackage.INPUT__INPUT_EVENT:
+ if (resolve) return getInputEvent();
+ return basicGetInputEvent();
case CftPackage.INPUT__COMPONENT:
return getComponent();
case CftPackage.INPUT__INCOMING_CONNECTIONS:
@@ -253,8 +252,8 @@ public class InputImpl extends MinimalEObjectImpl.Container implements Input {
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
- case CftPackage.INPUT__INTPUT_EVENT:
- setIntputEvent((IntputEvent)newValue);
+ case CftPackage.INPUT__INPUT_EVENT:
+ setInputEvent((InputEvent)newValue);
return;
case CftPackage.INPUT__COMPONENT:
setComponent((Component)newValue);
@@ -275,8 +274,8 @@ public class InputImpl extends MinimalEObjectImpl.Container implements Input {
@Override
public void eUnset(int featureID) {
switch (featureID) {
- case CftPackage.INPUT__INTPUT_EVENT:
- setIntputEvent((IntputEvent)null);
+ case CftPackage.INPUT__INPUT_EVENT:
+ setInputEvent((InputEvent)null);
return;
case CftPackage.INPUT__COMPONENT:
setComponent((Component)null);
@@ -296,8 +295,8 @@ public class InputImpl extends MinimalEObjectImpl.Container implements Input {
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
- case CftPackage.INPUT__INTPUT_EVENT:
- return intputEvent != null;
+ case CftPackage.INPUT__INPUT_EVENT:
+ return inputEvent != null;
case CftPackage.INPUT__COMPONENT:
return getComponent() != null;
case CftPackage.INPUT__INCOMING_CONNECTIONS:
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/IntputEventImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/IntputEventImpl.java
deleted file mode 100644
index ea22452f..00000000
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/impl/IntputEventImpl.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/**
- */
-package hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl;
-
-import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftPackage;
-import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.IntputEvent;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-/**
- *
- * An implementation of the model object 'Intput Event '.
- *
- *
- * The following features are implemented:
- *
- *
- * {@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.impl.IntputEventImpl#isMultiple Multiple }
- *
- *
- * @generated
- */
-public class IntputEventImpl extends EventDeclarationImpl implements IntputEvent {
- /**
- * The default value of the '{@link #isMultiple() Multiple }' attribute.
- *
- *
- * @see #isMultiple()
- * @generated
- * @ordered
- */
- protected static final boolean MULTIPLE_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isMultiple() Multiple }' attribute.
- *
- *
- * @see #isMultiple()
- * @generated
- * @ordered
- */
- protected boolean multiple = MULTIPLE_EDEFAULT;
-
- /**
- *
- *
- * @generated
- */
- protected IntputEventImpl() {
- super();
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return CftPackage.Literals.INTPUT_EVENT;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public boolean isMultiple() {
- return multiple;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public void setMultiple(boolean newMultiple) {
- boolean oldMultiple = multiple;
- multiple = newMultiple;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, CftPackage.INTPUT_EVENT__MULTIPLE, oldMultiple, multiple));
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case CftPackage.INTPUT_EVENT__MULTIPLE:
- return isMultiple();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case CftPackage.INTPUT_EVENT__MULTIPLE:
- setMultiple((Boolean)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case CftPackage.INTPUT_EVENT__MULTIPLE:
- setMultiple(MULTIPLE_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case CftPackage.INTPUT_EVENT__MULTIPLE:
- return multiple != MULTIPLE_EDEFAULT;
- }
- return super.eIsSet(featureID);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuilder result = new StringBuilder(super.toString());
- result.append(" (multiple: ");
- result.append(multiple);
- result.append(')');
- return result.toString();
- }
-
-} //IntputEventImpl
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/util/CftAdapterFactory.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/util/CftAdapterFactory.java
index c6b82734..e3a40888 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/util/CftAdapterFactory.java
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/util/CftAdapterFactory.java
@@ -84,8 +84,8 @@ public class CftAdapterFactory extends AdapterFactoryImpl {
return createBasicEventDefinitionAdapter();
}
@Override
- public Adapter caseIntputEvent(IntputEvent object) {
- return createIntputEventAdapter();
+ public Adapter caseInputEvent(InputEvent object) {
+ return createInputEventAdapter();
}
@Override
public Adapter caseEventDeclaration(EventDeclaration object) {
@@ -200,16 +200,16 @@ public class CftAdapterFactory extends AdapterFactoryImpl {
}
/**
- * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.IntputEvent Intput Event }'.
+ * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent Input Event }'.
*
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
*
* @return the new adapter.
- * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.IntputEvent
+ * @see hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent
* @generated
*/
- public Adapter createIntputEventAdapter() {
+ public Adapter createInputEventAdapter() {
return null;
}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/util/CftSwitch.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/util/CftSwitch.java
index f2ec9ffb..e32d792b 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/util/CftSwitch.java
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/cft/util/CftSwitch.java
@@ -95,10 +95,10 @@ public class CftSwitch extends Switch {
if (result == null) result = defaultCase(theEObject);
return result;
}
- case CftPackage.INTPUT_EVENT: {
- IntputEvent intputEvent = (IntputEvent)theEObject;
- T result = caseIntputEvent(intputEvent);
- if (result == null) result = caseEventDeclaration(intputEvent);
+ case CftPackage.INPUT_EVENT: {
+ InputEvent inputEvent = (InputEvent)theEObject;
+ T result = caseInputEvent(inputEvent);
+ if (result == null) result = caseEventDeclaration(inputEvent);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -230,17 +230,17 @@ public class CftSwitch extends Switch {
}
/**
- * Returns the result of interpreting the object as an instance of 'Intput Event '.
+ * Returns the result of interpreting the object as an instance of 'Input Event '.
*
* This implementation returns null;
* returning a non-null result will terminate the switch.
*
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of 'Intput Event '.
+ * @return the result of interpreting the object as an instance of 'Input Event '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseIntputEvent(IntputEvent object) {
+ public T caseInputEvent(InputEvent object) {
return null;
}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/model/cft.ecore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/model/cft.ecore
index f9bad301..2fc15d94 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/model/cft.ecore
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/model/cft.ecore
@@ -4,7 +4,7 @@
nsPrefix="cft">
+ eType="#//InputEvent" containment="true"/>
-
+
@@ -45,10 +45,11 @@
eType="#//Output" containment="true" eOpposite="#//Output/component"/>
+
-
+
-
-
+
+
@@ -40,9 +40,10 @@
+
-
+
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/representations.aird b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/representations.aird
index 083705fc..0c5c0fe8 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/representations.aird
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/representations.aird
@@ -185,6 +185,10 @@
+
+
+
+
@@ -635,9 +639,9 @@
-
-
-
+
+
+
KEEP_LOCATION
KEEP_SIZE
KEEP_RATIO
@@ -646,8 +650,8 @@
-
-
+
+
@@ -675,8 +679,8 @@
-
-
+
+
@@ -876,10 +880,18 @@
KEEP_LOCATION
KEEP_SIZE
KEEP_RATIO
-
+
+
+
+
+
+
+
+
+
@@ -949,9 +961,9 @@
-
-
-
+
+
+
bold
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/.classpath b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/.classpath
index eca7bdba..428337e5 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/.classpath
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/.classpath
@@ -3,5 +3,6 @@
+
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/.project b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/.project
index bd1da900..ba51fe06 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/.project
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/.project
@@ -5,6 +5,11 @@
+
+ org.eclipse.xtext.ui.shared.xtextBuilder
+
+
+
org.eclipse.jdt.core.javabuilder
@@ -24,5 +29,6 @@
org.eclipse.pde.PluginNature
org.eclipse.jdt.core.javanature
+ org.eclipse.xtext.ui.shared.xtextNature
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/META-INF/MANIFEST.MF b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/META-INF/MANIFEST.MF
index ae23171b..91eeedc5 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/META-INF/MANIFEST.MF
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/META-INF/MANIFEST.MF
@@ -5,3 +5,12 @@ Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.faulttree.transformation
Bundle-Version: 1.0.0.qualifier
Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.faulttree.transformation
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: com.google.guava,
+ org.eclipse.xtext.xbase.lib,
+ org.eclipse.xtend.lib,
+ org.eclipse.xtend.lib.macro,
+ org.eclipse.emf.ecore,
+ org.eclipse.viatra.query.runtime,
+ org.eclipse.viatra.query.runtime.rete,
+ org.eclipse.viatra.query.runtime.localsearch,
+ hu.bme.mit.inf.dslreasoner.faulttree.components
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/Cft2FtTransformation.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/Cft2FtTransformation.xtend
new file mode 100644
index 00000000..caaffc3c
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/Cft2FtTransformation.xtend
@@ -0,0 +1,10 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft
+
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentFaultTree
+
+class Cft2FtTransformation {
+ def createFaultTree(ComponentFaultTree componentFaultTree) {
+ // TODO
+ throw new UnsupportedOperationException()
+ }
+}
\ No newline at end of file
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentFaultTreeTrace.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentFaultTreeTrace.xtend
new file mode 100644
index 00000000..7a3e377b
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentFaultTreeTrace.xtend
@@ -0,0 +1,39 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft
+
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftFactory
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentDefinition
+import java.util.Map
+import org.eclipse.viatra.query.runtime.api.IPatternMatch
+import org.eclipse.xtend.lib.annotations.Accessors
+
+class ComponentFaultTreeTrace {
+ @Accessors val componentFaultTree = CftFactory.eINSTANCE.createComponentFaultTree
+
+ val nameGenerator = new ComponentNameGenerator
+ val Map componentInstancesMap = newHashMap
+
+ def instantiateComponent(IPatternMatch patternMatch, ComponentDefinition componenDefinition) {
+ if (componentInstancesMap.containsKey(patternMatch)) {
+ throw new IllegalArgumentException("Already instantiated component for match: " + patternMatch)
+ }
+ val componentTrace = new ComponentInstanceTrace(componentFaultTree, componenDefinition, nameGenerator)
+ componentInstancesMap.put(patternMatch, componentTrace)
+ componentTrace
+ }
+
+ def setTopLevel(ComponentInstanceTrace trace) {
+ if (componentFaultTree.topEvent !== null) {
+ throw new IllegalArgumentException("Top level component already set")
+ }
+ val outputs = trace.outputs
+ if (outputs.size !== 1) {
+ throw new IllegalArgumentException("Top level component must have 1 output, got " + outputs.size +
+ " instead")
+ }
+ componentFaultTree.topEvent = outputs.head
+ }
+
+ def lookup(IPatternMatch patternMatch) {
+ componentInstancesMap.get(patternMatch)
+ }
+}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentInstanceTrace.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentInstanceTrace.xtend
new file mode 100644
index 00000000..7353bfe5
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentInstanceTrace.xtend
@@ -0,0 +1,51 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft
+
+import com.google.common.collect.Maps
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftFactory
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentDefinition
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentFaultTree
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.EventDeclaration
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output
+import java.util.Map
+
+class ComponentInstanceTrace {
+ val componentInstance = CftFactory.eINSTANCE.createComponent
+ val Map inputEventsMap
+ val Map outputEventsMap
+
+ protected new(ComponentFaultTree faultTree, ComponentDefinition componentDefinition,
+ ComponentNameGenerator nameGenerator) {
+ componentInstance.componentDefinition = componentDefinition
+ componentInstance.name = nameGenerator.nextName(componentDefinition)
+ inputEventsMap = Maps.newHashMapWithExpectedSize(componentDefinition.inputEvents.size)
+ for (inputEvent : componentDefinition.inputEvents) {
+ val inputTrace = new InputTrace(componentInstance, inputEvent)
+ inputEventsMap.put(inputEvent, inputTrace)
+ }
+ outputEventsMap = Maps.newHashMapWithExpectedSize(componentDefinition.outputEvents.size)
+ for (outputEvent : componentDefinition.outputEvents) {
+ val output = CftFactory.eINSTANCE.createOutput
+ output.eventDeclaration = outputEvent
+ componentInstance.outputs += output
+ outputEventsMap.put(outputEvent, output)
+ }
+ faultTree.components += componentInstance
+ }
+
+ def void assign(EventDeclaration inputEvent, ComponentInstanceTrace sourceComponent, EventDeclaration outputEvent) {
+ val inputTrace = inputEventsMap.get(inputEvent)
+ if (inputTrace === null) {
+ throw new IllegalArgumentException("Unknown input: " + inputEvent)
+ }
+ val output = sourceComponent.outputEventsMap.get(outputEvent)
+ if (output === null) {
+ throw new IllegalArgumentException("Unknown output: " + outputEvent)
+ }
+ inputTrace.assign(output)
+ }
+
+ protected def getOutputs() {
+ componentInstance.outputs
+ }
+}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentNameGenerator.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentNameGenerator.xtend
new file mode 100644
index 00000000..71d40a9b
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentNameGenerator.xtend
@@ -0,0 +1,16 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft
+
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentDefinition
+import java.util.Map
+
+class ComponentNameGenerator {
+ static val DEFAULT_NAME = "__unnamed"
+
+ val Map instanceCounts = newHashMap
+
+ def nextName(ComponentDefinition componentDefinition) {
+ val instanceCount = instanceCounts.getOrDefault(componentDefinition, 0)
+ instanceCounts.put(componentDefinition, instanceCount + 1)
+ (componentDefinition.name ?: DEFAULT_NAME) + instanceCount
+ }
+}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/Ecore2CftTransformation.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/Ecore2CftTransformation.xtend
new file mode 100644
index 00000000..36aac5e1
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/Ecore2CftTransformation.xtend
@@ -0,0 +1,27 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft
+
+import com.google.common.collect.ImmutableList
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition
+import java.util.List
+import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
+
+class Ecore2CftTransformation {
+ val List mappingHandlers
+
+ new(TransformationDefinition transformationDefinition, ViatraQueryEngine viatraQueryEngine) {
+ val mappingQueries = new MappingQueries(transformationDefinition, viatraQueryEngine)
+ mappingHandlers = ImmutableList.copyOf(transformationDefinition.mappingDefinitions.map [ mappingDefinition |
+ new MappingHandler(mappingDefinition, mappingQueries)
+ ])
+ }
+
+ def createComponentFaultTree() {
+ val trace = new ComponentFaultTreeTrace
+ for (handler : mappingHandlers) {
+ handler.instantiateComponents(trace)
+ }
+ for (handler : mappingHandlers) {
+ handler.instantiateConnections(trace)
+ }
+ }
+}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend
new file mode 100644
index 00000000..c529a09b
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend
@@ -0,0 +1,29 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft
+
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftFactory
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Component
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Connection
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output
+import java.util.Map
+
+class InputTrace {
+ val Input input = CftFactory.eINSTANCE.createInput
+ val Map connectionsMap = newHashMap
+
+ protected new(Component component, InputEvent inputEvent) {
+ input.inputEvent = inputEvent
+ component.inputs += input
+ }
+
+ def void assign(Output output) {
+ val connection = connectionsMap.get(output)
+ if (connection === null) {
+ val newConnection = CftFactory.eINSTANCE.createConnection
+ newConnection.output = output
+ input.incomingConnections += newConnection
+ connectionsMap.put(output, newConnection)
+ }
+ }
+}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/LookupHandler.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/LookupHandler.xtend
new file mode 100644
index 00000000..3a06dcc3
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/LookupHandler.xtend
@@ -0,0 +1,47 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft
+
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition
+import org.eclipse.viatra.query.runtime.api.IPatternMatch
+import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher
+
+class LookupHandler {
+ val int[] argumentIndices
+ val ViatraQueryMatcher extends IPatternMatch> lookedUpMatcher
+
+ new(MappingDefinition mappingDefinition, LookupDefinition lookupDefinition,
+ ViatraQueryMatcher extends IPatternMatch> lookedUpMatcher) {
+ if (lookupDefinition.eContainer != mappingDefinition) {
+ throw new IllegalArgumentException("lookupDefinition must be contained in mappingDefinition")
+ }
+ val argumentCount = lookupDefinition.arguments.size
+ if (argumentCount != lookedUpMatcher.parameterNames.length) {
+ throw new IllegalArgumentException(
+ "lookupDefinition (name: " + lookupDefinition.mapping?.pattern?.name +
+ ") must have as many arguments as lookedUpMatcher (name: " + lookedUpMatcher.patternName + ")")
+ }
+ argumentIndices = newIntArrayOfSize(argumentCount)
+ for (var int i = 0; i < argumentCount; i++) {
+ val argument = lookupDefinition.arguments.get(i)
+ val argumentIndex = mappingDefinition.parameters.indexOf(argument)
+ argumentIndices.set(i, argumentIndex)
+ }
+ this.lookedUpMatcher = lookedUpMatcher
+ }
+
+ def lookupForMatch(ComponentFaultTreeTrace faultTreeTrace, IPatternMatch match) {
+ val lookedUpMatch = createLookedUpMatch(match)
+ faultTreeTrace.lookup(lookedUpMatch)
+ }
+
+ private def createLookedUpMatch(IPatternMatch match) {
+ val lookedUpMatch = lookedUpMatcher.newEmptyMatch
+ val argumentCount = argumentIndices.length
+ for (var int i = 0; i < argumentCount; i++) {
+ val argumentIndex = argumentIndices.get(i)
+ var argumentValue = match.get(argumentIndex)
+ lookedUpMatch.set(i, argumentValue)
+ }
+ lookedUpMatch
+ }
+}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingHandler.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingHandler.xtend
new file mode 100644
index 00000000..643af5c4
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingHandler.xtend
@@ -0,0 +1,91 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft
+
+import com.google.common.collect.ImmutableMap
+import com.google.common.collect.Maps
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable
+import java.util.Map
+import org.eclipse.viatra.query.runtime.api.IPatternMatch
+import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher
+
+class MappingHandler {
+ val ViatraQueryMatcher extends IPatternMatch> matcher
+ val MappingDefinition mappingDefinition
+ val Map lookupHandlers
+
+ new(MappingDefinition mappingDefinition, MappingQueries mappingQueries) {
+ matcher = mappingQueries.getMatcher(mappingDefinition)
+ this.mappingDefinition = mappingDefinition
+ val variables = newHashSet
+ for (assignment : mappingDefinition.assignments) {
+ variables += assignment.input.component
+ variables += assignment.output.component
+ }
+ lookupHandlers = ImmutableMap.copyOf(variables.filter(LookupDefinition).toMap([it], [ lookupDefinition |
+ mappingQueries.createLookupHandler(mappingDefinition, lookupDefinition)
+ ]))
+ }
+
+ def instantiateComponents(ComponentFaultTreeTrace faultTreeTrace) {
+ if (!hasComponentInstace) {
+ return
+ }
+ matcher.forEachMatch [ match |
+ val componentTrace = faultTreeTrace.instantiateComponent(match, componentDefinition)
+ if (isTopLevel) {
+ faultTreeTrace.topLevel = componentTrace
+ }
+ ]
+ }
+
+ def instantiateConnections(ComponentFaultTreeTrace faultTreeTrace) {
+ if (!hasConnections) {
+ return
+ }
+ matcher.forEachMatch [ match |
+ val lookedUpComponents = lookupComponents(faultTreeTrace, match)
+ for (assignment : mappingDefinition.assignments) {
+ val input = assignment.input
+ val inputComponent = lookedUpComponents.get(input.component)
+ val output = assignment.output
+ val outputComponent = lookedUpComponents.get(output.component)
+ if (inputComponent !== null && outputComponent !== null) {
+ inputComponent.assign(input.event, outputComponent, output.event)
+ }
+ }
+ ]
+ }
+
+ private def Map lookupComponents(ComponentFaultTreeTrace faultTreeTrace,
+ IPatternMatch match) {
+ val lookedUpComponents = Maps.newHashMapWithExpectedSize(lookupHandlers.size + 1)
+ if (hasComponentInstace) {
+ val componentInstance = faultTreeTrace.lookup(match)
+ lookedUpComponents.put(mappingDefinition.componentInstance, componentInstance)
+ }
+ for (pair : lookupHandlers.entrySet) {
+ val componentInstance = pair.value.lookupForMatch(faultTreeTrace, match)
+ if (componentInstance !== null) {
+ lookedUpComponents.put(pair.key, componentInstance)
+ }
+ }
+ lookedUpComponents
+ }
+
+ private def getComponentDefinition() {
+ mappingDefinition.componentInstance?.componentType
+ }
+
+ private def hasComponentInstace() {
+ componentDefinition !== null
+ }
+
+ private def isTopLevel() {
+ mappingDefinition.topLevel
+ }
+
+ private def hasConnections() {
+ !mappingDefinition.assignments.empty
+ }
+}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingQueries.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingQueries.xtend
new file mode 100644
index 00000000..6683b3f8
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingQueries.xtend
@@ -0,0 +1,38 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft
+
+import com.google.common.collect.ImmutableMap
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition
+import java.util.Map
+import org.eclipse.viatra.query.patternlanguage.emf.specification.SpecificationBuilder
+import org.eclipse.viatra.query.runtime.api.GenericQueryGroup
+import org.eclipse.viatra.query.runtime.api.IPatternMatch
+import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
+import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher
+
+class MappingQueries {
+ val Map> matchersMap
+
+ new(TransformationDefinition transformationDefinition, ViatraQueryEngine viatraQueryEngine) {
+ val specificationBuilder = new SpecificationBuilder
+ val querySpecificationsMap = transformationDefinition.mappingDefinitions.toMap([it], [
+ specificationBuilder.getOrCreateSpecification(pattern)
+ ])
+ GenericQueryGroup.of(querySpecificationsMap.values).prepare(viatraQueryEngine)
+ matchersMap = ImmutableMap.copyOf(querySpecificationsMap.mapValues[getMatcher(viatraQueryEngine)])
+ }
+
+ def getMatcher(MappingDefinition mappingDefinition) {
+ val matcher = matchersMap.get(mappingDefinition)
+ if (matcher === null) {
+ throw new IllegalArgumentException("Unknown mapping definition: " + mappingDefinition)
+ }
+ matcher
+ }
+
+ def createLookupHandler(MappingDefinition mappingDefinition, LookupDefinition lookupDefinition) {
+ val lookedUpMatcher = getMatcher(lookupDefinition.mapping)
+ new LookupHandler(mappingDefinition, lookupDefinition, lookedUpMatcher)
+ }
+}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/.gitignore
new file mode 100644
index 00000000..49df59a2
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/.gitignore
@@ -0,0 +1,8 @@
+/.CftTransformation.java._trace
+/.ComponentFaultTreeTrace.java._trace
+/.ComponentInstanceTrace.java._trace
+/.InputTrace.java._trace
+/.MappingHandler.java._trace
+/.ComponentInstantiationHandler.java._trace
+/.MappingQueries.java._trace
+/.LookupHandler.java._trace
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.Cft2FtTransformation.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.Cft2FtTransformation.xtendbin
new file mode 100644
index 00000000..3e751774
Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.Cft2FtTransformation.xtendbin differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.gitignore
new file mode 100644
index 00000000..70156b02
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.gitignore
@@ -0,0 +1 @@
+/.Cft2FtTransformation.java._trace
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/Cft2FtTransformation.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/Cft2FtTransformation.java
new file mode 100644
index 00000000..ae750806
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/Cft2FtTransformation.java
@@ -0,0 +1,10 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft;
+
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentFaultTree;
+
+@SuppressWarnings("all")
+public class Cft2FtTransformation {
+ public void createFaultTree(final ComponentFaultTree componentFaultTree) {
+ throw new UnsupportedOperationException();
+ }
+}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentFaultTreeTrace.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentFaultTreeTrace.xtendbin
new file mode 100644
index 00000000..d26ae359
Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentFaultTreeTrace.xtendbin differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentInstanceTrace.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentInstanceTrace.xtendbin
new file mode 100644
index 00000000..03d6064f
Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentInstanceTrace.xtendbin differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentNameGenerator.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentNameGenerator.xtendbin
new file mode 100644
index 00000000..1f6758ac
Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentNameGenerator.xtendbin differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.Ecore2CftTransformation.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.Ecore2CftTransformation.xtendbin
new file mode 100644
index 00000000..3569c02f
Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.Ecore2CftTransformation.xtendbin differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.InputTrace.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.InputTrace.xtendbin
new file mode 100644
index 00000000..378550ba
Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.InputTrace.xtendbin differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.LookupHandler.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.LookupHandler.xtendbin
new file mode 100644
index 00000000..0b0e534a
Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.LookupHandler.xtendbin differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.MappingHandler.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.MappingHandler.xtendbin
new file mode 100644
index 00000000..5e26d4e4
Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.MappingHandler.xtendbin differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.MappingQueries.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.MappingQueries.xtendbin
new file mode 100644
index 00000000..8fb7f13f
Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.MappingQueries.xtendbin differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.gitignore
new file mode 100644
index 00000000..33bb70d4
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.gitignore
@@ -0,0 +1,9 @@
+/.ComponentFaultTreeTrace.java._trace
+/.ComponentInstanceTrace.java._trace
+/.InputTrace.java._trace
+/.LookupHandler.java._trace
+/.MappingHandler.java._trace
+/.MappingQueries.java._trace
+/.CftTransformation.java._trace
+/.Ecore2CftTransformation.java._trace
+/.ComponentNameGenerator.java._trace
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentFaultTreeTrace.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentFaultTreeTrace.java
new file mode 100644
index 00000000..46e711d9
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentFaultTreeTrace.java
@@ -0,0 +1,67 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft;
+
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftFactory;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentDefinition;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentFaultTree;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output;
+import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.ComponentInstanceTrace;
+import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.ComponentNameGenerator;
+import java.util.Map;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.viatra.query.runtime.api.IPatternMatch;
+import org.eclipse.xtend.lib.annotations.Accessors;
+import org.eclipse.xtext.xbase.lib.CollectionLiterals;
+import org.eclipse.xtext.xbase.lib.IterableExtensions;
+import org.eclipse.xtext.xbase.lib.Pure;
+
+@SuppressWarnings("all")
+public class ComponentFaultTreeTrace {
+ @Accessors
+ private final ComponentFaultTree componentFaultTree = CftFactory.eINSTANCE.createComponentFaultTree();
+
+ private final ComponentNameGenerator nameGenerator = new ComponentNameGenerator();
+
+ private final Map componentInstancesMap = CollectionLiterals.newHashMap();
+
+ public ComponentInstanceTrace instantiateComponent(final IPatternMatch patternMatch, final ComponentDefinition componenDefinition) {
+ ComponentInstanceTrace _xblockexpression = null;
+ {
+ boolean _containsKey = this.componentInstancesMap.containsKey(patternMatch);
+ if (_containsKey) {
+ throw new IllegalArgumentException(("Already instantiated component for match: " + patternMatch));
+ }
+ final ComponentInstanceTrace componentTrace = new ComponentInstanceTrace(this.componentFaultTree, componenDefinition, this.nameGenerator);
+ this.componentInstancesMap.put(patternMatch, componentTrace);
+ _xblockexpression = componentTrace;
+ }
+ return _xblockexpression;
+ }
+
+ public void setTopLevel(final ComponentInstanceTrace trace) {
+ Output _topEvent = this.componentFaultTree.getTopEvent();
+ boolean _tripleNotEquals = (_topEvent != null);
+ if (_tripleNotEquals) {
+ throw new IllegalArgumentException("Top level component already set");
+ }
+ final EList outputs = trace.getOutputs();
+ int _size = outputs.size();
+ boolean _tripleNotEquals_1 = (_size != 1);
+ if (_tripleNotEquals_1) {
+ int _size_1 = outputs.size();
+ String _plus = ("Top level component must have 1 output, got " + Integer.valueOf(_size_1));
+ String _plus_1 = (_plus +
+ " instead");
+ throw new IllegalArgumentException(_plus_1);
+ }
+ this.componentFaultTree.setTopEvent(IterableExtensions.head(outputs));
+ }
+
+ public ComponentInstanceTrace lookup(final IPatternMatch patternMatch) {
+ return this.componentInstancesMap.get(patternMatch);
+ }
+
+ @Pure
+ public ComponentFaultTree getComponentFaultTree() {
+ return this.componentFaultTree;
+ }
+}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentInstanceTrace.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentInstanceTrace.java
new file mode 100644
index 00000000..840f501d
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentInstanceTrace.java
@@ -0,0 +1,65 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft;
+
+import com.google.common.collect.Maps;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftFactory;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Component;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentDefinition;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentFaultTree;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.EventDeclaration;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output;
+import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.ComponentNameGenerator;
+import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.InputTrace;
+import java.util.Map;
+import org.eclipse.emf.common.util.EList;
+
+@SuppressWarnings("all")
+public class ComponentInstanceTrace {
+ private final Component componentInstance = CftFactory.eINSTANCE.createComponent();
+
+ private final Map inputEventsMap;
+
+ private final Map outputEventsMap;
+
+ protected ComponentInstanceTrace(final ComponentFaultTree faultTree, final ComponentDefinition componentDefinition, final ComponentNameGenerator nameGenerator) {
+ this.componentInstance.setComponentDefinition(componentDefinition);
+ this.componentInstance.setName(nameGenerator.nextName(componentDefinition));
+ this.inputEventsMap = Maps.newHashMapWithExpectedSize(componentDefinition.getInputEvents().size());
+ EList _inputEvents = componentDefinition.getInputEvents();
+ for (final InputEvent inputEvent : _inputEvents) {
+ {
+ final InputTrace inputTrace = new InputTrace(this.componentInstance, inputEvent);
+ this.inputEventsMap.put(inputEvent, inputTrace);
+ }
+ }
+ this.outputEventsMap = Maps.newHashMapWithExpectedSize(componentDefinition.getOutputEvents().size());
+ EList _outputEvents = componentDefinition.getOutputEvents();
+ for (final EventDeclaration outputEvent : _outputEvents) {
+ {
+ final Output output = CftFactory.eINSTANCE.createOutput();
+ output.setEventDeclaration(outputEvent);
+ EList _outputs = this.componentInstance.getOutputs();
+ _outputs.add(output);
+ this.outputEventsMap.put(outputEvent, output);
+ }
+ }
+ EList _components = faultTree.getComponents();
+ _components.add(this.componentInstance);
+ }
+
+ public void assign(final EventDeclaration inputEvent, final ComponentInstanceTrace sourceComponent, final EventDeclaration outputEvent) {
+ final InputTrace inputTrace = this.inputEventsMap.get(inputEvent);
+ if ((inputTrace == null)) {
+ throw new IllegalArgumentException(("Unknown input: " + inputEvent));
+ }
+ final Output output = sourceComponent.outputEventsMap.get(outputEvent);
+ if ((output == null)) {
+ throw new IllegalArgumentException(("Unknown output: " + outputEvent));
+ }
+ inputTrace.assign(output);
+ }
+
+ protected EList getOutputs() {
+ return this.componentInstance.getOutputs();
+ }
+}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentNameGenerator.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentNameGenerator.java
new file mode 100644
index 00000000..e7dca003
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentNameGenerator.java
@@ -0,0 +1,29 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft;
+
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentDefinition;
+import java.util.Map;
+import org.eclipse.xtext.xbase.lib.CollectionLiterals;
+
+@SuppressWarnings("all")
+public class ComponentNameGenerator {
+ private static final String DEFAULT_NAME = "__unnamed";
+
+ private final Map instanceCounts = CollectionLiterals.newHashMap();
+
+ public String nextName(final ComponentDefinition componentDefinition) {
+ String _xblockexpression = null;
+ {
+ final Integer instanceCount = this.instanceCounts.getOrDefault(componentDefinition, Integer.valueOf(0));
+ this.instanceCounts.put(componentDefinition, Integer.valueOf(((instanceCount).intValue() + 1)));
+ String _elvis = null;
+ String _name = componentDefinition.getName();
+ if (_name != null) {
+ _elvis = _name;
+ } else {
+ _elvis = ComponentNameGenerator.DEFAULT_NAME;
+ }
+ _xblockexpression = (_elvis + instanceCount);
+ }
+ return _xblockexpression;
+ }
+}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/Ecore2CftTransformation.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/Ecore2CftTransformation.java
new file mode 100644
index 00000000..8b2d9d97
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/Ecore2CftTransformation.java
@@ -0,0 +1,35 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft;
+
+import com.google.common.collect.ImmutableList;
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition;
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition;
+import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.ComponentFaultTreeTrace;
+import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.MappingHandler;
+import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.MappingQueries;
+import java.util.List;
+import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
+import org.eclipse.xtext.xbase.lib.Functions.Function1;
+import org.eclipse.xtext.xbase.lib.ListExtensions;
+
+@SuppressWarnings("all")
+public class Ecore2CftTransformation {
+ private final List mappingHandlers;
+
+ public Ecore2CftTransformation(final TransformationDefinition transformationDefinition, final ViatraQueryEngine viatraQueryEngine) {
+ final MappingQueries mappingQueries = new MappingQueries(transformationDefinition, viatraQueryEngine);
+ final Function1 _function = (MappingDefinition mappingDefinition) -> {
+ return new MappingHandler(mappingDefinition, mappingQueries);
+ };
+ this.mappingHandlers = ImmutableList.copyOf(ListExtensions.map(transformationDefinition.getMappingDefinitions(), _function));
+ }
+
+ public void createComponentFaultTree() {
+ final ComponentFaultTreeTrace trace = new ComponentFaultTreeTrace();
+ for (final MappingHandler handler : this.mappingHandlers) {
+ handler.instantiateComponents(trace);
+ }
+ for (final MappingHandler handler_1 : this.mappingHandlers) {
+ handler_1.instantiateConnections(trace);
+ }
+ }
+}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.java
new file mode 100644
index 00000000..c12f2bae
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.java
@@ -0,0 +1,35 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft;
+
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftFactory;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Component;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Connection;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output;
+import java.util.Map;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.xtext.xbase.lib.CollectionLiterals;
+
+@SuppressWarnings("all")
+public class InputTrace {
+ private final Input input = CftFactory.eINSTANCE.createInput();
+
+ private final Map connectionsMap = CollectionLiterals.newHashMap();
+
+ protected InputTrace(final Component component, final InputEvent inputEvent) {
+ this.input.setInputEvent(inputEvent);
+ EList _inputs = component.getInputs();
+ _inputs.add(this.input);
+ }
+
+ public void assign(final Output output) {
+ final Connection connection = this.connectionsMap.get(output);
+ if ((connection == null)) {
+ final Connection newConnection = CftFactory.eINSTANCE.createConnection();
+ newConnection.setOutput(output);
+ EList _incomingConnections = this.input.getIncomingConnections();
+ _incomingConnections.add(newConnection);
+ this.connectionsMap.put(output, newConnection);
+ }
+ }
+}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/LookupHandler.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/LookupHandler.java
new file mode 100644
index 00000000..e155aac8
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/LookupHandler.java
@@ -0,0 +1,84 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft;
+
+import com.google.common.base.Objects;
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition;
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition;
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter;
+import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.ComponentFaultTreeTrace;
+import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.ComponentInstanceTrace;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.viatra.query.patternlanguage.emf.vql.Pattern;
+import org.eclipse.viatra.query.runtime.api.IPatternMatch;
+import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher;
+import org.eclipse.xtext.xbase.lib.Conversions;
+
+@SuppressWarnings("all")
+public class LookupHandler {
+ private final int[] argumentIndices;
+
+ private final ViatraQueryMatcher extends IPatternMatch> lookedUpMatcher;
+
+ public LookupHandler(final MappingDefinition mappingDefinition, final LookupDefinition lookupDefinition, final ViatraQueryMatcher extends IPatternMatch> lookedUpMatcher) {
+ EObject _eContainer = lookupDefinition.eContainer();
+ boolean _notEquals = (!Objects.equal(_eContainer, mappingDefinition));
+ if (_notEquals) {
+ throw new IllegalArgumentException("lookupDefinition must be contained in mappingDefinition");
+ }
+ final int argumentCount = lookupDefinition.getArguments().size();
+ int _length = ((Object[])Conversions.unwrapArray(lookedUpMatcher.getParameterNames(), Object.class)).length;
+ boolean _notEquals_1 = (argumentCount != _length);
+ if (_notEquals_1) {
+ MappingDefinition _mapping = lookupDefinition.getMapping();
+ Pattern _pattern = null;
+ if (_mapping!=null) {
+ _pattern=_mapping.getPattern();
+ }
+ String _name = null;
+ if (_pattern!=null) {
+ _name=_pattern.getName();
+ }
+ String _plus = ("lookupDefinition (name: " + _name);
+ String _plus_1 = (_plus +
+ ") must have as many arguments as lookedUpMatcher (name: ");
+ String _patternName = lookedUpMatcher.getPatternName();
+ String _plus_2 = (_plus_1 + _patternName);
+ String _plus_3 = (_plus_2 + ")");
+ throw new IllegalArgumentException(_plus_3);
+ }
+ this.argumentIndices = new int[argumentCount];
+ for (int i = 0; (i < argumentCount); i++) {
+ {
+ final MappingParameter argument = lookupDefinition.getArguments().get(i);
+ final int argumentIndex = mappingDefinition.getParameters().indexOf(argument);
+ this.argumentIndices[i] = argumentIndex;
+ }
+ }
+ this.lookedUpMatcher = lookedUpMatcher;
+ }
+
+ public ComponentInstanceTrace lookupForMatch(final ComponentFaultTreeTrace faultTreeTrace, final IPatternMatch match) {
+ ComponentInstanceTrace _xblockexpression = null;
+ {
+ final IPatternMatch lookedUpMatch = this.createLookedUpMatch(match);
+ _xblockexpression = faultTreeTrace.lookup(lookedUpMatch);
+ }
+ return _xblockexpression;
+ }
+
+ private IPatternMatch createLookedUpMatch(final IPatternMatch match) {
+ IPatternMatch _xblockexpression = null;
+ {
+ final IPatternMatch lookedUpMatch = this.lookedUpMatcher.newEmptyMatch();
+ final int argumentCount = this.argumentIndices.length;
+ for (int i = 0; (i < argumentCount); i++) {
+ {
+ final int argumentIndex = this.argumentIndices[i];
+ Object argumentValue = match.get(argumentIndex);
+ lookedUpMatch.set(i, argumentValue);
+ }
+ }
+ _xblockexpression = lookedUpMatch;
+ }
+ return _xblockexpression;
+ }
+}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingHandler.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingHandler.java
new file mode 100644
index 00000000..41703289
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingHandler.java
@@ -0,0 +1,146 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft;
+
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Maps;
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment;
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentInstance;
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference;
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition;
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition;
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable;
+import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentDefinition;
+import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.ComponentFaultTreeTrace;
+import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.ComponentInstanceTrace;
+import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.LookupHandler;
+import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.MappingQueries;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Consumer;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.viatra.query.runtime.api.IPatternMatch;
+import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher;
+import org.eclipse.xtext.xbase.lib.CollectionLiterals;
+import org.eclipse.xtext.xbase.lib.Functions.Function1;
+import org.eclipse.xtext.xbase.lib.IterableExtensions;
+
+@SuppressWarnings("all")
+public class MappingHandler {
+ private final ViatraQueryMatcher extends IPatternMatch> matcher;
+
+ private final MappingDefinition mappingDefinition;
+
+ private final Map lookupHandlers;
+
+ public MappingHandler(final MappingDefinition mappingDefinition, final MappingQueries mappingQueries) {
+ this.matcher = mappingQueries.getMatcher(mappingDefinition);
+ this.mappingDefinition = mappingDefinition;
+ final HashSet variables = CollectionLiterals.newHashSet();
+ EList _assignments = mappingDefinition.getAssignments();
+ for (final Assignment assignment : _assignments) {
+ {
+ Variable _component = assignment.getInput().getComponent();
+ variables.add(_component);
+ Variable _component_1 = assignment.getOutput().getComponent();
+ variables.add(_component_1);
+ }
+ }
+ final Function1 _function = (LookupDefinition it) -> {
+ return it;
+ };
+ final Function1 _function_1 = (LookupDefinition lookupDefinition) -> {
+ return mappingQueries.createLookupHandler(mappingDefinition, lookupDefinition);
+ };
+ this.lookupHandlers = ImmutableMap.copyOf(IterableExtensions.toMap(Iterables.filter(variables, LookupDefinition.class), _function, _function_1));
+ }
+
+ public void instantiateComponents(final ComponentFaultTreeTrace faultTreeTrace) {
+ boolean _hasComponentInstace = this.hasComponentInstace();
+ boolean _not = (!_hasComponentInstace);
+ if (_not) {
+ return;
+ }
+ final Consumer _function = (IPatternMatch match) -> {
+ final ComponentInstanceTrace componentTrace = faultTreeTrace.instantiateComponent(match, this.getComponentDefinition());
+ boolean _isTopLevel = this.isTopLevel();
+ if (_isTopLevel) {
+ faultTreeTrace.setTopLevel(componentTrace);
+ }
+ };
+ this.matcher.forEachMatch(_function);
+ }
+
+ public void instantiateConnections(final ComponentFaultTreeTrace faultTreeTrace) {
+ boolean _hasConnections = this.hasConnections();
+ boolean _not = (!_hasConnections);
+ if (_not) {
+ return;
+ }
+ final Consumer _function = (IPatternMatch match) -> {
+ final Map lookedUpComponents = this.lookupComponents(faultTreeTrace, match);
+ EList _assignments = this.mappingDefinition.getAssignments();
+ for (final Assignment assignment : _assignments) {
+ {
+ final EventReference input = assignment.getInput();
+ final ComponentInstanceTrace inputComponent = lookedUpComponents.get(input.getComponent());
+ final EventReference output = assignment.getOutput();
+ final ComponentInstanceTrace outputComponent = lookedUpComponents.get(output.getComponent());
+ if (((inputComponent != null) && (outputComponent != null))) {
+ inputComponent.assign(input.getEvent(), outputComponent, output.getEvent());
+ }
+ }
+ }
+ };
+ this.matcher.forEachMatch(_function);
+ }
+
+ private Map lookupComponents(final ComponentFaultTreeTrace faultTreeTrace, final IPatternMatch match) {
+ HashMap _xblockexpression = null;
+ {
+ int _size = this.lookupHandlers.size();
+ int _plus = (_size + 1);
+ final HashMap lookedUpComponents = Maps.newHashMapWithExpectedSize(_plus);
+ boolean _hasComponentInstace = this.hasComponentInstace();
+ if (_hasComponentInstace) {
+ final ComponentInstanceTrace componentInstance = faultTreeTrace.lookup(match);
+ lookedUpComponents.put(this.mappingDefinition.getComponentInstance(), componentInstance);
+ }
+ Set> _entrySet = this.lookupHandlers.entrySet();
+ for (final Map.Entry pair : _entrySet) {
+ {
+ final ComponentInstanceTrace componentInstance_1 = pair.getValue().lookupForMatch(faultTreeTrace, match);
+ if ((componentInstance_1 != null)) {
+ lookedUpComponents.put(pair.getKey(), componentInstance_1);
+ }
+ }
+ }
+ _xblockexpression = lookedUpComponents;
+ }
+ return _xblockexpression;
+ }
+
+ private ComponentDefinition getComponentDefinition() {
+ ComponentInstance _componentInstance = this.mappingDefinition.getComponentInstance();
+ ComponentDefinition _componentType = null;
+ if (_componentInstance!=null) {
+ _componentType=_componentInstance.getComponentType();
+ }
+ return _componentType;
+ }
+
+ private boolean hasComponentInstace() {
+ ComponentDefinition _componentDefinition = this.getComponentDefinition();
+ return (_componentDefinition != null);
+ }
+
+ private boolean isTopLevel() {
+ return this.mappingDefinition.isTopLevel();
+ }
+
+ private boolean hasConnections() {
+ boolean _isEmpty = this.mappingDefinition.getAssignments().isEmpty();
+ return (!_isEmpty);
+ }
+}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingQueries.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingQueries.java
new file mode 100644
index 00000000..6147807e
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingQueries.java
@@ -0,0 +1,60 @@
+package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft;
+
+import com.google.common.collect.ImmutableMap;
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition;
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition;
+import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition;
+import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.LookupHandler;
+import java.util.Map;
+import org.eclipse.viatra.query.patternlanguage.emf.specification.SpecificationBuilder;
+import org.eclipse.viatra.query.runtime.api.GenericQueryGroup;
+import org.eclipse.viatra.query.runtime.api.IPatternMatch;
+import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
+import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
+import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher;
+import org.eclipse.xtext.xbase.lib.Conversions;
+import org.eclipse.xtext.xbase.lib.Functions.Function1;
+import org.eclipse.xtext.xbase.lib.IterableExtensions;
+import org.eclipse.xtext.xbase.lib.MapExtensions;
+
+@SuppressWarnings("all")
+public class MappingQueries {
+ private final Map> matchersMap;
+
+ public MappingQueries(final TransformationDefinition transformationDefinition, final ViatraQueryEngine viatraQueryEngine) {
+ final SpecificationBuilder specificationBuilder = new SpecificationBuilder();
+ final Function1 _function = (MappingDefinition it) -> {
+ return it;
+ };
+ final Function1>> _function_1 = (MappingDefinition it) -> {
+ return specificationBuilder.getOrCreateSpecification(it.getPattern());
+ };
+ final Map>> querySpecificationsMap = IterableExtensions.>>toMap(transformationDefinition.getMappingDefinitions(), _function, _function_1);
+ GenericQueryGroup.of(((IQuerySpecification>[])Conversions.unwrapArray(querySpecificationsMap.values(), IQuerySpecification.class))).prepare(viatraQueryEngine);
+ final Function1>, ViatraQueryMatcher extends IPatternMatch>> _function_2 = (IQuerySpecification extends ViatraQueryMatcher extends IPatternMatch>> it) -> {
+ return it.getMatcher(viatraQueryEngine);
+ };
+ this.matchersMap = ImmutableMap.>copyOf(MapExtensions.>, ViatraQueryMatcher extends IPatternMatch>>mapValues(querySpecificationsMap, _function_2));
+ }
+
+ public ViatraQueryMatcher extends IPatternMatch> getMatcher(final MappingDefinition mappingDefinition) {
+ ViatraQueryMatcher extends IPatternMatch> _xblockexpression = null;
+ {
+ final ViatraQueryMatcher extends IPatternMatch> matcher = this.matchersMap.get(mappingDefinition);
+ if ((matcher == null)) {
+ throw new IllegalArgumentException(("Unknown mapping definition: " + mappingDefinition));
+ }
+ _xblockexpression = matcher;
+ }
+ return _xblockexpression;
+ }
+
+ public LookupHandler createLookupHandler(final MappingDefinition mappingDefinition, final LookupDefinition lookupDefinition) {
+ LookupHandler _xblockexpression = null;
+ {
+ final ViatraQueryMatcher extends IPatternMatch> lookedUpMatcher = this.getMatcher(lookupDefinition.getMapping());
+ _xblockexpression = new LookupHandler(mappingDefinition, lookupDefinition, lookedUpMatcher);
+ }
+ return _xblockexpression;
+ }
+}
--
cgit v1.2.3-70-g09d2