1 Engineering change
1.1 Requirement change propagation and volatility
2 State of the art
2.1 Network approaches
2.2 Refined automated requirement change propagation prediction (R-ARCPP) tool
Requirement statements | Physical domain relators (noun POS elements) |
---|---|
Req A: The yarn comb shall have polished stainless-steel round pins mounted on zinc plated steel bar | [Yarn, comb, steel, pins, zinc, bar] |
Req B: The supplier shall furnish all equipment, controls, data, drawings, etc. defined in the purchaser’s documents and data to the following major components: yarn combs | [Supplier, equipment, controls, data, drawings] |
3 Proposed research
3.1 Requirement volatility classes
Change volatility classes | Definitions |
---|---|
Multiplier | A multiplier is a requirement that is changed by an initial change and propagates change to other related requirements |
Absorber | An absorber is a requirement that is changed by an initial change, but does not propagate change to other related requirements |
Transmitter | A transmitter is a requirement that is not changed by an initial change, but propagates change to other related requirements |
Robust | A robust requirement is a requirement that is not changed by an initial change and does not propagate change to other related requirements |
3.1.1 Step 1: extraction of requirement relationships.
3.1.2 Step 2: identification of change instances
3.1.3 Step 3: volatility class metric scoring
Volatility class metric | Scoring scheme for requirement i on a relationship |
---|---|
Multiplicity (M) | Sum of multiplicative inverses of path lengths from it to nodes it multiplies the change to |
\({M}_{i}=\sum \frac{1}{{\mathrm{PL}}_{i\to j (\left\{i,j\right\}\subset \left\{\mathrm{1,2},3,\ldots ,n\right\}, i\ne j)}}\) | |
Both \({R}_{i}\) and \({R}_{j}\) changed | |
Absorbance (A) | Sum of multiplicative inverses of path lengths to it from changed nodes it absorbs the change from |
\({A}_{i}=\sum \frac{1}{{\mathrm{PL}}_{j\to i (\left\{i,j\right\}\subset \left\{\mathrm{1,2},3,\ldots ,n\right\}, i\ne j)}}\) | |
Both \({R}_{j}\) and \({R}_{i}\) changed | |
Transmittance (T) | Sum of multiplicative inverses of path lengths from it to nodes it transmits the change to |
\({T}_{i}=\sum \frac{1}{{\mathrm{PL}}_{i\to j (\left\{i,j\right\}\subset \left\{\mathrm{1,2},3,\dots ,n\right\}, i\ne j)}}\) | |
\({R}_{i}\) not changed. \({R}_{j}\) changed | |
Robustness (R) | Sum of multiplicative inverses of path lengths to it from changed nodes it is not affected by |
\({R}_{i}=\sum \frac{1}{{PL}_{j\to i (\left\{i,j\right\}\subset \left\{\mathrm{1,2},3,\dots ,n\right\}, i\ne j)}}\) | |
\({R}_{i}\) not changed. \({R}_{j}\) changed |
Volatility scores of requirement nodes on path 1C | |
---|---|
1st node (T) | \(\frac{1}{\mathrm{PL}(T\to M)}+\frac{1}{\mathrm{PL}(T\to A)}=\frac{1}{1}+\frac{1}{3}=1.33\) |
2nd node (M) | \(\frac{1}{\mathrm{PL}(M\to A)}=\frac{1}{2}=0.5\) |
3rd node (T) | \(\frac{1}{\mathrm{PL}(T\to A)}=\frac{1}{1}=1.0\) |
The sink (A) | \(\frac{1}{\mathrm{PL}(S\to A)}+\frac{1}{\mathrm{PL}(M\to A)}=\frac{1}{4}+\frac{1}{2}=0.75\) |
Volatility scores of requirement nodes on path 3F | |
---|---|
1st node (M) | \(\frac{1}{\mathrm{PL}(M\to A)}=\frac{1}{2}=0.5\) |
2nd node (T) | \(\frac{1}{\mathrm{PL}(T\to A)}=\frac{1}{1}=1.0\) |
3rd node (A) | \(\frac{1}{\mathrm{PL}(S\to A)}+\frac{1}{\mathrm{PL}(M\to A)}=\frac{1}{3}+\frac{1}{2}=0.83\) |
End node (R) | \(\frac{1}{\mathrm{PL}(S\to R)}+\frac{1}{\mathrm{PL}(M\to R)}+\frac{1}{\mathrm{PL}(A\to R)}=\frac{1}{4}+\frac{1}{3}+\frac{1}{1}=1.58\) |
Req | Volatility \(\overrightarrow{{v}_{i}}=({M}_{i}, {A}_{i},{T}_{i}, {R}_{i})\) |
---|---|
1 | \(\overrightarrow{{v}_{1}}=(0, 0, 0.65, 0.20)\) |
2 | \(\overrightarrow{{v}_{2}}=(0, 1, 0, 0)\) |
3 | \(\overrightarrow{{v}_{3}}=(1, 0.67, 0, 0)\) |
… | … |
n | \(\overrightarrow{{v}_{n}}=(0.85, 0.25, 0.14, 0.37)\) |
RQ 1 | Can RCV be measured through four classes namely, (1) multiplier, (2) absorber, (3) transmitter, and (4) robust, during all instances of change? |
---|---|
Answer | RCV can be measured through four classes, (1) multiplier, (2) absorber, (3) transmitter, and (4) robust, in respective metric values during all instances of change utilizing requirement network relationships obtained from the R-ARCPP tool and the actual requirement change data of industrial case studies |
3.2 Complex network metrics
ID | Category | Name | Source |
---|---|---|---|
1 | Distance and clustering metrics | Eccentricity | Dankelmann et al. (1999) |
2 | Efficiency | Latora and Marchiori (2001) | |
3 | Vulnerability | Costa et al. (2007) | |
4 | Clustering Coefficient | Newman (2003) | |
5 | degree | Newman (2010) | |
6 | In—Degree | Newman 2010) | |
7 | Out–Degree | Newman (2010) | |
8 | Average Neighbor Degree | Barrat et al. (2004) | |
9 | Centrality metrics | In—Closeness Centrality | Newman (2010) |
10 | Out—Closeness Centrality | Newman (2010) | |
11 | Delta Centrality | Latora and Marchiori (2007) | |
12 | Bridging Centrality | Hwang et al. (2006) | |
13 | Bridging Coefficient | Hwang et al. (2006) | |
14 | Random Walk Centrality | Bollobás (2001) | |
15 | Betweenness Centrality | Newman (2010) | |
16 | Counting Betweeness | Bloechl et al. (2010) | |
17 | Flow Coefficient | Honey et al. (2007) | |
18 | Total Flow Paths | Honey et al. (2007) | |
19 | Brokering Coefficient | Konganti et al. (2013) | |
20 | Right Eigenvector Centrality | Newman (2010) | |
21 | Left Eigenvector Centrality | Newman (2010) | |
22 | Alpha Centrality | Bonacich and Lloyd (2001) | |
23 | Katz Centrality | Newman (2010) | |
24 | Subgraph Centrality | Estrada and Rodríguez-Velázquez (2005) | |
25 | Coreness Centrality | Newman (2010) | |
26 | PageRank | Newman (2010) | |
27 | HITS: Authority Centrality | Newman (2010) | |
28 | HITS: Hubs Centrality | Newman (2010) | |
29 | Subgraph and community metrics | Participation Coefficient | |
30 | Within Module Degree | ||
31 | Communities | Newman (2006) | |
32 | Modified pairwise descriptive metrics | Out—Path Length \(\subseteq\) {1,2,3,4} | Newman (2010) |
33 | In—Path Length \(\subseteq\) {1,2,3,4} | Newman (2010) | |
34 | Out—Walk Length \(\subseteq\) {1,2,3,4} | Rucker and Rucker (2000) | |
35 | In—Walk Length \(\subseteq\) {1,2,3,4} | Rucker and Rucker (2000) | |
39 | Out—Maximum Number of Paths | Newman (2010) | |
40 | In—Maximum Number of Paths | Newman (2010) |
Req | Complex network metrics \(\overrightarrow{{x}_{i}}=\left({x}_{i1}, \ldots , {x}_{iD}\right)\) |
---|---|
1 | \(\overrightarrow{{x}_{1}}=(0.56,\dots , 1)\) |
2 | \(\overrightarrow{{x}_{2}}=(0.43,\dots , 4)\) |
3 | \(\overrightarrow{{x}_{3}}=(0.14,\dots , 2)\) |
… | … |
n | \(\overrightarrow{{x}_{n}}=(0.08,\dots , 5)\) |
RQ 2 | Can complex network metrics be explored and computed for each requirement? |
---|---|
Answer | The most relevant and up-to-date taxonomy of complex network metrics is explored, modified, and adopted, and the metrics are calculated from requirement networks obtained from the R-ARCPP tool using novel tools and state of the art existing tools in the literature |
3.3 Multilabel learning methods
Example | D input variables | Q output labels |
---|---|---|
1 | \({x}_{1}=\left({x}_{11}, {x}_{12}, \ldots , {x}_{1D}\right)\) | {\({\uplambda }_{1}, {\uplambda }_{4}\)} |
2 | \({x}_{2}=\left({x}_{21}, {x}_{22}, \ldots , {x}_{2D}\right)\) | {\({\uplambda }_{3}, {\uplambda }_{4}\)} |
3 | \({x}_{3}=\left({x}_{31}, {x}_{32}, \ldots , {x}_{3D}\right)\) | {\({\uplambda }_{1}\)} |
… | … | … |
n | \({x}_{n}=\left({x}_{n1}, {x}_{n2}, \ldots , {x}_{nD}\right)\) | {\({\uplambda }_{2}, {\uplambda }_{3}\}\) |
3.4 Evaluation measures of multilabel methods
3.5 Statistical comparisons of MLL models
3.6 Case study background
4 Results and discussion
Model ID | |||||||
---|---|---|---|---|---|---|---|
Evaluation measures | M24: CLR_NN_ LPIG_7 | M21: PS_NN_ LPIG_7 | M19: ECC_NN_ LPIG_7 | M23: RAkEL_NN_ LPIG_7 | M17: BR_NN_ LPIG_7 | M18: CC_NN_ LPIG_7 | M20: LP_NN_ LPIG_7 |
Hamming Loss | 0.028 | 0.029 | 0.030 | 0.028 | 0.028 | 0.028 | 0.028 |
Sub.Accuracy | 0.905 | 0.900 | 0.893 | 0.903 | 0.903 | 0.903 | 0.903 |
Ex.Accuracy | 0.947 | 0.945 | 0.942 | 0.946 | 0.946 | 0.946 | 0.946 |
Ex.Precision | 0.961 | 0.961 | 0.961 | 0.961 | 0.961 | 0.961 | 0.961 |
Ex.Recall | 0.962 | 0.961 | 0.956 | 0.961 | 0.961 | 0.961 | 0.961 |
Ex.F1 | 0.962 | 0.961 | 0.958 | 0.961 | 0.961 | 0.961 | 0.961 |
Mic.Precision | 0.961 | 0.961 | 0.961 | 0.961 | 0.961 | 0.961 | 0.961 |
Mic.Recall | 0.962 | 0.961 | 0.956 | 0.961 | 0.961 | 0.961 | 0.961 |
Mic.F1 | 0.962 | 0.961 | 0.958 | 0.961 | 0.961 | 0.961 | 0.961 |
Mac.Precision | 0.839 | 0.839 | 0.873 | 0.812 | 0.812 | 0.812 | 0.812 |
Mac.Recall | 0.866 | 0.820 | 0.845 | 0.865 | 0.865 | 0.865 | 0.865 |
Mac.F1 | 0.849 | 0.818 | 0.837 | 0.831 | 0.831 | 0.831 | 0.831 |
Mic.AUC | 0.984 | 0.985 | 0.983 | 0.970 | 0.968 | 0.968 | 0.968 |
Mac.AUC | 0.864 | 0.829 | 0.894 | 0.888 | 0.862 | 0.862 | 0.862 |
Avg.Precision | 0.981 | 0.980 | 0.974 | 0.963 | 0.963 | 0.963 | 0.963 |
Coverage | 3.281 | 3.316 | 3.406 | 3.531 | 0.531 | 3.531 | 3.531 |
One.Error | 0.005 | 0.005 | 0.023 | 0.051 | 0.051 | 0.051 | 0.051 |
Ranking Loss | 0.017 | 0.019 | 0.024 | 0.033 | 0.033 | 0.033 | 0.033 |
Summary of results by multilabel learning methods |
---|
The ability of an MLL model to predict the levels of all four volatility classes is dependent on all the complex network metrics of the model |
It is difficult to interpret in the selected top MLL models how each complex network metric of a model influences the output levels of RCV classes |
Based on the employed data and the parameter settings of the top seven different multilabel PTMs and NN classifier algorithm, the top seven complex network metrics selected by the LP-IG feature selection method yield the highest performance in predicting RCV classes simultaneously |
RQ 3 | Can machine learning techniques be employed to predict RCV using complex network metrics? |
---|---|
Answer | Machine learning techniques, specifically, multilabel learning methods, can be employed to predict RCV using complex network networks |