Customizable software program programs include numerous totally different, important, non-critical and interdependent configurations. Reliability and efficiency of configurable system depend upon profitable completion of communication or interactions amongst its configurations. More often than not customers of configurable programs fairly often use important configurations than non-critical configurations. Failure of important configurations could have extreme affect on system reliability and efficiency. We will overcome this downside by figuring out important configurations that play an important position, then present an acceptable fault tolerant candidate to every important configuration. On this article we’ve proposed an algorithm that identifies optimum fault tolerant candidate for each important configuration of a software program system. We have now additionally proposed two schemes to categorise configurations into important and non-critical configurations primarily based on: 1) Frequency of configuration interactions (IFrFT), 2) Traits and frequency of interactions (ChIFrFT). These schemes have performed crucial position in reaching reliability and fault tolerance of a software program system in a value efficient method. The share of profitable interactions of IFrFTand ChIFrFT are 25 and 40% larger than that of the NoFT scheme. In NoFT scheme not one of the configurations are supported by fault tolerance candidates. Efficiency of IFrFT, ChIFrFT, and NoFT schemes are examined utilizing a file construction system.
Customization of a software program system varies with person necessities or goal platform. Programmers make use of preprocessor directives, command-line arguments, setup recordsdata, configuration recordsdata to customise a software program system. Utilizing product-line know-how, it’s doable to generate a program tailor-made to particular person person necessities through the use of program mills. Program technology course of leverage software program system options the place a characteristic is a seen habits or attribute of a software program program . Based on product-line know-how, any customizable choice that may be chosen in the course of the compile or load time is known as a characteristicof a program. Program generator generates a program relying on options chosen by the person(s).
Each program or software program system could have useful and non-functional properties. Purposeful properties are actions which are to be carried out or a habits that must be exhibited by a program when a specified situation is met. Many of the non-functional properties are associated to efficiency, resembling accessibility, fault-tolerance, reliability, scalability, recoverability, maintainability and availability of program(s). More often than not customers will probably be serious about non-functional properties resembling allocation and launch of reminiscence, emailing digital ads to customers. A software program configuration consists of non-functional properties personalized to a particular set of options. For instance, preprocessor directives personalized to a specific set of necessities and processed throughout compilation of software program system will develop into configurations.
Typically software program programs consists of a number of totally different configurations, in flip, every configuration include many options. Much like a configuration mannequin with a couple of configurations produce a number of variants of software program programs in [2, 3], a characteristic mannequin that consists of few options can produce a number of numbers of configurations. An interplay is a communication between two or extra configurations of a software program system to alternate information. A software program system that consists of lots of or 1000’s of configurations having totally different failure habits is liable to failure.
Configurations that carry out vital, frequent or default operations are referred to as important configurations. In the course of the execution of software program system many non-critical configurations work together with important configurations. Crucial configurations are specialised variations of non-critical configurations just like many options are prolonged variations of vital options
A configuration is alleged to be failed configuration if it both produce errors throughout its execution or fail to efficiently full its job. A software program system that consists of configurations that are liable to failure could have unpredictable habits and efficiency anomalies making it unusable or untrustworthy. Communication (parameters, return values, and many others.) between two or extra configurations is known as Configurations Interplay. Incomplete/failed communication between two or extra configurations is alleged to be Failed Interplay. The importance stage of important configuration will come down when it’s concerned in failed interactions. Failed interactions have develop into frequent than exceptions ] in fashionable advanced software program programs. Additional, by classifying the configurations into two classes as given under, we will enhance software program programs reliability and fault tolerance.
1) Incessantly used or Crucial configurations, and
2) Much less often used or non-critical configurations
After the classification of configurations into the classes talked about above,often used configurations are backed up by fault tolerant candidates to enhance the reliability and efficiency of software program programs.
Based on software program reliability engineering, the primary approaches to construct dependable software program programs are 1) Fault Forecasting 2) Fault Prevention, three) Fault Remova] and four) Fault Tolerance Fault prevention and fault tolerance methods are leveraged within the improvement of enormous and dependable advanced software program programs. To tolerate faults, design variety method proposed by Avizienis et al., employs functionally equal but independently designed and developed software program system modules. Since this method incur excessive improvement and upkeep price it’s employed solely within the improvement and upkeep of machine important programs (catastrophe management, menace of lack of life).