[aadl-modeling]: XML Representation of Fault Tree

Thomas, Roshan K rkthomas at mitre.org
Tue Sep 18 18:49:01 EDT 2018


Hi Peter:

>> Are you trying to read the textual representation of the XMI file and infer what the structure is?

In sum yes. We are building a web application that takes a JSON file format that has additional attributes we have added for failures and faults. An example of an extra attribute is a boolean indicating whether a node in the fault-tree is cyber-attack inducible. Another attribute is level of attacker effort. We have already developed the code to visualize the fault tree from this JSON format and to interactively supply values to these extra attributes.

The challenge we are facing is translating the error annex to our JSON format. To do that we need to parse a file representing the error annex (say an XML file) that encodes the parent-child relationships and details of each failure and fault. How can we do that?  Is there such a file available? How do we access it?

Any help will be greatly appreciated as we are fighting a deadline of early next week.

Also, if you have more info on how the ANTLR parser is used within OSATE we would appreciate getting it.
We are aware of the materials at https://wiki.sei.cmu.edu/aadl/index.php/Sublanguage_Example#ANTLR_Parser but could use more documentation.

Thanks
Roshan and Anastasia

Roshan K. Thomas, Ph.D
Principal Infosec Scientist
The MITRE Corporation, MS T340
7515 Colshire Drive
McLean, VA 22102-7508
Telephone: 703.983.0059
rkthomas at mitre.org<mailto:rkthomas at mitre.org>




From: aadl-modeling-bounces+rkthomas=mitre.org at lists.sei.cmu.edu <aadl-modeling-bounces+rkthomas=mitre.org at lists.sei.cmu.edu> On Behalf Of Peter Feiler
Sent: Tuesday, September 18, 2018 3:04 PM
To: AADL Modeling <aadl-modeling at lists.sei.cmu.edu>
Cc: Mingo, Anastasia K. <amingo at mitre.org>
Subject: Re: [aadl-modeling]: XML Representation of Fault Tree

The representation for the fault tree was designed to represent fault graphs. For example, instead of having a common event (or event subtree) replicated we just reference it.
We initially generate a graph from the AADL model. We then apply transformations to remove common subtrees/events.
Therefore, the top level fault tree object contains a list of all events. Individual events point to subevents.
When operating on the model in memory you programmatically just access the subevents.
When the model is written out in XMI it uses the default representation for references (HREF). That representation records the model element identified with an index.

Are you trying to read the textual representation of the XMI file and infer what the structure is?

From: aadl-modeling-bounces+phf=sei.cmu.edu at lists.sei.cmu.edu<mailto:aadl-modeling-bounces+phf=sei.cmu.edu at lists.sei.cmu.edu> [mailto:aadl-modeling-bounces+phf=sei.cmu.edu at lists.sei.cmu.edu] On Behalf Of Thomas, Roshan K
Sent: Tuesday, September 18, 2018 2:42 PM
To: aadl-modeling at lists.sei.cmu.edu<mailto:aadl-modeling at lists.sei.cmu.edu>
Cc: Mingo, Anastasia K. <amingo at mitre.org<mailto:amingo at mitre.org>>
Subject: [aadl-modeling]: XML Representation of Fault Tree

Hello,

I am currently trying to generate fault trees for the Wheel Braking System example using the OSATE plugin. Please see (https://github.com/osate/examples/tree/master/ARP4761). I have successfully generated a fault tree diagram for the wbs_ima_Instance for AnnunciatedBrakingLoss by selecting Fault Contributor Trace in the Fault-Tree Analysis pop-up window.

In the generated XML from the fault tree analysis, I see there is a collection of event tags. However, I am having troubling trying to determine the structure of the fault tree based on the event tags. I am assuming that the subEvents attribute refers to the children of the event. However, all of the events listed under subEvents do not match any of the named events in the XML file. For example, here is an events tag but there is no events.35 in the XML file.

<events name="blue_pump-failed" subEvents="//@events.35<mailto://@events.35>" computedProbability="2.5E-5" referenceCount="1" type="Intermediate">
    <relatedInstanceObject href="../../wbs_wbs_ima_Instance.aaxl2#//@componentInstance.3<mailto:../../wbs_wbs_ima_Instance.aaxl2#//@componentInstance.3>"/>
    <relatedEMV2Object href="../../../error.aadl#/0/@ownedPublicSection/@ownedAnnexLibrary.0/@parsedAnnexLibrary/@behaviors.2/@states.1<mailto:../../../error.aadl#/0/@ownedPublicSection/@ownedAnnexLibrary.0/@parsedAnnexLibrary/@behaviors.2/@states.1>"/>
  </events>

In sum:
How do I figure out what events are children of a particular event? Is there an XML representation of the error annex that can be generated by OSATE?


Thanks
Roshan Thomas
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the aadl-modeling mailing list