CN111679924B - Reliability simulation method and device for componentized software system and electronic equipment - Google Patents

Reliability simulation method and device for componentized software system and electronic equipment Download PDF

Info

Publication number
CN111679924B
CN111679924B CN202010356334.8A CN202010356334A CN111679924B CN 111679924 B CN111679924 B CN 111679924B CN 202010356334 A CN202010356334 A CN 202010356334A CN 111679924 B CN111679924 B CN 111679924B
Authority
CN
China
Prior art keywords
component
determining
reliability
task
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010356334.8A
Other languages
Chinese (zh)
Other versions
CN111679924A (en
Inventor
杨洪旗
潘勇
赖喆
聂国健
杨礼浩
刘宇婕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Electronic Product Reliability and Environmental Testing Research Institute
Original Assignee
China Electronic Product Reliability and Environmental Testing Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Electronic Product Reliability and Environmental Testing Research Institute filed Critical China Electronic Product Reliability and Environmental Testing Research Institute
Priority to CN202010356334.8A priority Critical patent/CN111679924B/en
Publication of CN111679924A publication Critical patent/CN111679924A/en
Application granted granted Critical
Publication of CN111679924B publication Critical patent/CN111679924B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention relates to the technical field of reliability test, and particularly discloses a method and a device for simulating the reliability of a component software system and electronic equipment. The method comprises the steps of determining a mapping relation among system tasks, stage tasks, subtasks and system activities, wherein the system tasks comprise a plurality of stage tasks, each stage task comprises a plurality of subtasks, and each subtask comprises a plurality of system activities; determining a system component and establishing a mapping relation between the system component and system activity; acquiring component scene profile data according to a mapping relation between a system component and system activity; and performing reliability simulation on the software system based on the component scene profile data. The reliability simulation process provided by the application fuses a system task, a stage task, a subtask, a system activity and a system component which are specifically executed, and a simulation analysis result finally obtained by the reliability simulation method provided by the application is closer to the actual running condition of a software system, so that the accuracy is higher.

Description

Reliability simulation method and device for componentized software system and electronic equipment
Technical Field
The present invention relates to the field of reliability testing technologies, and in particular, to a method and an apparatus for simulating reliability of a componentized software system, and an electronic device.
Background
The software component is a functional unit which is packaged according to the standard and can be operated, scheduled, managed and accessed in the software system, and has the characteristics of specific functions, standard interfaces and combined use. The component software system is a software system which is organically composed of a plurality of software components according to a certain logic relation and realizes a certain function.
Generally, the software system reliability analysis evaluation method mainly includes an analysis evaluation method based on an operation profile, a state-based analysis evaluation method, a path-based analysis evaluation method, and a simulation-based analysis evaluation method. The method based on the operation section is to define the operation section based on the operation habit of the user using the software and the information such as the frequency of the operation habit, calculate the occurrence probability of different sections and the like to obtain the system reliability by counting the use probability of different components in the running process of the system and summarizing the use condition of the components and the migration probability of the components. State-based methods generally assume that the transfer of control between the individual components that make up the component software has Markov properties, but in practice component-based software systems have difficulty meeting the component independence assumption of the model. The path-based method generally assumes that the components that make up the system are independent to run, and after the system architecture is completed, for paths followed by test cases, the reliability of each path, and thus the reliability of the software system, is calculated by calculating the migration probability between the components on each path. The simulation-based method is mainly characterized in that based on analysis of functional structures and logical relations of a software system, a corresponding reliability model is established by using Petri network, UML and other methods, and based on the model, the software system is analyzed and evaluated by using a Monte Carlo simulation method.
Although the methods for analyzing the reliability of the component software system are provided, the reliability of the software system can be evaluated, more methods are based on the software, and the method is not based on the task specifically executed by the software system, so that the analysis result is difficult to be provided for the running process, related events and operation time sequence of the software system under the specific task constraint, and the obtained system reliability level and the actual condition of the system can be greatly different.
Disclosure of Invention
Based on the above, it is necessary to provide a method, a device, an electronic device and a storage medium for simulating the reliability of a componentized software system, aiming at the problem that the reliability analysis result is inaccurate because the reliability analysis method of the existing componentized software system cannot fuse the specifically executed tasks.
A method of componentized software system reliability simulation, the method comprising:
determining a mapping relation among a system task, a stage task, sub-tasks and system activities, wherein the system task comprises a plurality of stage tasks, each stage task comprises a plurality of sub-tasks, and each sub-task comprises a plurality of system activities;
Determining a system component and establishing a mapping relation between the system component and the system activity;
acquiring component scene profile data according to a mapping relation between the system components and the system activities;
and performing reliability simulation on the software system based on the component scene profile data.
In one embodiment, the step of determining the mapping relationship among the system tasks, the stage tasks, the subtasks and the system activities includes:
determining a system task;
dividing the system task into a plurality of stage tasks, and establishing a mapping relation between the system task and the stage tasks;
dividing each phase task into a plurality of subtasks, and establishing a mapping relation among the system task, the phase task and the subtasks;
dividing each subtask into a plurality of system activities, and establishing mapping relations among the system tasks, the stage tasks, the subtasks and the system activities.
In one embodiment, the step of determining a system component and establishing a mapping between the system component and the system activity comprises:
dividing the software system into a plurality of system components with different functions according to the execution functions of the software system;
And associating each system component with each system activity by combining the functions of each system component, and establishing a mapping relation between the system component and the system activity.
In one embodiment, the step of obtaining component scene profile data from a mapping relationship between the system component and the system activity includes:
constructing a system use case according to the mapping relation between the system component and the system activity;
determining a plurality of application scenes corresponding to the system activities according to the system use cases;
and carrying out profile analysis on a plurality of application scenes corresponding to the system activities to obtain component scene profile data, wherein the component scene profile data comprises the occurrence probability of operation events corresponding to the application scenes and the system component information associated with the operation events.
In one embodiment, after the step of determining a system component and establishing a mapping between the system component and the system activity, the method further comprises:
determining a plurality of application scenes corresponding to the system components according to the mapping relation between the system components and the system activities;
And obtaining failure rates of the system components in different application scenes.
In one embodiment, the step of performing reliability simulation on the software system based on the component scene profile data includes:
acquiring system activity at the current simulation moment, a plurality of operation events corresponding to the system activity and system component information associated with each operation event;
determining an operation event corresponding to the current simulation moment according to the occurrence probability sampling of each operation event;
determining failure rate of the operation event at the current simulation moment according to the failure rate of each system component associated with the determined operation event;
and determining the fault occurrence time of the operation event corresponding to the current simulation time according to the failure rate sampling of the operation event at the current simulation time, and judging whether the current simulation time has faults or not.
In one embodiment, the step of determining the failure rate of the operation event at the current simulation time according to the failure rate of the system component associated with the determined operation event comprises:
acquiring failure rates of the respective system components associated with the determined operational events;
And summing the failure rates of the system components, and taking the sum of the failure rates of the system components as the failure rate of the operation event at the current simulation moment.
In one embodiment, after the step of determining the fault occurrence time of the operation event corresponding to the current simulation time according to the failure rate sampling of the operation event at the current simulation time and determining whether the current simulation time has a fault, the method further includes:
recording fault information when faults occur at the current simulation moment;
and analyzing the reliability level of the software system according to the fault information.
A componentized software system reliability simulation apparatus, the apparatus comprising:
the system comprises a determining unit, a processing unit and a processing unit, wherein the determining unit is used for determining a mapping relation among a system task, a stage task, sub-tasks and system activities, wherein the system task comprises a plurality of stage tasks, each stage task comprises a plurality of sub-tasks, and each sub-task comprises a plurality of system activities;
the building unit is used for determining a system component and building a mapping relation between the system component and the system activity;
the acquisition unit is used for acquiring the component scene profile data according to the mapping relation between the system component and the system activity;
And the simulation unit is used for carrying out reliability simulation on the software system based on the component scene profile data.
An electronic device, comprising:
the system comprises a memory and a processor, wherein the memory and the processor are in communication connection, the memory stores computer instructions, and the processor executes the computer instructions, so that the reliability simulation method of the componentized software system is executed.
A computer readable storage medium having stored therein computer instructions which when executed by a processor implement a componentized software system reliability simulation method as described above.
The method for simulating the reliability of the componentized software system comprises the steps of firstly determining the mapping relation among system tasks, stage tasks, subtasks and system activities, determining system components, establishing the mapping relation between the system components and the system activities, and further determining the mapping relation among the system tasks, stage tasks, subtasks, system activities and the system components; acquiring the profile data of the component scene according to the mapping relation; and finally, carrying out reliability simulation on the software system based on the component scene profile data. The reliability simulation of the software system starts from the software itself, and the component scene profile data is combined and determined based on the mapping relation among the system tasks, the stage tasks, the subtasks, the system activities and the system components, so that the reliability simulation process provided by the application fuses the tasks, the subtasks, the system activities and the system components which are specifically executed, and the simulation analysis result finally obtained by the reliability simulation method provided by the application is closer to the actual running condition of the software system, and the accuracy is higher.
Drawings
FIG. 1 is a flow diagram of one embodiment of a method for simulating the reliability of a componentized software system provided herein;
FIG. 2 is a schematic flow chart of one embodiment of step S20 in the reliability simulation method of the componentized software system provided in the present application;
FIG. 3 is a flowchart illustrating an embodiment of step S40 in the method for simulating reliability of a componentized software system provided in the present application;
FIG. 4 is a flowchart of one embodiment of step S60 in the method for simulating reliability of a componentized software system provided in the present application;
FIG. 5 is a system use diagram of one specific example of a componentized software system reliability simulation method provided herein;
fig. 6a is a schematic diagram of a logic relationship between two system components, namely a signal processing unit and a short-wave device unit, in an application scenario of input data of the short-wave device in a specific example of the reliability simulation method of the componentized software system provided in the present application;
FIG. 6b is a schematic diagram of a logical relationship between two system components, namely a signal processing unit and an infrared device unit, in an infrared device input data application scenario in a specific example of a componentized software system reliability simulation method provided by the present application;
Fig. 6c is a schematic diagram of a logic relationship between three system components of a signal processing unit, a short-wave device unit and an infrared device unit in an application scenario of fusion data input between a short-wave device and an infrared device in a specific example of the reliability simulation method of the componentized software system provided in the present application;
FIG. 7 is a flow chart of another embodiment of a method for simulating reliability of a componentized software system provided herein;
FIG. 8 is a flowchart illustrating an embodiment of step S803 in the method for simulating reliability of a componentized software system provided in the present application;
FIG. 9 is a schematic diagram illustrating the structure of one embodiment of a device for simulating the reliability of a componentized software system provided herein;
fig. 10 is a schematic structural diagram of an embodiment of an electronic device provided in the present application.
Detailed Description
In order that the invention may be readily understood, a more complete description of the invention will be rendered by reference to the appended drawings. The drawings illustrate preferred embodiments of the invention. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete.
It will be understood that when an element is referred to as being "fixed to" another element, it can be directly on the other element or intervening elements may also be present. When an element is referred to as being "connected" to another element, it can be directly connected to the other element or intervening elements may also be present. The terms "vertical," "horizontal," "left," "right," "upper," "lower," "front," "rear," "circumferential," and the like as used herein are based on the orientation or positional relationship shown in the drawings and are merely for convenience of description and to simplify the description, rather than to indicate or imply that the devices or elements referred to must have a particular orientation, be constructed and operated in a particular orientation, and thus are not to be construed as limiting the invention.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. The terminology used herein in the description of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The term "and/or" as used herein includes any and all combinations of one or more of the associated listed items.
With rapid development of computer technology, computer systems are widely applied to various fields of the current society, software systems are used as main bearing forms of the computer systems, the functions and roles played in the various fields of the society are more and more important, and the aspects of social economy, production, life and the like are not dependent on the software systems. Computer systems are now spread over corners of people's lives and cause dramatic changes in social, economic and lifestyle. As the work to be completed by the software system becomes more and more complex, the possibility of failure of the software system is necessarily increased, and the failure of the software system brings a plurality of inconveniences to the work and life of people, so that a certain property loss is caused, even the life safety of people is threatened, and social production and economic activities are in an uncollectable chaotic state. According to investigation, among many factors causing computer system failure, the failure caused by software accounts for about 65%. Therefore, software reliability has become a bottleneck for computer system reliability.
Since the 70 s of the 20 th century, students have proposed some models to evaluate the reliability of software, but most models are black box models that revolve around the reliability growth of failure data during the software testing phase. The so-called black box model is to take the software system as a whole, regardless of the internal structure and system architecture of the system. However, with the widespread use of software multiplexing and component technology, component-based software development is rapidly increasing. The mode of software development is changing based on the software engineering of the components, focusing more on the architecture of the software system. Thus, existing black box reliability models are no longer applicable in terms of component-based software reliability analysis evaluation.
The object-oriented software technology is one of the main achievements obtained in the software engineering field since the 80 th century, changes the original software development flow, initiates a brand new software development mode, and the component-based software engineering is a further development of the object-oriented technology, and meanwhile, the components are gradually expanded from reusable components which are independently developed to commercial components. Along with the rapid development of component technology, a software development method for focusing on components to design a large-scale complex software system through software multiplexing is also becoming a focus, so that component-based software system development is certainly one of the dominant directions in the field of software engineering. CBSE (component-based software engineering) is used as a technical method for software development design, which not only adapts to the high-efficiency requirement for software development, but also embodies the idea of software multiplexing, and is a necessary trend in the process of software industrialization and engineering. However, the current work is focused on the development of components and the technology of multiplexing components, and the reliability of component software is less concerned, so how to analyze and evaluate the reliability of a component software system by using the reliability of components and the system architecture of the component software is a problem to be solved.
In general, the software system reliability analysis and evaluation method mainly comprises the following steps: an analysis evaluation method based on an operation profile, an analysis evaluation method based on a state, an analysis evaluation method based on a path, and an analysis evaluation method based on simulation. The method based on the operation section is to define the operation section based on the operation habit of the user using the software and the information such as the frequency of the operation habit, calculate the occurrence probability of different sections and the like to obtain the system reliability by counting the use probability of different components in the running process of the system and summarizing the use condition of the components and the migration probability of the components. State-based methods generally assume that the transfer of control between the individual components that make up the component software has Markov properties, but in practice component-based software systems have difficulty meeting the component independence assumption of the model. The path-based method generally assumes that the components that make up the system are independent to run, and after the system architecture is completed, for paths followed by test cases, the reliability of each path, and thus the reliability of the software system, is calculated by calculating the migration probability between the components on each path. The simulation-based method is mainly characterized in that based on analysis of functional structures and logical relations of a software system, a corresponding reliability model is established by using Petri network, UML and other methods, and based on the model, the software system is analyzed and evaluated by using a Monte Carlo simulation method.
Although the methods for analyzing the reliability of the component software system are provided, the reliability of the software system can be evaluated, more methods are based on the software, and the method is not based on the task specifically executed by the software system, so that the analysis result is difficult to be provided for the running process, related events and operation time sequence of the software system under the specific task constraint, and the obtained system reliability level and the actual condition of the system can be greatly different.
In order to solve the above-described problems, the present application provides a componentized software system reliability simulation method, a componentized software system reliability simulation apparatus, an electronic device, and a computer-readable storage medium capable of starting from a specific task of a componentized software system.
In some embodiments, the embodiment of the application provides a reliability simulation method of a componentized software system, which is applied to a reliability simulation process of the componentized software system.
As shown in fig. 1, the method for simulating the reliability of the componentized software system provided in the present embodiment includes the following steps:
step S20: and determining a mapping relation among the system tasks, the stage tasks, the subtasks and the system activities, wherein the system tasks comprise a plurality of stage tasks, each stage task comprises a plurality of subtasks, and each subtask comprises a plurality of system activities.
In practical applications, the componentized software system may execute multiple tasks in stages according to the use requirements, where each stage task may include multiple subtasks, and each subtask may include multiple system activities. In this embodiment, first, a mapping relationship among a system task, a stage task, a subtask and a system activity is determined, that is, the system task, the stage task in the task, the subtask in the stage task and the system activity in each subtask are associated with each other, and a corresponding mapping relationship table is formed.
In one embodiment, as shown in fig. 2, step S20, that is, the step of determining the mapping relationship among the system tasks, the phase tasks, the subtasks, and the system activities, includes the steps of:
step S201: a system task is determined.
Firstly, determining system tasks executed by a software system according to specific application scenes of the software system. For example, a software system performs command control tasks.
Step S202: dividing a system task into a plurality of stage tasks, and establishing a mapping relation between the system task and the stage tasks.
And determining the task of the included stage according to the actual requirement of the componentized software system for executing the command control task. For example, a command and control task mainly comprises m stages of tasks, respectively S 1 ,S 2 ,…,S m
Step S203: dividing each stage task into a plurality of subtasks, and establishing a mapping relation among the system tasks, the stage tasks and the subtasks.
After determining the tasks of each stage, the tasks of each stage are subdivided into a number of related sub-tasks. For example, stage task S 1 The associated subtask is F 1 、F 2 、F 3 、F 4 、F 5 The method comprises the steps of carrying out a first treatment on the surface of the Stage task S 2 The associated subtask is F 2 、F 3 、F 6 、F 7 . Thereby, the mapping relation between each stage task and the related subtasks can be established. Wherein the same subtasks may exist in different stage tasks, e.g. stage task S as described above 1 And stage task S 2 In which there is the same subtask F 2 And F 3 . Table 1 is a specific example of a mapping relationship between phase tasks and subtasks.
Table 1 stage task and subtask mapping relationship table
Step S204: dividing each subtask into a plurality of system activities, and establishing mapping relations among the system tasks, the stage tasks, the subtasks and the system activities.
After determining the subtasks, further analyzing each subtask, and determining a plurality of specific system activities contained in each subtask by combining the time sequence relation in the execution process. For example, a subtask contains k activities, A 1 ,A 2 ,…,A k . More specifically, for example, a multi-target tracking subtask in a task electronic system is mainly divided into five system activities of data input, output processing, data association, tracking filtering, and data output. After determining a plurality of system activities under each subtask, the association among the stage tasks, the subtasks in the stage tasks and the system activities in each subtask can be established, and a corresponding mapping relation table is formed.
Step S40: and determining a system component and establishing a mapping relation between the system component and the system activity.
The component software system consists of a plurality of software components according to a certain logic relationship, and each software component has a specific function. Individual system activities may be implemented through a plurality of system components.
In one embodiment, as shown in fig. 3, step S40, i.e. the step of determining a system component and establishing a mapping relationship between the system component and the system activity, includes the steps of:
step S401: the software system is divided into a plurality of system components having different functions according to the execution functions of the software system.
Specifically, the component software system function module is analyzed at first, and the function module is further subdivided until each software function unit which can be independently operated, scheduled, managed and accessed and has a certain function and a certain interface is obtained, and the software function unit is the system component. For example, the component software system is divided into t components, C 1 ,C 2 ,…,C t
Step S402: and associating each system component with each system activity by combining the functions of each system component, and establishing a mapping relation between the system components and the system activities.
In step S203, respective system activities have been determined, wherein each system activity may be implemented by a plurality of system components, whereby a mapping relationship between the system components and the system activities may be established according to the functions of the respective system components and the specific contents of the determined system activities. Table 2 is a specific example of a mapping relationship between system activities and system components.
Table 2 system activity and system component mapping table
Since the mapping relationship between the system task, the stage task, the subtask and the system activity has been determined in step S20, when the mapping relationship between the system activity and the system component is established in step S40, the mapping relationship between the system task, the stage task, the subtask, the system activity and the system component is determined.
Step S60: and acquiring the scene profile data of the component according to the mapping relation between the system component and the system activity.
Because each system activity can include a plurality of application scenes, in order to analyze the application scenes specifically, the embodiment further analyzes the application scenes of each system activity after obtaining the mapping relationship between the system components and the system activities, that is, can determine a plurality of application scenes corresponding to each system activity and the system components related to each application scene, and can also obtain data such as occurrence probability of each application scene. The data obtained by the further analysis is the component scene profile data, so that the reliability analysis of the software system is carried out by combining the component scene profile data.
In one embodiment, as shown in fig. 4, step S60, that is, the step of acquiring the component scene profile data according to the mapping relationship between the system component and the system activity, includes the steps of:
step S601: and constructing a system use case according to the mapping relation between the system components and the system activities.
Taking the multifunctional target tracking subtask as an example, the multifunctional target tracking subtask comprises five system activities of data input, data processing, data association, tracking filtering and data output. Wherein the data input is related to two system components, namely a short wave device unit and an infrared device unit; data processing, data association and tracking filtering are related to the system component of the signal processing unit; the data output is associated with a system component of the data transceiver unit. A system constructed based thereon is shown in fig. 5, for example.
Step S602: and determining a plurality of application scenes corresponding to the system activities according to the system use cases.
Taking the system activity of data input as an example, the data input is related to two system components of a short-wave equipment unit and an infrared equipment unit, so that the data input use case can be subdivided into three application scenes of short-wave equipment input data, infrared equipment input data and short-wave equipment and infrared equipment multi-platform fusion data input. Similarly, application scenarios corresponding to other system activities may be determined. The application scenarios corresponding to each system activity can be multiple or only one, and the application scenarios need to be determined according to actual system use cases.
Step S603: and carrying out profile analysis on a plurality of application scenes corresponding to each system activity to obtain component scene profile data, wherein the component scene profile data comprises the occurrence probability of operation events corresponding to each application scene and system component information associated with each operation event.
And after determining the application scenes corresponding to the activities of each system, carrying out section analysis on each application scene. Specifically, the occurrence probability of each application scene under a single system activity can be determined according to an empirical method or a statistical method, and the associated system component information in each application scene, the interactive information under each application scene and the like can be determined by combining the system use cases. In addition, a logical relationship diagram of the associated system components in each application scenario may also be drawn.
The event corresponding to each application scene is an operation event, the occurrence probability of each application scene is also called as the occurrence probability of each operation event, and the system component information associated with each application scene is the system component information corresponding to each operation event.
Taking a data input example as an example, the method comprises three application scenes of short-wave equipment input data, infrared equipment input data and fusion data input of the short-wave equipment and the infrared equipment. Fig. 6a shows a logical relationship between two system components of a signal processing unit and a short-wave device unit in a short-wave device input data application scenario; FIG. 6b illustrates a logical relationship between two system components, a signal processing unit and an infrared device unit, in an infrared device input data application scenario; fig. 6c shows the logical relationship between three system components, namely a signal processing unit, a short-wave device unit and an infrared device unit, in a data input application scenario of a short-wave device and infrared device multi-platform fusion. In addition, table 3 shows a specific example of a scene profile table of the data input use case.
Table 3 scene profile table of data entry use case
Step S80: and performing reliability simulation on the software system based on the component scene profile data.
After the component scene profile data is acquired, the reliability simulation of the component software system can be performed by combining the component scene profile data. In the simulation process, the method starts from software, and combines component scene profile data which is determined based on mapping relations among stage tasks, subtasks, system activities and system components, so that the reliability simulation process provided by the method fuses specific executed tasks, subtasks, system activities and system components, and finally obtained simulation analysis results are closer to actual running conditions of a software system, and accuracy is higher.
In one embodiment, as shown in fig. 7, after step S40, i.e. the step of determining a system component and establishing a mapping relationship between the system component and a system activity, the method for simulating the reliability of the componentized software system provided in the embodiment of the present application further includes the following steps:
step S50: and determining a plurality of application scenes corresponding to each system component according to the mapping relation between the system components and the system activities.
Specifically, after the mapping relationship between the system components and the system activities is obtained, the functions of the system components associated with the different system activities can be further analyzed, the system components are taken as analysis objects, the application scenes with the same system activity names and the same functions corresponding to each system component are defined as the same application scene, and the application scenes with different activity names or different functions are defined as different application scenes, so that a plurality of application scenes corresponding to each system component are determined.
Step S51: and obtaining failure rates of all the system components in different application scenes.
Specifically, according to the software reliability evaluation model provided in the GJB/Z161, the failure rate of each system component is calculated by using the test data of each system component in different application scenarios, and the f-th system component is set to have g application scenarios, and the corresponding failure rates are respectively recorded as
The failure rate determination is to apply the failure rate of each system component in different application scenes to subsequent reliability simulation, so that the reliability simulation result is more real and accurate.
In one embodiment, step S80, namely, the step of performing reliability simulation on the software system based on the component scene profile data, includes the steps of:
Step S801: system activity at the current simulation time, a plurality of operation events corresponding to the system activity, and system component information associated with each operation event are acquired.
Since the association between the system task, the stage task, the sub task, the system activity, and the system components has been determined in the foregoing steps, and various component scene profile data (including the operation events corresponding to the respective application scenes of the respective system activities and the system component information associated with the respective operation events) has been determined, the system task, the stage task, the sub task, the system activity, the several operation events corresponding to the system activity, and the system component information associated with the respective operation events at the current simulation time can be acquired.
Step S802: and determining the operation event corresponding to the current simulation moment according to the occurrence probability sampling of each operation event.
Specifically, the obtained component scene profile data includes occurrence probabilities of the respective operation events, so that the operation event corresponding to the current simulation time can be determined according to the occurrence probability samples of the respective operation events. Wherein, sampling means such as random sampling or layering sampling or Latin hypercube sampling or importance sampling can be adopted, and no absolute limitation is made here.
Step S803: and determining the failure rate of the operation event at the current simulation moment according to the failure rate of each system component associated with the determined operation event.
When the operation event corresponding to the current simulation time is determined, the system component information associated with the operation event can be determined. Since the failure rates of the respective system components under different application scenarios have been determined in the foregoing steps, the failure rate of the operation event at the current simulation time can be determined according to the failure rate of the system component associated with the operation event.
In one embodiment, as shown in fig. 8, step S803, i.e., the step of determining the failure rate of the operation event at the current simulation time according to the failure rate of the system component associated with the determined operation event, includes the steps of:
step S8031: failure rates of various system components associated with the determined operational events are obtained.
Step S8032: the failure rates of the system components are summed, and the sum of the failure rates of the system components is taken as the failure rate of the operation event at the current simulation moment.
The failure rate of the operation event is simple to calculate, and the internal operation amount can be effectively reduced.
Step S804: and determining the fault occurrence time of the operation event corresponding to the current simulation time according to the failure rate sampling of the operation event at the current simulation time, and judging whether the current simulation time has faults or not.
Specifically, after the failure rate of the operation event at the current simulation moment is obtained, the failure rate of the operation event is assumed to be subjected to exponential distribution, the reciprocal of the failure rate is the average fault interval time, and the corresponding sampling function is thatWherein eta is a random number between 0 and 1, and the time of the operation event fault can be obtained only by randomly sampling to generate a random number, so as to judge whether the current simulation moment has the fault.
In one embodiment, after step S804, that is, the step of determining the fault occurrence time of the operation event corresponding to the current simulation time according to the failure rate sampling of the operation event at the current simulation time and determining whether the current simulation time has a fault, the method for simulating the reliability of the componentized software system provided by the embodiment of the present application further includes the following steps:
step S805: when the current simulation time goes wrong, fault information is recorded. The fault information may include, among other things, the name of the operating event at which the fault occurred, the time of the fault, and the like.
Step S806: the reliability level of the software system is analyzed based on the fault information.
And the reliability level of the constructed software system can be counted and analyzed according to the fault information recorded in the simulation process. Specifically, the reliability index, availability index and the like of the component software system can be calculated by statistically analyzing the data in the simulation process, so that the reliability evaluation of the component software system is realized.
In one embodiment, before performing step S80, that is, the step of performing reliability simulation on the software system based on the component scene profile data, the total number of simulations and the single simulation task time may be preset, and the simulation advancing mechanism may be predetermined. The time advancing mechanism is a mechanism for advancing the simulation time from one moment to another moment along with the progress of the simulation. Discrete event simulation has two main time-advancing mechanisms: a fixed step size advance mechanism and a next event time advance mechanism. The fixed step time advancing mechanism is a simulation time control mechanism facing to time intervals, a simulation clock is increased by a fixed step each time in the simulation process, and the method needs to scan all activities during each time of time advancing to check whether an event occurs in the time intervals. The next event time pushing mechanism is an event-oriented simulation time control mechanism, in which a simulation clock is not pushed continuously, but pushed at unequal interval according to the time when the next time is expected to occur, and the increment of the simulation clock can be long or short and completely depends on the system to be simulated. In order to improve simulation efficiency, an event-oriented simulation time pushing mechanism is adopted in the application.
Accordingly, after the execution of step S805 is completed, it is determined whether the current simulation time is reached, if not, the step S801 is continuously executed, otherwise, the number of simulations is increased, and it is determined whether the predetermined total number of simulations is reached, if not, the step S801 is continuously executed, otherwise, the step S806 is executed.
In the present application, the determination of the correspondence relationship between the five elements, i.e., the system task, the stage task, the subtask, the system activity, the operation event, and the system component, is not limited to the order of the steps described above, but may be determined in other orders, as long as the correspondence relationship between the system task, the stage task, the subtask, the system activity, the operation event, and the system component can be determined.
In some embodiments, the present application further provides a device for simulating the reliability of a componentized software system, as shown in fig. 9, where the device includes a determining unit 20, a building unit 40, an obtaining unit 60, and a simulation unit 80. Wherein,
the determining unit 20 is configured to determine a mapping relationship among a system task, a stage task, a subtask, and a system activity, where the system task includes a plurality of stage tasks, each stage task includes a plurality of subtasks, and each subtask includes a plurality of system activities;
The establishing unit 40 is used for determining a system component and establishing a mapping relationship between the system component and the system activity;
the acquiring unit 60 is configured to acquire component scene profile data according to a mapping relationship between a system component and a system activity;
the simulation unit 80 is used for performing reliability simulation on the software system based on the component scene profile data.
For the details of the above units, reference may be made to corresponding descriptions in the method for simulating reliability of the componentized software system, which are not repeated here.
In some of these embodiments, an electronic device is also provided, as shown in fig. 10, including a memory 100 and a processor 200. The memory 100 and the processor 200 may be communicatively coupled via a bus or otherwise, which is illustrated in fig. 10.
The processor 200 may be a central processing unit (Central Processing Unit, CPU). The processor 200 may also be a chip such as other general purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), field programmable gate arrays (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or a combination thereof.
The memory 100 is used as a non-transitory computer readable storage medium for storing a non-transitory software program, a non-transitory computer executable program, and modules, such as program instructions corresponding to the reliability simulation method of the componentized software system in the embodiment of the invention. The processor 200 performs various functional applications and data processing of the processor 200 by running non-transitory software programs, instructions, and modules stored in the memory 100, i.e., implementing a componentized software system reliability simulation method.
Memory 100 may include a storage program area that may store an operating system, at least one application program required for functionality, and a storage data area; the storage data area may store data created by the processor 200, etc. In addition, memory 100 may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, memory 100 may optionally include memory located remotely from processor 200, which may be connected to the processor via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
It will be appreciated by those skilled in the art that implementing all or part of the above-described embodiment method may be implemented by a computer program to instruct related hardware, where the program may be stored in a computer readable storage medium, and the program may include the above-described embodiment method when executed. Wherein the storage medium may be a magnetic Disk, an optical Disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a Flash Memory (Flash Memory), a Hard Disk (HDD), or a Solid State Drive (SSD); the storage medium may also comprise a combination of memories of the kind described above.
The technical features of the above-described embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above-described embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The above examples illustrate only a few embodiments of the invention, which are described in detail and are not to be construed as limiting the scope of the invention. It should be noted that it will be apparent to those skilled in the art that several variations and modifications can be made without departing from the spirit of the invention, which are all within the scope of the invention. Accordingly, the scope of protection of the present invention is to be determined by the appended claims.

Claims (9)

1. A method for simulating the reliability of a componentized software system, the method comprising:
determining a mapping relation among a system task, a stage task, sub-tasks and system activities, wherein the system task comprises a plurality of stage tasks, each stage task comprises a plurality of sub-tasks, and each sub-task comprises a plurality of system activities;
determining a system component and establishing a mapping relation between the system component and the system activity;
acquiring component scene profile data according to a mapping relation between the system components and the system activities;
the step of acquiring component scene profile data according to the mapping relation between the system component and the system activity comprises the following steps:
constructing a system use case according to the mapping relation between the system component and the system activity;
determining a plurality of application scenes corresponding to the system activities according to the system use cases;
carrying out profile analysis on a plurality of application scenes corresponding to the system activities to obtain component scene profile data, wherein the component scene profile data comprises the occurrence probability of operation events corresponding to the application scenes and the system component information associated with the operation events;
Performing reliability simulation on the software system based on the component scene profile data;
the step of performing reliability simulation on the software system based on the component scene profile data comprises the following steps:
acquiring system activity at the current simulation moment, a plurality of operation events corresponding to the system activity and system component information associated with each operation event;
determining an operation event corresponding to the current simulation moment according to the occurrence probability sampling of each operation event;
determining failure rate of the operation event at the current simulation moment according to the failure rate of each system component associated with the determined operation event;
determining the fault occurrence time of the operation event corresponding to the current simulation time by adopting a sampling function according to the failure rate of the operation event at the current simulation time, and judging whether the current simulation time has faults or not;
the sampling function is:wherein->Is a random number between 0 and 1, ">Is failure rate.
2. The componentized software system reliability simulation method of claim 1, wherein the step of determining the mapping relationship between system tasks, phase tasks, sub-tasks, and system activities comprises:
Determining a system task;
dividing the system task into a plurality of stage tasks, and establishing a mapping relation between the system task and the stage tasks;
dividing each phase task into a plurality of subtasks, and establishing a mapping relation among the system task, the phase task and the subtasks;
dividing each subtask into a plurality of system activities, and establishing mapping relations among the system tasks, the stage tasks, the subtasks and the system activities.
3. The componentized software system reliability simulation method of claim 1, wherein the step of determining a system component and establishing a mapping relationship between the system component and the system activity comprises:
dividing the software system into a plurality of system components with different functions according to the execution functions of the software system;
and associating each system component with each system activity by combining the functions of each system component, and establishing a mapping relation between the system component and the system activity.
4. The componentized software system reliability simulation method of claim 1, wherein after the step of determining a system component and establishing a mapping relationship between the system component and the system activity, the method further comprises:
Determining a plurality of application scenes corresponding to the system components according to the mapping relation between the system components and the system activities;
and obtaining failure rates of the system components in different application scenes.
5. The componentized software system reliability simulation method of claim 1, wherein the step of determining a failure rate for an operational event at a current simulation time based on the failure rate for the system component associated with the determined operational event comprises:
acquiring failure rates of the respective system components associated with the determined operational events;
and summing the failure rates of the system components, and taking the sum of the failure rates of the system components as the failure rate of the operation event at the current simulation moment.
6. The method for simulating the reliability of a componentized software system according to claim 1, wherein after the step of determining the failure occurrence time of the operation event corresponding to the current simulation time according to the failure rate sampling of the operation event at the current simulation time and judging whether the failure occurs at the current simulation time, the method further comprises:
recording fault information when faults occur at the current simulation moment;
And analyzing the reliability level of the software system according to the fault information.
7. A componentized software system reliability simulation apparatus, the apparatus comprising:
the system comprises a determining unit, a processing unit and a processing unit, wherein the determining unit is used for determining a mapping relation among a system task, a stage task, sub-tasks and system activities, wherein the system task comprises a plurality of stage tasks, each stage task comprises a plurality of sub-tasks, and each sub-task comprises a plurality of system activities;
the building unit is used for determining a system component and building a mapping relation between the system component and the system activity;
the acquisition unit is used for acquiring the component scene profile data according to the mapping relation between the system component and the system activity;
the acquisition unit is also used for constructing a system use case according to the mapping relation between the system component and the system activity;
determining a plurality of application scenes corresponding to the system activities according to the system use cases;
carrying out profile analysis on a plurality of application scenes corresponding to the system activities to obtain component scene profile data, wherein the component scene profile data comprises the occurrence probability of operation events corresponding to the application scenes and the system component information associated with the operation events;
The simulation unit is used for carrying out reliability simulation on the software system based on the component scene profile data;
the simulation unit is further used for acquiring system activities at the current simulation moment, a plurality of operation events corresponding to the system activities and the system component information associated with each operation event; determining an operation event corresponding to the current simulation moment according to the occurrence probability sampling of each operation event; determining failure rate of the operation event at the current simulation moment according to the failure rate of each system component associated with the determined operation event; determining the fault occurrence time of the operation event corresponding to the current simulation time by adopting a sampling function according to the failure rate of the operation event at the current simulation time, and judging whether the current simulation time has faults or not;
the sampling function is:wherein/>Is a random number between 0 and 1, ">Is failure rate.
8. An electronic device, comprising:
a memory and a processor communicatively coupled to each other, the memory having stored therein computer instructions that, upon execution, perform the componentized software system reliability simulation method of any one of claims 1-6.
9. A computer readable storage medium having stored therein computer instructions which when executed by a processor implement the componentized software system reliability simulation method of any one of claims 1-6.
CN202010356334.8A 2020-04-29 2020-04-29 Reliability simulation method and device for componentized software system and electronic equipment Active CN111679924B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010356334.8A CN111679924B (en) 2020-04-29 2020-04-29 Reliability simulation method and device for componentized software system and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010356334.8A CN111679924B (en) 2020-04-29 2020-04-29 Reliability simulation method and device for componentized software system and electronic equipment

Publications (2)

Publication Number Publication Date
CN111679924A CN111679924A (en) 2020-09-18
CN111679924B true CN111679924B (en) 2024-03-26

Family

ID=72452387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010356334.8A Active CN111679924B (en) 2020-04-29 2020-04-29 Reliability simulation method and device for componentized software system and electronic equipment

Country Status (1)

Country Link
CN (1) CN111679924B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220547B (en) * 2021-03-22 2023-09-29 中国航天***科学与工程研究院 Complex software system reliability index determining method based on simulation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106529306A (en) * 2016-11-16 2017-03-22 中国电子产品可靠性与环境试验研究所 System safety assessment method and device
CN110795351A (en) * 2019-10-29 2020-02-14 中国科学院微小卫星创新研究院 Reliability increase testing and evaluating method for component-based star software

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106529306A (en) * 2016-11-16 2017-03-22 中国电子产品可靠性与环境试验研究所 System safety assessment method and device
CN110795351A (en) * 2019-10-29 2020-02-14 中国科学院微小卫星创新研究院 Reliability increase testing and evaluating method for component-based star software

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨洪旗等.基于业务流程的构件化软件可靠性评估方法.《电子产品可靠性与环境试》.2019,第37卷(第5期),正文第8-14页. *

Also Published As

Publication number Publication date
CN111679924A (en) 2020-09-18

Similar Documents

Publication Publication Date Title
CN110245078B (en) Software pressure testing method and device, storage medium and server
CN110928772B (en) Test method and device
US9753826B2 (en) Providing fault injection to cloud-provisioned machines
US8972940B2 (en) Systems and methods for identifying software performance influencers
US9971669B2 (en) Predicting performance of a software application over a target system
US10656934B2 (en) Efficient software testing
US9286195B2 (en) Derivation of generalized test cases
CN111108481B (en) Fault analysis method and related equipment
WO2017083173A1 (en) Validation using scenario runners
US11169910B2 (en) Probabilistic software testing via dynamic graphs
CN111679924B (en) Reliability simulation method and device for componentized software system and electronic equipment
US20180276102A1 (en) Multi-thread sequencing
US11750471B2 (en) Method and apparatus for determining resource configuration of cloud service system
CN113360581A (en) Data processing method, device and storage medium
US10073938B2 (en) Integrated circuit design verification
Bosse et al. Predicting availability and response times of IT services
US20160004982A1 (en) Method and system for estimating the progress and completion of a project based on a bayesian network
Bosse Predicting an IT Service’s Availability with Respect to Operator Errors
US11036624B2 (en) Self healing software utilizing regression test fingerprints
CN109388564B (en) Test method and device and electronic equipment
CN110297625B (en) Application processing method and device
CN114692382B (en) Management method and device for nuclear power simulation model development data and computer equipment
US11947416B2 (en) Fault diagnosis in complex systems
CN117389841B (en) Method and device for monitoring accelerator resources, cluster equipment and storage medium
US10656986B2 (en) Dynamically controlling runtime system logging based on end-user reviews

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant