Abstract. Multi-attribute decision making deals with discrete finite set of alternatives. The solution to the multi-attribute decision making problem is the choice of an alternative from the set of all possible alternatives on the base of usually contradicting attributes. In this paper, a new multi-attribute decision making model is presented. The proposed model develops a linear compensatory process for the interconnected attributes. It concerns the overall ranking of the alternatives based on the attribute-wise ranking as well as the interaction and the combination of the attributes. The compensation model of multiattribute decision making is applied to N-version software selection. N-version programming is one of the well-known software development approach which ensures high dependability and fault tolerance of software. However, the problem of extra resource involvement arises since the N-version programming stipulates program redundancy. A set of characteristics/attributes have to be considered when choosing an optimal variant of N-version software. The proposed compensation model of multi-attribute decision making provides a solution to this problem. Additionally, a case study on choosing N-version software for a real-life information and control system problem is provided to verify the correctness of our model.
Annotation N-version programming is one of the approach ensuring high reliability and fault-tolerance of software on the basis of program redundancy and diversity. This approach ensures that faults of one of the versions of an N-version software module will not result in malfunction of the module operation process. N-version software realization, as a rule, depends upon capacities and preferences of the teams of designers and developers. This work is an attempt to denote basic requirements, which should be met at design of N-version software to minimize occurrence of possible program faults and influence of the modules versions on one another. The requirements to versions (program modules) of N-version software allow to ensure high-level reliability and fault-tolerance due to elimination of possible influence of separate versions on each other. A special attention has been paid to their interaction, which should not have any impact on operation of the other components. For realization and research of N-version software developed taking into account the defined requirements an N-version software execution environment has been developed. Testing of the N-version software execution environment has demonstrated expediency of a component architecture application and high efficiency of N-version programming as a method of fault-tolerant software development.
Abstract. Multiversion or N-version programming is well known as an effective approach, ensuring high level of software reliability. This approach is based on two fundamental strategies for enhancing the reliability of a software system -redundancy and diversity. Modules solving critical tasks are redundant and implemented in the form of functionally equivalent versions. In this connection versions can be developed by different programmer teams, in different languages, in different environment and can implement different methods and algorithms for solution of identical tasks in order to provide versions diversity. Complex software systems, as a rule, include a set of programs which can call the same modules for solving their target tasks, or to be more precise, versions of these modules. According to diversity concept call of different module versions allows to avoid identical failures. This article presents a technique of selecting optimal multiversion software system to minimize simultaneous usage of the same module versions.
N-version software is used all over the world as one of the approaches that can provide with the high level of reliability and software fault tolerance. The application of redundant module versions of software allows to obtain a correct result even if there is an error in the separate module versions. However, the program redundancy that can increase software reliability needs extra resources. It results in an optimization problem. There is a necessity for a certain variant of multiversion software realization i. e. such a modules versions set is required that demands less resources and guarantees high level of reliability simultaneously. The exhaustive search of all possible multiversion software realizations is carried out by the recursive algorithm proposed in the article.
In the process of designing a production plan, one of the important steps is scheduling the execution of technological operations. The schedule can be created either manually or by using software. If the schedule is compiled by software, then several schedule generation algorithms are used to eliminate possible errors. A set of such algorithms is called a "batch". It is advisable that only different algorithms should be included in the batch. This is necessary to eliminate errors of the same type. Therefore, the search for clones of algorithms in the batch is an urgent production task. To solve it a diversity metric of algorithms was developed in the course of this work. Such a metric numerically (as a percentage) determines how much the algorithms differ. This metric is based on the properties of the algorithm execution. Algorithm traces are constructed in the N-dimensional space using the obtained points. The coordinates of the trace points are the values with which the algorithm works at each step of its execution or each of the control points of the algorithm execution. An experiment was performed to confirm the correctness of this metric. Within this experiment, the trace properties of three sorting algorithms were calculated. Based on the properties obtained, indicators were determined for comparing algorithms in the metric space. The experiment confirmed the effectiveness of using the diversity metric to find clones in the algorithms batch. The scope of this metric is not limited to clone searches. It can be used as an independent indicator of software quality.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.