• 検索結果がありません。

整合性を考慮した OCL から SQL への変換に関する研究

N/A
N/A
Protected

Academic year: 2021

シェア "整合性を考慮した OCL から SQL への変換に関する研究"

Copied!
3
0
0

読み込み中.... (全文を見る)

全文

(1)

Japan Advanced Institute of Science and Technology

JAIST Repository

https://dspace.jaist.ac.jp/

Title 整合性を考慮したOCLからSQLへの変換に関する研究

Author(s) 吉積, 邦浩

Citation

Issue Date 2002‑03

Type Thesis or Dissertation Text version author

URL http://hdl.handle.net/10119/1544 Rights

Description Supervisor:片山 卓也, 情報科学研究科, 修士

(2)

整合性を考慮した OCL から SQL への変換に関する研究

吉積 邦浩(010123)

北陸先端科学技術大学院大学 情報科学研究科 2002年2月15日

キーワード: オブジェクト指向、モデル整合性、UML、OCL、SQL.

システムの複雑化、大規模化に伴い、ソフトウェア開発における有効な方法としてオブ ジェクト指向方法論が提案されている。代表的なものとして、OMT法、OOSE法、Catalysis などがある。これらの方法論の表記法を統一したものとしてUMLがある。UMLはオブ ジェクト指向開発のためのモデル表記法であり、OMG(Object Management Group)によ り標準化された。

UMLでは、システムの様々な側面を記述できるよう9種のダイアグラムが用意されて いる。これらのダイアグラムは互いに完全には独立していない。モデリングする際には同 種、異種に関わらずダイアグラム間で整合性を取る必要がある。また、大規模なシステム のモデルは大変複雑なものになる。このようなモデルの整合性の検出を人間の手で行うの は困難である。そこで本研究では計算機によるモデルの整合性検出手法を提案する。

本研究で扱う整合性は、モデルの記述面に着目した整合性である。記述面の整合性は計 算機による比較的浅い推論で自動的に検出することが可能である。モデルの記述面の整合 性が貢献する部分は多く存在する。たとえば、モデル要素の出現に関係する整合条件など である。

本研究では、モデルが満たすべき制約をUMLの標準制約記述言語であるOCL(Object Constraint Langage)で記述する。この制約はクラス図に記述され、クラス図から実体化 されるインスタンス図における整合性を定義している。UMLで作成されたモデルは全て 関係データベースに格納する。関係データベースを利用することで、導入が比較的容易で あること、開発コストの軽減、信頼性の向上などの利点が得られる。上述したOCLによ る整合条件はSQLクエリーへ変換され、関係データベースに発行することによってUML モデルの整合性検出が可能になる。そこで、OCL文法の一部からSQLクエリーへの変換 方法を定義した。

モデルのテーブル化を行うには、まず、モデルに記述されている各クラスごとにそのク ラスの名前をもったテーブルを作成する。クラスから実体化されるオブジェクトは唯一に 識別されなければならない。そのため、提案したテーブルには、オブジェクト固有の識別 子である idを属性として導入した。テーブルの属性となるその他の値には、クラスの属

Copyright c2002 by Yoshidumi Kunihiro

1

(3)

性と操作がある。また、クラス図における制約はクラス毎に定義されているが、そのクラ スと関連が存在する他のクラスの属性や操作を参照可能である。この参照はナビゲーショ ンと呼ばれる。このナビゲーションの機能を関係データベースにおいて実現するために、

提案したテーブルにナビゲーションプロパティを属性として導入する。ナビゲーションプ ロパティとは、関連端のクラスを識別するものである。この属性を用いてテーブルの結合 操作を行うことにより、OCLのナビゲーションの機能を関係データベースで実現した。

本研究では、OCLの文法の一部からSQLへの変換方法を定義する。OCL式は評価を 行うと、Boolean型の値が返ってくるが、SQLクエリーの返り値は常にテーブルである。

そのため、テーブルに対して何らかの意味を対応づける必要がある。提案した変換方法で は、空のテーブルが返り値となれば“True”の意味になり、空でなければ“False”の意味 になるよう対応づけた。まず、整合条件を満たすオブジェクトのみを含むテーブルを取得 する。そして、その結果と全体のオブジェクトの集合の差から整合条件を満たしていない オブジェクトのテーブルを検出する。この検出したテーブルが空であるかどうかで、整合 判定を行う。

また、この変換を自動的に行うトランスレータを実装した。トランスレータの実装はC 言語を用いた。トランスレータの構文解析の部分にbisonを用い、字句解析の部分はflex を用いた。OCLのサブセットの構文解析に用いたbisonの文法規則で使用したルールは 22個である。

また、適当なモデルを設定し、OCLで記述されていた整合条件をSQLクエリーへトラ ンスレータを用いて変換を行い、整合性検出の実例を示した。

2

参照

関連したドキュメント

SPAN に RGB をマッピングし描画する部分は図 6 の DRAW の部分に相当する。 DRAW では Create SPAN で生成された SPAN

遷移の変換 本稿で提案する変換規則では、ひとつの 状態からの複数の出力遷移をひとつの inline

指導教員 蜂巣 吉成 1 はじめに HTML5 は W3C などによって策定が行われ,普及 が進んでいる [3] . HTML5

UMLで記述できるモデル 図の名前 主な要素 主な用途 視点 クラス図 クラス、関連、汎化 オブジェクト(データや処理)の型の記述

[email protected] る.提案する制約モデルは,既存モデル [Hnich 06] と比較し て,導入する補助変数の数を少なく抑えることができる.ま

近年 MDA 関連技術の発展により,UML からプログラム言語への変換技術が注 目をあびており,それに伴い OCLObject Constraint Language

Web

diagrams)