JP5243908B2 - モデルの品質を検証するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム - Google Patents
モデルの品質を検証するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム Download PDFInfo
- Publication number
- JP5243908B2 JP5243908B2 JP2008251652A JP2008251652A JP5243908B2 JP 5243908 B2 JP5243908 B2 JP 5243908B2 JP 2008251652 A JP2008251652 A JP 2008251652A JP 2008251652 A JP2008251652 A JP 2008251652A JP 5243908 B2 JP5243908 B2 JP 5243908B2
- Authority
- JP
- Japan
- Prior art keywords
- rule
- model
- model element
- value
- specifying
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
UMLは、ソフトウェアをモデリングするための基本的な要素、ルール、制約等をメタモデルとして規定している。UMLは本来、多様なソフトウェアをモデリングすることを目的としているので、汎用的な言語仕様となっている。そのため、UMLを使用することで、比較的自由度の高いモデル定義又はダイアグラム作成が可能である。よって、モデリング担当者の属人性がどうしても入り込み、成果物の一定の品質を確保することが難しい。
・UML要素(ユースケース、コンポーネント、クラス、インタフェース、メソッド等)の名称がネーミング・ルールに沿っていない。
・UML要素の属性値の設定、記述がルールに沿っていない。
・成果物として規定されたダイアグラムが不足している。
・UML要素間の関係が、アーキテクチャ又は設計パターンの規定に違反している。
・必要なUML要素がダイアグラム上に記載されていない。
・関連する複数のダイアグラム間の記述内容に矛盾がある。
このような背景から、プロジェクト固有のルールに基づいたUMLモデルの品質検証作業の効率化、自動化が強く求められている。
モデルの品質を検証するためのルール定義を第1の記憶部内に読み込む読込部であって、上記ルール定義は、モデル要素と関連する他のモデル要素を探索する第1のルールを特定する情報及び該第1のルールの動作を特定するための値、モデル要素の属性及び関係を検証する第2のルールを特定する情報及び該第2のルールの動作を特定するための値、並びに上記第1のルール及び上記第2のルールを制御するための第3のルールを特定する情報及び該第3のルールの動作を特定するための値を含む、上記読込部と、
上記読み込んだルール定義に基づいて、ルールを第2の記憶部から取得する取得部であって、上記ルールは、上記第1のルール、上記第2のルール及び上記第3のルールを含む、上記取得部と、
上記取得した第1のルールに従い、第1のモデル要素と関連を有する第2のモデル要素を探索する探索部と、
上記取得した第2のルールに従い、上記モデルの品質を検証する検証部と、
上記取得した第3のルールに従い、上記探索部及び上記検証部を制御する検証制御部と
を含む。
上記読込部が、上記第4のルールを特定する情報及び該第4のルールの動作を特定するための値を上記第1の記憶部内に読み込み、
上記取得部が、上記第4のルールを上記第2の記憶部から取得し、
上記コンピュータ・システムが、
上記取得した第4のルールに従い、第3の記憶部に格納されたモデル要素全体から、検証対象である第1のモデル要素を絞り込む絞込部
をさらに含み、
上記制御部が、上記探索部及び上記検証部に加えて上記絞込部をさらに制御する。
モデルの品質を検証するためのルール定義を第1の記憶部内に読み込むステップであって、上記ルール定義は、モデル要素と関連する他のモデル要素を探索する第1のルールを特定する情報及び該第1のルールの動作を特定するための値、モデル要素の属性及び関係を検証する第2のルールを特定する情報及び該第2のルールの動作を特定するための値、並びに上記第1のルール及び上記第2のルールを制御するための第3のルールを特定する情報及び該第3のルールの動作を特定するための値を含む、上記読み込むステップと、
上記読み込んだルール定義に基づいて、ルールを第2の記憶部から取得するステップであって、上記ルールは、第1のルール、第2のルール及び第3のルールを含む、上記取得するステップと、
上記取得した第3のルールに従い、下記ステップを制御するステップであって、
該ステップが、
上記取得した第1のルールに従い、第1のモデル要素と関連を有する第2のモデル要素を探索するステップと、
上記取得した第2のルールに従い、上記モデルの品質を検証するステップと
を含む、上記制御するステップと
を含む。
上記読み込むステップが、上記第4のルールを特定する情報及び該第4のルールの動作を特定するための値を上記第1の記憶部内に読み込むステップをさらに含み、
上記取得するステップが、上記第4のルールを上記第2の記憶部から取得するステップをさらに含み、
上記方法が、上記コンピュータ・システムに、
上記取得した第4のルールに従い、第3の記憶部に格納されたモデル要素全体から、検証対象である第1のモデル要素を絞り込むステップを実行させるステップ
をさらに含み、
上記制御するステップが、上記探索するステップ及び上記検証するステップに加えて上記絞り込むステップをさらに制御する。
該読み込んだルール定義に基づいて、ルールを第2の記憶部から取得するステップであって、上記ルールは、コンポジット・ルール、フィルター・ルール、エクストラクター・ルール及びアトミック・ルールを含む、上記取得するステップと、
上記取得したコンポジット・ルールに従い、下記ステップを制御するステップであって、
該ステップが、
上記取得したフィルター・ルールに従い、第3の記憶部に格納されたモデル要素全体から、検証対象である第1のモデル要素を絞り込まれたステップと、
上記取得したエクストラクター・ルールに従い、上記絞り込まれた第1のモデル要素と関連を有する第2のモデル要素を探索するステップと、
上記取得したアトミック・ルールに従い、上記モデルの品質を検証するステップ
を含む、上記制御するステップと、
上記モデルの品質の検証結果を表示するステップと
を含む。
・モデルの品質を検証する作業を自動化することにより、低コストで且つモデリングの際に属人性が混入することを防ぎ、一定の品質を保つことが可能である。
・モデル要素に関連する他のモデル要素を探索する手段により、異なる種類のモデル(UMLモデルとダイアグラムなど)間の相関チェックをすることが可能である。
・ルール定義ファイルの設定のみでモデルの品質検証の振る舞いを指定できるので、利用者は、高度な知識を特に必要とせずに検証ルールを定義することが可能である。
・モデルの品質検証の内容を、ルールの組み合わせ及びそれらのルール定義により表現することができるので、アーキテクチャの違い又はプロジェクト固有の検証内容に柔軟に対応することができる。
・ルールの組み合わせにより検証を実現するために、プロジェクト固有の個々の検証内容に対して1つずつ個別に実装する必要がないので、検証ロジック又は制御ロジックの実装のコストを軽減することができる。
UMLは、オブジェクト指向分析及び設計における標準的モデリング言語である。
MOFメタモデルは、メタモデルを記述するための構成要素を定義し、メタモデルを管理するための技術仕様である。
CWMは、データウェアハウス用のメタモデルを定義した技術仕様である。
メタモデルとは、モデルを定義するためのモデルである。例えば、XMLがモデルを表現するものと仮定すると、XMLタグの意味を定義するDTD(Data Type Definition)がメタモデルを表現するものであり、DTDの構成要素である「ELEMENT」及び「ENTITY」の定義に対応するものがMOFである。
本発明の実施態様において、「エクストラクター・ルール」(第1のルール)とは、モデル要素と関連する他のモデル要素を探索するルールをいう。
本発明の実施態様において、「アトミック・ルール」(第2のルール)とは、モデル要素の属性及び関係の正確性を検証するルールをいう。
本発明の実施態様において、「コンポジット・ルール」(第3のルール)とは、エクストラクター・ルール及びアトミック・ルールを制御するルール又はエクストラクター・ルール、アトミック・ルール及びフィルター・ルール(後述する)を制御するルールをいう。コンポジット・ルールは、基本的なモデル品質検証であれば制御をすることができる汎用コンポジット・ルールを含みうる。コンポジット・ルールはまた、複雑な検証ルールの場合には、モデルのプロジェクトに固有又は利用者独自の固有コンポジット・ルールを含みうる。
本発明の実施態様において、「フィルター・ルール」(第4のルール)とは、検証対象であるモデル要素を絞り込むルールをいう。
(1)1つ又は複数のエクストラクター・ルールを特定する情報及び該エクストラクター・ルールの動作を特定するための値、
(2)1つ又は複数のアトミック・ルールを特定する情報及び該アトミック・ルールの動作を特定するための値、
(3)1つのコンポジット・ルールを特定する情報及び該コンポジット・ルールの動作を特定するための値
を含み、
(4)1つ又は複数のフィルター・ルールを特定する情報及び該フィルター・ルールの動作を特定するための値
は任意である。
ルール定義の実行順序は、各ルール定義を記述する順序により定義することができる。
同様に、本発明の実施態様において、「アトミック・ルールを特定する情報」とは、1又は複数のアトミック・ルールのうちから、モデルの品質を検証する際に使用するアトミック・ルールを特定する情報をいう。
同様に、本発明の実施態様において、「コンポジット・ルールを特定する情報」とは、1又は複数のコンポジット・ルールのうちから、モデルの品質を検証する際に使用するコンポジット・ルールを特定する情報をいう。
同様に、本発明の実施態様において、「フィルター・ルールを特定する情報」とは、1又は複数のフィルター・ルールのうちから、モデルの品質を検証する際に使用するフィルター・ルールを特定する情報をいう。
同様に、本発明の実施態様において、「アトミック・ルールの動作を特定するための値」とは、アトミック・ルールに適用する実行時パラメータであり、且つモデルの品質を検証する際にアトミック・ルールによって使用される値をいう。ユーザは、アトミック・ルールの動作を特定するための値を、検証する処理の内容に合わせて変更することが可能である。
同様に、本発明の実施態様において、「コンポジット・ルールの動作を特定するための値」とは、コンポジット・ルールに適用する実行時パラメータであり、且つモデルの品質を検証する際にコンポジット・ルールによって使用される値をいう。ユーザは、コンポジット・ルールの動作を特定するための値を、検証する処理の内容に合わせて変更することが可能である。
同様に、本発明の実施態様において、「フィルター・ルールの動作を特定するための値」とは、フィルター・ルールに適用する実行時パラメータであり、且つモデルの品質を検証する際にフィルター・ルールによって使用される値をいう。ユーザは、フィルター・ルールの動作を特定するための値を、検証する処理の内容に合わせて変更することが可能である。
エクストラクター・ルールは例えば、以下の探索を行うために使用される。
・あるモデル要素が関係、参照又は利用している他のモデル要素を探索する。例は、次の通りである:ダイアグラム上で利用されている型を探索する;メッセージが使われているシーケンス図を探索する;オペレーションで利用しているダイアグラムを検索する;クラスと実装関連にあるインタフェースを探索する。
・あるモデル要素が保持している他のモデル要素を探索する。例は、次の通りである:クラスが保持するオペレーション(操作)を探索する;インタフェースが保持するオペレーション(操作)を探索する。
・あるモデル要素が描画されている図(ダイアグラム図を含む)を探索する。例は、次の通りである:名前を持つUML要素が描画されているダイアグラムを探索する;クラスを利用するダイアグラム図を探索する。
・あるモデル要素が関係、参照、利用又は保持している図上に描画されたモデル要素を探索する。
アトミック・ルールは例えば、以下の検証を行うために使用される。
・モデル要素の属性の値が指定した数値であるかどうかの検証を行う。例は、次の通りである:多重度を持つUML要素の属性を検証するアトミック・ルール;メッセージの属性を検証するアトミック・ルール。多重度は、多重度の値(「1」、「2以上」、「多」など)で表される。メッセージの属性は、メッセージの種類(呼び出し、戻り値など)で表される。
・モデル要素の属性の値と指定した値との大小の検証を行う。
・モデル要素の属性の値が指定した値域内に含まれることの検証を行う。
・モデル要素の属性の文字列が指定した文字列のパターンに完全又は部分一致するかどうかの検証を行う。例は、次の通りである:名前を保持するUMLの設定値(名前、完全修飾名の値など)の内容を検証するアトミック・ルール。
・モデル要素の属性の設定値が指定した値の中から選択されているかどうかの検証を行う。例えば、オペレーションの属性には、「可視性」(public、private、protected、packageなど)がある。該可視性の内容を検証するために、可視性に設定された文字列が「public」となっているかどうかを検証する。その他、オペレーションの属性には、戻り値の型、オペレーションの名前がある。
コンポジット・ルールは例えば、以下の制御を行うために使用される。
・各ルールの実行順序を制御する。実行順序は任意である。例は、次の通りである:「検証対象絞込み手段」、「検証対象に関連を有するモデル要素探索手段」、「モデル要素検証手段」を順番に実行する汎用コンポジット・ルール;「検証対象絞込み手段」、「検証対象に関連を有するモデル要素探索手段」、「モデル要素検証手段」の実行順序や組み合わせ方をカスタマイズするために独自に作成したコンポジット・ルール。
・各ルールに対する、例えばAND、OR、NOTの論理演算を行う。
フィルター・ルールは例えば、以下の絞込みを行うために使用される。
・モデル要素の属性の値が、指定した数値を有するモデル要素に絞込みを行う。
・モデル要素の属性の文字列が、指定した文字列のパターンに完全又は部分一致するモデル要素に絞込みを行う。
・モデル要素の属性の設定値が、指定した値の中から選択されているモデル要素に絞込みを行う。
・モデル要素の種類により絞込みを行う。例は、次の通りである:UMLの種類によって絞込みを行うフィルター;文書の属性によって絞込みを行うフィルター。UMLの種類は、例えば、クラス、インタフェースである。文書の属性は、例えば文書の内容である。
・所定の名前を有するモデル要素に絞込みを行う。名前を有するUML要素は例えば、アクター、ユースケース、クラス、インタフェース、コンポーネント、ユースケース、パッケージである。
・名前を有するモデル要素の属性値により絞込みを行う。属性値は例えば、「名前」、「完全修飾名」(パッケージ名を含む名前)である。
・図の種類により絞込みを行う。
・モデル要素の配置場所により絞込みを行う。
具体的には、モデルの品質の検証は例えば、第1のモデル要素の属性値の検証、該第1のモデル要素と他のモデル要素との関係値の検証、第2のモデル要素の属性値の検証若しくは該第2のモデル要素と他のモデル要素との関係値の検証、又は探索部で探索された第2のモデル要素が存在するかどうかの検証、上記第1のモデル要素と他のモデル要素との関係が存在するかどうかの検証若しくは上記第2のモデル要素と他のモデル要素との関係が存在するかどうかの検証について行われる。上記第1のモデル要素と他のモデル要素との関係及び上記第1のモデル要素と他のモデル要素との関係はまたそれぞれ、これら関係自身の属性を含む。
コンピュータ・システム(101)は、読込部(103)、取得部(104)、ルール構築部(105)、絞込部(113)、探索部(114)、検証部(115)、検証制御部(116)及び表示部(118)を含む。
コンピュータ・システム(101)は、1又は複数のコンピュータから構成されていてもよく、各部は複数のコンピュータに分散していてもよい。
コンピュータ・システム(101)はまた、ルール定義(106)、ルール群(107)及びモデル(117)を記憶する記憶部を含む。ルール定義(106)、ルール群(107)及びモデル(117)は、1つの記憶装置、例えばハードディスク又はシリコンディスクに格納されていてもよく、又は複数の記憶装置に分散されて記憶されていてもよい。
取得部(104)は、読込部(103)が上記記憶部内に読み込んだルール定義(106)に基づいて、ルール群(107)を記憶する記憶部からルール(109〜111、又は、108〜111)を取得する。各ルールとは、検証の振る舞いの最小単位を実現する部品(ルール部品ともいう)である。検証の振る舞いとは、例えば「名前の検証をする」、「属性の可視性を検証する」などが挙げられる。
ルール構築部(105)は、上記取得したルール(109〜111、又は、108〜111)に、上記読み込んだルール定義(106)の値をルール毎に適用する。ルール構築部(105)はまた、取得部(104)が取得したルール(109〜111、又は、108〜111)に基づいて、モデルの品質を検証するために必要なルールを選択し、組み合わせを行う。ルールは、エクストラクター・ルール(109)、アトミック・ルール(110)及びコンポジット・ルール(111)、又は、フィルター・ルール(108)、エクストラクター・ルール(109)、アトミック・ルール(110)及びコンポジット・ルール(111)を含む。
絞込部(113)は、取得部(104)が取得したフィルター・ルール(108)に従い、記憶部(図示せず)に格納されたモデル要素全体から、検証対象である第1のモデル要素(117)を絞り込む。
探索部(114)は、取得部(104)が取得したエクストラクター・ルール(109)に従い、第1のモデル要素(117)と関連を有する第2のモデル要素を探索する。関連しているかどうかは、モデル要素間の関係、例えば、依存、関連(1対多、1対1、多対多など)、実現、参照又は汎化を使用して、特定される。本発明の実施態様において、「他のモデル要素」は、第1のモデル要素(117)と同一又は異なる種類のモデル要素でありうる。例えば第1のモデル要素(117)がクラスである場合に、他のモデル要素はインタフェースである。
検証部(115)は、取得部(104)が取得したアトミック・ルール(110)に従い、検証対象であるモデルの品質を検証する。モデルの品質の検証は例えば、第1のモデル要素の属性の内容について、該第1のモデル要素と他のモデル要素との関係の内容について、第2のモデル要素の属性の内容について若しくは該第2のモデル要素と他のモデル要素との関係の内容について、又は探索部(114)で探索された第2のモデル要素が存在するかどうかについて、上記第1のモデル要素と他のモデル要素との関係が存在するかどうかについて若しくは上記第2のモデル要素と他のモデル要素との関係が存在するかどうかについて行われるがこれらに限定されない。検証部(115)は、モデルの品質を検証する上で必要な検証を行う。検証部(115)は、例えば、あるモデル要素が、いずれかのダイアグラム上に記載されているかどうかの検証を行う。
検証制御部(116)は、取得部(104)が取得したコンポジット・ルール(111)に従い、絞込部(113)、探索部(114)及び検証部(115)を動的に制御する。すなわち、検証制御部(116)が、モデルの品質を検証するための全体の流れを制御する。検証の制御は、ルールの組み合わせ及びそれらのルール定義によって表現されることから、検証対象のモデルに合わせて検証の振る舞いを柔軟に変えることが可能である。
表示部(118)は、モデルの品質の検証結果(119)を表示する。
・検証対象であるモデル要素を絞り込むフィルター・ルールをルール群(107)に格納されたフィルター・ルール(108)から特定する情報及び該フィルター・ルールの動作を特定するための値、
・モデル要素と関連する他のモデル要素を探索するエクストラクター・ルールをルール群(107)に格納されたエクストラクター・ルール(109)から特定する情報及び該エクストラクター・ルールの動作を特定するための値、
・モデル要素の属性及び関係を検証するアトミック・ルールをルール群(107)に格納されたアトミック・ルール(110)から特定する情報及び該アトミック・ルールの動作を特定するための値、
・フィルター・ルール、エクストラクター・ルール及びアトミック・ルールを制御するコンポジット・ルールをルール群(107)に格納されたコンポジット・ルール(111)から特定する情報及び該コンポジット・ルールの動作を特定するための値。
ただし、検証対象であるモデル要素を絞り込むフィルター・ルールを特定する情報及び該フィルター・ルールの動作を特定するための値は、必ずしも必要ではない。
ルール群(107)は、1又は複数のエクストラクター・ルール(109)、1又は複数のアトミック・ルール(110)及び1又は複数のコンポジット・ルール(111)、又は、1又は複数のフィルター・ルール(108)、1又は複数のエクストラクター・ルール(109)、1又は複数のアトミック・ルール(110)及び1又は複数のコンポジット・ルール(111)を含む。各ルールの最小構成単位は、モデルの品質を検証する振る舞いのための最小単位である。ルールは、検証対象であるのモデル要素の種類、例えばオペレーション、ダイアグラム、クラス、コンポーネント、アクター、ユースケース、パッケージ、インタフェース又は文書に合わせて作成され、必要に応じてあらかじめ複数用意されうる。
モデル(117)は、モデルの品質を検証する対象である1又は複数のモデル要素を含む。検証対象であるモデル要素は、検証対象であるモデルに含まれるモデル要素全て、又は検証対象であるモデルに含まれるモデル要素全てから、フィルター・ルール(108)に従い絞り込まれた所定のモデル要素でありうる。
ステップ201では、コンピュータ・システム(図1、101)が、モデルの品質を検証するためのルール定義を記憶部内(図示せず)に読み込む。
ステップ202では、コンピュータ・システム(101)が、上記記憶部内に読み込んだルール定義(106)に基づいて、ルール群を記憶する記憶部から各ルールを取得する。
ステップ203では、コンピュータ・システム(101)が、上記取得したルールに、上記読み込んだルール定義の値をルール毎に適用する。
ステップ204では、コンピュータ・システム(101)が、ルール群を記憶する記憶部から取得したコンポジット・ルールに従い、探索するステップ(205)及び検証するステップ(206)を動的に制御する。
ステップ205では、コンピュータ・システム(101)が、ルール群を記憶する記憶部から取得したエクストラクター・ルールに従い、検証対象であるモデル要素(第1のモデル要素)と関連を有する第2のモデル要素を探索する。
ステップ206では、コンピュータ・システム(101)が、ルール群を記憶する記憶部から取得したアトミック・ルールに従い、モデルの品質を検証する。検証が第1のモデル要素のみについて行われる場合、ステップ206では、第1のモデル要素のみの属性値及び関係値の検証が行われる。検証が第2のモデル要素についても行われる場合、ステップ206では、第1のモデル要素及び第2のモデル要素のうち、少なくとも第2のモデル要素の属性値及び関係値の検証が行われる。
ステップ207では、コンピュータ・システム(101)が、モデルの品質の検証結果を表示する。
ステップ211では、コンピュータ・システム(図1、101)が、モデルの品質を検証するためのルール定義を記憶部内(図示せず)に読み込む。
ステップ212では、コンピュータ・システム(101)が、上記記憶部内に読み込んだルール定義(106)に基づいて、ルール群を記憶する記憶部から各ルールを取得する。
ステップ213では、コンピュータ・システム(101)が、上記取得したルールに、上記読み込んだルール定義の値をルール毎に適用する。
ステップ214では、コンピュータ・システム(101)が、ルール群を記憶する記憶部から取得したコンポジット・ルールに従い、絞り込むステップ(215)、探索するステップ(216)及び検証するステップ(217)を動的に制御する。
ステップ215では、コンピュータ・システム(101)が、ルール群を記憶する記憶部から取得したフィルター・ルールに従い、検証対象であるモデル要素(第1のモデル要素)をモデル全体から絞り込む。
ステップ216では、コンピュータ・システム(101)が、ルール群を記憶する記憶部から取得したエクストラクター・ルールに従い、上記絞り込まれた第1のモデル要素と関連を有する第2のモデル要素を探索する。
ステップ217では、コンピュータ・システム(101)が、ルール群を記憶する記憶部から取得したアトミック・ルールに従い、上記モデルの品質を検証する。検証が第1のモデル要素のみについて行われる場合、ステップ217では、第1のモデル要素のみの属性値及び関係値の検証が行われる。検証が第2のモデル要素についても行われる場合、ステップ217では、第1のモデル要素及び第2のモデル要素のうち、少なくとも第2のモデル要素の属性値及び関係値の検証が行われる。
ステップ218では、コンピュータ・システム(101)が、モデルの品質の検証結果を表示する。
本実施例は、「分析クラスが保持するオペレーションが、命名ルール「〜を〜する」に沿っているか」を検証する例である。
該検証では、UMLの種類によりモデル要素を絞り込み、検索対象を絞り込むためのフィルター・ルール、及びパッケージの名前により検索対象によりモデルを絞り込み、検索対象を絞り込むためのフィルター・ルール、クラスが保持するオペレーションを探索するエクストラクター・ルール、並びに名前を検証するアトミック・ルールを利用する。
ステップ301では、コンピュータ・システム(101)が、各ルール定義を記憶部内に読み込む。
ステップ302では、コンピュータ・システム(101)が、上記ルール定義(106)に基づいて、ルール群を記憶する記憶部から各ルールを取得する。
ステップ303では、コンピュータ・システム(101)が、上記取得したルールに、上記読み込んだルール定義の値をルール毎に適用する。本実施例では、絞込部、探索部、検証部、及び検証制御部に各ルールを、以下に示すように適用する。
絞込部 UMLの種類により絞り込むフィルター・ルール
パッケージの名前により絞り込むフィルター・ルール
探索部 クラスが保持するオペレーションを探索するエクストラクター・ルール
検証部 名前を検証するアトミック・ルール
検証制御部 汎用コンポジット・ルール
ステップ304では、コンピュータ・システム(101)が、絞り込むステップ(305)、探索するステップ(306)、及び検証するステップ(307)を順に実行する。
絞り込むステップ(305)では、コンピュータ・システム(101)が、UMLの要素「クラス」で検証対象であるUML要素の絞り込みを行い、さらにパッケージが「分析」であるクラスを検証対象として絞り込みを行う。
探索するステップ(306)では、コンピュータ・システム(101)が、クラスが保持するオペレーションを探索する。
検証するステップ(307)では、コンピュータ・システム(101)が、探索されたオペレーションの名前が命名ルールに沿っているかどうかを検証する。「受注検証()」オペレーションは命名ルール「〜を〜する」に沿っていないためエラーとなる。
ステップ308では、コンピュータ・システム(101)が、検証結果をユーザに提示する。例えば、表示装置上に、命令ルールに沿わないオペレーションを保持しているクラスがある旨のエラーが出力される。
ユーザは、品質確認を行うモデル要素を選択して検証を実行する。
ユーザが、モデルの検証のために、検証対象の上でマウスを右クリックすると、ポップアップメニューが表示される。ユーザが、該ポップアップメニューからメニュー「検証」を選択する。該選択によって、モデルの品質の検証が実行される。検証が終了すると、モデリング・ルール違反が表示装置上に示される。
該例では、モデル要素のうち、属性において名前が「○○者」となっている要素の絞込みを行うフィルター・ルールを適用する。その結果、名前が「管理者」を有するUML要素(501)が絞り込まれる。
該例では、アクターが描画されているダイアグラム(503、504)が探索される。
該例では、可視性が、設定された値(「public」、「private」、「protected」、「package」)のうち「public」となっている(505)。よって、該モデル要素の可視性は正しいことが判断される。
モデル要素(506、507)のうち、アクター(506)はその属性の名前が「管理者」であるので正しいと判断され、一方クラス(507)はその属性の名前が「Book」であるので正しくないと判断される。
ルール定義は、フィルター・ルール、エクストラクター・ルール、アトミック・ルール、コンポジット・ルールそれぞれについて、ルール部品を特定するための情報(601)及び特定したルールの動作を特定するための値を含む。ルールの動作を特定するための値は例えば、ルールの動作を特定するための設定項目(602)及び該設定項目毎に対応する値(603)を有する。ルールによっては、ルールの動作を特定するための設定項目(602)を必ずしも有していなくてよい。
ルール定義は、例えばXMLを使用して表される。
ユーザは、ルール部品を特定するための情報(601)及びルールの動作を特定するための値(602、603)を設定する。該設定は、例えば、XMLの記述を変更することによって、又はルール部品を特定するための情報(601)及びルールの動作を特定するための値(602、603)を入力するための所定のウィンドウを表示し、該ウィンドウ内に、上記情報(601)、上記値(602、603)を入力することによって行われうる。
該モデル例(604)は、コンポジット・ルール(605)、フィルター・ルール(606)、エクストラクター・ルール(607)、及びアトミック・ルール(608a、608b)を含む。
コンポジット・ルール(605)は、絞込部(図1、113)、探索部(図1、114)、検証部(図1、115)を制御するために、フィルター・ルール(606)、エクストラクター・ルール(607)、及びアトミック・ルール(608a、608b)の組み合わせ及び実行順序を指定する。各ルールの組み合わせ及び実行順序は、コンポジット・ルール(605)の記載順によって表される。
フィルター・ルール(606)は、検証対象である第1のモデル要素を絞り込む条件を列挙する。フィルター・ルールが複数ある場合には、フィルター・ルール(606)の記述が繰り返される。
エクストラクター・ルール(607)は、第1のモデル要素と関連を有する第2のモデル要素を探索する条件を列挙する。エクストラクター・ルールが複数ある場合には、エクストラクター・ルール(607)の記述が繰り返される。
アトミック・ルール(608a)は、少なくとも第2のモデル要素が満たすべき条件を列挙する。少なくとも第2のモデル要素を検証する場合とは、第1のモデル要素及び第2のモデル要素を検証する場合、又は第2のモデル要素のみを検証する場合である。この場合、アトミック・ルール(608a)は、エクストラクター・ルール(607)の定義内に組み込まれる。アトミック・ルールが複数ある場合には、アトミック・ルール(608a)の記述が繰り返される。
アトミック・ルール(608b)は、第1のモデル要素のみが満たすべき条件を列挙する。第1のモデル要素のみを検証する場合とは、探索部(114)によって第2のモデル要素が探索されなかった場合若しくは探索部(114)によって第2のモデル要素の探索が行われなかった場合、又は第2のモデル要素を検証しない場合である。アトミック・ルール(608b)は、アトミック・ルール(608a)と異なり、エクストラクター・ルール(607)の定義内に組み込まれない。アトミック・ルールが複数ある場合には、アトミック・ルール(608b)の記述が繰り返される。
該実装例は、モデル要素であるユースケースの名前が「〜を〜する」(目的語+動詞)の形式かどうか検出するルールの適用例である。該実装例では、フィルター・ルールが2つ含まれる。
モデル要素(609)のユースケースの名前が「顧客情報を登録する」であるので、検証結果は、「正しい」である。
モデル要素(610)のユースケースの名前が「商品管理」であるので、検証結果は、「間違い」である。
該実装例は、依存線の依存元のモデル要素の種類がアクターであるか検証するルールの適用例である。
依存元であるモデル要素(611)の種類がアクターであるので、検証結果は、「正しい」である。
依存元であるモデル要素(612)の種類がアクターでないので、検証結果は、「間違い」である。
該実装例は、シーケンス図に登場するモデル要素(ライフライン)の型がアクター及びユースケースであることを検証するルールの適用例である。
ライフライン(613)の型がアクターであるので、検証結果は、「正しい」である。
ライフライン(614)の型がクラスであるので、検証結果は、「正しい」である。
ライフライン(615)の型がインタフェースであるので、検証結果は、「間違い」である。
該構築された適用ルール(112)は、ルール構築部(105)により、ルール定義に基づき、ルール群からフィルター・ルール(108)、エクストラクター・ルール(109)及びアトミック・ルール(110)を取得し、動作を特定するための値を設定され構築される。
該構築された適用ルール(112)は、ルール構築部(105)により、ルール定義に基づき、ルール群からフィルター・ルール(108)、エクストラクター・ルール(109)及びアトミック・ルール(110)を取得し、動作を特定するための値を設定され構築される。
該構築された適用ルール(112)は、ルール構築部(105)により、ルール定義に基づき、ルール群からフィルター・ルール(108)、エクストラクター・ルール(109)及びアトミック・ルール(110)を取得し、動作を特定するための値を設定され構築される。
ユースケース図は、システムが提供する機能とそれに関連する外部要素(ユーザ又は外部システム)を表す。ユースケース図は、ユースケース、アクター及び関連で構成される。ユースケースとは、ユーザなど、システムの外部からみたシステムの機能(振る舞い)を表す。アクターとは、あるシステムを中心に見たとき、それに関連するすべての外部要素を表す。ユースケースとアクター間の関連とは、システムが提供する機能と、外部要素(ユーザ又は外部システム)の関係を示す。
ユースケースは、楕円で表される。図8Aは、3つのユースケースを示す。該3つのユースケースは、上から順に顧客を検索するユースケース、受注を入力するユースケース及び商品を検索するユースケースである。
アクターは、円と線を組み合わせたスティックマンと呼ばれる人型のアイコンで表される。図8Aは、2つのアクターを記載する。左のスティクマンが受注担当者を表すアクターであり、右のスティクマンが顧客管理システムを表すアクターである。アクターは、具体的な名前ではなく、役割によって抽象化したもので表す。例えば、受注担当者であるAさんは、受注担当者というアクターで表す。
関連は、ユースケース及びアクターと関連するユースケースの間の実線で表される。図8Aは、受注担当者が、顧客を検索する機能、受注を入力する機能及び商品を検索する機能を利用できることを示す。このシステムが顧客を検索する機能を実現するために、顧客管理システムを利用する。
クラス図は、クラスというオブジェクト指向の設計単位を用いて、システムの静的な構造を表したものである。クラス図は、業務やシステムに登場する概念を表す「クラス」及びクラス同士の関係を表す「関連」を含む。クラスとは、オブジェクトの共通的な要素を抽象化し、それを枠組みとして定義したものである。
クラスは、クラス図において四角形で表される。上記四角形の内部には、上段からクラス名、属性、操作が記述される。属性は、例えばクラスが持つデータ構造である。操作は、例えばクラスの振る舞いである。
図8Bは、8つのクラスを記載する。上記8つのクラスは、受注を入力するUIクラス、受注処理クラス、受注管理クラス、在庫処理クラス、取引先管理クラス、倉庫管理クラス、社員管理クラス及び品目管理クラスである。なお、属性及び操作は省略されている。また、クラス名の上に記載されているBoundary、Control及びEntityは、上記8つのクラスのステレオタイプを示す。
図8Bでは、関連は、点線の矢印で示される。関連は、クラスから作成されるオブジェクト間のつながりの可能性を示す。図8Bでは、8つの関連を表す点線の矢印が記載されている。また、上記8つの関連は全てuseである。これは、矢印の始点のクラスのオブジェクトが、矢印の先のクラスのオブジェクトを使用する可能性があることを示す。例えば、発注管理クラスのオブジェクトは、取引先管理クラスのオブジェクト、倉庫管理クラスのオブジェクト、社員管理クラスのオブジェクト及び品目管理クラスのオブジェクトを使用する可能性があることを示す。
図8Bはまた、受注担当者を表すアクターを含む。
シーケンス図は、コラボレーション図とともに相互作用図と呼ばれ、オブジェクト間のメッセージのやり取りを時系列で表すダイアグラムである。オブジェクトとは、あらゆるモノ、例えば人、車、コンピュータ、データである。メッセージは、上記オブジェクト間の通信である。メッセージは、主にオブジェクト間の操作の呼び出しを表す。
シーケンス図での時間は、ライフラインに沿って上から下に進む。
図8Cのシーケンス図の例では、上部の5つの長方形が、オブジェクトで表される。上記それぞれのオブジェクトから伸びる縦の破線は、ライフラインを表す。ライフラインが太く表現されている個所は、対応するオブジェクトが動作していることを表す。また、ライフラインを結ぶ矢印は、メッセージを表す。
以下に、上記シーケンス図で表現されるオブジェクトの動作を時系列に沿って説明する。
最初に、受注担当者を表すアクターのオブジェクトから、受注を入力するUIクラスのオブジェクトに対して、メッセージが発行される。該メッセージは例えば、入力装置からの受注情報の入力である。
次に、受注を入力するUIクラスのオブジェクトから、受注処理クラスのオブジェクトに対して、メッセージが発行される。該メッセージは例えば、受注を生成するための命令の呼び出しである。
次に、受注処理クラスのオブジェクトから、受注管理クラスのオブジェクトに対して、メッセージが発行される。該メッセージは例えば、受注を生成するための命令の呼び出しである。
次に、受注管理クラスのオブジェクトから、取引先管理クラスのオブジェクトに対して、メッセージが発行される。該メッセージは例えば、得意先情報を照会するための命令の呼び出しである。
次に、受注管理クラスのオブジェクトから、取引先管理クラスのオブジェクトに対して、メッセージが発行される。該メッセージは例えば、出荷先情報を照会するための命令の呼び出しである。
次に、受注管理クラスのオブジェクトから、倉庫管理クラスのオブジェクト(図示せず)に対して、メッセージが発行される。該メッセージは例えば、倉庫情報を照会するための命令の呼び出しである。
次に、受注管理クラスのオブジェクトから、社員管理クラスのオブジェクト(図示せず)に対して、メッセージが発行される。該メッセージは例えば、倉庫情報を照会するための命令の呼び出しである。
このように、シーケンス図において、オブジェクト間のメッセージのやり取りは、時系列に沿って表現される。
本発明の実施例に係るコンピュータ・システム(901)は、CPU(902)とメイン・メモリ(903)と含み、これらはバス(904)に接続されている。CPU(902)は好ましくは、32ビットまたは64ビットのアーキテクチャに基づくものであり、例えば、インテル社のXeon(商標)シリーズ、Core(商標)シリーズ、Atom(商標)シリーズ、Pentium(商標)シリーズ、Celeron(商標)シリーズ、AMD社のPhenom(商標)シリーズ、Athlon(商標)シリーズ、Turion(商標)シリーズ及びSempron(商標)などを使用することができる。バス(904)には、ディスプレイ・コントローラ(905)を介して、LCDモニタなどのディスプレイ(906)が接続される。ディスプレイ(906)は、そのコンピュータ・システム(901)上で動作中のソフトウェアについての情報を、適当なグラフィック・インターフェースで表示するために使用される。バス(904)にはまた、IDE又はSATAコントローラ(907)を介して、ハードディスク又はシリコン・ディスク(908)と、CD−ROM、DVD又はBlu−rayドライブ(909)が接続されている。CD−ROM、DVD又はBDドライブ(909)は、必要に応じて、CD−ROM、DVD−ROM又はBDからプログラムをハードディスク又はシリコン・ディスク(908)に導入するために使用される。バス(904)には更に、キーボード・マウスコントローラ(910)を介して、或いはUSBコントローラ(図示せず)を介して、キーボード(911)及びマウス(912)が接続されている。
Claims (21)
- 少なくとも1のモデル要素を含むモデルの品質を検証するためのコンピュータ・システムであって、各モデル要素は、属性を有し及び0又は1以上の他のモデル要素と関係付けられており、
前記コンピュータ・システムは、
モデルの品質を検証するためのルール定義を第1の記憶部内に読み込む読込部であって、前記ルール定義は、モデル要素と関連する他のモデル要素を探索する第1のルールを特定する情報及び該第1のルールの動作を特定するための値、モデル要素の属性及び関係の正確性を検証する第2のルールを特定する情報及び該第2のルールの動作を特定するための値、並びに前記第1のルール及び前記第2のルールを制御するための第3のルールを特定する情報及び該第3のルールの動作を特定するための値を含む、前記読込部と、
前記読み込んだルール定義に基づいて、ルールを第2の記憶部から取得する取得部であって、前記ルールは、前記第1のルール、前記第2のルール及び前記第3のルールを含む、前記取得部と、
前記取得した第1のルールに従い、第1のモデル要素と関連を有する第2のモデル要素を探索する探索部と、
前記取得した第2のルールに従い、前記モデルの品質を検証する検証部と、
前記取得した第3のルールに従い、前記探索部及び前記検証部を制御する検証制御部と
を含む、前記コンピュータ・システム。 - 前記ルール定義が、検証対象であるモデル要素を絞り込む第4のルールを特定する情報及び該第4のルールの動作を特定するための値をさらに含み、
前記読込部が、前記第4のルールを特定する情報及び該第4のルールの動作を特定するための値を前記第1の記憶部内に読み込み、
前記取得部が、前記第4のルールを前記第2の記憶部から取得し、
前記コンピュータ・システムが、
前記取得した第4のルールに従い、第3の記憶部に格納されたモデル要素全体から、検証対象である第1のモデル要素を絞り込む絞込部
をさらに含み、
前記制御部が、前記探索部及び前記検証部に加えて前記絞込部をさらに制御する、請求項1に記載のコンピュータ・システム。 - 前記探索部が、前記取得した第1のルールに従い、前記絞り込まれた第1のモデル要素と関連を有する第2のモデル要素を探索する、請求項2に記載のコンピュータ・システム。
- 前記モデルの品質の検証結果を表示する表示部をさらに含む、請求項1に記載のコンピュータ・システム。
- 前記取得した第1のルール、第2のルール及び第3のルールに、前記第1の記憶部内に読み込んだ前記第1のルールの動作を特定するための値、前記第2のルールの動作を特定するための値及び前記第3のルールの動作を特定するための値をそれぞれ適用するルール構築部をさらに含む、請求項1に記載のコンピュータ・システム。
- 前記取得した第1のルール、第2のルール、第3のルール及び第4のルールに、前記第1の記憶部内に読み込んだ前記第1のルールの動作を特定するための値、前記第2のルールの動作を特定するための値、前記第3のルールの動作を特定するための値及び前記第4のルールの動作を特定するための値をそれぞれ適用するルール構築部をさらに含む、請求項2に記載のコンピュータ・システム。
- 前記第1のルールが、あるモデル要素が関係、参照、利用又は保持している他のモデル要素を探索すること、あるモデル要素が描画されている図を探索すること、及びあるモデル要素が関係、参照、利用又は保持している図上に描画されたモデル要素を探索することの少なくとも1を含む、請求項1に記載のコンピュータ・システム。
- 前記第2のルールが、モデル要素の属性の値が指定した数値であるかどうかを検証すること、モデル要素の属性の値と指定した値との大小を検証すること、モデル要素の属性の値が指定した値域内に含まれることを検証すること、モデル要素の属性の文字列が指定した文字列のパターンに完全又は部分一致するかどうかを検証すること、モデル要素の属性の設定値が指定した値の中から選択されているかどうかを検証すること、及び前記第1のルールにより探索されたモデル要素の個数と指定された数を検証することの少なくとも1を含む、請求項1に記載のコンピュータ・システム。
- 前記第3のルールが、前記探索部及び前記検証部の実行順を含む、請求項1に記載のコンピュータ・システム。
- 前記第3のルールが、前記絞込部、前記探索部及び前記検証部の実行順、並びに前記絞込部、前記探索部及び前記検証部の組み合わせの少なくとも1を含む、請求項2に記載のコンピュータ・システム。
- 前記第4のルールが、モデル要素の属性の値が指定した数値を有するモデル要素を絞込むこと、モデル要素の属性の文字列が指定した文字列のパターンに完全又は部分一致するモデル要素を絞込むこと、モデル要素の属性の設定値が指定した値の中から選択されているモデル要素を絞込むこと、モデル要素の種類によりモデル要素を絞込むこと、所定の名前を有するモデル要素にモデル要素を絞込むこと、名前を有するモデル要素の属性値によりモデル要素を絞込むこと、図の種類によりモデル要素を絞込むこと、及びモデル要素の配置場所によりモデル要素を絞込むことの少なくとも1を含む、請求項2に記載のコンピュータ・システム。
- 前記第1のモデル要素を特定するための特定手段をさらに含む、請求項1に記載のコンピュータ・システム。
- 前記モデルが、統一モデリング言語(UML)、メタオブジェクト・ファシリティ(Meta-Object Facility)・メタモデル、CWM(Common Warehouse Meta-model)又はビジネス・プロセス・モデリング言語である、請求項1に記載のコンピュータ・システム。
- 前記モデルが統一モデリング言語(UML)であり、前記モデル要素がUML要素である、請求項1に記載のコンピュータ・システム。
- 少なくとも1のモデル要素を含むモデルの品質を検証するための方法であって、前記モデル要素は、各モデル要素は、属性を有し及び0又は1以上の他のモデル要素と関係付けられており、
前記方法は、コンピュータ・システムが、
モデルの品質を検証するためのルール定義を第1の記憶部内に読み込むステップであって、前記ルール定義は、モデル要素と関連する他のモデル要素を探索する第1のルールを特定する情報及び該第1のルールの動作を特定するための値、モデル要素の属性及び関係の正確性を検証する第2のルールを特定する情報及び該第2のルールの動作を特定するための値、並びに前記第1のルール及び前記第2のルールを制御するための第3のルールを特定する情報及び該第3のルールの動作を特定するための値を含む、前記読み込むステップと、
前記読み込んだルール定義に基づいて、ルールを第2の記憶部から取得するステップであって、前記ルールは、第1のルール、第2のルール及び第3のルールを含む、前記取得するステップと、
前記取得した第3のルールに従い、下記ステップを制御するステップであって、
該ステップが、
前記取得した第1のルールに従い、第1のモデル要素と関連を有する第2のモデル要素を探索するステップと、
前記取得した第2のルールに従い、前記モデルの品質を検証するステップと
を含む、前記制御するステップと
を実行することを含む、前記方法。 - 前記ルール定義が、検証対象であるモデル要素を絞り込む第4のルールを特定する情報及び該第4のルールの動作を特定するための値をさらに含み、
前記読み込むステップが、前記第4のルールを特定する情報及び該第4のルールの動作を特定するための値を前記第1の記憶部内に読み込むステップをさらに含み、
前記取得するステップが、前記第4のルールを前記第2の記憶部から取得するステップをさらに含み、
前記方法は、前記コンピュータ・システムが、
前記取得した第4のルールに従い、第3の記憶部に格納されたモデル要素全体から、検証対象である第1のモデル要素を絞り込むステップ
をさらに実行することを含み、
前記制御するステップが、前記探索するステップ及び前記検証するステップに加えて前記絞り込むステップをさらに制御する、請求項15に記載の方法。 - 前記探索するステップが、前記取得した第1のルールに従い、前記絞り込まれた第1のモデル要素と関連を有する第2のモデル要素を探索するステップを含む、請求項16に記載の方法。
- 前記コンピュータ・システムが、
前記モデルの品質の検証結果を表示するステップをさらに実行することを含む、請求項15に記載の方法。 - 前記コンピュータ・システムが、
前記取得した第1のルール、第2のルール、第3のルール及び第4のルールに、前記第1の記憶部内に読み込んだ前記第1のルールの動作を特定するための値、前記第2のルールの動作を特定するための値、前記第3のルールの動作を特定するための値及び前記第4のルールの動作を特定するための値をそれぞれ適用するステップをさらに実行することを含む、請求項16に記載の方法。 - 少なくとも1のモデル要素を含むモデルの品質を検証するための方法であって、前記モデル要素は、各モデル要素は、属性を有し及び0又は1以上の他のモデル要素と関係付けられており、
前記方法は、コンピュータ・システムが、
モデルの品質を検証するためのルール定義を第1の記憶部内に読み込むステップであって、前記ルール定義は、検証対象であるモデル要素を絞り込むフィルター・ルールを特定する情報及び該フィルター・ルールの動作を特定するための値、モデル要素と関連する他のモデル要素を探索するエクストラクター・ルールを特定する情報及び該エクストラクター・ルールの動作を特定するための値、モデル要素の属性及び関係を検証するアトミック・ルールを特定する情報及び該アトミック・ルールの動作を特定するための値、並びに前記フィルター・ルール、前記エクストラクター・ルール及び前記アトミック・ルールを制御するコンポジット・ルールを特定する情報及び該コンポジット・ルールの動作を特定するための値を含む、前記読み込むステップと、
該読み込んだルール定義に基づいて、ルールを第2の記憶部から取得するステップであって、前記ルールは、コンポジット・ルール、フィルター・ルール、エクストラクター・ルール及びアトミック・ルールを含む、前記取得するステップと、
前記取得したコンポジット・ルールに従い、下記ステップを制御するステップであって、
該ステップが、
前記取得したフィルター・ルールに従い、第3の記憶部に格納されたモデル要素全体から、検証対象である第1のモデル要素を絞り込むステップと、
前記取得したエクストラクター・ルールに従い、前記絞り込まれた第1のモデル要素と関連を有する第2のモデル要素を探索するステップと、
前記取得したアトミック・ルールに従い、前記モデルの品質を検証するステップ
を含む、前記制御するステップと、
前記モデルの品質の検証結果を表示するステップと
を実行することを含む、前記方法。
- コンピュータ・システムに、請求項15〜20のいずれか一項に記載の方法の各ステップを実行させるコンピュータ読み取り可能なコンピュータ・プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008251652A JP5243908B2 (ja) | 2008-09-29 | 2008-09-29 | モデルの品質を検証するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008251652A JP5243908B2 (ja) | 2008-09-29 | 2008-09-29 | モデルの品質を検証するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010086066A JP2010086066A (ja) | 2010-04-15 |
JP5243908B2 true JP5243908B2 (ja) | 2013-07-24 |
Family
ID=42250008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008251652A Expired - Fee Related JP5243908B2 (ja) | 2008-09-29 | 2008-09-29 | モデルの品質を検証するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5243908B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110865942B (zh) * | 2019-11-12 | 2022-11-04 | 中国航空无线电电子研究所 | 一种综合模块化航电系统的模型规则校验方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006018735A (ja) * | 2004-07-05 | 2006-01-19 | Hitachi Software Eng Co Ltd | コーディング規準遵守状況監視システム |
WO2006033159A1 (ja) * | 2004-09-24 | 2006-03-30 | Fujitsu Limited | 業務モデル図作成支援プログラム、方法、 及び装置 |
JP2006252314A (ja) * | 2005-03-11 | 2006-09-21 | Mitsubishi Electric Corp | ソフトウェア開発支援装置、ソフトウェア開発支援方法およびその方法をコンピュータに実行させるプログラム |
JP2007265005A (ja) * | 2006-03-28 | 2007-10-11 | Fujitsu Ltd | レビュー支援装置、レビュー支援方法、およびレビュー支援プログラム |
-
2008
- 2008-09-29 JP JP2008251652A patent/JP5243908B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010086066A (ja) | 2010-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Reussner et al. | Modeling and simulating software architectures: The Palladio approach | |
JP5174468B2 (ja) | 自動ビジネスプロセスアプリケーションを設計するための統合システム、ツールおよび方法 | |
US8429597B2 (en) | Software for integrated modeling of user interfaces with applications | |
US7861227B2 (en) | Software development environment with design specification validation tool | |
US7810069B2 (en) | Methods and systems for relating data structures and object-oriented elements for distributed computing | |
US9037595B2 (en) | Creating graphical models representing control flow of a program manipulating data resources | |
US20100131916A1 (en) | Software for modeling business tasks | |
US8683434B2 (en) | Generic method and system for lifecycle management | |
US9558296B2 (en) | Method for processing a graph containing a set of nodes | |
US20100153150A1 (en) | Software for business adaptation catalog modeling | |
JP2004171576A (ja) | 高速チップ管理システム | |
US20100153149A1 (en) | Software for model-based configuration constraint generation | |
US9052845B2 (en) | Unified interface for meta model checking, modifying, and reporting | |
CN110222106A (zh) | 集成的工作流和数据库事务 | |
US20090241088A1 (en) | Creating graphical models representing control flow of a program manipulating data resources | |
US8327320B2 (en) | Process model lean notation | |
Debois et al. | A case for declarative process modelling: Agile development of a grant application system | |
US20230086854A1 (en) | Dynamically controlling case model structure using case fragments | |
Blumöhr et al. | Variant configuration with SAP | |
EP2199905A1 (en) | Lifecycle management and consistency checking of object models using application platform tools | |
US9466037B2 (en) | Versioning and effectivity dates for orchestration business process design | |
JP5243908B2 (ja) | モデルの品質を検証するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム | |
US11947441B2 (en) | Visual testing of implemented product code from a codified user experience design | |
Woestenenk et al. | Capturing design process information in complex product development | |
CN115222345A (zh) | 一种审核作业方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110817 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130208 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20130213 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130213 |
|
TRDD | Decision of grant or rejection written | ||
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20130319 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20130319 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130319 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130405 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160412 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |