240 likes | 349 Views
OWL-S を用いた Web アプリケーションの検査と生成. 情報理工学研究科 計算工学専攻 海津智宏. 目次. 背景と目的 既存技術 セマンティック T-Web システム 関連研究との比較 まとめと今後の課題. 背景と目的. Web アプリケーションからの Web サービスの利用が重要性を増している Web アプリケーションの開発が容易になる. しかし、現状では Webアプリケーション開発者がUIのみに専念できるほど手軽ではない. そこで、 Web サービスにメタデータを付加し,メタデータに基づいて設計の検査と Web サービスの合成を行う手法を提案する.
E N D
OWL-Sを用いたWebアプリケーションの検査と生成OWL-Sを用いたWebアプリケーションの検査と生成 情報理工学研究科 計算工学専攻 海津智宏
目次 • 背景と目的 • 既存技術 • セマンティックT-Webシステム • 関連研究との比較 • まとめと今後の課題
背景と目的 • WebアプリケーションからのWebサービスの利用が重要性を増している • Webアプリケーションの開発が容易になる • しかし、現状ではWebアプリケーション開発者がUIのみに専念できるほど手軽ではない • そこで、Webサービスにメタデータを付加し,メタデータに基づいて設計の検査とWebサービスの合成を行う手法を提案する
目次 • 背景と目的 • 既存技術 • T-Webシステム • OWL-S • セマンティックT-Webシステム • 関連研究との比較 • まとめと今後の課題
T-Webシステム • Webアプリケーションのモデル記述から、プログラムレスでWebアプリケーションを生成するシステム • 低コストなWebアプリケーション生成が可能 • WebアプリケーションはWeb遷移図という図で記述する • Web アプリケーションにおけるページとプログラムの遷移を記述した有向グラフ
OWL-S • セマンティックWeb関連規格のひとつ • セマンティックWebとWebサービスとを結びつける • Webサービスの発見・合成を目的とする • Webサービスに以下のメタデータを付加する • Service Profile(サービスの概要) • Process Model(動作の詳細) • Service Grounding(WSDLとのマッピング)
OWL-S Process Model • Webサービスに対し、以下の情報を付加する • hasInput : 入力 • hasOutput : 出力 • hasPrecondition : 実行の前提条件 • hasResult : 結果 • hasEffect : 実行後に成り立つ条件 • inCondition : 効果発生の前提条件 • withOutput : 出力値の条件
目次 • 背景と目的 • 既存技術 • セマンティックT-Webシステム • 構成 • 機能 • 実装 • 関連研究との比較 • まとめと今後の課題
セマンティックT-Webシステム(ST-Web) • Webサービスを利用したWebアプリケーションを開発 • Web遷移図を用いてWebアプリケーションのふるまいを記述 • OWL-S を用いて開発を支援 • パラメータの指定の自動化 • 事前条件の自動的な検査
ST-Web全体の構成 Webサービス提供者 OWL-S Webサービス エディタ機能 検査機能 生成機能 Webアプリケーション Webアプリケーション 開発者 Web遷移図モデル ST-Web ユーザー
ST-WebでのWeb遷移図 • Webサービス利用に特化したWeb遷移図を用いる Webサービスノード Webページノード Webサービスの呼び出しを表す 表示するWebページを表す (静的・動的ページ) login logout リンク 開始点 HTMLのハイパーリンク フォーム送信時のデータフロー Web遷移図外からの遷移を表す
パラメータの自動的な受け渡し • OWL-S内で同じリソースにマッピングされたパラメータの自動的な受け渡しを行う。 • 例えば、ログインWebサービスで受け取ったセッションIDをそれ以降のWebサービス呼び出しの際に利用する • 従来は必要であった変数の管理が軽減される。
Web遷移図の検査 • Webアプリケーション実行時のセッション状態を計算し、事前条件やパラメータの情報と比較 • リンクごとに通過時の状態を計算 • Webサービスの実行やフォームへのユーザーの入力により状態が変化する • 開始点からリンクをたどり、それぞれのリンクにおける状態を計算する
エラー検出 • Webサービスノードの事前条件が満たされない • 実行時にエラーが発生することが予想できる • 警告を表示し、事前条件を満たすようにする • Webページノードで出力すべきデータが揃っていない • 実行時にエラーが発生することが予想できる • 警告を表示し、必要なデータを取得できるようにする
エラー検出の例 login Login(x,false) unknown Login(x,true) unknown Login(x,false) unknown Login(x,false) Login(x,true) unknown unknown logout Login(x,false) エラー! getMessages
実装 • ST-Webシステムを実装 • ST-Webを用いてWebアプリケーションを開発 • ユーザー認証のある掲示板 • ショッピングカート
実装 – 掲示板 (2) ログインせずに到達可能な位置に logout、getMessages、addMessageを 配置すると警告が表示される
目次 • 背景と目的 • 既存技術 • セマンティックT-Webシステム • 関連研究との比較 • まとめと今後の課題
関連研究との比較 (1) • Webサービス合成の検査はLTLを用いたモデル検査が行われることが多い。 • OWL-Sコンポジットプロセスの検査 • BPELの検査 • 検査対象は主に合成Webサービスであり、Webアプリケーションのように途中でユーザーとの対話がある場合については考えられてこなかった。
まとめと今後の課題 • 提案手法によりWebアプリケーション開発の効率を高め、初期段階で問題点を検出することが可能となった。 • 今後の課題 • XMLの入力やマッピングを可能にする • 複数の状態の重ねあわせを考える • 動的な検査を可能にする • LTL式など、任意の検査項目を追加可能にする