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.


System specifications: (a) ATM system constraints, (b) ATM system scenarios using s-TSs.
© Copyright Policy
Related In: Results  -  Collection

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

pone.0163346.g002: System specifications: (a) ATM system constraints, (b) ATM system scenarios using s-TSs.

Mentions: Briefly, the system scenarios in this paper’s work were written using a scenario language called the scalable triggered scenario (s-TSs) language. Triggered scenario languages provide syntactic constructs for describing the conditional or causal relations between sequences of actions. Scenarios in a language like live sequence charts, are described in conditional form (called universal form) and existential. In triggered language, scenarios are described in universal form with existential semantics. This type of modeling provides a good fit with use cases which is the primary form of requirements elicitation. An example of an existential scenario is the automatic teller machine (ATM) scenario which describes a statement like “If the user inserts a valid card into the ATM, and then enters the correct password, she/he shall be able to request cash and have it dispensed by the ATM”. This statement is also conditional in the sense that requesting and obtaining cash is expected to be possible if the user has inserted a valid card and input the correct password. An example of a universal statement is: “If the user inserts a valid card into the ATM, and then enters an invalid password, then she/he must receive the password incorrect message”. The s-TSs facilitates the writing of statements like “If the user inserts a valid card into the ATM, and then enters a valid password, then she/he must able to see the ATM options, otherwise she/he must receive the password incorrect message”. The last statement in a universal form, but more concise and compact (two universal statements combined together). s-TSs use constructs such as implied triggers and branching messages to compact the statements. Fig 2 shows the specifications of the ATM system, with Fig 2(a) depicting the system constraints which are elicited as domain knowledge, and Fig 2(b) illustrating the ATM scenarios using s-TSs.


Technique for Early Reliability Prediction of Software Components Using Behaviour Models
System specifications: (a) ATM system constraints, (b) ATM system scenarios using s-TSs.
© Copyright Policy
Related In: Results  -  Collection

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

pone.0163346.g002: System specifications: (a) ATM system constraints, (b) ATM system scenarios using s-TSs.
Mentions: Briefly, the system scenarios in this paper’s work were written using a scenario language called the scalable triggered scenario (s-TSs) language. Triggered scenario languages provide syntactic constructs for describing the conditional or causal relations between sequences of actions. Scenarios in a language like live sequence charts, are described in conditional form (called universal form) and existential. In triggered language, scenarios are described in universal form with existential semantics. This type of modeling provides a good fit with use cases which is the primary form of requirements elicitation. An example of an existential scenario is the automatic teller machine (ATM) scenario which describes a statement like “If the user inserts a valid card into the ATM, and then enters the correct password, she/he shall be able to request cash and have it dispensed by the ATM”. This statement is also conditional in the sense that requesting and obtaining cash is expected to be possible if the user has inserted a valid card and input the correct password. An example of a universal statement is: “If the user inserts a valid card into the ATM, and then enters an invalid password, then she/he must receive the password incorrect message”. The s-TSs facilitates the writing of statements like “If the user inserts a valid card into the ATM, and then enters a valid password, then she/he must able to see the ATM options, otherwise she/he must receive the password incorrect message”. The last statement in a universal form, but more concise and compact (two universal statements combined together). s-TSs use constructs such as implied triggers and branching messages to compact the statements. Fig 2 shows the specifications of the ATM system, with Fig 2(a) depicting the system constraints which are elicited as domain knowledge, and Fig 2(b) illustrating the ATM scenarios using s-TSs.

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.