Olzhas, to answer your question on propsed GUI design:
I preface these notes by clarifying that I am not an expert in FTA although I understand FTA principles.
I have not yet developed a GUI but I set out some thoughts here.
The elements to be developed are:
A user data entry layer using Xforms
An FTA diagram rendering layer
A database layer .. I will be using mongodb because of json used below.
The “back end” FTA calculations are probably well proven and can be drawn from SCRAM.
In my plan, the aim is to offer FTA not through a desktop application (although one could, using Qt
http://doc.qt.io/qt-5/), but as a cloud service rendering FTA in the client browser.
Some FTA frameworks I have looked at require Java, Eclipse and other local dependencies. I prefer PHP, javascript, json, svg.
In view of the XML format used by SCRAM, it seems sensible to adopt XForms as data entry for each node.
I've looked around and one example is to use laravel5
https://laravel.com/ as a PHP framework.
For each FTA project there will be a community of users and I envisage a multi dimensional array of data linked to each FTA node.
For visualisation of the FTA diagram there are many frameworks which might be evaluated to create the user interface.
I am planning to use a PHP MVC model and using visualisation scripts in javascript to create FTA diagrams in SVG format.
I will experiment first with jit spacetree.
https://philogb.github.io/jit/static/v20/Jit/Examples/Spacetree/example1.htmlThis will need to be amended to import FTA nodes which can be developed using Inkscape Vector Graphics Editor.
I have found some javascript renderers of FTA but they require purchase of user licences. I'm staying with open source.