diff options
108 files changed, 4251 insertions, 704 deletions
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin index 879d3171..d13742f9 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin +++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin | |||
Binary files differ | |||
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin index 1583d4f9..dc0a79cc 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin +++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin | |||
Binary files differ | |||
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/plugin.xml b/Application/hu.bme.mit.inf.dslreasoner.application.ui/plugin.xml index 099d6993..304df098 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application.ui/plugin.xml +++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/plugin.xml | |||
@@ -419,12 +419,20 @@ | |||
419 | point="org.eclipse.ui.menus"> | 419 | point="org.eclipse.ui.menus"> |
420 | <menuContribution | 420 | <menuContribution |
421 | allPopups="false" | 421 | allPopups="false" |
422 | locationURI="popup:org.eclipse.ui.popup.any?after=org.eclipse.viatra.addon.validation.runtime.ui.menu"> | 422 | locationURI="popup:hu.bme.mit.inf.dslreasoner.application.ui.menu"> |
423 | <command | 423 | <command |
424 | commandId="hu.bme.mit.inf.dslreasoner.application.ui.executescript" | 424 | commandId="hu.bme.mit.inf.dslreasoner.application.ui.executescript" |
425 | label="VIATRA Solver: Execute" | 425 | label="Execute Application Configuration" |
426 | style="push"> | 426 | style="push"> |
427 | </command> | 427 | </command> |
428 | </menuContribution> | 428 | </menuContribution> |
429 | <menuContribution | ||
430 | allPopups="false" | ||
431 | locationURI="popup:org.eclipse.ui.popup.any?after=org.eclipse.viatra.addon.validation.runtime.ui.menu"> | ||
432 | <menu | ||
433 | id="hu.bme.mit.inf.dslreasoner.application.ui.menu" | ||
434 | label="VIATRA Solver"> | ||
435 | </menu> | ||
436 | </menuContribution> | ||
429 | </extension> | 437 | </extension> |
430 | </plugin> | 438 | </plugin> |
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend index f1d410d8..d88e2a52 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend +++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend | |||
@@ -34,7 +34,7 @@ public class LogicReasonerException extends Exception { | |||
34 | } | 34 | } |
35 | } | 35 | } |
36 | 36 | ||
37 | abstract class LogicSolverConfiguration { | 37 | abstract class SolverConfiguration { |
38 | public static val Unlimited = -1; | 38 | public static val Unlimited = -1; |
39 | public static val String UndefinedPath = null | 39 | public static val String UndefinedPath = null |
40 | 40 | ||
@@ -42,7 +42,7 @@ abstract class LogicSolverConfiguration { | |||
42 | public String solverPath = UndefinedPath | 42 | public String solverPath = UndefinedPath |
43 | /** Max runtime limit in seconds. */ | 43 | /** Max runtime limit in seconds. */ |
44 | public int runtimeLimit = Unlimited | 44 | public int runtimeLimit = Unlimited |
45 | /** Max runtime limit in seconds. */ | 45 | /** Max memory limit in megabytes. */ |
46 | public int memoryLimit = Unlimited | 46 | public int memoryLimit = Unlimited |
47 | /** Documentation level of the solver. */ | 47 | /** Documentation level of the solver. */ |
48 | public DocumentationLevel documentationLevel = DocumentationLevel::NONE | 48 | public DocumentationLevel documentationLevel = DocumentationLevel::NONE |
@@ -52,7 +52,9 @@ abstract class LogicSolverConfiguration { | |||
52 | * or via a listener registered by {@link progressMonitor.addCancelListener}</li> | 52 | * or via a listener registered by {@link progressMonitor.addCancelListener}</li> |
53 | */ | 53 | */ |
54 | public SolverProgressMonitor progressMonitor = new NullSolverProgressMonitor | 54 | public SolverProgressMonitor progressMonitor = new NullSolverProgressMonitor |
55 | } | ||
55 | 56 | ||
57 | abstract class LogicSolverConfiguration extends SolverConfiguration { | ||
56 | public var TypeScopes typeScopes = new TypeScopes; | 58 | public var TypeScopes typeScopes = new TypeScopes; |
57 | public var SolutionScope solutionScope = new SolutionScope | 59 | public var SolutionScope solutionScope = new SolutionScope |
58 | } | 60 | } |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguage.g b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguage.g index 7c04c163..6ccf7334 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguage.g +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguage.g | |||
@@ -1564,9 +1564,9 @@ rule__ConstantDistribution__Group__0__Impl | |||
1564 | } | 1564 | } |
1565 | : | 1565 | : |
1566 | ( | 1566 | ( |
1567 | { before(grammarAccess.getConstantDistributionAccess().getPKeyword_0()); } | 1567 | { before(grammarAccess.getConstantDistributionAccess().getProbKeyword_0()); } |
1568 | 'p' | 1568 | 'prob' |
1569 | { after(grammarAccess.getConstantDistributionAccess().getPKeyword_0()); } | 1569 | { after(grammarAccess.getConstantDistributionAccess().getProbKeyword_0()); } |
1570 | ) | 1570 | ) |
1571 | ; | 1571 | ; |
1572 | finally { | 1572 | finally { |
@@ -4133,9 +4133,9 @@ rule__ComponentInstance__NameAssignment_2 | |||
4133 | } | 4133 | } |
4134 | : | 4134 | : |
4135 | ( | 4135 | ( |
4136 | { before(grammarAccess.getComponentInstanceAccess().getNameIDTerminalRuleCall_2_0()); } | 4136 | { before(grammarAccess.getComponentInstanceAccess().getNameValidIdParserRuleCall_2_0()); } |
4137 | RULE_ID | 4137 | ruleValidId |
4138 | { after(grammarAccess.getComponentInstanceAccess().getNameIDTerminalRuleCall_2_0()); } | 4138 | { after(grammarAccess.getComponentInstanceAccess().getNameValidIdParserRuleCall_2_0()); } |
4139 | ) | 4139 | ) |
4140 | ; | 4140 | ; |
4141 | finally { | 4141 | finally { |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguage.tokens b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguage.tokens index ee87b574..76556942 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguage.tokens +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguage.tokens | |||
@@ -20,8 +20,8 @@ | |||
20 | 'of'=27 | 20 | 'of'=27 |
21 | 'or'=26 | 21 | 'or'=26 |
22 | 'out'=21 | 22 | 'out'=21 |
23 | 'p'=22 | ||
24 | 'package'=14 | 23 | 'package'=14 |
24 | 'prob'=22 | ||
25 | 'toplevel'=39 | 25 | 'toplevel'=39 |
26 | 'transformation'=28 | 26 | 'transformation'=28 |
27 | '{'=18 | 27 | '{'=18 |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguageLexer.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguageLexer.java index 21e09c33..6a06d1ec 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguageLexer.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguageLexer.java | |||
@@ -255,10 +255,11 @@ public class InternalCftLanguageLexer extends Lexer { | |||
255 | try { | 255 | try { |
256 | int _type = T__22; | 256 | int _type = T__22; |
257 | int _channel = DEFAULT_TOKEN_CHANNEL; | 257 | int _channel = DEFAULT_TOKEN_CHANNEL; |
258 | // InternalCftLanguage.g:20:7: ( 'p' ) | 258 | // InternalCftLanguage.g:20:7: ( 'prob' ) |
259 | // InternalCftLanguage.g:20:9: 'p' | 259 | // InternalCftLanguage.g:20:9: 'prob' |
260 | { | 260 | { |
261 | match('p'); | 261 | match("prob"); |
262 | |||
262 | 263 | ||
263 | } | 264 | } |
264 | 265 | ||
@@ -1729,21 +1730,21 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1729 | } | 1730 | } |
1730 | } | 1731 | } |
1731 | static final String DFA20_eotS = | 1732 | static final String DFA20_eotS = |
1732 | "\1\uffff\1\34\1\37\1\uffff\2\40\2\uffff\1\40\1\53\4\40\5\uffff\2\34\1\72\1\34\1\uffff\3\34\3\uffff\1\40\3\uffff\1\40\1\103\1\40\2\uffff\1\40\1\106\1\110\2\uffff\3\40\1\114\3\40\10\uffff\1\72\5\uffff\2\40\1\uffff\1\122\1\123\1\uffff\1\124\1\uffff\2\40\1\127\1\uffff\5\40\3\uffff\2\40\1\uffff\13\40\1\152\1\153\1\154\3\40\1\160\3\uffff\2\40\1\163\1\uffff\1\40\1\165\1\uffff\1\40\1\uffff\4\40\1\173\1\uffff"; | 1733 | "\1\uffff\1\34\1\40\1\uffff\2\40\2\uffff\1\40\1\53\4\40\5\uffff\2\34\1\74\1\34\1\uffff\3\34\3\uffff\2\40\2\uffff\1\40\1\104\1\40\2\uffff\1\40\1\107\1\110\2\uffff\3\40\1\115\3\40\10\uffff\1\74\5\uffff\3\40\1\uffff\1\124\1\125\2\uffff\1\126\2\40\1\131\1\uffff\4\40\1\136\1\40\3\uffff\2\40\1\uffff\4\40\1\uffff\7\40\1\155\1\156\1\157\3\40\1\163\3\uffff\2\40\1\166\1\uffff\1\40\1\170\1\uffff\1\40\1\uffff\4\40\1\176\1\uffff"; |
1733 | static final String DFA20_eofS = | 1734 | static final String DFA20_eofS = |
1734 | "\174\uffff"; | 1735 | "\177\uffff"; |
1735 | static final String DFA20_minS = | 1736 | static final String DFA20_minS = |
1736 | "\1\0\1\75\1\60\1\uffff\1\155\1\146\2\uffff\1\146\1\76\1\141\1\156\1\157\1\141\5\uffff\1\135\1\75\1\56\1\101\1\uffff\2\0\1\52\3\uffff\1\143\3\uffff\1\160\1\60\1\164\2\uffff\1\164\2\60\2\uffff\1\155\1\157\1\144\1\60\1\141\2\160\10\uffff\1\56\5\uffff\1\153\1\157\1\uffff\2\60\1\uffff\1\60\1\uffff\1\142\1\153\1\60\1\uffff\1\156\1\154\1\160\1\141\1\162\3\uffff\1\144\1\165\1\uffff\1\163\1\145\1\151\1\147\1\164\1\141\1\160\1\146\1\166\1\156\1\145\3\60\1\157\1\145\1\147\1\60\3\uffff\1\162\1\154\1\60\1\uffff\1\155\1\60\1\uffff\1\141\1\uffff\1\164\1\151\1\157\1\156\1\60\1\uffff"; | 1737 | "\1\0\1\75\1\141\1\uffff\1\155\1\146\2\uffff\1\146\1\76\1\141\1\156\1\157\1\141\5\uffff\1\135\1\75\1\56\1\101\1\uffff\2\0\1\52\3\uffff\1\143\1\157\2\uffff\1\160\1\60\1\164\2\uffff\1\164\2\60\2\uffff\1\155\1\157\1\144\1\60\1\141\2\160\10\uffff\1\56\5\uffff\1\153\1\142\1\157\1\uffff\2\60\2\uffff\1\60\1\142\1\153\1\60\1\uffff\1\156\1\154\1\160\1\141\1\60\1\162\3\uffff\1\144\1\165\1\uffff\1\163\1\145\1\151\1\147\1\uffff\1\164\1\141\1\160\1\146\1\166\1\156\1\145\3\60\1\157\1\145\1\147\1\60\3\uffff\1\162\1\154\1\60\1\uffff\1\155\1\60\1\uffff\1\141\1\uffff\1\164\1\151\1\157\1\156\1\60\1\uffff"; |
1737 | static final String DFA20_maxS = | 1738 | static final String DFA20_maxS = |
1738 | "\1\uffff\1\75\1\172\1\uffff\1\156\1\146\2\uffff\1\165\1\76\1\157\1\163\1\162\1\141\5\uffff\1\135\1\75\1\145\1\172\1\uffff\2\uffff\1\57\3\uffff\1\143\3\uffff\1\160\1\172\1\164\2\uffff\1\164\2\172\2\uffff\1\155\1\157\1\144\1\172\1\141\2\160\10\uffff\1\145\5\uffff\1\153\1\157\1\uffff\2\172\1\uffff\1\172\1\uffff\1\142\1\153\1\172\1\uffff\1\156\1\154\1\160\1\141\1\162\3\uffff\1\144\1\165\1\uffff\1\163\1\145\1\151\1\147\1\164\1\141\1\160\1\146\1\166\1\156\1\145\3\172\1\157\1\145\1\147\1\172\3\uffff\1\162\1\154\1\172\1\uffff\1\155\1\172\1\uffff\1\141\1\uffff\1\164\1\151\1\157\1\156\1\172\1\uffff"; | 1739 | "\1\uffff\1\75\1\162\1\uffff\1\156\1\146\2\uffff\1\165\1\76\1\157\1\163\1\162\1\141\5\uffff\1\135\1\75\1\145\1\172\1\uffff\2\uffff\1\57\3\uffff\1\143\1\157\2\uffff\1\160\1\172\1\164\2\uffff\1\164\2\172\2\uffff\1\155\1\157\1\144\1\172\1\141\2\160\10\uffff\1\145\5\uffff\1\153\1\142\1\157\1\uffff\2\172\2\uffff\1\172\1\142\1\153\1\172\1\uffff\1\156\1\154\1\160\1\141\1\172\1\162\3\uffff\1\144\1\165\1\uffff\1\163\1\145\1\151\1\147\1\uffff\1\164\1\141\1\160\1\146\1\166\1\156\1\145\3\172\1\157\1\145\1\147\1\172\3\uffff\1\162\1\154\1\172\1\uffff\1\155\1\172\1\uffff\1\141\1\uffff\1\164\1\151\1\157\1\156\1\172\1\uffff"; |
1739 | static final String DFA20_acceptS = | 1740 | static final String DFA20_acceptS = |
1740 | "\3\uffff\1\3\2\uffff\1\6\1\7\6\uffff\1\22\1\23\1\24\1\27\1\31\4\uffff\1\37\3\uffff\1\44\1\45\1\1\1\uffff\1\12\1\37\1\3\3\uffff\1\6\1\7\3\uffff\1\30\1\13\7\uffff\1\22\1\23\1\24\1\27\1\31\1\32\1\34\1\40\1\uffff\1\36\1\41\1\42\1\43\1\44\2\uffff\1\10\2\uffff\1\16\1\uffff\1\17\3\uffff\1\26\5\uffff\1\5\1\11\1\35\2\uffff\1\15\22\uffff\1\4\1\14\1\25\3\uffff\1\2\2\uffff\1\21\1\uffff\1\33\5\uffff\1\20"; | 1741 | "\3\uffff\1\3\2\uffff\1\6\1\7\6\uffff\1\22\1\23\1\24\1\27\1\31\4\uffff\1\37\3\uffff\1\44\1\45\1\1\2\uffff\1\37\1\3\3\uffff\1\6\1\7\3\uffff\1\30\1\13\7\uffff\1\22\1\23\1\24\1\27\1\31\1\32\1\34\1\36\1\uffff\1\40\1\41\1\42\1\43\1\44\3\uffff\1\10\2\uffff\1\16\1\17\4\uffff\1\26\6\uffff\1\5\1\11\1\35\2\uffff\1\15\4\uffff\1\12\16\uffff\1\4\1\14\1\25\3\uffff\1\2\2\uffff\1\21\1\uffff\1\33\5\uffff\1\20"; |
1741 | static final String DFA20_specialS = | 1742 | static final String DFA20_specialS = |
1742 | "\1\2\27\uffff\1\1\1\0\142\uffff}>"; | 1743 | "\1\0\27\uffff\1\2\1\1\145\uffff}>"; |
1743 | static final String[] DFA20_transitionS = { | 1744 | static final String[] DFA20_transitionS = { |
1744 | "\11\34\2\33\2\34\1\33\22\34\1\33\1\34\1\30\4\34\1\31\1\16\1\17\1\22\1\24\1\20\1\34\1\21\1\32\12\25\1\1\1\3\1\34\1\11\3\34\32\27\1\23\2\34\1\26\1\27\1\34\1\13\1\27\1\5\5\27\1\4\2\27\1\12\1\15\1\27\1\10\1\2\3\27\1\14\6\27\1\6\1\34\1\7\uff82\34", | 1745 | "\11\34\2\33\2\34\1\33\22\34\1\33\1\34\1\30\4\34\1\31\1\16\1\17\1\22\1\24\1\20\1\34\1\21\1\32\12\25\1\1\1\3\1\34\1\11\3\34\32\27\1\23\2\34\1\26\1\27\1\34\1\13\1\27\1\5\5\27\1\4\2\27\1\12\1\15\1\27\1\10\1\2\3\27\1\14\6\27\1\6\1\34\1\7\uff82\34", |
1745 | "\1\35", | 1746 | "\1\35", |
1746 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\1\36\31\40", | 1747 | "\1\36\20\uffff\1\37", |
1747 | "", | 1748 | "", |
1748 | "\1\42\1\43", | 1749 | "\1\42\1\43", |
1749 | "\1\44", | 1750 | "\1\44", |
@@ -1762,7 +1763,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1762 | "", | 1763 | "", |
1763 | "\1\70", | 1764 | "\1\70", |
1764 | "\1\71", | 1765 | "\1\71", |
1765 | "\1\74\1\uffff\12\73\13\uffff\1\74\37\uffff\1\74", | 1766 | "\1\72\1\uffff\12\73\13\uffff\1\72\37\uffff\1\72", |
1766 | "\32\40\4\uffff\1\40\1\uffff\32\40", | 1767 | "\32\40\4\uffff\1\40\1\uffff\32\40", |
1767 | "", | 1768 | "", |
1768 | "\0\75", | 1769 | "\0\75", |
@@ -1772,26 +1773,26 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1772 | "", | 1773 | "", |
1773 | "", | 1774 | "", |
1774 | "\1\101", | 1775 | "\1\101", |
1776 | "\1\102", | ||
1775 | "", | 1777 | "", |
1776 | "", | 1778 | "", |
1777 | "", | 1779 | "\1\103", |
1778 | "\1\102", | ||
1779 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", | 1780 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", |
1780 | "\1\104", | 1781 | "\1\105", |
1781 | "", | 1782 | "", |
1782 | "", | 1783 | "", |
1783 | "\1\105", | 1784 | "\1\106", |
1784 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", | 1785 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", |
1785 | "\12\107\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", | 1786 | "\12\111\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", |
1786 | "", | 1787 | "", |
1787 | "", | 1788 | "", |
1788 | "\1\111", | ||
1789 | "\1\112", | 1789 | "\1\112", |
1790 | "\1\113", | 1790 | "\1\113", |
1791 | "\1\114", | ||
1791 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", | 1792 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", |
1792 | "\1\115", | ||
1793 | "\1\116", | 1793 | "\1\116", |
1794 | "\1\117", | 1794 | "\1\117", |
1795 | "\1\120", | ||
1795 | "", | 1796 | "", |
1796 | "", | 1797 | "", |
1797 | "", | 1798 | "", |
@@ -1800,69 +1801,72 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1800 | "", | 1801 | "", |
1801 | "", | 1802 | "", |
1802 | "", | 1803 | "", |
1803 | "\1\74\1\uffff\12\73\13\uffff\1\74\37\uffff\1\74", | 1804 | "\1\72\1\uffff\12\73\13\uffff\1\72\37\uffff\1\72", |
1804 | "", | 1805 | "", |
1805 | "", | 1806 | "", |
1806 | "", | 1807 | "", |
1807 | "", | 1808 | "", |
1808 | "", | 1809 | "", |
1809 | "\1\120", | ||
1810 | "\1\121", | 1810 | "\1\121", |
1811 | "\1\122", | ||
1812 | "\1\123", | ||
1811 | "", | 1813 | "", |
1812 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", | 1814 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", |
1813 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", | 1815 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", |
1814 | "", | 1816 | "", |
1815 | "\12\107\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", | ||
1816 | "", | 1817 | "", |
1817 | "\1\125", | 1818 | "\12\111\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", |
1818 | "\1\126", | 1819 | "\1\127", |
1820 | "\1\130", | ||
1819 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", | 1821 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", |
1820 | "", | 1822 | "", |
1821 | "\1\130", | ||
1822 | "\1\131", | ||
1823 | "\1\132", | 1823 | "\1\132", |
1824 | "\1\133", | 1824 | "\1\133", |
1825 | "\1\134", | 1825 | "\1\134", |
1826 | "\1\135", | ||
1827 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", | ||
1828 | "\1\137", | ||
1826 | "", | 1829 | "", |
1827 | "", | 1830 | "", |
1828 | "", | 1831 | "", |
1829 | "\1\135", | ||
1830 | "\1\136", | ||
1831 | "", | ||
1832 | "\1\137", | ||
1833 | "\1\140", | 1832 | "\1\140", |
1834 | "\1\141", | 1833 | "\1\141", |
1834 | "", | ||
1835 | "\1\142", | 1835 | "\1\142", |
1836 | "\1\143", | 1836 | "\1\143", |
1837 | "\1\144", | 1837 | "\1\144", |
1838 | "\1\145", | 1838 | "\1\145", |
1839 | "", | ||
1839 | "\1\146", | 1840 | "\1\146", |
1840 | "\1\147", | 1841 | "\1\147", |
1841 | "\1\150", | 1842 | "\1\150", |
1842 | "\1\151", | 1843 | "\1\151", |
1844 | "\1\152", | ||
1845 | "\1\153", | ||
1846 | "\1\154", | ||
1843 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", | 1847 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", |
1844 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", | 1848 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", |
1845 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", | 1849 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", |
1846 | "\1\155", | 1850 | "\1\160", |
1847 | "\1\156", | ||
1848 | "\1\157", | ||
1849 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", | ||
1850 | "", | ||
1851 | "", | ||
1852 | "", | ||
1853 | "\1\161", | 1851 | "\1\161", |
1854 | "\1\162", | 1852 | "\1\162", |
1855 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", | 1853 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", |
1856 | "", | 1854 | "", |
1855 | "", | ||
1856 | "", | ||
1857 | "\1\164", | 1857 | "\1\164", |
1858 | "\1\165", | ||
1858 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", | 1859 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", |
1859 | "", | 1860 | "", |
1860 | "\1\166", | ||
1861 | "", | ||
1862 | "\1\167", | 1861 | "\1\167", |
1863 | "\1\170", | 1862 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", |
1863 | "", | ||
1864 | "\1\171", | 1864 | "\1\171", |
1865 | "", | ||
1865 | "\1\172", | 1866 | "\1\172", |
1867 | "\1\173", | ||
1868 | "\1\174", | ||
1869 | "\1\175", | ||
1866 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", | 1870 | "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", |
1867 | "" | 1871 | "" |
1868 | }; | 1872 | }; |
@@ -1904,26 +1908,6 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1904 | int _s = s; | 1908 | int _s = s; |
1905 | switch ( s ) { | 1909 | switch ( s ) { |
1906 | case 0 : | 1910 | case 0 : |
1907 | int LA20_25 = input.LA(1); | ||
1908 | |||
1909 | s = -1; | ||
1910 | if ( ((LA20_25>='\u0000' && LA20_25<='\uFFFF')) ) {s = 61;} | ||
1911 | |||
1912 | else s = 28; | ||
1913 | |||
1914 | if ( s>=0 ) return s; | ||
1915 | break; | ||
1916 | case 1 : | ||
1917 | int LA20_24 = input.LA(1); | ||
1918 | |||
1919 | s = -1; | ||
1920 | if ( ((LA20_24>='\u0000' && LA20_24<='\uFFFF')) ) {s = 61;} | ||
1921 | |||
1922 | else s = 28; | ||
1923 | |||
1924 | if ( s>=0 ) return s; | ||
1925 | break; | ||
1926 | case 2 : | ||
1927 | int LA20_0 = input.LA(1); | 1911 | int LA20_0 = input.LA(1); |
1928 | 1912 | ||
1929 | s = -1; | 1913 | s = -1; |
@@ -1985,6 +1969,26 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1985 | 1969 | ||
1986 | if ( s>=0 ) return s; | 1970 | if ( s>=0 ) return s; |
1987 | break; | 1971 | break; |
1972 | case 1 : | ||
1973 | int LA20_25 = input.LA(1); | ||
1974 | |||
1975 | s = -1; | ||
1976 | if ( ((LA20_25>='\u0000' && LA20_25<='\uFFFF')) ) {s = 61;} | ||
1977 | |||
1978 | else s = 28; | ||
1979 | |||
1980 | if ( s>=0 ) return s; | ||
1981 | break; | ||
1982 | case 2 : | ||
1983 | int LA20_24 = input.LA(1); | ||
1984 | |||
1985 | s = -1; | ||
1986 | if ( ((LA20_24>='\u0000' && LA20_24<='\uFFFF')) ) {s = 61;} | ||
1987 | |||
1988 | else s = 28; | ||
1989 | |||
1990 | if ( s>=0 ) return s; | ||
1991 | break; | ||
1988 | } | 1992 | } |
1989 | NoViableAltException nvae = | 1993 | NoViableAltException nvae = |
1990 | new NoViableAltException(getDescription(), 20, _s, input); | 1994 | new NoViableAltException(getDescription(), 20, _s, input); |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguageParser.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguageParser.java index be5e3140..df83084b 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguageParser.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguageParser.java | |||
@@ -22,7 +22,7 @@ import java.util.ArrayList; | |||
22 | @SuppressWarnings("all") | 22 | @SuppressWarnings("all") |
23 | public class InternalCftLanguageParser extends AbstractInternalContentAssistParser { | 23 | public class InternalCftLanguageParser extends AbstractInternalContentAssistParser { |
24 | public static final String[] tokenNames = new String[] { | 24 | public static final String[] tokenNames = new String[] { |
25 | "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_OF_INT", "RULE_INT", "RULE_T_DOUBLE", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "':='", "'package'", "';'", "'import'", "'cft'", "'{'", "'}'", "'in'", "'out'", "'p'", "'='", "'lambda'", "'and'", "'or'", "'of'", "'transformation'", "'mapping'", "'('", "')'", "','", "'lookup'", "'as'", "'.'", "'=>'", "'*'", "'[]'", "'toplevel'", "'+='" | 25 | "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_OF_INT", "RULE_INT", "RULE_T_DOUBLE", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "':='", "'package'", "';'", "'import'", "'cft'", "'{'", "'}'", "'in'", "'out'", "'prob'", "'='", "'lambda'", "'and'", "'or'", "'of'", "'transformation'", "'mapping'", "'('", "')'", "','", "'lookup'", "'as'", "'.'", "'=>'", "'*'", "'[]'", "'toplevel'", "'+='" |
26 | }; | 26 | }; |
27 | public static final int RULE_STRING=8; | 27 | public static final int RULE_STRING=8; |
28 | public static final int RULE_SL_COMMENT=10; | 28 | public static final int RULE_SL_COMMENT=10; |
@@ -4992,21 +4992,21 @@ public class InternalCftLanguageParser extends AbstractInternalContentAssistPars | |||
4992 | 4992 | ||
4993 | 4993 | ||
4994 | // $ANTLR start "rule__ConstantDistribution__Group__0__Impl" | 4994 | // $ANTLR start "rule__ConstantDistribution__Group__0__Impl" |
4995 | // InternalCftLanguage.g:1561:1: rule__ConstantDistribution__Group__0__Impl : ( 'p' ) ; | 4995 | // InternalCftLanguage.g:1561:1: rule__ConstantDistribution__Group__0__Impl : ( 'prob' ) ; |
4996 | public final void rule__ConstantDistribution__Group__0__Impl() throws RecognitionException { | 4996 | public final void rule__ConstantDistribution__Group__0__Impl() throws RecognitionException { |
4997 | 4997 | ||
4998 | int stackSize = keepStackSize(); | 4998 | int stackSize = keepStackSize(); |
4999 | 4999 | ||
5000 | try { | 5000 | try { |
5001 | // InternalCftLanguage.g:1565:1: ( ( 'p' ) ) | 5001 | // InternalCftLanguage.g:1565:1: ( ( 'prob' ) ) |
5002 | // InternalCftLanguage.g:1566:1: ( 'p' ) | 5002 | // InternalCftLanguage.g:1566:1: ( 'prob' ) |
5003 | { | 5003 | { |
5004 | // InternalCftLanguage.g:1566:1: ( 'p' ) | 5004 | // InternalCftLanguage.g:1566:1: ( 'prob' ) |
5005 | // InternalCftLanguage.g:1567:2: 'p' | 5005 | // InternalCftLanguage.g:1567:2: 'prob' |
5006 | { | 5006 | { |
5007 | before(grammarAccess.getConstantDistributionAccess().getPKeyword_0()); | 5007 | before(grammarAccess.getConstantDistributionAccess().getProbKeyword_0()); |
5008 | match(input,22,FOLLOW_2); | 5008 | match(input,22,FOLLOW_2); |
5009 | after(grammarAccess.getConstantDistributionAccess().getPKeyword_0()); | 5009 | after(grammarAccess.getConstantDistributionAccess().getProbKeyword_0()); |
5010 | 5010 | ||
5011 | } | 5011 | } |
5012 | 5012 | ||
@@ -9567,7 +9567,7 @@ public class InternalCftLanguageParser extends AbstractInternalContentAssistPars | |||
9567 | // InternalCftLanguage.g:3065:1: ( rule__ComponentInstance__Group__1__Impl rule__ComponentInstance__Group__2 ) | 9567 | // InternalCftLanguage.g:3065:1: ( rule__ComponentInstance__Group__1__Impl rule__ComponentInstance__Group__2 ) |
9568 | // InternalCftLanguage.g:3066:2: rule__ComponentInstance__Group__1__Impl rule__ComponentInstance__Group__2 | 9568 | // InternalCftLanguage.g:3066:2: rule__ComponentInstance__Group__1__Impl rule__ComponentInstance__Group__2 |
9569 | { | 9569 | { |
9570 | pushFollow(FOLLOW_34); | 9570 | pushFollow(FOLLOW_3); |
9571 | rule__ComponentInstance__Group__1__Impl(); | 9571 | rule__ComponentInstance__Group__1__Impl(); |
9572 | 9572 | ||
9573 | state._fsp--; | 9573 | state._fsp--; |
@@ -9693,7 +9693,7 @@ public class InternalCftLanguageParser extends AbstractInternalContentAssistPars | |||
9693 | int alt28=2; | 9693 | int alt28=2; |
9694 | int LA28_0 = input.LA(1); | 9694 | int LA28_0 = input.LA(1); |
9695 | 9695 | ||
9696 | if ( (LA28_0==RULE_ID) ) { | 9696 | if ( ((LA28_0>=RULE_ID && LA28_0<=RULE_OF_INT)) ) { |
9697 | alt28=1; | 9697 | alt28=1; |
9698 | } | 9698 | } |
9699 | switch (alt28) { | 9699 | switch (alt28) { |
@@ -9880,7 +9880,7 @@ public class InternalCftLanguageParser extends AbstractInternalContentAssistPars | |||
9880 | case 1 : | 9880 | case 1 : |
9881 | // InternalCftLanguage.g:3160:3: rule__QualifiedName__Group_1__0 | 9881 | // InternalCftLanguage.g:3160:3: rule__QualifiedName__Group_1__0 |
9882 | { | 9882 | { |
9883 | pushFollow(FOLLOW_35); | 9883 | pushFollow(FOLLOW_34); |
9884 | rule__QualifiedName__Group_1__0(); | 9884 | rule__QualifiedName__Group_1__0(); |
9885 | 9885 | ||
9886 | state._fsp--; | 9886 | state._fsp--; |
@@ -10245,7 +10245,7 @@ public class InternalCftLanguageParser extends AbstractInternalContentAssistPars | |||
10245 | // InternalCftLanguage.g:3281:1: ( rule__QualifiedNameWithWildcard__Group_1__0__Impl rule__QualifiedNameWithWildcard__Group_1__1 ) | 10245 | // InternalCftLanguage.g:3281:1: ( rule__QualifiedNameWithWildcard__Group_1__0__Impl rule__QualifiedNameWithWildcard__Group_1__1 ) |
10246 | // InternalCftLanguage.g:3282:2: rule__QualifiedNameWithWildcard__Group_1__0__Impl rule__QualifiedNameWithWildcard__Group_1__1 | 10246 | // InternalCftLanguage.g:3282:2: rule__QualifiedNameWithWildcard__Group_1__0__Impl rule__QualifiedNameWithWildcard__Group_1__1 |
10247 | { | 10247 | { |
10248 | pushFollow(FOLLOW_36); | 10248 | pushFollow(FOLLOW_35); |
10249 | rule__QualifiedNameWithWildcard__Group_1__0__Impl(); | 10249 | rule__QualifiedNameWithWildcard__Group_1__0__Impl(); |
10250 | 10250 | ||
10251 | state._fsp--; | 10251 | state._fsp--; |
@@ -10588,7 +10588,7 @@ public class InternalCftLanguageParser extends AbstractInternalContentAssistPars | |||
10588 | // InternalCftLanguage.g:3394:1: ( rule__ComponentDefinition__UnorderedGroup_3__Impl ( rule__ComponentDefinition__UnorderedGroup_3__1 )? ) | 10588 | // InternalCftLanguage.g:3394:1: ( rule__ComponentDefinition__UnorderedGroup_3__Impl ( rule__ComponentDefinition__UnorderedGroup_3__1 )? ) |
10589 | // InternalCftLanguage.g:3395:2: rule__ComponentDefinition__UnorderedGroup_3__Impl ( rule__ComponentDefinition__UnorderedGroup_3__1 )? | 10589 | // InternalCftLanguage.g:3395:2: rule__ComponentDefinition__UnorderedGroup_3__Impl ( rule__ComponentDefinition__UnorderedGroup_3__1 )? |
10590 | { | 10590 | { |
10591 | pushFollow(FOLLOW_37); | 10591 | pushFollow(FOLLOW_36); |
10592 | rule__ComponentDefinition__UnorderedGroup_3__Impl(); | 10592 | rule__ComponentDefinition__UnorderedGroup_3__Impl(); |
10593 | 10593 | ||
10594 | state._fsp--; | 10594 | state._fsp--; |
@@ -12562,21 +12562,25 @@ public class InternalCftLanguageParser extends AbstractInternalContentAssistPars | |||
12562 | 12562 | ||
12563 | 12563 | ||
12564 | // $ANTLR start "rule__ComponentInstance__NameAssignment_2" | 12564 | // $ANTLR start "rule__ComponentInstance__NameAssignment_2" |
12565 | // InternalCftLanguage.g:4130:1: rule__ComponentInstance__NameAssignment_2 : ( RULE_ID ) ; | 12565 | // InternalCftLanguage.g:4130:1: rule__ComponentInstance__NameAssignment_2 : ( ruleValidId ) ; |
12566 | public final void rule__ComponentInstance__NameAssignment_2() throws RecognitionException { | 12566 | public final void rule__ComponentInstance__NameAssignment_2() throws RecognitionException { |
12567 | 12567 | ||
12568 | int stackSize = keepStackSize(); | 12568 | int stackSize = keepStackSize(); |
12569 | 12569 | ||
12570 | try { | 12570 | try { |
12571 | // InternalCftLanguage.g:4134:1: ( ( RULE_ID ) ) | 12571 | // InternalCftLanguage.g:4134:1: ( ( ruleValidId ) ) |
12572 | // InternalCftLanguage.g:4135:2: ( RULE_ID ) | 12572 | // InternalCftLanguage.g:4135:2: ( ruleValidId ) |
12573 | { | 12573 | { |
12574 | // InternalCftLanguage.g:4135:2: ( RULE_ID ) | 12574 | // InternalCftLanguage.g:4135:2: ( ruleValidId ) |
12575 | // InternalCftLanguage.g:4136:3: RULE_ID | 12575 | // InternalCftLanguage.g:4136:3: ruleValidId |
12576 | { | 12576 | { |
12577 | before(grammarAccess.getComponentInstanceAccess().getNameIDTerminalRuleCall_2_0()); | 12577 | before(grammarAccess.getComponentInstanceAccess().getNameValidIdParserRuleCall_2_0()); |
12578 | match(input,RULE_ID,FOLLOW_2); | 12578 | pushFollow(FOLLOW_2); |
12579 | after(grammarAccess.getComponentInstanceAccess().getNameIDTerminalRuleCall_2_0()); | 12579 | ruleValidId(); |
12580 | |||
12581 | state._fsp--; | ||
12582 | |||
12583 | after(grammarAccess.getComponentInstanceAccess().getNameValidIdParserRuleCall_2_0()); | ||
12580 | 12584 | ||
12581 | } | 12585 | } |
12582 | 12586 | ||
@@ -12635,9 +12639,8 @@ public class InternalCftLanguageParser extends AbstractInternalContentAssistPars | |||
12635 | public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000010000002000L}); | 12639 | public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000010000002000L}); |
12636 | public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000200000030L}); | 12640 | public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000200000030L}); |
12637 | public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000800000000L}); | 12641 | public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000800000000L}); |
12638 | public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000000000010L}); | 12642 | public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000800000002L}); |
12639 | public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000800000002L}); | 12643 | public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000002000000000L}); |
12640 | public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000002000000000L}); | 12644 | public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000300002L}); |
12641 | public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000300002L}); | ||
12642 | 12645 | ||
12643 | } | 12646 | } |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeModule.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeModule.xtendbin index b146c48b..65b90333 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeModule.xtendbin +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeModule.xtendbin | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeSetup.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeSetup.xtendbin index 8fc21e17..7fbd4ad1 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeSetup.xtendbin +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeSetup.xtendbin | |||
Binary files differ | |||
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 56635dea..77bd6532 100644 --- 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 | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/.CftLanguageProposalProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/.CftLanguageProposalProvider.xtendbin index c62e6652..33d0e601 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/.CftLanguageProposalProvider.xtendbin +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/.CftLanguageProposalProvider.xtendbin | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageDescriptionLabelProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageDescriptionLabelProvider.xtendbin index 21bd15b6..6617b26f 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageDescriptionLabelProvider.xtendbin +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageDescriptionLabelProvider.xtendbin | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageLabelProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageLabelProvider.xtendbin index ae92f324..82af00d7 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageLabelProvider.xtendbin +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageLabelProvider.xtendbin | |||
Binary files 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 e8595819..adffb198 100644 --- 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 | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/.CftLanguageQuickfixProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/.CftLanguageQuickfixProvider.xtendbin index 637b4e7e..2ecc121e 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/.CftLanguageQuickfixProvider.xtendbin +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/.CftLanguageQuickfixProvider.xtendbin | |||
Binary files 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 d88f5256..ce699deb 100644 --- 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 | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/syntaxcoloring/.CftLanguageTokenToAttributeIdMapper.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/syntaxcoloring/.CftLanguageTokenToAttributeIdMapper.xtendbin index d8af5320..86752345 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/syntaxcoloring/.CftLanguageTokenToAttributeIdMapper.xtendbin +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/syntaxcoloring/.CftLanguageTokenToAttributeIdMapper.xtendbin | |||
Binary files 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 ffe22f72..eb879e93 100644 --- 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 | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguage.g b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguage.g index 2d1b9490..51479ad3 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguage.g +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguage.g | |||
@@ -575,9 +575,9 @@ ruleConstantDistribution returns [EObject current=null] | |||
575 | leaveRule(); | 575 | leaveRule(); |
576 | }: | 576 | }: |
577 | ( | 577 | ( |
578 | otherlv_0='p' | 578 | otherlv_0='prob' |
579 | { | 579 | { |
580 | newLeafNode(otherlv_0, grammarAccess.getConstantDistributionAccess().getPKeyword_0()); | 580 | newLeafNode(otherlv_0, grammarAccess.getConstantDistributionAccess().getProbKeyword_0()); |
581 | } | 581 | } |
582 | otherlv_1='=' | 582 | otherlv_1='=' |
583 | { | 583 | { |
@@ -1494,19 +1494,20 @@ ruleComponentInstance returns [EObject current=null] | |||
1494 | ) | 1494 | ) |
1495 | ( | 1495 | ( |
1496 | ( | 1496 | ( |
1497 | lv_name_2_0=RULE_ID | ||
1498 | { | 1497 | { |
1499 | newLeafNode(lv_name_2_0, grammarAccess.getComponentInstanceAccess().getNameIDTerminalRuleCall_2_0()); | 1498 | newCompositeNode(grammarAccess.getComponentInstanceAccess().getNameValidIdParserRuleCall_2_0()); |
1500 | } | 1499 | } |
1500 | lv_name_2_0=ruleValidId | ||
1501 | { | 1501 | { |
1502 | if ($current==null) { | 1502 | if ($current==null) { |
1503 | $current = createModelElement(grammarAccess.getComponentInstanceRule()); | 1503 | $current = createModelElementForParent(grammarAccess.getComponentInstanceRule()); |
1504 | } | 1504 | } |
1505 | setWithLastConsumed( | 1505 | set( |
1506 | $current, | 1506 | $current, |
1507 | "name", | 1507 | "name", |
1508 | lv_name_2_0, | 1508 | lv_name_2_0, |
1509 | "org.eclipse.xtext.common.Terminals.ID"); | 1509 | "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ValidId"); |
1510 | afterParserOrEnumRuleCall(); | ||
1510 | } | 1511 | } |
1511 | ) | 1512 | ) |
1512 | )? | 1513 | )? |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguage.tokens b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguage.tokens index 2183a28f..24a3b0ab 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguage.tokens +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguage.tokens | |||
@@ -20,8 +20,8 @@ | |||
20 | 'of'=27 | 20 | 'of'=27 |
21 | 'or'=26 | 21 | 'or'=26 |
22 | 'out'=19 | 22 | 'out'=19 |
23 | 'p'=22 | ||
24 | 'package'=13 | 23 | 'package'=13 |
24 | 'prob'=22 | ||
25 | 'toplevel'=29 | 25 | 'toplevel'=29 |
26 | 'transformation'=28 | 26 | 'transformation'=28 |
27 | '{'=17 | 27 | '{'=17 |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguageLexer.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguageLexer.java index d7e9807d..c15c826a 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguageLexer.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguageLexer.java | |||
@@ -255,10 +255,11 @@ public class InternalCftLanguageLexer extends Lexer { | |||
255 | try { | 255 | try { |
256 | int _type = T__22; | 256 | int _type = T__22; |
257 | int _channel = DEFAULT_TOKEN_CHANNEL; | 257 | int _channel = DEFAULT_TOKEN_CHANNEL; |
258 | // InternalCftLanguage.g:20:7: ( 'p' ) | 258 | // InternalCftLanguage.g:20:7: ( 'prob' ) |
259 | // InternalCftLanguage.g:20:9: 'p' | 259 | // InternalCftLanguage.g:20:9: 'prob' |
260 | { | 260 | { |
261 | match('p'); | 261 | match("prob"); |
262 | |||
262 | 263 | ||
263 | } | 264 | } |
264 | 265 | ||
@@ -647,12 +648,12 @@ public class InternalCftLanguageLexer extends Lexer { | |||
647 | try { | 648 | try { |
648 | int _type = RULE_OF_INT; | 649 | int _type = RULE_OF_INT; |
649 | int _channel = DEFAULT_TOKEN_CHANNEL; | 650 | int _channel = DEFAULT_TOKEN_CHANNEL; |
650 | // InternalCftLanguage.g:1671:13: ( 'o' 'f' ( '0' .. '9' )+ ) | 651 | // InternalCftLanguage.g:1672:13: ( 'o' 'f' ( '0' .. '9' )+ ) |
651 | // InternalCftLanguage.g:1671:15: 'o' 'f' ( '0' .. '9' )+ | 652 | // InternalCftLanguage.g:1672:15: 'o' 'f' ( '0' .. '9' )+ |
652 | { | 653 | { |
653 | match('o'); | 654 | match('o'); |
654 | match('f'); | 655 | match('f'); |
655 | // InternalCftLanguage.g:1671:23: ( '0' .. '9' )+ | 656 | // InternalCftLanguage.g:1672:23: ( '0' .. '9' )+ |
656 | int cnt1=0; | 657 | int cnt1=0; |
657 | loop1: | 658 | loop1: |
658 | do { | 659 | do { |
@@ -666,7 +667,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
666 | 667 | ||
667 | switch (alt1) { | 668 | switch (alt1) { |
668 | case 1 : | 669 | case 1 : |
669 | // InternalCftLanguage.g:1671:24: '0' .. '9' | 670 | // InternalCftLanguage.g:1672:24: '0' .. '9' |
670 | { | 671 | { |
671 | matchRange('0','9'); | 672 | matchRange('0','9'); |
672 | 673 | ||
@@ -698,10 +699,10 @@ public class InternalCftLanguageLexer extends Lexer { | |||
698 | try { | 699 | try { |
699 | int _type = RULE_T_DOUBLE; | 700 | int _type = RULE_T_DOUBLE; |
700 | int _channel = DEFAULT_TOKEN_CHANNEL; | 701 | int _channel = DEFAULT_TOKEN_CHANNEL; |
701 | // InternalCftLanguage.g:1673:15: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ | ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) ) | 702 | // InternalCftLanguage.g:1674:15: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ | ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) ) |
702 | // InternalCftLanguage.g:1673:17: ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ | ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) | 703 | // InternalCftLanguage.g:1674:17: ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ | ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) |
703 | { | 704 | { |
704 | // InternalCftLanguage.g:1673:17: ( '0' .. '9' )+ | 705 | // InternalCftLanguage.g:1674:17: ( '0' .. '9' )+ |
705 | int cnt2=0; | 706 | int cnt2=0; |
706 | loop2: | 707 | loop2: |
707 | do { | 708 | do { |
@@ -715,7 +716,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
715 | 716 | ||
716 | switch (alt2) { | 717 | switch (alt2) { |
717 | case 1 : | 718 | case 1 : |
718 | // InternalCftLanguage.g:1673:18: '0' .. '9' | 719 | // InternalCftLanguage.g:1674:18: '0' .. '9' |
719 | { | 720 | { |
720 | matchRange('0','9'); | 721 | matchRange('0','9'); |
721 | 722 | ||
@@ -731,15 +732,15 @@ public class InternalCftLanguageLexer extends Lexer { | |||
731 | cnt2++; | 732 | cnt2++; |
732 | } while (true); | 733 | } while (true); |
733 | 734 | ||
734 | // InternalCftLanguage.g:1673:29: ( '.' ( '0' .. '9' )+ | ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) | 735 | // InternalCftLanguage.g:1674:29: ( '.' ( '0' .. '9' )+ | ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) |
735 | int alt8=2; | 736 | int alt8=2; |
736 | alt8 = dfa8.predict(input); | 737 | alt8 = dfa8.predict(input); |
737 | switch (alt8) { | 738 | switch (alt8) { |
738 | case 1 : | 739 | case 1 : |
739 | // InternalCftLanguage.g:1673:30: '.' ( '0' .. '9' )+ | 740 | // InternalCftLanguage.g:1674:30: '.' ( '0' .. '9' )+ |
740 | { | 741 | { |
741 | match('.'); | 742 | match('.'); |
742 | // InternalCftLanguage.g:1673:34: ( '0' .. '9' )+ | 743 | // InternalCftLanguage.g:1674:34: ( '0' .. '9' )+ |
743 | int cnt3=0; | 744 | int cnt3=0; |
744 | loop3: | 745 | loop3: |
745 | do { | 746 | do { |
@@ -753,7 +754,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
753 | 754 | ||
754 | switch (alt3) { | 755 | switch (alt3) { |
755 | case 1 : | 756 | case 1 : |
756 | // InternalCftLanguage.g:1673:35: '0' .. '9' | 757 | // InternalCftLanguage.g:1674:35: '0' .. '9' |
757 | { | 758 | { |
758 | matchRange('0','9'); | 759 | matchRange('0','9'); |
759 | 760 | ||
@@ -773,9 +774,9 @@ public class InternalCftLanguageLexer extends Lexer { | |||
773 | } | 774 | } |
774 | break; | 775 | break; |
775 | case 2 : | 776 | case 2 : |
776 | // InternalCftLanguage.g:1673:46: ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ | 777 | // InternalCftLanguage.g:1674:46: ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ |
777 | { | 778 | { |
778 | // InternalCftLanguage.g:1673:46: ( '.' ( '0' .. '9' )+ )? | 779 | // InternalCftLanguage.g:1674:46: ( '.' ( '0' .. '9' )+ )? |
779 | int alt5=2; | 780 | int alt5=2; |
780 | int LA5_0 = input.LA(1); | 781 | int LA5_0 = input.LA(1); |
781 | 782 | ||
@@ -784,10 +785,10 @@ public class InternalCftLanguageLexer extends Lexer { | |||
784 | } | 785 | } |
785 | switch (alt5) { | 786 | switch (alt5) { |
786 | case 1 : | 787 | case 1 : |
787 | // InternalCftLanguage.g:1673:47: '.' ( '0' .. '9' )+ | 788 | // InternalCftLanguage.g:1674:47: '.' ( '0' .. '9' )+ |
788 | { | 789 | { |
789 | match('.'); | 790 | match('.'); |
790 | // InternalCftLanguage.g:1673:51: ( '0' .. '9' )+ | 791 | // InternalCftLanguage.g:1674:51: ( '0' .. '9' )+ |
791 | int cnt4=0; | 792 | int cnt4=0; |
792 | loop4: | 793 | loop4: |
793 | do { | 794 | do { |
@@ -801,7 +802,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
801 | 802 | ||
802 | switch (alt4) { | 803 | switch (alt4) { |
803 | case 1 : | 804 | case 1 : |
804 | // InternalCftLanguage.g:1673:52: '0' .. '9' | 805 | // InternalCftLanguage.g:1674:52: '0' .. '9' |
805 | { | 806 | { |
806 | matchRange('0','9'); | 807 | matchRange('0','9'); |
807 | 808 | ||
@@ -832,7 +833,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
832 | recover(mse); | 833 | recover(mse); |
833 | throw mse;} | 834 | throw mse;} |
834 | 835 | ||
835 | // InternalCftLanguage.g:1673:75: ( '+' | '-' )? | 836 | // InternalCftLanguage.g:1674:75: ( '+' | '-' )? |
836 | int alt6=2; | 837 | int alt6=2; |
837 | int LA6_0 = input.LA(1); | 838 | int LA6_0 = input.LA(1); |
838 | 839 | ||
@@ -858,7 +859,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
858 | 859 | ||
859 | } | 860 | } |
860 | 861 | ||
861 | // InternalCftLanguage.g:1673:86: ( '0' .. '9' )+ | 862 | // InternalCftLanguage.g:1674:86: ( '0' .. '9' )+ |
862 | int cnt7=0; | 863 | int cnt7=0; |
863 | loop7: | 864 | loop7: |
864 | do { | 865 | do { |
@@ -872,7 +873,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
872 | 873 | ||
873 | switch (alt7) { | 874 | switch (alt7) { |
874 | case 1 : | 875 | case 1 : |
875 | // InternalCftLanguage.g:1673:87: '0' .. '9' | 876 | // InternalCftLanguage.g:1674:87: '0' .. '9' |
876 | { | 877 | { |
877 | matchRange('0','9'); | 878 | matchRange('0','9'); |
878 | 879 | ||
@@ -910,10 +911,10 @@ public class InternalCftLanguageLexer extends Lexer { | |||
910 | try { | 911 | try { |
911 | int _type = RULE_ID; | 912 | int _type = RULE_ID; |
912 | int _channel = DEFAULT_TOKEN_CHANNEL; | 913 | int _channel = DEFAULT_TOKEN_CHANNEL; |
913 | // InternalCftLanguage.g:1675:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) | 914 | // InternalCftLanguage.g:1676:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) |
914 | // InternalCftLanguage.g:1675:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* | 915 | // InternalCftLanguage.g:1676:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* |
915 | { | 916 | { |
916 | // InternalCftLanguage.g:1675:11: ( '^' )? | 917 | // InternalCftLanguage.g:1676:11: ( '^' )? |
917 | int alt9=2; | 918 | int alt9=2; |
918 | int LA9_0 = input.LA(1); | 919 | int LA9_0 = input.LA(1); |
919 | 920 | ||
@@ -922,7 +923,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
922 | } | 923 | } |
923 | switch (alt9) { | 924 | switch (alt9) { |
924 | case 1 : | 925 | case 1 : |
925 | // InternalCftLanguage.g:1675:11: '^' | 926 | // InternalCftLanguage.g:1676:11: '^' |
926 | { | 927 | { |
927 | match('^'); | 928 | match('^'); |
928 | 929 | ||
@@ -940,7 +941,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
940 | recover(mse); | 941 | recover(mse); |
941 | throw mse;} | 942 | throw mse;} |
942 | 943 | ||
943 | // InternalCftLanguage.g:1675:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* | 944 | // InternalCftLanguage.g:1676:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* |
944 | loop10: | 945 | loop10: |
945 | do { | 946 | do { |
946 | int alt10=2; | 947 | int alt10=2; |
@@ -989,10 +990,10 @@ public class InternalCftLanguageLexer extends Lexer { | |||
989 | try { | 990 | try { |
990 | int _type = RULE_INT; | 991 | int _type = RULE_INT; |
991 | int _channel = DEFAULT_TOKEN_CHANNEL; | 992 | int _channel = DEFAULT_TOKEN_CHANNEL; |
992 | // InternalCftLanguage.g:1677:10: ( ( '0' .. '9' )+ ) | 993 | // InternalCftLanguage.g:1678:10: ( ( '0' .. '9' )+ ) |
993 | // InternalCftLanguage.g:1677:12: ( '0' .. '9' )+ | 994 | // InternalCftLanguage.g:1678:12: ( '0' .. '9' )+ |
994 | { | 995 | { |
995 | // InternalCftLanguage.g:1677:12: ( '0' .. '9' )+ | 996 | // InternalCftLanguage.g:1678:12: ( '0' .. '9' )+ |
996 | int cnt11=0; | 997 | int cnt11=0; |
997 | loop11: | 998 | loop11: |
998 | do { | 999 | do { |
@@ -1006,7 +1007,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1006 | 1007 | ||
1007 | switch (alt11) { | 1008 | switch (alt11) { |
1008 | case 1 : | 1009 | case 1 : |
1009 | // InternalCftLanguage.g:1677:13: '0' .. '9' | 1010 | // InternalCftLanguage.g:1678:13: '0' .. '9' |
1010 | { | 1011 | { |
1011 | matchRange('0','9'); | 1012 | matchRange('0','9'); |
1012 | 1013 | ||
@@ -1038,10 +1039,10 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1038 | try { | 1039 | try { |
1039 | int _type = RULE_STRING; | 1040 | int _type = RULE_STRING; |
1040 | int _channel = DEFAULT_TOKEN_CHANNEL; | 1041 | int _channel = DEFAULT_TOKEN_CHANNEL; |
1041 | // InternalCftLanguage.g:1679:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) | 1042 | // InternalCftLanguage.g:1680:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) |
1042 | // InternalCftLanguage.g:1679:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) | 1043 | // InternalCftLanguage.g:1680:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) |
1043 | { | 1044 | { |
1044 | // InternalCftLanguage.g:1679:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) | 1045 | // InternalCftLanguage.g:1680:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) |
1045 | int alt14=2; | 1046 | int alt14=2; |
1046 | int LA14_0 = input.LA(1); | 1047 | int LA14_0 = input.LA(1); |
1047 | 1048 | ||
@@ -1059,10 +1060,10 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1059 | } | 1060 | } |
1060 | switch (alt14) { | 1061 | switch (alt14) { |
1061 | case 1 : | 1062 | case 1 : |
1062 | // InternalCftLanguage.g:1679:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | 1063 | // InternalCftLanguage.g:1680:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' |
1063 | { | 1064 | { |
1064 | match('\"'); | 1065 | match('\"'); |
1065 | // InternalCftLanguage.g:1679:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* | 1066 | // InternalCftLanguage.g:1680:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* |
1066 | loop12: | 1067 | loop12: |
1067 | do { | 1068 | do { |
1068 | int alt12=3; | 1069 | int alt12=3; |
@@ -1078,7 +1079,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1078 | 1079 | ||
1079 | switch (alt12) { | 1080 | switch (alt12) { |
1080 | case 1 : | 1081 | case 1 : |
1081 | // InternalCftLanguage.g:1679:21: '\\\\' . | 1082 | // InternalCftLanguage.g:1680:21: '\\\\' . |
1082 | { | 1083 | { |
1083 | match('\\'); | 1084 | match('\\'); |
1084 | matchAny(); | 1085 | matchAny(); |
@@ -1086,7 +1087,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1086 | } | 1087 | } |
1087 | break; | 1088 | break; |
1088 | case 2 : | 1089 | case 2 : |
1089 | // InternalCftLanguage.g:1679:28: ~ ( ( '\\\\' | '\"' ) ) | 1090 | // InternalCftLanguage.g:1680:28: ~ ( ( '\\\\' | '\"' ) ) |
1090 | { | 1091 | { |
1091 | if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { | 1092 | if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { |
1092 | input.consume(); | 1093 | input.consume(); |
@@ -1111,10 +1112,10 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1111 | } | 1112 | } |
1112 | break; | 1113 | break; |
1113 | case 2 : | 1114 | case 2 : |
1114 | // InternalCftLanguage.g:1679:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' | 1115 | // InternalCftLanguage.g:1680:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' |
1115 | { | 1116 | { |
1116 | match('\''); | 1117 | match('\''); |
1117 | // InternalCftLanguage.g:1679:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* | 1118 | // InternalCftLanguage.g:1680:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* |
1118 | loop13: | 1119 | loop13: |
1119 | do { | 1120 | do { |
1120 | int alt13=3; | 1121 | int alt13=3; |
@@ -1130,7 +1131,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1130 | 1131 | ||
1131 | switch (alt13) { | 1132 | switch (alt13) { |
1132 | case 1 : | 1133 | case 1 : |
1133 | // InternalCftLanguage.g:1679:54: '\\\\' . | 1134 | // InternalCftLanguage.g:1680:54: '\\\\' . |
1134 | { | 1135 | { |
1135 | match('\\'); | 1136 | match('\\'); |
1136 | matchAny(); | 1137 | matchAny(); |
@@ -1138,7 +1139,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1138 | } | 1139 | } |
1139 | break; | 1140 | break; |
1140 | case 2 : | 1141 | case 2 : |
1141 | // InternalCftLanguage.g:1679:61: ~ ( ( '\\\\' | '\\'' ) ) | 1142 | // InternalCftLanguage.g:1680:61: ~ ( ( '\\\\' | '\\'' ) ) |
1142 | { | 1143 | { |
1143 | if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { | 1144 | if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { |
1144 | input.consume(); | 1145 | input.consume(); |
@@ -1181,12 +1182,12 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1181 | try { | 1182 | try { |
1182 | int _type = RULE_ML_COMMENT; | 1183 | int _type = RULE_ML_COMMENT; |
1183 | int _channel = DEFAULT_TOKEN_CHANNEL; | 1184 | int _channel = DEFAULT_TOKEN_CHANNEL; |
1184 | // InternalCftLanguage.g:1681:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) | 1185 | // InternalCftLanguage.g:1682:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) |
1185 | // InternalCftLanguage.g:1681:19: '/*' ( options {greedy=false; } : . )* '*/' | 1186 | // InternalCftLanguage.g:1682:19: '/*' ( options {greedy=false; } : . )* '*/' |
1186 | { | 1187 | { |
1187 | match("/*"); | 1188 | match("/*"); |
1188 | 1189 | ||
1189 | // InternalCftLanguage.g:1681:24: ( options {greedy=false; } : . )* | 1190 | // InternalCftLanguage.g:1682:24: ( options {greedy=false; } : . )* |
1190 | loop15: | 1191 | loop15: |
1191 | do { | 1192 | do { |
1192 | int alt15=2; | 1193 | int alt15=2; |
@@ -1211,7 +1212,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1211 | 1212 | ||
1212 | switch (alt15) { | 1213 | switch (alt15) { |
1213 | case 1 : | 1214 | case 1 : |
1214 | // InternalCftLanguage.g:1681:52: . | 1215 | // InternalCftLanguage.g:1682:52: . |
1215 | { | 1216 | { |
1216 | matchAny(); | 1217 | matchAny(); |
1217 | 1218 | ||
@@ -1241,12 +1242,12 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1241 | try { | 1242 | try { |
1242 | int _type = RULE_SL_COMMENT; | 1243 | int _type = RULE_SL_COMMENT; |
1243 | int _channel = DEFAULT_TOKEN_CHANNEL; | 1244 | int _channel = DEFAULT_TOKEN_CHANNEL; |
1244 | // InternalCftLanguage.g:1683:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) | 1245 | // InternalCftLanguage.g:1684:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) |
1245 | // InternalCftLanguage.g:1683:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? | 1246 | // InternalCftLanguage.g:1684:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? |
1246 | { | 1247 | { |
1247 | match("//"); | 1248 | match("//"); |
1248 | 1249 | ||
1249 | // InternalCftLanguage.g:1683:24: (~ ( ( '\\n' | '\\r' ) ) )* | 1250 | // InternalCftLanguage.g:1684:24: (~ ( ( '\\n' | '\\r' ) ) )* |
1250 | loop16: | 1251 | loop16: |
1251 | do { | 1252 | do { |
1252 | int alt16=2; | 1253 | int alt16=2; |
@@ -1259,7 +1260,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1259 | 1260 | ||
1260 | switch (alt16) { | 1261 | switch (alt16) { |
1261 | case 1 : | 1262 | case 1 : |
1262 | // InternalCftLanguage.g:1683:24: ~ ( ( '\\n' | '\\r' ) ) | 1263 | // InternalCftLanguage.g:1684:24: ~ ( ( '\\n' | '\\r' ) ) |
1263 | { | 1264 | { |
1264 | if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { | 1265 | if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { |
1265 | input.consume(); | 1266 | input.consume(); |
@@ -1279,7 +1280,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1279 | } | 1280 | } |
1280 | } while (true); | 1281 | } while (true); |
1281 | 1282 | ||
1282 | // InternalCftLanguage.g:1683:40: ( ( '\\r' )? '\\n' )? | 1283 | // InternalCftLanguage.g:1684:40: ( ( '\\r' )? '\\n' )? |
1283 | int alt18=2; | 1284 | int alt18=2; |
1284 | int LA18_0 = input.LA(1); | 1285 | int LA18_0 = input.LA(1); |
1285 | 1286 | ||
@@ -1288,9 +1289,9 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1288 | } | 1289 | } |
1289 | switch (alt18) { | 1290 | switch (alt18) { |
1290 | case 1 : | 1291 | case 1 : |
1291 | // InternalCftLanguage.g:1683:41: ( '\\r' )? '\\n' | 1292 | // InternalCftLanguage.g:1684:41: ( '\\r' )? '\\n' |
1292 | { | 1293 | { |
1293 | // InternalCftLanguage.g:1683:41: ( '\\r' )? | 1294 | // InternalCftLanguage.g:1684:41: ( '\\r' )? |
1294 | int alt17=2; | 1295 | int alt17=2; |
1295 | int LA17_0 = input.LA(1); | 1296 | int LA17_0 = input.LA(1); |
1296 | 1297 | ||
@@ -1299,7 +1300,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1299 | } | 1300 | } |
1300 | switch (alt17) { | 1301 | switch (alt17) { |
1301 | case 1 : | 1302 | case 1 : |
1302 | // InternalCftLanguage.g:1683:41: '\\r' | 1303 | // InternalCftLanguage.g:1684:41: '\\r' |
1303 | { | 1304 | { |
1304 | match('\r'); | 1305 | match('\r'); |
1305 | 1306 | ||
@@ -1331,10 +1332,10 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1331 | try { | 1332 | try { |
1332 | int _type = RULE_WS; | 1333 | int _type = RULE_WS; |
1333 | int _channel = DEFAULT_TOKEN_CHANNEL; | 1334 | int _channel = DEFAULT_TOKEN_CHANNEL; |
1334 | // InternalCftLanguage.g:1685:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) | 1335 | // InternalCftLanguage.g:1686:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) |
1335 | // InternalCftLanguage.g:1685:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ | 1336 | // InternalCftLanguage.g:1686:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ |
1336 | { | 1337 | { |
1337 | // InternalCftLanguage.g:1685:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ | 1338 | // InternalCftLanguage.g:1686:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ |
1338 | int cnt19=0; | 1339 | int cnt19=0; |
1339 | loop19: | 1340 | loop19: |
1340 | do { | 1341 | do { |
@@ -1388,8 +1389,8 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1388 | try { | 1389 | try { |
1389 | int _type = RULE_ANY_OTHER; | 1390 | int _type = RULE_ANY_OTHER; |
1390 | int _channel = DEFAULT_TOKEN_CHANNEL; | 1391 | int _channel = DEFAULT_TOKEN_CHANNEL; |
1391 | // InternalCftLanguage.g:1687:16: ( . ) | 1392 | // InternalCftLanguage.g:1688:16: ( . ) |
1392 | // InternalCftLanguage.g:1687:18: . | 1393 | // InternalCftLanguage.g:1688:18: . |
1393 | { | 1394 | { |
1394 | matchAny(); | 1395 | matchAny(); |
1395 | 1396 | ||
@@ -1725,24 +1726,24 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1725 | this.transition = DFA8_transition; | 1726 | this.transition = DFA8_transition; |
1726 | } | 1727 | } |
1727 | public String getDescription() { | 1728 | public String getDescription() { |
1728 | return "1673:29: ( '.' ( '0' .. '9' )+ | ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )"; | 1729 | return "1674:29: ( '.' ( '0' .. '9' )+ | ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )"; |
1729 | } | 1730 | } |
1730 | } | 1731 | } |
1731 | static final String DFA20_eotS = | 1732 | static final String DFA20_eotS = |
1732 | "\1\uffff\1\36\1\uffff\2\37\1\uffff\1\37\1\uffff\1\34\1\53\4\37\3\uffff\2\34\2\uffff\1\72\1\34\1\uffff\3\34\2\uffff\1\37\3\uffff\1\37\1\103\1\37\1\uffff\1\37\1\106\1\110\4\uffff\3\37\1\114\3\37\10\uffff\1\72\5\uffff\2\37\1\uffff\1\122\1\123\1\uffff\1\124\1\uffff\2\37\1\127\1\uffff\5\37\3\uffff\2\37\1\uffff\13\37\1\152\1\153\1\154\3\37\1\160\3\uffff\2\37\1\163\1\uffff\1\37\1\165\1\uffff\1\37\1\uffff\4\37\1\173\1\uffff"; | 1733 | "\1\uffff\1\37\1\uffff\2\37\1\uffff\1\37\1\uffff\1\34\1\53\4\37\3\uffff\2\34\2\uffff\1\74\1\34\1\uffff\3\34\2\uffff\2\37\2\uffff\1\37\1\104\1\37\1\uffff\1\37\1\107\1\110\4\uffff\3\37\1\115\3\37\10\uffff\1\74\5\uffff\3\37\1\uffff\1\124\1\125\2\uffff\1\126\2\37\1\131\1\uffff\4\37\1\136\1\37\3\uffff\2\37\1\uffff\4\37\1\uffff\7\37\1\155\1\156\1\157\3\37\1\163\3\uffff\2\37\1\166\1\uffff\1\37\1\170\1\uffff\1\37\1\uffff\4\37\1\176\1\uffff"; |
1733 | static final String DFA20_eofS = | 1734 | static final String DFA20_eofS = |
1734 | "\174\uffff"; | 1735 | "\177\uffff"; |
1735 | static final String DFA20_minS = | 1736 | static final String DFA20_minS = |
1736 | "\1\0\1\60\1\uffff\1\155\1\146\1\uffff\1\146\1\uffff\1\135\1\76\1\141\1\156\1\157\1\141\3\uffff\2\75\2\uffff\1\56\1\101\1\uffff\2\0\1\52\2\uffff\1\143\3\uffff\1\160\1\60\1\164\1\uffff\1\164\2\60\4\uffff\1\155\1\157\1\144\1\60\1\141\2\160\10\uffff\1\56\5\uffff\1\153\1\157\1\uffff\2\60\1\uffff\1\60\1\uffff\1\142\1\153\1\60\1\uffff\1\156\1\154\1\160\1\141\1\162\3\uffff\1\144\1\165\1\uffff\1\163\1\145\1\151\1\147\1\164\1\141\1\160\1\146\1\166\1\156\1\145\3\60\1\157\1\145\1\147\1\60\3\uffff\1\162\1\154\1\60\1\uffff\1\155\1\60\1\uffff\1\141\1\uffff\1\164\1\151\1\157\1\156\1\60\1\uffff"; | 1737 | "\1\0\1\141\1\uffff\1\155\1\146\1\uffff\1\146\1\uffff\1\135\1\76\1\141\1\156\1\157\1\141\3\uffff\2\75\2\uffff\1\56\1\101\1\uffff\2\0\1\52\2\uffff\1\143\1\157\2\uffff\1\160\1\60\1\164\1\uffff\1\164\2\60\4\uffff\1\155\1\157\1\144\1\60\1\141\2\160\10\uffff\1\56\5\uffff\1\153\1\142\1\157\1\uffff\2\60\2\uffff\1\60\1\142\1\153\1\60\1\uffff\1\156\1\154\1\160\1\141\1\60\1\162\3\uffff\1\144\1\165\1\uffff\1\163\1\145\1\151\1\147\1\uffff\1\164\1\141\1\160\1\146\1\166\1\156\1\145\3\60\1\157\1\145\1\147\1\60\3\uffff\1\162\1\154\1\60\1\uffff\1\155\1\60\1\uffff\1\141\1\uffff\1\164\1\151\1\157\1\156\1\60\1\uffff"; |
1737 | static final String DFA20_maxS = | 1738 | static final String DFA20_maxS = |
1738 | "\1\uffff\1\172\1\uffff\1\156\1\146\1\uffff\1\165\1\uffff\1\135\1\76\1\157\1\163\1\162\1\141\3\uffff\2\75\2\uffff\1\145\1\172\1\uffff\2\uffff\1\57\2\uffff\1\143\3\uffff\1\160\1\172\1\164\1\uffff\1\164\2\172\4\uffff\1\155\1\157\1\144\1\172\1\141\2\160\10\uffff\1\145\5\uffff\1\153\1\157\1\uffff\2\172\1\uffff\1\172\1\uffff\1\142\1\153\1\172\1\uffff\1\156\1\154\1\160\1\141\1\162\3\uffff\1\144\1\165\1\uffff\1\163\1\145\1\151\1\147\1\164\1\141\1\160\1\146\1\166\1\156\1\145\3\172\1\157\1\145\1\147\1\172\3\uffff\1\162\1\154\1\172\1\uffff\1\155\1\172\1\uffff\1\141\1\uffff\1\164\1\151\1\157\1\156\1\172\1\uffff"; | 1739 | "\1\uffff\1\162\1\uffff\1\156\1\146\1\uffff\1\165\1\uffff\1\135\1\76\1\157\1\163\1\162\1\141\3\uffff\2\75\2\uffff\1\145\1\172\1\uffff\2\uffff\1\57\2\uffff\1\143\1\157\2\uffff\1\160\1\172\1\164\1\uffff\1\164\2\172\4\uffff\1\155\1\157\1\144\1\172\1\141\2\160\10\uffff\1\145\5\uffff\1\153\1\142\1\157\1\uffff\2\172\2\uffff\1\172\1\142\1\153\1\172\1\uffff\1\156\1\154\1\160\1\141\1\172\1\162\3\uffff\1\144\1\165\1\uffff\1\163\1\145\1\151\1\147\1\uffff\1\164\1\141\1\160\1\146\1\166\1\156\1\145\3\172\1\157\1\145\1\147\1\172\3\uffff\1\162\1\154\1\172\1\uffff\1\155\1\172\1\uffff\1\141\1\uffff\1\164\1\151\1\157\1\156\1\172\1\uffff"; |
1739 | static final String DFA20_acceptS = | 1740 | static final String DFA20_acceptS = |
1740 | "\2\uffff\1\2\2\uffff\1\5\1\uffff\1\10\6\uffff\1\23\1\24\1\25\2\uffff\1\32\1\34\2\uffff\1\37\3\uffff\1\44\1\45\1\uffff\1\12\1\37\1\2\3\uffff\1\5\3\uffff\1\10\1\11\1\33\1\13\7\uffff\1\23\1\24\1\25\1\30\1\31\1\32\1\34\1\40\1\uffff\1\36\1\41\1\42\1\43\1\44\2\uffff\1\6\2\uffff\1\16\1\uffff\1\17\3\uffff\1\27\5\uffff\1\4\1\7\1\35\2\uffff\1\15\22\uffff\1\3\1\14\1\26\3\uffff\1\1\2\uffff\1\22\1\uffff\1\21\5\uffff\1\20"; | 1741 | "\2\uffff\1\2\2\uffff\1\5\1\uffff\1\10\6\uffff\1\23\1\24\1\25\2\uffff\1\32\1\34\2\uffff\1\37\3\uffff\1\44\1\45\2\uffff\1\37\1\2\3\uffff\1\5\3\uffff\1\10\1\11\1\33\1\13\7\uffff\1\23\1\24\1\25\1\30\1\31\1\32\1\34\1\36\1\uffff\1\40\1\41\1\42\1\43\1\44\3\uffff\1\6\2\uffff\1\16\1\17\4\uffff\1\27\6\uffff\1\4\1\7\1\35\2\uffff\1\15\4\uffff\1\12\16\uffff\1\3\1\14\1\26\3\uffff\1\1\2\uffff\1\22\1\uffff\1\21\5\uffff\1\20"; |
1741 | static final String DFA20_specialS = | 1742 | static final String DFA20_specialS = |
1742 | "\1\1\27\uffff\1\2\1\0\142\uffff}>"; | 1743 | "\1\1\27\uffff\1\2\1\0\145\uffff}>"; |
1743 | static final String[] DFA20_transitionS = { | 1744 | static final String[] DFA20_transitionS = { |
1744 | "\11\34\2\33\2\34\1\33\22\34\1\33\1\34\1\30\4\34\1\31\1\16\1\20\1\24\1\21\1\17\1\34\1\23\1\32\12\25\1\22\1\2\1\34\1\11\3\34\32\27\1\10\2\34\1\26\1\27\1\34\1\13\1\27\1\4\5\27\1\3\2\27\1\12\1\15\1\27\1\6\1\1\3\27\1\14\6\27\1\5\1\34\1\7\uff82\34", | 1745 | "\11\34\2\33\2\34\1\33\22\34\1\33\1\34\1\30\4\34\1\31\1\16\1\20\1\24\1\21\1\17\1\34\1\23\1\32\12\25\1\22\1\2\1\34\1\11\3\34\32\27\1\10\2\34\1\26\1\27\1\34\1\13\1\27\1\4\5\27\1\3\2\27\1\12\1\15\1\27\1\6\1\1\3\27\1\14\6\27\1\5\1\34\1\7\uff82\34", |
1745 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\1\35\31\37", | 1746 | "\1\35\20\uffff\1\36", |
1746 | "", | 1747 | "", |
1747 | "\1\41\1\42", | 1748 | "\1\41\1\42", |
1748 | "\1\43", | 1749 | "\1\43", |
@@ -1762,7 +1763,7 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1762 | "\1\67", | 1763 | "\1\67", |
1763 | "", | 1764 | "", |
1764 | "", | 1765 | "", |
1765 | "\1\74\1\uffff\12\73\13\uffff\1\74\37\uffff\1\74", | 1766 | "\1\72\1\uffff\12\73\13\uffff\1\72\37\uffff\1\72", |
1766 | "\32\37\4\uffff\1\37\1\uffff\32\37", | 1767 | "\32\37\4\uffff\1\37\1\uffff\32\37", |
1767 | "", | 1768 | "", |
1768 | "\0\75", | 1769 | "\0\75", |
@@ -1771,27 +1772,27 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1771 | "", | 1772 | "", |
1772 | "", | 1773 | "", |
1773 | "\1\101", | 1774 | "\1\101", |
1775 | "\1\102", | ||
1774 | "", | 1776 | "", |
1775 | "", | 1777 | "", |
1776 | "", | 1778 | "\1\103", |
1777 | "\1\102", | ||
1778 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", | 1779 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", |
1779 | "\1\104", | ||
1780 | "", | ||
1781 | "\1\105", | 1780 | "\1\105", |
1781 | "", | ||
1782 | "\1\106", | ||
1782 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", | 1783 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", |
1783 | "\12\107\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", | 1784 | "\12\111\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", |
1784 | "", | 1785 | "", |
1785 | "", | 1786 | "", |
1786 | "", | 1787 | "", |
1787 | "", | 1788 | "", |
1788 | "\1\111", | ||
1789 | "\1\112", | 1789 | "\1\112", |
1790 | "\1\113", | 1790 | "\1\113", |
1791 | "\1\114", | ||
1791 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", | 1792 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", |
1792 | "\1\115", | ||
1793 | "\1\116", | 1793 | "\1\116", |
1794 | "\1\117", | 1794 | "\1\117", |
1795 | "\1\120", | ||
1795 | "", | 1796 | "", |
1796 | "", | 1797 | "", |
1797 | "", | 1798 | "", |
@@ -1800,69 +1801,72 @@ public class InternalCftLanguageLexer extends Lexer { | |||
1800 | "", | 1801 | "", |
1801 | "", | 1802 | "", |
1802 | "", | 1803 | "", |
1803 | "\1\74\1\uffff\12\73\13\uffff\1\74\37\uffff\1\74", | 1804 | "\1\72\1\uffff\12\73\13\uffff\1\72\37\uffff\1\72", |
1804 | "", | 1805 | "", |
1805 | "", | 1806 | "", |
1806 | "", | 1807 | "", |
1807 | "", | 1808 | "", |
1808 | "", | 1809 | "", |
1809 | "\1\120", | ||
1810 | "\1\121", | 1810 | "\1\121", |
1811 | "\1\122", | ||
1812 | "\1\123", | ||
1811 | "", | 1813 | "", |
1812 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", | 1814 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", |
1813 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", | 1815 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", |
1814 | "", | 1816 | "", |
1815 | "\12\107\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", | ||
1816 | "", | 1817 | "", |
1817 | "\1\125", | 1818 | "\12\111\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", |
1818 | "\1\126", | 1819 | "\1\127", |
1820 | "\1\130", | ||
1819 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", | 1821 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", |
1820 | "", | 1822 | "", |
1821 | "\1\130", | ||
1822 | "\1\131", | ||
1823 | "\1\132", | 1823 | "\1\132", |
1824 | "\1\133", | 1824 | "\1\133", |
1825 | "\1\134", | 1825 | "\1\134", |
1826 | "\1\135", | ||
1827 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", | ||
1828 | "\1\137", | ||
1826 | "", | 1829 | "", |
1827 | "", | 1830 | "", |
1828 | "", | 1831 | "", |
1829 | "\1\135", | ||
1830 | "\1\136", | ||
1831 | "", | ||
1832 | "\1\137", | ||
1833 | "\1\140", | 1832 | "\1\140", |
1834 | "\1\141", | 1833 | "\1\141", |
1834 | "", | ||
1835 | "\1\142", | 1835 | "\1\142", |
1836 | "\1\143", | 1836 | "\1\143", |
1837 | "\1\144", | 1837 | "\1\144", |
1838 | "\1\145", | 1838 | "\1\145", |
1839 | "", | ||
1839 | "\1\146", | 1840 | "\1\146", |
1840 | "\1\147", | 1841 | "\1\147", |
1841 | "\1\150", | 1842 | "\1\150", |
1842 | "\1\151", | 1843 | "\1\151", |
1844 | "\1\152", | ||
1845 | "\1\153", | ||
1846 | "\1\154", | ||
1843 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", | 1847 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", |
1844 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", | 1848 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", |
1845 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", | 1849 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", |
1846 | "\1\155", | 1850 | "\1\160", |
1847 | "\1\156", | ||
1848 | "\1\157", | ||
1849 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", | ||
1850 | "", | ||
1851 | "", | ||
1852 | "", | ||
1853 | "\1\161", | 1851 | "\1\161", |
1854 | "\1\162", | 1852 | "\1\162", |
1855 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", | 1853 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", |
1856 | "", | 1854 | "", |
1855 | "", | ||
1856 | "", | ||
1857 | "\1\164", | 1857 | "\1\164", |
1858 | "\1\165", | ||
1858 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", | 1859 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", |
1859 | "", | 1860 | "", |
1860 | "\1\166", | ||
1861 | "", | ||
1862 | "\1\167", | 1861 | "\1\167", |
1863 | "\1\170", | 1862 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", |
1863 | "", | ||
1864 | "\1\171", | 1864 | "\1\171", |
1865 | "", | ||
1865 | "\1\172", | 1866 | "\1\172", |
1867 | "\1\173", | ||
1868 | "\1\174", | ||
1869 | "\1\175", | ||
1866 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", | 1870 | "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", |
1867 | "" | 1871 | "" |
1868 | }; | 1872 | }; |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguageParser.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguageParser.java index 4727763e..0da9c0f1 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguageParser.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguageParser.java | |||
@@ -21,7 +21,7 @@ import java.util.ArrayList; | |||
21 | @SuppressWarnings("all") | 21 | @SuppressWarnings("all") |
22 | public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | 22 | public class InternalCftLanguageParser extends AbstractInternalAntlrParser { |
23 | public static final String[] tokenNames = new String[] { | 23 | public static final String[] tokenNames = new String[] { |
24 | "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_OF_INT", "RULE_ID", "RULE_T_DOUBLE", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "';'", "'import'", "'cft'", "'{'", "'in'", "'out'", "'}'", "'[]'", "'p'", "'='", "'lambda'", "'and'", "'or'", "'of'", "'transformation'", "'toplevel'", "'mapping'", "'('", "','", "')'", "'lookup'", "'as'", "'+='", "':='", "'.'", "'=>'", "'*'" | 24 | "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_OF_INT", "RULE_ID", "RULE_T_DOUBLE", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "';'", "'import'", "'cft'", "'{'", "'in'", "'out'", "'}'", "'[]'", "'prob'", "'='", "'lambda'", "'and'", "'or'", "'of'", "'transformation'", "'toplevel'", "'mapping'", "'('", "','", "')'", "'lookup'", "'as'", "'+='", "':='", "'.'", "'=>'", "'*'" |
25 | }; | 25 | }; |
26 | public static final int RULE_STRING=8; | 26 | public static final int RULE_STRING=8; |
27 | public static final int RULE_SL_COMMENT=10; | 27 | public static final int RULE_SL_COMMENT=10; |
@@ -1549,7 +1549,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
1549 | 1549 | ||
1550 | 1550 | ||
1551 | // $ANTLR start "ruleConstantDistribution" | 1551 | // $ANTLR start "ruleConstantDistribution" |
1552 | // InternalCftLanguage.g:570:1: ruleConstantDistribution returns [EObject current=null] : (otherlv_0= 'p' otherlv_1= '=' ( (lv_p_2_0= ruleDouble ) ) ) ; | 1552 | // InternalCftLanguage.g:570:1: ruleConstantDistribution returns [EObject current=null] : (otherlv_0= 'prob' otherlv_1= '=' ( (lv_p_2_0= ruleDouble ) ) ) ; |
1553 | public final EObject ruleConstantDistribution() throws RecognitionException { | 1553 | public final EObject ruleConstantDistribution() throws RecognitionException { |
1554 | EObject current = null; | 1554 | EObject current = null; |
1555 | 1555 | ||
@@ -1562,15 +1562,15 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
1562 | enterRule(); | 1562 | enterRule(); |
1563 | 1563 | ||
1564 | try { | 1564 | try { |
1565 | // InternalCftLanguage.g:576:2: ( (otherlv_0= 'p' otherlv_1= '=' ( (lv_p_2_0= ruleDouble ) ) ) ) | 1565 | // InternalCftLanguage.g:576:2: ( (otherlv_0= 'prob' otherlv_1= '=' ( (lv_p_2_0= ruleDouble ) ) ) ) |
1566 | // InternalCftLanguage.g:577:2: (otherlv_0= 'p' otherlv_1= '=' ( (lv_p_2_0= ruleDouble ) ) ) | 1566 | // InternalCftLanguage.g:577:2: (otherlv_0= 'prob' otherlv_1= '=' ( (lv_p_2_0= ruleDouble ) ) ) |
1567 | { | 1567 | { |
1568 | // InternalCftLanguage.g:577:2: (otherlv_0= 'p' otherlv_1= '=' ( (lv_p_2_0= ruleDouble ) ) ) | 1568 | // InternalCftLanguage.g:577:2: (otherlv_0= 'prob' otherlv_1= '=' ( (lv_p_2_0= ruleDouble ) ) ) |
1569 | // InternalCftLanguage.g:578:3: otherlv_0= 'p' otherlv_1= '=' ( (lv_p_2_0= ruleDouble ) ) | 1569 | // InternalCftLanguage.g:578:3: otherlv_0= 'prob' otherlv_1= '=' ( (lv_p_2_0= ruleDouble ) ) |
1570 | { | 1570 | { |
1571 | otherlv_0=(Token)match(input,22,FOLLOW_15); | 1571 | otherlv_0=(Token)match(input,22,FOLLOW_15); |
1572 | 1572 | ||
1573 | newLeafNode(otherlv_0, grammarAccess.getConstantDistributionAccess().getPKeyword_0()); | 1573 | newLeafNode(otherlv_0, grammarAccess.getConstantDistributionAccess().getProbKeyword_0()); |
1574 | 1574 | ||
1575 | otherlv_1=(Token)match(input,23,FOLLOW_16); | 1575 | otherlv_1=(Token)match(input,23,FOLLOW_16); |
1576 | 1576 | ||
@@ -3861,22 +3861,23 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
3861 | 3861 | ||
3862 | 3862 | ||
3863 | // $ANTLR start "ruleComponentInstance" | 3863 | // $ANTLR start "ruleComponentInstance" |
3864 | // InternalCftLanguage.g:1467:1: ruleComponentInstance returns [EObject current=null] : (otherlv_0= '=>' ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) )? ) ; | 3864 | // InternalCftLanguage.g:1467:1: ruleComponentInstance returns [EObject current=null] : (otherlv_0= '=>' ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleValidId ) )? ) ; |
3865 | public final EObject ruleComponentInstance() throws RecognitionException { | 3865 | public final EObject ruleComponentInstance() throws RecognitionException { |
3866 | EObject current = null; | 3866 | EObject current = null; |
3867 | 3867 | ||
3868 | Token otherlv_0=null; | 3868 | Token otherlv_0=null; |
3869 | Token lv_name_2_0=null; | 3869 | AntlrDatatypeRuleToken lv_name_2_0 = null; |
3870 | |||
3870 | 3871 | ||
3871 | 3872 | ||
3872 | enterRule(); | 3873 | enterRule(); |
3873 | 3874 | ||
3874 | try { | 3875 | try { |
3875 | // InternalCftLanguage.g:1473:2: ( (otherlv_0= '=>' ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) )? ) ) | 3876 | // InternalCftLanguage.g:1473:2: ( (otherlv_0= '=>' ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleValidId ) )? ) ) |
3876 | // InternalCftLanguage.g:1474:2: (otherlv_0= '=>' ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) )? ) | 3877 | // InternalCftLanguage.g:1474:2: (otherlv_0= '=>' ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleValidId ) )? ) |
3877 | { | 3878 | { |
3878 | // InternalCftLanguage.g:1474:2: (otherlv_0= '=>' ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) )? ) | 3879 | // InternalCftLanguage.g:1474:2: (otherlv_0= '=>' ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleValidId ) )? ) |
3879 | // InternalCftLanguage.g:1475:3: otherlv_0= '=>' ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) )? | 3880 | // InternalCftLanguage.g:1475:3: otherlv_0= '=>' ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleValidId ) )? |
3880 | { | 3881 | { |
3881 | otherlv_0=(Token)match(input,39,FOLLOW_3); | 3882 | otherlv_0=(Token)match(input,39,FOLLOW_3); |
3882 | 3883 | ||
@@ -3896,7 +3897,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
3896 | 3897 | ||
3897 | newCompositeNode(grammarAccess.getComponentInstanceAccess().getComponentTypeComponentDefinitionCrossReference_1_0()); | 3898 | newCompositeNode(grammarAccess.getComponentInstanceAccess().getComponentTypeComponentDefinitionCrossReference_1_0()); |
3898 | 3899 | ||
3899 | pushFollow(FOLLOW_33); | 3900 | pushFollow(FOLLOW_18); |
3900 | ruleQualifiedName(); | 3901 | ruleQualifiedName(); |
3901 | 3902 | ||
3902 | state._fsp--; | 3903 | state._fsp--; |
@@ -3910,33 +3911,38 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
3910 | 3911 | ||
3911 | } | 3912 | } |
3912 | 3913 | ||
3913 | // InternalCftLanguage.g:1495:3: ( (lv_name_2_0= RULE_ID ) )? | 3914 | // InternalCftLanguage.g:1495:3: ( (lv_name_2_0= ruleValidId ) )? |
3914 | int alt26=2; | 3915 | int alt26=2; |
3915 | int LA26_0 = input.LA(1); | 3916 | int LA26_0 = input.LA(1); |
3916 | 3917 | ||
3917 | if ( (LA26_0==RULE_ID) ) { | 3918 | if ( ((LA26_0>=RULE_OF_INT && LA26_0<=RULE_ID)) ) { |
3918 | alt26=1; | 3919 | alt26=1; |
3919 | } | 3920 | } |
3920 | switch (alt26) { | 3921 | switch (alt26) { |
3921 | case 1 : | 3922 | case 1 : |
3922 | // InternalCftLanguage.g:1496:4: (lv_name_2_0= RULE_ID ) | 3923 | // InternalCftLanguage.g:1496:4: (lv_name_2_0= ruleValidId ) |
3923 | { | 3924 | { |
3924 | // InternalCftLanguage.g:1496:4: (lv_name_2_0= RULE_ID ) | 3925 | // InternalCftLanguage.g:1496:4: (lv_name_2_0= ruleValidId ) |
3925 | // InternalCftLanguage.g:1497:5: lv_name_2_0= RULE_ID | 3926 | // InternalCftLanguage.g:1497:5: lv_name_2_0= ruleValidId |
3926 | { | 3927 | { |
3927 | lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_2); | ||
3928 | 3928 | ||
3929 | newLeafNode(lv_name_2_0, grammarAccess.getComponentInstanceAccess().getNameIDTerminalRuleCall_2_0()); | 3929 | newCompositeNode(grammarAccess.getComponentInstanceAccess().getNameValidIdParserRuleCall_2_0()); |
3930 | 3930 | ||
3931 | pushFollow(FOLLOW_2); | ||
3932 | lv_name_2_0=ruleValidId(); | ||
3933 | |||
3934 | state._fsp--; | ||
3935 | |||
3931 | 3936 | ||
3932 | if (current==null) { | 3937 | if (current==null) { |
3933 | current = createModelElement(grammarAccess.getComponentInstanceRule()); | 3938 | current = createModelElementForParent(grammarAccess.getComponentInstanceRule()); |
3934 | } | 3939 | } |
3935 | setWithLastConsumed( | 3940 | set( |
3936 | current, | 3941 | current, |
3937 | "name", | 3942 | "name", |
3938 | lv_name_2_0, | 3943 | lv_name_2_0, |
3939 | "org.eclipse.xtext.common.Terminals.ID"); | 3944 | "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ValidId"); |
3945 | afterParserOrEnumRuleCall(); | ||
3940 | 3946 | ||
3941 | 3947 | ||
3942 | } | 3948 | } |
@@ -3970,7 +3976,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
3970 | 3976 | ||
3971 | 3977 | ||
3972 | // $ANTLR start "entryRuleQualifiedName" | 3978 | // $ANTLR start "entryRuleQualifiedName" |
3973 | // InternalCftLanguage.g:1517:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; | 3979 | // InternalCftLanguage.g:1518:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; |
3974 | public final String entryRuleQualifiedName() throws RecognitionException { | 3980 | public final String entryRuleQualifiedName() throws RecognitionException { |
3975 | String current = null; | 3981 | String current = null; |
3976 | 3982 | ||
@@ -3978,8 +3984,8 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
3978 | 3984 | ||
3979 | 3985 | ||
3980 | try { | 3986 | try { |
3981 | // InternalCftLanguage.g:1517:53: (iv_ruleQualifiedName= ruleQualifiedName EOF ) | 3987 | // InternalCftLanguage.g:1518:53: (iv_ruleQualifiedName= ruleQualifiedName EOF ) |
3982 | // InternalCftLanguage.g:1518:2: iv_ruleQualifiedName= ruleQualifiedName EOF | 3988 | // InternalCftLanguage.g:1519:2: iv_ruleQualifiedName= ruleQualifiedName EOF |
3983 | { | 3989 | { |
3984 | newCompositeNode(grammarAccess.getQualifiedNameRule()); | 3990 | newCompositeNode(grammarAccess.getQualifiedNameRule()); |
3985 | pushFollow(FOLLOW_1); | 3991 | pushFollow(FOLLOW_1); |
@@ -4006,7 +4012,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4006 | 4012 | ||
4007 | 4013 | ||
4008 | // $ANTLR start "ruleQualifiedName" | 4014 | // $ANTLR start "ruleQualifiedName" |
4009 | // InternalCftLanguage.g:1524:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidId_0= ruleValidId (kw= '.' this_ValidId_2= ruleValidId )* ) ; | 4015 | // InternalCftLanguage.g:1525:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidId_0= ruleValidId (kw= '.' this_ValidId_2= ruleValidId )* ) ; |
4010 | public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { | 4016 | public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { |
4011 | AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); | 4017 | AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); |
4012 | 4018 | ||
@@ -4020,16 +4026,16 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4020 | enterRule(); | 4026 | enterRule(); |
4021 | 4027 | ||
4022 | try { | 4028 | try { |
4023 | // InternalCftLanguage.g:1530:2: ( (this_ValidId_0= ruleValidId (kw= '.' this_ValidId_2= ruleValidId )* ) ) | 4029 | // InternalCftLanguage.g:1531:2: ( (this_ValidId_0= ruleValidId (kw= '.' this_ValidId_2= ruleValidId )* ) ) |
4024 | // InternalCftLanguage.g:1531:2: (this_ValidId_0= ruleValidId (kw= '.' this_ValidId_2= ruleValidId )* ) | 4030 | // InternalCftLanguage.g:1532:2: (this_ValidId_0= ruleValidId (kw= '.' this_ValidId_2= ruleValidId )* ) |
4025 | { | 4031 | { |
4026 | // InternalCftLanguage.g:1531:2: (this_ValidId_0= ruleValidId (kw= '.' this_ValidId_2= ruleValidId )* ) | 4032 | // InternalCftLanguage.g:1532:2: (this_ValidId_0= ruleValidId (kw= '.' this_ValidId_2= ruleValidId )* ) |
4027 | // InternalCftLanguage.g:1532:3: this_ValidId_0= ruleValidId (kw= '.' this_ValidId_2= ruleValidId )* | 4033 | // InternalCftLanguage.g:1533:3: this_ValidId_0= ruleValidId (kw= '.' this_ValidId_2= ruleValidId )* |
4028 | { | 4034 | { |
4029 | 4035 | ||
4030 | newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIdParserRuleCall_0()); | 4036 | newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIdParserRuleCall_0()); |
4031 | 4037 | ||
4032 | pushFollow(FOLLOW_34); | 4038 | pushFollow(FOLLOW_33); |
4033 | this_ValidId_0=ruleValidId(); | 4039 | this_ValidId_0=ruleValidId(); |
4034 | 4040 | ||
4035 | state._fsp--; | 4041 | state._fsp--; |
@@ -4040,7 +4046,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4040 | 4046 | ||
4041 | afterParserOrEnumRuleCall(); | 4047 | afterParserOrEnumRuleCall(); |
4042 | 4048 | ||
4043 | // InternalCftLanguage.g:1542:3: (kw= '.' this_ValidId_2= ruleValidId )* | 4049 | // InternalCftLanguage.g:1543:3: (kw= '.' this_ValidId_2= ruleValidId )* |
4044 | loop27: | 4050 | loop27: |
4045 | do { | 4051 | do { |
4046 | int alt27=2; | 4052 | int alt27=2; |
@@ -4059,7 +4065,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4059 | 4065 | ||
4060 | switch (alt27) { | 4066 | switch (alt27) { |
4061 | case 1 : | 4067 | case 1 : |
4062 | // InternalCftLanguage.g:1543:4: kw= '.' this_ValidId_2= ruleValidId | 4068 | // InternalCftLanguage.g:1544:4: kw= '.' this_ValidId_2= ruleValidId |
4063 | { | 4069 | { |
4064 | kw=(Token)match(input,38,FOLLOW_3); | 4070 | kw=(Token)match(input,38,FOLLOW_3); |
4065 | 4071 | ||
@@ -4069,7 +4075,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4069 | 4075 | ||
4070 | newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIdParserRuleCall_1_1()); | 4076 | newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIdParserRuleCall_1_1()); |
4071 | 4077 | ||
4072 | pushFollow(FOLLOW_34); | 4078 | pushFollow(FOLLOW_33); |
4073 | this_ValidId_2=ruleValidId(); | 4079 | this_ValidId_2=ruleValidId(); |
4074 | 4080 | ||
4075 | state._fsp--; | 4081 | state._fsp--; |
@@ -4112,7 +4118,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4112 | 4118 | ||
4113 | 4119 | ||
4114 | // $ANTLR start "entryRuleQualifiedNameWithWildcard" | 4120 | // $ANTLR start "entryRuleQualifiedNameWithWildcard" |
4115 | // InternalCftLanguage.g:1563:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ; | 4121 | // InternalCftLanguage.g:1564:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ; |
4116 | public final String entryRuleQualifiedNameWithWildcard() throws RecognitionException { | 4122 | public final String entryRuleQualifiedNameWithWildcard() throws RecognitionException { |
4117 | String current = null; | 4123 | String current = null; |
4118 | 4124 | ||
@@ -4120,8 +4126,8 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4120 | 4126 | ||
4121 | 4127 | ||
4122 | try { | 4128 | try { |
4123 | // InternalCftLanguage.g:1563:65: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ) | 4129 | // InternalCftLanguage.g:1564:65: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ) |
4124 | // InternalCftLanguage.g:1564:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF | 4130 | // InternalCftLanguage.g:1565:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF |
4125 | { | 4131 | { |
4126 | newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); | 4132 | newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); |
4127 | pushFollow(FOLLOW_1); | 4133 | pushFollow(FOLLOW_1); |
@@ -4148,7 +4154,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4148 | 4154 | ||
4149 | 4155 | ||
4150 | // $ANTLR start "ruleQualifiedNameWithWildcard" | 4156 | // $ANTLR start "ruleQualifiedNameWithWildcard" |
4151 | // InternalCftLanguage.g:1570:1: ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) ; | 4157 | // InternalCftLanguage.g:1571:1: ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) ; |
4152 | public final AntlrDatatypeRuleToken ruleQualifiedNameWithWildcard() throws RecognitionException { | 4158 | public final AntlrDatatypeRuleToken ruleQualifiedNameWithWildcard() throws RecognitionException { |
4153 | AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); | 4159 | AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); |
4154 | 4160 | ||
@@ -4160,16 +4166,16 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4160 | enterRule(); | 4166 | enterRule(); |
4161 | 4167 | ||
4162 | try { | 4168 | try { |
4163 | // InternalCftLanguage.g:1576:2: ( (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) ) | 4169 | // InternalCftLanguage.g:1577:2: ( (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) ) |
4164 | // InternalCftLanguage.g:1577:2: (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) | 4170 | // InternalCftLanguage.g:1578:2: (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) |
4165 | { | 4171 | { |
4166 | // InternalCftLanguage.g:1577:2: (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) | 4172 | // InternalCftLanguage.g:1578:2: (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) |
4167 | // InternalCftLanguage.g:1578:3: this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? | 4173 | // InternalCftLanguage.g:1579:3: this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? |
4168 | { | 4174 | { |
4169 | 4175 | ||
4170 | newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); | 4176 | newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); |
4171 | 4177 | ||
4172 | pushFollow(FOLLOW_34); | 4178 | pushFollow(FOLLOW_33); |
4173 | this_QualifiedName_0=ruleQualifiedName(); | 4179 | this_QualifiedName_0=ruleQualifiedName(); |
4174 | 4180 | ||
4175 | state._fsp--; | 4181 | state._fsp--; |
@@ -4180,7 +4186,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4180 | 4186 | ||
4181 | afterParserOrEnumRuleCall(); | 4187 | afterParserOrEnumRuleCall(); |
4182 | 4188 | ||
4183 | // InternalCftLanguage.g:1588:3: (kw= '.' kw= '*' )? | 4189 | // InternalCftLanguage.g:1589:3: (kw= '.' kw= '*' )? |
4184 | int alt28=2; | 4190 | int alt28=2; |
4185 | int LA28_0 = input.LA(1); | 4191 | int LA28_0 = input.LA(1); |
4186 | 4192 | ||
@@ -4189,9 +4195,9 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4189 | } | 4195 | } |
4190 | switch (alt28) { | 4196 | switch (alt28) { |
4191 | case 1 : | 4197 | case 1 : |
4192 | // InternalCftLanguage.g:1589:4: kw= '.' kw= '*' | 4198 | // InternalCftLanguage.g:1590:4: kw= '.' kw= '*' |
4193 | { | 4199 | { |
4194 | kw=(Token)match(input,38,FOLLOW_35); | 4200 | kw=(Token)match(input,38,FOLLOW_34); |
4195 | 4201 | ||
4196 | current.merge(kw); | 4202 | current.merge(kw); |
4197 | newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1_0()); | 4203 | newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1_0()); |
@@ -4230,7 +4236,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4230 | 4236 | ||
4231 | 4237 | ||
4232 | // $ANTLR start "entryRuleValidId" | 4238 | // $ANTLR start "entryRuleValidId" |
4233 | // InternalCftLanguage.g:1604:1: entryRuleValidId returns [String current=null] : iv_ruleValidId= ruleValidId EOF ; | 4239 | // InternalCftLanguage.g:1605:1: entryRuleValidId returns [String current=null] : iv_ruleValidId= ruleValidId EOF ; |
4234 | public final String entryRuleValidId() throws RecognitionException { | 4240 | public final String entryRuleValidId() throws RecognitionException { |
4235 | String current = null; | 4241 | String current = null; |
4236 | 4242 | ||
@@ -4238,8 +4244,8 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4238 | 4244 | ||
4239 | 4245 | ||
4240 | try { | 4246 | try { |
4241 | // InternalCftLanguage.g:1604:47: (iv_ruleValidId= ruleValidId EOF ) | 4247 | // InternalCftLanguage.g:1605:47: (iv_ruleValidId= ruleValidId EOF ) |
4242 | // InternalCftLanguage.g:1605:2: iv_ruleValidId= ruleValidId EOF | 4248 | // InternalCftLanguage.g:1606:2: iv_ruleValidId= ruleValidId EOF |
4243 | { | 4249 | { |
4244 | newCompositeNode(grammarAccess.getValidIdRule()); | 4250 | newCompositeNode(grammarAccess.getValidIdRule()); |
4245 | pushFollow(FOLLOW_1); | 4251 | pushFollow(FOLLOW_1); |
@@ -4266,7 +4272,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4266 | 4272 | ||
4267 | 4273 | ||
4268 | // $ANTLR start "ruleValidId" | 4274 | // $ANTLR start "ruleValidId" |
4269 | // InternalCftLanguage.g:1611:1: ruleValidId returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID | this_OF_INT_1= RULE_OF_INT ) ; | 4275 | // InternalCftLanguage.g:1612:1: ruleValidId returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID | this_OF_INT_1= RULE_OF_INT ) ; |
4270 | public final AntlrDatatypeRuleToken ruleValidId() throws RecognitionException { | 4276 | public final AntlrDatatypeRuleToken ruleValidId() throws RecognitionException { |
4271 | AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); | 4277 | AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); |
4272 | 4278 | ||
@@ -4277,10 +4283,10 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4277 | enterRule(); | 4283 | enterRule(); |
4278 | 4284 | ||
4279 | try { | 4285 | try { |
4280 | // InternalCftLanguage.g:1617:2: ( (this_ID_0= RULE_ID | this_OF_INT_1= RULE_OF_INT ) ) | 4286 | // InternalCftLanguage.g:1618:2: ( (this_ID_0= RULE_ID | this_OF_INT_1= RULE_OF_INT ) ) |
4281 | // InternalCftLanguage.g:1618:2: (this_ID_0= RULE_ID | this_OF_INT_1= RULE_OF_INT ) | 4287 | // InternalCftLanguage.g:1619:2: (this_ID_0= RULE_ID | this_OF_INT_1= RULE_OF_INT ) |
4282 | { | 4288 | { |
4283 | // InternalCftLanguage.g:1618:2: (this_ID_0= RULE_ID | this_OF_INT_1= RULE_OF_INT ) | 4289 | // InternalCftLanguage.g:1619:2: (this_ID_0= RULE_ID | this_OF_INT_1= RULE_OF_INT ) |
4284 | int alt29=2; | 4290 | int alt29=2; |
4285 | int LA29_0 = input.LA(1); | 4291 | int LA29_0 = input.LA(1); |
4286 | 4292 | ||
@@ -4298,7 +4304,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4298 | } | 4304 | } |
4299 | switch (alt29) { | 4305 | switch (alt29) { |
4300 | case 1 : | 4306 | case 1 : |
4301 | // InternalCftLanguage.g:1619:3: this_ID_0= RULE_ID | 4307 | // InternalCftLanguage.g:1620:3: this_ID_0= RULE_ID |
4302 | { | 4308 | { |
4303 | this_ID_0=(Token)match(input,RULE_ID,FOLLOW_2); | 4309 | this_ID_0=(Token)match(input,RULE_ID,FOLLOW_2); |
4304 | 4310 | ||
@@ -4311,7 +4317,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4311 | } | 4317 | } |
4312 | break; | 4318 | break; |
4313 | case 2 : | 4319 | case 2 : |
4314 | // InternalCftLanguage.g:1627:3: this_OF_INT_1= RULE_OF_INT | 4320 | // InternalCftLanguage.g:1628:3: this_OF_INT_1= RULE_OF_INT |
4315 | { | 4321 | { |
4316 | this_OF_INT_1=(Token)match(input,RULE_OF_INT,FOLLOW_2); | 4322 | this_OF_INT_1=(Token)match(input,RULE_OF_INT,FOLLOW_2); |
4317 | 4323 | ||
@@ -4346,7 +4352,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4346 | 4352 | ||
4347 | 4353 | ||
4348 | // $ANTLR start "entryRuleDouble" | 4354 | // $ANTLR start "entryRuleDouble" |
4349 | // InternalCftLanguage.g:1638:1: entryRuleDouble returns [String current=null] : iv_ruleDouble= ruleDouble EOF ; | 4355 | // InternalCftLanguage.g:1639:1: entryRuleDouble returns [String current=null] : iv_ruleDouble= ruleDouble EOF ; |
4350 | public final String entryRuleDouble() throws RecognitionException { | 4356 | public final String entryRuleDouble() throws RecognitionException { |
4351 | String current = null; | 4357 | String current = null; |
4352 | 4358 | ||
@@ -4354,8 +4360,8 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4354 | 4360 | ||
4355 | 4361 | ||
4356 | try { | 4362 | try { |
4357 | // InternalCftLanguage.g:1638:46: (iv_ruleDouble= ruleDouble EOF ) | 4363 | // InternalCftLanguage.g:1639:46: (iv_ruleDouble= ruleDouble EOF ) |
4358 | // InternalCftLanguage.g:1639:2: iv_ruleDouble= ruleDouble EOF | 4364 | // InternalCftLanguage.g:1640:2: iv_ruleDouble= ruleDouble EOF |
4359 | { | 4365 | { |
4360 | newCompositeNode(grammarAccess.getDoubleRule()); | 4366 | newCompositeNode(grammarAccess.getDoubleRule()); |
4361 | pushFollow(FOLLOW_1); | 4367 | pushFollow(FOLLOW_1); |
@@ -4382,7 +4388,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4382 | 4388 | ||
4383 | 4389 | ||
4384 | // $ANTLR start "ruleDouble" | 4390 | // $ANTLR start "ruleDouble" |
4385 | // InternalCftLanguage.g:1645:1: ruleDouble returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | this_T_DOUBLE_1= RULE_T_DOUBLE ) ; | 4391 | // InternalCftLanguage.g:1646:1: ruleDouble returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | this_T_DOUBLE_1= RULE_T_DOUBLE ) ; |
4386 | public final AntlrDatatypeRuleToken ruleDouble() throws RecognitionException { | 4392 | public final AntlrDatatypeRuleToken ruleDouble() throws RecognitionException { |
4387 | AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); | 4393 | AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); |
4388 | 4394 | ||
@@ -4393,10 +4399,10 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4393 | enterRule(); | 4399 | enterRule(); |
4394 | 4400 | ||
4395 | try { | 4401 | try { |
4396 | // InternalCftLanguage.g:1651:2: ( (this_INT_0= RULE_INT | this_T_DOUBLE_1= RULE_T_DOUBLE ) ) | 4402 | // InternalCftLanguage.g:1652:2: ( (this_INT_0= RULE_INT | this_T_DOUBLE_1= RULE_T_DOUBLE ) ) |
4397 | // InternalCftLanguage.g:1652:2: (this_INT_0= RULE_INT | this_T_DOUBLE_1= RULE_T_DOUBLE ) | 4403 | // InternalCftLanguage.g:1653:2: (this_INT_0= RULE_INT | this_T_DOUBLE_1= RULE_T_DOUBLE ) |
4398 | { | 4404 | { |
4399 | // InternalCftLanguage.g:1652:2: (this_INT_0= RULE_INT | this_T_DOUBLE_1= RULE_T_DOUBLE ) | 4405 | // InternalCftLanguage.g:1653:2: (this_INT_0= RULE_INT | this_T_DOUBLE_1= RULE_T_DOUBLE ) |
4400 | int alt30=2; | 4406 | int alt30=2; |
4401 | int LA30_0 = input.LA(1); | 4407 | int LA30_0 = input.LA(1); |
4402 | 4408 | ||
@@ -4414,7 +4420,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4414 | } | 4420 | } |
4415 | switch (alt30) { | 4421 | switch (alt30) { |
4416 | case 1 : | 4422 | case 1 : |
4417 | // InternalCftLanguage.g:1653:3: this_INT_0= RULE_INT | 4423 | // InternalCftLanguage.g:1654:3: this_INT_0= RULE_INT |
4418 | { | 4424 | { |
4419 | this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); | 4425 | this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); |
4420 | 4426 | ||
@@ -4427,7 +4433,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4427 | } | 4433 | } |
4428 | break; | 4434 | break; |
4429 | case 2 : | 4435 | case 2 : |
4430 | // InternalCftLanguage.g:1661:3: this_T_DOUBLE_1= RULE_T_DOUBLE | 4436 | // InternalCftLanguage.g:1662:3: this_T_DOUBLE_1= RULE_T_DOUBLE |
4431 | { | 4437 | { |
4432 | this_T_DOUBLE_1=(Token)match(input,RULE_T_DOUBLE,FOLLOW_2); | 4438 | this_T_DOUBLE_1=(Token)match(input,RULE_T_DOUBLE,FOLLOW_2); |
4433 | 4439 | ||
@@ -4497,8 +4503,7 @@ public class InternalCftLanguageParser extends AbstractInternalAntlrParser { | |||
4497 | public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000003000000000L}); | 4503 | public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000003000000000L}); |
4498 | public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000400000060L}); | 4504 | public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000400000060L}); |
4499 | public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000004000000000L}); | 4505 | public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000004000000000L}); |
4500 | public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000000042L}); | 4506 | public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000004000000002L}); |
4501 | public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000004000000002L}); | 4507 | public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000010000000000L}); |
4502 | public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000010000000000L}); | ||
4503 | 4508 | ||
4504 | } | 4509 | } |
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 25f16824..fe329903 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 | |||
@@ -194,7 +194,7 @@ public class CftLanguageSemanticSequencer extends AbstractDelegatingSemanticSequ | |||
194 | * ComponentInstance returns ComponentInstance | 194 | * ComponentInstance returns ComponentInstance |
195 | * | 195 | * |
196 | * Constraint: | 196 | * Constraint: |
197 | * (componentType=[ComponentDefinition|QualifiedName] name=ID?) | 197 | * (componentType=[ComponentDefinition|QualifiedName] name=ValidId?) |
198 | */ | 198 | */ |
199 | protected void sequence_ComponentInstance(ISerializationContext context, ComponentInstance semanticObject) { | 199 | protected void sequence_ComponentInstance(ISerializationContext context, ComponentInstance semanticObject) { |
200 | genericSequencer.createSequence(context, semanticObject); | 200 | 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 cbcfbe95..2b9632b7 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 | |||
@@ -302,20 +302,20 @@ public class CftLanguageGrammarAccess extends AbstractGrammarElementFinder { | |||
302 | public class ConstantDistributionElements extends AbstractParserRuleElementFinder { | 302 | public class ConstantDistributionElements extends AbstractParserRuleElementFinder { |
303 | private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ConstantDistribution"); | 303 | private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ConstantDistribution"); |
304 | private final Group cGroup = (Group)rule.eContents().get(1); | 304 | private final Group cGroup = (Group)rule.eContents().get(1); |
305 | private final Keyword cPKeyword_0 = (Keyword)cGroup.eContents().get(0); | 305 | private final Keyword cProbKeyword_0 = (Keyword)cGroup.eContents().get(0); |
306 | private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1); | 306 | private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1); |
307 | private final Assignment cPAssignment_2 = (Assignment)cGroup.eContents().get(2); | 307 | private final Assignment cPAssignment_2 = (Assignment)cGroup.eContents().get(2); |
308 | private final RuleCall cPDoubleParserRuleCall_2_0 = (RuleCall)cPAssignment_2.eContents().get(0); | 308 | private final RuleCall cPDoubleParserRuleCall_2_0 = (RuleCall)cPAssignment_2.eContents().get(0); |
309 | 309 | ||
310 | //ConstantDistribution ft::ConstantDistribution: | 310 | //ConstantDistribution ft::ConstantDistribution: |
311 | // "p" "=" p=Double; | 311 | // "prob" "=" p=Double; |
312 | @Override public ParserRule getRule() { return rule; } | 312 | @Override public ParserRule getRule() { return rule; } |
313 | 313 | ||
314 | //"p" "=" p=Double | 314 | //"prob" "=" p=Double |
315 | public Group getGroup() { return cGroup; } | 315 | public Group getGroup() { return cGroup; } |
316 | 316 | ||
317 | //"p" | 317 | //"prob" |
318 | public Keyword getPKeyword_0() { return cPKeyword_0; } | 318 | public Keyword getProbKeyword_0() { return cProbKeyword_0; } |
319 | 319 | ||
320 | //"=" | 320 | //"=" |
321 | public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; } | 321 | public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; } |
@@ -880,13 +880,13 @@ public class CftLanguageGrammarAccess extends AbstractGrammarElementFinder { | |||
880 | private final CrossReference cComponentTypeComponentDefinitionCrossReference_1_0 = (CrossReference)cComponentTypeAssignment_1.eContents().get(0); | 880 | private final CrossReference cComponentTypeComponentDefinitionCrossReference_1_0 = (CrossReference)cComponentTypeAssignment_1.eContents().get(0); |
881 | private final RuleCall cComponentTypeComponentDefinitionQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cComponentTypeComponentDefinitionCrossReference_1_0.eContents().get(1); | 881 | private final RuleCall cComponentTypeComponentDefinitionQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cComponentTypeComponentDefinitionCrossReference_1_0.eContents().get(1); |
882 | private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); | 882 | private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); |
883 | private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); | 883 | private final RuleCall cNameValidIdParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); |
884 | 884 | ||
885 | //ComponentInstance: | 885 | //ComponentInstance: |
886 | // "=>" componentType=[cft::ComponentDefinition|QualifiedName] name=ID?; | 886 | // "=>" componentType=[cft::ComponentDefinition|QualifiedName] name=ValidId?; |
887 | @Override public ParserRule getRule() { return rule; } | 887 | @Override public ParserRule getRule() { return rule; } |
888 | 888 | ||
889 | //"=>" componentType=[cft::ComponentDefinition|QualifiedName] name=ID? | 889 | //"=>" componentType=[cft::ComponentDefinition|QualifiedName] name=ValidId? |
890 | public Group getGroup() { return cGroup; } | 890 | public Group getGroup() { return cGroup; } |
891 | 891 | ||
892 | //"=>" | 892 | //"=>" |
@@ -901,11 +901,11 @@ public class CftLanguageGrammarAccess extends AbstractGrammarElementFinder { | |||
901 | //QualifiedName | 901 | //QualifiedName |
902 | public RuleCall getComponentTypeComponentDefinitionQualifiedNameParserRuleCall_1_0_1() { return cComponentTypeComponentDefinitionQualifiedNameParserRuleCall_1_0_1; } | 902 | public RuleCall getComponentTypeComponentDefinitionQualifiedNameParserRuleCall_1_0_1() { return cComponentTypeComponentDefinitionQualifiedNameParserRuleCall_1_0_1; } |
903 | 903 | ||
904 | //name=ID? | 904 | //name=ValidId? |
905 | public Assignment getNameAssignment_2() { return cNameAssignment_2; } | 905 | public Assignment getNameAssignment_2() { return cNameAssignment_2; } |
906 | 906 | ||
907 | //ID | 907 | //ValidId |
908 | public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } | 908 | public RuleCall getNameValidIdParserRuleCall_2_0() { return cNameValidIdParserRuleCall_2_0; } |
909 | } | 909 | } |
910 | public class QualifiedNameElements extends AbstractParserRuleElementFinder { | 910 | public class QualifiedNameElements extends AbstractParserRuleElementFinder { |
911 | private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.QualifiedName"); | 911 | private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.QualifiedName"); |
@@ -1169,7 +1169,7 @@ public class CftLanguageGrammarAccess extends AbstractGrammarElementFinder { | |||
1169 | } | 1169 | } |
1170 | 1170 | ||
1171 | //ConstantDistribution ft::ConstantDistribution: | 1171 | //ConstantDistribution ft::ConstantDistribution: |
1172 | // "p" "=" p=Double; | 1172 | // "prob" "=" p=Double; |
1173 | public ConstantDistributionElements getConstantDistributionAccess() { | 1173 | public ConstantDistributionElements getConstantDistributionAccess() { |
1174 | return pConstantDistribution; | 1174 | return pConstantDistribution; |
1175 | } | 1175 | } |
@@ -1306,7 +1306,7 @@ public class CftLanguageGrammarAccess extends AbstractGrammarElementFinder { | |||
1306 | } | 1306 | } |
1307 | 1307 | ||
1308 | //ComponentInstance: | 1308 | //ComponentInstance: |
1309 | // "=>" componentType=[cft::ComponentDefinition|QualifiedName] name=ID?; | 1309 | // "=>" componentType=[cft::ComponentDefinition|QualifiedName] name=ValidId?; |
1310 | public ComponentInstanceElements getComponentInstanceAccess() { | 1310 | public ComponentInstanceElements getComponentInstanceAccess() { |
1311 | return pComponentInstance; | 1311 | return pComponentInstance; |
1312 | } | 1312 | } |
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 b4d5338b..ab053f67 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 | |||
@@ -33,7 +33,7 @@ Distribution returns ft::Distribution: | |||
33 | ConstantDistribution | ExponentialDistribution; | 33 | ConstantDistribution | ExponentialDistribution; |
34 | 34 | ||
35 | ConstantDistribution returns ft::ConstantDistribution: | 35 | ConstantDistribution returns ft::ConstantDistribution: |
36 | "p" "=" p=Double; | 36 | "prob" "=" p=Double; |
37 | 37 | ||
38 | ExponentialDistribution returns ft::ExponentialDistribution: | 38 | ExponentialDistribution returns ft::ExponentialDistribution: |
39 | "lambda" "=" lambda=Double; | 39 | "lambda" "=" lambda=Double; |
@@ -80,7 +80,7 @@ EventReference: | |||
80 | component=[Variable|ValidId] "." event=[cft::EventDeclaration|ValidId]; | 80 | component=[Variable|ValidId] "." event=[cft::EventDeclaration|ValidId]; |
81 | 81 | ||
82 | ComponentInstance: | 82 | ComponentInstance: |
83 | "=>" componentType=[cft::ComponentDefinition|QualifiedName] name=ID?; | 83 | "=>" componentType=[cft::ComponentDefinition|QualifiedName] name=ValidId?; |
84 | 84 | ||
85 | QualifiedName returns ecore::EString: | 85 | QualifiedName returns ecore::EString: |
86 | ValidId ("." ValidId)*; | 86 | ValidId ("." ValidId)*; |
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 df7b7e51..98b07e66 100644 --- 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 | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageStandaloneSetup.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageStandaloneSetup.xtendbin index 414dfa3e..2ae80aef 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageStandaloneSetup.xtendbin +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageStandaloneSetup.xtendbin | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/conversion/.CftLanguageValueConverterService.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/conversion/.CftLanguageValueConverterService.xtendbin index 80e91ebf..a97cd12c 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/conversion/.CftLanguageValueConverterService.xtendbin +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/conversion/.CftLanguageValueConverterService.xtendbin | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/conversion/.OF_INTValueConverter.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/conversion/.OF_INTValueConverter.xtendbin index 6787af3f..25b37e6d 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/conversion/.OF_INTValueConverter.xtendbin +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/conversion/.OF_INTValueConverter.xtendbin | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/.CftLanguageGenerator.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/.CftLanguageGenerator.xtendbin index 0ad3ae5a..b2a0c833 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/.CftLanguageGenerator.xtendbin +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/.CftLanguageGenerator.xtendbin | |||
Binary files 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 62a48625..cea3c7e0 100644 --- 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 | |||
Binary files 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 b5ec6fb3..a0a97448 100644 --- 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 | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageImportedNamespaceAwareLocalScopeProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageImportedNamespaceAwareLocalScopeProvider.xtendbin index c570dbe3..a3aa3347 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageImportedNamespaceAwareLocalScopeProvider.xtendbin +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageImportedNamespaceAwareLocalScopeProvider.xtendbin | |||
Binary files 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 3c714b09..20f539ae 100644 --- 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 | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/.CftLanguageValidator.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/.CftLanguageValidator.xtendbin index 683ac14e..719d28f8 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/.CftLanguageValidator.xtendbin +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/.CftLanguageValidator.xtendbin | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/BasicEvent.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/BasicEvent.java index acfc635b..63b8d0ed 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/BasicEvent.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/BasicEvent.java | |||
@@ -19,7 +19,7 @@ package hu.bme.mit.inf.dslreasoner.faulttree.model.ft; | |||
19 | * @model | 19 | * @model |
20 | * @generated | 20 | * @generated |
21 | */ | 21 | */ |
22 | public interface BasicEvent extends Event { | 22 | public interface BasicEvent extends RandomEvent { |
23 | /** | 23 | /** |
24 | * Returns the value of the '<em><b>Distribution</b></em>' containment reference. | 24 | * Returns the value of the '<em><b>Distribution</b></em>' containment reference. |
25 | * <!-- begin-user-doc --> | 25 | * <!-- begin-user-doc --> |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/ConstantEvent.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/ConstantEvent.java new file mode 100644 index 00000000..a171fc95 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/ConstantEvent.java | |||
@@ -0,0 +1,49 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.faulttree.model.ft; | ||
4 | |||
5 | |||
6 | /** | ||
7 | * <!-- begin-user-doc --> | ||
8 | * A representation of the model object '<em><b>Constant Event</b></em>'. | ||
9 | * <!-- end-user-doc --> | ||
10 | * | ||
11 | * <p> | ||
12 | * The following features are supported: | ||
13 | * </p> | ||
14 | * <ul> | ||
15 | * <li>{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantEvent#isFailed <em>Failed</em>}</li> | ||
16 | * </ul> | ||
17 | * | ||
18 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage#getConstantEvent() | ||
19 | * @model | ||
20 | * @generated | ||
21 | */ | ||
22 | public interface ConstantEvent extends Event { | ||
23 | /** | ||
24 | * Returns the value of the '<em><b>Failed</b></em>' attribute. | ||
25 | * <!-- begin-user-doc --> | ||
26 | * <p> | ||
27 | * If the meaning of the '<em>Failed</em>' attribute isn't clear, | ||
28 | * there really should be more of a description here... | ||
29 | * </p> | ||
30 | * <!-- end-user-doc --> | ||
31 | * @return the value of the '<em>Failed</em>' attribute. | ||
32 | * @see #setFailed(boolean) | ||
33 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage#getConstantEvent_Failed() | ||
34 | * @model | ||
35 | * @generated | ||
36 | */ | ||
37 | boolean isFailed(); | ||
38 | |||
39 | /** | ||
40 | * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantEvent#isFailed <em>Failed</em>}' attribute. | ||
41 | * <!-- begin-user-doc --> | ||
42 | * <!-- end-user-doc --> | ||
43 | * @param value the new value of the '<em>Failed</em>' attribute. | ||
44 | * @see #isFailed() | ||
45 | * @generated | ||
46 | */ | ||
47 | void setFailed(boolean value); | ||
48 | |||
49 | } // ConstantEvent | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/ConstantModel.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/ConstantModel.java new file mode 100644 index 00000000..5649559f --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/ConstantModel.java | |||
@@ -0,0 +1,49 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.faulttree.model.ft; | ||
4 | |||
5 | |||
6 | /** | ||
7 | * <!-- begin-user-doc --> | ||
8 | * A representation of the model object '<em><b>Constant Model</b></em>'. | ||
9 | * <!-- end-user-doc --> | ||
10 | * | ||
11 | * <p> | ||
12 | * The following features are supported: | ||
13 | * </p> | ||
14 | * <ul> | ||
15 | * <li>{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantModel#isFailed <em>Failed</em>}</li> | ||
16 | * </ul> | ||
17 | * | ||
18 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage#getConstantModel() | ||
19 | * @model | ||
20 | * @generated | ||
21 | */ | ||
22 | public interface ConstantModel extends ReliabilityModel { | ||
23 | /** | ||
24 | * Returns the value of the '<em><b>Failed</b></em>' attribute. | ||
25 | * <!-- begin-user-doc --> | ||
26 | * <p> | ||
27 | * If the meaning of the '<em>Failed</em>' attribute isn't clear, | ||
28 | * there really should be more of a description here... | ||
29 | * </p> | ||
30 | * <!-- end-user-doc --> | ||
31 | * @return the value of the '<em>Failed</em>' attribute. | ||
32 | * @see #setFailed(boolean) | ||
33 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage#getConstantModel_Failed() | ||
34 | * @model | ||
35 | * @generated | ||
36 | */ | ||
37 | boolean isFailed(); | ||
38 | |||
39 | /** | ||
40 | * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantModel#isFailed <em>Failed</em>}' attribute. | ||
41 | * <!-- begin-user-doc --> | ||
42 | * <!-- end-user-doc --> | ||
43 | * @param value the new value of the '<em>Failed</em>' attribute. | ||
44 | * @see #isFailed() | ||
45 | * @generated | ||
46 | */ | ||
47 | void setFailed(boolean value); | ||
48 | |||
49 | } // ConstantModel | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/Event.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/Event.java index 186e23b9..a5a905a0 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/Event.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/Event.java | |||
@@ -9,42 +9,10 @@ import org.eclipse.emf.ecore.EObject; | |||
9 | * A representation of the model object '<em><b>Event</b></em>'. | 9 | * A representation of the model object '<em><b>Event</b></em>'. |
10 | * <!-- end-user-doc --> | 10 | * <!-- end-user-doc --> |
11 | * | 11 | * |
12 | * <p> | ||
13 | * The following features are supported: | ||
14 | * </p> | ||
15 | * <ul> | ||
16 | * <li>{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event#getName <em>Name</em>}</li> | ||
17 | * </ul> | ||
18 | * | 12 | * |
19 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage#getEvent() | 13 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage#getEvent() |
20 | * @model abstract="true" | 14 | * @model abstract="true" |
21 | * @generated | 15 | * @generated |
22 | */ | 16 | */ |
23 | public interface Event extends EObject { | 17 | public interface Event extends EObject { |
24 | /** | ||
25 | * Returns the value of the '<em><b>Name</b></em>' attribute. | ||
26 | * <!-- begin-user-doc --> | ||
27 | * <p> | ||
28 | * If the meaning of the '<em>Name</em>' attribute isn't clear, | ||
29 | * there really should be more of a description here... | ||
30 | * </p> | ||
31 | * <!-- end-user-doc --> | ||
32 | * @return the value of the '<em>Name</em>' attribute. | ||
33 | * @see #setName(String) | ||
34 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage#getEvent_Name() | ||
35 | * @model | ||
36 | * @generated | ||
37 | */ | ||
38 | String getName(); | ||
39 | |||
40 | /** | ||
41 | * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event#getName <em>Name</em>}' attribute. | ||
42 | * <!-- begin-user-doc --> | ||
43 | * <!-- end-user-doc --> | ||
44 | * @param value the new value of the '<em>Name</em>' attribute. | ||
45 | * @see #getName() | ||
46 | * @generated | ||
47 | */ | ||
48 | void setName(String value); | ||
49 | |||
50 | } // Event | 18 | } // Event |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/FaultTree.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/FaultTree.java index 247a9918..0bf258be 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/FaultTree.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/FaultTree.java | |||
@@ -4,8 +4,6 @@ package hu.bme.mit.inf.dslreasoner.faulttree.model.ft; | |||
4 | 4 | ||
5 | import org.eclipse.emf.common.util.EList; | 5 | import org.eclipse.emf.common.util.EList; |
6 | 6 | ||
7 | import org.eclipse.emf.ecore.EObject; | ||
8 | |||
9 | /** | 7 | /** |
10 | * <!-- begin-user-doc --> | 8 | * <!-- begin-user-doc --> |
11 | * A representation of the model object '<em><b>Fault Tree</b></em>'. | 9 | * A representation of the model object '<em><b>Fault Tree</b></em>'. |
@@ -23,10 +21,10 @@ import org.eclipse.emf.ecore.EObject; | |||
23 | * @model | 21 | * @model |
24 | * @generated | 22 | * @generated |
25 | */ | 23 | */ |
26 | public interface FaultTree extends EObject { | 24 | public interface FaultTree extends ReliabilityModel { |
27 | /** | 25 | /** |
28 | * Returns the value of the '<em><b>Events</b></em>' containment reference list. | 26 | * Returns the value of the '<em><b>Events</b></em>' containment reference list. |
29 | * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event}. | 27 | * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent}. |
30 | * <!-- begin-user-doc --> | 28 | * <!-- begin-user-doc --> |
31 | * <p> | 29 | * <p> |
32 | * If the meaning of the '<em>Events</em>' containment reference list isn't clear, | 30 | * If the meaning of the '<em>Events</em>' containment reference list isn't clear, |
@@ -38,7 +36,7 @@ public interface FaultTree extends EObject { | |||
38 | * @model containment="true" | 36 | * @model containment="true" |
39 | * @generated | 37 | * @generated |
40 | */ | 38 | */ |
41 | EList<Event> getEvents(); | 39 | EList<RandomEvent> getEvents(); |
42 | 40 | ||
43 | /** | 41 | /** |
44 | * Returns the value of the '<em><b>Top Event</b></em>' reference. | 42 | * Returns the value of the '<em><b>Top Event</b></em>' reference. |
@@ -49,12 +47,12 @@ public interface FaultTree extends EObject { | |||
49 | * </p> | 47 | * </p> |
50 | * <!-- end-user-doc --> | 48 | * <!-- end-user-doc --> |
51 | * @return the value of the '<em>Top Event</em>' reference. | 49 | * @return the value of the '<em>Top Event</em>' reference. |
52 | * @see #setTopEvent(Event) | 50 | * @see #setTopEvent(RandomEvent) |
53 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage#getFaultTree_TopEvent() | 51 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage#getFaultTree_TopEvent() |
54 | * @model required="true" | 52 | * @model required="true" |
55 | * @generated | 53 | * @generated |
56 | */ | 54 | */ |
57 | Event getTopEvent(); | 55 | RandomEvent getTopEvent(); |
58 | 56 | ||
59 | /** | 57 | /** |
60 | * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FaultTree#getTopEvent <em>Top Event</em>}' reference. | 58 | * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FaultTree#getTopEvent <em>Top Event</em>}' reference. |
@@ -64,6 +62,6 @@ public interface FaultTree extends EObject { | |||
64 | * @see #getTopEvent() | 62 | * @see #getTopEvent() |
65 | * @generated | 63 | * @generated |
66 | */ | 64 | */ |
67 | void setTopEvent(Event value); | 65 | void setTopEvent(RandomEvent value); |
68 | 66 | ||
69 | } // FaultTree | 67 | } // FaultTree |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/FtFactory.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/FtFactory.java index 20b71b1a..7d420e34 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/FtFactory.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/FtFactory.java | |||
@@ -85,6 +85,24 @@ public interface FtFactory extends EFactory { | |||
85 | KOfMGate createKOfMGate(); | 85 | KOfMGate createKOfMGate(); |
86 | 86 | ||
87 | /** | 87 | /** |
88 | * Returns a new object of class '<em>Constant Model</em>'. | ||
89 | * <!-- begin-user-doc --> | ||
90 | * <!-- end-user-doc --> | ||
91 | * @return a new object of class '<em>Constant Model</em>'. | ||
92 | * @generated | ||
93 | */ | ||
94 | ConstantModel createConstantModel(); | ||
95 | |||
96 | /** | ||
97 | * Returns a new object of class '<em>Constant Event</em>'. | ||
98 | * <!-- begin-user-doc --> | ||
99 | * <!-- end-user-doc --> | ||
100 | * @return a new object of class '<em>Constant Event</em>'. | ||
101 | * @generated | ||
102 | */ | ||
103 | ConstantEvent createConstantEvent(); | ||
104 | |||
105 | /** | ||
88 | * Returns the package supported by this factory. | 106 | * Returns the package supported by this factory. |
89 | * <!-- begin-user-doc --> | 107 | * <!-- begin-user-doc --> |
90 | * <!-- end-user-doc --> | 108 | * <!-- end-user-doc --> |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/FtPackage.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/FtPackage.java index e376063c..dd35d666 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/FtPackage.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/FtPackage.java | |||
@@ -57,6 +57,34 @@ public interface FtPackage extends EPackage { | |||
57 | FtPackage eINSTANCE = hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.FtPackageImpl.init(); | 57 | FtPackage eINSTANCE = hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.FtPackageImpl.init(); |
58 | 58 | ||
59 | /** | 59 | /** |
60 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.ReliabilityModelImpl <em>Reliability Model</em>}' class. | ||
61 | * <!-- begin-user-doc --> | ||
62 | * <!-- end-user-doc --> | ||
63 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.ReliabilityModelImpl | ||
64 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.FtPackageImpl#getReliabilityModel() | ||
65 | * @generated | ||
66 | */ | ||
67 | int RELIABILITY_MODEL = 10; | ||
68 | |||
69 | /** | ||
70 | * The number of structural features of the '<em>Reliability Model</em>' class. | ||
71 | * <!-- begin-user-doc --> | ||
72 | * <!-- end-user-doc --> | ||
73 | * @generated | ||
74 | * @ordered | ||
75 | */ | ||
76 | int RELIABILITY_MODEL_FEATURE_COUNT = 0; | ||
77 | |||
78 | /** | ||
79 | * The number of operations of the '<em>Reliability Model</em>' class. | ||
80 | * <!-- begin-user-doc --> | ||
81 | * <!-- end-user-doc --> | ||
82 | * @generated | ||
83 | * @ordered | ||
84 | */ | ||
85 | int RELIABILITY_MODEL_OPERATION_COUNT = 0; | ||
86 | |||
87 | /** | ||
60 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.FaultTreeImpl <em>Fault Tree</em>}' class. | 88 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.FaultTreeImpl <em>Fault Tree</em>}' class. |
61 | * <!-- begin-user-doc --> | 89 | * <!-- begin-user-doc --> |
62 | * <!-- end-user-doc --> | 90 | * <!-- end-user-doc --> |
@@ -73,7 +101,7 @@ public interface FtPackage extends EPackage { | |||
73 | * @generated | 101 | * @generated |
74 | * @ordered | 102 | * @ordered |
75 | */ | 103 | */ |
76 | int FAULT_TREE__EVENTS = 0; | 104 | int FAULT_TREE__EVENTS = RELIABILITY_MODEL_FEATURE_COUNT + 0; |
77 | 105 | ||
78 | /** | 106 | /** |
79 | * The feature id for the '<em><b>Top Event</b></em>' reference. | 107 | * The feature id for the '<em><b>Top Event</b></em>' reference. |
@@ -82,7 +110,7 @@ public interface FtPackage extends EPackage { | |||
82 | * @generated | 110 | * @generated |
83 | * @ordered | 111 | * @ordered |
84 | */ | 112 | */ |
85 | int FAULT_TREE__TOP_EVENT = 1; | 113 | int FAULT_TREE__TOP_EVENT = RELIABILITY_MODEL_FEATURE_COUNT + 1; |
86 | 114 | ||
87 | /** | 115 | /** |
88 | * The number of structural features of the '<em>Fault Tree</em>' class. | 116 | * The number of structural features of the '<em>Fault Tree</em>' class. |
@@ -91,7 +119,7 @@ public interface FtPackage extends EPackage { | |||
91 | * @generated | 119 | * @generated |
92 | * @ordered | 120 | * @ordered |
93 | */ | 121 | */ |
94 | int FAULT_TREE_FEATURE_COUNT = 2; | 122 | int FAULT_TREE_FEATURE_COUNT = RELIABILITY_MODEL_FEATURE_COUNT + 2; |
95 | 123 | ||
96 | /** | 124 | /** |
97 | * The number of operations of the '<em>Fault Tree</em>' class. | 125 | * The number of operations of the '<em>Fault Tree</em>' class. |
@@ -100,7 +128,7 @@ public interface FtPackage extends EPackage { | |||
100 | * @generated | 128 | * @generated |
101 | * @ordered | 129 | * @ordered |
102 | */ | 130 | */ |
103 | int FAULT_TREE_OPERATION_COUNT = 0; | 131 | int FAULT_TREE_OPERATION_COUNT = RELIABILITY_MODEL_OPERATION_COUNT + 0; |
104 | 132 | ||
105 | /** | 133 | /** |
106 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.EventImpl <em>Event</em>}' class. | 134 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.EventImpl <em>Event</em>}' class. |
@@ -110,7 +138,35 @@ public interface FtPackage extends EPackage { | |||
110 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.FtPackageImpl#getEvent() | 138 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.FtPackageImpl#getEvent() |
111 | * @generated | 139 | * @generated |
112 | */ | 140 | */ |
113 | int EVENT = 1; | 141 | int EVENT = 12; |
142 | |||
143 | /** | ||
144 | * The number of structural features of the '<em>Event</em>' class. | ||
145 | * <!-- begin-user-doc --> | ||
146 | * <!-- end-user-doc --> | ||
147 | * @generated | ||
148 | * @ordered | ||
149 | */ | ||
150 | int EVENT_FEATURE_COUNT = 0; | ||
151 | |||
152 | /** | ||
153 | * The number of operations of the '<em>Event</em>' class. | ||
154 | * <!-- begin-user-doc --> | ||
155 | * <!-- end-user-doc --> | ||
156 | * @generated | ||
157 | * @ordered | ||
158 | */ | ||
159 | int EVENT_OPERATION_COUNT = 0; | ||
160 | |||
161 | /** | ||
162 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.RandomEventImpl <em>Random Event</em>}' class. | ||
163 | * <!-- begin-user-doc --> | ||
164 | * <!-- end-user-doc --> | ||
165 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.RandomEventImpl | ||
166 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.FtPackageImpl#getRandomEvent() | ||
167 | * @generated | ||
168 | */ | ||
169 | int RANDOM_EVENT = 1; | ||
114 | 170 | ||
115 | /** | 171 | /** |
116 | * The feature id for the '<em><b>Name</b></em>' attribute. | 172 | * The feature id for the '<em><b>Name</b></em>' attribute. |
@@ -119,25 +175,25 @@ public interface FtPackage extends EPackage { | |||
119 | * @generated | 175 | * @generated |
120 | * @ordered | 176 | * @ordered |
121 | */ | 177 | */ |
122 | int EVENT__NAME = 0; | 178 | int RANDOM_EVENT__NAME = EVENT_FEATURE_COUNT + 0; |
123 | 179 | ||
124 | /** | 180 | /** |
125 | * The number of structural features of the '<em>Event</em>' class. | 181 | * The number of structural features of the '<em>Random Event</em>' class. |
126 | * <!-- begin-user-doc --> | 182 | * <!-- begin-user-doc --> |
127 | * <!-- end-user-doc --> | 183 | * <!-- end-user-doc --> |
128 | * @generated | 184 | * @generated |
129 | * @ordered | 185 | * @ordered |
130 | */ | 186 | */ |
131 | int EVENT_FEATURE_COUNT = 1; | 187 | int RANDOM_EVENT_FEATURE_COUNT = EVENT_FEATURE_COUNT + 1; |
132 | 188 | ||
133 | /** | 189 | /** |
134 | * The number of operations of the '<em>Event</em>' class. | 190 | * The number of operations of the '<em>Random Event</em>' class. |
135 | * <!-- begin-user-doc --> | 191 | * <!-- begin-user-doc --> |
136 | * <!-- end-user-doc --> | 192 | * <!-- end-user-doc --> |
137 | * @generated | 193 | * @generated |
138 | * @ordered | 194 | * @ordered |
139 | */ | 195 | */ |
140 | int EVENT_OPERATION_COUNT = 0; | 196 | int RANDOM_EVENT_OPERATION_COUNT = EVENT_OPERATION_COUNT + 0; |
141 | 197 | ||
142 | /** | 198 | /** |
143 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.BasicEventImpl <em>Basic Event</em>}' class. | 199 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.BasicEventImpl <em>Basic Event</em>}' class. |
@@ -156,7 +212,7 @@ public interface FtPackage extends EPackage { | |||
156 | * @generated | 212 | * @generated |
157 | * @ordered | 213 | * @ordered |
158 | */ | 214 | */ |
159 | int BASIC_EVENT__NAME = EVENT__NAME; | 215 | int BASIC_EVENT__NAME = RANDOM_EVENT__NAME; |
160 | 216 | ||
161 | /** | 217 | /** |
162 | * The feature id for the '<em><b>Distribution</b></em>' containment reference. | 218 | * The feature id for the '<em><b>Distribution</b></em>' containment reference. |
@@ -165,7 +221,7 @@ public interface FtPackage extends EPackage { | |||
165 | * @generated | 221 | * @generated |
166 | * @ordered | 222 | * @ordered |
167 | */ | 223 | */ |
168 | int BASIC_EVENT__DISTRIBUTION = EVENT_FEATURE_COUNT + 0; | 224 | int BASIC_EVENT__DISTRIBUTION = RANDOM_EVENT_FEATURE_COUNT + 0; |
169 | 225 | ||
170 | /** | 226 | /** |
171 | * The number of structural features of the '<em>Basic Event</em>' class. | 227 | * The number of structural features of the '<em>Basic Event</em>' class. |
@@ -174,7 +230,7 @@ public interface FtPackage extends EPackage { | |||
174 | * @generated | 230 | * @generated |
175 | * @ordered | 231 | * @ordered |
176 | */ | 232 | */ |
177 | int BASIC_EVENT_FEATURE_COUNT = EVENT_FEATURE_COUNT + 1; | 233 | int BASIC_EVENT_FEATURE_COUNT = RANDOM_EVENT_FEATURE_COUNT + 1; |
178 | 234 | ||
179 | /** | 235 | /** |
180 | * The number of operations of the '<em>Basic Event</em>' class. | 236 | * The number of operations of the '<em>Basic Event</em>' class. |
@@ -183,7 +239,7 @@ public interface FtPackage extends EPackage { | |||
183 | * @generated | 239 | * @generated |
184 | * @ordered | 240 | * @ordered |
185 | */ | 241 | */ |
186 | int BASIC_EVENT_OPERATION_COUNT = EVENT_OPERATION_COUNT + 0; | 242 | int BASIC_EVENT_OPERATION_COUNT = RANDOM_EVENT_OPERATION_COUNT + 0; |
187 | 243 | ||
188 | /** | 244 | /** |
189 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.GateImpl <em>Gate</em>}' class. | 245 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.GateImpl <em>Gate</em>}' class. |
@@ -202,7 +258,7 @@ public interface FtPackage extends EPackage { | |||
202 | * @generated | 258 | * @generated |
203 | * @ordered | 259 | * @ordered |
204 | */ | 260 | */ |
205 | int GATE__NAME = EVENT__NAME; | 261 | int GATE__NAME = RANDOM_EVENT__NAME; |
206 | 262 | ||
207 | /** | 263 | /** |
208 | * The feature id for the '<em><b>Input Events</b></em>' reference list. | 264 | * The feature id for the '<em><b>Input Events</b></em>' reference list. |
@@ -211,7 +267,7 @@ public interface FtPackage extends EPackage { | |||
211 | * @generated | 267 | * @generated |
212 | * @ordered | 268 | * @ordered |
213 | */ | 269 | */ |
214 | int GATE__INPUT_EVENTS = EVENT_FEATURE_COUNT + 0; | 270 | int GATE__INPUT_EVENTS = RANDOM_EVENT_FEATURE_COUNT + 0; |
215 | 271 | ||
216 | /** | 272 | /** |
217 | * The number of structural features of the '<em>Gate</em>' class. | 273 | * The number of structural features of the '<em>Gate</em>' class. |
@@ -220,7 +276,7 @@ public interface FtPackage extends EPackage { | |||
220 | * @generated | 276 | * @generated |
221 | * @ordered | 277 | * @ordered |
222 | */ | 278 | */ |
223 | int GATE_FEATURE_COUNT = EVENT_FEATURE_COUNT + 1; | 279 | int GATE_FEATURE_COUNT = RANDOM_EVENT_FEATURE_COUNT + 1; |
224 | 280 | ||
225 | /** | 281 | /** |
226 | * The number of operations of the '<em>Gate</em>' class. | 282 | * The number of operations of the '<em>Gate</em>' class. |
@@ -229,7 +285,7 @@ public interface FtPackage extends EPackage { | |||
229 | * @generated | 285 | * @generated |
230 | * @ordered | 286 | * @ordered |
231 | */ | 287 | */ |
232 | int GATE_OPERATION_COUNT = EVENT_OPERATION_COUNT + 0; | 288 | int GATE_OPERATION_COUNT = RANDOM_EVENT_OPERATION_COUNT + 0; |
233 | 289 | ||
234 | /** | 290 | /** |
235 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.DistributionImpl <em>Distribution</em>}' class. | 291 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.DistributionImpl <em>Distribution</em>}' class. |
@@ -463,31 +519,96 @@ public interface FtPackage extends EPackage { | |||
463 | int KOF_MGATE__K = GATE_FEATURE_COUNT + 0; | 519 | int KOF_MGATE__K = GATE_FEATURE_COUNT + 0; |
464 | 520 | ||
465 | /** | 521 | /** |
466 | * The feature id for the '<em><b>M</b></em>' attribute. | 522 | * The number of structural features of the '<em>KOf MGate</em>' class. |
467 | * <!-- begin-user-doc --> | 523 | * <!-- begin-user-doc --> |
468 | * <!-- end-user-doc --> | 524 | * <!-- end-user-doc --> |
469 | * @generated | 525 | * @generated |
470 | * @ordered | 526 | * @ordered |
471 | */ | 527 | */ |
472 | int KOF_MGATE__M = GATE_FEATURE_COUNT + 1; | 528 | int KOF_MGATE_FEATURE_COUNT = GATE_FEATURE_COUNT + 1; |
473 | 529 | ||
474 | /** | 530 | /** |
475 | * The number of structural features of the '<em>KOf MGate</em>' class. | 531 | * The number of operations of the '<em>KOf MGate</em>' class. |
476 | * <!-- begin-user-doc --> | 532 | * <!-- begin-user-doc --> |
477 | * <!-- end-user-doc --> | 533 | * <!-- end-user-doc --> |
478 | * @generated | 534 | * @generated |
479 | * @ordered | 535 | * @ordered |
480 | */ | 536 | */ |
481 | int KOF_MGATE_FEATURE_COUNT = GATE_FEATURE_COUNT + 2; | 537 | int KOF_MGATE_OPERATION_COUNT = GATE_OPERATION_COUNT + 0; |
482 | 538 | ||
483 | /** | 539 | /** |
484 | * The number of operations of the '<em>KOf MGate</em>' class. | 540 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.ConstantModelImpl <em>Constant Model</em>}' class. |
541 | * <!-- begin-user-doc --> | ||
542 | * <!-- end-user-doc --> | ||
543 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.ConstantModelImpl | ||
544 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.FtPackageImpl#getConstantModel() | ||
545 | * @generated | ||
546 | */ | ||
547 | int CONSTANT_MODEL = 11; | ||
548 | |||
549 | /** | ||
550 | * The feature id for the '<em><b>Failed</b></em>' attribute. | ||
485 | * <!-- begin-user-doc --> | 551 | * <!-- begin-user-doc --> |
486 | * <!-- end-user-doc --> | 552 | * <!-- end-user-doc --> |
487 | * @generated | 553 | * @generated |
488 | * @ordered | 554 | * @ordered |
489 | */ | 555 | */ |
490 | int KOF_MGATE_OPERATION_COUNT = GATE_OPERATION_COUNT + 0; | 556 | int CONSTANT_MODEL__FAILED = RELIABILITY_MODEL_FEATURE_COUNT + 0; |
557 | |||
558 | /** | ||
559 | * The number of structural features of the '<em>Constant Model</em>' class. | ||
560 | * <!-- begin-user-doc --> | ||
561 | * <!-- end-user-doc --> | ||
562 | * @generated | ||
563 | * @ordered | ||
564 | */ | ||
565 | int CONSTANT_MODEL_FEATURE_COUNT = RELIABILITY_MODEL_FEATURE_COUNT + 1; | ||
566 | |||
567 | /** | ||
568 | * The number of operations of the '<em>Constant Model</em>' class. | ||
569 | * <!-- begin-user-doc --> | ||
570 | * <!-- end-user-doc --> | ||
571 | * @generated | ||
572 | * @ordered | ||
573 | */ | ||
574 | int CONSTANT_MODEL_OPERATION_COUNT = RELIABILITY_MODEL_OPERATION_COUNT + 0; | ||
575 | |||
576 | /** | ||
577 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.ConstantEventImpl <em>Constant Event</em>}' class. | ||
578 | * <!-- begin-user-doc --> | ||
579 | * <!-- end-user-doc --> | ||
580 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.ConstantEventImpl | ||
581 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.FtPackageImpl#getConstantEvent() | ||
582 | * @generated | ||
583 | */ | ||
584 | int CONSTANT_EVENT = 13; | ||
585 | |||
586 | /** | ||
587 | * The feature id for the '<em><b>Failed</b></em>' attribute. | ||
588 | * <!-- begin-user-doc --> | ||
589 | * <!-- end-user-doc --> | ||
590 | * @generated | ||
591 | * @ordered | ||
592 | */ | ||
593 | int CONSTANT_EVENT__FAILED = EVENT_FEATURE_COUNT + 0; | ||
594 | |||
595 | /** | ||
596 | * The number of structural features of the '<em>Constant Event</em>' class. | ||
597 | * <!-- begin-user-doc --> | ||
598 | * <!-- end-user-doc --> | ||
599 | * @generated | ||
600 | * @ordered | ||
601 | */ | ||
602 | int CONSTANT_EVENT_FEATURE_COUNT = EVENT_FEATURE_COUNT + 1; | ||
603 | |||
604 | /** | ||
605 | * The number of operations of the '<em>Constant Event</em>' class. | ||
606 | * <!-- begin-user-doc --> | ||
607 | * <!-- end-user-doc --> | ||
608 | * @generated | ||
609 | * @ordered | ||
610 | */ | ||
611 | int CONSTANT_EVENT_OPERATION_COUNT = EVENT_OPERATION_COUNT + 0; | ||
491 | 612 | ||
492 | 613 | ||
493 | /** | 614 | /** |
@@ -523,25 +644,25 @@ public interface FtPackage extends EPackage { | |||
523 | EReference getFaultTree_TopEvent(); | 644 | EReference getFaultTree_TopEvent(); |
524 | 645 | ||
525 | /** | 646 | /** |
526 | * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event <em>Event</em>}'. | 647 | * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent <em>Random Event</em>}'. |
527 | * <!-- begin-user-doc --> | 648 | * <!-- begin-user-doc --> |
528 | * <!-- end-user-doc --> | 649 | * <!-- end-user-doc --> |
529 | * @return the meta object for class '<em>Event</em>'. | 650 | * @return the meta object for class '<em>Random Event</em>'. |
530 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event | 651 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent |
531 | * @generated | 652 | * @generated |
532 | */ | 653 | */ |
533 | EClass getEvent(); | 654 | EClass getRandomEvent(); |
534 | 655 | ||
535 | /** | 656 | /** |
536 | * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event#getName <em>Name</em>}'. | 657 | * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent#getName <em>Name</em>}'. |
537 | * <!-- begin-user-doc --> | 658 | * <!-- begin-user-doc --> |
538 | * <!-- end-user-doc --> | 659 | * <!-- end-user-doc --> |
539 | * @return the meta object for the attribute '<em>Name</em>'. | 660 | * @return the meta object for the attribute '<em>Name</em>'. |
540 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event#getName() | 661 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent#getName() |
541 | * @see #getEvent() | 662 | * @see #getRandomEvent() |
542 | * @generated | 663 | * @generated |
543 | */ | 664 | */ |
544 | EAttribute getEvent_Name(); | 665 | EAttribute getRandomEvent_Name(); |
545 | 666 | ||
546 | /** | 667 | /** |
547 | * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.BasicEvent <em>Basic Event</em>}'. | 668 | * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.BasicEvent <em>Basic Event</em>}'. |
@@ -679,15 +800,66 @@ public interface FtPackage extends EPackage { | |||
679 | EAttribute getKOfMGate_K(); | 800 | EAttribute getKOfMGate_K(); |
680 | 801 | ||
681 | /** | 802 | /** |
682 | * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.KOfMGate#getM <em>M</em>}'. | 803 | * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ReliabilityModel <em>Reliability Model</em>}'. |
683 | * <!-- begin-user-doc --> | 804 | * <!-- begin-user-doc --> |
684 | * <!-- end-user-doc --> | 805 | * <!-- end-user-doc --> |
685 | * @return the meta object for the attribute '<em>M</em>'. | 806 | * @return the meta object for class '<em>Reliability Model</em>'. |
686 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.KOfMGate#getM() | 807 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ReliabilityModel |
687 | * @see #getKOfMGate() | 808 | * @generated |
809 | */ | ||
810 | EClass getReliabilityModel(); | ||
811 | |||
812 | /** | ||
813 | * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantModel <em>Constant Model</em>}'. | ||
814 | * <!-- begin-user-doc --> | ||
815 | * <!-- end-user-doc --> | ||
816 | * @return the meta object for class '<em>Constant Model</em>'. | ||
817 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantModel | ||
818 | * @generated | ||
819 | */ | ||
820 | EClass getConstantModel(); | ||
821 | |||
822 | /** | ||
823 | * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantModel#isFailed <em>Failed</em>}'. | ||
824 | * <!-- begin-user-doc --> | ||
825 | * <!-- end-user-doc --> | ||
826 | * @return the meta object for the attribute '<em>Failed</em>'. | ||
827 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantModel#isFailed() | ||
828 | * @see #getConstantModel() | ||
829 | * @generated | ||
830 | */ | ||
831 | EAttribute getConstantModel_Failed(); | ||
832 | |||
833 | /** | ||
834 | * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event <em>Event</em>}'. | ||
835 | * <!-- begin-user-doc --> | ||
836 | * <!-- end-user-doc --> | ||
837 | * @return the meta object for class '<em>Event</em>'. | ||
838 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event | ||
839 | * @generated | ||
840 | */ | ||
841 | EClass getEvent(); | ||
842 | |||
843 | /** | ||
844 | * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantEvent <em>Constant Event</em>}'. | ||
845 | * <!-- begin-user-doc --> | ||
846 | * <!-- end-user-doc --> | ||
847 | * @return the meta object for class '<em>Constant Event</em>'. | ||
848 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantEvent | ||
688 | * @generated | 849 | * @generated |
689 | */ | 850 | */ |
690 | EAttribute getKOfMGate_M(); | 851 | EClass getConstantEvent(); |
852 | |||
853 | /** | ||
854 | * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantEvent#isFailed <em>Failed</em>}'. | ||
855 | * <!-- begin-user-doc --> | ||
856 | * <!-- end-user-doc --> | ||
857 | * @return the meta object for the attribute '<em>Failed</em>'. | ||
858 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantEvent#isFailed() | ||
859 | * @see #getConstantEvent() | ||
860 | * @generated | ||
861 | */ | ||
862 | EAttribute getConstantEvent_Failed(); | ||
691 | 863 | ||
692 | /** | 864 | /** |
693 | * Returns the factory that creates the instances of the model. | 865 | * Returns the factory that creates the instances of the model. |
@@ -739,14 +911,14 @@ public interface FtPackage extends EPackage { | |||
739 | EReference FAULT_TREE__TOP_EVENT = eINSTANCE.getFaultTree_TopEvent(); | 911 | EReference FAULT_TREE__TOP_EVENT = eINSTANCE.getFaultTree_TopEvent(); |
740 | 912 | ||
741 | /** | 913 | /** |
742 | * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.EventImpl <em>Event</em>}' class. | 914 | * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.RandomEventImpl <em>Random Event</em>}' class. |
743 | * <!-- begin-user-doc --> | 915 | * <!-- begin-user-doc --> |
744 | * <!-- end-user-doc --> | 916 | * <!-- end-user-doc --> |
745 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.EventImpl | 917 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.RandomEventImpl |
746 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.FtPackageImpl#getEvent() | 918 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.FtPackageImpl#getRandomEvent() |
747 | * @generated | 919 | * @generated |
748 | */ | 920 | */ |
749 | EClass EVENT = eINSTANCE.getEvent(); | 921 | EClass RANDOM_EVENT = eINSTANCE.getRandomEvent(); |
750 | 922 | ||
751 | /** | 923 | /** |
752 | * The meta object literal for the '<em><b>Name</b></em>' attribute feature. | 924 | * The meta object literal for the '<em><b>Name</b></em>' attribute feature. |
@@ -754,7 +926,7 @@ public interface FtPackage extends EPackage { | |||
754 | * <!-- end-user-doc --> | 926 | * <!-- end-user-doc --> |
755 | * @generated | 927 | * @generated |
756 | */ | 928 | */ |
757 | EAttribute EVENT__NAME = eINSTANCE.getEvent_Name(); | 929 | EAttribute RANDOM_EVENT__NAME = eINSTANCE.getRandomEvent_Name(); |
758 | 930 | ||
759 | /** | 931 | /** |
760 | * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.BasicEventImpl <em>Basic Event</em>}' class. | 932 | * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.BasicEventImpl <em>Basic Event</em>}' class. |
@@ -877,12 +1049,60 @@ public interface FtPackage extends EPackage { | |||
877 | EAttribute KOF_MGATE__K = eINSTANCE.getKOfMGate_K(); | 1049 | EAttribute KOF_MGATE__K = eINSTANCE.getKOfMGate_K(); |
878 | 1050 | ||
879 | /** | 1051 | /** |
880 | * The meta object literal for the '<em><b>M</b></em>' attribute feature. | 1052 | * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.ReliabilityModelImpl <em>Reliability Model</em>}' class. |
1053 | * <!-- begin-user-doc --> | ||
1054 | * <!-- end-user-doc --> | ||
1055 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.ReliabilityModelImpl | ||
1056 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.FtPackageImpl#getReliabilityModel() | ||
1057 | * @generated | ||
1058 | */ | ||
1059 | EClass RELIABILITY_MODEL = eINSTANCE.getReliabilityModel(); | ||
1060 | |||
1061 | /** | ||
1062 | * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.ConstantModelImpl <em>Constant Model</em>}' class. | ||
1063 | * <!-- begin-user-doc --> | ||
1064 | * <!-- end-user-doc --> | ||
1065 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.ConstantModelImpl | ||
1066 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.FtPackageImpl#getConstantModel() | ||
1067 | * @generated | ||
1068 | */ | ||
1069 | EClass CONSTANT_MODEL = eINSTANCE.getConstantModel(); | ||
1070 | |||
1071 | /** | ||
1072 | * The meta object literal for the '<em><b>Failed</b></em>' attribute feature. | ||
1073 | * <!-- begin-user-doc --> | ||
1074 | * <!-- end-user-doc --> | ||
1075 | * @generated | ||
1076 | */ | ||
1077 | EAttribute CONSTANT_MODEL__FAILED = eINSTANCE.getConstantModel_Failed(); | ||
1078 | |||
1079 | /** | ||
1080 | * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.EventImpl <em>Event</em>}' class. | ||
1081 | * <!-- begin-user-doc --> | ||
1082 | * <!-- end-user-doc --> | ||
1083 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.EventImpl | ||
1084 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.FtPackageImpl#getEvent() | ||
1085 | * @generated | ||
1086 | */ | ||
1087 | EClass EVENT = eINSTANCE.getEvent(); | ||
1088 | |||
1089 | /** | ||
1090 | * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.ConstantEventImpl <em>Constant Event</em>}' class. | ||
1091 | * <!-- begin-user-doc --> | ||
1092 | * <!-- end-user-doc --> | ||
1093 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.ConstantEventImpl | ||
1094 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.FtPackageImpl#getConstantEvent() | ||
1095 | * @generated | ||
1096 | */ | ||
1097 | EClass CONSTANT_EVENT = eINSTANCE.getConstantEvent(); | ||
1098 | |||
1099 | /** | ||
1100 | * The meta object literal for the '<em><b>Failed</b></em>' attribute feature. | ||
881 | * <!-- begin-user-doc --> | 1101 | * <!-- begin-user-doc --> |
882 | * <!-- end-user-doc --> | 1102 | * <!-- end-user-doc --> |
883 | * @generated | 1103 | * @generated |
884 | */ | 1104 | */ |
885 | EAttribute KOF_MGATE__M = eINSTANCE.getKOfMGate_M(); | 1105 | EAttribute CONSTANT_EVENT__FAILED = eINSTANCE.getConstantEvent_Failed(); |
886 | 1106 | ||
887 | } | 1107 | } |
888 | 1108 | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/Gate.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/Gate.java index 0df58bb4..5015051a 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/Gate.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/Gate.java | |||
@@ -20,10 +20,10 @@ import org.eclipse.emf.common.util.EList; | |||
20 | * @model abstract="true" | 20 | * @model abstract="true" |
21 | * @generated | 21 | * @generated |
22 | */ | 22 | */ |
23 | public interface Gate extends Event { | 23 | public interface Gate extends RandomEvent { |
24 | /** | 24 | /** |
25 | * Returns the value of the '<em><b>Input Events</b></em>' reference list. | 25 | * Returns the value of the '<em><b>Input Events</b></em>' reference list. |
26 | * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event}. | 26 | * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent}. |
27 | * <!-- begin-user-doc --> | 27 | * <!-- begin-user-doc --> |
28 | * <p> | 28 | * <p> |
29 | * If the meaning of the '<em>Input Events</em>' reference list isn't clear, | 29 | * If the meaning of the '<em>Input Events</em>' reference list isn't clear, |
@@ -32,9 +32,9 @@ public interface Gate extends Event { | |||
32 | * <!-- end-user-doc --> | 32 | * <!-- end-user-doc --> |
33 | * @return the value of the '<em>Input Events</em>' reference list. | 33 | * @return the value of the '<em>Input Events</em>' reference list. |
34 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage#getGate_InputEvents() | 34 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage#getGate_InputEvents() |
35 | * @model | 35 | * @model lower="2" |
36 | * @generated | 36 | * @generated |
37 | */ | 37 | */ |
38 | EList<Event> getInputEvents(); | 38 | EList<RandomEvent> getInputEvents(); |
39 | 39 | ||
40 | } // Gate | 40 | } // Gate |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/KOfMGate.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/KOfMGate.java index 33334083..c891f83a 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/KOfMGate.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/KOfMGate.java | |||
@@ -13,7 +13,6 @@ package hu.bme.mit.inf.dslreasoner.faulttree.model.ft; | |||
13 | * </p> | 13 | * </p> |
14 | * <ul> | 14 | * <ul> |
15 | * <li>{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.KOfMGate#getK <em>K</em>}</li> | 15 | * <li>{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.KOfMGate#getK <em>K</em>}</li> |
16 | * <li>{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.KOfMGate#getM <em>M</em>}</li> | ||
17 | * </ul> | 16 | * </ul> |
18 | * | 17 | * |
19 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage#getKOfMGate() | 18 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage#getKOfMGate() |
@@ -47,30 +46,4 @@ public interface KOfMGate extends Gate { | |||
47 | */ | 46 | */ |
48 | void setK(int value); | 47 | void setK(int value); |
49 | 48 | ||
50 | /** | ||
51 | * Returns the value of the '<em><b>M</b></em>' attribute. | ||
52 | * <!-- begin-user-doc --> | ||
53 | * <p> | ||
54 | * If the meaning of the '<em>M</em>' attribute isn't clear, | ||
55 | * there really should be more of a description here... | ||
56 | * </p> | ||
57 | * <!-- end-user-doc --> | ||
58 | * @return the value of the '<em>M</em>' attribute. | ||
59 | * @see #setM(int) | ||
60 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage#getKOfMGate_M() | ||
61 | * @model | ||
62 | * @generated | ||
63 | */ | ||
64 | int getM(); | ||
65 | |||
66 | /** | ||
67 | * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.KOfMGate#getM <em>M</em>}' attribute. | ||
68 | * <!-- begin-user-doc --> | ||
69 | * <!-- end-user-doc --> | ||
70 | * @param value the new value of the '<em>M</em>' attribute. | ||
71 | * @see #getM() | ||
72 | * @generated | ||
73 | */ | ||
74 | void setM(int value); | ||
75 | |||
76 | } // KOfMGate | 49 | } // KOfMGate |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/RandomEvent.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/RandomEvent.java new file mode 100644 index 00000000..3931ac41 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/RandomEvent.java | |||
@@ -0,0 +1,49 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.faulttree.model.ft; | ||
4 | |||
5 | |||
6 | /** | ||
7 | * <!-- begin-user-doc --> | ||
8 | * A representation of the model object '<em><b>Random Event</b></em>'. | ||
9 | * <!-- end-user-doc --> | ||
10 | * | ||
11 | * <p> | ||
12 | * The following features are supported: | ||
13 | * </p> | ||
14 | * <ul> | ||
15 | * <li>{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent#getName <em>Name</em>}</li> | ||
16 | * </ul> | ||
17 | * | ||
18 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage#getRandomEvent() | ||
19 | * @model abstract="true" | ||
20 | * @generated | ||
21 | */ | ||
22 | public interface RandomEvent extends Event { | ||
23 | /** | ||
24 | * Returns the value of the '<em><b>Name</b></em>' attribute. | ||
25 | * <!-- begin-user-doc --> | ||
26 | * <p> | ||
27 | * If the meaning of the '<em>Name</em>' attribute isn't clear, | ||
28 | * there really should be more of a description here... | ||
29 | * </p> | ||
30 | * <!-- end-user-doc --> | ||
31 | * @return the value of the '<em>Name</em>' attribute. | ||
32 | * @see #setName(String) | ||
33 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage#getRandomEvent_Name() | ||
34 | * @model | ||
35 | * @generated | ||
36 | */ | ||
37 | String getName(); | ||
38 | |||
39 | /** | ||
40 | * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent#getName <em>Name</em>}' attribute. | ||
41 | * <!-- begin-user-doc --> | ||
42 | * <!-- end-user-doc --> | ||
43 | * @param value the new value of the '<em>Name</em>' attribute. | ||
44 | * @see #getName() | ||
45 | * @generated | ||
46 | */ | ||
47 | void setName(String value); | ||
48 | |||
49 | } // RandomEvent | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/ReliabilityModel.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/ReliabilityModel.java new file mode 100644 index 00000000..c1dc2162 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/ReliabilityModel.java | |||
@@ -0,0 +1,18 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.faulttree.model.ft; | ||
4 | |||
5 | import org.eclipse.emf.ecore.EObject; | ||
6 | |||
7 | /** | ||
8 | * <!-- begin-user-doc --> | ||
9 | * A representation of the model object '<em><b>Reliability Model</b></em>'. | ||
10 | * <!-- end-user-doc --> | ||
11 | * | ||
12 | * | ||
13 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage#getReliabilityModel() | ||
14 | * @model abstract="true" | ||
15 | * @generated | ||
16 | */ | ||
17 | public interface ReliabilityModel extends EObject { | ||
18 | } // ReliabilityModel | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/BasicEventImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/BasicEventImpl.java index 8fd0f613..bbed7b00 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/BasicEventImpl.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/BasicEventImpl.java | |||
@@ -27,7 +27,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; | |||
27 | * | 27 | * |
28 | * @generated | 28 | * @generated |
29 | */ | 29 | */ |
30 | public class BasicEventImpl extends EventImpl implements BasicEvent { | 30 | public class BasicEventImpl extends RandomEventImpl implements BasicEvent { |
31 | /** | 31 | /** |
32 | * The cached value of the '{@link #getDistribution() <em>Distribution</em>}' containment reference. | 32 | * The cached value of the '{@link #getDistribution() <em>Distribution</em>}' containment reference. |
33 | * <!-- begin-user-doc --> | 33 | * <!-- begin-user-doc --> |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/ConstantEventImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/ConstantEventImpl.java new file mode 100644 index 00000000..fc7bcf09 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/ConstantEventImpl.java | |||
@@ -0,0 +1,164 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl; | ||
4 | |||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantEvent; | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage; | ||
7 | |||
8 | import org.eclipse.emf.common.notify.Notification; | ||
9 | |||
10 | import org.eclipse.emf.ecore.EClass; | ||
11 | |||
12 | import org.eclipse.emf.ecore.impl.ENotificationImpl; | ||
13 | |||
14 | /** | ||
15 | * <!-- begin-user-doc --> | ||
16 | * An implementation of the model object '<em><b>Constant Event</b></em>'. | ||
17 | * <!-- end-user-doc --> | ||
18 | * <p> | ||
19 | * The following features are implemented: | ||
20 | * </p> | ||
21 | * <ul> | ||
22 | * <li>{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.ConstantEventImpl#isFailed <em>Failed</em>}</li> | ||
23 | * </ul> | ||
24 | * | ||
25 | * @generated | ||
26 | */ | ||
27 | public class ConstantEventImpl extends EventImpl implements ConstantEvent { | ||
28 | /** | ||
29 | * The default value of the '{@link #isFailed() <em>Failed</em>}' attribute. | ||
30 | * <!-- begin-user-doc --> | ||
31 | * <!-- end-user-doc --> | ||
32 | * @see #isFailed() | ||
33 | * @generated | ||
34 | * @ordered | ||
35 | */ | ||
36 | protected static final boolean FAILED_EDEFAULT = false; | ||
37 | |||
38 | /** | ||
39 | * The cached value of the '{@link #isFailed() <em>Failed</em>}' attribute. | ||
40 | * <!-- begin-user-doc --> | ||
41 | * <!-- end-user-doc --> | ||
42 | * @see #isFailed() | ||
43 | * @generated | ||
44 | * @ordered | ||
45 | */ | ||
46 | protected boolean failed = FAILED_EDEFAULT; | ||
47 | |||
48 | /** | ||
49 | * <!-- begin-user-doc --> | ||
50 | * <!-- end-user-doc --> | ||
51 | * @generated | ||
52 | */ | ||
53 | protected ConstantEventImpl() { | ||
54 | super(); | ||
55 | } | ||
56 | |||
57 | /** | ||
58 | * <!-- begin-user-doc --> | ||
59 | * <!-- end-user-doc --> | ||
60 | * @generated | ||
61 | */ | ||
62 | @Override | ||
63 | protected EClass eStaticClass() { | ||
64 | return FtPackage.Literals.CONSTANT_EVENT; | ||
65 | } | ||
66 | |||
67 | /** | ||
68 | * <!-- begin-user-doc --> | ||
69 | * <!-- end-user-doc --> | ||
70 | * @generated | ||
71 | */ | ||
72 | @Override | ||
73 | public boolean isFailed() { | ||
74 | return failed; | ||
75 | } | ||
76 | |||
77 | /** | ||
78 | * <!-- begin-user-doc --> | ||
79 | * <!-- end-user-doc --> | ||
80 | * @generated | ||
81 | */ | ||
82 | @Override | ||
83 | public void setFailed(boolean newFailed) { | ||
84 | boolean oldFailed = failed; | ||
85 | failed = newFailed; | ||
86 | if (eNotificationRequired()) | ||
87 | eNotify(new ENotificationImpl(this, Notification.SET, FtPackage.CONSTANT_EVENT__FAILED, oldFailed, failed)); | ||
88 | } | ||
89 | |||
90 | /** | ||
91 | * <!-- begin-user-doc --> | ||
92 | * <!-- end-user-doc --> | ||
93 | * @generated | ||
94 | */ | ||
95 | @Override | ||
96 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | ||
97 | switch (featureID) { | ||
98 | case FtPackage.CONSTANT_EVENT__FAILED: | ||
99 | return isFailed(); | ||
100 | } | ||
101 | return super.eGet(featureID, resolve, coreType); | ||
102 | } | ||
103 | |||
104 | /** | ||
105 | * <!-- begin-user-doc --> | ||
106 | * <!-- end-user-doc --> | ||
107 | * @generated | ||
108 | */ | ||
109 | @Override | ||
110 | public void eSet(int featureID, Object newValue) { | ||
111 | switch (featureID) { | ||
112 | case FtPackage.CONSTANT_EVENT__FAILED: | ||
113 | setFailed((Boolean)newValue); | ||
114 | return; | ||
115 | } | ||
116 | super.eSet(featureID, newValue); | ||
117 | } | ||
118 | |||
119 | /** | ||
120 | * <!-- begin-user-doc --> | ||
121 | * <!-- end-user-doc --> | ||
122 | * @generated | ||
123 | */ | ||
124 | @Override | ||
125 | public void eUnset(int featureID) { | ||
126 | switch (featureID) { | ||
127 | case FtPackage.CONSTANT_EVENT__FAILED: | ||
128 | setFailed(FAILED_EDEFAULT); | ||
129 | return; | ||
130 | } | ||
131 | super.eUnset(featureID); | ||
132 | } | ||
133 | |||
134 | /** | ||
135 | * <!-- begin-user-doc --> | ||
136 | * <!-- end-user-doc --> | ||
137 | * @generated | ||
138 | */ | ||
139 | @Override | ||
140 | public boolean eIsSet(int featureID) { | ||
141 | switch (featureID) { | ||
142 | case FtPackage.CONSTANT_EVENT__FAILED: | ||
143 | return failed != FAILED_EDEFAULT; | ||
144 | } | ||
145 | return super.eIsSet(featureID); | ||
146 | } | ||
147 | |||
148 | /** | ||
149 | * <!-- begin-user-doc --> | ||
150 | * <!-- end-user-doc --> | ||
151 | * @generated | ||
152 | */ | ||
153 | @Override | ||
154 | public String toString() { | ||
155 | if (eIsProxy()) return super.toString(); | ||
156 | |||
157 | StringBuilder result = new StringBuilder(super.toString()); | ||
158 | result.append(" (failed: "); | ||
159 | result.append(failed); | ||
160 | result.append(')'); | ||
161 | return result.toString(); | ||
162 | } | ||
163 | |||
164 | } //ConstantEventImpl | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/ConstantModelImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/ConstantModelImpl.java new file mode 100644 index 00000000..52e1605b --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/ConstantModelImpl.java | |||
@@ -0,0 +1,164 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl; | ||
4 | |||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantModel; | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage; | ||
7 | |||
8 | import org.eclipse.emf.common.notify.Notification; | ||
9 | |||
10 | import org.eclipse.emf.ecore.EClass; | ||
11 | |||
12 | import org.eclipse.emf.ecore.impl.ENotificationImpl; | ||
13 | |||
14 | /** | ||
15 | * <!-- begin-user-doc --> | ||
16 | * An implementation of the model object '<em><b>Constant Model</b></em>'. | ||
17 | * <!-- end-user-doc --> | ||
18 | * <p> | ||
19 | * The following features are implemented: | ||
20 | * </p> | ||
21 | * <ul> | ||
22 | * <li>{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.ConstantModelImpl#isFailed <em>Failed</em>}</li> | ||
23 | * </ul> | ||
24 | * | ||
25 | * @generated | ||
26 | */ | ||
27 | public class ConstantModelImpl extends ReliabilityModelImpl implements ConstantModel { | ||
28 | /** | ||
29 | * The default value of the '{@link #isFailed() <em>Failed</em>}' attribute. | ||
30 | * <!-- begin-user-doc --> | ||
31 | * <!-- end-user-doc --> | ||
32 | * @see #isFailed() | ||
33 | * @generated | ||
34 | * @ordered | ||
35 | */ | ||
36 | protected static final boolean FAILED_EDEFAULT = false; | ||
37 | |||
38 | /** | ||
39 | * The cached value of the '{@link #isFailed() <em>Failed</em>}' attribute. | ||
40 | * <!-- begin-user-doc --> | ||
41 | * <!-- end-user-doc --> | ||
42 | * @see #isFailed() | ||
43 | * @generated | ||
44 | * @ordered | ||
45 | */ | ||
46 | protected boolean failed = FAILED_EDEFAULT; | ||
47 | |||
48 | /** | ||
49 | * <!-- begin-user-doc --> | ||
50 | * <!-- end-user-doc --> | ||
51 | * @generated | ||
52 | */ | ||
53 | protected ConstantModelImpl() { | ||
54 | super(); | ||
55 | } | ||
56 | |||
57 | /** | ||
58 | * <!-- begin-user-doc --> | ||
59 | * <!-- end-user-doc --> | ||
60 | * @generated | ||
61 | */ | ||
62 | @Override | ||
63 | protected EClass eStaticClass() { | ||
64 | return FtPackage.Literals.CONSTANT_MODEL; | ||
65 | } | ||
66 | |||
67 | /** | ||
68 | * <!-- begin-user-doc --> | ||
69 | * <!-- end-user-doc --> | ||
70 | * @generated | ||
71 | */ | ||
72 | @Override | ||
73 | public boolean isFailed() { | ||
74 | return failed; | ||
75 | } | ||
76 | |||
77 | /** | ||
78 | * <!-- begin-user-doc --> | ||
79 | * <!-- end-user-doc --> | ||
80 | * @generated | ||
81 | */ | ||
82 | @Override | ||
83 | public void setFailed(boolean newFailed) { | ||
84 | boolean oldFailed = failed; | ||
85 | failed = newFailed; | ||
86 | if (eNotificationRequired()) | ||
87 | eNotify(new ENotificationImpl(this, Notification.SET, FtPackage.CONSTANT_MODEL__FAILED, oldFailed, failed)); | ||
88 | } | ||
89 | |||
90 | /** | ||
91 | * <!-- begin-user-doc --> | ||
92 | * <!-- end-user-doc --> | ||
93 | * @generated | ||
94 | */ | ||
95 | @Override | ||
96 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | ||
97 | switch (featureID) { | ||
98 | case FtPackage.CONSTANT_MODEL__FAILED: | ||
99 | return isFailed(); | ||
100 | } | ||
101 | return super.eGet(featureID, resolve, coreType); | ||
102 | } | ||
103 | |||
104 | /** | ||
105 | * <!-- begin-user-doc --> | ||
106 | * <!-- end-user-doc --> | ||
107 | * @generated | ||
108 | */ | ||
109 | @Override | ||
110 | public void eSet(int featureID, Object newValue) { | ||
111 | switch (featureID) { | ||
112 | case FtPackage.CONSTANT_MODEL__FAILED: | ||
113 | setFailed((Boolean)newValue); | ||
114 | return; | ||
115 | } | ||
116 | super.eSet(featureID, newValue); | ||
117 | } | ||
118 | |||
119 | /** | ||
120 | * <!-- begin-user-doc --> | ||
121 | * <!-- end-user-doc --> | ||
122 | * @generated | ||
123 | */ | ||
124 | @Override | ||
125 | public void eUnset(int featureID) { | ||
126 | switch (featureID) { | ||
127 | case FtPackage.CONSTANT_MODEL__FAILED: | ||
128 | setFailed(FAILED_EDEFAULT); | ||
129 | return; | ||
130 | } | ||
131 | super.eUnset(featureID); | ||
132 | } | ||
133 | |||
134 | /** | ||
135 | * <!-- begin-user-doc --> | ||
136 | * <!-- end-user-doc --> | ||
137 | * @generated | ||
138 | */ | ||
139 | @Override | ||
140 | public boolean eIsSet(int featureID) { | ||
141 | switch (featureID) { | ||
142 | case FtPackage.CONSTANT_MODEL__FAILED: | ||
143 | return failed != FAILED_EDEFAULT; | ||
144 | } | ||
145 | return super.eIsSet(featureID); | ||
146 | } | ||
147 | |||
148 | /** | ||
149 | * <!-- begin-user-doc --> | ||
150 | * <!-- end-user-doc --> | ||
151 | * @generated | ||
152 | */ | ||
153 | @Override | ||
154 | public String toString() { | ||
155 | if (eIsProxy()) return super.toString(); | ||
156 | |||
157 | StringBuilder result = new StringBuilder(super.toString()); | ||
158 | result.append(" (failed: "); | ||
159 | result.append(failed); | ||
160 | result.append(')'); | ||
161 | return result.toString(); | ||
162 | } | ||
163 | |||
164 | } //ConstantModelImpl | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/EventImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/EventImpl.java index 44ac0eb6..b37fa6bd 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/EventImpl.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/EventImpl.java | |||
@@ -5,48 +5,19 @@ package hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl; | |||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event; | 5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event; |
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage; | 6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage; |
7 | 7 | ||
8 | import org.eclipse.emf.common.notify.Notification; | ||
9 | |||
10 | import org.eclipse.emf.ecore.EClass; | 8 | import org.eclipse.emf.ecore.EClass; |
11 | 9 | ||
12 | import org.eclipse.emf.ecore.impl.ENotificationImpl; | ||
13 | import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; | 10 | import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; |
14 | 11 | ||
15 | /** | 12 | /** |
16 | * <!-- begin-user-doc --> | 13 | * <!-- begin-user-doc --> |
17 | * An implementation of the model object '<em><b>Event</b></em>'. | 14 | * An implementation of the model object '<em><b>Event</b></em>'. |
18 | * <!-- end-user-doc --> | 15 | * <!-- end-user-doc --> |
19 | * <p> | ||
20 | * The following features are implemented: | ||
21 | * </p> | ||
22 | * <ul> | ||
23 | * <li>{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.EventImpl#getName <em>Name</em>}</li> | ||
24 | * </ul> | ||
25 | * | 16 | * |
26 | * @generated | 17 | * @generated |
27 | */ | 18 | */ |
28 | public abstract class EventImpl extends MinimalEObjectImpl.Container implements Event { | 19 | public abstract class EventImpl extends MinimalEObjectImpl.Container implements Event { |
29 | /** | 20 | /** |
30 | * The default value of the '{@link #getName() <em>Name</em>}' attribute. | ||
31 | * <!-- begin-user-doc --> | ||
32 | * <!-- end-user-doc --> | ||
33 | * @see #getName() | ||
34 | * @generated | ||
35 | * @ordered | ||
36 | */ | ||
37 | protected static final String NAME_EDEFAULT = null; | ||
38 | |||
39 | /** | ||
40 | * The cached value of the '{@link #getName() <em>Name</em>}' attribute. | ||
41 | * <!-- begin-user-doc --> | ||
42 | * <!-- end-user-doc --> | ||
43 | * @see #getName() | ||
44 | * @generated | ||
45 | * @ordered | ||
46 | */ | ||
47 | protected String name = NAME_EDEFAULT; | ||
48 | |||
49 | /** | ||
50 | * <!-- begin-user-doc --> | 21 | * <!-- begin-user-doc --> |
51 | * <!-- end-user-doc --> | 22 | * <!-- end-user-doc --> |
52 | * @generated | 23 | * @generated |
@@ -65,101 +36,4 @@ public abstract class EventImpl extends MinimalEObjectImpl.Container implements | |||
65 | return FtPackage.Literals.EVENT; | 36 | return FtPackage.Literals.EVENT; |
66 | } | 37 | } |
67 | 38 | ||
68 | /** | ||
69 | * <!-- begin-user-doc --> | ||
70 | * <!-- end-user-doc --> | ||
71 | * @generated | ||
72 | */ | ||
73 | @Override | ||
74 | public String getName() { | ||
75 | return name; | ||
76 | } | ||
77 | |||
78 | /** | ||
79 | * <!-- begin-user-doc --> | ||
80 | * <!-- end-user-doc --> | ||
81 | * @generated | ||
82 | */ | ||
83 | @Override | ||
84 | public void setName(String newName) { | ||
85 | String oldName = name; | ||
86 | name = newName; | ||
87 | if (eNotificationRequired()) | ||
88 | eNotify(new ENotificationImpl(this, Notification.SET, FtPackage.EVENT__NAME, oldName, name)); | ||
89 | } | ||
90 | |||
91 | /** | ||
92 | * <!-- begin-user-doc --> | ||
93 | * <!-- end-user-doc --> | ||
94 | * @generated | ||
95 | */ | ||
96 | @Override | ||
97 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | ||
98 | switch (featureID) { | ||
99 | case FtPackage.EVENT__NAME: | ||
100 | return getName(); | ||
101 | } | ||
102 | return super.eGet(featureID, resolve, coreType); | ||
103 | } | ||
104 | |||
105 | /** | ||
106 | * <!-- begin-user-doc --> | ||
107 | * <!-- end-user-doc --> | ||
108 | * @generated | ||
109 | */ | ||
110 | @Override | ||
111 | public void eSet(int featureID, Object newValue) { | ||
112 | switch (featureID) { | ||
113 | case FtPackage.EVENT__NAME: | ||
114 | setName((String)newValue); | ||
115 | return; | ||
116 | } | ||
117 | super.eSet(featureID, newValue); | ||
118 | } | ||
119 | |||
120 | /** | ||
121 | * <!-- begin-user-doc --> | ||
122 | * <!-- end-user-doc --> | ||
123 | * @generated | ||
124 | */ | ||
125 | @Override | ||
126 | public void eUnset(int featureID) { | ||
127 | switch (featureID) { | ||
128 | case FtPackage.EVENT__NAME: | ||
129 | setName(NAME_EDEFAULT); | ||
130 | return; | ||
131 | } | ||
132 | super.eUnset(featureID); | ||
133 | } | ||
134 | |||
135 | /** | ||
136 | * <!-- begin-user-doc --> | ||
137 | * <!-- end-user-doc --> | ||
138 | * @generated | ||
139 | */ | ||
140 | @Override | ||
141 | public boolean eIsSet(int featureID) { | ||
142 | switch (featureID) { | ||
143 | case FtPackage.EVENT__NAME: | ||
144 | return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); | ||
145 | } | ||
146 | return super.eIsSet(featureID); | ||
147 | } | ||
148 | |||
149 | /** | ||
150 | * <!-- begin-user-doc --> | ||
151 | * <!-- end-user-doc --> | ||
152 | * @generated | ||
153 | */ | ||
154 | @Override | ||
155 | public String toString() { | ||
156 | if (eIsProxy()) return super.toString(); | ||
157 | |||
158 | StringBuilder result = new StringBuilder(super.toString()); | ||
159 | result.append(" (name: "); | ||
160 | result.append(name); | ||
161 | result.append(')'); | ||
162 | return result.toString(); | ||
163 | } | ||
164 | |||
165 | } //EventImpl | 39 | } //EventImpl |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/FaultTreeImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/FaultTreeImpl.java index 9c716c21..23f1d056 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/FaultTreeImpl.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/FaultTreeImpl.java | |||
@@ -2,9 +2,9 @@ | |||
2 | */ | 2 | */ |
3 | package hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl; | 3 | package hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl; |
4 | 4 | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event; | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FaultTree; | 5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FaultTree; |
7 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage; | 6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage; |
7 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent; | ||
8 | 8 | ||
9 | import java.util.Collection; | 9 | import java.util.Collection; |
10 | 10 | ||
@@ -17,7 +17,6 @@ import org.eclipse.emf.ecore.EClass; | |||
17 | import org.eclipse.emf.ecore.InternalEObject; | 17 | import org.eclipse.emf.ecore.InternalEObject; |
18 | 18 | ||
19 | import org.eclipse.emf.ecore.impl.ENotificationImpl; | 19 | import org.eclipse.emf.ecore.impl.ENotificationImpl; |
20 | import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; | ||
21 | 20 | ||
22 | import org.eclipse.emf.ecore.util.EObjectContainmentEList; | 21 | import org.eclipse.emf.ecore.util.EObjectContainmentEList; |
23 | import org.eclipse.emf.ecore.util.InternalEList; | 22 | import org.eclipse.emf.ecore.util.InternalEList; |
@@ -36,7 +35,7 @@ import org.eclipse.emf.ecore.util.InternalEList; | |||
36 | * | 35 | * |
37 | * @generated | 36 | * @generated |
38 | */ | 37 | */ |
39 | public class FaultTreeImpl extends MinimalEObjectImpl.Container implements FaultTree { | 38 | public class FaultTreeImpl extends ReliabilityModelImpl implements FaultTree { |
40 | /** | 39 | /** |
41 | * The cached value of the '{@link #getEvents() <em>Events</em>}' containment reference list. | 40 | * The cached value of the '{@link #getEvents() <em>Events</em>}' containment reference list. |
42 | * <!-- begin-user-doc --> | 41 | * <!-- begin-user-doc --> |
@@ -45,7 +44,7 @@ public class FaultTreeImpl extends MinimalEObjectImpl.Container implements Fault | |||
45 | * @generated | 44 | * @generated |
46 | * @ordered | 45 | * @ordered |
47 | */ | 46 | */ |
48 | protected EList<Event> events; | 47 | protected EList<RandomEvent> events; |
49 | 48 | ||
50 | /** | 49 | /** |
51 | * The cached value of the '{@link #getTopEvent() <em>Top Event</em>}' reference. | 50 | * The cached value of the '{@link #getTopEvent() <em>Top Event</em>}' reference. |
@@ -55,7 +54,7 @@ public class FaultTreeImpl extends MinimalEObjectImpl.Container implements Fault | |||
55 | * @generated | 54 | * @generated |
56 | * @ordered | 55 | * @ordered |
57 | */ | 56 | */ |
58 | protected Event topEvent; | 57 | protected RandomEvent topEvent; |
59 | 58 | ||
60 | /** | 59 | /** |
61 | * <!-- begin-user-doc --> | 60 | * <!-- begin-user-doc --> |
@@ -82,9 +81,9 @@ public class FaultTreeImpl extends MinimalEObjectImpl.Container implements Fault | |||
82 | * @generated | 81 | * @generated |
83 | */ | 82 | */ |
84 | @Override | 83 | @Override |
85 | public EList<Event> getEvents() { | 84 | public EList<RandomEvent> getEvents() { |
86 | if (events == null) { | 85 | if (events == null) { |
87 | events = new EObjectContainmentEList<Event>(Event.class, this, FtPackage.FAULT_TREE__EVENTS); | 86 | events = new EObjectContainmentEList<RandomEvent>(RandomEvent.class, this, FtPackage.FAULT_TREE__EVENTS); |
88 | } | 87 | } |
89 | return events; | 88 | return events; |
90 | } | 89 | } |
@@ -95,10 +94,10 @@ public class FaultTreeImpl extends MinimalEObjectImpl.Container implements Fault | |||
95 | * @generated | 94 | * @generated |
96 | */ | 95 | */ |
97 | @Override | 96 | @Override |
98 | public Event getTopEvent() { | 97 | public RandomEvent getTopEvent() { |
99 | if (topEvent != null && topEvent.eIsProxy()) { | 98 | if (topEvent != null && topEvent.eIsProxy()) { |
100 | InternalEObject oldTopEvent = (InternalEObject)topEvent; | 99 | InternalEObject oldTopEvent = (InternalEObject)topEvent; |
101 | topEvent = (Event)eResolveProxy(oldTopEvent); | 100 | topEvent = (RandomEvent)eResolveProxy(oldTopEvent); |
102 | if (topEvent != oldTopEvent) { | 101 | if (topEvent != oldTopEvent) { |
103 | if (eNotificationRequired()) | 102 | if (eNotificationRequired()) |
104 | eNotify(new ENotificationImpl(this, Notification.RESOLVE, FtPackage.FAULT_TREE__TOP_EVENT, oldTopEvent, topEvent)); | 103 | eNotify(new ENotificationImpl(this, Notification.RESOLVE, FtPackage.FAULT_TREE__TOP_EVENT, oldTopEvent, topEvent)); |
@@ -112,7 +111,7 @@ public class FaultTreeImpl extends MinimalEObjectImpl.Container implements Fault | |||
112 | * <!-- end-user-doc --> | 111 | * <!-- end-user-doc --> |
113 | * @generated | 112 | * @generated |
114 | */ | 113 | */ |
115 | public Event basicGetTopEvent() { | 114 | public RandomEvent basicGetTopEvent() { |
116 | return topEvent; | 115 | return topEvent; |
117 | } | 116 | } |
118 | 117 | ||
@@ -122,8 +121,8 @@ public class FaultTreeImpl extends MinimalEObjectImpl.Container implements Fault | |||
122 | * @generated | 121 | * @generated |
123 | */ | 122 | */ |
124 | @Override | 123 | @Override |
125 | public void setTopEvent(Event newTopEvent) { | 124 | public void setTopEvent(RandomEvent newTopEvent) { |
126 | Event oldTopEvent = topEvent; | 125 | RandomEvent oldTopEvent = topEvent; |
127 | topEvent = newTopEvent; | 126 | topEvent = newTopEvent; |
128 | if (eNotificationRequired()) | 127 | if (eNotificationRequired()) |
129 | eNotify(new ENotificationImpl(this, Notification.SET, FtPackage.FAULT_TREE__TOP_EVENT, oldTopEvent, topEvent)); | 128 | eNotify(new ENotificationImpl(this, Notification.SET, FtPackage.FAULT_TREE__TOP_EVENT, oldTopEvent, topEvent)); |
@@ -171,10 +170,10 @@ public class FaultTreeImpl extends MinimalEObjectImpl.Container implements Fault | |||
171 | switch (featureID) { | 170 | switch (featureID) { |
172 | case FtPackage.FAULT_TREE__EVENTS: | 171 | case FtPackage.FAULT_TREE__EVENTS: |
173 | getEvents().clear(); | 172 | getEvents().clear(); |
174 | getEvents().addAll((Collection<? extends Event>)newValue); | 173 | getEvents().addAll((Collection<? extends RandomEvent>)newValue); |
175 | return; | 174 | return; |
176 | case FtPackage.FAULT_TREE__TOP_EVENT: | 175 | case FtPackage.FAULT_TREE__TOP_EVENT: |
177 | setTopEvent((Event)newValue); | 176 | setTopEvent((RandomEvent)newValue); |
178 | return; | 177 | return; |
179 | } | 178 | } |
180 | super.eSet(featureID, newValue); | 179 | super.eSet(featureID, newValue); |
@@ -192,7 +191,7 @@ public class FaultTreeImpl extends MinimalEObjectImpl.Container implements Fault | |||
192 | getEvents().clear(); | 191 | getEvents().clear(); |
193 | return; | 192 | return; |
194 | case FtPackage.FAULT_TREE__TOP_EVENT: | 193 | case FtPackage.FAULT_TREE__TOP_EVENT: |
195 | setTopEvent((Event)null); | 194 | setTopEvent((RandomEvent)null); |
196 | return; | 195 | return; |
197 | } | 196 | } |
198 | super.eUnset(featureID); | 197 | super.eUnset(featureID); |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/FtFactoryImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/FtFactoryImpl.java index 59364443..126abed8 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/FtFactoryImpl.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/FtFactoryImpl.java | |||
@@ -63,6 +63,8 @@ public class FtFactoryImpl extends EFactoryImpl implements FtFactory { | |||
63 | case FtPackage.AND_GATE: return createAndGate(); | 63 | case FtPackage.AND_GATE: return createAndGate(); |
64 | case FtPackage.OR_GATE: return createOrGate(); | 64 | case FtPackage.OR_GATE: return createOrGate(); |
65 | case FtPackage.KOF_MGATE: return createKOfMGate(); | 65 | case FtPackage.KOF_MGATE: return createKOfMGate(); |
66 | case FtPackage.CONSTANT_MODEL: return createConstantModel(); | ||
67 | case FtPackage.CONSTANT_EVENT: return createConstantEvent(); | ||
66 | default: | 68 | default: |
67 | throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); | 69 | throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); |
68 | } | 70 | } |
@@ -151,6 +153,28 @@ public class FtFactoryImpl extends EFactoryImpl implements FtFactory { | |||
151 | * @generated | 153 | * @generated |
152 | */ | 154 | */ |
153 | @Override | 155 | @Override |
156 | public ConstantModel createConstantModel() { | ||
157 | ConstantModelImpl constantModel = new ConstantModelImpl(); | ||
158 | return constantModel; | ||
159 | } | ||
160 | |||
161 | /** | ||
162 | * <!-- begin-user-doc --> | ||
163 | * <!-- end-user-doc --> | ||
164 | * @generated | ||
165 | */ | ||
166 | @Override | ||
167 | public ConstantEvent createConstantEvent() { | ||
168 | ConstantEventImpl constantEvent = new ConstantEventImpl(); | ||
169 | return constantEvent; | ||
170 | } | ||
171 | |||
172 | /** | ||
173 | * <!-- begin-user-doc --> | ||
174 | * <!-- end-user-doc --> | ||
175 | * @generated | ||
176 | */ | ||
177 | @Override | ||
154 | public FtPackage getFtPackage() { | 178 | public FtPackage getFtPackage() { |
155 | return (FtPackage)getEPackage(); | 179 | return (FtPackage)getEPackage(); |
156 | } | 180 | } |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/FtPackageImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/FtPackageImpl.java index 27ff09df..cc2c0617 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/FtPackageImpl.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/FtPackageImpl.java | |||
@@ -5,6 +5,8 @@ package hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl; | |||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.AndGate; | 5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.AndGate; |
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.BasicEvent; | 6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.BasicEvent; |
7 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantDistribution; | 7 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantDistribution; |
8 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantEvent; | ||
9 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantModel; | ||
8 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Distribution; | 10 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Distribution; |
9 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event; | 11 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event; |
10 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ExponentialDistribution; | 12 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ExponentialDistribution; |
@@ -14,6 +16,8 @@ import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage; | |||
14 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Gate; | 16 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Gate; |
15 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.KOfMGate; | 17 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.KOfMGate; |
16 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.OrGate; | 18 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.OrGate; |
19 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent; | ||
20 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ReliabilityModel; | ||
17 | 21 | ||
18 | import org.eclipse.emf.ecore.EAttribute; | 22 | import org.eclipse.emf.ecore.EAttribute; |
19 | import org.eclipse.emf.ecore.EClass; | 23 | import org.eclipse.emf.ecore.EClass; |
@@ -41,7 +45,7 @@ public class FtPackageImpl extends EPackageImpl implements FtPackage { | |||
41 | * <!-- end-user-doc --> | 45 | * <!-- end-user-doc --> |
42 | * @generated | 46 | * @generated |
43 | */ | 47 | */ |
44 | private EClass eventEClass = null; | 48 | private EClass randomEventEClass = null; |
45 | 49 | ||
46 | /** | 50 | /** |
47 | * <!-- begin-user-doc --> | 51 | * <!-- begin-user-doc --> |
@@ -100,6 +104,34 @@ public class FtPackageImpl extends EPackageImpl implements FtPackage { | |||
100 | private EClass kOfMGateEClass = null; | 104 | private EClass kOfMGateEClass = null; |
101 | 105 | ||
102 | /** | 106 | /** |
107 | * <!-- begin-user-doc --> | ||
108 | * <!-- end-user-doc --> | ||
109 | * @generated | ||
110 | */ | ||
111 | private EClass reliabilityModelEClass = null; | ||
112 | |||
113 | /** | ||
114 | * <!-- begin-user-doc --> | ||
115 | * <!-- end-user-doc --> | ||
116 | * @generated | ||
117 | */ | ||
118 | private EClass constantModelEClass = null; | ||
119 | |||
120 | /** | ||
121 | * <!-- begin-user-doc --> | ||
122 | * <!-- end-user-doc --> | ||
123 | * @generated | ||
124 | */ | ||
125 | private EClass eventEClass = null; | ||
126 | |||
127 | /** | ||
128 | * <!-- begin-user-doc --> | ||
129 | * <!-- end-user-doc --> | ||
130 | * @generated | ||
131 | */ | ||
132 | private EClass constantEventEClass = null; | ||
133 | |||
134 | /** | ||
103 | * Creates an instance of the model <b>Package</b>, registered with | 135 | * Creates an instance of the model <b>Package</b>, registered with |
104 | * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package | 136 | * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package |
105 | * package URI value. | 137 | * package URI value. |
@@ -196,8 +228,8 @@ public class FtPackageImpl extends EPackageImpl implements FtPackage { | |||
196 | * @generated | 228 | * @generated |
197 | */ | 229 | */ |
198 | @Override | 230 | @Override |
199 | public EClass getEvent() { | 231 | public EClass getRandomEvent() { |
200 | return eventEClass; | 232 | return randomEventEClass; |
201 | } | 233 | } |
202 | 234 | ||
203 | /** | 235 | /** |
@@ -206,8 +238,8 @@ public class FtPackageImpl extends EPackageImpl implements FtPackage { | |||
206 | * @generated | 238 | * @generated |
207 | */ | 239 | */ |
208 | @Override | 240 | @Override |
209 | public EAttribute getEvent_Name() { | 241 | public EAttribute getRandomEvent_Name() { |
210 | return (EAttribute)eventEClass.getEStructuralFeatures().get(0); | 242 | return (EAttribute)randomEventEClass.getEStructuralFeatures().get(0); |
211 | } | 243 | } |
212 | 244 | ||
213 | /** | 245 | /** |
@@ -346,8 +378,58 @@ public class FtPackageImpl extends EPackageImpl implements FtPackage { | |||
346 | * @generated | 378 | * @generated |
347 | */ | 379 | */ |
348 | @Override | 380 | @Override |
349 | public EAttribute getKOfMGate_M() { | 381 | public EClass getReliabilityModel() { |
350 | return (EAttribute)kOfMGateEClass.getEStructuralFeatures().get(1); | 382 | return reliabilityModelEClass; |
383 | } | ||
384 | |||
385 | /** | ||
386 | * <!-- begin-user-doc --> | ||
387 | * <!-- end-user-doc --> | ||
388 | * @generated | ||
389 | */ | ||
390 | @Override | ||
391 | public EClass getConstantModel() { | ||
392 | return constantModelEClass; | ||
393 | } | ||
394 | |||
395 | /** | ||
396 | * <!-- begin-user-doc --> | ||
397 | * <!-- end-user-doc --> | ||
398 | * @generated | ||
399 | */ | ||
400 | @Override | ||
401 | public EAttribute getConstantModel_Failed() { | ||
402 | return (EAttribute)constantModelEClass.getEStructuralFeatures().get(0); | ||
403 | } | ||
404 | |||
405 | /** | ||
406 | * <!-- begin-user-doc --> | ||
407 | * <!-- end-user-doc --> | ||
408 | * @generated | ||
409 | */ | ||
410 | @Override | ||
411 | public EClass getEvent() { | ||
412 | return eventEClass; | ||
413 | } | ||
414 | |||
415 | /** | ||
416 | * <!-- begin-user-doc --> | ||
417 | * <!-- end-user-doc --> | ||
418 | * @generated | ||
419 | */ | ||
420 | @Override | ||
421 | public EClass getConstantEvent() { | ||
422 | return constantEventEClass; | ||
423 | } | ||
424 | |||
425 | /** | ||
426 | * <!-- begin-user-doc --> | ||
427 | * <!-- end-user-doc --> | ||
428 | * @generated | ||
429 | */ | ||
430 | @Override | ||
431 | public EAttribute getConstantEvent_Failed() { | ||
432 | return (EAttribute)constantEventEClass.getEStructuralFeatures().get(0); | ||
351 | } | 433 | } |
352 | 434 | ||
353 | /** | 435 | /** |
@@ -383,8 +465,8 @@ public class FtPackageImpl extends EPackageImpl implements FtPackage { | |||
383 | createEReference(faultTreeEClass, FAULT_TREE__EVENTS); | 465 | createEReference(faultTreeEClass, FAULT_TREE__EVENTS); |
384 | createEReference(faultTreeEClass, FAULT_TREE__TOP_EVENT); | 466 | createEReference(faultTreeEClass, FAULT_TREE__TOP_EVENT); |
385 | 467 | ||
386 | eventEClass = createEClass(EVENT); | 468 | randomEventEClass = createEClass(RANDOM_EVENT); |
387 | createEAttribute(eventEClass, EVENT__NAME); | 469 | createEAttribute(randomEventEClass, RANDOM_EVENT__NAME); |
388 | 470 | ||
389 | basicEventEClass = createEClass(BASIC_EVENT); | 471 | basicEventEClass = createEClass(BASIC_EVENT); |
390 | createEReference(basicEventEClass, BASIC_EVENT__DISTRIBUTION); | 472 | createEReference(basicEventEClass, BASIC_EVENT__DISTRIBUTION); |
@@ -406,7 +488,16 @@ public class FtPackageImpl extends EPackageImpl implements FtPackage { | |||
406 | 488 | ||
407 | kOfMGateEClass = createEClass(KOF_MGATE); | 489 | kOfMGateEClass = createEClass(KOF_MGATE); |
408 | createEAttribute(kOfMGateEClass, KOF_MGATE__K); | 490 | createEAttribute(kOfMGateEClass, KOF_MGATE__K); |
409 | createEAttribute(kOfMGateEClass, KOF_MGATE__M); | 491 | |
492 | reliabilityModelEClass = createEClass(RELIABILITY_MODEL); | ||
493 | |||
494 | constantModelEClass = createEClass(CONSTANT_MODEL); | ||
495 | createEAttribute(constantModelEClass, CONSTANT_MODEL__FAILED); | ||
496 | |||
497 | eventEClass = createEClass(EVENT); | ||
498 | |||
499 | constantEventEClass = createEClass(CONSTANT_EVENT); | ||
500 | createEAttribute(constantEventEClass, CONSTANT_EVENT__FAILED); | ||
410 | } | 501 | } |
411 | 502 | ||
412 | /** | 503 | /** |
@@ -437,27 +528,31 @@ public class FtPackageImpl extends EPackageImpl implements FtPackage { | |||
437 | // Set bounds for type parameters | 528 | // Set bounds for type parameters |
438 | 529 | ||
439 | // Add supertypes to classes | 530 | // Add supertypes to classes |
440 | basicEventEClass.getESuperTypes().add(this.getEvent()); | 531 | faultTreeEClass.getESuperTypes().add(this.getReliabilityModel()); |
441 | gateEClass.getESuperTypes().add(this.getEvent()); | 532 | randomEventEClass.getESuperTypes().add(this.getEvent()); |
533 | basicEventEClass.getESuperTypes().add(this.getRandomEvent()); | ||
534 | gateEClass.getESuperTypes().add(this.getRandomEvent()); | ||
442 | constantDistributionEClass.getESuperTypes().add(this.getDistribution()); | 535 | constantDistributionEClass.getESuperTypes().add(this.getDistribution()); |
443 | exponentialDistributionEClass.getESuperTypes().add(this.getDistribution()); | 536 | exponentialDistributionEClass.getESuperTypes().add(this.getDistribution()); |
444 | andGateEClass.getESuperTypes().add(this.getGate()); | 537 | andGateEClass.getESuperTypes().add(this.getGate()); |
445 | orGateEClass.getESuperTypes().add(this.getGate()); | 538 | orGateEClass.getESuperTypes().add(this.getGate()); |
446 | kOfMGateEClass.getESuperTypes().add(this.getGate()); | 539 | kOfMGateEClass.getESuperTypes().add(this.getGate()); |
540 | constantModelEClass.getESuperTypes().add(this.getReliabilityModel()); | ||
541 | constantEventEClass.getESuperTypes().add(this.getEvent()); | ||
447 | 542 | ||
448 | // Initialize classes, features, and operations; add parameters | 543 | // Initialize classes, features, and operations; add parameters |
449 | initEClass(faultTreeEClass, FaultTree.class, "FaultTree", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | 544 | initEClass(faultTreeEClass, FaultTree.class, "FaultTree", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
450 | initEReference(getFaultTree_Events(), this.getEvent(), null, "events", null, 0, -1, FaultTree.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 545 | initEReference(getFaultTree_Events(), this.getRandomEvent(), null, "events", null, 0, -1, FaultTree.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
451 | initEReference(getFaultTree_TopEvent(), this.getEvent(), null, "topEvent", null, 1, 1, FaultTree.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 546 | initEReference(getFaultTree_TopEvent(), this.getRandomEvent(), null, "topEvent", null, 1, 1, FaultTree.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
452 | 547 | ||
453 | initEClass(eventEClass, Event.class, "Event", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | 548 | initEClass(randomEventEClass, RandomEvent.class, "RandomEvent", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
454 | initEAttribute(getEvent_Name(), ecorePackage.getEString(), "name", null, 0, 1, Event.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 549 | initEAttribute(getRandomEvent_Name(), ecorePackage.getEString(), "name", null, 0, 1, RandomEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
455 | 550 | ||
456 | initEClass(basicEventEClass, BasicEvent.class, "BasicEvent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | 551 | initEClass(basicEventEClass, BasicEvent.class, "BasicEvent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
457 | initEReference(getBasicEvent_Distribution(), this.getDistribution(), null, "distribution", null, 1, 1, BasicEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 552 | initEReference(getBasicEvent_Distribution(), this.getDistribution(), null, "distribution", null, 1, 1, BasicEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
458 | 553 | ||
459 | initEClass(gateEClass, Gate.class, "Gate", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | 554 | initEClass(gateEClass, Gate.class, "Gate", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
460 | initEReference(getGate_InputEvents(), this.getEvent(), null, "inputEvents", null, 0, -1, Gate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 555 | initEReference(getGate_InputEvents(), this.getRandomEvent(), null, "inputEvents", null, 2, -1, Gate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
461 | 556 | ||
462 | initEClass(distributionEClass, Distribution.class, "Distribution", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | 557 | initEClass(distributionEClass, Distribution.class, "Distribution", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
463 | 558 | ||
@@ -473,7 +568,16 @@ public class FtPackageImpl extends EPackageImpl implements FtPackage { | |||
473 | 568 | ||
474 | initEClass(kOfMGateEClass, KOfMGate.class, "KOfMGate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | 569 | initEClass(kOfMGateEClass, KOfMGate.class, "KOfMGate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
475 | initEAttribute(getKOfMGate_K(), ecorePackage.getEInt(), "k", null, 0, 1, KOfMGate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 570 | initEAttribute(getKOfMGate_K(), ecorePackage.getEInt(), "k", null, 0, 1, KOfMGate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
476 | initEAttribute(getKOfMGate_M(), ecorePackage.getEInt(), "m", null, 0, 1, KOfMGate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 571 | |
572 | initEClass(reliabilityModelEClass, ReliabilityModel.class, "ReliabilityModel", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
573 | |||
574 | initEClass(constantModelEClass, ConstantModel.class, "ConstantModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
575 | initEAttribute(getConstantModel_Failed(), ecorePackage.getEBoolean(), "failed", null, 0, 1, ConstantModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | ||
576 | |||
577 | initEClass(eventEClass, Event.class, "Event", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
578 | |||
579 | initEClass(constantEventEClass, ConstantEvent.class, "ConstantEvent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
580 | initEAttribute(getConstantEvent_Failed(), ecorePackage.getEBoolean(), "failed", null, 0, 1, ConstantEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | ||
477 | 581 | ||
478 | // Create resource | 582 | // Create resource |
479 | createResource(eNS_URI); | 583 | createResource(eNS_URI); |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/GateImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/GateImpl.java index ae6d5a8d..9e753a09 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/GateImpl.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/GateImpl.java | |||
@@ -2,9 +2,9 @@ | |||
2 | */ | 2 | */ |
3 | package hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl; | 3 | package hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl; |
4 | 4 | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event; | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage; | 5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage; |
7 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Gate; | 6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Gate; |
7 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent; | ||
8 | 8 | ||
9 | import java.util.Collection; | 9 | import java.util.Collection; |
10 | 10 | ||
@@ -27,7 +27,7 @@ import org.eclipse.emf.ecore.util.EObjectResolvingEList; | |||
27 | * | 27 | * |
28 | * @generated | 28 | * @generated |
29 | */ | 29 | */ |
30 | public abstract class GateImpl extends EventImpl implements Gate { | 30 | public abstract class GateImpl extends RandomEventImpl implements Gate { |
31 | /** | 31 | /** |
32 | * The cached value of the '{@link #getInputEvents() <em>Input Events</em>}' reference list. | 32 | * The cached value of the '{@link #getInputEvents() <em>Input Events</em>}' reference list. |
33 | * <!-- begin-user-doc --> | 33 | * <!-- begin-user-doc --> |
@@ -36,7 +36,7 @@ public abstract class GateImpl extends EventImpl implements Gate { | |||
36 | * @generated | 36 | * @generated |
37 | * @ordered | 37 | * @ordered |
38 | */ | 38 | */ |
39 | protected EList<Event> inputEvents; | 39 | protected EList<RandomEvent> inputEvents; |
40 | 40 | ||
41 | /** | 41 | /** |
42 | * <!-- begin-user-doc --> | 42 | * <!-- begin-user-doc --> |
@@ -63,9 +63,9 @@ public abstract class GateImpl extends EventImpl implements Gate { | |||
63 | * @generated | 63 | * @generated |
64 | */ | 64 | */ |
65 | @Override | 65 | @Override |
66 | public EList<Event> getInputEvents() { | 66 | public EList<RandomEvent> getInputEvents() { |
67 | if (inputEvents == null) { | 67 | if (inputEvents == null) { |
68 | inputEvents = new EObjectResolvingEList<Event>(Event.class, this, FtPackage.GATE__INPUT_EVENTS); | 68 | inputEvents = new EObjectResolvingEList<RandomEvent>(RandomEvent.class, this, FtPackage.GATE__INPUT_EVENTS); |
69 | } | 69 | } |
70 | return inputEvents; | 70 | return inputEvents; |
71 | } | 71 | } |
@@ -95,7 +95,7 @@ public abstract class GateImpl extends EventImpl implements Gate { | |||
95 | switch (featureID) { | 95 | switch (featureID) { |
96 | case FtPackage.GATE__INPUT_EVENTS: | 96 | case FtPackage.GATE__INPUT_EVENTS: |
97 | getInputEvents().clear(); | 97 | getInputEvents().clear(); |
98 | getInputEvents().addAll((Collection<? extends Event>)newValue); | 98 | getInputEvents().addAll((Collection<? extends RandomEvent>)newValue); |
99 | return; | 99 | return; |
100 | } | 100 | } |
101 | super.eSet(featureID, newValue); | 101 | super.eSet(featureID, newValue); |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/KOfMGateImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/KOfMGateImpl.java index 0f0dd205..47ca936b 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/KOfMGateImpl.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/KOfMGateImpl.java | |||
@@ -20,7 +20,6 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; | |||
20 | * </p> | 20 | * </p> |
21 | * <ul> | 21 | * <ul> |
22 | * <li>{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.KOfMGateImpl#getK <em>K</em>}</li> | 22 | * <li>{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.KOfMGateImpl#getK <em>K</em>}</li> |
23 | * <li>{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.KOfMGateImpl#getM <em>M</em>}</li> | ||
24 | * </ul> | 23 | * </ul> |
25 | * | 24 | * |
26 | * @generated | 25 | * @generated |
@@ -47,26 +46,6 @@ public class KOfMGateImpl extends GateImpl implements KOfMGate { | |||
47 | protected int k = K_EDEFAULT; | 46 | protected int k = K_EDEFAULT; |
48 | 47 | ||
49 | /** | 48 | /** |
50 | * The default value of the '{@link #getM() <em>M</em>}' attribute. | ||
51 | * <!-- begin-user-doc --> | ||
52 | * <!-- end-user-doc --> | ||
53 | * @see #getM() | ||
54 | * @generated | ||
55 | * @ordered | ||
56 | */ | ||
57 | protected static final int M_EDEFAULT = 0; | ||
58 | |||
59 | /** | ||
60 | * The cached value of the '{@link #getM() <em>M</em>}' attribute. | ||
61 | * <!-- begin-user-doc --> | ||
62 | * <!-- end-user-doc --> | ||
63 | * @see #getM() | ||
64 | * @generated | ||
65 | * @ordered | ||
66 | */ | ||
67 | protected int m = M_EDEFAULT; | ||
68 | |||
69 | /** | ||
70 | * <!-- begin-user-doc --> | 49 | * <!-- begin-user-doc --> |
71 | * <!-- end-user-doc --> | 50 | * <!-- end-user-doc --> |
72 | * @generated | 51 | * @generated |
@@ -114,35 +93,10 @@ public class KOfMGateImpl extends GateImpl implements KOfMGate { | |||
114 | * @generated | 93 | * @generated |
115 | */ | 94 | */ |
116 | @Override | 95 | @Override |
117 | public int getM() { | ||
118 | return m; | ||
119 | } | ||
120 | |||
121 | /** | ||
122 | * <!-- begin-user-doc --> | ||
123 | * <!-- end-user-doc --> | ||
124 | * @generated | ||
125 | */ | ||
126 | @Override | ||
127 | public void setM(int newM) { | ||
128 | int oldM = m; | ||
129 | m = newM; | ||
130 | if (eNotificationRequired()) | ||
131 | eNotify(new ENotificationImpl(this, Notification.SET, FtPackage.KOF_MGATE__M, oldM, m)); | ||
132 | } | ||
133 | |||
134 | /** | ||
135 | * <!-- begin-user-doc --> | ||
136 | * <!-- end-user-doc --> | ||
137 | * @generated | ||
138 | */ | ||
139 | @Override | ||
140 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | 96 | public Object eGet(int featureID, boolean resolve, boolean coreType) { |
141 | switch (featureID) { | 97 | switch (featureID) { |
142 | case FtPackage.KOF_MGATE__K: | 98 | case FtPackage.KOF_MGATE__K: |
143 | return getK(); | 99 | return getK(); |
144 | case FtPackage.KOF_MGATE__M: | ||
145 | return getM(); | ||
146 | } | 100 | } |
147 | return super.eGet(featureID, resolve, coreType); | 101 | return super.eGet(featureID, resolve, coreType); |
148 | } | 102 | } |
@@ -158,9 +112,6 @@ public class KOfMGateImpl extends GateImpl implements KOfMGate { | |||
158 | case FtPackage.KOF_MGATE__K: | 112 | case FtPackage.KOF_MGATE__K: |
159 | setK((Integer)newValue); | 113 | setK((Integer)newValue); |
160 | return; | 114 | return; |
161 | case FtPackage.KOF_MGATE__M: | ||
162 | setM((Integer)newValue); | ||
163 | return; | ||
164 | } | 115 | } |
165 | super.eSet(featureID, newValue); | 116 | super.eSet(featureID, newValue); |
166 | } | 117 | } |
@@ -176,9 +127,6 @@ public class KOfMGateImpl extends GateImpl implements KOfMGate { | |||
176 | case FtPackage.KOF_MGATE__K: | 127 | case FtPackage.KOF_MGATE__K: |
177 | setK(K_EDEFAULT); | 128 | setK(K_EDEFAULT); |
178 | return; | 129 | return; |
179 | case FtPackage.KOF_MGATE__M: | ||
180 | setM(M_EDEFAULT); | ||
181 | return; | ||
182 | } | 130 | } |
183 | super.eUnset(featureID); | 131 | super.eUnset(featureID); |
184 | } | 132 | } |
@@ -193,8 +141,6 @@ public class KOfMGateImpl extends GateImpl implements KOfMGate { | |||
193 | switch (featureID) { | 141 | switch (featureID) { |
194 | case FtPackage.KOF_MGATE__K: | 142 | case FtPackage.KOF_MGATE__K: |
195 | return k != K_EDEFAULT; | 143 | return k != K_EDEFAULT; |
196 | case FtPackage.KOF_MGATE__M: | ||
197 | return m != M_EDEFAULT; | ||
198 | } | 144 | } |
199 | return super.eIsSet(featureID); | 145 | return super.eIsSet(featureID); |
200 | } | 146 | } |
@@ -211,8 +157,6 @@ public class KOfMGateImpl extends GateImpl implements KOfMGate { | |||
211 | StringBuilder result = new StringBuilder(super.toString()); | 157 | StringBuilder result = new StringBuilder(super.toString()); |
212 | result.append(" (k: "); | 158 | result.append(" (k: "); |
213 | result.append(k); | 159 | result.append(k); |
214 | result.append(", m: "); | ||
215 | result.append(m); | ||
216 | result.append(')'); | 160 | result.append(')'); |
217 | return result.toString(); | 161 | return result.toString(); |
218 | } | 162 | } |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/RandomEventImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/RandomEventImpl.java new file mode 100644 index 00000000..4f9eda56 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/RandomEventImpl.java | |||
@@ -0,0 +1,164 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl; | ||
4 | |||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage; | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent; | ||
7 | |||
8 | import org.eclipse.emf.common.notify.Notification; | ||
9 | |||
10 | import org.eclipse.emf.ecore.EClass; | ||
11 | |||
12 | import org.eclipse.emf.ecore.impl.ENotificationImpl; | ||
13 | |||
14 | /** | ||
15 | * <!-- begin-user-doc --> | ||
16 | * An implementation of the model object '<em><b>Random Event</b></em>'. | ||
17 | * <!-- end-user-doc --> | ||
18 | * <p> | ||
19 | * The following features are implemented: | ||
20 | * </p> | ||
21 | * <ul> | ||
22 | * <li>{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl.RandomEventImpl#getName <em>Name</em>}</li> | ||
23 | * </ul> | ||
24 | * | ||
25 | * @generated | ||
26 | */ | ||
27 | public abstract class RandomEventImpl extends EventImpl implements RandomEvent { | ||
28 | /** | ||
29 | * The default value of the '{@link #getName() <em>Name</em>}' attribute. | ||
30 | * <!-- begin-user-doc --> | ||
31 | * <!-- end-user-doc --> | ||
32 | * @see #getName() | ||
33 | * @generated | ||
34 | * @ordered | ||
35 | */ | ||
36 | protected static final String NAME_EDEFAULT = null; | ||
37 | |||
38 | /** | ||
39 | * The cached value of the '{@link #getName() <em>Name</em>}' attribute. | ||
40 | * <!-- begin-user-doc --> | ||
41 | * <!-- end-user-doc --> | ||
42 | * @see #getName() | ||
43 | * @generated | ||
44 | * @ordered | ||
45 | */ | ||
46 | protected String name = NAME_EDEFAULT; | ||
47 | |||
48 | /** | ||
49 | * <!-- begin-user-doc --> | ||
50 | * <!-- end-user-doc --> | ||
51 | * @generated | ||
52 | */ | ||
53 | protected RandomEventImpl() { | ||
54 | super(); | ||
55 | } | ||
56 | |||
57 | /** | ||
58 | * <!-- begin-user-doc --> | ||
59 | * <!-- end-user-doc --> | ||
60 | * @generated | ||
61 | */ | ||
62 | @Override | ||
63 | protected EClass eStaticClass() { | ||
64 | return FtPackage.Literals.RANDOM_EVENT; | ||
65 | } | ||
66 | |||
67 | /** | ||
68 | * <!-- begin-user-doc --> | ||
69 | * <!-- end-user-doc --> | ||
70 | * @generated | ||
71 | */ | ||
72 | @Override | ||
73 | public String getName() { | ||
74 | return name; | ||
75 | } | ||
76 | |||
77 | /** | ||
78 | * <!-- begin-user-doc --> | ||
79 | * <!-- end-user-doc --> | ||
80 | * @generated | ||
81 | */ | ||
82 | @Override | ||
83 | public void setName(String newName) { | ||
84 | String oldName = name; | ||
85 | name = newName; | ||
86 | if (eNotificationRequired()) | ||
87 | eNotify(new ENotificationImpl(this, Notification.SET, FtPackage.RANDOM_EVENT__NAME, oldName, name)); | ||
88 | } | ||
89 | |||
90 | /** | ||
91 | * <!-- begin-user-doc --> | ||
92 | * <!-- end-user-doc --> | ||
93 | * @generated | ||
94 | */ | ||
95 | @Override | ||
96 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | ||
97 | switch (featureID) { | ||
98 | case FtPackage.RANDOM_EVENT__NAME: | ||
99 | return getName(); | ||
100 | } | ||
101 | return super.eGet(featureID, resolve, coreType); | ||
102 | } | ||
103 | |||
104 | /** | ||
105 | * <!-- begin-user-doc --> | ||
106 | * <!-- end-user-doc --> | ||
107 | * @generated | ||
108 | */ | ||
109 | @Override | ||
110 | public void eSet(int featureID, Object newValue) { | ||
111 | switch (featureID) { | ||
112 | case FtPackage.RANDOM_EVENT__NAME: | ||
113 | setName((String)newValue); | ||
114 | return; | ||
115 | } | ||
116 | super.eSet(featureID, newValue); | ||
117 | } | ||
118 | |||
119 | /** | ||
120 | * <!-- begin-user-doc --> | ||
121 | * <!-- end-user-doc --> | ||
122 | * @generated | ||
123 | */ | ||
124 | @Override | ||
125 | public void eUnset(int featureID) { | ||
126 | switch (featureID) { | ||
127 | case FtPackage.RANDOM_EVENT__NAME: | ||
128 | setName(NAME_EDEFAULT); | ||
129 | return; | ||
130 | } | ||
131 | super.eUnset(featureID); | ||
132 | } | ||
133 | |||
134 | /** | ||
135 | * <!-- begin-user-doc --> | ||
136 | * <!-- end-user-doc --> | ||
137 | * @generated | ||
138 | */ | ||
139 | @Override | ||
140 | public boolean eIsSet(int featureID) { | ||
141 | switch (featureID) { | ||
142 | case FtPackage.RANDOM_EVENT__NAME: | ||
143 | return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); | ||
144 | } | ||
145 | return super.eIsSet(featureID); | ||
146 | } | ||
147 | |||
148 | /** | ||
149 | * <!-- begin-user-doc --> | ||
150 | * <!-- end-user-doc --> | ||
151 | * @generated | ||
152 | */ | ||
153 | @Override | ||
154 | public String toString() { | ||
155 | if (eIsProxy()) return super.toString(); | ||
156 | |||
157 | StringBuilder result = new StringBuilder(super.toString()); | ||
158 | result.append(" (name: "); | ||
159 | result.append(name); | ||
160 | result.append(')'); | ||
161 | return result.toString(); | ||
162 | } | ||
163 | |||
164 | } //RandomEventImpl | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/ReliabilityModelImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/ReliabilityModelImpl.java new file mode 100644 index 00000000..e3d0eec1 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/impl/ReliabilityModelImpl.java | |||
@@ -0,0 +1,39 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.faulttree.model.ft.impl; | ||
4 | |||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtPackage; | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ReliabilityModel; | ||
7 | |||
8 | import org.eclipse.emf.ecore.EClass; | ||
9 | |||
10 | import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; | ||
11 | |||
12 | /** | ||
13 | * <!-- begin-user-doc --> | ||
14 | * An implementation of the model object '<em><b>Reliability Model</b></em>'. | ||
15 | * <!-- end-user-doc --> | ||
16 | * | ||
17 | * @generated | ||
18 | */ | ||
19 | public abstract class ReliabilityModelImpl extends MinimalEObjectImpl.Container implements ReliabilityModel { | ||
20 | /** | ||
21 | * <!-- begin-user-doc --> | ||
22 | * <!-- end-user-doc --> | ||
23 | * @generated | ||
24 | */ | ||
25 | protected ReliabilityModelImpl() { | ||
26 | super(); | ||
27 | } | ||
28 | |||
29 | /** | ||
30 | * <!-- begin-user-doc --> | ||
31 | * <!-- end-user-doc --> | ||
32 | * @generated | ||
33 | */ | ||
34 | @Override | ||
35 | protected EClass eStaticClass() { | ||
36 | return FtPackage.Literals.RELIABILITY_MODEL; | ||
37 | } | ||
38 | |||
39 | } //ReliabilityModelImpl | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/util/FtAdapterFactory.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/util/FtAdapterFactory.java index 17daaad3..ba7545f4 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/util/FtAdapterFactory.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/util/FtAdapterFactory.java | |||
@@ -72,8 +72,8 @@ public class FtAdapterFactory extends AdapterFactoryImpl { | |||
72 | return createFaultTreeAdapter(); | 72 | return createFaultTreeAdapter(); |
73 | } | 73 | } |
74 | @Override | 74 | @Override |
75 | public Adapter caseEvent(Event object) { | 75 | public Adapter caseRandomEvent(RandomEvent object) { |
76 | return createEventAdapter(); | 76 | return createRandomEventAdapter(); |
77 | } | 77 | } |
78 | @Override | 78 | @Override |
79 | public Adapter caseBasicEvent(BasicEvent object) { | 79 | public Adapter caseBasicEvent(BasicEvent object) { |
@@ -108,6 +108,22 @@ public class FtAdapterFactory extends AdapterFactoryImpl { | |||
108 | return createKOfMGateAdapter(); | 108 | return createKOfMGateAdapter(); |
109 | } | 109 | } |
110 | @Override | 110 | @Override |
111 | public Adapter caseReliabilityModel(ReliabilityModel object) { | ||
112 | return createReliabilityModelAdapter(); | ||
113 | } | ||
114 | @Override | ||
115 | public Adapter caseConstantModel(ConstantModel object) { | ||
116 | return createConstantModelAdapter(); | ||
117 | } | ||
118 | @Override | ||
119 | public Adapter caseEvent(Event object) { | ||
120 | return createEventAdapter(); | ||
121 | } | ||
122 | @Override | ||
123 | public Adapter caseConstantEvent(ConstantEvent object) { | ||
124 | return createConstantEventAdapter(); | ||
125 | } | ||
126 | @Override | ||
111 | public Adapter defaultCase(EObject object) { | 127 | public Adapter defaultCase(EObject object) { |
112 | return createEObjectAdapter(); | 128 | return createEObjectAdapter(); |
113 | } | 129 | } |
@@ -142,16 +158,16 @@ public class FtAdapterFactory extends AdapterFactoryImpl { | |||
142 | } | 158 | } |
143 | 159 | ||
144 | /** | 160 | /** |
145 | * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event <em>Event</em>}'. | 161 | * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent <em>Random Event</em>}'. |
146 | * <!-- begin-user-doc --> | 162 | * <!-- begin-user-doc --> |
147 | * This default implementation returns null so that we can easily ignore cases; | 163 | * This default implementation returns null so that we can easily ignore cases; |
148 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | 164 | * it's useful to ignore a case when inheritance will catch all the cases anyway. |
149 | * <!-- end-user-doc --> | 165 | * <!-- end-user-doc --> |
150 | * @return the new adapter. | 166 | * @return the new adapter. |
151 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event | 167 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent |
152 | * @generated | 168 | * @generated |
153 | */ | 169 | */ |
154 | public Adapter createEventAdapter() { | 170 | public Adapter createRandomEventAdapter() { |
155 | return null; | 171 | return null; |
156 | } | 172 | } |
157 | 173 | ||
@@ -268,6 +284,62 @@ public class FtAdapterFactory extends AdapterFactoryImpl { | |||
268 | } | 284 | } |
269 | 285 | ||
270 | /** | 286 | /** |
287 | * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ReliabilityModel <em>Reliability Model</em>}'. | ||
288 | * <!-- begin-user-doc --> | ||
289 | * This default implementation returns null so that we can easily ignore cases; | ||
290 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
291 | * <!-- end-user-doc --> | ||
292 | * @return the new adapter. | ||
293 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ReliabilityModel | ||
294 | * @generated | ||
295 | */ | ||
296 | public Adapter createReliabilityModelAdapter() { | ||
297 | return null; | ||
298 | } | ||
299 | |||
300 | /** | ||
301 | * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantModel <em>Constant Model</em>}'. | ||
302 | * <!-- begin-user-doc --> | ||
303 | * This default implementation returns null so that we can easily ignore cases; | ||
304 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
305 | * <!-- end-user-doc --> | ||
306 | * @return the new adapter. | ||
307 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantModel | ||
308 | * @generated | ||
309 | */ | ||
310 | public Adapter createConstantModelAdapter() { | ||
311 | return null; | ||
312 | } | ||
313 | |||
314 | /** | ||
315 | * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event <em>Event</em>}'. | ||
316 | * <!-- begin-user-doc --> | ||
317 | * This default implementation returns null so that we can easily ignore cases; | ||
318 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
319 | * <!-- end-user-doc --> | ||
320 | * @return the new adapter. | ||
321 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event | ||
322 | * @generated | ||
323 | */ | ||
324 | public Adapter createEventAdapter() { | ||
325 | return null; | ||
326 | } | ||
327 | |||
328 | /** | ||
329 | * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantEvent <em>Constant Event</em>}'. | ||
330 | * <!-- begin-user-doc --> | ||
331 | * This default implementation returns null so that we can easily ignore cases; | ||
332 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
333 | * <!-- end-user-doc --> | ||
334 | * @return the new adapter. | ||
335 | * @see hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantEvent | ||
336 | * @generated | ||
337 | */ | ||
338 | public Adapter createConstantEventAdapter() { | ||
339 | return null; | ||
340 | } | ||
341 | |||
342 | /** | ||
271 | * Creates a new adapter for the default case. | 343 | * Creates a new adapter for the default case. |
272 | * <!-- begin-user-doc --> | 344 | * <!-- begin-user-doc --> |
273 | * This default implementation returns null. | 345 | * This default implementation returns null. |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/util/FtSwitch.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/util/FtSwitch.java index b1846705..1da4f8e8 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/util/FtSwitch.java +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/ecore-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/ft/util/FtSwitch.java | |||
@@ -69,18 +69,21 @@ public class FtSwitch<T> extends Switch<T> { | |||
69 | case FtPackage.FAULT_TREE: { | 69 | case FtPackage.FAULT_TREE: { |
70 | FaultTree faultTree = (FaultTree)theEObject; | 70 | FaultTree faultTree = (FaultTree)theEObject; |
71 | T result = caseFaultTree(faultTree); | 71 | T result = caseFaultTree(faultTree); |
72 | if (result == null) result = caseReliabilityModel(faultTree); | ||
72 | if (result == null) result = defaultCase(theEObject); | 73 | if (result == null) result = defaultCase(theEObject); |
73 | return result; | 74 | return result; |
74 | } | 75 | } |
75 | case FtPackage.EVENT: { | 76 | case FtPackage.RANDOM_EVENT: { |
76 | Event event = (Event)theEObject; | 77 | RandomEvent randomEvent = (RandomEvent)theEObject; |
77 | T result = caseEvent(event); | 78 | T result = caseRandomEvent(randomEvent); |
79 | if (result == null) result = caseEvent(randomEvent); | ||
78 | if (result == null) result = defaultCase(theEObject); | 80 | if (result == null) result = defaultCase(theEObject); |
79 | return result; | 81 | return result; |
80 | } | 82 | } |
81 | case FtPackage.BASIC_EVENT: { | 83 | case FtPackage.BASIC_EVENT: { |
82 | BasicEvent basicEvent = (BasicEvent)theEObject; | 84 | BasicEvent basicEvent = (BasicEvent)theEObject; |
83 | T result = caseBasicEvent(basicEvent); | 85 | T result = caseBasicEvent(basicEvent); |
86 | if (result == null) result = caseRandomEvent(basicEvent); | ||
84 | if (result == null) result = caseEvent(basicEvent); | 87 | if (result == null) result = caseEvent(basicEvent); |
85 | if (result == null) result = defaultCase(theEObject); | 88 | if (result == null) result = defaultCase(theEObject); |
86 | return result; | 89 | return result; |
@@ -88,6 +91,7 @@ public class FtSwitch<T> extends Switch<T> { | |||
88 | case FtPackage.GATE: { | 91 | case FtPackage.GATE: { |
89 | Gate gate = (Gate)theEObject; | 92 | Gate gate = (Gate)theEObject; |
90 | T result = caseGate(gate); | 93 | T result = caseGate(gate); |
94 | if (result == null) result = caseRandomEvent(gate); | ||
91 | if (result == null) result = caseEvent(gate); | 95 | if (result == null) result = caseEvent(gate); |
92 | if (result == null) result = defaultCase(theEObject); | 96 | if (result == null) result = defaultCase(theEObject); |
93 | return result; | 97 | return result; |
@@ -116,6 +120,7 @@ public class FtSwitch<T> extends Switch<T> { | |||
116 | AndGate andGate = (AndGate)theEObject; | 120 | AndGate andGate = (AndGate)theEObject; |
117 | T result = caseAndGate(andGate); | 121 | T result = caseAndGate(andGate); |
118 | if (result == null) result = caseGate(andGate); | 122 | if (result == null) result = caseGate(andGate); |
123 | if (result == null) result = caseRandomEvent(andGate); | ||
119 | if (result == null) result = caseEvent(andGate); | 124 | if (result == null) result = caseEvent(andGate); |
120 | if (result == null) result = defaultCase(theEObject); | 125 | if (result == null) result = defaultCase(theEObject); |
121 | return result; | 126 | return result; |
@@ -124,6 +129,7 @@ public class FtSwitch<T> extends Switch<T> { | |||
124 | OrGate orGate = (OrGate)theEObject; | 129 | OrGate orGate = (OrGate)theEObject; |
125 | T result = caseOrGate(orGate); | 130 | T result = caseOrGate(orGate); |
126 | if (result == null) result = caseGate(orGate); | 131 | if (result == null) result = caseGate(orGate); |
132 | if (result == null) result = caseRandomEvent(orGate); | ||
127 | if (result == null) result = caseEvent(orGate); | 133 | if (result == null) result = caseEvent(orGate); |
128 | if (result == null) result = defaultCase(theEObject); | 134 | if (result == null) result = defaultCase(theEObject); |
129 | return result; | 135 | return result; |
@@ -132,10 +138,37 @@ public class FtSwitch<T> extends Switch<T> { | |||
132 | KOfMGate kOfMGate = (KOfMGate)theEObject; | 138 | KOfMGate kOfMGate = (KOfMGate)theEObject; |
133 | T result = caseKOfMGate(kOfMGate); | 139 | T result = caseKOfMGate(kOfMGate); |
134 | if (result == null) result = caseGate(kOfMGate); | 140 | if (result == null) result = caseGate(kOfMGate); |
141 | if (result == null) result = caseRandomEvent(kOfMGate); | ||
135 | if (result == null) result = caseEvent(kOfMGate); | 142 | if (result == null) result = caseEvent(kOfMGate); |
136 | if (result == null) result = defaultCase(theEObject); | 143 | if (result == null) result = defaultCase(theEObject); |
137 | return result; | 144 | return result; |
138 | } | 145 | } |
146 | case FtPackage.RELIABILITY_MODEL: { | ||
147 | ReliabilityModel reliabilityModel = (ReliabilityModel)theEObject; | ||
148 | T result = caseReliabilityModel(reliabilityModel); | ||
149 | if (result == null) result = defaultCase(theEObject); | ||
150 | return result; | ||
151 | } | ||
152 | case FtPackage.CONSTANT_MODEL: { | ||
153 | ConstantModel constantModel = (ConstantModel)theEObject; | ||
154 | T result = caseConstantModel(constantModel); | ||
155 | if (result == null) result = caseReliabilityModel(constantModel); | ||
156 | if (result == null) result = defaultCase(theEObject); | ||
157 | return result; | ||
158 | } | ||
159 | case FtPackage.EVENT: { | ||
160 | Event event = (Event)theEObject; | ||
161 | T result = caseEvent(event); | ||
162 | if (result == null) result = defaultCase(theEObject); | ||
163 | return result; | ||
164 | } | ||
165 | case FtPackage.CONSTANT_EVENT: { | ||
166 | ConstantEvent constantEvent = (ConstantEvent)theEObject; | ||
167 | T result = caseConstantEvent(constantEvent); | ||
168 | if (result == null) result = caseEvent(constantEvent); | ||
169 | if (result == null) result = defaultCase(theEObject); | ||
170 | return result; | ||
171 | } | ||
139 | default: return defaultCase(theEObject); | 172 | default: return defaultCase(theEObject); |
140 | } | 173 | } |
141 | } | 174 | } |
@@ -156,17 +189,17 @@ public class FtSwitch<T> extends Switch<T> { | |||
156 | } | 189 | } |
157 | 190 | ||
158 | /** | 191 | /** |
159 | * Returns the result of interpreting the object as an instance of '<em>Event</em>'. | 192 | * Returns the result of interpreting the object as an instance of '<em>Random Event</em>'. |
160 | * <!-- begin-user-doc --> | 193 | * <!-- begin-user-doc --> |
161 | * This implementation returns null; | 194 | * This implementation returns null; |
162 | * returning a non-null result will terminate the switch. | 195 | * returning a non-null result will terminate the switch. |
163 | * <!-- end-user-doc --> | 196 | * <!-- end-user-doc --> |
164 | * @param object the target of the switch. | 197 | * @param object the target of the switch. |
165 | * @return the result of interpreting the object as an instance of '<em>Event</em>'. | 198 | * @return the result of interpreting the object as an instance of '<em>Random Event</em>'. |
166 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | 199 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) |
167 | * @generated | 200 | * @generated |
168 | */ | 201 | */ |
169 | public T caseEvent(Event object) { | 202 | public T caseRandomEvent(RandomEvent object) { |
170 | return null; | 203 | return null; |
171 | } | 204 | } |
172 | 205 | ||
@@ -291,6 +324,66 @@ public class FtSwitch<T> extends Switch<T> { | |||
291 | } | 324 | } |
292 | 325 | ||
293 | /** | 326 | /** |
327 | * Returns the result of interpreting the object as an instance of '<em>Reliability Model</em>'. | ||
328 | * <!-- begin-user-doc --> | ||
329 | * This implementation returns null; | ||
330 | * returning a non-null result will terminate the switch. | ||
331 | * <!-- end-user-doc --> | ||
332 | * @param object the target of the switch. | ||
333 | * @return the result of interpreting the object as an instance of '<em>Reliability Model</em>'. | ||
334 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
335 | * @generated | ||
336 | */ | ||
337 | public T caseReliabilityModel(ReliabilityModel object) { | ||
338 | return null; | ||
339 | } | ||
340 | |||
341 | /** | ||
342 | * Returns the result of interpreting the object as an instance of '<em>Constant Model</em>'. | ||
343 | * <!-- begin-user-doc --> | ||
344 | * This implementation returns null; | ||
345 | * returning a non-null result will terminate the switch. | ||
346 | * <!-- end-user-doc --> | ||
347 | * @param object the target of the switch. | ||
348 | * @return the result of interpreting the object as an instance of '<em>Constant Model</em>'. | ||
349 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
350 | * @generated | ||
351 | */ | ||
352 | public T caseConstantModel(ConstantModel object) { | ||
353 | return null; | ||
354 | } | ||
355 | |||
356 | /** | ||
357 | * Returns the result of interpreting the object as an instance of '<em>Event</em>'. | ||
358 | * <!-- begin-user-doc --> | ||
359 | * This implementation returns null; | ||
360 | * returning a non-null result will terminate the switch. | ||
361 | * <!-- end-user-doc --> | ||
362 | * @param object the target of the switch. | ||
363 | * @return the result of interpreting the object as an instance of '<em>Event</em>'. | ||
364 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
365 | * @generated | ||
366 | */ | ||
367 | public T caseEvent(Event object) { | ||
368 | return null; | ||
369 | } | ||
370 | |||
371 | /** | ||
372 | * Returns the result of interpreting the object as an instance of '<em>Constant Event</em>'. | ||
373 | * <!-- begin-user-doc --> | ||
374 | * This implementation returns null; | ||
375 | * returning a non-null result will terminate the switch. | ||
376 | * <!-- end-user-doc --> | ||
377 | * @param object the target of the switch. | ||
378 | * @return the result of interpreting the object as an instance of '<em>Constant Event</em>'. | ||
379 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
380 | * @generated | ||
381 | */ | ||
382 | public T caseConstantEvent(ConstantEvent object) { | ||
383 | return null; | ||
384 | } | ||
385 | |||
386 | /** | ||
294 | * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. | 387 | * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. |
295 | * <!-- begin-user-doc --> | 388 | * <!-- begin-user-doc --> |
296 | * This implementation returns null; | 389 | * This implementation returns null; |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/model/ft.ecore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/model/ft.ecore index f1f410a7..afe9395e 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/model/ft.ecore +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/model/ft.ecore | |||
@@ -2,22 +2,22 @@ | |||
2 | <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | 2 | <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
3 | xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="ft" nsURI="http://www.bme.hu/mit/inf/dslreasoner/faulttree/model/ft" | 3 | xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="ft" nsURI="http://www.bme.hu/mit/inf/dslreasoner/faulttree/model/ft" |
4 | nsPrefix="ft"> | 4 | nsPrefix="ft"> |
5 | <eClassifiers xsi:type="ecore:EClass" name="FaultTree"> | 5 | <eClassifiers xsi:type="ecore:EClass" name="FaultTree" eSuperTypes="#//ReliabilityModel"> |
6 | <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1" | 6 | <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1" |
7 | eType="#//Event" containment="true"/> | 7 | eType="#//RandomEvent" containment="true"/> |
8 | <eStructuralFeatures xsi:type="ecore:EReference" name="topEvent" lowerBound="1" | 8 | <eStructuralFeatures xsi:type="ecore:EReference" name="topEvent" lowerBound="1" |
9 | eType="#//Event"/> | 9 | eType="#//RandomEvent"/> |
10 | </eClassifiers> | 10 | </eClassifiers> |
11 | <eClassifiers xsi:type="ecore:EClass" name="Event" abstract="true"> | 11 | <eClassifiers xsi:type="ecore:EClass" name="RandomEvent" abstract="true" eSuperTypes="#//Event"> |
12 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | 12 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
13 | </eClassifiers> | 13 | </eClassifiers> |
14 | <eClassifiers xsi:type="ecore:EClass" name="BasicEvent" eSuperTypes="#//Event"> | 14 | <eClassifiers xsi:type="ecore:EClass" name="BasicEvent" eSuperTypes="#//RandomEvent"> |
15 | <eStructuralFeatures xsi:type="ecore:EReference" name="distribution" lowerBound="1" | 15 | <eStructuralFeatures xsi:type="ecore:EReference" name="distribution" lowerBound="1" |
16 | eType="#//Distribution" containment="true"/> | 16 | eType="#//Distribution" containment="true"/> |
17 | </eClassifiers> | 17 | </eClassifiers> |
18 | <eClassifiers xsi:type="ecore:EClass" name="Gate" abstract="true" eSuperTypes="#//Event"> | 18 | <eClassifiers xsi:type="ecore:EClass" name="Gate" abstract="true" eSuperTypes="#//RandomEvent"> |
19 | <eStructuralFeatures xsi:type="ecore:EReference" name="inputEvents" upperBound="-1" | 19 | <eStructuralFeatures xsi:type="ecore:EReference" name="inputEvents" lowerBound="2" |
20 | eType="#//Event"/> | 20 | upperBound="-1" eType="#//RandomEvent"/> |
21 | </eClassifiers> | 21 | </eClassifiers> |
22 | <eClassifiers xsi:type="ecore:EClass" name="Distribution" abstract="true"/> | 22 | <eClassifiers xsi:type="ecore:EClass" name="Distribution" abstract="true"/> |
23 | <eClassifiers xsi:type="ecore:EClass" name="ConstantDistribution" eSuperTypes="#//Distribution"> | 23 | <eClassifiers xsi:type="ecore:EClass" name="ConstantDistribution" eSuperTypes="#//Distribution"> |
@@ -30,6 +30,13 @@ | |||
30 | <eClassifiers xsi:type="ecore:EClass" name="OrGate" eSuperTypes="#//Gate"/> | 30 | <eClassifiers xsi:type="ecore:EClass" name="OrGate" eSuperTypes="#//Gate"/> |
31 | <eClassifiers xsi:type="ecore:EClass" name="KOfMGate" eSuperTypes="#//Gate"> | 31 | <eClassifiers xsi:type="ecore:EClass" name="KOfMGate" eSuperTypes="#//Gate"> |
32 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="k" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | 32 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="k" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> |
33 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="m" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | 33 | </eClassifiers> |
34 | <eClassifiers xsi:type="ecore:EClass" name="ReliabilityModel" abstract="true"/> | ||
35 | <eClassifiers xsi:type="ecore:EClass" name="ConstantModel" eSuperTypes="#//ReliabilityModel"> | ||
36 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="failed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
37 | </eClassifiers> | ||
38 | <eClassifiers xsi:type="ecore:EClass" name="Event" abstract="true"/> | ||
39 | <eClassifiers xsi:type="ecore:EClass" name="ConstantEvent" eSuperTypes="#//Event"> | ||
40 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="failed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
34 | </eClassifiers> | 41 | </eClassifiers> |
35 | </ecore:EPackage> | 42 | </ecore:EPackage> |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/model/ft.genmodel b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/model/ft.genmodel index b5f63c34..7dcd0ae7 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/model/ft.genmodel +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/model/ft.genmodel | |||
@@ -11,8 +11,8 @@ | |||
11 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ft.ecore#//FaultTree/events"/> | 11 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ft.ecore#//FaultTree/events"/> |
12 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ft.ecore#//FaultTree/topEvent"/> | 12 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ft.ecore#//FaultTree/topEvent"/> |
13 | </genClasses> | 13 | </genClasses> |
14 | <genClasses image="false" ecoreClass="ft.ecore#//Event"> | 14 | <genClasses image="false" ecoreClass="ft.ecore#//RandomEvent"> |
15 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ft.ecore#//Event/name"/> | 15 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ft.ecore#//RandomEvent/name"/> |
16 | </genClasses> | 16 | </genClasses> |
17 | <genClasses ecoreClass="ft.ecore#//BasicEvent"> | 17 | <genClasses ecoreClass="ft.ecore#//BasicEvent"> |
18 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ft.ecore#//BasicEvent/distribution"/> | 18 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ft.ecore#//BasicEvent/distribution"/> |
@@ -31,7 +31,14 @@ | |||
31 | <genClasses ecoreClass="ft.ecore#//OrGate"/> | 31 | <genClasses ecoreClass="ft.ecore#//OrGate"/> |
32 | <genClasses ecoreClass="ft.ecore#//KOfMGate"> | 32 | <genClasses ecoreClass="ft.ecore#//KOfMGate"> |
33 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ft.ecore#//KOfMGate/k"/> | 33 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ft.ecore#//KOfMGate/k"/> |
34 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ft.ecore#//KOfMGate/m"/> | 34 | </genClasses> |
35 | <genClasses ecoreClass="ft.ecore#//ReliabilityModel"/> | ||
36 | <genClasses ecoreClass="ft.ecore#//ConstantModel"> | ||
37 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ft.ecore#//ConstantModel/failed"/> | ||
38 | </genClasses> | ||
39 | <genClasses ecoreClass="ft.ecore#//Event"/> | ||
40 | <genClasses ecoreClass="ft.ecore#//ConstantEvent"> | ||
41 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ft.ecore#//ConstantEvent/failed"/> | ||
35 | </genClasses> | 42 | </genClasses> |
36 | </genPackages> | 43 | </genPackages> |
37 | </genmodel:GenModel> | 44 | </genmodel:GenModel> |
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 0c5c0fe8..16bc44f2 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/representations.aird +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/representations.aird | |||
@@ -1074,7 +1074,7 @@ | |||
1074 | <styles xmi:type="notation:FilteringStyle" xmi:id="_DB1gliohEemQnOUhg0mU1A"/> | 1074 | <styles xmi:type="notation:FilteringStyle" xmi:id="_DB1gliohEemQnOUhg0mU1A"/> |
1075 | </children> | 1075 | </children> |
1076 | <styles xmi:type="notation:ShapeStyle" xmi:id="_DB1gkSohEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | 1076 | <styles xmi:type="notation:ShapeStyle" xmi:id="_DB1gkSohEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> |
1077 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DB1gkiohEemQnOUhg0mU1A" x="351" y="26" width="120" height="100"/> | 1077 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DB1gkiohEemQnOUhg0mU1A" x="345" y="180" width="120" height="100"/> |
1078 | </children> | 1078 | </children> |
1079 | <children xmi:type="notation:Node" xmi:id="_OHUAMCohEemQnOUhg0mU1A" type="2003" element="_OHKPMCohEemQnOUhg0mU1A"> | 1079 | <children xmi:type="notation:Node" xmi:id="_OHUAMCohEemQnOUhg0mU1A" type="2003" element="_OHKPMCohEemQnOUhg0mU1A"> |
1080 | <children xmi:type="notation:Node" xmi:id="_OHUnQCohEemQnOUhg0mU1A" type="5007"/> | 1080 | <children xmi:type="notation:Node" xmi:id="_OHUnQCohEemQnOUhg0mU1A" type="5007"/> |
@@ -1087,7 +1087,7 @@ | |||
1087 | <styles xmi:type="notation:FilteringStyle" xmi:id="_OHUnQyohEemQnOUhg0mU1A"/> | 1087 | <styles xmi:type="notation:FilteringStyle" xmi:id="_OHUnQyohEemQnOUhg0mU1A"/> |
1088 | </children> | 1088 | </children> |
1089 | <styles xmi:type="notation:ShapeStyle" xmi:id="_OHUAMSohEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | 1089 | <styles xmi:type="notation:ShapeStyle" xmi:id="_OHUAMSohEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> |
1090 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OHUAMiohEemQnOUhg0mU1A" x="351" y="208" width="120" height="100"/> | 1090 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OHUAMiohEemQnOUhg0mU1A" x="345" y="345" width="120" height="100"/> |
1091 | </children> | 1091 | </children> |
1092 | <children xmi:type="notation:Node" xmi:id="_PfLLACohEemQnOUhg0mU1A" type="2003" element="_PfCoICohEemQnOUhg0mU1A"> | 1092 | <children xmi:type="notation:Node" xmi:id="_PfLLACohEemQnOUhg0mU1A" type="2003" element="_PfCoICohEemQnOUhg0mU1A"> |
1093 | <children xmi:type="notation:Node" xmi:id="_PfLyECohEemQnOUhg0mU1A" type="5007"/> | 1093 | <children xmi:type="notation:Node" xmi:id="_PfLyECohEemQnOUhg0mU1A" type="5007"/> |
@@ -1096,7 +1096,7 @@ | |||
1096 | <styles xmi:type="notation:FilteringStyle" xmi:id="_PfLyEyohEemQnOUhg0mU1A"/> | 1096 | <styles xmi:type="notation:FilteringStyle" xmi:id="_PfLyEyohEemQnOUhg0mU1A"/> |
1097 | </children> | 1097 | </children> |
1098 | <styles xmi:type="notation:ShapeStyle" xmi:id="_PfLLASohEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | 1098 | <styles xmi:type="notation:ShapeStyle" xmi:id="_PfLLASohEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> |
1099 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PfLLAiohEemQnOUhg0mU1A" x="247" y="377" width="120" height="100"/> | 1099 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PfLLAiohEemQnOUhg0mU1A" x="241" y="514" width="120" height="100"/> |
1100 | </children> | 1100 | </children> |
1101 | <children xmi:type="notation:Node" xmi:id="_QR5BYCohEemQnOUhg0mU1A" type="2003" element="_QRvQYCohEemQnOUhg0mU1A"> | 1101 | <children xmi:type="notation:Node" xmi:id="_QR5BYCohEemQnOUhg0mU1A" type="2003" element="_QRvQYCohEemQnOUhg0mU1A"> |
1102 | <children xmi:type="notation:Node" xmi:id="_QR5BYyohEemQnOUhg0mU1A" type="5007"/> | 1102 | <children xmi:type="notation:Node" xmi:id="_QR5BYyohEemQnOUhg0mU1A" type="5007"/> |
@@ -1105,7 +1105,7 @@ | |||
1105 | <styles xmi:type="notation:FilteringStyle" xmi:id="_QR5ociohEemQnOUhg0mU1A"/> | 1105 | <styles xmi:type="notation:FilteringStyle" xmi:id="_QR5ociohEemQnOUhg0mU1A"/> |
1106 | </children> | 1106 | </children> |
1107 | <styles xmi:type="notation:ShapeStyle" xmi:id="_QR5BYSohEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | 1107 | <styles xmi:type="notation:ShapeStyle" xmi:id="_QR5BYSohEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> |
1108 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QR5BYiohEemQnOUhg0mU1A" x="455" y="377" width="120" height="100"/> | 1108 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QR5BYiohEemQnOUhg0mU1A" x="449" y="514" width="120" height="100"/> |
1109 | </children> | 1109 | </children> |
1110 | <children xmi:type="notation:Node" xmi:id="_fDJPMCohEemQnOUhg0mU1A" type="2003" element="_fC-3ICohEemQnOUhg0mU1A"> | 1110 | <children xmi:type="notation:Node" xmi:id="_fDJPMCohEemQnOUhg0mU1A" type="2003" element="_fC-3ICohEemQnOUhg0mU1A"> |
1111 | <children xmi:type="notation:Node" xmi:id="_fDJPMyohEemQnOUhg0mU1A" type="5007"/> | 1111 | <children xmi:type="notation:Node" xmi:id="_fDJPMyohEemQnOUhg0mU1A" type="5007"/> |
@@ -1114,7 +1114,7 @@ | |||
1114 | <styles xmi:type="notation:FilteringStyle" xmi:id="_fDJPNiohEemQnOUhg0mU1A"/> | 1114 | <styles xmi:type="notation:FilteringStyle" xmi:id="_fDJPNiohEemQnOUhg0mU1A"/> |
1115 | </children> | 1115 | </children> |
1116 | <styles xmi:type="notation:ShapeStyle" xmi:id="_fDJPMSohEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | 1116 | <styles xmi:type="notation:ShapeStyle" xmi:id="_fDJPMSohEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> |
1117 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fDJPMiohEemQnOUhg0mU1A" x="143" y="546" width="120" height="100"/> | 1117 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fDJPMiohEemQnOUhg0mU1A" x="137" y="683" width="120" height="100"/> |
1118 | </children> | 1118 | </children> |
1119 | <children xmi:type="notation:Node" xmi:id="_g_4BoCohEemQnOUhg0mU1A" type="2003" element="_g_tpkCohEemQnOUhg0mU1A"> | 1119 | <children xmi:type="notation:Node" xmi:id="_g_4BoCohEemQnOUhg0mU1A" type="2003" element="_g_tpkCohEemQnOUhg0mU1A"> |
1120 | <children xmi:type="notation:Node" xmi:id="_g_4BoyohEemQnOUhg0mU1A" type="5007"/> | 1120 | <children xmi:type="notation:Node" xmi:id="_g_4BoyohEemQnOUhg0mU1A" type="5007"/> |
@@ -1127,7 +1127,7 @@ | |||
1127 | <styles xmi:type="notation:FilteringStyle" xmi:id="_g_4BpiohEemQnOUhg0mU1A"/> | 1127 | <styles xmi:type="notation:FilteringStyle" xmi:id="_g_4BpiohEemQnOUhg0mU1A"/> |
1128 | </children> | 1128 | </children> |
1129 | <styles xmi:type="notation:ShapeStyle" xmi:id="_g_4BoSohEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | 1129 | <styles xmi:type="notation:ShapeStyle" xmi:id="_g_4BoSohEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> |
1130 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g_4BoiohEemQnOUhg0mU1A" x="39" y="715" width="133" height="100"/> | 1130 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g_4BoiohEemQnOUhg0mU1A" x="45" y="852" width="133" height="100"/> |
1131 | </children> | 1131 | </children> |
1132 | <children xmi:type="notation:Node" xmi:id="_kXPmFiohEemQnOUhg0mU1A" type="2003" element="_kXGcICohEemQnOUhg0mU1A"> | 1132 | <children xmi:type="notation:Node" xmi:id="_kXPmFiohEemQnOUhg0mU1A" type="2003" element="_kXGcICohEemQnOUhg0mU1A"> |
1133 | <children xmi:type="notation:Node" xmi:id="_kXQNICohEemQnOUhg0mU1A" type="5007"/> | 1133 | <children xmi:type="notation:Node" xmi:id="_kXQNICohEemQnOUhg0mU1A" type="5007"/> |
@@ -1140,7 +1140,7 @@ | |||
1140 | <styles xmi:type="notation:FilteringStyle" xmi:id="_kXQNIyohEemQnOUhg0mU1A"/> | 1140 | <styles xmi:type="notation:FilteringStyle" xmi:id="_kXQNIyohEemQnOUhg0mU1A"/> |
1141 | </children> | 1141 | </children> |
1142 | <styles xmi:type="notation:ShapeStyle" xmi:id="_kXPmFyohEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | 1142 | <styles xmi:type="notation:ShapeStyle" xmi:id="_kXPmFyohEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> |
1143 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXPmGCohEemQnOUhg0mU1A" x="221" y="715" width="133" height="100"/> | 1143 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXPmGCohEemQnOUhg0mU1A" x="215" y="852" width="133" height="100"/> |
1144 | </children> | 1144 | </children> |
1145 | <children xmi:type="notation:Node" xmi:id="_Jn0OsCokEemQnOUhg0mU1A" type="2003" element="_JnsS4CokEemQnOUhg0mU1A"> | 1145 | <children xmi:type="notation:Node" xmi:id="_Jn0OsCokEemQnOUhg0mU1A" type="2003" element="_JnsS4CokEemQnOUhg0mU1A"> |
1146 | <children xmi:type="notation:Node" xmi:id="_Jn0OsyokEemQnOUhg0mU1A" type="5007"/> | 1146 | <children xmi:type="notation:Node" xmi:id="_Jn0OsyokEemQnOUhg0mU1A" type="5007"/> |
@@ -1149,7 +1149,7 @@ | |||
1149 | <styles xmi:type="notation:FilteringStyle" xmi:id="_Jn0OtiokEemQnOUhg0mU1A"/> | 1149 | <styles xmi:type="notation:FilteringStyle" xmi:id="_Jn0OtiokEemQnOUhg0mU1A"/> |
1150 | </children> | 1150 | </children> |
1151 | <styles xmi:type="notation:ShapeStyle" xmi:id="_Jn0OsSokEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | 1151 | <styles xmi:type="notation:ShapeStyle" xmi:id="_Jn0OsSokEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> |
1152 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jn0OsiokEemQnOUhg0mU1A" x="312" y="546" width="120" height="100"/> | 1152 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jn0OsiokEemQnOUhg0mU1A" x="306" y="683" width="120" height="100"/> |
1153 | </children> | 1153 | </children> |
1154 | <children xmi:type="notation:Node" xmi:id="_J8rEYCokEemQnOUhg0mU1A" type="2003" element="_J8gFQCokEemQnOUhg0mU1A"> | 1154 | <children xmi:type="notation:Node" xmi:id="_J8rEYCokEemQnOUhg0mU1A" type="2003" element="_J8gFQCokEemQnOUhg0mU1A"> |
1155 | <children xmi:type="notation:Node" xmi:id="_J8rEYyokEemQnOUhg0mU1A" type="5007"/> | 1155 | <children xmi:type="notation:Node" xmi:id="_J8rEYyokEemQnOUhg0mU1A" type="5007"/> |
@@ -1158,7 +1158,7 @@ | |||
1158 | <styles xmi:type="notation:FilteringStyle" xmi:id="_J8rrciokEemQnOUhg0mU1A"/> | 1158 | <styles xmi:type="notation:FilteringStyle" xmi:id="_J8rrciokEemQnOUhg0mU1A"/> |
1159 | </children> | 1159 | </children> |
1160 | <styles xmi:type="notation:ShapeStyle" xmi:id="_J8rEYSokEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | 1160 | <styles xmi:type="notation:ShapeStyle" xmi:id="_J8rEYSokEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> |
1161 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J8rEYiokEemQnOUhg0mU1A" x="455" y="546" width="120" height="100"/> | 1161 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J8rEYiokEemQnOUhg0mU1A" x="449" y="683" width="120" height="100"/> |
1162 | </children> | 1162 | </children> |
1163 | <children xmi:type="notation:Node" xmi:id="_MS4GwCokEemQnOUhg0mU1A" type="2003" element="_MSuVwCokEemQnOUhg0mU1A"> | 1163 | <children xmi:type="notation:Node" xmi:id="_MS4GwCokEemQnOUhg0mU1A" type="2003" element="_MSuVwCokEemQnOUhg0mU1A"> |
1164 | <children xmi:type="notation:Node" xmi:id="_MS4GwyokEemQnOUhg0mU1A" type="5007"/> | 1164 | <children xmi:type="notation:Node" xmi:id="_MS4GwyokEemQnOUhg0mU1A" type="5007"/> |
@@ -1167,46 +1167,86 @@ | |||
1167 | <styles xmi:type="notation:FontStyle" xmi:id="_O6m-ASokEemQnOUhg0mU1A" fontColor="2697711" fontName="Cantarell" fontHeight="8"/> | 1167 | <styles xmi:type="notation:FontStyle" xmi:id="_O6m-ASokEemQnOUhg0mU1A" fontColor="2697711" fontName="Cantarell" fontHeight="8"/> |
1168 | <layoutConstraint xmi:type="notation:Location" xmi:id="_O6m-AiokEemQnOUhg0mU1A"/> | 1168 | <layoutConstraint xmi:type="notation:Location" xmi:id="_O6m-AiokEemQnOUhg0mU1A"/> |
1169 | </children> | 1169 | </children> |
1170 | <children xmi:type="notation:Node" xmi:id="_Pi5tECokEemQnOUhg0mU1A" type="3010" element="_Pis4wCokEemQnOUhg0mU1A"> | ||
1171 | <styles xmi:type="notation:FontStyle" xmi:id="_Pi5tESokEemQnOUhg0mU1A" fontColor="2697711" fontName="Cantarell" fontHeight="8"/> | ||
1172 | <layoutConstraint xmi:type="notation:Location" xmi:id="_Pi5tEiokEemQnOUhg0mU1A"/> | ||
1173 | </children> | ||
1174 | <styles xmi:type="notation:SortingStyle" xmi:id="_MS4GxSokEemQnOUhg0mU1A"/> | 1170 | <styles xmi:type="notation:SortingStyle" xmi:id="_MS4GxSokEemQnOUhg0mU1A"/> |
1175 | <styles xmi:type="notation:FilteringStyle" xmi:id="_MS4GxiokEemQnOUhg0mU1A"/> | 1171 | <styles xmi:type="notation:FilteringStyle" xmi:id="_MS4GxiokEemQnOUhg0mU1A"/> |
1176 | </children> | 1172 | </children> |
1177 | <styles xmi:type="notation:ShapeStyle" xmi:id="_MS4GwSokEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | 1173 | <styles xmi:type="notation:ShapeStyle" xmi:id="_MS4GwSokEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> |
1178 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MS4GwiokEemQnOUhg0mU1A" x="598" y="546" width="120" height="100"/> | 1174 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MS4GwiokEemQnOUhg0mU1A" x="592" y="683" width="120" height="100"/> |
1175 | </children> | ||
1176 | <children xmi:type="notation:Node" xmi:id="_6hZ9QC1lEemQnOUhg0mU1A" type="2003" element="_6hHCUC1lEemQnOUhg0mU1A"> | ||
1177 | <children xmi:type="notation:Node" xmi:id="_6hakUC1lEemQnOUhg0mU1A" type="5007"/> | ||
1178 | <children xmi:type="notation:Node" xmi:id="_6hakUS1lEemQnOUhg0mU1A" type="7004"> | ||
1179 | <styles xmi:type="notation:SortingStyle" xmi:id="_6hakUi1lEemQnOUhg0mU1A"/> | ||
1180 | <styles xmi:type="notation:FilteringStyle" xmi:id="_6hakUy1lEemQnOUhg0mU1A"/> | ||
1181 | </children> | ||
1182 | <styles xmi:type="notation:ShapeStyle" xmi:id="_6hZ9QS1lEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | ||
1183 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6hZ9Qi1lEemQnOUhg0mU1A" x="540" y="30" width="120" height="100"/> | ||
1184 | </children> | ||
1185 | <children xmi:type="notation:Node" xmi:id="_-fSIEC1lEemQnOUhg0mU1A" type="2003" element="_-fKzUC1lEemQnOUhg0mU1A"> | ||
1186 | <children xmi:type="notation:Node" xmi:id="_-fSIEy1lEemQnOUhg0mU1A" type="5007"/> | ||
1187 | <children xmi:type="notation:Node" xmi:id="_-fSIFC1lEemQnOUhg0mU1A" type="7004"> | ||
1188 | <children xmi:type="notation:Node" xmi:id="_Nn2NMC1nEemQnOUhg0mU1A" type="3010" element="_NnscMC1nEemQnOUhg0mU1A"> | ||
1189 | <styles xmi:type="notation:FontStyle" xmi:id="_Nn2NMS1nEemQnOUhg0mU1A" fontColor="2697711" fontName="Cantarell" fontHeight="8"/> | ||
1190 | <layoutConstraint xmi:type="notation:Location" xmi:id="_Nn2NMi1nEemQnOUhg0mU1A"/> | ||
1191 | </children> | ||
1192 | <styles xmi:type="notation:SortingStyle" xmi:id="_-fSIFS1lEemQnOUhg0mU1A"/> | ||
1193 | <styles xmi:type="notation:FilteringStyle" xmi:id="_-fSIFi1lEemQnOUhg0mU1A"/> | ||
1194 | </children> | ||
1195 | <styles xmi:type="notation:ShapeStyle" xmi:id="_-fSIES1lEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | ||
1196 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-fSIEi1lEemQnOUhg0mU1A" x="735" y="180" width="120" height="100"/> | ||
1197 | </children> | ||
1198 | <children xmi:type="notation:Node" xmi:id="_27i0YC1mEemQnOUhg0mU1A" type="2003" element="_27bfoC1mEemQnOUhg0mU1A"> | ||
1199 | <children xmi:type="notation:Node" xmi:id="_27i0Yy1mEemQnOUhg0mU1A" type="5007"/> | ||
1200 | <children xmi:type="notation:Node" xmi:id="_27i0ZC1mEemQnOUhg0mU1A" type="7004"> | ||
1201 | <styles xmi:type="notation:SortingStyle" xmi:id="_27i0ZS1mEemQnOUhg0mU1A"/> | ||
1202 | <styles xmi:type="notation:FilteringStyle" xmi:id="_27i0Zi1mEemQnOUhg0mU1A"/> | ||
1203 | </children> | ||
1204 | <styles xmi:type="notation:ShapeStyle" xmi:id="_27i0YS1mEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | ||
1205 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_27i0Yi1mEemQnOUhg0mU1A" x="540" y="180" width="120" height="100"/> | ||
1206 | </children> | ||
1207 | <children xmi:type="notation:Node" xmi:id="_7y8oMC1mEemQnOUhg0mU1A" type="2003" element="_7y0sYC1mEemQnOUhg0mU1A"> | ||
1208 | <children xmi:type="notation:Node" xmi:id="_7y9PQC1mEemQnOUhg0mU1A" type="5007"/> | ||
1209 | <children xmi:type="notation:Node" xmi:id="_7y9PQS1mEemQnOUhg0mU1A" type="7004"> | ||
1210 | <children xmi:type="notation:Node" xmi:id="_cn0McC1nEemQnOUhg0mU1A" type="3010" element="_cnpNUC1nEemQnOUhg0mU1A"> | ||
1211 | <styles xmi:type="notation:FontStyle" xmi:id="_cn0McS1nEemQnOUhg0mU1A" fontColor="2697711" fontName="Cantarell" fontHeight="8"/> | ||
1212 | <layoutConstraint xmi:type="notation:Location" xmi:id="_cn0Mci1nEemQnOUhg0mU1A"/> | ||
1213 | </children> | ||
1214 | <styles xmi:type="notation:SortingStyle" xmi:id="_7y9PQi1mEemQnOUhg0mU1A"/> | ||
1215 | <styles xmi:type="notation:FilteringStyle" xmi:id="_7y9PQy1mEemQnOUhg0mU1A"/> | ||
1216 | </children> | ||
1217 | <styles xmi:type="notation:ShapeStyle" xmi:id="_7y8oMS1mEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | ||
1218 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7y8oMi1mEemQnOUhg0mU1A" x="735" y="345" width="120" height="100"/> | ||
1179 | </children> | 1219 | </children> |
1180 | <styles xmi:type="notation:DiagramStyle" xmi:id="_BnlwIiohEemQnOUhg0mU1A"/> | 1220 | <styles xmi:type="notation:DiagramStyle" xmi:id="_BnlwIiohEemQnOUhg0mU1A"/> |
1181 | <edges xmi:type="notation:Edge" xmi:id="_RSe7sCohEemQnOUhg0mU1A" type="4001" element="_RSW_4CohEemQnOUhg0mU1A" source="_DB1gkCohEemQnOUhg0mU1A" target="_OHUAMCohEemQnOUhg0mU1A"> | 1221 | <edges xmi:type="notation:Edge" xmi:id="_RSe7sCohEemQnOUhg0mU1A" type="4001" element="_RSW_4CohEemQnOUhg0mU1A" source="_DB1gkCohEemQnOUhg0mU1A" target="_OHUAMCohEemQnOUhg0mU1A"> |
1182 | <children xmi:type="notation:Node" xmi:id="_RSe7tCohEemQnOUhg0mU1A" type="6001"> | 1222 | <children xmi:type="notation:Node" xmi:id="_RSe7tCohEemQnOUhg0mU1A" type="6001"> |
1183 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RSe7tSohEemQnOUhg0mU1A" x="-3" y="37"/> | 1223 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RSe7tSohEemQnOUhg0mU1A" x="10" y="41"/> |
1184 | </children> | 1224 | </children> |
1185 | <children xmi:type="notation:Node" xmi:id="_RSe7tiohEemQnOUhg0mU1A" type="6002"> | 1225 | <children xmi:type="notation:Node" xmi:id="_RSe7tiohEemQnOUhg0mU1A" type="6002"> |
1186 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RSe7tyohEemQnOUhg0mU1A" y="10"/> | 1226 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RSe7tyohEemQnOUhg0mU1A" x="18" y="10"/> |
1187 | </children> | 1227 | </children> |
1188 | <children xmi:type="notation:Node" xmi:id="_RSfiwCohEemQnOUhg0mU1A" type="6003"> | 1228 | <children xmi:type="notation:Node" xmi:id="_RSfiwCohEemQnOUhg0mU1A" type="6003"> |
1189 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RSfiwSohEemQnOUhg0mU1A" y="10"/> | 1229 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RSfiwSohEemQnOUhg0mU1A" x="-35" y="10"/> |
1190 | </children> | 1230 | </children> |
1191 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_RSe7sSohEemQnOUhg0mU1A" routing="Rectilinear"/> | 1231 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_RSe7sSohEemQnOUhg0mU1A" routing="Rectilinear"/> |
1192 | <styles xmi:type="notation:FontStyle" xmi:id="_RSe7siohEemQnOUhg0mU1A" fontColor="7490599" fontName="Cantarell" fontHeight="8"/> | 1232 | <styles xmi:type="notation:FontStyle" xmi:id="_RSe7siohEemQnOUhg0mU1A" fontColor="7490599" fontName="Cantarell" fontHeight="8"/> |
1193 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RSe7syohEemQnOUhg0mU1A" points="[-20, 0, -20, -84]$[-20, 84, -20, 0]"/> | 1233 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RSe7syohEemQnOUhg0mU1A" points="[-20, 0, -20, -67]$[-20, 67, -20, 0]"/> |
1194 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RSfiwiohEemQnOUhg0mU1A" id="(0.5,1.0)"/> | 1234 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RSfiwiohEemQnOUhg0mU1A" id="(0.5,1.0)"/> |
1195 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RSfiwyohEemQnOUhg0mU1A" id="(0.5,0.0)"/> | 1235 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RSfiwyohEemQnOUhg0mU1A" id="(0.5,0.0)"/> |
1196 | </edges> | 1236 | </edges> |
1197 | <edges xmi:type="notation:Edge" xmi:id="_Ty_JkCohEemQnOUhg0mU1A" type="4001" element="_Ty0KdiohEemQnOUhg0mU1A" source="_DB1gkCohEemQnOUhg0mU1A" target="_OHUAMCohEemQnOUhg0mU1A"> | 1237 | <edges xmi:type="notation:Edge" xmi:id="_Ty_JkCohEemQnOUhg0mU1A" type="4001" element="_Ty0KdiohEemQnOUhg0mU1A" source="_DB1gkCohEemQnOUhg0mU1A" target="_OHUAMCohEemQnOUhg0mU1A"> |
1198 | <children xmi:type="notation:Node" xmi:id="_Ty_JlCohEemQnOUhg0mU1A" type="6001"> | 1238 | <children xmi:type="notation:Node" xmi:id="_Ty_JlCohEemQnOUhg0mU1A" type="6001"> |
1199 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ty_JlSohEemQnOUhg0mU1A" x="-3" y="-39"/> | 1239 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ty_JlSohEemQnOUhg0mU1A" x="10" y="-49"/> |
1200 | </children> | 1240 | </children> |
1201 | <children xmi:type="notation:Node" xmi:id="_Ty_JliohEemQnOUhg0mU1A" type="6002"> | 1241 | <children xmi:type="notation:Node" xmi:id="_Ty_JliohEemQnOUhg0mU1A" type="6002"> |
1202 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ty_JlyohEemQnOUhg0mU1A" y="10"/> | 1242 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ty_JlyohEemQnOUhg0mU1A" x="18" y="10"/> |
1203 | </children> | 1243 | </children> |
1204 | <children xmi:type="notation:Node" xmi:id="_Ty_woCohEemQnOUhg0mU1A" type="6003"> | 1244 | <children xmi:type="notation:Node" xmi:id="_Ty_woCohEemQnOUhg0mU1A" type="6003"> |
1205 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ty_woSohEemQnOUhg0mU1A" y="10"/> | 1245 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ty_woSohEemQnOUhg0mU1A" x="-35" y="10"/> |
1206 | </children> | 1246 | </children> |
1207 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_Ty_JkSohEemQnOUhg0mU1A" routing="Rectilinear"/> | 1247 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_Ty_JkSohEemQnOUhg0mU1A" routing="Rectilinear"/> |
1208 | <styles xmi:type="notation:FontStyle" xmi:id="_Ty_JkiohEemQnOUhg0mU1A" fontColor="7490599" fontName="Cantarell" fontHeight="8"/> | 1248 | <styles xmi:type="notation:FontStyle" xmi:id="_Ty_JkiohEemQnOUhg0mU1A" fontColor="7490599" fontName="Cantarell" fontHeight="8"/> |
1209 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ty_JkyohEemQnOUhg0mU1A" points="[-11, 0, -11, -84]$[-11, 84, -11, 0]"/> | 1249 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ty_JkyohEemQnOUhg0mU1A" points="[-11, 0, -11, -67]$[-11, 67, -11, 0]"/> |
1210 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ty_woiohEemQnOUhg0mU1A" id="(0.7542372881355932,1.0)"/> | 1250 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ty_woiohEemQnOUhg0mU1A" id="(0.7542372881355932,1.0)"/> |
1211 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ty_woyohEemQnOUhg0mU1A" id="(0.7542372881355932,0.0)"/> | 1251 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ty_woyohEemQnOUhg0mU1A" id="(0.7542372881355932,0.0)"/> |
1212 | </edges> | 1252 | </edges> |
@@ -1354,9 +1394,73 @@ | |||
1354 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RDmq0CokEemQnOUhg0mU1A" id="(0.8813559322033898,0.0)"/> | 1394 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RDmq0CokEemQnOUhg0mU1A" id="(0.8813559322033898,0.0)"/> |
1355 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RDmq0SokEemQnOUhg0mU1A" id="(1.0,0.5)"/> | 1395 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RDmq0SokEemQnOUhg0mU1A" id="(1.0,0.5)"/> |
1356 | </edges> | 1396 | </edges> |
1397 | <edges xmi:type="notation:Edge" xmi:id="_AvKgAC1mEemQnOUhg0mU1A" type="4001" element="_AvDyVi1mEemQnOUhg0mU1A" source="_DB1gkCohEemQnOUhg0mU1A" target="_6hZ9QC1lEemQnOUhg0mU1A"> | ||
1398 | <children xmi:type="notation:Node" xmi:id="_AvKgBC1mEemQnOUhg0mU1A" type="6001"> | ||
1399 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AvKgBS1mEemQnOUhg0mU1A" y="-10"/> | ||
1400 | </children> | ||
1401 | <children xmi:type="notation:Node" xmi:id="_AvLHEC1mEemQnOUhg0mU1A" type="6002"> | ||
1402 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AvLHES1mEemQnOUhg0mU1A" y="10"/> | ||
1403 | </children> | ||
1404 | <children xmi:type="notation:Node" xmi:id="_AvLHEi1mEemQnOUhg0mU1A" type="6003"> | ||
1405 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AvLHEy1mEemQnOUhg0mU1A" y="10"/> | ||
1406 | </children> | ||
1407 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_AvKgAS1mEemQnOUhg0mU1A" routing="Tree"/> | ||
1408 | <styles xmi:type="notation:FontStyle" xmi:id="_AvKgAi1mEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | ||
1409 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AvKgAy1mEemQnOUhg0mU1A" points="[0, 0, -150, 116]$[150, -116, 0, 0]"/> | ||
1410 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AvLHFC1mEemQnOUhg0mU1A" id="(0.3813559322033898,0.0)"/> | ||
1411 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AvLHFS1mEemQnOUhg0mU1A" id="(0.5,0.5)"/> | ||
1412 | </edges> | ||
1413 | <edges xmi:type="notation:Edge" xmi:id="_5G5RoC1mEemQnOUhg0mU1A" type="4001" element="_5GwH1C1mEemQnOUhg0mU1A" source="_OHUAMCohEemQnOUhg0mU1A" target="_27i0YC1mEemQnOUhg0mU1A"> | ||
1414 | <children xmi:type="notation:Node" xmi:id="_5G5RpC1mEemQnOUhg0mU1A" type="6001"> | ||
1415 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5G5RpS1mEemQnOUhg0mU1A" y="-10"/> | ||
1416 | </children> | ||
1417 | <children xmi:type="notation:Node" xmi:id="_5G5Rpi1mEemQnOUhg0mU1A" type="6002"> | ||
1418 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5G5Rpy1mEemQnOUhg0mU1A" y="10"/> | ||
1419 | </children> | ||
1420 | <children xmi:type="notation:Node" xmi:id="_5G5RqC1mEemQnOUhg0mU1A" type="6003"> | ||
1421 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5G5RqS1mEemQnOUhg0mU1A" y="10"/> | ||
1422 | </children> | ||
1423 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_5G5RoS1mEemQnOUhg0mU1A" routing="Tree"/> | ||
1424 | <styles xmi:type="notation:FontStyle" xmi:id="_5G5Roi1mEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | ||
1425 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5G5Roy1mEemQnOUhg0mU1A" points="[0, 0, -135, 75]$[135, -75, 0, 0]"/> | ||
1426 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5G5Rqi1mEemQnOUhg0mU1A" id="(0.5084745762711864,0.0)"/> | ||
1427 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5G5Rqy1mEemQnOUhg0mU1A" id="(0.5,0.5)"/> | ||
1428 | </edges> | ||
1429 | <edges xmi:type="notation:Edge" xmi:id="_PedJgC1nEemQnOUhg0mU1A" type="4001" element="_PeXDBy1nEemQnOUhg0mU1A" source="_-fSIEC1lEemQnOUhg0mU1A" target="_6hZ9QC1lEemQnOUhg0mU1A"> | ||
1430 | <children xmi:type="notation:Node" xmi:id="_PedwkC1nEemQnOUhg0mU1A" type="6001"> | ||
1431 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PedwkS1nEemQnOUhg0mU1A" y="-10"/> | ||
1432 | </children> | ||
1433 | <children xmi:type="notation:Node" xmi:id="_Pedwki1nEemQnOUhg0mU1A" type="6002"> | ||
1434 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Pedwky1nEemQnOUhg0mU1A" y="10"/> | ||
1435 | </children> | ||
1436 | <children xmi:type="notation:Node" xmi:id="_PedwlC1nEemQnOUhg0mU1A" type="6003"> | ||
1437 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PedwlS1nEemQnOUhg0mU1A" y="10"/> | ||
1438 | </children> | ||
1439 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_PedJgS1nEemQnOUhg0mU1A" routing="Tree"/> | ||
1440 | <styles xmi:type="notation:FontStyle" xmi:id="_PedJgi1nEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | ||
1441 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PedJgy1nEemQnOUhg0mU1A" points="[0, 0, 107, 105]$[-107, -105, 0, 0]"/> | ||
1442 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Pedwli1nEemQnOUhg0mU1A" id="(0.2542372881355932,0.0)"/> | ||
1443 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Pedwly1nEemQnOUhg0mU1A" id="(0.5,0.5)"/> | ||
1444 | </edges> | ||
1445 | <edges xmi:type="notation:Edge" xmi:id="_Qd83oC1nEemQnOUhg0mU1A" type="4001" element="_Qd0UzC1nEemQnOUhg0mU1A" source="_7y8oMC1mEemQnOUhg0mU1A" target="_27i0YC1mEemQnOUhg0mU1A"> | ||
1446 | <children xmi:type="notation:Node" xmi:id="_Qd83pC1nEemQnOUhg0mU1A" type="6001"> | ||
1447 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qd83pS1nEemQnOUhg0mU1A" y="-10"/> | ||
1448 | </children> | ||
1449 | <children xmi:type="notation:Node" xmi:id="_Qd83pi1nEemQnOUhg0mU1A" type="6002"> | ||
1450 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qd83py1nEemQnOUhg0mU1A" y="10"/> | ||
1451 | </children> | ||
1452 | <children xmi:type="notation:Node" xmi:id="_Qd83qC1nEemQnOUhg0mU1A" type="6003"> | ||
1453 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qd83qS1nEemQnOUhg0mU1A" y="10"/> | ||
1454 | </children> | ||
1455 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_Qd83oS1nEemQnOUhg0mU1A" routing="Tree"/> | ||
1456 | <styles xmi:type="notation:FontStyle" xmi:id="_Qd83oi1nEemQnOUhg0mU1A" fontName="Cantarell" fontHeight="8"/> | ||
1457 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Qd83oy1nEemQnOUhg0mU1A" points="[0, 0, 167, 135]$[-167, -135, 0, 0]"/> | ||
1458 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Qd9esC1nEemQnOUhg0mU1A" id="(0.25,0.03)"/> | ||
1459 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Qd9esS1nEemQnOUhg0mU1A" id="(0.5,0.5)"/> | ||
1460 | </edges> | ||
1357 | </data> | 1461 | </data> |
1358 | </ownedAnnotationEntries> | 1462 | </ownedAnnotationEntries> |
1359 | <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_DBuy4CohEemQnOUhg0mU1A" name="FaultTree" tooltipText="" outgoingEdges="_RSW_4CohEemQnOUhg0mU1A _Ty0KdiohEemQnOUhg0mU1A" width="12" height="10"> | 1463 | <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_DBuy4CohEemQnOUhg0mU1A" name="FaultTree" tooltipText="" outgoingEdges="_RSW_4CohEemQnOUhg0mU1A _Ty0KdiohEemQnOUhg0mU1A _AvDyVi1mEemQnOUhg0mU1A" width="12" height="10"> |
1360 | <target xmi:type="ecore:EClass" href="model/ft.ecore#//FaultTree"/> | 1464 | <target xmi:type="ecore:EClass" href="model/ft.ecore#//FaultTree"/> |
1361 | <semanticElements xmi:type="ecore:EClass" href="model/ft.ecore#//FaultTree"/> | 1465 | <semanticElements xmi:type="ecore:EClass" href="model/ft.ecore#//FaultTree"/> |
1362 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | 1466 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> |
@@ -1367,9 +1471,9 @@ | |||
1367 | </ownedStyle> | 1471 | </ownedStyle> |
1368 | <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> | 1472 | <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> |
1369 | </ownedDiagramElements> | 1473 | </ownedDiagramElements> |
1370 | <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_OHKPMCohEemQnOUhg0mU1A" name="Event" tooltipText="" incomingEdges="_RSW_4CohEemQnOUhg0mU1A _Ty0KdiohEemQnOUhg0mU1A _ahdMsCohEemQnOUhg0mU1A _a2TbUyohEemQnOUhg0mU1A _RDeH_CokEemQnOUhg0mU1A" width="12" height="10"> | 1474 | <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_OHKPMCohEemQnOUhg0mU1A" name="RandomEvent" tooltipText="" outgoingEdges="_5GwH1C1mEemQnOUhg0mU1A" incomingEdges="_RSW_4CohEemQnOUhg0mU1A _Ty0KdiohEemQnOUhg0mU1A _ahdMsCohEemQnOUhg0mU1A _a2TbUyohEemQnOUhg0mU1A _RDeH_CokEemQnOUhg0mU1A" width="12" height="10"> |
1371 | <target xmi:type="ecore:EClass" href="model/ft.ecore#//Event"/> | 1475 | <target xmi:type="ecore:EClass" href="model/ft.ecore#//RandomEvent"/> |
1372 | <semanticElements xmi:type="ecore:EClass" href="model/ft.ecore#//Event"/> | 1476 | <semanticElements xmi:type="ecore:EClass" href="model/ft.ecore#//RandomEvent"/> |
1373 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | 1477 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> |
1374 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | 1478 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> |
1375 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | 1479 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> |
@@ -1379,8 +1483,8 @@ | |||
1379 | </ownedStyle> | 1483 | </ownedStyle> |
1380 | <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> | 1484 | <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> |
1381 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_WsKWICohEemQnOUhg0mU1A" name="name : EString" tooltipText=""> | 1485 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_WsKWICohEemQnOUhg0mU1A" name="name : EString" tooltipText=""> |
1382 | <target xmi:type="ecore:EAttribute" href="model/ft.ecore#//Event/name"/> | 1486 | <target xmi:type="ecore:EAttribute" href="model/ft.ecore#//RandomEvent/name"/> |
1383 | <semanticElements xmi:type="ecore:EAttribute" href="model/ft.ecore#//Event/name"/> | 1487 | <semanticElements xmi:type="ecore:EAttribute" href="model/ft.ecore#//RandomEvent/name"/> |
1384 | <ownedStyle xmi:type="diagram:BundledImage" uid="_XqmUVSohEemQnOUhg0mU1A" labelAlignment="LEFT"> | 1488 | <ownedStyle xmi:type="diagram:BundledImage" uid="_XqmUVSohEemQnOUhg0mU1A" labelAlignment="LEFT"> |
1385 | <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> | 1489 | <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> |
1386 | </ownedStyle> | 1490 | </ownedStyle> |
@@ -1583,14 +1687,6 @@ | |||
1583 | </ownedStyle> | 1687 | </ownedStyle> |
1584 | <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> | 1688 | <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> |
1585 | </ownedElements> | 1689 | </ownedElements> |
1586 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_Pis4wCokEemQnOUhg0mU1A" name="m : EInt" tooltipText=""> | ||
1587 | <target xmi:type="ecore:EAttribute" href="model/ft.ecore#//KOfMGate/m"/> | ||
1588 | <semanticElements xmi:type="ecore:EAttribute" href="model/ft.ecore#//KOfMGate/m"/> | ||
1589 | <ownedStyle xmi:type="diagram:BundledImage" uid="_P4hXwiokEemQnOUhg0mU1A" labelAlignment="LEFT"> | ||
1590 | <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> | ||
1591 | </ownedStyle> | ||
1592 | <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> | ||
1593 | </ownedElements> | ||
1594 | </ownedDiagramElements> | 1690 | </ownedDiagramElements> |
1595 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_NOpLfCokEemQnOUhg0mU1A" sourceNode="_JnsS4CokEemQnOUhg0mU1A" targetNode="_QRvQYCohEemQnOUhg0mU1A"> | 1691 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_NOpLfCokEemQnOUhg0mU1A" sourceNode="_JnsS4CokEemQnOUhg0mU1A" targetNode="_QRvQYCohEemQnOUhg0mU1A"> |
1596 | <target xmi:type="ecore:EClass" href="model/ft.ecore#//AndGate"/> | 1692 | <target xmi:type="ecore:EClass" href="model/ft.ecore#//AndGate"/> |
@@ -1628,20 +1724,127 @@ | |||
1628 | </ownedStyle> | 1724 | </ownedStyle> |
1629 | <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> | 1725 | <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> |
1630 | </ownedDiagramElements> | 1726 | </ownedDiagramElements> |
1631 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_RDeH_CokEemQnOUhg0mU1A" name="[0..*] inputEvents" sourceNode="_QRvQYCohEemQnOUhg0mU1A" targetNode="_OHKPMCohEemQnOUhg0mU1A"> | 1727 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_RDeH_CokEemQnOUhg0mU1A" name="[2..*] inputEvents" sourceNode="_QRvQYCohEemQnOUhg0mU1A" targetNode="_OHKPMCohEemQnOUhg0mU1A"> |
1632 | <target xmi:type="ecore:EReference" href="model/ft.ecore#//Gate/inputEvents"/> | 1728 | <target xmi:type="ecore:EReference" href="model/ft.ecore#//Gate/inputEvents"/> |
1633 | <semanticElements xmi:type="ecore:EReference" href="model/ft.ecore#//Gate/inputEvents"/> | 1729 | <semanticElements xmi:type="ecore:EReference" href="model/ft.ecore#//Gate/inputEvents"/> |
1634 | <ownedStyle xmi:type="diagram:EdgeStyle" uid="_RDevACokEemQnOUhg0mU1A" routingStyle="manhattan" strokeColor="0,0,0"> | 1730 | <ownedStyle xmi:type="diagram:EdgeStyle" uid="_E3kf1i1mEemQnOUhg0mU1A" description="_Um-LQCohEemQnOUhg0mU1A" routingStyle="manhattan" strokeColor="0,0,0"> |
1635 | <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/> | 1731 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_E3kf2C1mEemQnOUhg0mU1A" showIcon="false"> |
1636 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_RDevAiokEemQnOUhg0mU1A" showIcon="false"> | 1732 | <labelFormat>bold</labelFormat> |
1637 | <customFeatures>labelSize</customFeatures> | ||
1638 | </centerLabelStyle> | 1733 | </centerLabelStyle> |
1639 | <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_RDevASokEemQnOUhg0mU1A" showIcon="false" labelColor="39,76,114"> | 1734 | <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_E3kf1y1mEemQnOUhg0mU1A" labelSize="6" showIcon="false" labelColor="39,76,114"/> |
1640 | <customFeatures>labelSize</customFeatures> | ||
1641 | </endLabelStyle> | ||
1642 | </ownedStyle> | 1735 | </ownedStyle> |
1643 | <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> | 1736 | <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> |
1644 | </ownedDiagramElements> | 1737 | </ownedDiagramElements> |
1738 | <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_6hHCUC1lEemQnOUhg0mU1A" name="ReliabilityModel" tooltipText="" incomingEdges="_AvDyVi1mEemQnOUhg0mU1A _PeXDBy1nEemQnOUhg0mU1A" width="12" height="10"> | ||
1739 | <target xmi:type="ecore:EClass" href="model/ft.ecore#//ReliabilityModel"/> | ||
1740 | <semanticElements xmi:type="ecore:EClass" href="model/ft.ecore#//ReliabilityModel"/> | ||
1741 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | ||
1742 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | ||
1743 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | ||
1744 | <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="__1a0oi1lEemQnOUhg0mU1A" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228"> | ||
1745 | <labelFormat>italic</labelFormat> | ||
1746 | <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/> | ||
1747 | </ownedStyle> | ||
1748 | <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> | ||
1749 | </ownedDiagramElements> | ||
1750 | <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_-fKzUC1lEemQnOUhg0mU1A" name="ConstantModel" tooltipText="" outgoingEdges="_PeXDBy1nEemQnOUhg0mU1A" width="12" height="10"> | ||
1751 | <target xmi:type="ecore:EClass" href="model/ft.ecore#//ConstantModel"/> | ||
1752 | <semanticElements xmi:type="ecore:EClass" href="model/ft.ecore#//ConstantModel"/> | ||
1753 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | ||
1754 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | ||
1755 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | ||
1756 | <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_OPmw1y1nEemQnOUhg0mU1A" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> | ||
1757 | <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> | ||
1758 | </ownedStyle> | ||
1759 | <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> | ||
1760 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_NnscMC1nEemQnOUhg0mU1A" name="failed : EBoolean = false" tooltipText=""> | ||
1761 | <target xmi:type="ecore:EAttribute" href="model/ft.ecore#//ConstantModel/failed"/> | ||
1762 | <semanticElements xmi:type="ecore:EAttribute" href="model/ft.ecore#//ConstantModel/failed"/> | ||
1763 | <ownedStyle xmi:type="diagram:BundledImage" uid="_OPn-4y1nEemQnOUhg0mU1A" labelAlignment="LEFT"> | ||
1764 | <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> | ||
1765 | </ownedStyle> | ||
1766 | <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> | ||
1767 | </ownedElements> | ||
1768 | </ownedDiagramElements> | ||
1769 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_AvDyVi1mEemQnOUhg0mU1A" sourceNode="_DBuy4CohEemQnOUhg0mU1A" targetNode="_6hHCUC1lEemQnOUhg0mU1A"> | ||
1770 | <target xmi:type="ecore:EClass" href="model/ft.ecore#//FaultTree"/> | ||
1771 | <semanticElements xmi:type="ecore:EClass" href="model/ft.ecore#//FaultTree"/> | ||
1772 | <ownedStyle xmi:type="diagram:EdgeStyle" uid="_AvDyVy1mEemQnOUhg0mU1A" targetArrow="InputClosedArrow" routingStyle="tree"> | ||
1773 | <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> | ||
1774 | <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_AvDyWC1mEemQnOUhg0mU1A" showIcon="false"> | ||
1775 | <labelFormat>italic</labelFormat> | ||
1776 | </beginLabelStyle> | ||
1777 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_AvDyWS1mEemQnOUhg0mU1A" showIcon="false"/> | ||
1778 | </ownedStyle> | ||
1779 | <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> | ||
1780 | </ownedDiagramElements> | ||
1781 | <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_27bfoC1mEemQnOUhg0mU1A" name="Event" tooltipText="" incomingEdges="_5GwH1C1mEemQnOUhg0mU1A _Qd0UzC1nEemQnOUhg0mU1A" width="12" height="10"> | ||
1782 | <target xmi:type="ecore:EClass" href="model/ft.ecore#//Event"/> | ||
1783 | <semanticElements xmi:type="ecore:EClass" href="model/ft.ecore#//Event"/> | ||
1784 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | ||
1785 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | ||
1786 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | ||
1787 | <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_Dfwi-i1nEemQnOUhg0mU1A" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228"> | ||
1788 | <labelFormat>italic</labelFormat> | ||
1789 | <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/> | ||
1790 | </ownedStyle> | ||
1791 | <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> | ||
1792 | </ownedDiagramElements> | ||
1793 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_5GwH1C1mEemQnOUhg0mU1A" sourceNode="_OHKPMCohEemQnOUhg0mU1A" targetNode="_27bfoC1mEemQnOUhg0mU1A"> | ||
1794 | <target xmi:type="ecore:EClass" href="model/ft.ecore#//RandomEvent"/> | ||
1795 | <semanticElements xmi:type="ecore:EClass" href="model/ft.ecore#//RandomEvent"/> | ||
1796 | <ownedStyle xmi:type="diagram:EdgeStyle" uid="_5GwuwC1mEemQnOUhg0mU1A" targetArrow="InputClosedArrow" routingStyle="tree"> | ||
1797 | <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> | ||
1798 | <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_5GwuwS1mEemQnOUhg0mU1A" showIcon="false"> | ||
1799 | <labelFormat>italic</labelFormat> | ||
1800 | </beginLabelStyle> | ||
1801 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_5Gwuwi1mEemQnOUhg0mU1A" showIcon="false"/> | ||
1802 | </ownedStyle> | ||
1803 | <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> | ||
1804 | </ownedDiagramElements> | ||
1805 | <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_7y0sYC1mEemQnOUhg0mU1A" name="ConstantEvent" tooltipText="" outgoingEdges="_Qd0UzC1nEemQnOUhg0mU1A" width="12" height="10"> | ||
1806 | <target xmi:type="ecore:EClass" href="model/ft.ecore#//ConstantEvent"/> | ||
1807 | <semanticElements xmi:type="ecore:EClass" href="model/ft.ecore#//ConstantEvent"/> | ||
1808 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | ||
1809 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | ||
1810 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | ||
1811 | <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_dKRZWS1nEemQnOUhg0mU1A" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> | ||
1812 | <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> | ||
1813 | </ownedStyle> | ||
1814 | <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> | ||
1815 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_cnpNUC1nEemQnOUhg0mU1A" name="failed : EBoolean = false" tooltipText=""> | ||
1816 | <target xmi:type="ecore:EAttribute" href="model/ft.ecore#//ConstantEvent/failed"/> | ||
1817 | <semanticElements xmi:type="ecore:EAttribute" href="model/ft.ecore#//ConstantEvent/failed"/> | ||
1818 | <ownedStyle xmi:type="diagram:BundledImage" uid="_dKSnYy1nEemQnOUhg0mU1A" labelAlignment="LEFT"> | ||
1819 | <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> | ||
1820 | </ownedStyle> | ||
1821 | <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> | ||
1822 | </ownedElements> | ||
1823 | </ownedDiagramElements> | ||
1824 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_PeXDBy1nEemQnOUhg0mU1A" sourceNode="_-fKzUC1lEemQnOUhg0mU1A" targetNode="_6hHCUC1lEemQnOUhg0mU1A"> | ||
1825 | <target xmi:type="ecore:EClass" href="model/ft.ecore#//ConstantModel"/> | ||
1826 | <semanticElements xmi:type="ecore:EClass" href="model/ft.ecore#//ConstantModel"/> | ||
1827 | <ownedStyle xmi:type="diagram:EdgeStyle" uid="_PeXDCC1nEemQnOUhg0mU1A" targetArrow="InputClosedArrow" routingStyle="tree"> | ||
1828 | <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> | ||
1829 | <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_PeXDCS1nEemQnOUhg0mU1A" showIcon="false"> | ||
1830 | <labelFormat>italic</labelFormat> | ||
1831 | </beginLabelStyle> | ||
1832 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_PeXDCi1nEemQnOUhg0mU1A" showIcon="false"/> | ||
1833 | </ownedStyle> | ||
1834 | <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> | ||
1835 | </ownedDiagramElements> | ||
1836 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_Qd0UzC1nEemQnOUhg0mU1A" sourceNode="_7y0sYC1mEemQnOUhg0mU1A" targetNode="_27bfoC1mEemQnOUhg0mU1A"> | ||
1837 | <target xmi:type="ecore:EClass" href="model/ft.ecore#//ConstantEvent"/> | ||
1838 | <semanticElements xmi:type="ecore:EClass" href="model/ft.ecore#//ConstantEvent"/> | ||
1839 | <ownedStyle xmi:type="diagram:EdgeStyle" uid="_dKUcli1nEemQnOUhg0mU1A" targetArrow="InputClosedArrow" routingStyle="tree"> | ||
1840 | <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> | ||
1841 | <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_dKUcly1nEemQnOUhg0mU1A" showIcon="false"> | ||
1842 | <labelFormat>italic</labelFormat> | ||
1843 | </beginLabelStyle> | ||
1844 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_dKUcmC1nEemQnOUhg0mU1A" showIcon="false"/> | ||
1845 | </ownedStyle> | ||
1846 | <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> | ||
1847 | </ownedDiagramElements> | ||
1645 | <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> | 1848 | <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> |
1646 | <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_Bnj68SohEemQnOUhg0mU1A"/> | 1849 | <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_Bnj68SohEemQnOUhg0mU1A"/> |
1647 | <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/> | 1850 | <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/> |
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 91eeedc5..ce704acf 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 | |||
@@ -13,4 +13,11 @@ Require-Bundle: com.google.guava, | |||
13 | org.eclipse.viatra.query.runtime, | 13 | org.eclipse.viatra.query.runtime, |
14 | org.eclipse.viatra.query.runtime.rete, | 14 | org.eclipse.viatra.query.runtime.rete, |
15 | org.eclipse.viatra.query.runtime.localsearch, | 15 | org.eclipse.viatra.query.runtime.localsearch, |
16 | hu.bme.mit.inf.dslreasoner.faulttree.components | 16 | hu.bme.mit.inf.dslreasoner.faulttree.components, |
17 | hu.bme.mit.inf.dslreasoner.logic.model, | ||
18 | com.github.jnr.constants;bundle-version="0.9.8", | ||
19 | org.apache.commons.lang;bundle-version="2.6.0" | ||
20 | Export-Package: hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft, | ||
21 | hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft, | ||
22 | hu.bme.mit.inf.dslreasoner.faulttree.transformation.ft2galileo, | ||
23 | hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/build.properties b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/build.properties index 34d2e4d2..d8e2f0e9 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/build.properties +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/build.properties | |||
@@ -1,4 +1,5 @@ | |||
1 | source.. = src/ | 1 | source.. = src/,\ |
2 | xtend-gen/ | ||
2 | output.. = bin/ | 3 | output.. = bin/ |
3 | bin.includes = META-INF/,\ | 4 | bin.includes = META-INF/,\ |
4 | . | 5 | . |
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 index caaffc3c..a522654c 100644 --- 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 | |||
@@ -1,10 +1,24 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft | 1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft |
2 | 2 | ||
3 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentFaultTree | 3 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentFaultTree |
4 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantEvent | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtFactory | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent | ||
4 | 7 | ||
5 | class Cft2FtTransformation { | 8 | class Cft2FtTransformation { |
6 | def createFaultTree(ComponentFaultTree componentFaultTree) { | 9 | def createFaultTree(ComponentFaultTree componentFaultTree) { |
7 | // TODO | 10 | val materializer = new EventMaterializer |
8 | throw new UnsupportedOperationException() | 11 | val topEvent = materializer.getOrMaterialize(componentFaultTree.topEvent) |
12 | switch (topEvent) { | ||
13 | ConstantEvent: | ||
14 | FtFactory.eINSTANCE.createConstantModel => [ | ||
15 | failed = topEvent.failed | ||
16 | ] | ||
17 | RandomEvent: { | ||
18 | val builder = new FaultTreeBuilder | ||
19 | builder.addTopLevel(topEvent) | ||
20 | builder.faultTree | ||
21 | } | ||
22 | } | ||
9 | } | 23 | } |
10 | } \ No newline at end of file | 24 | } |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/EventCollection.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/EventCollection.xtend new file mode 100644 index 00000000..102dc57e --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/EventCollection.xtend | |||
@@ -0,0 +1,90 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft | ||
2 | |||
3 | import com.google.common.collect.ImmutableSet | ||
4 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantEvent | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent | ||
7 | import java.util.Set | ||
8 | import org.eclipse.xtend.lib.annotations.Data | ||
9 | |||
10 | @Data | ||
11 | class EventCollection { | ||
12 | val int falseEventCount | ||
13 | val int trueEventCount | ||
14 | val Set<RandomEvent> randomEvents | ||
15 | |||
16 | def containsFalseEvent() { | ||
17 | falseEventCount >= 1 | ||
18 | } | ||
19 | |||
20 | def containsTrueEvent() { | ||
21 | trueEventCount >= 1 | ||
22 | } | ||
23 | |||
24 | def getVariableEventCount() { | ||
25 | randomEvents.size | ||
26 | } | ||
27 | |||
28 | def containsRandomEvent() { | ||
29 | variableEventCount >= 1 | ||
30 | } | ||
31 | |||
32 | def getCount() { | ||
33 | falseEventCount + trueEventCount + variableEventCount | ||
34 | } | ||
35 | |||
36 | def isEmpty() { | ||
37 | !containsFalseEvent && !containsTrueEvent && !containsRandomEvent | ||
38 | } | ||
39 | |||
40 | def containsExactlyOneRandomEvent() { | ||
41 | !containsFalseEvent && !containsTrueEvent && variableEventCount == 1 | ||
42 | } | ||
43 | |||
44 | def toSingleRandomEvent() { | ||
45 | if (!containsExactlyOneRandomEvent) { | ||
46 | throw new IllegalStateException("Input collection is not a single random event") | ||
47 | } | ||
48 | randomEvents.head | ||
49 | } | ||
50 | |||
51 | static def builder() { | ||
52 | new Builder() | ||
53 | } | ||
54 | |||
55 | static class Builder { | ||
56 | var falseEventCount = 0 | ||
57 | var trueEventCount = 0 | ||
58 | val randomEventsBuilder = ImmutableSet.<RandomEvent>builder | ||
59 | |||
60 | private new() { | ||
61 | } | ||
62 | |||
63 | def add(Event event) { | ||
64 | switch (event) { | ||
65 | ConstantEvent: | ||
66 | if (event.failed) { | ||
67 | trueEventCount++ | ||
68 | } else { | ||
69 | falseEventCount++ | ||
70 | } | ||
71 | RandomEvent: | ||
72 | randomEventsBuilder.add(event) | ||
73 | default: | ||
74 | throw new IllegalArgumentException("Unknown event: " + event) | ||
75 | } | ||
76 | this | ||
77 | } | ||
78 | |||
79 | def addAll(EventCollection materializedEvens) { | ||
80 | falseEventCount += materializedEvens.falseEventCount | ||
81 | trueEventCount += materializedEvens.trueEventCount | ||
82 | randomEventsBuilder.addAll(materializedEvens.randomEvents) | ||
83 | this | ||
84 | } | ||
85 | |||
86 | def build() { | ||
87 | new EventCollection(falseEventCount, trueEventCount, randomEventsBuilder.build) | ||
88 | } | ||
89 | } | ||
90 | } | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/EventMaterializer.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/EventMaterializer.xtend new file mode 100644 index 00000000..85396e4d --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/EventMaterializer.xtend | |||
@@ -0,0 +1,192 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.AndGateDefinition | ||
4 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.BasicEventDefinition | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Component | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.EventDeclaration | ||
7 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.GateDefinition | ||
8 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent | ||
9 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.KOfMGateDefinition | ||
10 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.OrGateDefinition | ||
11 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output | ||
12 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantEvent | ||
13 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event | ||
14 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtFactory | ||
15 | import java.util.LinkedHashSet | ||
16 | import java.util.Map | ||
17 | import org.eclipse.emf.ecore.util.EcoreUtil | ||
18 | import org.eclipse.xtend.lib.annotations.Data | ||
19 | |||
20 | class EventMaterializer { | ||
21 | extension val FtFactory = FtFactory.eINSTANCE | ||
22 | |||
23 | val Map<EventKey<EventDeclaration>, Event> materializationCache = newHashMap | ||
24 | val Map<EventKey<InputEvent>, EventCollection> multipleInputCache = newHashMap | ||
25 | val ConstantEvent falseEvent | ||
26 | val ConstantEvent trueEvent | ||
27 | val path = new LinkedHashSet<EventKey<? extends EventDeclaration>> | ||
28 | |||
29 | new() { | ||
30 | falseEvent = createConstantEvent => [ | ||
31 | failed = false | ||
32 | ] | ||
33 | trueEvent = createConstantEvent => [ | ||
34 | failed = true | ||
35 | ] | ||
36 | } | ||
37 | |||
38 | def getOrMaterialize(Output output) { | ||
39 | getOrMaterialize(output.component, output.eventDeclaration) | ||
40 | } | ||
41 | |||
42 | def Event getOrMaterialize(Component component, EventDeclaration eventDeclaration) { | ||
43 | val eventKey = new EventKey(component, eventDeclaration) | ||
44 | pushEventKey(eventKey) | ||
45 | try { | ||
46 | materializationCache.computeIfAbsent(eventKey)[materialize(it.component, it.event)] | ||
47 | } finally { | ||
48 | popEventKey(eventKey) | ||
49 | } | ||
50 | } | ||
51 | |||
52 | protected def materialize(Component component, EventDeclaration eventDeclaration) { | ||
53 | val eventName = component.name + "_" + eventDeclaration.name | ||
54 | val event = switch (eventDeclaration) { | ||
55 | InputEvent: | ||
56 | return materializeConnectedEvent(component, eventDeclaration) | ||
57 | BasicEventDefinition: { | ||
58 | val basicEvent = createBasicEvent | ||
59 | basicEvent.distribution = EcoreUtil.copy(eventDeclaration.distribution) | ||
60 | basicEvent | ||
61 | } | ||
62 | GateDefinition: { | ||
63 | val inputs = collectInputs(component, eventDeclaration) | ||
64 | val gate = switch (eventDeclaration) { | ||
65 | AndGateDefinition: | ||
66 | if (inputs.containsFalseEvent) { | ||
67 | return falseEvent | ||
68 | } else if (inputs.empty) { | ||
69 | return trueEvent | ||
70 | } else if (inputs.containsExactlyOneRandomEvent) { | ||
71 | return inputs.toSingleRandomEvent | ||
72 | } else { | ||
73 | createAndGate | ||
74 | } | ||
75 | OrGateDefinition: | ||
76 | if (inputs.containsTrueEvent) { | ||
77 | return trueEvent | ||
78 | } else if (inputs.empty) { | ||
79 | return falseEvent | ||
80 | } else if (inputs.containsExactlyOneRandomEvent) { | ||
81 | return inputs.toSingleRandomEvent | ||
82 | } else { | ||
83 | createOrGate | ||
84 | } | ||
85 | KOfMGateDefinition: { | ||
86 | val requiredTrueInputs = inputs.count * eventDeclaration.k / eventDeclaration.m | ||
87 | val k = requiredTrueInputs - inputs.getTrueEventCount | ||
88 | val m = inputs.variableEventCount | ||
89 | if (k == 0) { | ||
90 | return trueEvent | ||
91 | } else if (k > m) { | ||
92 | return falseEvent | ||
93 | } else if (inputs.containsExactlyOneRandomEvent) { | ||
94 | return inputs.toSingleRandomEvent | ||
95 | } else if (k == 1) { | ||
96 | createOrGate | ||
97 | } else if (k == m) { | ||
98 | createAndGate | ||
99 | } else { | ||
100 | val kOfMGate = createKOfMGate | ||
101 | kOfMGate.k = k | ||
102 | kOfMGate | ||
103 | } | ||
104 | } | ||
105 | default: | ||
106 | throw new IllegalArgumentException("Unknown gate definition: " + eventDeclaration) | ||
107 | } | ||
108 | gate.inputEvents.addAll(inputs.getRandomEvents) | ||
109 | gate | ||
110 | } | ||
111 | default: | ||
112 | throw new IllegalArgumentException("Unknown event declaration: " + eventDeclaration) | ||
113 | } | ||
114 | event.name = eventName | ||
115 | event | ||
116 | } | ||
117 | |||
118 | protected def materializeConnectedEvent(Component component, InputEvent inputEvent) { | ||
119 | if (inputEvent.multiple) { | ||
120 | throw new IllegalArgumentException('''Cannot materialize multiple nput «component.name»_«inputEvent.name»''') | ||
121 | } | ||
122 | val input = findInput(component, inputEvent) | ||
123 | val incomingConnections = input.incomingConnections | ||
124 | if (incomingConnections.size != 1) { | ||
125 | throw new IllegalArgumentException('''Input «component.name»_«inputEvent.name» has «incomingConnections.size» connections instead of 1''') | ||
126 | } | ||
127 | val output = incomingConnections.head.output | ||
128 | getOrMaterialize(output.component, output.eventDeclaration) | ||
129 | } | ||
130 | |||
131 | protected def collectInputs(Component component, GateDefinition gateDefinition) { | ||
132 | val builder = EventCollection.builder | ||
133 | for (inputEventDeclaration : gateDefinition.inputEvents) { | ||
134 | switch (inputEventDeclaration) { | ||
135 | InputEvent case inputEventDeclaration.multiple: { | ||
136 | val materializedEvents = getOrMaterializeConnectedEvents(component, inputEventDeclaration) | ||
137 | builder.addAll(materializedEvents) | ||
138 | } | ||
139 | default: | ||
140 | builder.add(getOrMaterialize(component, inputEventDeclaration)) | ||
141 | } | ||
142 | } | ||
143 | builder.build | ||
144 | } | ||
145 | |||
146 | protected def getOrMaterializeConnectedEvents(Component component, InputEvent inputEvent) { | ||
147 | val inputKey = new EventKey(component, inputEvent) | ||
148 | pushEventKey(inputKey) | ||
149 | try { | ||
150 | multipleInputCache.computeIfAbsent(inputKey)[materializeConnectedEvents(it.component, it.event)] | ||
151 | } finally { | ||
152 | popEventKey(inputKey) | ||
153 | } | ||
154 | } | ||
155 | |||
156 | protected def materializeConnectedEvents(Component component, InputEvent inputEvent) { | ||
157 | val input = findInput(component, inputEvent) | ||
158 | val builder = EventCollection.builder | ||
159 | for (connection : input.incomingConnections) { | ||
160 | val materializedEvent = getOrMaterialize(connection.output) | ||
161 | builder.add(materializedEvent) | ||
162 | } | ||
163 | builder.build | ||
164 | } | ||
165 | |||
166 | protected def findInput(Component component, InputEvent inputEvent) { | ||
167 | val input = component.inputs.findFirst[it.inputEvent == inputEvent] | ||
168 | if (input === null) { | ||
169 | throw new IllegalArgumentException('''No input «inputEvent» in component «component»''') | ||
170 | } | ||
171 | return input | ||
172 | } | ||
173 | |||
174 | private def pushEventKey(EventKey<? extends EventDeclaration> eventKey) { | ||
175 | if (!path.add(eventKey)) { | ||
176 | throw new IllegalStateException( | ||
177 | '''Circular dependency [«FOR ancestor : path»«ancestor», «ENDFOR»«eventKey»] detected''') | ||
178 | } | ||
179 | } | ||
180 | |||
181 | private def popEventKey(EventKey<? extends EventDeclaration> eventKey) { | ||
182 | path.remove(eventKey) | ||
183 | } | ||
184 | |||
185 | @Data | ||
186 | protected static class EventKey<T extends EventDeclaration> { | ||
187 | val Component component | ||
188 | val T event | ||
189 | |||
190 | override toString() '''«component.name»_«event.name»''' | ||
191 | } | ||
192 | } | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/FaultTreeBuilder.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/FaultTreeBuilder.xtend new file mode 100644 index 00000000..0b0afea6 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/FaultTreeBuilder.xtend | |||
@@ -0,0 +1,39 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtFactory | ||
4 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Gate | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent | ||
6 | import java.util.Collection | ||
7 | import org.eclipse.xtend.lib.annotations.Accessors | ||
8 | |||
9 | class FaultTreeBuilder { | ||
10 | @Accessors | ||
11 | val faultTree = FtFactory.eINSTANCE.createFaultTree | ||
12 | |||
13 | def addTopLevel(RandomEvent event) { | ||
14 | if (faultTree.topEvent !== null) { | ||
15 | throw new IllegalStateException("Top event was already set") | ||
16 | } | ||
17 | add(event) | ||
18 | faultTree.topEvent = event | ||
19 | } | ||
20 | |||
21 | protected def void add(RandomEvent event) { | ||
22 | if (faultTree.eContainer == faultTree) { | ||
23 | return | ||
24 | } | ||
25 | if (faultTree.eContainer !== null) { | ||
26 | throw new IllegalStateException("Event is already in a different fault tree") | ||
27 | } | ||
28 | faultTree.events += event | ||
29 | if (event instanceof Gate) { | ||
30 | addAll(event.inputEvents) | ||
31 | } | ||
32 | } | ||
33 | |||
34 | protected def addAll(Collection<RandomEvent> events) { | ||
35 | for (event : events) { | ||
36 | add(event) | ||
37 | } | ||
38 | } | ||
39 | } | ||
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 index 36aac5e1..062de3df 100644 --- 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 | |||
@@ -23,5 +23,6 @@ class Ecore2CftTransformation { | |||
23 | for (handler : mappingHandlers) { | 23 | for (handler : mappingHandlers) { |
24 | handler.instantiateConnections(trace) | 24 | handler.instantiateConnections(trace) |
25 | } | 25 | } |
26 | trace.componentFaultTree | ||
26 | } | 27 | } |
27 | } | 28 | } |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ft2galileo/Ft2GalileoTransformation.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ft2galileo/Ft2GalileoTransformation.xtend new file mode 100644 index 00000000..732d9fed --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ft2galileo/Ft2GalileoTransformation.xtend | |||
@@ -0,0 +1,56 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ft2galileo | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.AndGate | ||
4 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.BasicEvent | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantDistribution | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Distribution | ||
7 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ExponentialDistribution | ||
8 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FaultTree | ||
9 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Gate | ||
10 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.KOfMGate | ||
11 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.OrGate | ||
12 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent | ||
13 | import org.eclipse.xtend2.lib.StringConcatenationClient | ||
14 | |||
15 | class Ft2GalileoTransformation { | ||
16 | def toGalileo(FaultTree faultTree) ''' | ||
17 | toplevel «faultTree.topEvent.name»; | ||
18 | «FOR event : faultTree.events» | ||
19 | «event.name» «defineEvent(event)»; | ||
20 | «ENDFOR» | ||
21 | ''' | ||
22 | |||
23 | protected dispatch def defineEvent(BasicEvent basicEvent) { | ||
24 | defineDistribution(basicEvent.distribution) | ||
25 | } | ||
26 | |||
27 | protected dispatch def StringConcatenationClient defineDistribution(ConstantDistribution distribution) { | ||
28 | '''p=«distribution.p»''' | ||
29 | } | ||
30 | |||
31 | protected dispatch def StringConcatenationClient defineDistribution(ExponentialDistribution distribution) { | ||
32 | '''lambda=«distribution.lambda»''' | ||
33 | } | ||
34 | |||
35 | protected dispatch def StringConcatenationClient defineDistribution(Distribution distribution) { | ||
36 | throw new IllegalArgumentException("Unknown distribution: " + distribution) | ||
37 | } | ||
38 | |||
39 | protected dispatch def StringConcatenationClient defineEvent(Gate gate) { | ||
40 | '''«defineGate(gate)» «FOR input : gate.inputEvents SEPARATOR " "»«input.name»«ENDFOR»''' | ||
41 | } | ||
42 | |||
43 | protected dispatch def StringConcatenationClient defineGate(AndGate gate) '''and''' | ||
44 | |||
45 | protected dispatch def StringConcatenationClient defineGate(OrGate gate) '''or''' | ||
46 | |||
47 | protected dispatch def StringConcatenationClient defineGate(KOfMGate gate) '''«gate.k»of«gate.inputEvents.size»''' | ||
48 | |||
49 | protected dispatch def StringConcatenationClient defineGate(Gate gate) { | ||
50 | throw new IllegalArgumentException("Unknown gate: " + gate) | ||
51 | } | ||
52 | |||
53 | protected dispatch def StringConcatenationClient defineEvent(RandomEvent randomEvent) { | ||
54 | throw new IllegalArgumentException("Unknown random even: " + randomEvent) | ||
55 | } | ||
56 | } | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/ReliabilityResult.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/ReliabilityResult.xtend new file mode 100644 index 00000000..19c3d17d --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/ReliabilityResult.xtend | |||
@@ -0,0 +1,51 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver | ||
2 | |||
3 | import org.eclipse.xtend.lib.annotations.Data | ||
4 | import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor | ||
5 | |||
6 | abstract class ReliabilityResult { | ||
7 | public static val TIMEOUT = new Unknown("Solver timed out") | ||
8 | public static val MEMOUT = new Unknown("Solver out of memory") | ||
9 | |||
10 | abstract def Solution getOrThrow() | ||
11 | |||
12 | @Data | ||
13 | static final class Solution extends ReliabilityResult { | ||
14 | val double lowerBound | ||
15 | val double upperBound | ||
16 | |||
17 | new(double value) { | ||
18 | this(value, value) | ||
19 | } | ||
20 | |||
21 | new(double lowerBound, double upperBound) { | ||
22 | if (lowerBound > upperBound) { | ||
23 | throw new IllegalArgumentException("lowerBound must not be larger than upperBound") | ||
24 | } | ||
25 | this.lowerBound = lowerBound | ||
26 | this.upperBound = upperBound | ||
27 | } | ||
28 | |||
29 | override getOrThrow() { | ||
30 | this | ||
31 | } | ||
32 | } | ||
33 | |||
34 | @Data | ||
35 | static final class Unknown extends ReliabilityResult { | ||
36 | val String message | ||
37 | val Throwable cause | ||
38 | |||
39 | @FinalFieldsConstructor | ||
40 | new() { | ||
41 | } | ||
42 | |||
43 | new(String message) { | ||
44 | this(message, null) | ||
45 | } | ||
46 | |||
47 | override getOrThrow() { | ||
48 | throw new RuntimeException(message, cause) | ||
49 | } | ||
50 | } | ||
51 | } | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftConfiguration.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftConfiguration.xtend new file mode 100644 index 00000000..d9059bfc --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftConfiguration.xtend | |||
@@ -0,0 +1,45 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.SolverConfiguration | ||
4 | |||
5 | final class StormDftConfiguration extends SolverConfiguration { | ||
6 | public static val DEFAULT_SOLVER_PATH = "storm-dft" | ||
7 | |||
8 | public double precision = 1e-6 | ||
9 | |||
10 | public boolean bisimulation = true | ||
11 | |||
12 | public boolean symmetryReduction = true | ||
13 | |||
14 | public boolean modularization = true | ||
15 | |||
16 | public boolean dontCarePropagation = true | ||
17 | |||
18 | public double approximation = 0 | ||
19 | |||
20 | public var approximationHeuristic = ApproximationHeuristic.NONE | ||
21 | |||
22 | public FtAnalysisObjective objective | ||
23 | |||
24 | def isApproximationInUse() { | ||
25 | approximationHeuristic != ApproximationHeuristic.NONE | ||
26 | } | ||
27 | } | ||
28 | |||
29 | abstract class FtAnalysisObjective { | ||
30 | public static val MTTF = new FtAnalysisObjective { | ||
31 | } | ||
32 | |||
33 | private new() { | ||
34 | } | ||
35 | |||
36 | static final class TimeBound extends FtAnalysisObjective { | ||
37 | public double timeBound = 0 | ||
38 | } | ||
39 | } | ||
40 | |||
41 | enum ApproximationHeuristic { | ||
42 | NONE, | ||
43 | DEPTH | ||
44 | // See https://github.com/moves-rwth/storm/issues/35 for additional approximation heuristics. | ||
45 | } | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftHandler.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftHandler.xtend new file mode 100644 index 00000000..91c6a0d0 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftHandler.xtend | |||
@@ -0,0 +1,186 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver | ||
2 | |||
3 | import com.google.common.collect.ImmutableList | ||
4 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel | ||
5 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.SolverConfiguration | ||
6 | import java.io.BufferedReader | ||
7 | import java.io.IOException | ||
8 | import java.io.InputStream | ||
9 | import java.io.InputStreamReader | ||
10 | import java.util.regex.Pattern | ||
11 | import jnr.constants.platform.Signal | ||
12 | import org.apache.commons.lang.SystemUtils | ||
13 | |||
14 | class StormDftException extends RuntimeException { | ||
15 | new(String s) { | ||
16 | super(s) | ||
17 | } | ||
18 | |||
19 | new(String s, Exception e) { | ||
20 | super(s, e) | ||
21 | } | ||
22 | } | ||
23 | |||
24 | class StormDftHandler { | ||
25 | static val DOUBLE_REGEX = "[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?" | ||
26 | static val SINGLE_RESULT_GROUP = "single" | ||
27 | static val LOWER_BOUND_GROUP = "lower" | ||
28 | static val UPPER_BOUND_GROUP = "upper" | ||
29 | static val RESULT_REGEX = '''^Result:\s*\[(?:(?<«SINGLE_RESULT_GROUP»>«DOUBLE_REGEX»)|\((?<«LOWER_BOUND_GROUP»>«DOUBLE_REGEX»),\s*(?<«UPPER_BOUND_GROUP»>«DOUBLE_REGEX»)\))\]''' | ||
30 | static val RESULT_PATTERN = Pattern.compile(RESULT_REGEX) | ||
31 | |||
32 | // See http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/jdk7-b147/src/solaris/native/java/lang/UNIXProcess_md.c#l332 | ||
33 | static val SIGNAL_EXIT_VALUE_OFFSET = if(SystemUtils.IS_OS_SOLARIS) 0 else 0x80 | ||
34 | |||
35 | static val STORM_GENERAL_ERROR = (-1).bitwiseAnd(0xff) | ||
36 | static val STORM_TIMEOUT = (-2).bitwiseAnd(0xff) | ||
37 | static val STORM_MEMOUT = (-3).bitwiseAnd(0xff) | ||
38 | |||
39 | def callSolver(String dftFilePath, StormDftConfiguration configuration) { | ||
40 | val commandLine = configuration.toCommandLine(dftFilePath) | ||
41 | val documentationLevel = configuration.documentationLevel | ||
42 | val printOutput = documentationLevel == DocumentationLevel.NORMAL || | ||
43 | documentationLevel == DocumentationLevel.FULL | ||
44 | val processBuilder = new ProcessBuilder().command(commandLine) | ||
45 | var Process process = null | ||
46 | try { | ||
47 | try { | ||
48 | process = processBuilder.start | ||
49 | process.outputStream.close | ||
50 | val result = readOutput(process.inputStream, printOutput) | ||
51 | val error = readError(process.errorStream, printOutput) | ||
52 | val exitValue = process.waitFor | ||
53 | if (result === null) { | ||
54 | interpretExitStatus(exitValue, error) | ||
55 | } else { | ||
56 | result | ||
57 | } | ||
58 | } catch (IOException e) { | ||
59 | throw new StormDftException("Error during input/output handling of the stochastic solver.", e) | ||
60 | } | ||
61 | } catch (Exception e) { | ||
62 | if (process !== null) { | ||
63 | process.destroyForcibly.waitFor | ||
64 | } | ||
65 | throw e | ||
66 | } | ||
67 | } | ||
68 | |||
69 | private def toCommandLine(extension StormDftConfiguration configuration, String dftFilePath) { | ||
70 | extension val optionsBuilder = ImmutableList.builder | ||
71 | add(solverPath ?: StormDftConfiguration.DEFAULT_SOLVER_PATH) | ||
72 | if (runtimeLimit != SolverConfiguration.Unlimited) { | ||
73 | add("--timeout", runtimeLimit.toString) | ||
74 | } | ||
75 | add("--precision", precision.toString) | ||
76 | if (bisimulation) { | ||
77 | add("--bisimulation") | ||
78 | } | ||
79 | if (symmetryReduction) { | ||
80 | add("--symmetryreduction") | ||
81 | } | ||
82 | if (modularization) { | ||
83 | add("--modularisation") | ||
84 | } | ||
85 | if (!dontCarePropagation) { | ||
86 | add("--disabledc") | ||
87 | } | ||
88 | if (approximationInUse) { | ||
89 | val heuristicName = switch (approximationHeuristic) { | ||
90 | case DEPTH: | ||
91 | "depth" | ||
92 | default: | ||
93 | throw new IllegalArgumentException("Unknown approximation heuristic: " + approximationHeuristic) | ||
94 | } | ||
95 | add("--approximation", approximation.toString, "--approximationheuristic", heuristicName) | ||
96 | } | ||
97 | add("--dftfile", dftFilePath) | ||
98 | switch (objective) { | ||
99 | case FtAnalysisObjective.MTTF: | ||
100 | add("--expectedtime") | ||
101 | FtAnalysisObjective.TimeBound: | ||
102 | add("--timebound") | ||
103 | default: | ||
104 | throw new IllegalArgumentException("Unknown analysis objective: " + objective) | ||
105 | } | ||
106 | if (documentationLevel == DocumentationLevel.FULL) { | ||
107 | add("--verbose") | ||
108 | } | ||
109 | build | ||
110 | } | ||
111 | |||
112 | private def readOutput(InputStream inputStream, boolean printOutput) { | ||
113 | val bufferedReader = new BufferedReader(new InputStreamReader(inputStream)) | ||
114 | try { | ||
115 | var String line | ||
116 | while ((line = bufferedReader.readLine) !== null) { | ||
117 | if (printOutput) { | ||
118 | println(line) | ||
119 | } | ||
120 | val matcher = RESULT_PATTERN.matcher(line) | ||
121 | if (matcher.find) { | ||
122 | try { | ||
123 | val single = matcher.group(SINGLE_RESULT_GROUP) | ||
124 | if (single !== null) { | ||
125 | val singleValue = Double.parseDouble(single) | ||
126 | return new ReliabilityResult.Solution(singleValue) | ||
127 | } | ||
128 | val lower = matcher.group(LOWER_BOUND_GROUP) | ||
129 | val upper = matcher.group(UPPER_BOUND_GROUP) | ||
130 | if (lower !== null && upper !== null) { | ||
131 | val lowerValue = Double.parseDouble(lower) | ||
132 | val upperValue = Double.parseDouble(upper) | ||
133 | return new ReliabilityResult.Solution(lowerValue, upperValue) | ||
134 | } | ||
135 | throw new StormDftException("Inconsistent stochastic solver output: " + line) | ||
136 | } catch (NumberFormatException e) { | ||
137 | throw new StormDftException("Malformatted number from stochastic solver.", e) | ||
138 | } | ||
139 | } | ||
140 | } | ||
141 | } finally { | ||
142 | bufferedReader.close | ||
143 | } | ||
144 | null | ||
145 | } | ||
146 | |||
147 | private def readError(InputStream inputStream, boolean printOutput) { | ||
148 | val bufferedReader = new BufferedReader(new InputStreamReader(inputStream)) | ||
149 | try { | ||
150 | val lines = newArrayList | ||
151 | var String line | ||
152 | while ((line = bufferedReader.readLine) !== null) { | ||
153 | if (printOutput) { | ||
154 | System.err.println(line) | ||
155 | } | ||
156 | lines += line | ||
157 | } | ||
158 | lines.join("\n") | ||
159 | } finally { | ||
160 | bufferedReader.close | ||
161 | } | ||
162 | } | ||
163 | |||
164 | private def interpretExitStatus(int exitValue, String error) { | ||
165 | switch (exitValue) { | ||
166 | case STORM_GENERAL_ERROR: | ||
167 | throw new StormDftException("Storm error: " + error) | ||
168 | case STORM_TIMEOUT, | ||
169 | case SIGNAL_EXIT_VALUE_OFFSET + Signal.SIGXCPU.intValue: | ||
170 | ReliabilityResult.TIMEOUT | ||
171 | case STORM_MEMOUT, | ||
172 | case SIGNAL_EXIT_VALUE_OFFSET + Signal.SIGXFSZ.intValue: | ||
173 | ReliabilityResult.MEMOUT | ||
174 | default: { | ||
175 | if (exitValue > SIGNAL_EXIT_VALUE_OFFSET) { | ||
176 | val signalNumber = exitValue - SIGNAL_EXIT_VALUE_OFFSET | ||
177 | val signal = Signal.values.findFirst[intValue == signalNumber] | ||
178 | if (signal !== null) { | ||
179 | throw new StormDftException("Storm unexpectedly killed by signal " + signal + ": " + error) | ||
180 | } | ||
181 | } | ||
182 | throw new StormDftException("Storm unexpectedly exit with status " + exitValue + ": " + error) | ||
183 | } | ||
184 | } | ||
185 | } | ||
186 | } | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftSolver.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftSolver.xtend new file mode 100644 index 00000000..931b9f39 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftSolver.xtend | |||
@@ -0,0 +1,43 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantModel | ||
4 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FaultTree | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ReliabilityModel | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ft2galileo.Ft2GalileoTransformation | ||
7 | import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace | ||
8 | |||
9 | class StormDftSolver { | ||
10 | static val DFT_FILE_NAME = "ft.dft" | ||
11 | |||
12 | val ft2Galileo = new Ft2GalileoTransformation | ||
13 | val handler = new StormDftHandler | ||
14 | |||
15 | def solve(ReliabilityModel reliabilityModel, StormDftConfiguration configuration, | ||
16 | ReasonerWorkspace reasonerWorkspace) { | ||
17 | switch (reliabilityModel) { | ||
18 | FaultTree: | ||
19 | solve(reliabilityModel, configuration, reasonerWorkspace) | ||
20 | ConstantModel: { | ||
21 | val result = if (reliabilityModel.failed) { | ||
22 | 0 | ||
23 | } else { | ||
24 | switch (objective : configuration.objective) { | ||
25 | case FtAnalysisObjective.MTTF: Double.POSITIVE_INFINITY | ||
26 | FtAnalysisObjective.TimeBound: 1 | ||
27 | default: throw new IllegalArgumentException("Unknown objective: " + objective) | ||
28 | } | ||
29 | } | ||
30 | new ReliabilityResult.Solution(result) | ||
31 | } | ||
32 | default: | ||
33 | throw new IllegalArgumentException("Unknown reliability model: " + reliabilityModel) | ||
34 | } | ||
35 | } | ||
36 | |||
37 | def solve(FaultTree faultTree, StormDftConfiguration configuration, ReasonerWorkspace reasonerWorkspace) { | ||
38 | val galileo = ft2Galileo.toGalileo(faultTree) | ||
39 | reasonerWorkspace.writeText(DFT_FILE_NAME, galileo) | ||
40 | val dftFilePath = reasonerWorkspace.getFile(DFT_FILE_NAME).absolutePath | ||
41 | handler.callSolver(dftFilePath, configuration) | ||
42 | } | ||
43 | } | ||
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 index 3e751774..20f1f4a7 100644 --- 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 | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.EventCollection.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.EventCollection.xtendbin new file mode 100644 index 00000000..54ba3d09 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.EventCollection.xtendbin | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.EventMaterializer.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.EventMaterializer.xtendbin new file mode 100644 index 00000000..271c9cc0 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.EventMaterializer.xtendbin | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.FaultTreeBuilder.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.FaultTreeBuilder.xtendbin new file mode 100644 index 00000000..db3a7e73 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.FaultTreeBuilder.xtendbin | |||
Binary files 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 index 70156b02..75154a4c 100644 --- 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 | |||
@@ -1 +1,8 @@ | |||
1 | /.Cft2FtTransformation.java._trace | 1 | /.Cft2FtTransformation.java._trace |
2 | /.EventMaterializer.java._trace | ||
3 | /.MaterializedEvent.java._trace | ||
4 | /.CollectedInputs.java._trace | ||
5 | /.MaterializedEventCollection.java._trace | ||
6 | /.FaultTreeBuilder.java._trace | ||
7 | /.FaultModelBuilder.java._trace | ||
8 | /.EventCollection.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 index ae750806..e87b8865 100644 --- 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 | |||
@@ -1,10 +1,49 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft; | 1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft; |
2 | 2 | ||
3 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentFaultTree; | 3 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentFaultTree; |
4 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantEvent; | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantModel; | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event; | ||
7 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FaultTree; | ||
8 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtFactory; | ||
9 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent; | ||
10 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ReliabilityModel; | ||
11 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft.EventMaterializer; | ||
12 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft.FaultTreeBuilder; | ||
13 | import org.eclipse.xtext.xbase.lib.ObjectExtensions; | ||
14 | import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; | ||
4 | 15 | ||
5 | @SuppressWarnings("all") | 16 | @SuppressWarnings("all") |
6 | public class Cft2FtTransformation { | 17 | public class Cft2FtTransformation { |
7 | public void createFaultTree(final ComponentFaultTree componentFaultTree) { | 18 | public ReliabilityModel createFaultTree(final ComponentFaultTree componentFaultTree) { |
8 | throw new UnsupportedOperationException(); | 19 | ReliabilityModel _xblockexpression = null; |
20 | { | ||
21 | final EventMaterializer materializer = new EventMaterializer(); | ||
22 | final Event topEvent = materializer.getOrMaterialize(componentFaultTree.getTopEvent()); | ||
23 | ReliabilityModel _switchResult = null; | ||
24 | boolean _matched = false; | ||
25 | if (topEvent instanceof ConstantEvent) { | ||
26 | _matched=true; | ||
27 | ConstantModel _createConstantModel = FtFactory.eINSTANCE.createConstantModel(); | ||
28 | final Procedure1<ConstantModel> _function = (ConstantModel it) -> { | ||
29 | it.setFailed(((ConstantEvent)topEvent).isFailed()); | ||
30 | }; | ||
31 | _switchResult = ObjectExtensions.<ConstantModel>operator_doubleArrow(_createConstantModel, _function); | ||
32 | } | ||
33 | if (!_matched) { | ||
34 | if (topEvent instanceof RandomEvent) { | ||
35 | _matched=true; | ||
36 | FaultTree _xblockexpression_1 = null; | ||
37 | { | ||
38 | final FaultTreeBuilder builder = new FaultTreeBuilder(); | ||
39 | builder.addTopLevel(((RandomEvent)topEvent)); | ||
40 | _xblockexpression_1 = builder.getFaultTree(); | ||
41 | } | ||
42 | _switchResult = _xblockexpression_1; | ||
43 | } | ||
44 | } | ||
45 | _xblockexpression = _switchResult; | ||
46 | } | ||
47 | return _xblockexpression; | ||
9 | } | 48 | } |
10 | } | 49 | } |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/EventCollection.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/EventCollection.java new file mode 100644 index 00000000..dceef9f8 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/EventCollection.java | |||
@@ -0,0 +1,188 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft; | ||
2 | |||
3 | import com.google.common.collect.ImmutableSet; | ||
4 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantEvent; | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event; | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent; | ||
7 | import java.util.Set; | ||
8 | import org.eclipse.xtend.lib.annotations.Data; | ||
9 | import org.eclipse.xtext.xbase.lib.IterableExtensions; | ||
10 | import org.eclipse.xtext.xbase.lib.Pure; | ||
11 | import org.eclipse.xtext.xbase.lib.util.ToStringBuilder; | ||
12 | |||
13 | @Data | ||
14 | @SuppressWarnings("all") | ||
15 | public class EventCollection { | ||
16 | public static class Builder { | ||
17 | private int falseEventCount = 0; | ||
18 | |||
19 | private int trueEventCount = 0; | ||
20 | |||
21 | private final ImmutableSet.Builder<RandomEvent> randomEventsBuilder = ImmutableSet.<RandomEvent>builder(); | ||
22 | |||
23 | private Builder() { | ||
24 | } | ||
25 | |||
26 | public EventCollection.Builder add(final Event event) { | ||
27 | EventCollection.Builder _xblockexpression = null; | ||
28 | { | ||
29 | boolean _matched = false; | ||
30 | if (event instanceof ConstantEvent) { | ||
31 | _matched=true; | ||
32 | boolean _isFailed = ((ConstantEvent)event).isFailed(); | ||
33 | if (_isFailed) { | ||
34 | this.trueEventCount++; | ||
35 | } else { | ||
36 | this.falseEventCount++; | ||
37 | } | ||
38 | } | ||
39 | if (!_matched) { | ||
40 | if (event instanceof RandomEvent) { | ||
41 | _matched=true; | ||
42 | this.randomEventsBuilder.add(((RandomEvent)event)); | ||
43 | } | ||
44 | } | ||
45 | if (!_matched) { | ||
46 | throw new IllegalArgumentException(("Unknown event: " + event)); | ||
47 | } | ||
48 | _xblockexpression = this; | ||
49 | } | ||
50 | return _xblockexpression; | ||
51 | } | ||
52 | |||
53 | public EventCollection.Builder addAll(final EventCollection materializedEvens) { | ||
54 | EventCollection.Builder _xblockexpression = null; | ||
55 | { | ||
56 | int _falseEventCount = this.falseEventCount; | ||
57 | this.falseEventCount = (_falseEventCount + materializedEvens.falseEventCount); | ||
58 | int _trueEventCount = this.trueEventCount; | ||
59 | this.trueEventCount = (_trueEventCount + materializedEvens.trueEventCount); | ||
60 | this.randomEventsBuilder.addAll(materializedEvens.randomEvents); | ||
61 | _xblockexpression = this; | ||
62 | } | ||
63 | return _xblockexpression; | ||
64 | } | ||
65 | |||
66 | public EventCollection build() { | ||
67 | ImmutableSet<RandomEvent> _build = this.randomEventsBuilder.build(); | ||
68 | return new EventCollection(this.falseEventCount, this.trueEventCount, _build); | ||
69 | } | ||
70 | } | ||
71 | |||
72 | private final int falseEventCount; | ||
73 | |||
74 | private final int trueEventCount; | ||
75 | |||
76 | private final Set<RandomEvent> randomEvents; | ||
77 | |||
78 | public boolean containsFalseEvent() { | ||
79 | return (this.falseEventCount >= 1); | ||
80 | } | ||
81 | |||
82 | public boolean containsTrueEvent() { | ||
83 | return (this.trueEventCount >= 1); | ||
84 | } | ||
85 | |||
86 | public int getVariableEventCount() { | ||
87 | return this.randomEvents.size(); | ||
88 | } | ||
89 | |||
90 | public boolean containsRandomEvent() { | ||
91 | int _variableEventCount = this.getVariableEventCount(); | ||
92 | return (_variableEventCount >= 1); | ||
93 | } | ||
94 | |||
95 | public int getCount() { | ||
96 | int _variableEventCount = this.getVariableEventCount(); | ||
97 | return ((this.falseEventCount + this.trueEventCount) + _variableEventCount); | ||
98 | } | ||
99 | |||
100 | public boolean isEmpty() { | ||
101 | return (((!this.containsFalseEvent()) && (!this.containsTrueEvent())) && (!this.containsRandomEvent())); | ||
102 | } | ||
103 | |||
104 | public boolean containsExactlyOneRandomEvent() { | ||
105 | return (((!this.containsFalseEvent()) && (!this.containsTrueEvent())) && (this.getVariableEventCount() == 1)); | ||
106 | } | ||
107 | |||
108 | public RandomEvent toSingleRandomEvent() { | ||
109 | RandomEvent _xblockexpression = null; | ||
110 | { | ||
111 | boolean _containsExactlyOneRandomEvent = this.containsExactlyOneRandomEvent(); | ||
112 | boolean _not = (!_containsExactlyOneRandomEvent); | ||
113 | if (_not) { | ||
114 | throw new IllegalStateException("Input collection is not a single random event"); | ||
115 | } | ||
116 | _xblockexpression = IterableExtensions.<RandomEvent>head(this.randomEvents); | ||
117 | } | ||
118 | return _xblockexpression; | ||
119 | } | ||
120 | |||
121 | public static EventCollection.Builder builder() { | ||
122 | return new EventCollection.Builder(); | ||
123 | } | ||
124 | |||
125 | public EventCollection(final int falseEventCount, final int trueEventCount, final Set<RandomEvent> randomEvents) { | ||
126 | super(); | ||
127 | this.falseEventCount = falseEventCount; | ||
128 | this.trueEventCount = trueEventCount; | ||
129 | this.randomEvents = randomEvents; | ||
130 | } | ||
131 | |||
132 | @Override | ||
133 | @Pure | ||
134 | public int hashCode() { | ||
135 | final int prime = 31; | ||
136 | int result = 1; | ||
137 | result = prime * result + this.falseEventCount; | ||
138 | result = prime * result + this.trueEventCount; | ||
139 | return prime * result + ((this.randomEvents== null) ? 0 : this.randomEvents.hashCode()); | ||
140 | } | ||
141 | |||
142 | @Override | ||
143 | @Pure | ||
144 | public boolean equals(final Object obj) { | ||
145 | if (this == obj) | ||
146 | return true; | ||
147 | if (obj == null) | ||
148 | return false; | ||
149 | if (getClass() != obj.getClass()) | ||
150 | return false; | ||
151 | EventCollection other = (EventCollection) obj; | ||
152 | if (other.falseEventCount != this.falseEventCount) | ||
153 | return false; | ||
154 | if (other.trueEventCount != this.trueEventCount) | ||
155 | return false; | ||
156 | if (this.randomEvents == null) { | ||
157 | if (other.randomEvents != null) | ||
158 | return false; | ||
159 | } else if (!this.randomEvents.equals(other.randomEvents)) | ||
160 | return false; | ||
161 | return true; | ||
162 | } | ||
163 | |||
164 | @Override | ||
165 | @Pure | ||
166 | public String toString() { | ||
167 | ToStringBuilder b = new ToStringBuilder(this); | ||
168 | b.add("falseEventCount", this.falseEventCount); | ||
169 | b.add("trueEventCount", this.trueEventCount); | ||
170 | b.add("randomEvents", this.randomEvents); | ||
171 | return b.toString(); | ||
172 | } | ||
173 | |||
174 | @Pure | ||
175 | public int getFalseEventCount() { | ||
176 | return this.falseEventCount; | ||
177 | } | ||
178 | |||
179 | @Pure | ||
180 | public int getTrueEventCount() { | ||
181 | return this.trueEventCount; | ||
182 | } | ||
183 | |||
184 | @Pure | ||
185 | public Set<RandomEvent> getRandomEvents() { | ||
186 | return this.randomEvents; | ||
187 | } | ||
188 | } | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/EventMaterializer.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/EventMaterializer.java new file mode 100644 index 00000000..70481341 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/EventMaterializer.java | |||
@@ -0,0 +1,456 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft; | ||
2 | |||
3 | import com.google.common.base.Objects; | ||
4 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.AndGateDefinition; | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.BasicEventDefinition; | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Component; | ||
7 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Connection; | ||
8 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.EventDeclaration; | ||
9 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.GateDefinition; | ||
10 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input; | ||
11 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent; | ||
12 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.KOfMGateDefinition; | ||
13 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.OrGateDefinition; | ||
14 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output; | ||
15 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.AndGate; | ||
16 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.BasicEvent; | ||
17 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantEvent; | ||
18 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Distribution; | ||
19 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Event; | ||
20 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtFactory; | ||
21 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Gate; | ||
22 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.KOfMGate; | ||
23 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.OrGate; | ||
24 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent; | ||
25 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft.EventCollection; | ||
26 | import java.util.LinkedHashSet; | ||
27 | import java.util.Map; | ||
28 | import java.util.function.Function; | ||
29 | import org.eclipse.emf.common.util.EList; | ||
30 | import org.eclipse.emf.ecore.util.EcoreUtil; | ||
31 | import org.eclipse.xtend.lib.annotations.Data; | ||
32 | import org.eclipse.xtend2.lib.StringConcatenation; | ||
33 | import org.eclipse.xtext.xbase.lib.CollectionLiterals; | ||
34 | import org.eclipse.xtext.xbase.lib.Extension; | ||
35 | import org.eclipse.xtext.xbase.lib.Functions.Function1; | ||
36 | import org.eclipse.xtext.xbase.lib.IterableExtensions; | ||
37 | import org.eclipse.xtext.xbase.lib.ObjectExtensions; | ||
38 | import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; | ||
39 | import org.eclipse.xtext.xbase.lib.Pure; | ||
40 | |||
41 | @SuppressWarnings("all") | ||
42 | public class EventMaterializer { | ||
43 | @Data | ||
44 | protected static class EventKey<T extends EventDeclaration> { | ||
45 | private final Component component; | ||
46 | |||
47 | private final T event; | ||
48 | |||
49 | @Override | ||
50 | public String toString() { | ||
51 | StringConcatenation _builder = new StringConcatenation(); | ||
52 | String _name = this.component.getName(); | ||
53 | _builder.append(_name); | ||
54 | _builder.append("_"); | ||
55 | String _name_1 = this.event.getName(); | ||
56 | _builder.append(_name_1); | ||
57 | return _builder.toString(); | ||
58 | } | ||
59 | |||
60 | public EventKey(final Component component, final T event) { | ||
61 | super(); | ||
62 | this.component = component; | ||
63 | this.event = event; | ||
64 | } | ||
65 | |||
66 | @Override | ||
67 | @Pure | ||
68 | public int hashCode() { | ||
69 | final int prime = 31; | ||
70 | int result = 1; | ||
71 | result = prime * result + ((this.component== null) ? 0 : this.component.hashCode()); | ||
72 | return prime * result + ((this.event== null) ? 0 : this.event.hashCode()); | ||
73 | } | ||
74 | |||
75 | @Override | ||
76 | @Pure | ||
77 | public boolean equals(final Object obj) { | ||
78 | if (this == obj) | ||
79 | return true; | ||
80 | if (obj == null) | ||
81 | return false; | ||
82 | if (getClass() != obj.getClass()) | ||
83 | return false; | ||
84 | EventMaterializer.EventKey<?> other = (EventMaterializer.EventKey<?>) obj; | ||
85 | if (this.component == null) { | ||
86 | if (other.component != null) | ||
87 | return false; | ||
88 | } else if (!this.component.equals(other.component)) | ||
89 | return false; | ||
90 | if (this.event == null) { | ||
91 | if (other.event != null) | ||
92 | return false; | ||
93 | } else if (!this.event.equals(other.event)) | ||
94 | return false; | ||
95 | return true; | ||
96 | } | ||
97 | |||
98 | @Pure | ||
99 | public Component getComponent() { | ||
100 | return this.component; | ||
101 | } | ||
102 | |||
103 | @Pure | ||
104 | public T getEvent() { | ||
105 | return this.event; | ||
106 | } | ||
107 | } | ||
108 | |||
109 | @Extension | ||
110 | private final FtFactory _ftFactory = FtFactory.eINSTANCE; | ||
111 | |||
112 | private final Map<EventMaterializer.EventKey<EventDeclaration>, Event> materializationCache = CollectionLiterals.<EventMaterializer.EventKey<EventDeclaration>, Event>newHashMap(); | ||
113 | |||
114 | private final Map<EventMaterializer.EventKey<InputEvent>, EventCollection> multipleInputCache = CollectionLiterals.<EventMaterializer.EventKey<InputEvent>, EventCollection>newHashMap(); | ||
115 | |||
116 | private final ConstantEvent falseEvent; | ||
117 | |||
118 | private final ConstantEvent trueEvent; | ||
119 | |||
120 | private final LinkedHashSet<EventMaterializer.EventKey<? extends EventDeclaration>> path = new LinkedHashSet<EventMaterializer.EventKey<? extends EventDeclaration>>(); | ||
121 | |||
122 | public EventMaterializer() { | ||
123 | ConstantEvent _createConstantEvent = this._ftFactory.createConstantEvent(); | ||
124 | final Procedure1<ConstantEvent> _function = (ConstantEvent it) -> { | ||
125 | it.setFailed(false); | ||
126 | }; | ||
127 | ConstantEvent _doubleArrow = ObjectExtensions.<ConstantEvent>operator_doubleArrow(_createConstantEvent, _function); | ||
128 | this.falseEvent = _doubleArrow; | ||
129 | ConstantEvent _createConstantEvent_1 = this._ftFactory.createConstantEvent(); | ||
130 | final Procedure1<ConstantEvent> _function_1 = (ConstantEvent it) -> { | ||
131 | it.setFailed(true); | ||
132 | }; | ||
133 | ConstantEvent _doubleArrow_1 = ObjectExtensions.<ConstantEvent>operator_doubleArrow(_createConstantEvent_1, _function_1); | ||
134 | this.trueEvent = _doubleArrow_1; | ||
135 | } | ||
136 | |||
137 | public Event getOrMaterialize(final Output output) { | ||
138 | return this.getOrMaterialize(output.getComponent(), output.getEventDeclaration()); | ||
139 | } | ||
140 | |||
141 | public Event getOrMaterialize(final Component component, final EventDeclaration eventDeclaration) { | ||
142 | Event _xblockexpression = null; | ||
143 | { | ||
144 | final EventMaterializer.EventKey<EventDeclaration> eventKey = new EventMaterializer.EventKey<EventDeclaration>(component, eventDeclaration); | ||
145 | this.pushEventKey(eventKey); | ||
146 | Event _xtrycatchfinallyexpression = null; | ||
147 | try { | ||
148 | final Function<EventMaterializer.EventKey<EventDeclaration>, Event> _function = (EventMaterializer.EventKey<EventDeclaration> it) -> { | ||
149 | return this.materialize(it.component, it.event); | ||
150 | }; | ||
151 | _xtrycatchfinallyexpression = this.materializationCache.computeIfAbsent(eventKey, _function); | ||
152 | } finally { | ||
153 | this.popEventKey(eventKey); | ||
154 | } | ||
155 | _xblockexpression = _xtrycatchfinallyexpression; | ||
156 | } | ||
157 | return _xblockexpression; | ||
158 | } | ||
159 | |||
160 | protected Event materialize(final Component component, final EventDeclaration eventDeclaration) { | ||
161 | RandomEvent _xblockexpression = null; | ||
162 | { | ||
163 | String _name = component.getName(); | ||
164 | String _plus = (_name + "_"); | ||
165 | String _name_1 = eventDeclaration.getName(); | ||
166 | final String eventName = (_plus + _name_1); | ||
167 | RandomEvent _switchResult = null; | ||
168 | boolean _matched = false; | ||
169 | if (eventDeclaration instanceof InputEvent) { | ||
170 | _matched=true; | ||
171 | return this.materializeConnectedEvent(component, ((InputEvent)eventDeclaration)); | ||
172 | } | ||
173 | if (!_matched) { | ||
174 | if (eventDeclaration instanceof BasicEventDefinition) { | ||
175 | _matched=true; | ||
176 | BasicEvent _xblockexpression_1 = null; | ||
177 | { | ||
178 | final BasicEvent basicEvent = this._ftFactory.createBasicEvent(); | ||
179 | basicEvent.setDistribution(EcoreUtil.<Distribution>copy(((BasicEventDefinition)eventDeclaration).getDistribution())); | ||
180 | _xblockexpression_1 = basicEvent; | ||
181 | } | ||
182 | _switchResult = _xblockexpression_1; | ||
183 | } | ||
184 | } | ||
185 | if (!_matched) { | ||
186 | if (eventDeclaration instanceof GateDefinition) { | ||
187 | _matched=true; | ||
188 | Gate _xblockexpression_1 = null; | ||
189 | { | ||
190 | final EventCollection inputs = this.collectInputs(component, ((GateDefinition)eventDeclaration)); | ||
191 | Gate _switchResult_1 = null; | ||
192 | boolean _matched_1 = false; | ||
193 | if (eventDeclaration instanceof AndGateDefinition) { | ||
194 | _matched_1=true; | ||
195 | AndGate _xifexpression = null; | ||
196 | boolean _containsFalseEvent = inputs.containsFalseEvent(); | ||
197 | if (_containsFalseEvent) { | ||
198 | return this.falseEvent; | ||
199 | } else { | ||
200 | AndGate _xifexpression_1 = null; | ||
201 | boolean _isEmpty = inputs.isEmpty(); | ||
202 | if (_isEmpty) { | ||
203 | return this.trueEvent; | ||
204 | } else { | ||
205 | AndGate _xifexpression_2 = null; | ||
206 | boolean _containsExactlyOneRandomEvent = inputs.containsExactlyOneRandomEvent(); | ||
207 | if (_containsExactlyOneRandomEvent) { | ||
208 | return inputs.toSingleRandomEvent(); | ||
209 | } else { | ||
210 | _xifexpression_2 = this._ftFactory.createAndGate(); | ||
211 | } | ||
212 | _xifexpression_1 = _xifexpression_2; | ||
213 | } | ||
214 | _xifexpression = _xifexpression_1; | ||
215 | } | ||
216 | _switchResult_1 = _xifexpression; | ||
217 | } | ||
218 | if (!_matched_1) { | ||
219 | if (eventDeclaration instanceof OrGateDefinition) { | ||
220 | _matched_1=true; | ||
221 | OrGate _xifexpression = null; | ||
222 | boolean _containsTrueEvent = inputs.containsTrueEvent(); | ||
223 | if (_containsTrueEvent) { | ||
224 | return this.trueEvent; | ||
225 | } else { | ||
226 | OrGate _xifexpression_1 = null; | ||
227 | boolean _isEmpty = inputs.isEmpty(); | ||
228 | if (_isEmpty) { | ||
229 | return this.falseEvent; | ||
230 | } else { | ||
231 | OrGate _xifexpression_2 = null; | ||
232 | boolean _containsExactlyOneRandomEvent = inputs.containsExactlyOneRandomEvent(); | ||
233 | if (_containsExactlyOneRandomEvent) { | ||
234 | return inputs.toSingleRandomEvent(); | ||
235 | } else { | ||
236 | _xifexpression_2 = this._ftFactory.createOrGate(); | ||
237 | } | ||
238 | _xifexpression_1 = _xifexpression_2; | ||
239 | } | ||
240 | _xifexpression = _xifexpression_1; | ||
241 | } | ||
242 | _switchResult_1 = _xifexpression; | ||
243 | } | ||
244 | } | ||
245 | if (!_matched_1) { | ||
246 | if (eventDeclaration instanceof KOfMGateDefinition) { | ||
247 | _matched_1=true; | ||
248 | Gate _xblockexpression_2 = null; | ||
249 | { | ||
250 | int _count = inputs.getCount(); | ||
251 | int _k = ((KOfMGateDefinition)eventDeclaration).getK(); | ||
252 | int _multiply = (_count * _k); | ||
253 | int _m = ((KOfMGateDefinition)eventDeclaration).getM(); | ||
254 | final int requiredTrueInputs = (_multiply / _m); | ||
255 | int _trueEventCount = inputs.getTrueEventCount(); | ||
256 | final int k = (requiredTrueInputs - _trueEventCount); | ||
257 | final int m = inputs.getVariableEventCount(); | ||
258 | Gate _xifexpression = null; | ||
259 | if ((k == 0)) { | ||
260 | return this.trueEvent; | ||
261 | } else { | ||
262 | Gate _xifexpression_1 = null; | ||
263 | if ((k > m)) { | ||
264 | return this.falseEvent; | ||
265 | } else { | ||
266 | Gate _xifexpression_2 = null; | ||
267 | boolean _containsExactlyOneRandomEvent = inputs.containsExactlyOneRandomEvent(); | ||
268 | if (_containsExactlyOneRandomEvent) { | ||
269 | return inputs.toSingleRandomEvent(); | ||
270 | } else { | ||
271 | Gate _xifexpression_3 = null; | ||
272 | if ((k == 1)) { | ||
273 | _xifexpression_3 = this._ftFactory.createOrGate(); | ||
274 | } else { | ||
275 | Gate _xifexpression_4 = null; | ||
276 | if ((k == m)) { | ||
277 | _xifexpression_4 = this._ftFactory.createAndGate(); | ||
278 | } else { | ||
279 | KOfMGate _xblockexpression_3 = null; | ||
280 | { | ||
281 | final KOfMGate kOfMGate = this._ftFactory.createKOfMGate(); | ||
282 | kOfMGate.setK(k); | ||
283 | _xblockexpression_3 = kOfMGate; | ||
284 | } | ||
285 | _xifexpression_4 = _xblockexpression_3; | ||
286 | } | ||
287 | _xifexpression_3 = _xifexpression_4; | ||
288 | } | ||
289 | _xifexpression_2 = _xifexpression_3; | ||
290 | } | ||
291 | _xifexpression_1 = _xifexpression_2; | ||
292 | } | ||
293 | _xifexpression = _xifexpression_1; | ||
294 | } | ||
295 | _xblockexpression_2 = _xifexpression; | ||
296 | } | ||
297 | _switchResult_1 = _xblockexpression_2; | ||
298 | } | ||
299 | } | ||
300 | if (!_matched_1) { | ||
301 | throw new IllegalArgumentException(("Unknown gate definition: " + eventDeclaration)); | ||
302 | } | ||
303 | final Gate gate = _switchResult_1; | ||
304 | gate.getInputEvents().addAll(inputs.getRandomEvents()); | ||
305 | _xblockexpression_1 = gate; | ||
306 | } | ||
307 | _switchResult = _xblockexpression_1; | ||
308 | } | ||
309 | } | ||
310 | if (!_matched) { | ||
311 | throw new IllegalArgumentException(("Unknown event declaration: " + eventDeclaration)); | ||
312 | } | ||
313 | final RandomEvent event = _switchResult; | ||
314 | event.setName(eventName); | ||
315 | _xblockexpression = event; | ||
316 | } | ||
317 | return _xblockexpression; | ||
318 | } | ||
319 | |||
320 | protected Event materializeConnectedEvent(final Component component, final InputEvent inputEvent) { | ||
321 | Event _xblockexpression = null; | ||
322 | { | ||
323 | boolean _isMultiple = inputEvent.isMultiple(); | ||
324 | if (_isMultiple) { | ||
325 | StringConcatenation _builder = new StringConcatenation(); | ||
326 | _builder.append("Cannot materialize multiple nput "); | ||
327 | String _name = component.getName(); | ||
328 | _builder.append(_name); | ||
329 | _builder.append("_"); | ||
330 | String _name_1 = inputEvent.getName(); | ||
331 | _builder.append(_name_1); | ||
332 | throw new IllegalArgumentException(_builder.toString()); | ||
333 | } | ||
334 | final Input input = this.findInput(component, inputEvent); | ||
335 | final EList<Connection> incomingConnections = input.getIncomingConnections(); | ||
336 | int _size = incomingConnections.size(); | ||
337 | boolean _notEquals = (_size != 1); | ||
338 | if (_notEquals) { | ||
339 | StringConcatenation _builder_1 = new StringConcatenation(); | ||
340 | _builder_1.append("Input "); | ||
341 | String _name_2 = component.getName(); | ||
342 | _builder_1.append(_name_2); | ||
343 | _builder_1.append("_"); | ||
344 | String _name_3 = inputEvent.getName(); | ||
345 | _builder_1.append(_name_3); | ||
346 | _builder_1.append(" has "); | ||
347 | int _size_1 = incomingConnections.size(); | ||
348 | _builder_1.append(_size_1); | ||
349 | _builder_1.append(" connections instead of 1"); | ||
350 | throw new IllegalArgumentException(_builder_1.toString()); | ||
351 | } | ||
352 | final Output output = IterableExtensions.<Connection>head(incomingConnections).getOutput(); | ||
353 | _xblockexpression = this.getOrMaterialize(output.getComponent(), output.getEventDeclaration()); | ||
354 | } | ||
355 | return _xblockexpression; | ||
356 | } | ||
357 | |||
358 | protected EventCollection collectInputs(final Component component, final GateDefinition gateDefinition) { | ||
359 | EventCollection _xblockexpression = null; | ||
360 | { | ||
361 | final EventCollection.Builder builder = EventCollection.builder(); | ||
362 | EList<EventDeclaration> _inputEvents = gateDefinition.getInputEvents(); | ||
363 | for (final EventDeclaration inputEventDeclaration : _inputEvents) { | ||
364 | boolean _matched = false; | ||
365 | if (inputEventDeclaration instanceof InputEvent) { | ||
366 | boolean _isMultiple = ((InputEvent)inputEventDeclaration).isMultiple(); | ||
367 | if (_isMultiple) { | ||
368 | _matched=true; | ||
369 | final EventCollection materializedEvents = this.getOrMaterializeConnectedEvents(component, ((InputEvent)inputEventDeclaration)); | ||
370 | builder.addAll(materializedEvents); | ||
371 | } | ||
372 | } | ||
373 | if (!_matched) { | ||
374 | builder.add(this.getOrMaterialize(component, inputEventDeclaration)); | ||
375 | } | ||
376 | } | ||
377 | _xblockexpression = builder.build(); | ||
378 | } | ||
379 | return _xblockexpression; | ||
380 | } | ||
381 | |||
382 | protected EventCollection getOrMaterializeConnectedEvents(final Component component, final InputEvent inputEvent) { | ||
383 | EventCollection _xblockexpression = null; | ||
384 | { | ||
385 | final EventMaterializer.EventKey<InputEvent> inputKey = new EventMaterializer.EventKey<InputEvent>(component, inputEvent); | ||
386 | this.pushEventKey(inputKey); | ||
387 | EventCollection _xtrycatchfinallyexpression = null; | ||
388 | try { | ||
389 | final Function<EventMaterializer.EventKey<InputEvent>, EventCollection> _function = (EventMaterializer.EventKey<InputEvent> it) -> { | ||
390 | return this.materializeConnectedEvents(it.component, it.event); | ||
391 | }; | ||
392 | _xtrycatchfinallyexpression = this.multipleInputCache.computeIfAbsent(inputKey, _function); | ||
393 | } finally { | ||
394 | this.popEventKey(inputKey); | ||
395 | } | ||
396 | _xblockexpression = _xtrycatchfinallyexpression; | ||
397 | } | ||
398 | return _xblockexpression; | ||
399 | } | ||
400 | |||
401 | protected EventCollection materializeConnectedEvents(final Component component, final InputEvent inputEvent) { | ||
402 | EventCollection _xblockexpression = null; | ||
403 | { | ||
404 | final Input input = this.findInput(component, inputEvent); | ||
405 | final EventCollection.Builder builder = EventCollection.builder(); | ||
406 | EList<Connection> _incomingConnections = input.getIncomingConnections(); | ||
407 | for (final Connection connection : _incomingConnections) { | ||
408 | { | ||
409 | final Event materializedEvent = this.getOrMaterialize(connection.getOutput()); | ||
410 | builder.add(materializedEvent); | ||
411 | } | ||
412 | } | ||
413 | _xblockexpression = builder.build(); | ||
414 | } | ||
415 | return _xblockexpression; | ||
416 | } | ||
417 | |||
418 | protected Input findInput(final Component component, final InputEvent inputEvent) { | ||
419 | final Function1<Input, Boolean> _function = (Input it) -> { | ||
420 | InputEvent _inputEvent = it.getInputEvent(); | ||
421 | return Boolean.valueOf(Objects.equal(_inputEvent, inputEvent)); | ||
422 | }; | ||
423 | final Input input = IterableExtensions.<Input>findFirst(component.getInputs(), _function); | ||
424 | if ((input == null)) { | ||
425 | StringConcatenation _builder = new StringConcatenation(); | ||
426 | _builder.append("No input "); | ||
427 | _builder.append(inputEvent); | ||
428 | _builder.append(" in component "); | ||
429 | _builder.append(component); | ||
430 | throw new IllegalArgumentException(_builder.toString()); | ||
431 | } | ||
432 | return input; | ||
433 | } | ||
434 | |||
435 | private void pushEventKey(final EventMaterializer.EventKey<? extends EventDeclaration> eventKey) { | ||
436 | boolean _add = this.path.add(eventKey); | ||
437 | boolean _not = (!_add); | ||
438 | if (_not) { | ||
439 | StringConcatenation _builder = new StringConcatenation(); | ||
440 | _builder.append("Circular dependency ["); | ||
441 | { | ||
442 | for(final EventMaterializer.EventKey<? extends EventDeclaration> ancestor : this.path) { | ||
443 | _builder.append(ancestor); | ||
444 | _builder.append(", "); | ||
445 | } | ||
446 | } | ||
447 | _builder.append(eventKey); | ||
448 | _builder.append("] detected"); | ||
449 | throw new IllegalStateException(_builder.toString()); | ||
450 | } | ||
451 | } | ||
452 | |||
453 | private boolean popEventKey(final EventMaterializer.EventKey<? extends EventDeclaration> eventKey) { | ||
454 | return this.path.remove(eventKey); | ||
455 | } | ||
456 | } | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/FaultTreeBuilder.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/FaultTreeBuilder.java new file mode 100644 index 00000000..9b2dfd76 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/FaultTreeBuilder.java | |||
@@ -0,0 +1,57 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft; | ||
2 | |||
3 | import com.google.common.base.Objects; | ||
4 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FaultTree; | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtFactory; | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Gate; | ||
7 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent; | ||
8 | import java.util.Collection; | ||
9 | import org.eclipse.emf.common.util.EList; | ||
10 | import org.eclipse.emf.ecore.EObject; | ||
11 | import org.eclipse.xtend.lib.annotations.Accessors; | ||
12 | import org.eclipse.xtext.xbase.lib.Pure; | ||
13 | |||
14 | @SuppressWarnings("all") | ||
15 | public class FaultTreeBuilder { | ||
16 | @Accessors | ||
17 | private final FaultTree faultTree = FtFactory.eINSTANCE.createFaultTree(); | ||
18 | |||
19 | public void addTopLevel(final RandomEvent event) { | ||
20 | RandomEvent _topEvent = this.faultTree.getTopEvent(); | ||
21 | boolean _tripleNotEquals = (_topEvent != null); | ||
22 | if (_tripleNotEquals) { | ||
23 | throw new IllegalStateException("Top event was already set"); | ||
24 | } | ||
25 | this.add(event); | ||
26 | this.faultTree.setTopEvent(event); | ||
27 | } | ||
28 | |||
29 | protected void add(final RandomEvent event) { | ||
30 | EObject _eContainer = this.faultTree.eContainer(); | ||
31 | boolean _equals = Objects.equal(_eContainer, this.faultTree); | ||
32 | if (_equals) { | ||
33 | return; | ||
34 | } | ||
35 | EObject _eContainer_1 = this.faultTree.eContainer(); | ||
36 | boolean _tripleNotEquals = (_eContainer_1 != null); | ||
37 | if (_tripleNotEquals) { | ||
38 | throw new IllegalStateException("Event is already in a different fault tree"); | ||
39 | } | ||
40 | EList<RandomEvent> _events = this.faultTree.getEvents(); | ||
41 | _events.add(event); | ||
42 | if ((event instanceof Gate)) { | ||
43 | this.addAll(((Gate)event).getInputEvents()); | ||
44 | } | ||
45 | } | ||
46 | |||
47 | protected void addAll(final Collection<RandomEvent> events) { | ||
48 | for (final RandomEvent event : events) { | ||
49 | this.add(event); | ||
50 | } | ||
51 | } | ||
52 | |||
53 | @Pure | ||
54 | public FaultTree getFaultTree() { | ||
55 | return this.faultTree; | ||
56 | } | ||
57 | } | ||
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 index d26ae359..f705fefe 100644 --- 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 | |||
Binary files 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 index 03d6064f..bab76345 100644 --- 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 | |||
Binary files 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 index 1f6758ac..257bfc56 100644 --- 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 | |||
Binary files 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 index 3569c02f..a1339a18 100644 --- 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 | |||
Binary files 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 index 378550ba..ba19d0fb 100644 --- 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 | |||
Binary files 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 index 0b0e534a..1e8612b2 100644 --- 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 | |||
Binary files 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 index 5e26d4e4..ebe80f2e 100644 --- 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 | |||
Binary files 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 index 8fb7f13f..03bd16f8 100644 --- 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 | |||
Binary files differ | |||
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 index 8b2d9d97..a63c8e78 100644 --- 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 | |||
@@ -3,6 +3,7 @@ package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft; | |||
3 | import com.google.common.collect.ImmutableList; | 3 | import com.google.common.collect.ImmutableList; |
4 | import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition; | 4 | import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition; |
5 | import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition; | 5 | import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition; |
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentFaultTree; | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.ComponentFaultTreeTrace; | 7 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.ComponentFaultTreeTrace; |
7 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.MappingHandler; | 8 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.MappingHandler; |
8 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.MappingQueries; | 9 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.MappingQueries; |
@@ -23,13 +24,18 @@ public class Ecore2CftTransformation { | |||
23 | this.mappingHandlers = ImmutableList.<MappingHandler>copyOf(ListExtensions.<MappingDefinition, MappingHandler>map(transformationDefinition.getMappingDefinitions(), _function)); | 24 | this.mappingHandlers = ImmutableList.<MappingHandler>copyOf(ListExtensions.<MappingDefinition, MappingHandler>map(transformationDefinition.getMappingDefinitions(), _function)); |
24 | } | 25 | } |
25 | 26 | ||
26 | public void createComponentFaultTree() { | 27 | public ComponentFaultTree createComponentFaultTree() { |
27 | final ComponentFaultTreeTrace trace = new ComponentFaultTreeTrace(); | 28 | ComponentFaultTree _xblockexpression = null; |
28 | for (final MappingHandler handler : this.mappingHandlers) { | 29 | { |
29 | handler.instantiateComponents(trace); | 30 | final ComponentFaultTreeTrace trace = new ComponentFaultTreeTrace(); |
30 | } | 31 | for (final MappingHandler handler : this.mappingHandlers) { |
31 | for (final MappingHandler handler_1 : this.mappingHandlers) { | 32 | handler.instantiateComponents(trace); |
32 | handler_1.instantiateConnections(trace); | 33 | } |
34 | for (final MappingHandler handler_1 : this.mappingHandlers) { | ||
35 | handler_1.instantiateConnections(trace); | ||
36 | } | ||
37 | _xblockexpression = trace.getComponentFaultTree(); | ||
33 | } | 38 | } |
39 | return _xblockexpression; | ||
34 | } | 40 | } |
35 | } | 41 | } |
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ft2galileo/.Ft2GalileoTransformation.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ft2galileo/.Ft2GalileoTransformation.xtendbin new file mode 100644 index 00000000..9fe75a0f --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ft2galileo/.Ft2GalileoTransformation.xtendbin | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ft2galileo/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ft2galileo/.gitignore new file mode 100644 index 00000000..3f932890 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ft2galileo/.gitignore | |||
@@ -0,0 +1 @@ | |||
/.Ft2GalileoTransformation.java._trace | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ft2galileo/Ft2GalileoTransformation.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ft2galileo/Ft2GalileoTransformation.java new file mode 100644 index 00000000..e900c62a --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ft2galileo/Ft2GalileoTransformation.java | |||
@@ -0,0 +1,181 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ft2galileo; | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.AndGate; | ||
4 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.BasicEvent; | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantDistribution; | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Distribution; | ||
7 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ExponentialDistribution; | ||
8 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FaultTree; | ||
9 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Gate; | ||
10 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.KOfMGate; | ||
11 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.OrGate; | ||
12 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent; | ||
13 | import java.util.Arrays; | ||
14 | import org.eclipse.emf.common.util.EList; | ||
15 | import org.eclipse.xtend2.lib.StringConcatenation; | ||
16 | import org.eclipse.xtend2.lib.StringConcatenationClient; | ||
17 | |||
18 | @SuppressWarnings("all") | ||
19 | public class Ft2GalileoTransformation { | ||
20 | public CharSequence toGalileo(final FaultTree faultTree) { | ||
21 | StringConcatenation _builder = new StringConcatenation(); | ||
22 | _builder.append("toplevel "); | ||
23 | String _name = faultTree.getTopEvent().getName(); | ||
24 | _builder.append(_name); | ||
25 | _builder.append(";"); | ||
26 | _builder.newLineIfNotEmpty(); | ||
27 | { | ||
28 | EList<RandomEvent> _events = faultTree.getEvents(); | ||
29 | for(final RandomEvent event : _events) { | ||
30 | String _name_1 = event.getName(); | ||
31 | _builder.append(_name_1); | ||
32 | _builder.append(" "); | ||
33 | StringConcatenationClient _defineEvent = this.defineEvent(event); | ||
34 | _builder.append(_defineEvent); | ||
35 | _builder.append(";"); | ||
36 | _builder.newLineIfNotEmpty(); | ||
37 | } | ||
38 | } | ||
39 | return _builder; | ||
40 | } | ||
41 | |||
42 | protected StringConcatenationClient _defineEvent(final BasicEvent basicEvent) { | ||
43 | return this.defineDistribution(basicEvent.getDistribution()); | ||
44 | } | ||
45 | |||
46 | protected StringConcatenationClient _defineDistribution(final ConstantDistribution distribution) { | ||
47 | StringConcatenationClient _client = new StringConcatenationClient() { | ||
48 | @Override | ||
49 | protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) { | ||
50 | _builder.append("p="); | ||
51 | double _p = distribution.getP(); | ||
52 | _builder.append(_p); | ||
53 | } | ||
54 | }; | ||
55 | return _client; | ||
56 | } | ||
57 | |||
58 | protected StringConcatenationClient _defineDistribution(final ExponentialDistribution distribution) { | ||
59 | StringConcatenationClient _client = new StringConcatenationClient() { | ||
60 | @Override | ||
61 | protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) { | ||
62 | _builder.append("lambda="); | ||
63 | double _lambda = distribution.getLambda(); | ||
64 | _builder.append(_lambda); | ||
65 | } | ||
66 | }; | ||
67 | return _client; | ||
68 | } | ||
69 | |||
70 | protected StringConcatenationClient _defineDistribution(final Distribution distribution) { | ||
71 | throw new IllegalArgumentException(("Unknown distribution: " + distribution)); | ||
72 | } | ||
73 | |||
74 | protected StringConcatenationClient _defineEvent(final Gate gate) { | ||
75 | StringConcatenationClient _client = new StringConcatenationClient() { | ||
76 | @Override | ||
77 | protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) { | ||
78 | StringConcatenationClient _defineGate = Ft2GalileoTransformation.this.defineGate(gate); | ||
79 | _builder.append(_defineGate); | ||
80 | _builder.append(" "); | ||
81 | { | ||
82 | EList<RandomEvent> _inputEvents = gate.getInputEvents(); | ||
83 | boolean _hasElements = false; | ||
84 | for(final RandomEvent input : _inputEvents) { | ||
85 | if (!_hasElements) { | ||
86 | _hasElements = true; | ||
87 | } else { | ||
88 | _builder.appendImmediate(" ", ""); | ||
89 | } | ||
90 | String _name = input.getName(); | ||
91 | _builder.append(_name); | ||
92 | } | ||
93 | } | ||
94 | } | ||
95 | }; | ||
96 | return _client; | ||
97 | } | ||
98 | |||
99 | protected StringConcatenationClient _defineGate(final AndGate gate) { | ||
100 | StringConcatenationClient _client = new StringConcatenationClient() { | ||
101 | @Override | ||
102 | protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) { | ||
103 | _builder.append("and"); | ||
104 | } | ||
105 | }; | ||
106 | return _client; | ||
107 | } | ||
108 | |||
109 | protected StringConcatenationClient _defineGate(final OrGate gate) { | ||
110 | StringConcatenationClient _client = new StringConcatenationClient() { | ||
111 | @Override | ||
112 | protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) { | ||
113 | _builder.append("or"); | ||
114 | } | ||
115 | }; | ||
116 | return _client; | ||
117 | } | ||
118 | |||
119 | protected StringConcatenationClient _defineGate(final KOfMGate gate) { | ||
120 | StringConcatenationClient _client = new StringConcatenationClient() { | ||
121 | @Override | ||
122 | protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) { | ||
123 | int _k = gate.getK(); | ||
124 | _builder.append(_k); | ||
125 | _builder.append("of"); | ||
126 | int _size = gate.getInputEvents().size(); | ||
127 | _builder.append(_size); | ||
128 | } | ||
129 | }; | ||
130 | return _client; | ||
131 | } | ||
132 | |||
133 | protected StringConcatenationClient _defineGate(final Gate gate) { | ||
134 | throw new IllegalArgumentException(("Unknown gate: " + gate)); | ||
135 | } | ||
136 | |||
137 | protected StringConcatenationClient _defineEvent(final RandomEvent randomEvent) { | ||
138 | throw new IllegalArgumentException(("Unknown random even: " + randomEvent)); | ||
139 | } | ||
140 | |||
141 | protected StringConcatenationClient defineEvent(final RandomEvent basicEvent) { | ||
142 | if (basicEvent instanceof BasicEvent) { | ||
143 | return _defineEvent((BasicEvent)basicEvent); | ||
144 | } else if (basicEvent instanceof Gate) { | ||
145 | return _defineEvent((Gate)basicEvent); | ||
146 | } else if (basicEvent != null) { | ||
147 | return _defineEvent(basicEvent); | ||
148 | } else { | ||
149 | throw new IllegalArgumentException("Unhandled parameter types: " + | ||
150 | Arrays.<Object>asList(basicEvent).toString()); | ||
151 | } | ||
152 | } | ||
153 | |||
154 | protected StringConcatenationClient defineDistribution(final Distribution distribution) { | ||
155 | if (distribution instanceof ConstantDistribution) { | ||
156 | return _defineDistribution((ConstantDistribution)distribution); | ||
157 | } else if (distribution instanceof ExponentialDistribution) { | ||
158 | return _defineDistribution((ExponentialDistribution)distribution); | ||
159 | } else if (distribution != null) { | ||
160 | return _defineDistribution(distribution); | ||
161 | } else { | ||
162 | throw new IllegalArgumentException("Unhandled parameter types: " + | ||
163 | Arrays.<Object>asList(distribution).toString()); | ||
164 | } | ||
165 | } | ||
166 | |||
167 | protected StringConcatenationClient defineGate(final Gate gate) { | ||
168 | if (gate instanceof AndGate) { | ||
169 | return _defineGate((AndGate)gate); | ||
170 | } else if (gate instanceof KOfMGate) { | ||
171 | return _defineGate((KOfMGate)gate); | ||
172 | } else if (gate instanceof OrGate) { | ||
173 | return _defineGate((OrGate)gate); | ||
174 | } else if (gate != null) { | ||
175 | return _defineGate(gate); | ||
176 | } else { | ||
177 | throw new IllegalArgumentException("Unhandled parameter types: " + | ||
178 | Arrays.<Object>asList(gate).toString()); | ||
179 | } | ||
180 | } | ||
181 | } | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.ReliabilityResult.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.ReliabilityResult.xtendbin new file mode 100644 index 00000000..57c4608d --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.ReliabilityResult.xtendbin | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftConfiguration.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftConfiguration.xtendbin new file mode 100644 index 00000000..f5cb52f4 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftConfiguration.xtendbin | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftHandler.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftHandler.xtendbin new file mode 100644 index 00000000..5dad0728 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftHandler.xtendbin | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftSolver.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftSolver.xtendbin new file mode 100644 index 00000000..abd8a501 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftSolver.xtendbin | |||
Binary files differ | |||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.gitignore new file mode 100644 index 00000000..59cc8fe8 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.gitignore | |||
@@ -0,0 +1,9 @@ | |||
1 | /.StormDftSolver.java._trace | ||
2 | /.StormDftConfiguration.java._trace | ||
3 | /.StormDftMttfConfiguration.java._trace | ||
4 | /.FtAnalysisObjective.java._trace | ||
5 | /.ApproximationHeuristic.java._trace | ||
6 | /.StormDftHandler.java._trace | ||
7 | /.StormDftException.java._trace | ||
8 | /.ReliabilityModelSolution.java._trace | ||
9 | /.ReliabilityResult.java._trace | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/ApproximationHeuristic.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/ApproximationHeuristic.java new file mode 100644 index 00000000..822d4f36 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/ApproximationHeuristic.java | |||
@@ -0,0 +1,8 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver; | ||
2 | |||
3 | @SuppressWarnings("all") | ||
4 | public enum ApproximationHeuristic { | ||
5 | NONE, | ||
6 | |||
7 | DEPTH; | ||
8 | } | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/FtAnalysisObjective.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/FtAnalysisObjective.java new file mode 100644 index 00000000..528ada42 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/FtAnalysisObjective.java | |||
@@ -0,0 +1,14 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver; | ||
2 | |||
3 | @SuppressWarnings("all") | ||
4 | public abstract class FtAnalysisObjective { | ||
5 | public static final class TimeBound extends FtAnalysisObjective { | ||
6 | public double timeBound = 0; | ||
7 | } | ||
8 | |||
9 | public static final FtAnalysisObjective MTTF = new FtAnalysisObjective() { | ||
10 | }; | ||
11 | |||
12 | private FtAnalysisObjective() { | ||
13 | } | ||
14 | } | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/ReliabilityResult.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/ReliabilityResult.java new file mode 100644 index 00000000..c8c8b000 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/ReliabilityResult.java | |||
@@ -0,0 +1,156 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver; | ||
2 | |||
3 | import org.eclipse.xtend.lib.annotations.Data; | ||
4 | import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor; | ||
5 | import org.eclipse.xtext.xbase.lib.Pure; | ||
6 | import org.eclipse.xtext.xbase.lib.util.ToStringBuilder; | ||
7 | |||
8 | @SuppressWarnings("all") | ||
9 | public abstract class ReliabilityResult { | ||
10 | @Data | ||
11 | public static final class Solution extends ReliabilityResult { | ||
12 | private final double lowerBound; | ||
13 | |||
14 | private final double upperBound; | ||
15 | |||
16 | public Solution(final double value) { | ||
17 | this(value, value); | ||
18 | } | ||
19 | |||
20 | public Solution(final double lowerBound, final double upperBound) { | ||
21 | if ((lowerBound > upperBound)) { | ||
22 | throw new IllegalArgumentException("lowerBound must not be larger than upperBound"); | ||
23 | } | ||
24 | this.lowerBound = lowerBound; | ||
25 | this.upperBound = upperBound; | ||
26 | } | ||
27 | |||
28 | @Override | ||
29 | public ReliabilityResult.Solution getOrThrow() { | ||
30 | return this; | ||
31 | } | ||
32 | |||
33 | @Override | ||
34 | @Pure | ||
35 | public int hashCode() { | ||
36 | final int prime = 31; | ||
37 | int result = 1; | ||
38 | result = prime * result + (int) (Double.doubleToLongBits(this.lowerBound) ^ (Double.doubleToLongBits(this.lowerBound) >>> 32)); | ||
39 | return prime * result + (int) (Double.doubleToLongBits(this.upperBound) ^ (Double.doubleToLongBits(this.upperBound) >>> 32)); | ||
40 | } | ||
41 | |||
42 | @Override | ||
43 | @Pure | ||
44 | public boolean equals(final Object obj) { | ||
45 | if (this == obj) | ||
46 | return true; | ||
47 | if (obj == null) | ||
48 | return false; | ||
49 | if (getClass() != obj.getClass()) | ||
50 | return false; | ||
51 | ReliabilityResult.Solution other = (ReliabilityResult.Solution) obj; | ||
52 | if (Double.doubleToLongBits(other.lowerBound) != Double.doubleToLongBits(this.lowerBound)) | ||
53 | return false; | ||
54 | if (Double.doubleToLongBits(other.upperBound) != Double.doubleToLongBits(this.upperBound)) | ||
55 | return false; | ||
56 | return true; | ||
57 | } | ||
58 | |||
59 | @Override | ||
60 | @Pure | ||
61 | public String toString() { | ||
62 | return new ToStringBuilder(this) | ||
63 | .addAllFields() | ||
64 | .toString(); | ||
65 | } | ||
66 | |||
67 | @Pure | ||
68 | public double getLowerBound() { | ||
69 | return this.lowerBound; | ||
70 | } | ||
71 | |||
72 | @Pure | ||
73 | public double getUpperBound() { | ||
74 | return this.upperBound; | ||
75 | } | ||
76 | } | ||
77 | |||
78 | @Data | ||
79 | public static final class Unknown extends ReliabilityResult { | ||
80 | private final String message; | ||
81 | |||
82 | private final Throwable cause; | ||
83 | |||
84 | @FinalFieldsConstructor | ||
85 | public Unknown(final String message, final Throwable cause) { | ||
86 | super(); | ||
87 | this.message = message; | ||
88 | this.cause = cause; | ||
89 | } | ||
90 | |||
91 | public Unknown(final String message) { | ||
92 | this(message, null); | ||
93 | } | ||
94 | |||
95 | @Override | ||
96 | public ReliabilityResult.Solution getOrThrow() { | ||
97 | throw new RuntimeException(this.message, this.cause); | ||
98 | } | ||
99 | |||
100 | @Override | ||
101 | @Pure | ||
102 | public int hashCode() { | ||
103 | final int prime = 31; | ||
104 | int result = 1; | ||
105 | result = prime * result + ((this.message== null) ? 0 : this.message.hashCode()); | ||
106 | return prime * result + ((this.cause== null) ? 0 : this.cause.hashCode()); | ||
107 | } | ||
108 | |||
109 | @Override | ||
110 | @Pure | ||
111 | public boolean equals(final Object obj) { | ||
112 | if (this == obj) | ||
113 | return true; | ||
114 | if (obj == null) | ||
115 | return false; | ||
116 | if (getClass() != obj.getClass()) | ||
117 | return false; | ||
118 | ReliabilityResult.Unknown other = (ReliabilityResult.Unknown) obj; | ||
119 | if (this.message == null) { | ||
120 | if (other.message != null) | ||
121 | return false; | ||
122 | } else if (!this.message.equals(other.message)) | ||
123 | return false; | ||
124 | if (this.cause == null) { | ||
125 | if (other.cause != null) | ||
126 | return false; | ||
127 | } else if (!this.cause.equals(other.cause)) | ||
128 | return false; | ||
129 | return true; | ||
130 | } | ||
131 | |||
132 | @Override | ||
133 | @Pure | ||
134 | public String toString() { | ||
135 | return new ToStringBuilder(this) | ||
136 | .addAllFields() | ||
137 | .toString(); | ||
138 | } | ||
139 | |||
140 | @Pure | ||
141 | public String getMessage() { | ||
142 | return this.message; | ||
143 | } | ||
144 | |||
145 | @Pure | ||
146 | public Throwable getCause() { | ||
147 | return this.cause; | ||
148 | } | ||
149 | } | ||
150 | |||
151 | public static final ReliabilityResult.Unknown TIMEOUT = new ReliabilityResult.Unknown("Solver timed out"); | ||
152 | |||
153 | public static final ReliabilityResult.Unknown MEMOUT = new ReliabilityResult.Unknown("Solver out of memory"); | ||
154 | |||
155 | public abstract ReliabilityResult.Solution getOrThrow(); | ||
156 | } | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftConfiguration.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftConfiguration.java new file mode 100644 index 00000000..e1bb3625 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftConfiguration.java | |||
@@ -0,0 +1,31 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver; | ||
2 | |||
3 | import com.google.common.base.Objects; | ||
4 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver.ApproximationHeuristic; | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver.FtAnalysisObjective; | ||
6 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.SolverConfiguration; | ||
7 | |||
8 | @SuppressWarnings("all") | ||
9 | public final class StormDftConfiguration extends SolverConfiguration { | ||
10 | public static final String DEFAULT_SOLVER_PATH = "storm-dft"; | ||
11 | |||
12 | public double precision = 1e-6; | ||
13 | |||
14 | public boolean bisimulation = true; | ||
15 | |||
16 | public boolean symmetryReduction = true; | ||
17 | |||
18 | public boolean modularization = true; | ||
19 | |||
20 | public boolean dontCarePropagation = true; | ||
21 | |||
22 | public double approximation = 0; | ||
23 | |||
24 | public ApproximationHeuristic approximationHeuristic = ApproximationHeuristic.NONE; | ||
25 | |||
26 | public FtAnalysisObjective objective; | ||
27 | |||
28 | public boolean isApproximationInUse() { | ||
29 | return (!Objects.equal(this.approximationHeuristic, ApproximationHeuristic.NONE)); | ||
30 | } | ||
31 | } | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftException.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftException.java new file mode 100644 index 00000000..955c9ed1 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftException.java | |||
@@ -0,0 +1,12 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver; | ||
2 | |||
3 | @SuppressWarnings("all") | ||
4 | public class StormDftException extends RuntimeException { | ||
5 | public StormDftException(final String s) { | ||
6 | super(s); | ||
7 | } | ||
8 | |||
9 | public StormDftException(final String s, final Exception e) { | ||
10 | super(s, e); | ||
11 | } | ||
12 | } | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftHandler.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftHandler.java new file mode 100644 index 00000000..003d9cc5 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftHandler.java | |||
@@ -0,0 +1,351 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver; | ||
2 | |||
3 | import com.google.common.base.Objects; | ||
4 | import com.google.common.collect.ImmutableList; | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver.ApproximationHeuristic; | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver.FtAnalysisObjective; | ||
7 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver.ReliabilityResult; | ||
8 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver.StormDftConfiguration; | ||
9 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver.StormDftException; | ||
10 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel; | ||
11 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.SolverConfiguration; | ||
12 | import java.io.BufferedReader; | ||
13 | import java.io.IOException; | ||
14 | import java.io.InputStream; | ||
15 | import java.io.InputStreamReader; | ||
16 | import java.util.ArrayList; | ||
17 | import java.util.regex.Matcher; | ||
18 | import java.util.regex.Pattern; | ||
19 | import jnr.constants.platform.Signal; | ||
20 | import org.apache.commons.lang.SystemUtils; | ||
21 | import org.eclipse.xtend2.lib.StringConcatenation; | ||
22 | import org.eclipse.xtext.xbase.lib.CollectionLiterals; | ||
23 | import org.eclipse.xtext.xbase.lib.Conversions; | ||
24 | import org.eclipse.xtext.xbase.lib.Exceptions; | ||
25 | import org.eclipse.xtext.xbase.lib.Extension; | ||
26 | import org.eclipse.xtext.xbase.lib.Functions.Function0; | ||
27 | import org.eclipse.xtext.xbase.lib.Functions.Function1; | ||
28 | import org.eclipse.xtext.xbase.lib.InputOutput; | ||
29 | import org.eclipse.xtext.xbase.lib.IterableExtensions; | ||
30 | |||
31 | @SuppressWarnings("all") | ||
32 | public class StormDftHandler { | ||
33 | private static final String DOUBLE_REGEX = "[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?"; | ||
34 | |||
35 | private static final String SINGLE_RESULT_GROUP = "single"; | ||
36 | |||
37 | private static final String LOWER_BOUND_GROUP = "lower"; | ||
38 | |||
39 | private static final String UPPER_BOUND_GROUP = "upper"; | ||
40 | |||
41 | private static final String RESULT_REGEX = new Function0<String>() { | ||
42 | public String apply() { | ||
43 | StringConcatenation _builder = new StringConcatenation(); | ||
44 | _builder.append("^Result:\\s*\\[(?:(?<"); | ||
45 | _builder.append(StormDftHandler.SINGLE_RESULT_GROUP); | ||
46 | _builder.append(">"); | ||
47 | _builder.append(StormDftHandler.DOUBLE_REGEX); | ||
48 | _builder.append(")|\\((?<"); | ||
49 | _builder.append(StormDftHandler.LOWER_BOUND_GROUP); | ||
50 | _builder.append(">"); | ||
51 | _builder.append(StormDftHandler.DOUBLE_REGEX); | ||
52 | _builder.append("),\\s*(?<"); | ||
53 | _builder.append(StormDftHandler.UPPER_BOUND_GROUP); | ||
54 | _builder.append(">"); | ||
55 | _builder.append(StormDftHandler.DOUBLE_REGEX); | ||
56 | _builder.append(")\\))\\]"); | ||
57 | return _builder.toString(); | ||
58 | } | ||
59 | }.apply(); | ||
60 | |||
61 | private static final Pattern RESULT_PATTERN = Pattern.compile(StormDftHandler.RESULT_REGEX); | ||
62 | |||
63 | private static final int SIGNAL_EXIT_VALUE_OFFSET = new Function0<Integer>() { | ||
64 | public Integer apply() { | ||
65 | int _xifexpression = (int) 0; | ||
66 | if (SystemUtils.IS_OS_SOLARIS) { | ||
67 | _xifexpression = 0; | ||
68 | } else { | ||
69 | _xifexpression = 0x80; | ||
70 | } | ||
71 | return _xifexpression; | ||
72 | } | ||
73 | }.apply().intValue(); | ||
74 | |||
75 | private static final int STORM_GENERAL_ERROR = ((-1) & 0xff); | ||
76 | |||
77 | private static final int STORM_TIMEOUT = ((-2) & 0xff); | ||
78 | |||
79 | private static final int STORM_MEMOUT = ((-3) & 0xff); | ||
80 | |||
81 | public ReliabilityResult callSolver(final String dftFilePath, final StormDftConfiguration configuration) { | ||
82 | try { | ||
83 | ReliabilityResult _xblockexpression = null; | ||
84 | { | ||
85 | final ImmutableList<String> commandLine = this.toCommandLine(configuration, dftFilePath); | ||
86 | final DocumentationLevel documentationLevel = configuration.documentationLevel; | ||
87 | final boolean printOutput = (Objects.equal(documentationLevel, DocumentationLevel.NORMAL) || | ||
88 | Objects.equal(documentationLevel, DocumentationLevel.FULL)); | ||
89 | final ProcessBuilder processBuilder = new ProcessBuilder().command(commandLine); | ||
90 | Process process = null; | ||
91 | ReliabilityResult _xtrycatchfinallyexpression = null; | ||
92 | try { | ||
93 | ReliabilityResult _xtrycatchfinallyexpression_1 = null; | ||
94 | try { | ||
95 | ReliabilityResult _xblockexpression_1 = null; | ||
96 | { | ||
97 | process = processBuilder.start(); | ||
98 | process.getOutputStream().close(); | ||
99 | final ReliabilityResult.Solution result = this.readOutput(process.getInputStream(), printOutput); | ||
100 | final String error = this.readError(process.getErrorStream(), printOutput); | ||
101 | final int exitValue = process.waitFor(); | ||
102 | ReliabilityResult _xifexpression = null; | ||
103 | if ((result == null)) { | ||
104 | _xifexpression = this.interpretExitStatus(exitValue, error); | ||
105 | } else { | ||
106 | _xifexpression = result; | ||
107 | } | ||
108 | _xblockexpression_1 = _xifexpression; | ||
109 | } | ||
110 | _xtrycatchfinallyexpression_1 = _xblockexpression_1; | ||
111 | } catch (final Throwable _t) { | ||
112 | if (_t instanceof IOException) { | ||
113 | final IOException e = (IOException)_t; | ||
114 | throw new StormDftException("Error during input/output handling of the stochastic solver.", e); | ||
115 | } else { | ||
116 | throw Exceptions.sneakyThrow(_t); | ||
117 | } | ||
118 | } | ||
119 | _xtrycatchfinallyexpression = _xtrycatchfinallyexpression_1; | ||
120 | } catch (final Throwable _t_1) { | ||
121 | if (_t_1 instanceof Exception) { | ||
122 | final Exception e_1 = (Exception)_t_1; | ||
123 | if ((process != null)) { | ||
124 | process.destroyForcibly().waitFor(); | ||
125 | } | ||
126 | throw e_1; | ||
127 | } else { | ||
128 | throw Exceptions.sneakyThrow(_t_1); | ||
129 | } | ||
130 | } | ||
131 | _xblockexpression = _xtrycatchfinallyexpression; | ||
132 | } | ||
133 | return _xblockexpression; | ||
134 | } catch (Throwable _e) { | ||
135 | throw Exceptions.sneakyThrow(_e); | ||
136 | } | ||
137 | } | ||
138 | |||
139 | private ImmutableList<String> toCommandLine(@Extension final StormDftConfiguration configuration, final String dftFilePath) { | ||
140 | ImmutableList<String> _xblockexpression = null; | ||
141 | { | ||
142 | @Extension | ||
143 | final ImmutableList.Builder<String> optionsBuilder = ImmutableList.<String>builder(); | ||
144 | String _elvis = null; | ||
145 | if (configuration.solverPath != null) { | ||
146 | _elvis = configuration.solverPath; | ||
147 | } else { | ||
148 | _elvis = StormDftConfiguration.DEFAULT_SOLVER_PATH; | ||
149 | } | ||
150 | optionsBuilder.add(_elvis); | ||
151 | if ((configuration.runtimeLimit != SolverConfiguration.Unlimited)) { | ||
152 | optionsBuilder.add("--timeout", Integer.valueOf(configuration.runtimeLimit).toString()); | ||
153 | } | ||
154 | optionsBuilder.add("--precision", Double.valueOf(configuration.precision).toString()); | ||
155 | if (configuration.bisimulation) { | ||
156 | optionsBuilder.add("--bisimulation"); | ||
157 | } | ||
158 | if (configuration.symmetryReduction) { | ||
159 | optionsBuilder.add("--symmetryreduction"); | ||
160 | } | ||
161 | if (configuration.modularization) { | ||
162 | optionsBuilder.add("--modularisation"); | ||
163 | } | ||
164 | if ((!configuration.dontCarePropagation)) { | ||
165 | optionsBuilder.add("--disabledc"); | ||
166 | } | ||
167 | boolean _isApproximationInUse = configuration.isApproximationInUse(); | ||
168 | if (_isApproximationInUse) { | ||
169 | String _switchResult = null; | ||
170 | final ApproximationHeuristic approximationHeuristic = configuration.approximationHeuristic; | ||
171 | if (approximationHeuristic != null) { | ||
172 | switch (approximationHeuristic) { | ||
173 | case DEPTH: | ||
174 | _switchResult = "depth"; | ||
175 | break; | ||
176 | default: | ||
177 | throw new IllegalArgumentException(("Unknown approximation heuristic: " + configuration.approximationHeuristic)); | ||
178 | } | ||
179 | } else { | ||
180 | throw new IllegalArgumentException(("Unknown approximation heuristic: " + configuration.approximationHeuristic)); | ||
181 | } | ||
182 | final String heuristicName = _switchResult; | ||
183 | optionsBuilder.add("--approximation", Double.valueOf(configuration.approximation).toString(), "--approximationheuristic", heuristicName); | ||
184 | } | ||
185 | optionsBuilder.add("--dftfile", dftFilePath); | ||
186 | final FtAnalysisObjective objective = configuration.objective; | ||
187 | boolean _matched = false; | ||
188 | if (Objects.equal(objective, FtAnalysisObjective.MTTF)) { | ||
189 | _matched=true; | ||
190 | optionsBuilder.add("--expectedtime"); | ||
191 | } | ||
192 | if (!_matched) { | ||
193 | if (objective instanceof FtAnalysisObjective.TimeBound) { | ||
194 | _matched=true; | ||
195 | optionsBuilder.add("--timebound"); | ||
196 | } | ||
197 | } | ||
198 | if (!_matched) { | ||
199 | throw new IllegalArgumentException(("Unknown analysis objective: " + configuration.objective)); | ||
200 | } | ||
201 | boolean _equals = Objects.equal(configuration.documentationLevel, DocumentationLevel.FULL); | ||
202 | if (_equals) { | ||
203 | optionsBuilder.add("--verbose"); | ||
204 | } | ||
205 | _xblockexpression = optionsBuilder.build(); | ||
206 | } | ||
207 | return _xblockexpression; | ||
208 | } | ||
209 | |||
210 | private ReliabilityResult.Solution readOutput(final InputStream inputStream, final boolean printOutput) { | ||
211 | try { | ||
212 | Object _xblockexpression = null; | ||
213 | { | ||
214 | InputStreamReader _inputStreamReader = new InputStreamReader(inputStream); | ||
215 | final BufferedReader bufferedReader = new BufferedReader(_inputStreamReader); | ||
216 | try { | ||
217 | String line = null; | ||
218 | while (((line = bufferedReader.readLine()) != null)) { | ||
219 | { | ||
220 | if (printOutput) { | ||
221 | InputOutput.<String>println(line); | ||
222 | } | ||
223 | final Matcher matcher = StormDftHandler.RESULT_PATTERN.matcher(line); | ||
224 | boolean _find = matcher.find(); | ||
225 | if (_find) { | ||
226 | try { | ||
227 | final String single = matcher.group(StormDftHandler.SINGLE_RESULT_GROUP); | ||
228 | if ((single != null)) { | ||
229 | final double singleValue = Double.parseDouble(single); | ||
230 | return new ReliabilityResult.Solution(singleValue); | ||
231 | } | ||
232 | final String lower = matcher.group(StormDftHandler.LOWER_BOUND_GROUP); | ||
233 | final String upper = matcher.group(StormDftHandler.UPPER_BOUND_GROUP); | ||
234 | if (((lower != null) && (upper != null))) { | ||
235 | final double lowerValue = Double.parseDouble(lower); | ||
236 | final double upperValue = Double.parseDouble(upper); | ||
237 | return new ReliabilityResult.Solution(lowerValue, upperValue); | ||
238 | } | ||
239 | throw new StormDftException(("Inconsistent stochastic solver output: " + line)); | ||
240 | } catch (final Throwable _t) { | ||
241 | if (_t instanceof NumberFormatException) { | ||
242 | final NumberFormatException e = (NumberFormatException)_t; | ||
243 | throw new StormDftException("Malformatted number from stochastic solver.", e); | ||
244 | } else { | ||
245 | throw Exceptions.sneakyThrow(_t); | ||
246 | } | ||
247 | } | ||
248 | } | ||
249 | } | ||
250 | } | ||
251 | } finally { | ||
252 | bufferedReader.close(); | ||
253 | } | ||
254 | _xblockexpression = null; | ||
255 | } | ||
256 | return ((ReliabilityResult.Solution)_xblockexpression); | ||
257 | } catch (Throwable _e) { | ||
258 | throw Exceptions.sneakyThrow(_e); | ||
259 | } | ||
260 | } | ||
261 | |||
262 | private String readError(final InputStream inputStream, final boolean printOutput) { | ||
263 | try { | ||
264 | String _xblockexpression = null; | ||
265 | { | ||
266 | InputStreamReader _inputStreamReader = new InputStreamReader(inputStream); | ||
267 | final BufferedReader bufferedReader = new BufferedReader(_inputStreamReader); | ||
268 | String _xtrycatchfinallyexpression = null; | ||
269 | try { | ||
270 | String _xblockexpression_1 = null; | ||
271 | { | ||
272 | final ArrayList<String> lines = CollectionLiterals.<String>newArrayList(); | ||
273 | String line = null; | ||
274 | while (((line = bufferedReader.readLine()) != null)) { | ||
275 | { | ||
276 | if (printOutput) { | ||
277 | System.err.println(line); | ||
278 | } | ||
279 | lines.add(line); | ||
280 | } | ||
281 | } | ||
282 | _xblockexpression_1 = IterableExtensions.join(lines, "\n"); | ||
283 | } | ||
284 | _xtrycatchfinallyexpression = _xblockexpression_1; | ||
285 | } finally { | ||
286 | bufferedReader.close(); | ||
287 | } | ||
288 | _xblockexpression = _xtrycatchfinallyexpression; | ||
289 | } | ||
290 | return _xblockexpression; | ||
291 | } catch (Throwable _e) { | ||
292 | throw Exceptions.sneakyThrow(_e); | ||
293 | } | ||
294 | } | ||
295 | |||
296 | private ReliabilityResult.Unknown interpretExitStatus(final int exitValue, final String error) { | ||
297 | ReliabilityResult.Unknown _switchResult = null; | ||
298 | boolean _matched = false; | ||
299 | if (Objects.equal(exitValue, StormDftHandler.STORM_GENERAL_ERROR)) { | ||
300 | _matched=true; | ||
301 | throw new StormDftException(("Storm error: " + error)); | ||
302 | } | ||
303 | if (!_matched) { | ||
304 | if (Objects.equal(exitValue, StormDftHandler.STORM_TIMEOUT)) { | ||
305 | _matched=true; | ||
306 | } | ||
307 | if (!_matched) { | ||
308 | int _intValue = Signal.SIGXCPU.intValue(); | ||
309 | int _plus = (StormDftHandler.SIGNAL_EXIT_VALUE_OFFSET + _intValue); | ||
310 | if (Objects.equal(exitValue, _plus)) { | ||
311 | _matched=true; | ||
312 | } | ||
313 | } | ||
314 | if (_matched) { | ||
315 | _switchResult = ReliabilityResult.TIMEOUT; | ||
316 | } | ||
317 | } | ||
318 | if (!_matched) { | ||
319 | if (Objects.equal(exitValue, StormDftHandler.STORM_MEMOUT)) { | ||
320 | _matched=true; | ||
321 | } | ||
322 | if (!_matched) { | ||
323 | int _intValue_1 = Signal.SIGXFSZ.intValue(); | ||
324 | int _plus_1 = (StormDftHandler.SIGNAL_EXIT_VALUE_OFFSET + _intValue_1); | ||
325 | if (Objects.equal(exitValue, _plus_1)) { | ||
326 | _matched=true; | ||
327 | } | ||
328 | } | ||
329 | if (_matched) { | ||
330 | _switchResult = ReliabilityResult.MEMOUT; | ||
331 | } | ||
332 | } | ||
333 | if (!_matched) { | ||
334 | { | ||
335 | if ((exitValue > StormDftHandler.SIGNAL_EXIT_VALUE_OFFSET)) { | ||
336 | final int signalNumber = (exitValue - StormDftHandler.SIGNAL_EXIT_VALUE_OFFSET); | ||
337 | final Function1<Signal, Boolean> _function = (Signal it) -> { | ||
338 | int _intValue_2 = it.intValue(); | ||
339 | return Boolean.valueOf((_intValue_2 == signalNumber)); | ||
340 | }; | ||
341 | final Signal signal = IterableExtensions.<Signal>findFirst(((Iterable<Signal>)Conversions.doWrapArray(Signal.values())), _function); | ||
342 | if ((signal != null)) { | ||
343 | throw new StormDftException(((("Storm unexpectedly killed by signal " + signal) + ": ") + error)); | ||
344 | } | ||
345 | } | ||
346 | throw new StormDftException(((("Storm unexpectedly exit with status " + Integer.valueOf(exitValue)) + ": ") + error)); | ||
347 | } | ||
348 | } | ||
349 | return _switchResult; | ||
350 | } | ||
351 | } | ||
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftSolver.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftSolver.java new file mode 100644 index 00000000..491e7fc1 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/StormDftSolver.java | |||
@@ -0,0 +1,79 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver; | ||
2 | |||
3 | import com.google.common.base.Objects; | ||
4 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantModel; | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FaultTree; | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ReliabilityModel; | ||
7 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ft2galileo.Ft2GalileoTransformation; | ||
8 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver.FtAnalysisObjective; | ||
9 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver.ReliabilityResult; | ||
10 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver.StormDftConfiguration; | ||
11 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.solver.StormDftHandler; | ||
12 | import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace; | ||
13 | |||
14 | @SuppressWarnings("all") | ||
15 | public class StormDftSolver { | ||
16 | private static final String DFT_FILE_NAME = "ft.dft"; | ||
17 | |||
18 | private final Ft2GalileoTransformation ft2Galileo = new Ft2GalileoTransformation(); | ||
19 | |||
20 | private final StormDftHandler handler = new StormDftHandler(); | ||
21 | |||
22 | public ReliabilityResult solve(final ReliabilityModel reliabilityModel, final StormDftConfiguration configuration, final ReasonerWorkspace reasonerWorkspace) { | ||
23 | ReliabilityResult _switchResult = null; | ||
24 | boolean _matched = false; | ||
25 | if (reliabilityModel instanceof FaultTree) { | ||
26 | _matched=true; | ||
27 | _switchResult = this.solve(((FaultTree)reliabilityModel), configuration, reasonerWorkspace); | ||
28 | } | ||
29 | if (!_matched) { | ||
30 | if (reliabilityModel instanceof ConstantModel) { | ||
31 | _matched=true; | ||
32 | ReliabilityResult.Solution _xblockexpression = null; | ||
33 | { | ||
34 | double _xifexpression = (double) 0; | ||
35 | boolean _isFailed = ((ConstantModel)reliabilityModel).isFailed(); | ||
36 | if (_isFailed) { | ||
37 | _xifexpression = 0; | ||
38 | } else { | ||
39 | double _switchResult_1 = (double) 0; | ||
40 | final FtAnalysisObjective objective = configuration.objective; | ||
41 | boolean _matched_1 = false; | ||
42 | if (Objects.equal(objective, FtAnalysisObjective.MTTF)) { | ||
43 | _matched_1=true; | ||
44 | _switchResult_1 = Double.POSITIVE_INFINITY; | ||
45 | } | ||
46 | if (!_matched_1) { | ||
47 | if (objective instanceof FtAnalysisObjective.TimeBound) { | ||
48 | _matched_1=true; | ||
49 | _switchResult_1 = 1; | ||
50 | } | ||
51 | } | ||
52 | if (!_matched_1) { | ||
53 | throw new IllegalArgumentException(("Unknown objective: " + objective)); | ||
54 | } | ||
55 | _xifexpression = _switchResult_1; | ||
56 | } | ||
57 | final double result = _xifexpression; | ||
58 | _xblockexpression = new ReliabilityResult.Solution(result); | ||
59 | } | ||
60 | _switchResult = _xblockexpression; | ||
61 | } | ||
62 | } | ||
63 | if (!_matched) { | ||
64 | throw new IllegalArgumentException(("Unknown reliability model: " + reliabilityModel)); | ||
65 | } | ||
66 | return _switchResult; | ||
67 | } | ||
68 | |||
69 | public ReliabilityResult solve(final FaultTree faultTree, final StormDftConfiguration configuration, final ReasonerWorkspace reasonerWorkspace) { | ||
70 | ReliabilityResult _xblockexpression = null; | ||
71 | { | ||
72 | final CharSequence galileo = this.ft2Galileo.toGalileo(faultTree); | ||
73 | reasonerWorkspace.writeText(StormDftSolver.DFT_FILE_NAME, galileo); | ||
74 | final String dftFilePath = reasonerWorkspace.getFile(StormDftSolver.DFT_FILE_NAME).getAbsolutePath(); | ||
75 | _xblockexpression = this.handler.callSolver(dftFilePath, configuration); | ||
76 | } | ||
77 | return _xblockexpression; | ||
78 | } | ||
79 | } | ||