Repository moved to https://github.com/cmu-sei/emfta
juli1 / emfta Goto Github PK
View Code? Open in Web Editor NEWEMF-based Fault-Tree Analysis Tool
License: Other
EMF-based Fault-Tree Analysis Tool
License: Other
Repository moved to https://github.com/cmu-sei/emfta
EMFTA 1.0.0.201508132201 edu.cmu.emfta.feature.feature.group SEI/CMU
The latest update has the new event gate figures, but certain figures don't display all of their text as shown in the figure below. The event gates are:
The basic gate displays as expected. I am not sure if the issue is in Sirius or if it has something to do with the original image files. The event gate image files in this update were all prepared in the same manner. Please let me know if I need to generate an updated set.
Installed the Eclipse Mars update on the computer, and tried to install emfta using the update site link from the github readme page. Two errors were encountered.
1). With only Eclipse and Sirius installed, installation using the emfta update site, the installation fails because Osate is not installed. Same issue if the Osate bridge check box is left unchecked.
This maybe a user error, i,e, trying to use Eclipse Mars prior to Osate having a Mars release.
An error occurred while collecting items to be installed
session context was:(profile=epp.package.java, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
Artifact not found: https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/plugins/edu.cmu.emfta_0.1.0.201506241535.jar.
https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/plugins/edu.cmu.emfta_0.1.0.201506241535.jar
Artifact not found: https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/plugins/edu.cmu.emfta.actions_0.1.0.201506241535.jar.
https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/plugins/edu.cmu.emfta.actions_0.1.0.201506241535.jar
Artifact not found: https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/plugins/edu.cmu.emfta.edit_1.0.0.201506241535.jar.
https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/plugins/edu.cmu.emfta.edit_1.0.0.201506241535.jar
Artifact not found: https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/plugins/edu.cmu.emfta.editor_1.0.0.201506241535.jar.
https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/plugins/edu.cmu.emfta.editor_1.0.0.201506241535.jar
Artifact not found: https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/features/edu.cmu.emfta.feature_1.0.0.201506241535.jar.
https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/features/edu.cmu.emfta.feature_1.0.0.201506241535.jar
Artifact not found: https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/plugins/edu.cmu.emfta.tests_1.0.0.201506241535.jar.
https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/plugins/edu.cmu.emfta.tests_1.0.0.201506241535.jar
Artifact not found: https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/plugins/emfta.design_1.0.0.jar.
https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/plugins/emfta.design_1.0.0.jar
Artifact not found: https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/plugins/org.osate.aadl2.errormodel.emfta_1.0.0.201508031632.jar.
https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/plugins/org.osate.aadl2.errormodel.emfta_1.0.0.201508031632.jar
Artifact not found: https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/features/org.osate.aadl2.errormodel.emfta.feature_1.0.0.201508031632.jar.
https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/features/org.osate.aadl2.errormodel.emfta.feature_1.0.0.201508031632.jar
Within the Safety Tutorial on the Examples .git site, I am working with an instantiation of system implementation GPS.parts_SingleSensor
When I run the AADL->EMFTA tool, I get the fault tree with 4 elements OR’ed with the top level node having a probability of 0.0. This makes sense - in the example, the top node isn’t assigned a probability. If I run “Check Prob…” on the top level, I get an error of a mismatch. If I run “Generate Events Probability” the top level node gets a probability and the error goes away - they match. Again, this all makes sense.
Now, I added the following to the AADL model for GPS.parts_SingleSensor
properties
emv2::OccurrenceDistribution => [ ProbabilityValue => 2.5e-5 ; Distribution => Poisson;] applies to FailStop;
This is the wrong probability. But when I re-instantiate, re-export to EMFTA, the top level node in the tree still has a probability of 0.0, not 2.5e-5.
Should the exporter be picking that new definition from the GPS.parts_SingleSensor implementation and populate that into the tree? (If it did, I would then expect that Check Probability Consistency would give an error as this definition doesn’t match the computation from the leaf nodes).
The cutset report should include the probability of the cutset event.
For example Event E is caused by Event A AND B or Event C AND D. When the probabilities are provided for events A,B,C and D, the probability report will list rates for the top event E and two events (A AND B) and (C AND D). The cutset report will show two cutsets with the individual leaf node probabilities, but it should also show the rate for the cutset.
In the following table, Cutset 0 and Cutset 1 should have a calculated probability on rows 3 and 7 respectively.
EMFTA 1.0.0.201508092013 edu.cmu.emfta.feature.feature.group SEI/CMU
The installation instructions on github state that help files are available under the Eclipse help in a new section on emfta. Using the version below, I could not locate the emfta help pages, and searching for emfta yielded zero results.
EMFTA 1.0.0.201508132201 edu.cmu.emfta.feature.feature.group SEI/CMU
This would provide the ability to use the tool without to install OSATE.
I installed EMFTA in Eclipse Mars Modeling tools (Windows 7 environment). I have Java 8 (jre1.8.0_60) installed. I do not get the EMFTA Wizards choice under File->New->Other menu. The Eclipse Installation Details Show: Eclipse Modeling Tools 4.5.0.20150621-1200, and EMFTA 1.0.0.201508201543. I have also gone into Windows->Preferences->Java->Installed JREs and made jre1.8.0_60 the default. I also see no Perspective for EMFTA. I have restarted eclipse after making these changes.
Start a user manual once the software has been stabilized
The output file for the "generate cutset report" should be "[some text]-cutset.xlsx" for consistency with other reports.
Enter zero for the probability rate in a leaf node, and select the "check probability consistency report", the report will not generate an output. A zero rate for probability is likely to be a user typographical error, and checking this with the consistency report would be helpful.
EMFTA 1.0.0.201508132201 edu.cmu.emfta.feature.feature.group SEI/CMU
The symbols for AND/OR are upside down relative to typical practical practice.
Hi, there are many types of fault trees. Is there any plan to implement the Extended Fault Tree?
Thank you for building this project.
Source: http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=895468&tag=1
Hi,
On the diagrams screenshots, the EMF default icons are visible (the purple stars).
They should be hidden to improve the graphical rendering (option "show icon" on the Style) and get closer to the wikipedia graphical definitions.
Fred
Currently the rows of the probability report only includes those gates where emfta calculated a probability. The report should also include rows showing the user entered "leaf node" gate values. The user entered "leaf nodes" could be included in the column "declared".
I am working through the EMFTA Safety Tutorial and am running into an inconsistency in my results from what is displayed in the tutorial (https://github.com/cmu-sei/emfta/blob/develop/doc/white-paper.md).
I am just trying to export GPS.parts_SingleSensor to EMFTA and work with the tools available there.
I have attached a screen shot of the result. Two of the four elements in the leaf nodes of the tree were exported with failure probabilities of 0, though in the example model, satellite failure was assigned a probability of 0.9e-7 (in system GPS in GPSSystem.aadl) and power supply 2.5e-5 (in device PowerSupply in HardwareParts.aadl)
Versions I have installed from a recent nightly build:
EMFTA 1.0.0.v20160625-0347
EMFTA Bridge with OSATE 1.0.0.v20160818-0409
The contents of the table view within an emfta model is not consistent. As shown in the screen shots below, the name and description column have repeated entries even though separate names and descriptions have been entered for each node. Also, click to select a row, as seen in the second screen shot and the table content changes slightly.
Mars version of emfta
EMFTA 1.0.0.201508201543 edu.cmu.emfta.feature.feature.group SEI/CMU
The emfta model is available at
https://github.com/fletchwsf/emfta_examples/blob/RefineExamples/UseIntermediate.emfta
Select a folder that already contains several fault tree files. Create a new emfta model using the wizard, and the wizard populates the new model, with files from an existing model.
In the figure below, the models "test.emfta" and "test04.emfa" were created using the wizard. The wizard populated the models with the model content of "isolette_final..".
First, thank you for making open source tool.
The URL for installing the EMFTA displayed on the main page might be wrong.
"Start OSATE and install EMFTA inside your installation
Once you start OSATE, go in the install menu again and enter the following update site: https://raw.githubusercontent.com/juli1/emfta/luna/edu.cmu.emfta.updatesite/"
I cannot install with "https://raw.githubusercontent.com/juli1/emfta/luna/edu.cmu.emfta.updatesite/"
Then, I try "https://raw.githubusercontent.com/juli1/emfta/master/edu.cmu.emfta.updatesite/"
It works on the OSTATE.
The current design only allows a gate node as the child of an Intermediate event node. In constructing a fault tree, the analyst will need to introduce a block of text to explain an aspect of the failure path. In the current emfta design the only option to connect to intermediate event nodes is an OR gate is shown in the following picture.
G011 and G012, are two events taken from Figure 10-13 in the NASA "Fault Tree Handbook with Aerospace Applications"
In order to eliminate the OR gate between G011 and G012, the G012 leaf node needs to become an "intermediate gate" node. With this change incorporated the design will have two types of intermediate symbols. An "intermediate event" symbol which is a leaf, and an "intermediate gate" which is a node (aka parent).
In the above figure, then the "OR" gate would be deleted, and the G012 "intermediate event" node would be changed to an "intermediate gate" node. The other child inputs under G012 can then be added without difficulty.
For calculation of probability and validation, the "intermediate gate" node, copies the value of the connected child, up to the "intermediate gate" node parent.
It maybe possible to delete the "intermediate event" leaf from the design, but it should remain for the time being.
See description below.
In a qualitative fault tree the users should be able to enter or not enter any rate data. The program would show the rates if they have been entered but would not perform any calculations.
In a quantative fault tree the program would expect the user to have entered rates into each of the leaf nodes. The user would need to select an option like "validate" and the program would check that all of the leaf nodes have rates and if any parent gate has a value the program should provide a warning message. An update option would propagate the calculation filling in the parent gate values ( over writing any intermediate values) and the rate for the top event.
Hi,
I have installed EMFTA from the marketplace on Eclipse Mars (Eclipse IDE for Java Developers package).
Once installed, I can't find the way to create EMFTA models.
I have tested two ways : from the examples (no EMFTA menu available in the wizard) and by trying to create an empty model from EMF generated wizard (that I didn't find).
Fred
The file type for the report "generate events probability" has file type CVS, and should be xlsx for consistency with the "generate cutset" report.
An exception occurs when using the tool CreateGate
org.eclipse.sirius.ecore.extender.business.api.accessor.exception.FeatureNotFoundException: gates on edu.cmu.emfta.impl.FTAModelImpl@21134136 (name: null, description: null, comments: null)
at org.eclipse.sirius.ecore.extender.business.api.accessor.ModelAccessor.eIsMany(ModelAccessor.java:317)
at org.eclipse.sirius.business.internal.helper.task.operations.CreateInstanceTask.execute(CreateInstanceTask.java:85)
at org.eclipse.sirius.business.internal.helper.task.ExecuteToolOperationTask.executeTask(ExecuteToolOperationTask.java:103)
at org.eclipse.sirius.business.internal.helper.task.ExecuteToolOperationTask.executeTask(ExecuteToolOperationTask.java:114)
at org.eclipse.sirius.business.internal.helper.task.ExecuteToolOperationTask.execute(ExecuteToolOperationTask.java:88)
at org.eclipse.sirius.business.api.helper.task.TaskExecutor.operation(TaskExecutor.java:103)
at org.eclipse.sirius.business.api.helper.task.TaskExecutor.execute(TaskExecutor.java:65)
at org.eclipse.sirius.tools.api.command.SiriusCommand.doExecute(SiriusCommand.java:80)
at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135)
at org.eclipse.sirius.diagram.ui.tools.api.command.GMFCommandWrapper.doExecuteWithResult(GMFCommandWrapper.java:103)
at org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand.doExecute(AbstractTransactionalCommand.java:247)
at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150)
at org.eclipse.gmf.runtime.common.core.command.CompositeCommand.doExecuteWithResult(CompositeCommand.java:403)
at org.eclipse.gmf.runtime.common.core.command.AbstractCommand.execute(AbstractCommand.java:134)
at org.eclipse.gmf.runtime.common.core.command.CompositeCommand.doExecuteWithResult(CompositeCommand.java:403)
at org.eclipse.gmf.runtime.common.core.command.AbstractCommand.execute(AbstractCommand.java:134)
at org.eclipse.sirius.diagram.ui.tools.internal.commands.WrappingCommandIgnoringAffectedFiles.execute(WrappingCommandIgnoringAffectedFiles.java:124)
at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:516)
at org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramCommandStack.execute(DDiagramCommandStack.java:71)
at org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramCommandStack.execute(DDiagramCommandStack.java:52)
at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramCommandStack.execute(DiagramCommandStack.java:156)
at org.eclipse.gef.tools.AbstractTool.executeCommand(AbstractTool.java:425)
at org.eclipse.gef.tools.AbstractTool.executeCurrentCommand(AbstractTool.java:438)
at org.eclipse.gef.tools.CreationTool.performCreation(CreationTool.java:269)
at org.eclipse.gef.tools.CreationTool.handleButtonUp(CreationTool.java:189)
at org.eclipse.gef.tools.AbstractTool.mouseUp(AbstractTool.java:1200)
at org.eclipse.gef.EditDomain.mouseUp(EditDomain.java:301)
at org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMouseReleased(DomainEventDispatcher.java:380)
at org.eclipse.draw2d.LightweightSystem$EventHandler.mouseUp(LightweightSystem.java:548)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:220)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
The imgs folder under emfta.design has no images for the following types of gates:
No images are provided for transfer events
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.