CN101930371A - Software quality run-time optimizing method based on control theory and goal inference - Google Patents
Software quality run-time optimizing method based on control theory and goal inference Download PDFInfo
- Publication number
- CN101930371A CN101930371A CN2010102833825A CN201010283382A CN101930371A CN 101930371 A CN101930371 A CN 101930371A CN 2010102833825 A CN2010102833825 A CN 2010102833825A CN 201010283382 A CN201010283382 A CN 201010283382A CN 101930371 A CN101930371 A CN 101930371A
- Authority
- CN
- China
- Prior art keywords
- target
- quality
- software
- value
- inference
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000005457 optimization Methods 0.000 claims abstract description 31
- 238000005259 measurement Methods 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000006399 behavior Effects 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008092 positive effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
The invention belongs to the technical field of software engineering, in particular to a software quality run-time optimizing method based on control theory and goal inference. The invention introduces a value viewpoint in the software engineering based on value, defines a value measurement model specific to a goal system as a system total quality feedback from a client business point of view and achieves the software quality run-time optimization based on demand goal inference on the basis of the system total quality feedback. The invention uses a PID controller to dynamically regulate priority levels (quality preference) of relevant run-time quality attributes and takes the priority levels as input to conduct the demand goal inference of preference drive. A demand goal configuration project obtained by the goal inference is used for guiding dynamic reconfiguration of a run-time system structure, thereby achieving the optimal regulation of the system. The real time feedback-based software system run-time total quality optimization can be achieved. Compared with the traditional optimization method aiming at a specific quality attribute, the invention has larger superiority.
Description
Technical Field
The invention belongs to the technical field of software engineering, and particularly relates to a software overall quality optimization method aiming at dynamic balance of multiple non-functional quality attributes of a software system.
Background
The requirements of a software system include both functional and non-functional parts. Functional requirements are often expressed as requirements for functions, behaviors or states to be achieved provided by the system, and the satisfaction is often deterministic yes or no. Whereas non-functional requirements are often quality constraints on the overall system or certain functional implementations, such as performance, security, reliability, etc., whose satisfaction is not a deterministic "yes" or "no" binary conclusion, but rather appears to be a degree of satisfaction.
Often there are conflicts between different non-functional requirements (or quality attributes) in a software system. For example, there is often a conflict between security and performance: the implementation means of encrypted transmission, encrypted storage and the like required by security often sacrifice certain performance. In a traditional software development process, developers often make trade-off decisions on these quality attribute conflicts in the architecture design based on analysis and prediction of the system operating environment. Such static trade-off decisions, once made, do not change after software deployment and execution. Obviously, for a runtime environment that is difficult to predict and dynamically changes, such static trade-off decisions often make it difficult to guarantee optimal operation of the runtime software.
Because the operating environment of the system is constantly changing, some operating parameters and structural configurations of the software can be better adapted to the changed environment only through the optimization and adjustment during the operation, and the operation quality of the software is ensured and improved. The software system runtime quality optimization is just to realize the dynamic optimization adjustment of the non-functional quality of the software by means of parameter adjustment, structure reconfiguration and the like during runtime. The runtime optimization method of the present invention is not directed to quality attributes of a certain aspect, such as performance, reliability, etc., but rather to software overall quality optimization based on dynamic trade-offs among multiple quality attributes. This overall quality can generally be measured in terms of the overall satisfaction of the customer.
In order to realize the runtime overall quality optimization based on the dynamic balance of various quality attributes, the invention adopts the demand model representation based on the target and uses some technologies in target reasoning and control theory. The goal is an expression of the expectations or requirements of the system for related lineage (stakeloders), and the goal model organizes lineage goals into a hierarchical refinement and decomposition structure. The object model includes a hard object (hard goal) describing functional requirements and a soft object (soft goal) describing non-functional requirements. The relationships between the targets include AND AND OR decomposition relationships between the targets, AND consistency relationships of hard targets to soft targets, AND the like. Where the OR decomposition of a hard object indicates that any one of the sub-objects is an alternative way to achieve the parent object, and these sub-objects tend to show positive and negative effects (consistency relationships) on multiple related soft objects, providing room for multiple quality attribute weighing decisions. FIG. 1 depicts an example online course enrollment system object model in which rounded rectangles represent hard objects and peanut-shaped primitives represent soft objects. The AND AND OR decompositions between objects are represented as connecting lines with horizontal lines AND triangular arrows, respectively. The contribution relationship of hard targets to soft targets is represented as labeled arrows, where "Make" and "Help" represent positive effects, and "Break" and "Hurt" represent negative effects.
The theory of control is scientific for researching regulation and control rules of various systems. In the control theory, the control method can be divided into closed-loop control (i.e. feedback control) and open-loop control according to whether the output quantity of the system has an influence on the control action of the system. The feedback control theory dynamically controls the system according to the output feedback of the system, so that the output value of the controlled object is as close as possible to the expected value of the system. The feedback control can obviously reduce the system error, improve the control precision and reduce the influence of disturbance on the system output. The basic framework of feedback control is shown in fig. 2: the controller controls the controlled object according to the difference between the desired value and the actual output value in order to make the actual output value of the controlled object as close as possible to the desired value. In recent years, a control theory is gradually introduced into software development by researchers, and the purpose thereof is to achieve optimal control of a software system or a software development process.
Disclosure of Invention
The invention aims to provide a software overall quality optimization method aiming at dynamic balance of multiple non-functional quality attributes of a software system.
The invention provides a software overall quality optimization method, which is a runtime software self-adaptive optimization method driven by dynamic balance of a demand model based on runtime feedback. The optimization method has a basic framework of a feedback control model as shown in fig. 2, and also has a MAPE (Monitor-Analyze-Plan-Execute) basic control loop of an adaptive system, that is, a framework structure of an optimization method process includes four parts of monitoring, analysis, adaptive adjustment scheme planning and scheme execution. In order to provide real-time feedback of the overall quality of the system at runtime, the invention introduces a Value view in Value-based Software Engineering (Value-based Software Engineering), namely, a Value measurement model specific to a target system is defined from the business view of a client to assist in calculating the overall quality measurement feedback at runtime.
The general framework of the method of the invention is shown in figure 3. From the perspective of a feedback control model, controlled objects in the method are a runtime software system, a target inference engine and an architecture configurator acting on the runtime software system, and a PID controller is adopted by a controller; and providing runtime feedback for the controller based on the runtime service value measurement of the system runtime monitoring data and the value measurement model. From the MAPE control structure of the self-adaptive system, the data monitoring acquisition during the operation in the method belongs to a monitoring part, the service value measurement calculation belongs to an analysis part, the feedback controller and the target inference device belong to a planning part, and the architecture configurator belongs to an execution part.
The software quality runtime optimization method based on the cybernetics and the target inference, as shown in fig. 3, includes the following steps:
(1) the software system operates according to an initial object model configuration and an architecture configuration.
(2) And (3) acquiring basic operation data by monitoring the operation of the software system in real time, and calculating to obtain service value measurement in unit time according to the value measurement model to serve as feedback information reflecting the overall quality condition of the system.
(3) The PID controller adjusts the priority sequence (namely quality preference) of each soft target in the system target model according to the feedback information, the intuitive principle is that the purpose of improving or preventing further deterioration of the soft target can be achieved by improving the priority of the soft target, and the PID controller reflects dynamic balance of quality attributes for continuously adjusting the priority of each soft target according to the feedback during operation.
(4) The preference-supporting target reasoner performs target inference according to the soft target priority ranking generated by the PID controller to generate a hard target configuration. The resulting hard target configuration (mainly the different configurations that decompose the hard target for OR) embodies the given soft target preferences.
(5) The system structure configurator dynamically adjusts the system structure of the software system in operation according to the hard target configuration scheme generated by the target inference engine and the mapping relation between the hard target and the related software components, thereby realizing the target of overall quality optimization.
(6) And (3) repeatedly executing the steps (2) - (5) after a certain time interval (generally about 3-10 minutes).
In the software quality runtime optimization method based on the control theory and the target inference, in step (3), an improved PID control algorithm is adopted to realize the dynamic adjustment of the priority sequence of the related soft targets, and the algorithm process is as follows:
(1) and calculating the increment percentage delta v of the expected service value (the average value of the service values monitored at fixed intervals) according to the monitored and calculated service value measurement in unit time, and updating the expected service value.
(2) And calculating the deviation percentage e (t) of the current time from the corresponding expected value according to the monitored metric values of the quality attributes. According to the deviations e (t-2), e (t-1) and e (t) of each quality attribute at 3 past moments, calculating a control variable (namely the degree of improvement of the quality attribute) of each quality attribute by a PID increment calculation formula (I):
u(t) = u(t-1) + Kp*(e(t) – e(t-1)) + Ki*e(t) + Kd*(e(t) – 2*e(t-1) + e(t-2))…… ①
wherein,u(t)the control variable for each quality attribute, i.e. the degree to which the quality attribute needs to be improved;Kpconsidering the influence factors of the current behavior of the controlled object for the parameters of the proportional controller in the PID controller;Kiconsidering the influence factors of the past behaviors of the controlled object for the parameters of an integral controller in the PID controller;Kdfor the parameters of the differential controller in the PID controller, the future behavior influencing factors of the controlled object are considered.
(3) If the service value increment percentage delta v is within a certain tolerance range (generally above-5%), the priority of each soft target in the system target model is not required to be adjusted (namely target reasoning and system reconfiguration are not required), and the method is ended; otherwise, the increment of the priority of each soft target is calculated, namely the priority of each soft target is multiplied by the control variable of each quality attribute, and the priority is updated.
The invention has the advantages and positive effects that: the method can realize the overall quality optimization of the software system during operation based on real-time feedback, and the optimization realizes the maximization of the overall quality satisfaction degree of the software system through the dynamic balance among multiple quality attributes under the condition that the operation environment is constantly changed. Compared with the traditional optimization method aiming at a specific quality attribute, the method has great advantages.
Drawings
FIG. 1 is an example of a software system object model.
Fig. 2 is a basic framework of a feedback control model.
Fig. 3 is a block diagram of a two-level feedback controller employed in the present invention.
Detailed Description
This section presents a specific implementation based on the Java reflection mechanism for the online course registration system shown in fig. 1. The system operates in a Software As a Service (Software As Service) manner. In this mode, a fixed amount of revenue is available for each successful session registration, but at the same time a commission is paid to the third party payment platform used (different platform provider commission criteria are different). Thus, if direct profit maximization is taken as the root value of the customer, the value metric model of the system can be set to: number of curriculum registrations successfully processed per unit time-the cumulative payplatform commission over that period of time.
The main use process based on the embodiment is as follows:
(1) operating according to the initial target model configuration and architecture configuration, it can be seen from fig. 1 that an initial course selection mode (list selection or direct course number input mode) and payment platform (ABBPAY or UNLPAY) are specifically required to be selected.
(2) And collecting the number of successfully processed transactions in the past 5 minutes, calling data such as the number of payment services of each third party and the like, and calculating the value measurement in the time period according to a value measurement model.
(3) The PID controller adjusts the priority of soft targets, such as minimizing error rate, minimizing response time, minimizing commission overhead, paying service availability (as shown in fig. 1), etc., based on the value metric.
(4) And (4) carrying out target reasoning by using a preference-driven target reasoning algorithm realized in an OpenOME (object modeling tool) to generate a new hard target configuration scheme.
(5) And modifying the concrete implementation component names corresponding to the course selection component and the payment platform component in the runtime architecture description according to the new hard object configuration scheme and the mapping relation between the relevant hard object and the Java implementation component.
(6) The operation system uses reflection mechanism to call the specific implementation body of course selection component and payment platform component appointed in operation architecture description every time when it executes operation flow, so as to implement dynamic reconfiguration of architecture.
(7) And (5) repeatedly executing the steps (2) to (6) after 5 minutes.
Based on the optimization case and the optimization result of the implementation process:
case-based online course registration system with high load, effective throughput (measured as successful course registration) and profit (measured as successful course payment) in unit time are used as indexes, and the method provided by the invention is compared with the traditional static configuration and hard-code-based adaptive optimization method. As can be seen from the optimization results in the following table, the effective throughput of the method provided by the invention in unit time is improved by 2.67% and the profit is improved by 11.64% compared with the best static configuration case; the improvement is 2.56% and 7.14% compared with the adaptation based on hard coding.
Claims (3)
1. A software quality runtime optimization method based on cybernetics and target reasoning is characterized by comprising the following specific steps:
(1) the software system operates according to the initial target model configuration and the system structure configuration;
(2) acquiring basic operation data by monitoring the operation of the software system in real time, and calculating feedback information reflecting the overall quality condition of the system according to a value measurement model;
(3) the PID controller adjusts the priority sequence of each soft target in the system target model according to the feedback information;
(4) the target inference device supporting preference performs target inference according to the soft target priority sequence generated by the PID controller to generate hard target configuration, and the hard target configuration reflects the given soft target preference;
(5) the system structure configurator dynamically adjusts the system structure of the software system in operation according to the hard target configuration scheme generated by the target inference engine and the mapping relation between the hard target and the related software components, thereby realizing the target of overall quality optimization;
(6) and (5) repeatedly executing the steps (2) to (5) after a certain time interval.
2. The cybernetics and objective reasoning based software quality runtime optimization method of claim 1, wherein a value based software engineering concept is employed to define a runtime value metric model from a customer business perspective as runtime feedback to drive runtime optimization adjustments.
3. The cybernetics and target inference based software quality runtime optimization method according to claim 1 or 2, wherein the step (3) adopts a modified PID control algorithm to realize the dynamic adjustment of the priority of the related soft target, and the algorithm process is as follows:
(1) calculating the increment percentage delta v of the service value (the average value of the service values monitored at fixed intervals) compared with the expected service value according to the monitored and calculated service value measurement in unit time, and updating the expected service value; the expected service value refers to an average value of service values monitored at fixed intervals;
(2) calculating the deviation percentage e (t) of the current time compared with the corresponding expected value according to the monitored metric value of each quality attribute; and according to the deviations e (t-2), e (t-1) and e (t) of each quality attribute at 3 past moments, calculating the control variable of each quality attribute by a PID increment calculation formula (I):
u(t) = u(t-1) + Kp*(e(t) – e(t-1)) + Ki*e(t) + Kd*(e(t) – 2*e(t-1) + e(t-2))…①
wherein,Kpas parameters of the proportional controller in the PID controller, Kifor the parameters of the integral controller in the PID controller, Kdparameters of a differential controller in a PID controller;
(3) if the business value increment percentage delta v is within a certain tolerance range, the priority of each soft target in the system target model does not need to be adjusted, and the process is finished; otherwise, the increment of the priority of each soft target is calculated, namely the priority of each soft target is multiplied by the control variable of each quality attribute, and the priority is updated.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102833825A CN101930371A (en) | 2010-09-16 | 2010-09-16 | Software quality run-time optimizing method based on control theory and goal inference |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102833825A CN101930371A (en) | 2010-09-16 | 2010-09-16 | Software quality run-time optimizing method based on control theory and goal inference |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101930371A true CN101930371A (en) | 2010-12-29 |
Family
ID=43369567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102833825A Pending CN101930371A (en) | 2010-09-16 | 2010-09-16 | Software quality run-time optimizing method based on control theory and goal inference |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101930371A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103337046A (en) * | 2013-06-02 | 2013-10-02 | 复旦大学 | Adaptive system for operating service-oriented software system operation and optimization control method thereof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040059854A1 (en) * | 1999-12-28 | 2004-03-25 | Hill David L. | Dynamic priority external transaction system |
CN101605144A (en) * | 2009-07-03 | 2009-12-16 | 复旦大学 | A kind of Web software system throughput optimization method |
-
2010
- 2010-09-16 CN CN2010102833825A patent/CN101930371A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040059854A1 (en) * | 1999-12-28 | 2004-03-25 | Hill David L. | Dynamic priority external transaction system |
CN101605144A (en) * | 2009-07-03 | 2009-12-16 | 复旦大学 | A kind of Web software system throughput optimization method |
Non-Patent Citations (1)
Title |
---|
黄蒙等: "《一种风险驱动的迭代开发需求优先级排序方法》", 《JOURNAL OF SOFTWARE》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103337046A (en) * | 2013-06-02 | 2013-10-02 | 复旦大学 | Adaptive system for operating service-oriented software system operation and optimization control method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Filieri et al. | Software engineering meets control theory | |
Zhao et al. | Dynamic jobshop scheduling algorithm based on deep Q network | |
Meyer et al. | Automated service composition using heuristic search | |
Haratian et al. | An adaptive and fuzzy resource management approach in cloud computing | |
Xu et al. | Zone scheduling optimization of pumps in water distribution networks with deep reinforcement learning and knowledge-assisted learning | |
Wauters et al. | Boosting metaheuristic search using reinforcement learning | |
Yang et al. | Fuzzy control-based software self-adaptation: A case study in mission critical systems | |
Riansyah et al. | Applying fuzzy proportional integral derivative on internet of things for figs greenhouse | |
McAllister et al. | Rescheduling penalties for economic model predictive control and closed-loop scheduling | |
Hose et al. | Approximate non-linear model predictive control with safety-augmented neural networks | |
Homberger | A parallel genetic algorithm for the multilevel unconstrained lot-sizing problem | |
Lee et al. | A dynamic algorithm for distributed feedback control for manufacturing production, capacity, and maintenance | |
Raju et al. | Reinforcement learning in adaptive control of power system generation | |
Tsydenov et al. | Online estimation of plant participation factors for automatic generation control in power systems with variable energy resources | |
CN101930371A (en) | Software quality run-time optimizing method based on control theory and goal inference | |
US11125211B2 (en) | System and method for wind turbine multivariable control using state dependent quadratic regulator | |
Marchesano et al. | A Reinforcement Learning approach in Industry 4.0 enabled production system | |
Putz et al. | Simulation-Based Optimization Approach for Efficient Generation of Sequencing Heuristics for Solving the Stochastic Resource-Constrained Scheduling Problem | |
Müller et al. | What Can Control Theory Teach Us About Assurances in Self-Adaptive Software Systems? | |
Özbaltan | Control of Discrete Event Systems by Using Symbolic Transition Model: An Application to Power Grids | |
Wauters et al. | Fast permutation learning | |
CN111694595B (en) | Software behavior adjusting method based on error tolerance | |
CN118798448A (en) | Deep learning-based job management method and system | |
Raol et al. | MODELING A MANUFACTURING ENTERPRISE-A SYSTEMS APPROACH | |
McCarthy | Control-theoretical stress-testing for cross-platform compliance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20101229 |