blob: a522654ceb17b90cc2d8fc224c3d01bf94547a26 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
package hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentFaultTree
import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.ConstantEvent
import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtFactory
import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent
class Cft2FtTransformation {
def createFaultTree(ComponentFaultTree componentFaultTree) {
val materializer = new EventMaterializer
val topEvent = materializer.getOrMaterialize(componentFaultTree.topEvent)
switch (topEvent) {
ConstantEvent:
FtFactory.eINSTANCE.createConstantModel => [
failed = topEvent.failed
]
RandomEvent: {
val builder = new FaultTreeBuilder
builder.addTopLevel(topEvent)
builder.faultTree
}
}
}
}
|