Font Size: a A A

Software Adaptation Mechanism Based On Multi-Agent Theory And Parallel Search

Posted on:2019-08-09Degree:DoctorType:Dissertation
Country:ChinaCandidate:L WangFull Text:PDF
GTID:1368330575480693Subject:Software Engineering Technology
Abstract/Summary:PDF Full Text Request
With the improvement of hardware and the continuous development of software engineering technology,more and more software systems are running in an open environment represented by the Internet,cloud environment.The open environment is dynamic,uncontrollable,and time-varying,resulting in the software systems have to face the dynamic and phased user requirements,the highly distributed and heterogeneous managed computing resources,and the dynamic and uncontrolled operating environment.This leads to the need for software systems to dynamically adapt to the complex software changes with new features such as “diversity of sources and different of impacts;simultaneous and having potential impacts;unpredictable and undeterminable”.Therefore,software systems running in an open environment are more urgently required to have a software adaptation mechanism that enables such software to adapt to complex software changes online by autonomous adjustment of system parameters,external behaviors or architecture during operation.At present,this research problem has been concerned by many universities and academic conferences in the academic field and important research institutions in the industry.It has become one of the most difficult problems to be solved in the field of software engineering and autonomous computing.Adaptation mechanism is the core of self-adaptive software systems.Many researchers have carried out a lot of research work about it from different angles.However,there are many new research problems in establishing an adaptation mechanism for the software systems running in an open environment,which are highlighted in the following aspects:(1)Existing adaptation frameworks have problems such as the adjustment in single level,the limitation of the research and development status of systems,and the inability to support the whole adaptive process.Therefore,how to establish a special adaptation framework for software systems running in an open environment?(2)Existing methods ignore the characteristics of different changes and system structure,and adopt a centralized and unified method to perceive and analyze the software changes,resulting in low perception efficiency and high analysis overhead.Therefore,how to quickly perceive and accurately analyze software changes which have different sources and different impacts?(3)Existing methods ignore the correlations between changes and the potential impacts of changes on the system,and cannot effectively deal with complex software changes which are simultaneous,unpredictable,and undeterminable and have potential impacts.Therefore,how to implement online trade-off decision-making for such complex software changes?(4)How to provide engineering supports to the development and adaptive process of the self-adaptive software systems in an open environment?This doctoral dissertation embarks from the aspect of software engineering,merges the methods and technologies of multiple disciplines,such as self-adaptation based on the control engineering,search-based software engineering,and agent-oriented software engineering,to conduct preliminary explorations on the above research issues.The key research of this doctoral dissertation are the establishment of an adaptation mechanism based on multi-agent theory and parallel search,the development of a supporting environment to support the mechanism applied in real software systems,which provide theoretical methods and engineering for establishing the self-adaptability of software running in an open environment.The main research work and innovations of this dissertation are as follows.(1)an adaptation framework based on multi-agent for software systems in open environment is proposed to guide the establishment of adaptation mechanism.The design method,development methods and enabling technology were reviewed.And on this basis,combined with the features of the software systems and characteristics of the running environment,this doctoral dissertation establishes an adaptation framework based on multi-agent for software systems in open environment,to guide the establishment of the adaptation and provide a reference model on the level of architecture.Compared with similar frameworks,this framework can deal with software systems in various research and development states,support the whole adaptive process and realize a hierarchical adjustment of the systems,and has the better online correction ability and operational stability.(2)The change perception and event analysis method oriented to the open environment is proposed to achieve the hierarchical perception and accurate recognition.This dissertation establishes a modeling method for the operating environment and system resources,and uses the perceptual framework to quickly acquire the perceptual data.In view of the fact that demand changes are generally ignored by the existing methods,this dissertation establishes a demand model and can obtain the changes in real time.In order to improve the accuracy of event analysis,this dissertation conducts the deletion,noise reduction and fuzzy processing of the perception data,and proposes an anomaly detection method based on naive Bayesian classification,which can quickly determine the running state of systems and reduce unnecessary overhead.In view of the abnormal state of the system,this dissertation proposes an event recognition method based on rule reasoning and fuzzy reasoning,which can accurately identify multiple adaptive events in the runtime context with uncertainty.(3)The decision-making and execution method oriented to master-slave planning mode is proposed to support the trade-off decisions and adjust the system online.This dissertation proposes a strategy-based adaptation planning method that can quickly make decisions and correct strategies online.This dissertation introduces search-based software engineering technology and proposes a search-based adaptation planning method to simultaneously deal with multiple interrelated software changes.Compared with the existing methods,the method systematically establishes an adaptation planning problem model and realizes the online trade-off decision.This dissertation introduces the postoptimization technology and establishes four selection methods according to different decision-making problems,which can guarantee the selection of the unique optimal strategy.In this dissertation,a strategy execution method based on top-level guidance and autonomous collaboration is established,which can rapidly adjust the system according to strategies,obtain the execution effect of strategies dynamically,and modify different planning methods online.(4)An efficiency optimization method based on parallel search for adaptation planning is established to quickly generate the optimal strategy.This dissertation improves the scheduling algorithm of the Spark in job layer,and establishes a task allocation and scheduling method based on weighted rotation,which can support the parallel execution of multiple decision tasks,thus improving the overall decision efficiency.Moreover,this dissertation establishes a parallel search method based on population partitioning,which can realize parallel search of adaptation strategies through multi-group collaboration,improving the efficiency of single decision.The experimental results show that this optimization method can significantly improve the decision-making efficiency,obtain the linear acceleration ratio compared with the traditional serial method,and obtain better decision-making results.(5)ADAPT,a development and operation support environment for self-adaptive systems,is implemented to provide engineering support.ADAPT provides a set of adaptive software development tools to support rapid software development,and provides two types of operational support platforms to assist the system in implementing the adaptive process.This dissertation selects the classic case system of the autonomic computing and the typical software running in the open environment to carry out a number of experiments,which verify that the adaption mechanism in quickly perceiving changes,accurately identifying events,and realizing the online trade-off decision-making and the adjusting for different events.The abilities of these aspects indicate that the proposed adaptation mechanism and ADAPT can effectively support the system to dynamically adapt to software changes and achieve smooth operation.This dissertation focuses on how to establish the adaptation mechanism of software systems in an open environment,and carries out multiple research work.And this dissertation introduces the search-based software engineering to provide a novel research idea and solution for establishing the adaptation mechanism,and effectively solves the various research problems caused by the intersection of different emerging technologies.Finally,according to the application verification of the typical case system and the real software running in the open environment,the adaptation mechanism and the supporting environment proposed in this dissertation can support the development and self-adaptation of the software systems and have certain feasibility,effectiveness and practical application value.
Keywords/Search Tags:Self-adaptive system, Adaptation mechanism, Search-based software engineering, Adaptation planning, Agent-oriented software engineering, Multi-agent system
PDF Full Text Request
Related items