SoSAF

Description

An interactive simulation environment to analyze the dynamic of System-Of-Systems during cascading faillure.

Details

Source
GitHub
Created
May 2, 2024
Updated
Jan. 7, 2026

Categories

System / OS

README excerpt

# System-Of-Systems Architecture Framework
SoSAF est un framework developpe sur Pharo permettant de definir un modele de conception d'execution et d'analyse, et de proceder a une simulation interactive.
SoSAF integre une couche de verification de modele permettant de maintenir le modele coherant durant toute la durée de la simulation. Cette derniere est de type synchrone et s'execute pas à pas.

```
Metacello new
  baseline: 'SoSAF-Core';
  repository: 'github://Cracen26/SoSAF/src';
  load
```
## Model Definition
```
sos := SoSAFModel new.

"System-Of-Systems components definition"

sos addCS: #(
	#($A 100) #($B 60) #($C 70) #($D 80)
	#($F 100) #($G 20) #($H 10) #($I 30)
) .

"2 cluster: green and gray"

sos 
	createCluster: #('survey' #($A $B $C $D));
	createCluster: #('rescue' #($F $G $H $I)).

"Dependecies between components"

sos addDependencies: #(
	#($A $B 0.2 30) #($A $C 0.8 60) 
	#($B $D 0.8 30) #($C $D 0.1 20)
	#($A $D 0.5 60)  
	#($F $G 0.2 30) #($F $H 0.8 60) 
	#($G $I 0.8 30) #($H $I 0.1 20)
	#($F $I 0.6 40)  
	
	#($A $F 0.1 60)
); init.


sos displayStructure .
```
## Analysis
### Structure
![Topological Configuration]( structure1.png "Structure of 8 CS SoS with 2 clusters").
### Performance Assessment
By conducting a sensitivity analysis, we have the opportunity to obtain metrics related to the operability of each system as output. Each configuration can then be tested and evaluated to enable system engineers to make informed choices.
The following code snippet allows for the update of the internal component parameters. We can as well update dependencies.
```
sos 
	step;
	updateCS: #($A 30);
	step;
	updateCS: #($B 10);
	step;
	updateCS: #($C 20);
	step;
	updateCS: #($D 40);
	step.
```
![Evolution of Operabilities in cluster 1]( results.png "Sensitivity Analysis").
← Back to results