Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fchauvel/trio
Topologies Robustness IndicatOrs
https://github.com/fchauvel/trio
Last synced: 13 days ago
JSON representation
Topologies Robustness IndicatOrs
- Host: GitHub
- URL: https://github.com/fchauvel/trio
- Owner: fchauvel
- License: lgpl-3.0
- Created: 2014-07-06T12:51:21.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2015-09-03T13:33:20.000Z (over 9 years ago)
- Last Synced: 2024-03-16T02:01:34.875Z (10 months ago)
- Language: Java
- Size: 6.57 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.adoc
- License: LICENSE
Awesome Lists containing this project
README
= TRIO - Topologies Robustness Indicators
Franck Chauvel
2015-04-15image:https://img.shields.io/badge/license-LGPLv3+-blue.svg[]
image:https://img.shields.io/maven-central/v/net.fchauvel.trio/root.svg[]
image:https://img.shields.io/codeship/96888c80-27db-0133-f544-7af7072ae828.svg[]
image:https://img.shields.io/codecov/c/github/fchauvel/trio/master.svg[]TRIO computes robustness metrics for software architectures. These metrics include
an overall robustness, the most sensitive components, and the most threatening
failure sequences.== Publications
A detailed description of the robustness metrics used by TRIO is given in the
following publications:* Franck Chauvel, Hui Song, Nicolas Ferry, Franck Fleurey. Robustness Indicators for
Cloud-Based Systems Topologies. In Proceedings of the 7th IEEE/ACM International
Conference on Utility and Cloud Computing (UCC 2014). 2014. IEEE Computer Society,
Washington DC, USA. pp 307-316* Franck Chauvel, Hui Song, Nicolas Ferry, Franck Fleurey. http://www.journalofcloudcomputing.com/content/4/1/18[Evaluating robustness
of cloud-based systems. Journal of Cloud Computing 2015, 4:18.]== Overview
As shown in the following example, TRIO takes as input a simple description of the components that form
the software architecture of interest, including their dependencies. Note how each component defines
a condition (keyword `requires`) that what dependencies must be available for the component to be running..Input of TRIO (in a text file)
[source,trio]
----
system:
'SensApp'components:
- Admin requires Notifier and Registry and Storage
- Notifier
- Registry requires Storage
- Dispatcher requires Notifier and Registry and Storage
- Storage requires DB
- DBtags:
- 'platform' on DB
- 'service' on Admin, Registry, Storage, Dispatcher, Notifier
----TRIO simulates a large number of failure sequences: it randomly injects failures into the system,
and simulate how these failure propagates. Once the simulation is completed, TRIO outputs the
following metrics:.Output of trio
----
$> java -jar trio-bundle.jar -o service -c infra -t trace.csv samples/sensapp_topo4.trio
Trio v0.1 -- Topology Robustness IndicatOr
Copyright (C) 2014 - SINTEF ICT
Licensed under LGPLv3SYSTEM: SensApp, topology no. 4
SCENARIO: Robustness of the 'service' layer to failure in the 'infra' layer
INDICATORS:
+ Robustness: 0.0297
+ Five most sensitive components:
1: 1.7375e+00 VM2
2: 8.2376e-01 VM1
3: 6.8183e-01 VM4
4: 6.6244e-01 VM3
5: 5.6873e-01 VM5
+ Five most harmful sequences:
1: 1.9200e-01 [none, VM2]
2: 5.6990e-02 [none, VM3, VM2]
3: 5.2990e-02 [none, VM4, VM2]
4: 5.1991e-02 [none, VM1, VM2]
5: 3.1994e-02 [none, VM5, VM2]That's all folks!
----= Releases
Stable releases are available on the link:https://github.com/fchauvel/trio/releases[Github releases page].
In addition, a binary distribution, continuously updated, is available at on
link:http://dist.thingml.org/trio/trio-dist.zip[SINTEF server].----
$> mvn versions:set -DnewVersion=0.4
$> mvn versions:commit
$> git add -A
$> git commit -m "Release 0.4"
$> mvn clean deploy
$> mvn versions:set -DnewVersion=0.4.1-SNAPSHOT
$> mvn versions:commit
$> git add -A
$> git commit -m "Release 0.4"
----
= DocumentationThe documentation of Trio is available online and evolve with the version:
* link:http://fchauvel.github.io/trio/0.2/index.html[0.2]
* link:http://fchauvel.github.io/trio/0.3/index.html[0.3]== Contact
Please report any bugs or desired feature, using the link:https://github.com/fchauvel/trio/issues[GitHub issue tracker].
Should you have any additional information, please contact mailto:[email protected][me].