عنوان مقاله
بررسی سیستماتیک روی طراحی سیستم های نرم افزاری خود تطبیقی با شیوه های مهندسی کنترل
فهرست مطالب
مقدمه
روش بررسی و مرور
تاکسونومی
نتایج بررسی
نتیجه گیری
بخشی از مقاله
(B تحلیل طبقه سیستم کنترل
مدل: بر طبق آماره ها، مدلهای جعبه سیاه مشهورتر از مدلهای تحلیلی می باشند. در نزدیک به 65 درصد از مقالات، از مدلهای جعبه سیاه استفاده شده است. در مقابل، از مدلهای صف بندی و سایر مطالعات تحلیلی در درصدهای مشابه در میان مقالات استفاده شده است.
کلمات کلیدی:
A Systematic Survey on the Design of Self-Adaptive Software Systems Using Control Engineering Approaches Tharindu Patikirikorala, Alan Colman, and Jun Han Swinburne University of Technology Victoria, Australia {tpatikirikorala,acolman,jhan}@swin.edu.au Liuping Wang Royal Melbourne Institute of Technology Victoria, Australia liuping.wang@rmit.edu.au Abstract—Control engineering approaches have been identi- fied as a promising tool to integrate self-adaptive capabilities into software systems. Introduction of the feedback loop and controller into the management system potentially enables the software systems to achieve the runtime performance objectives and maintain the integrity of the system when they are operating in unpredictable and dynamic environments. There is a large body of literature that has proposed control engineering solutions for different application domains, handling different performance variables and control objectives. However, the relevant literature is scattered over different conference proceedings, journals and research communities. Consequently, conducting a survey to analyze and classify the existing literature is a useful, yet a challenging task. This paper presents the results of a systematic survey that includes classification and analysis of 161 papers in the existing literature. In order to capture the characteristics of the control solutions proposed in these papers we introduce a taxonomy as a basis for classification of all articles. Finally, survey results are presented, including quantitative, cross and trend analysis. I. INTRODUCTION In [16] Shaw compares the suitability of software engineering methodologies with control engineering methodologies to design a cruise control system and states: “. . .When the execution of a software system is affected by external disturbances-forces or events that are not directly visible to or controllable by the software—this is an indication that a control paradigm should be considered for the software architecture . . . ”. Many state-of-the-art software systems have become complex and large scale, and have to deal with unpredictable environmental conditions and dynamics. As a consequence, subsequent to the Shaw’s paper, many papers (e.g., [3], [6], [9], [15]) have identified control engineering methodologies as a promising solution to implement selfadaptive software systems. The integration of the feedback loop and controller potentially enables operational goals to be achieved and costs related to human supervision to be reduced, while reacting to unpredictable disturbances and un-modeled system dynamics in a timely and effective manner. The implementation of a control engineering solution consists of two major steps: (1) modeling the dynamics of the system and (2) developing a control system [10]. Many such control solutions have been proposed for software systems. However, these efforts are scattered over different conference proceedings, journals and research communities. They also relate to different application domains, and deal with different performance variables and control objectives. Analyzing the characteristics and trends of a large body of literature is a challenging task, consequently results of the exiting surveys [2], [4], [6]–[8], [11], [15], [20] are often significantly limited to application domains or solution domains. The main objectives of this systematic survey are to (1) build a classification model of the existing literature, (2) quantify the published research work on the various modeling, control schemes and validation techniques utilized, and (3) analyze the clustering of papers across categories of the classification model and identify any apparent trends. Such analysis could aid future researchers and developers of selfadaptive systems to better identify the scope and domain applicability of various control engineering techniques and use proven modeling and control schemes for the control problem at hand. To achieve these objectives 161 papers were selected from different conference proceedings and journals. A taxonomy was subsequently developed in order to capture the content of these papers at a high-level of abstraction and then classify the literature in a systematic way. Finally, the results of the survey are presented with a quantitative, cross and trend analysis. II. RELATED WORK There are several surveys related to this work that provide overviews of control engineering applications to manage software systems from different perspectives. An early survey [2] covers applications of feedback control in web servers, network, scheduling and storage management. However, this survey does not include works published after year 2003 in this area. In [7], a comprehensive survey has been conducted on different types of control engineering approaches applied to middleware (e.g., web and application servers). A limited set of key research works that used different types of control system designs to manage performance