Limits...
Technique for Early Reliability Prediction of Software Components Using Behaviour Models

View Article: PubMed Central - PubMed

ABSTRACT

Behaviour models are the most commonly used input for predicting the reliability of a software system at the early design stage. A component behaviour model reveals the structure and behaviour of the component during the execution of system-level functionalities. There are various challenges related to component reliability prediction at the early design stage based on behaviour models. For example, most of the current reliability techniques do not provide fine-grained sequential behaviour models of individual components and fail to consider the loop entry and exit points in the reliability computation. Moreover, some of the current techniques do not tackle the problem of operational data unavailability and the lack of analysis results that can be valuable for software architects at the early design stage. This paper proposes a reliability prediction technique that, pragmatically, synthesizes system behaviour in the form of a state machine, given a set of scenarios and corresponding constraints as input. The state machine is utilized as a base for generating the component-relevant operational data. The state machine is also used as a source for identifying the nodes and edges of a component probabilistic dependency graph (CPDG). Based on the CPDG, a stack-based algorithm is used to compute the reliability. The proposed technique is evaluated by a comparison with existing techniques and the application of sensitivity analysis to a robotic wheelchair system as a case study. The results indicate that the proposed technique is more relevant at the early design stage compared to existing works, and can provide a more realistic and meaningful prediction.

No MeSH data available.


FSMs of the “Bank” component in the ATM system (obtained from the three scenarios in Fig 2).
© Copyright Policy
Related In: Results  -  Collection

License
getmorefigures.php?uid=PMC5036808&req=5

pone.0163346.g004: FSMs of the “Bank” component in the ATM system (obtained from the three scenarios in Fig 2).

Mentions: Once the scenarios are prepared (annotated and propagated), we are ready to synthesize a behaviour model for each component in the system. The strategy starts by generating a number of FSMs for the component (one FSM from each scenario). Thus, each FSM represents the behaviour of the component corresponding to a specific scenario from the set of system scenarios. These FSMs will later be merged (in Phase3) to produce a complete behaviour model of the component. In order to convert each component instance within a scenario to FSM, pre-post conditions values and operations (incoming and outgoing messages) of this component instance will be translated to states and transitions, respectively. Fig 4 shows the three FSMs of the “Bank” component obtained from the three ATM system scenarios shown previously in Fig 2.


Technique for Early Reliability Prediction of Software Components Using Behaviour Models
FSMs of the “Bank” component in the ATM system (obtained from the three scenarios in Fig 2).
© Copyright Policy
Related In: Results  -  Collection

License
Show All Figures
getmorefigures.php?uid=PMC5036808&req=5

pone.0163346.g004: FSMs of the “Bank” component in the ATM system (obtained from the three scenarios in Fig 2).
Mentions: Once the scenarios are prepared (annotated and propagated), we are ready to synthesize a behaviour model for each component in the system. The strategy starts by generating a number of FSMs for the component (one FSM from each scenario). Thus, each FSM represents the behaviour of the component corresponding to a specific scenario from the set of system scenarios. These FSMs will later be merged (in Phase3) to produce a complete behaviour model of the component. In order to convert each component instance within a scenario to FSM, pre-post conditions values and operations (incoming and outgoing messages) of this component instance will be translated to states and transitions, respectively. Fig 4 shows the three FSMs of the “Bank” component obtained from the three ATM system scenarios shown previously in Fig 2.

View Article: PubMed Central - PubMed

ABSTRACT

Behaviour models are the most commonly used input for predicting the reliability of a software system at the early design stage. A component behaviour model reveals the structure and behaviour of the component during the execution of system-level functionalities. There are various challenges related to component reliability prediction at the early design stage based on behaviour models. For example, most of the current reliability techniques do not provide fine-grained sequential behaviour models of individual components and fail to consider the loop entry and exit points in the reliability computation. Moreover, some of the current techniques do not tackle the problem of operational data unavailability and the lack of analysis results that can be valuable for software architects at the early design stage. This paper proposes a reliability prediction technique that, pragmatically, synthesizes system behaviour in the form of a state machine, given a set of scenarios and corresponding constraints as input. The state machine is utilized as a base for generating the component-relevant operational data. The state machine is also used as a source for identifying the nodes and edges of a component probabilistic dependency graph (CPDG). Based on the CPDG, a stack-based algorithm is used to compute the reliability. The proposed technique is evaluated by a comparison with existing techniques and the application of sensitivity analysis to a robotic wheelchair system as a case study. The results indicate that the proposed technique is more relevant at the early design stage compared to existing works, and can provide a more realistic and meaningful prediction.

No MeSH data available.