CN111679924A - Component software system reliability simulation method and device and electronic equipment - Google Patents

Component software system reliability simulation method and device and electronic equipment Download PDF

Info

Publication number
CN111679924A
CN111679924A CN202010356334.8A CN202010356334A CN111679924A CN 111679924 A CN111679924 A CN 111679924A CN 202010356334 A CN202010356334 A CN 202010356334A CN 111679924 A CN111679924 A CN 111679924A
Authority
CN
China
Prior art keywords
component
reliability
determining
software
activities
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.)
Granted
Application number
CN202010356334.8A
Other languages
Chinese (zh)
Other versions
CN111679924B (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

Images

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 testing, and particularly discloses a method and a device for simulating the reliability of a component software system and electronic equipment. 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 activities; acquiring component scene profile data according to a mapping relation between a system component and system activities; and performing reliability simulation on the software system based on the component scene profile data. The reliability simulation process provided by the application integrates specifically executed system tasks, stage tasks, subtasks, system activities and system components, and a simulation analysis result finally obtained by the reliability simulation method provided by the application is closer to the actual operation condition of a software system, so that the accuracy is higher.

Description

Component software system reliability simulation method and device and electronic equipment
Technical Field
The invention relates to the technical field of reliability testing, in particular to a method and a device for simulating the reliability of a component software system and electronic equipment.
Background
The software components are functional units which can be operated, scheduled, managed and accessed and are packaged according to standards in the software system, and the software units have specific functions, standard interfaces and characteristics which can be used in a combined mode. The component software system is a software system which is organically composed of a plurality of software components according to a certain logical relationship and realizes a certain function.
Generally, the software system reliability analysis and evaluation method mainly includes an operation profile-based analysis and evaluation method, a state-based analysis and evaluation method, a path-based analysis and evaluation method, and a simulation-based analysis and evaluation method. The method based on the operation profile is characterized in that the operation profile is defined based on information such as operation habits and frequency of software used by a user, the use probability of different components in the system operation process is counted, the use condition and the component migration probability of the components are summarized, and the occurrence probability of different profiles is calculated to obtain the system reliability. State-based methods typically assume that the control transfer between the various components that make up the component software is of Markov nature, but in practice, it is difficult for component-based software systems to satisfy the component independence assumptions of the model. The path-based method generally assumes that the components constituting the system operate independently, and after the system architecture is completed, the reliability of each path and then the reliability of the software system is calculated by calculating the transition probability between the components on each path for the path followed by the test case. The simulation-based method is mainly characterized in that on the basis of analyzing the functional structure and the logical relationship of the software system, a corresponding reliability model is established by using a Petri network, a UML (unified modeling language) and other methods, and on the basis of the model, the software system is analyzed and evaluated by 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 also be evaluated, but the methods are more based on the software and do not depend on the task specifically executed by the software system, the analysis result is difficult to be provided for the running process, the related event and the operation time sequence of the software system under the constraint of the specific task, and the obtained system reliability level may have a great difference from the actual condition of the system.
Disclosure of Invention
Therefore, it is necessary to provide a method and an apparatus for simulating reliability of a component-based software system, an electronic device, and a storage medium, for solving the problem that the reliability analysis result is inaccurate because the existing component-based software system reliability analysis method cannot integrate specific tasks.
A componentized software system reliability simulation method, the method comprising:
determining a mapping relation among system tasks, stage tasks, subtasks and system activities, wherein the system tasks comprise a plurality of the stage tasks, each stage task comprises a plurality of the subtasks, and each subtask comprises a plurality of the system activities;
determining a system component and establishing a mapping relation between the system component and the system activity;
acquiring component scene section data according to the mapping relation between the system component and the system activity;
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 between the system task, the phase task, the subtask and the system activity 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 stage task into a plurality of subtasks, and establishing a mapping relation among the system task, the stage task and the subtasks;
dividing each subtask into a plurality of system activities, and establishing mapping relations among the system tasks, the phase tasks, the subtasks and the system activities.
In one embodiment, the step of determining system components and establishing a mapping relationship between the system components and the system activities comprises:
dividing the software system into a plurality of system components with different functions according to the execution function of the software system;
and associating each system component with each system activity in combination with the function of each system component, and establishing a mapping relation between the system components and the system activities.
In one embodiment, the step of obtaining component scene profile data according to the mapping relationship between the system component and the system activity comprises:
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 performing profile analysis on a plurality of application scenes corresponding to each system activity to acquire component scene profile data, wherein the component scene profile data comprises the occurrence probability of an operation event corresponding to each application scene and the system component information associated with each operation event.
In one embodiment, 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 acquiring the failure rate of each system component in different application scenes.
In one embodiment, the step of simulating the reliability of the software system based on the component scene profile data comprises:
acquiring system activity at the current simulation moment, a plurality of operation events corresponding to the system activity and the system component information associated with each operation event;
sampling and determining an operation event corresponding to the current simulation moment according to the occurrence probability of each operation event;
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;
and determining the fault occurrence time of the operation event corresponding to the current simulation moment according to the failure rate sampling of the operation event at the current simulation moment, and judging whether the current simulation moment has a fault.
In one embodiment, the step of determining the failure rate of the operation event at the current simulation time according to the determined failure rate of the system component associated with the operation event comprises:
obtaining failure rates of the various 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:
when a fault occurs at the current simulation moment, recording fault information;
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, subtasks and system activities, the system task comprises a plurality of stage tasks, each stage task comprises a plurality of subtasks, and each subtask comprises a plurality of system activities;
the establishing unit is used for determining a system component and establishing a mapping relation between the system component and the system activity;
the acquisition unit is used for acquiring component scene section data according to the mapping relation between the system component and the system activity;
and the simulation unit is used for performing reliability simulation on the software system based on the component scene profile data.
An electronic device, comprising:
the component software system reliability simulation system comprises a memory and a processor, wherein the memory and the processor are mutually connected in a communication mode, computer instructions are stored in the memory, and the processor executes the computer instructions so as to execute the component software system reliability simulation method.
A computer readable storage medium having stored therein computer instructions which, when executed by a processor, implement the 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, the stage tasks, the subtasks, the system activities and the system components; then acquiring the scene section data of the component according to the mapping relation; and finally, performing reliability simulation on the software system based on the component scene profile data. Because the reliability simulation of the software system is started from the software, the reliability simulation method combines the component scene profile data which is determined based on the mapping relation among system tasks, stage tasks, subtasks, system activities and system components, the reliability simulation process provided by the application integrates the specifically executed tasks, subtasks, system activities and system components, the simulation analysis result finally obtained by the reliability simulation method provided by the application is closer to the actual operation condition of the software system, and the accuracy is higher.
Drawings
FIG. 1 is a schematic flow chart diagram illustrating one embodiment of a method for simulating the reliability of a componentized software system provided herein;
FIG. 2 is a flowchart illustrating an embodiment of step S20 in the method for simulating the reliability of a component-based software system provided in the present application;
FIG. 3 is a flowchart illustrating an embodiment of step S40 in the method for simulating the reliability of a component-based software system provided in the present application;
FIG. 4 is a flowchart illustrating an embodiment of step S60 in the method for simulating the reliability of a component-based software system provided in the present application;
FIG. 5 is a schematic diagram of a system use case of a specific example of a method for simulating the reliability of a componentized software system provided by the present application;
fig. 6a is a schematic diagram of a logical relationship between two system components, namely a signal processing unit and a short-wave device unit, in a short-wave device input data application scenario in a specific example of the component-based software system reliability simulation method provided by 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 application scenario of input data of an infrared device in a specific example of the component-based software system reliability simulation method provided by the present application;
fig. 6c is a schematic diagram of a logical relationship among three system components, namely a signal processing unit, a short-wave device unit and an infrared device unit in a scenario of multi-platform fusion data input application of the short-wave device and the infrared device in a specific example of the component-based software system reliability simulation method provided by the present application;
FIG. 7 is a schematic flow chart diagram illustrating another embodiment of a method for simulating the reliability of a componentized software system provided by the present application;
FIG. 8 is a flowchart illustrating an embodiment of step S803 in the method for simulating the reliability of a component-based software system provided in the present application;
FIG. 9 is a schematic structural diagram of an embodiment of a component-based software system reliability simulation apparatus provided in the present application;
fig. 10 is a schematic structural diagram of an embodiment of an electronic device provided in the present application.
Detailed Description
To facilitate an understanding of the invention, the invention will now be described more fully with reference to the accompanying drawings. Preferred embodiments of the present invention are shown in the drawings. 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 "secured 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. As used herein, the terms "vertical," "horizontal," "left," "right," "upper," "lower," "front," "rear," "circumferential," and the like are based on the orientation or positional relationship shown in the drawings for ease of description and simplicity of description, and do not indicate or imply that the referenced device or element must have a particular orientation, be constructed and operated in a particular orientation, and are therefore not to be considered limiting of the present 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 in the description of the invention herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
With the rapid development of computer technology, computer systems are widely applied to various fields of the present society, software systems are used as main bearing forms of computer systems, the roles played and played in various fields of the society are more and more important, and social economy, production, life and the like do not depend on the software systems. Today's computer systems are spread throughout the corners of people's lives and have caused tremendous changes in social structure, economic structure, and lifestyle. As the work to be completed by the software system becomes more complex, the probability of failure of the software system is increased inevitably, and the failure of the software system brings inconvenience to the work and life of people, causes certain property loss and even threatens the life safety of people, and causes social production and economic activities to fall into an unrecoverable chaotic state. Investigation has shown that software-induced failures account for about 65% of the many factors that cause computer system failures. Therefore, software reliability has become a bottleneck for computer system reliability.
Since the 70's of the 20 th century, scholars have proposed some models to assess software reliability, but most models are black-box models around the software testing phase based on the reliability growth of failure data. The so-called black box model is to integrate the software system as a whole, regardless of the internal structure and system architecture of the system. However, component-based software development is rapidly growing with the widespread adoption of software multiplexing and component technology. Component-based software engineering is changing the model of software development, putting more emphasis on the architecture of software systems. Therefore, the existing black box reliability model is no longer applicable in component-based software reliability analysis evaluation.
The object-oriented software technology is one of the main achievements obtained in the field of software engineering since the 80 th century, changes the original software development process and initiates a brand-new software development mode, while the component-based software engineering is the further development of the object-oriented technology, and simultaneously, the components are gradually expanded from independently developed reusable components to commercial components. With the rapid development of component technology, a software development method for focusing components to design a large-scale complex software system through software reuse also becomes a focus day by day, so that the component-based software system development is undoubtedly one of the leading directions in the field of software engineering. The CBSE (component-based software engineering) is a technical method for software development design, meets the requirement for high efficiency of software development, embodies the idea of software reuse, and is a necessary trend in software industrialization and engineering processes. However, the current work is more focused on the development of components and the component multiplexing technology, and the reliability of component software is less concerned, so how to analyze and evaluate the reliability of a component-based software system by using the reliability of components and the system architecture of component software becomes a problem to be solved.
Generally, the reliability analysis and evaluation method of the software system mainly comprises the following steps: an operational profile-based analytical assessment method, a state-based analytical assessment method, a path-based analytical assessment method, and a simulation-based analytical assessment method. The method based on the operation profile is characterized in that the operation profile is defined based on information such as operation habits and frequency of software used by a user, the use probability of different components in the system operation process is counted, the use condition and the component migration probability of the components are summarized, and the occurrence probability of different profiles is calculated to obtain the system reliability. State-based methods typically assume that the control transfer between the various components that make up the component software is of Markov nature, but in practice, it is difficult for component-based software systems to satisfy the component independence assumptions of the model. The path-based method generally assumes that the components constituting the system operate independently, and after the system architecture is completed, the reliability of each path and then the reliability of the software system is calculated by calculating the transition probability between the components on each path for the path followed by the test case. The simulation-based method is mainly characterized in that on the basis of analyzing the functional structure and the logical relationship of the software system, a corresponding reliability model is established by using a Petri network, a UML (unified modeling language) and other methods, and on the basis of the model, the software system is analyzed and evaluated by 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 also be evaluated, but the methods are more based on the software and do not depend on the task specifically executed by the software system, the analysis result is difficult to be provided for the running process, the related event and the operation time sequence of the software system under the constraint of the specific task, and the obtained system reliability level may have a great difference from the actual condition of the system.
In order to solve the above 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 that can be started from a specific task of the componentized software system.
In some embodiments, the present application provides a component-based software system reliability simulation method, which is applied to a component-based software system reliability simulation process.
As shown in fig. 1, the method for simulating the reliability of the component software system provided by this embodiment includes the following steps:
step S20: 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.
In practical application, the component software system can execute a plurality of tasks in stages according to use requirements, each stage task can comprise a plurality of subtasks, and each subtask can comprise a plurality of system activities. In this embodiment, mapping relationships among system tasks, phase tasks, subtasks, and system activities are first determined, that is, the system tasks, the phase tasks in the tasks, the subtasks in the phase tasks, and the system activities in the subtasks are associated with one another, and a corresponding mapping relationship table is formed.
In one embodiment, as shown in fig. 2, the step of determining the mapping relationship between the system task, the phase task, the subtask and the system activity at step S20 includes the following steps:
step S201: system tasks are determined.
Firstly, system tasks executed by the software system are determined according to the specific application scene of the software system. For example, a software system performs command and 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 component software system for executing the command control task. For example, a command and control task mainly comprises m stage tasks, each of which is S1,S2,…,Sm
Step S203: dividing each stage task into a plurality of subtasks, and establishing a mapping relation among the system task, the stage task and the subtasks.
After the tasks of each stage are determined, the tasks of each stage are subdivided into a plurality of related subtasks. For example, a phase task S1The related subtask is F1、F2、F3、F4、F5(ii) a Stage task S2The related subtask is F2、F3、F6、F7. Thereby, the mapping relation between each stage task and the related subtasks can be established. Wherein the same subtasks may exist in different phase tasks, e.g. the phase task S described above1And phase task S2In which the same subtask F exists2And F3. Table 1 is a specific example of a phase task and subtask mapping relationship.
TABLE 1 stage task and subtask mapping relationship Table
Figure BDA0002473580480000111
Step S204: dividing each subtask into a plurality of system activities, and establishing a mapping relation among the system tasks, the phase tasks, the subtasks and the system activities.
After determining the subtasksAnd 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, each of which is A1,A2,…,Ak. More specifically, for example, the 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 stage task, the subtasks in the stage task and the association between the system activities in each subtask can be established, and a corresponding mapping relation table is formed.
Step S40: determining system components and establishing a mapping relation between the system components and system activities.
The component software system is composed of a plurality of software components according to a certain logical relation, and each software component has a specific function. Various system activities may be implemented by a plurality of system components.
In one embodiment, as shown in fig. 3, the step of determining the system component and establishing the mapping relationship between the system component and the system activity at step S40 includes the following steps:
step S401: the software system is divided into a plurality of system components having different functions according to the execution function of the software system.
Specifically, the functional modules of the component software system are analyzed and further subdivided until software functional units which can independently run, schedule, manage and access, have certain functions and determined interfaces are obtained, and the software functional units are system components. For example, the component software system is divided into t components, C1,C2,…,Ct
Step S402: and associating each system component with each system activity in combination with the function of each system component, and establishing a mapping relation between the system components and the system activities.
In step S203, the respective system activities have been determined, wherein each system activity may be implemented by a plurality of system components, and thus, the 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 content of the determined system activities. Table 2 is a specific example of a mapping relationship between system activities and system components.
TABLE 2 mapping relationship table of system activities and system components
Figure BDA0002473580480000121
Since the mapping relationship between the system task, the phase task, the subtask, and the system activity is already 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 phase task, the subtask, the system activity, and the system component is determined.
Step S60: and acquiring the scene section data of the component according to the mapping relation between the system component and the system activity.
Since each system activity may include a plurality of application scenarios, in order to specifically analyze each application scenario, in this embodiment, after the mapping relationship between the system component and the system activity is obtained, the application scenarios of each system activity are further analyzed, that is, the plurality of application scenarios corresponding to each system activity and the system component related to each application scenario may be determined, and data such as occurrence probability of each application scenario may also be obtained. The data obtained through further analysis is the component scene section data, so that the reliability of the software system can be analyzed by combining the component scene section data.
In one embodiment, as shown in fig. 4, the step S60 of obtaining the component scene section data according to the mapping relationship between the system components and the system activities includes the following steps:
step S601: and constructing a system use case according to the mapping relation between the system component and the system activity.
Taking the multi-functional target tracking subtask as an example, the multi-functional target tracking subtask includes five system activities of data input, data processing, data association, tracking filtering, and data output. Wherein the data input is associated with two system components, a short wave equipment unit and an infrared equipment unit; the data processing, data association and tracking filtering are related to one system component, namely a signal processing unit; the data output is associated with a system component, the data transceiver unit. A system constructed based on this is shown, for example, in fig. 5.
Step S602: and determining a plurality of application scenes corresponding to each system activity 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 device unit and an infrared device unit, so the data input case can be subdivided into three application scenes of short-wave device input data, infrared device input data and multi-platform fusion data input of the short-wave device and the infrared device. Similarly, application scenarios corresponding to other system activities may be determined. The application scenarios corresponding to each system activity may be multiple or only one, and are determined according to actual system use cases.
Step S603: and performing profile analysis on a plurality of application scenes corresponding to each system activity to acquire 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 the application scenes corresponding to the system activities are determined, performing profile analysis on the application scenes. Specifically, the occurrence probability of each application scenario under a single system activity may be determined according to an empirical method or a statistical method, and associated system component information in each application scenario, interactive information in each application scenario, and the like may also be determined in combination with a system use case. In addition, a logic relation diagram of the related system components in each application scene can be drawn.
The event corresponding to each application scenario is an operation event, the occurrence probability of each application scenario is also referred to as the occurrence probability of each operation event, and the system component information associated with each application scenario is the system component information corresponding to each operation event.
Taking the data input case as an example, the data input case comprises three application scenes of short-wave equipment input data, infrared equipment input data and multi-platform fusion data input of the short-wave equipment and the infrared equipment. Fig. 6a shows the logical relationship between the two system components of the signal processing unit and the short wave device unit in the application scenario of the short wave device input data; fig. 6b shows 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 among the three system components of the signal processing unit, the short-wave device unit and the infrared device unit in the application scenario of multi-platform fusion data input of the short-wave device and the infrared device. In addition, table 3 shows one specific example of a scenario profile table for a data input use case.
Table 3 scene profile table for data input use case
Figure BDA0002473580480000141
Figure BDA0002473580480000151
Step S80: and performing reliability simulation on the software system based on the component scene profile data.
And after the component scene profile data is acquired, the reliability of the component software system can be simulated by combining the component scene profile data. In the simulation process, the software is started, the component scene profile data is combined, and the component scene profile data is determined based on the mapping relation among the stage tasks, the subtasks, the system activities and the system components, so that the reliability simulation process provided by the application integrates the specifically executed tasks, the subtasks, the system activities and the system components, the simulation analysis result finally obtained by the reliability simulation method provided by the application is closer to the actual operation condition of the software system, and the accuracy is higher.
In one embodiment, as shown in fig. 7, after step S40, namely the step of determining system components and establishing a mapping relationship between the system components and system activities, the method for simulating the reliability of a componentized software system provided by 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 associated system components in different system activities may be further analyzed, the system components are used as analysis objects, the application scenarios with the same system activity name and the same function corresponding to each system component are defined as the same application scenario, and the application scenarios with different activity names or different functions are defined as different application scenarios, so as to determine a plurality of application scenarios corresponding to each system component.
Step S51: and acquiring the failure rate of each system component in different application scenes.
Specifically, the failure rate of each system component can be calculated according to a software reliability evaluation model provided in the GJB/Z161 by using test data of each system component in different application scenarios, the f-th system component is set to have g application scenarios, and the corresponding failure rates are respectively recorded as
Figure BDA0002473580480000161
The failure rate is determined 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 section data, includes the following steps:
step S801: the method comprises the steps of obtaining system activity at the current simulation moment, a plurality of operation events corresponding to the system activity and system component information associated with the operation events.
Since the association among the system tasks, the phase tasks, the subtasks, the system activities, and the system components has been determined in the foregoing steps, and the 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 tasks, the phase tasks, the subtasks, the system activities, several operation events corresponding to the system activities, 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 acquired component scene profile data includes the occurrence probability of each operation event, so that the operation event corresponding to the current simulation time can be determined by sampling according to the occurrence probability of each operation event. Wherein, sampling means such as random sampling or hierarchical sampling or latin hypercube sampling or importance sampling can be adopted without any limitation.
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 various system components in different application scenarios have been determined in the foregoing steps, the failure rate of the operational event at the current simulation time may be determined according to the failure rate of the system component associated with the operational event.
In one embodiment, as shown in fig. 8, step S803, namely, 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 the following steps:
step S8031: failure rates of various system components associated with the determined operational event are obtained.
Step S8032: 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.
The failure rate of the operation event is calculated simply, 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 moment according to the failure rate sampling of the operation event at the current simulation moment, and judging whether the current simulation moment has a fault.
Specifically, after the failure rate of the operation event at the current simulation time is obtained, assuming that the failure rate obeys exponential distribution, the inverse of the failure rate of the operation event is the mean fault interval time, and the corresponding sampling function is
Figure BDA0002473580480000171
η is a random number between 0 and 1, and the time of the operation event fault can be obtained by only randomly sampling to generate a random number, so as to determine whether the current simulation time has a fault.
In one embodiment, in step S804, 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 for simulating the reliability of the component-based software system provided in the embodiment of the present application further includes the following steps:
step S805: and when the current simulation time has a fault, recording fault information. The failure information may include the name of the operation event in which the failure occurred, the failure time, and the like.
Step S806: and analyzing the reliability level of the software system according to the fault information.
The reliability level of the software system can be statistically analyzed according to the fault information recorded in the simulation process. Specifically, the reliability index, the availability index and the like of the component software system can be calculated by statistically analyzing data in the simulation process, so that the reliability evaluation of the component software system is realized.
In one embodiment, the total number of simulations and the time of a single simulation task may be preset and the propulsion mechanism of the simulation may be predetermined before executing step S80, i.e., the step of reliability simulation of the software system based on the component scene profile data. Wherein the time advancing mechanism is a mechanism that advances simulation time from one moment to another as the process of the simulation progresses. There are two main time-marching mechanisms for discrete event simulation: a fixed step advance mechanism and a next event time advance mechanism. The fixed step time advancing mechanism is a simulation time control mechanism facing time intervals, a simulation clock is increased by a fixed step every time in the simulation process, and the method needs to scan all activities every time the time is advanced so as to check whether an event occurs in the time interval. The next event time advancing mechanism is an event-oriented simulation time control mechanism, in the mechanism, a simulation clock is not continuously advanced, but is advanced at unequal intervals according to the next time when the next time is predicted to occur, and the increment of the simulation clock can be long or short and is completely dependent on a simulated system. In order to improve the simulation efficiency, an event-oriented simulation time advancing mechanism is adopted in the application.
Correspondingly, 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 simulation frequency is increased, and it is determined whether the predetermined total simulation frequency 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 phase task, the subtask, the system activity, the operation event, and the system component, is not limited to the order of the steps described above, and may be performed in other orders as long as the correspondence relationship between the system task, the phase task, the subtask, the system activity, the operation event, and the system component can be determined, and the determination is not limited in any way.
In some embodiments, the present application further provides a component-based software system reliability simulation apparatus, as shown in fig. 9, the apparatus includes a determining unit 20, a creating unit 40, an obtaining unit 60, and a simulation unit 80. Wherein the content of the first and second substances,
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 system components and establishing mapping relations between the system components and system activities;
the obtaining unit 60 is configured to obtain component scene profile data according to a mapping relationship between a system component and system activities;
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 the corresponding description in the component-based software system reliability simulation method, which is not described herein again.
In some embodiments, the present application further provides an electronic device, as shown in fig. 10, the electronic device includes a memory 100 and a processor 200. The memory 100 and the processor 200 are communicatively connected to each other through a bus or other means, and fig. 10 illustrates the connection through the bus as an example.
Processor 200 may be a Central Processing Unit (CPU). The Processor 200 may also be other general purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components, or combinations thereof.
The memory 100, which is a non-transitory computer readable storage medium, may be used to store non-transitory software programs, non-transitory computer executable programs, and modules, such as program instructions corresponding to the structured software system reliability simulation method in the embodiment of the present invention. The processor 200 executes various functional applications and data processing of the processor 200, namely, implements a componentized software system reliability simulation method by running non-transitory software programs, instructions, and modules stored in the memory 100.
The memory 100 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created by the processor 200, and the like. Further, the 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 understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. The storage medium may be a magnetic Disk, an optical Disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a Flash Memory (Flash Memory), a Hard Disk (Hard Disk Drive, abbreviated as HDD) or a Solid State Drive (SSD), etc.; the storage medium may also comprise a combination of memories of the kind described above.
The technical features of the embodiments described above may be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the embodiments described above are not described, but should be considered as being within the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present invention, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the inventive concept, which falls within the scope of the present invention. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (11)

1. A method for simulating the reliability of a component-based software system, the method comprising:
determining a mapping relation among system tasks, stage tasks, subtasks and system activities, wherein the system tasks comprise a plurality of the stage tasks, each stage task comprises a plurality of the subtasks, and each subtask comprises a plurality of the system activities;
determining a system component and establishing a mapping relation between the system component and the system activity;
acquiring component scene section data according to the mapping relation between the system component and the system activity;
and performing reliability simulation on the software system based on the component scene profile data.
2. The componentized software system reliability simulation method of claim 1, wherein said step of determining a mapping relationship between system tasks, phase tasks, subtasks, 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 stage task into a plurality of subtasks, and establishing a mapping relation among the system task, the stage task and the subtasks;
dividing each subtask into a plurality of system activities, and establishing mapping relations among the system tasks, the phase tasks, the subtasks and the system activities.
3. The componentized software system reliability simulation method of claim 1, wherein the step of determining system components and establishing a mapping between the system components and the system activities comprises:
dividing the software system into a plurality of system components with different functions according to the execution function of the software system;
and associating each system component with each system activity in combination with the function of each system component, and establishing a mapping relation between the system components and the system activities.
4. The componentized software system reliability simulation method of claim 1, wherein the step of obtaining component scene profile data from the mapping between the system components and the system activities comprises:
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 performing profile analysis on a plurality of application scenes corresponding to each system activity to acquire component scene profile data, wherein the component scene profile data comprises the occurrence probability of an operation event corresponding to each application scene and the system component information associated with each operation event.
5. The componentized software system reliability simulation method of claim 4, wherein after said step of determining system components and establishing a mapping between said system components and said system activities, said 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 acquiring the failure rate of each system component in different application scenes.
6. The componentized software system reliability simulation method of claim 5, wherein the step of reliability simulating the software system based on the component scene profile data comprises:
acquiring system activity at the current simulation moment, a plurality of operation events corresponding to the system activity and the system component information associated with each operation event;
sampling and determining an operation event corresponding to the current simulation moment according to the occurrence probability of each operation event;
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;
and determining the fault occurrence time of the operation event corresponding to the current simulation moment according to the failure rate sampling of the operation event at the current simulation moment, and judging whether the current simulation moment has a fault.
7. The componentized software system reliability simulation method of claim 6, wherein the step of determining a failure rate of an operational event at a current simulation time based on the determined failure rate of the system component associated with the operational event comprises:
obtaining failure rates of the various 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.
8. The method for simulating the reliability of the component-based software system according to claim 6, wherein after the step of determining the fault occurrence time of the operation event corresponding to the current simulation time according to the failure rate samples of the operation event at the current simulation time and determining whether the fault occurs at the current simulation time, the method further comprises:
when a fault occurs at the current simulation moment, recording fault information;
and analyzing the reliability level of the software system according to the fault information.
9. A componentized software system reliability simulation 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, subtasks and system activities, the system task comprises a plurality of stage tasks, each stage task comprises a plurality of subtasks, and each subtask comprises a plurality of system activities;
the establishing unit is used for determining a system component and establishing a mapping relation between the system component and the system activity;
the acquisition unit is used for acquiring component scene section data according to the mapping relation between the system component and the system activity;
and the simulation unit is used for performing reliability simulation on the software system based on the component scene profile data.
10. An electronic device, comprising:
a memory and a processor, the memory and the processor being communicatively coupled to each other, the memory having stored therein computer instructions, the processor executing the computer instructions to perform the componentized software system reliability simulation method of any one of claims 1-8.
11. A computer-readable storage medium having stored thereon computer instructions which, when executed by a processor, implement the componentized software system reliability simulation method of any one of claims 1-8.
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 true CN111679924A (en) 2020-09-18
CN111679924B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220547A (en) * 2021-03-22 2021-08-06 中国航天系统科学与工程研究院 Complex software system reliability index determination 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
杨洪旗等: "基于业务流程的构件化软件可靠性评估方法" *

Cited By (2)

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

Also Published As

Publication number Publication date
CN111679924B (en) 2024-03-26

Similar Documents

Publication Publication Date Title
EP2572294B1 (en) System and method for sql performance assurance services
US9690553B1 (en) Identifying software dependency relationships
CN114862656B (en) Multi-GPU-based acquisition method for training cost of distributed deep learning model
US9971669B2 (en) Predicting performance of a software application over a target system
US10509649B2 (en) Value stream graphs across heterogeneous software development platforms
US20200210848A1 (en) Deep learning testing
US11169910B2 (en) Probabilistic software testing via dynamic graphs
CN110868324A (en) Service configuration method, device, equipment and storage medium
KR101830936B1 (en) Performance Improving System Based Web for Database and Application
US11750471B2 (en) Method and apparatus for determining resource configuration of cloud service system
CN113360581A (en) Data processing method, device and storage medium
CN111679924B (en) Reliability simulation method and device for componentized software system and electronic equipment
Boudali et al. DFTSim: A simulation tool for extended dynamic fault trees
US11379444B1 (en) Data-analysis-based facility for adjusting trace fields of a database trace
US11651281B2 (en) Feature catalog enhancement through automated feature correlation
US11169905B2 (en) Testing an online system for service oriented architecture (SOA) services
CN108960433B (en) Method and system for running machine learning modeling process
CN114692382B (en) Management method and device for nuclear power simulation model development data and computer equipment
Thomas et al. SIM-PIPE DryRunner: An approach for testing container-based big data pipelines and generating simulation data
CN112181750A (en) Method, device and medium for testing stability of industrial control network equipment
CN113779117A (en) Data monitoring method and device, storage medium and electronic equipment
CN113742226B (en) Software performance test method and device, medium and electronic equipment
CN117389841B (en) Method and device for monitoring accelerator resources, cluster equipment and storage medium
KR101845208B1 (en) Performance Improving Method Based Web for Database and Application
US20220253522A1 (en) Continues integration and continues deployment pipeline security

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