ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

エージェント指向(2)- Gaia(ガイア)(追加2/1)

2011-01-31 15:34:18 | そのほか

■Gaiaの特徴
・エージェントの粒度大きい(オブジェクト指向:粒度細かい)
・特定の実装基盤を想定していない
・抽象と具象にわかれ、
   抽象実体
   具象実体
   実行システム
 の3層になる

・設計は
  組織   :マクロレベル
  エージェント:マイクロレベル
 からなる


■Gaiaの手順概要

要求

分析
  ロール(役割)モデル
  インタラクション(相互作用)モデル

設計
  エージェントモデル
  サービスモデル
  アクエインタンス(交友)モデル


以下、各項目を詳細に・・・


■分析

目的:システムの理解とその構造を開発すること

分析:
・ロールの識別
   →ロールモデルの試作(重要ロールのリストと記述)

・関連プロトコルの識別と文書化
   →インタラクション(相互作用)モデルを作る

・プロトコルモデルを使ったロールモデルの詳細化
   →詳細化されたロールモデルを作る

・繰り返し


■ロール(役割)モデル
  ・システムの重要ロールを認識する

※ロール
  実体に期待される機能の抽象記述
  ロールをインスタンス化して人になる
  ロールの属性
    責務:ライブネスプロパティ、セイフティプロパティ
    パーミッション:ロールが責務を実行するための権利の集合
    アクティビティ:他のロールと対話なしに実行される処理
    プロトコル:他のロールとの対話の方法

  →ロールは、2つの属性タイプにより、特徴付けられる
    ロールのパーミッション(ライト)
    ロールの責務
  →責務のうち、ライブネス責務としては、以下のようなものがある(例としては)
      保証応答型達成ゴール:応答がある
      無限繰り返し型達成ゴール:応答関係なしに繰り返す

   ライブネス責務=アクティビティ(下線を引く)+プロトコル
      (ふーじょんという形式仕様にもとづいて書いている)

   セーフティ責務:不変定数(いんばりあんと)の保守

 ロールのスキーマの書き方
  ロール記述
  プロトコルとアクティビティ
  パーミッション
  責務
    ライブネス
    セイフティ


■インタラクション(相互作用)モデル
 プロトコル定義セットを書く

※プロトコル定義セット
  目的
  開始者
  応答者
  入力
  出力
  処理


■設計

以下のモデルを作成する

・エージェントモデル
   実行時のエージェントタイプ(クラスに相当)とエージェントインスタンスを記述

・サービスモデル
   各エージェントのサービスを識別、主要な性質を定義
     サービス:エージェントの機能(オペレーションに相当)
   性質:入力、出力、プロトコルモデル
    →事前条件、事後条件、セーフティプロパティからのサービスの制約

・交友モデル
   エージェントタイプ間の通信リンクを定義
   グラフで表現



(2/1追加)

■やり方、考え方2とおり

方法1
・ロールの定義
  責務を考える
・責務間の矛盾
  ロールの責務を修正するか
  新しいロールのの作成


方法2
・シーケンスを全部考える
・サービスを考える
・ロールに割り振る




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

エージェント指向(1)- 概要

2011-01-31 11:53:50 | そのほか

■エージェント指向
 自律し、異なった目的をもつ、能動的な人を、どうソフトウエアに写像するか?
 コンポーネント同士の対話のモデル化

■手法
 ・Gaia(ガイア)   :実装はなんでもいい
 ・tropos(トロポス):実装環境 じゃっく
   :

■エージェント指向における概念の3層構造

 ・現実世界をどう見るか(認知対象層)
 ・システム概念層→ソフトウエアコンポーネントへ
 ・実装レベル

 ※ただし、手法によって、用語は違うが、だいたいこんなかんじ

■オブジェクト指向との違い
 プログラムを動かすには、
   オブジェクト指向:要求を出す側がメソッドを呼び出すことで動く
            処理が終わると自分は死んじゃう
             →だからシーケンス図が描ける

   エージェント指向:要求を受け取った側が、自分で判断する
            常に動いて監視している

■エージェントに求められる性質
   自律性(オートノミー)
     状態を保持→指示なしに動く

   反応性
     環境を理解し、環境に対応する
     問題点:ゴール駆動と反応的振る舞いのバランス
     例:はやぶさに感情まで理解させる必要ある?

   自発性
     エージェントがゴール駆動的に動く
     問題点:ゴールが違ったり、環境が変わったら?

   社会性
     ゴールを達成するために、協調・交渉を行う
     問題点:相手も同じゴールとは限らない


■有名なモデル化:BDIモデル(Belief-Desire-Intention Model)

・信念、願望、意図、計画をシステムの中に持ち込む
 →Toroposなどはこれに基づいている

信念:そう信じている=認識:意味を付与している(正しいかどうかは?)
願望:ゴール、プランは変わるかも?
意図:ゴール、プランが変わるかもしれないので、再考慮する


■マルチエージェント
 システムの全体的制御を多くのノードに分散できる
 ノードが互いに自律的に対話

■品質
 自律的に動く→危険でもある

 性能
   応答性
   可用性
   信頼性
   使用性

 安全性
   潜在的危険要因(ハザード)を見つけ出す
     →危険性分析(HAZOPなど)

   安全性分析・設計
     →交友(acquaintance)モデル
      相互作用(interuction)モデル
      ロールの責務をエージェントに写像
      新たなロールの導入

 セキュリティ
   非認可アクセス
   機密性保持
   データの完全性
   システムの可用性
   非標準化
   責任
   信憑性
  →各モデルに含める
  →監視エージェントをつくる

 社会的品質
 

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする