In the last decade self-adaptation has emerged as a prominent property to tackle some of the most important challenges for developing complex distributed software systems. Indeed, as long as software systems grow in size, complexity, and heterogeneity, it becomes central to make them more versatile, flexible, resilient and robust by making them able to dynamically self-adapt to changing environmental conditions. To date, the number of works concerning self-adaptation is large and heterogeneous [1]–[4]. Self-adaptation has deep roots in several research fields, as for instance, artificial intelligence, biological inspired computing, robotics, requirements/knowledge engineering, control theory and fault-tolerant computing, and so on. Researchers in these areas have investigated different research issues that the term self-adaptation unifies under a common terminology. However, it still remains a significant intellectual challenge [5], [6]. For the sake of clarity, this paper adopts the following definition: self-adaptive systems are those systems able to modify their behavior and/or their structure in response to their perception of the environment and the system itself, and their goals [6]. Two research roadmaps [5], [6] indicate the contribution that research on software engineering may provide to the topic. In particular up to date, little endeavor has been made to establish approaches for a systematic provision of self-adaptation. Many researchers agree that the way self-adaptation has to be conceived depends very much on aspects as users, their needs and the characteristics of the environment [5]. Modeling and monitoring these aspects is the key for enabling a software to adapt its behavior.
지난에서 10 년간 자기 적응 복잡 한 분산된 소프트웨어 시스템 개발을 위한 가장 중요 한 과제의 일부를 태 클을 두드러진 속성으로 떠오르고 있다. 실제로, 만큼 소프트웨어 시스템은 크기, 복잡성, 그리고이에 성장, 수 있도록 더 다재 다능 한, 유연, 탄력 있는 하 고 강력한 동적으로 자체 환경 조건 변화에 적응할 수 있게 함으로써 중앙 된다. 날짜 하려면, 작품 수 크고 이기종은 자기 적응에 관한 [1]-[4]. 자기 적응으로 예를 들어, 인공 지능, 생물학 컴퓨팅, 로봇, 요구 사항/지식 공학, 제어 이론 및 결함 허용 컴퓨팅, 영감 등 여러 연구 분야에 깊은 뿌리를 가진다. 이 분야에 있는 연구원은 용어 자체 적응 일반적인 용어 아래 통합 하는 다양 한 연구 문제를 조사 있다. 그러나, 그것은 중요 한 지적 도전 [5] [6] 아직도 남아 있다. 명확 하도록,이 종이 다음과 같은 정의 채택 한다: self-adaptive 시스템은 그 시스템을 그들의 행동 및 환경 및 자체 시스템의 그들의 인식에 대 한 응답에서 그들의 구조 및 그들의 목표 [6] 수정할 수 있게. 두 연구 로드맵 [5] [6] 소프트웨어 공학에 대 한 연구 주제를 제공할 수 있습니다 기여를 나타냅니다. 특히 최신, 작은 노력 자체 적응의 체계적인 조항에 대 한 접근을 확립 했다. 많은 연구자는 자기 적응을 잉태 하는 방법에 따라 달라 집니다 대단히 측면 사용자, 그들의 요구와 환경 [5]의 특성으로 동의 합니다. 모델링 및 모니터링 이러한 측면의 동작에 맞게 소프트웨어를 활성화 하기 위한 열쇠입니다.
번역되고, 잠시 기다려주십시오..
지난 10 년간 자기 적응은 복잡한 분산 소프트웨어 시스템을 개발하기위한 가장 중요한 문제 중 일부를 해결하기 위해 눈에 띄는 속성으로 떠오르고있다. 사실, 한 소프트웨어 시스템 크기, 복잡성 및 이질성에서 성장으로, 동적으로 변화하는 환경 조건에 자기 - 적응하기가있게함으로써 그들을 더 다양하고 유연하고 탄력 강력하게 중앙된다. 현재까지, 자기 - 적응에 관한 작업의 수는 크고 균질하다 [1] - [4]. 자기 적응은 너무 깊은 경우, 인공 지능, 생물학적 영감 컴퓨팅, 로봇, 요구 사항 / 지식 공학, 제어 이론 및 결함 허용 컴퓨팅에 대한 여러 연구 분야에 뿌리하고있다. 이 분야의 연구자들은 용어 자체 적응 일반적인 용어 하에서 단일화 다른 연구 문제를 연구 하였다. 그러나, 여전히 중요한 과제로 남아 지적 [5], [6]. 자기 적응 형 시스템 환경 및 시스템 자체의 그들의 인식에 응답하여 자신의 동작 및 / 또는 구성을 변경할 수 이들 시스템이며, 그들의 목표 [6] : 명확성을 위해, 본 논문에서는 다음과 같은 정의를 채용한다. 두 연구 로드맵 [5], [6] 소프트웨어 공학에 대한 연구는 주제에 제공 할 수있는 기여를 나타냅니다. 최신 상태로 특히, 작은 노력은 자기 적응의 체계적인 제공을위한 접근 방법을 구축하게되었습니다. 많은 연구자들은 자기 적응이 생각해야하는 방법은 사용자의 요구와 환경 [5]의 특성으로 측면에 매우 많이 의존한다는 것을 동의합니다. 모델링 및 이러한 측면을 모니터링하는 동작을 적용 할 수있는 소프트웨어를 가능하게하는 열쇠입니다.
번역되고, 잠시 기다려주십시오..
지난 10년 동안 적응 이미 한 유명한 부동산 해결 좀 복잡한 가장 중요한 도전 분산 소프트웨어 개발.그냥 소프트웨어 시스템 커, 복잡하다, 이질, 이 중앙 그들로 하여금 더 많은 될 수 있게탄성 온건 그들을 능동상 환경 조건 적응 바꿀 수 있다.지금까지 관한 많은 일을 적응 큰, – 이소 [] [4].적응 이미 약간의 연구 분야에서 뿌리 깊은, 예를 들면, 인공 지능 로봇 생물 격려 계산, 요구 / 지식 공학실행 제어 이론 계산, 잠깐만요.이 지역에 대한 연구가 이미 다른 문제 적응 따라 이 단어의 결합 보통 용어.하지만 여전히 큰 지적 도전 [] [5].잘 목적으로 이 글은 아래와 같은 정의:적응 시스템 변경할 수 있습니다. 이 시스템 자신의 행위에 / 또는 그 인지 구조 응답 시스템 환경 및 자체가 및 목표.두 개의 연구 방법을 [] [5] 대한 연구 결과 이 소프트웨어 공학 이 화제를 제공할 수 있다.특히 지금까지작은 일을 위한 방법은 이미 한 시스템 설정 만듭니다.이렇게 많은 연구가 것에 적응 반드시 임신 등 사용자 달려 있다, 그들의 요구를 및 환경 특성 [5].이 방면의 모델 및 관리 소프트웨어 것이 적응할 수 그 행위.
번역되고, 잠시 기다려주십시오..