From 3f5aaab5025b8eb243f414b1c789085327df04f4 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Wed, 20 Mar 2019 16:09:09 +0100 Subject: Fault tree transformation for partial models WIP --- .../faulttree/transformation/ecore2cft/InputTrace.xtend | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend') diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend index c529a09b..b892eff1 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend @@ -5,9 +5,12 @@ import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Component import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Connection import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent +import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Modality import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output import java.util.Map +import static extension hu.bme.mit.inf.dslreasoner.faulttree.model.util.CftExtensions.* + class InputTrace { val Input input = CftFactory.eINSTANCE.createInput val Map connectionsMap = newHashMap @@ -17,13 +20,16 @@ class InputTrace { component.inputs += input } - def void assign(Output output) { + def void assign(Output output, Modality exists) { val connection = connectionsMap.get(output) if (connection === null) { val newConnection = CftFactory.eINSTANCE.createConnection newConnection.output = output + newConnection.exists = exists input.incomingConnections += newConnection connectionsMap.put(output, newConnection) + } else if (exists.isMoreConcreteThan(connection.exists)) { + connection.exists = exists } } } -- cgit v1.2.3-70-g09d2