# 自己適応システム ## 定義 自己適応システム(self-adaptive systems)とは、絶えず変化する環境と、設計時には未知でありうる新たに生じる要求に対処するため、実行時に自身の状態と環境について推論し、自身の振る舞いを調整するシステムである。「自己」は、文脈や環境の変化に合わせてどう適応・組織化するかを、系自身が人手の介入なしに、または最小限の介入で決めることを指す。ただし、ポリシーのような高レベル目標による人間の誘導は多くの系で有用とされる。設計上の決定を実行時へ移す点が共通の特徴で、自己適応を駆動する汎用の機構はフィードバックループ(収集・分析・決定・実行)である。集中か分散か、トップダウンかボトムアップか、フィードバック遅延の速さ、環境の不確実性の高さで特徴づけられ、両極は中央のコントローラと明示的な内部表現を持つトップダウン型と、局所規則の相互作用から大域的な振る舞いが創発する協調型(自己組織化型)である。実際の系はその中間にある。(Source: [[@2009__LNCS__Engineering Self-Adaptive Systems through Feedback Loops]]) ## 未解決の問い - フィードバックループを第一級の実体として可視化した設計が、隠蔽した設計に比べて品質・開発費用・保守性を実際に改善するか。Brun らは事例の再解釈で主張するにとどまり、実証は示していない。 - 独立に開発された複数の自己適応ループの意図しない相互作用を、設計時または実行時にどう検知・防止するか。時間スケールの分離や階層化が使えない ULS システムでの手段は未確立である。 - 制御ループの型とループ間相互作用の参照ライブラリ、および制御ループ向けの Attribute-Based Architectural Styles は、その後どこまで整備されたか。 - 連続時間の制御理論では扱えない、アーキテクチャ変更のような離散的・ハイブリッドな適応の安定性を、離散事象システム・切替系・ハイブリッド系の理論でどこまで保証できるか。 - Kubernetes のリコンシリエーションループや AIOps の自動修復は、トップダウン型と協調型の軸のどこに位置し、Brun らの列挙した証明責務(センサ推定の妥当性、アクチュエータの十分性、安定性、時間制約)をどう満たしているか。 ## 未編纂の観察 - [定義] 自己適応システムの工学論は、自律コンピューティングの自律要素を「フィードバック制御ループを明示的に露出した最初の自己適応アーキテクチャ」と位置づけ、自己適応研究の出発点として取り込んでいる。Kephart と Chess が自己構成・自己最適化・自己修復・自己防御を統合する枠組みとして提示した自律要素を、Brun らは古典制御理論のフィードバック制御ループそのものへ写像し直し、制御理論の解析道具を持ち込む足場とした。(Source: [[@2009__LNCS__Engineering Self-Adaptive Systems through Feedback Loops]], [[@2003__Computer__The Vision of Autonomic Computing]]) ## 関連 - ソース: [[@2009__LNCS__Engineering Self-Adaptive Systems through Feedback Loops]] / [[@2003__Computer__The Vision of Autonomic Computing]] - 概念: [[フィードバックループ]] / [[MAPE-Kループ]] / [[自律コンピューティング]] / [[適応制御]] / [[自己組織化]] ## 出典 - [[@2009__LNCS__Engineering Self-Adaptive Systems through Feedback Loops]](定義、トップダウン型と協調型の区別、課題)