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 PDF

Info

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
Application number
CN2010102833825A
Other languages
Chinese (zh)
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.)
Fudan University
Original Assignee
Fudan University
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 Fudan University filed Critical Fudan University
Priority to CN2010102833825A priority Critical patent/CN101930371A/en
Publication of CN101930371A publication Critical patent/CN101930371A/en
Pending legal-status Critical Current

Links

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

Software quality runtime optimization method based on control theory and target reasoning
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.
Figure 2010102833825100002DEST_PATH_IMAGE002

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.
CN2010102833825A 2010-09-16 2010-09-16 Software quality run-time optimizing method based on control theory and goal inference Pending CN101930371A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
黄蒙等: "《一种风险驱动的迭代开发需求优先级排序方法》", 《JOURNAL OF SOFTWARE》 *

Cited By (1)

* Cited by examiner, † Cited by third party
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