| (#1) Check if fulfill relationships exist; |
| (#2) If list of fulfill relationships is empty then |
| (a) Bayesian Network List (BNL) is empty; |
| (b) Return null; |
| (#3) else if list of fulfill relationships is not empty then |
| (a) Generate all (a list) the Head elements; |
| (b) Generate all (a list) the Body elements; |
| (c) Extract all the root elements from the Head elements; |
| (#4) For each root element |
| (a) Initialize a Bayesian Network (BN); |
| (b) Generate a list of its node-children by exploring them according to a breadth-first visit; |
| (c) Compute the Probability Model pm; |
| (d) Map the Probability Model pm to the element; |
| (e) Extract the set of Physical Components from the list of Children ; |
| (i) For each |
| (ii) Build the leaf elements of the BN (); |
| (iii) Compute the Probability Model () ; |
| (iv) Map/Integrate the Probability Model to the element; |
| (f) Extract the set di Requirements/Children from the list of Children ; |
| (i) For each |
| (ii) Generate a list of its node-children |
| (iii) Build the non-leaf elements of the BN (); |
| (iv) Compute the Probability Model () ; |
| (v) Map/Integrate the Probability Model to the element; |
| (g) Build BN (); |
| (h) Add the BN to the Bayesian Network List (BNL); |
| (#5) Return BNL; |