Code Monkey home page Code Monkey logo

emfta's Introduction

emfta's People

Contributors

fletchwsf avatar juli1 avatar lredor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

emfta's Issues

Certain event gate types don't display text correctly

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:

  • undeveloped
  • external
  • conditioning
  • intermediate (but only when it is used as a leaf node, which is poor style)

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.

image

Possible update site issue with clean install or user error

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.

  1. With Eclipse, Sirius, and Osate installed, the installation progresses but fails with the error messages shown below.With the clean Eclipse installation, it looks like the installer is checking for the very first update site versions of the *.jar files. When it can only find the *.jar files from yesterday, the installation fails.

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

Check Probability Consistency tool issues

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).

Cutset report should include event probabilities

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.

image

EMFTA 1.0.0.201508092013 edu.cmu.emfta.feature.feature.group SEI/CMU

Can't find help

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

EMFTA does not work with Eclipse Mars Modeling tools

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.

Report naming consistency

The output file for the "generate cutset report" should be "[some text]-cutset.xlsx" for consistency with other reports.

Entering a rate of zero is a mistake

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

Icons should be hidden

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

Formatting of leaf nodes

The img files for the leaf nodes need to be updated to the "description/event type" format as shown for the "undeveloped" gate. Also the text placement for the updated leaf nodes needs to be top and centered (currently is centered and centered).

image

AADL to EMFTA Export is missing some probabilities

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)

screen shot 2016-08-26 at 5 18 57 pm

Versions I have installed from a recent nightly build:
EMFTA 1.0.0.v20160625-0347
EMFTA Bridge with OSATE 1.0.0.v20160818-0409

Contents of Table View is not consistent

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

image

image

New wizard feature copies in data from other fault trees

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..".

image

Update site URL on the main page might be wrong

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.

Add a gate type called "intermediate" to the design

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.

image

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.

Add quantitative and qualitative analyses

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.

Can't create EMFTA models

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

Report file type consistency

The file type for the report "generate events probability" has file type CVS, and should be xlsx for consistency with the "generate cutset" report.

The tool CreateGate doesn't work

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)

No image files for certain event types

The imgs folder under emfta.design has no images for the following types of gates:

  • Priority AND
  • XOR
  • INHIBIT

No images are provided for transfer events

  • Transfer IN
  • Transfer OUT

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.