JP2008134938A - プログラム変換装置及びプログラム - Google Patents
プログラム変換装置及びプログラム Download PDFInfo
- Publication number
- JP2008134938A JP2008134938A JP2006322045A JP2006322045A JP2008134938A JP 2008134938 A JP2008134938 A JP 2008134938A JP 2006322045 A JP2006322045 A JP 2006322045A JP 2006322045 A JP2006322045 A JP 2006322045A JP 2008134938 A JP2008134938 A JP 2008134938A
- Authority
- JP
- Japan
- Prior art keywords
- conversion
- verification
- profile
- information
- system design
- 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.)
- Withdrawn
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】プラットフォームに依存しないシステム設計情報から、特定のプラットフォームに依存するシステム設計情報に変換する。
【解決手段】情報変換装置1は、プラットフォームに依存しない図式の変換前システム設計情報27を記憶する変換前記憶手段17と、プラットフォーム無依存情報と特定プラットフォーム依存情報との対応関係を含む図式の変換プロファイル35を記憶する変換プロファイル記憶手段19と、図式の変換前システム設計情報27を計算機言語式の変換前システム設計情報に変換し、図式の変換プロファイル35を計算機言語式の変換プロファイルに変換する図式・言語変換手段7と、計算機言語式の変換プロファイルに基づいて、計算機言語式の変換前システム設計情報を、特定プラットフォーム依存の計算機言語式の変換後システム設計情報に変換する変換処理手段14と、計算機言語式の変換後システム設計情報を記憶する変換後記憶手段を具備する。
【選択図】図1
【解決手段】情報変換装置1は、プラットフォームに依存しない図式の変換前システム設計情報27を記憶する変換前記憶手段17と、プラットフォーム無依存情報と特定プラットフォーム依存情報との対応関係を含む図式の変換プロファイル35を記憶する変換プロファイル記憶手段19と、図式の変換前システム設計情報27を計算機言語式の変換前システム設計情報に変換し、図式の変換プロファイル35を計算機言語式の変換プロファイルに変換する図式・言語変換手段7と、計算機言語式の変換プロファイルに基づいて、計算機言語式の変換前システム設計情報を、特定プラットフォーム依存の計算機言語式の変換後システム設計情報に変換する変換処理手段14と、計算機言語式の変換後システム設計情報を記憶する変換後記憶手段を具備する。
【選択図】図1
Description
本発明は、プラットフォームに依存しない情報を、特定のフラットフォームに依存する情報に変換する情報変換装置及びプログラムに関する。
MDA(Model Driven Architecture)は、OMG(Object Management Group)が推進しているシステムの開発手法である。MDAの概念で、プラットフォームの違いに左右されない設計はPIM(Platform-Independent Model)と呼ばれる。PIMでは、ビジネスをどのようにサポートするかの視点からシステムがモデリングされる。
PIMから変換してプラットフォームに特化・最適化された設計はPSM(Platform-Specific Model)と呼ばれる。
図25は、一般的なPIMからPSMへの変換機構の一例を示すブロック図である。
一般的に、PIMからPSMへの変換では、市販又は自作のツールが利用される。自作のツールは、モデルコンパイラと呼ばれる。変換ルールセットにしたがってPIMからPSMへの変換が変換ツールによって実行され、PIMからPSMが生成される。
PIMからPSMへ変換するためには、PIMが指定された設計規約に準拠して作成されている必要がある。また、変換されたPSMは、対象としている設計規約を満たしている必要がある。
図26は、PIM及びPSMの一般的な検証機構の一例を示すブロック図である。
PIM及びPSMの検証では、ツールの検証ツールが、検証ルールセットにしたがって、PIM及びPSMの中から、設計規約に準拠していない設計情報を検出し、誤った設計箇所を表示する。
上記図25及び図26の変換及び検証においては、特定の設計情報にあわせた変換ルールセット及び検証ルールセットを用意する必要がある。
このように、MDAという開発プロセスを導入することによって、以下の観点において種々の効果が期待される。例えば、「ソフトウェアの生産性」という観点では、特定のプラットフォームに依存しないシステムのモデリングや対象のソフトウェアのソースコードを自動的に生成することができる。
また、「ソフトウェアの品質」という観点では、MDAという開発プロセスの中で使用されるモデルコンパイラ(上記PIMからPSMに変換するためのコンパイラ)の中に備わっている検証機能により、設計情報のミスを確認することができ、人手によるコーディング結果に含まれる誤りコーディングがなくなる。
また、「技術者の分業化」という観点では、技術者の作業を「システムのモデリング作業」、「PIMからPSMへの変換ルールを作成する作業」、「PSMから対象のソフトウェアのソースコードをコーディングする作業」というように分業することができる。
また、「再利用」という観点では、モデリングした業務モデルや特定のプラットフォームを記述した変換ルールを用いて他のシステムモデリングなどに再利用することができる。
図式によるプログラム編集については、例えば、特許文献1(特開平05−11996号公報)、特許文献2(特開平08−55019号公報)に記載されている。
特開平05−11996号公報
特開平08−55019号公報
従来のPIM及びPSMに関する検証ルール及び変換ルールの開発では、検証ルールの仕様及び変換ルールの仕様が文書形式で定義され、ルール開発者によるハンドコーディングが行われる。このため、ルールのバリエーションを増やす場合に、現状の把握などが必要であり、労力及び時間がかかり、コストが大きくなる。
また、機能改善、不具合による検証ルール又は変換ルールの変更が必要な場合、仕様書又はソースの修正などの変更のために労力及び時間がかかり、コストが大きくなる。
変換ルールの開発では、変換前の設計情報の把握、及び変換後の設計情報の把握が困難であり、開発者は柔軟なルール開発を行うことが困難である。
本発明は、以上のような実情に鑑みてなされたもので、プラットフォームに依存しない変換前システム設計情報から、特定のプラットフォームに依存する計算機言語式の変換後システム設計情報に変換する機構の開発労力及び開発時間を削減し、開発コストを軽減する情報変換装置及びプログラムを提供することを目的とする。
上記課題は、プラットフォームに依存しない図式の変換前システム設計情報を記憶する変換前情報記憶手段と、プラットフォームに依存しないシステム設計情報と、特定のプラットフォームに依存するシステム設計情報との対応関係を含む変換ルールを示す図式の変換プロファイルを記憶する変換プロファイル記憶手段と、変換前情報記憶手段に記憶されている図式の変換前システム設計情報を計算機言語式の変換前システム設計情報に変換し、変換プロファイル記憶手段に記憶されている図式の変換プロファイルを計算機言語式の変換プロファイルに変換する図式・言語変換手段と、計算機言語式の変換プロファイルに基づいて、計算機言語式のシステム設計情報を、特定のプラットフォームに依存する計算機言語式の変換後システム設計情報に変換する変換処理手段と、計算機言語式の変換後システム設計情報を記憶する変換後情報記憶手段とを具備する情報変換装置により、解決される。
なお、上記の態様は、装置として表現されている。しかしながら、これに限らず、上記の態様は、方法、プログラム、コンピュータ読み取り可能な記録媒体などで表現されるとしてもよい。
本発明により、プラットフォームに依存しない変換前システム設計情報から、特定のプラットフォームに依存する計算機言語式の変換後システム設計情報に変換する機構の開発労力及び開発時間を削減し、開発コストを軽減することができる。
以下、図面を参照しながら本発明の実施の形態について説明する。なお、以下の各図において略同一の部分については同一の符号を付して説明を省略する。
(第1の実施の形態)
本実施の形態においては、変換前システム設計情報に加えて、変換ルール及び検証ルールについても図式(プロファイル)で定義可能な情報変換装置について説明する。
本実施の形態においては、変換前システム設計情報に加えて、変換ルール及び検証ルールについても図式(プロファイル)で定義可能な情報変換装置について説明する。
図1は、本実施の形態に係る情報変換装置の構成の一例を示すブロック図である。
情報変換装置1は、モデルコンパイラ2、モデリング部3、作成部4、プロファイル処理機構5を具備する。
モデルコンパイラ2、モデリング部3、作成部4、プロファイル処理機構5は、記録媒体に記録されているプログラムが計算機によって読み出され、計算機のプロセッサがプログラムにしたがって動作することにより実現されるとしてもよい。
情報変換装置1は、複数の計算機が互いに連携して実現されるとしてもよい。例えば、情報変換装置1は、モデルコンパイラ2及びプロファイル処理機構5として機能する計算機、モデリング部3として機能する計算機、作成部4として機能する計算機が、ネットワークにより接続されて構成されるとしてもよい。
さらに、プロファイル処理機構5は、定義部6、図式・言語変換部7と言語・図式変換部8とを含む形式変換部9、検証解析部10及び変換解析部11を含む解析部12、検証処理部13及び変換処理部14を含む処理部15、エラー検出部16を具備する。
情報変換装置1は、変換前情報記憶装置17、検証プロファイル記憶装置18、変換プロファイル記憶装置19、検証ライブラリ記憶装置20、変換ライブラリ記憶装置21、検証ライブラリマップ記憶装置22、変換ライブラリマップ記憶装置23、変換後情報記憶装置24、エラー記憶装置25を具備する。
なお、本実施の形態において、モデルコンパイラ2とプロファイル処理機構5との間でのデータのやり取りは、記憶装置への書き込みと読み出しとにより行われるとしてもよい。また、形式変換部9、解析部12、処理部15、エラー検出部16の間でのデータのやり取りについても、記憶装置への書き込みと読み出しとにより行われるとしてもよい。
本実施の形態において、モデルコンパイラ2は、プロファイル処理機構5と連携して動作する。
モデリング部3は、図式によるPIM作成ツールであり、PIM作成ユーザ26によって作成された図式のシステム設計情報である図式PIM27を変換前情報記憶装置17に記憶する。
ここで、システム設計情報は、オブジェクトの内容、データ構造の内容、プログラムの内容などを特定する各種の設計情報を含む。
作成部4は、検証処理部13の検証処理で用いられる検証プログラムを含む検証ライブラリ28、及び、変換処理部14の変換処理で用いられる変換プログラムを含む変換ライブラリ29の作成ツールであり、プログラム作成ユーザ30によって作成された検証ライブラリ28を検証ライブラリ記憶装置20に記憶し、変換ライブラリ29を変換ライブラリ記憶装置21に記憶する。
検証ライブラリ28及び変換ライブラリ29は、例えば、XSLT(XML Stylesheet Language Transformations)などで書かれたXML(Extensible Markup Language)データを処理するための実行プログラムを含むとする。検証ライブラリ28の検証プログラムは、検証ルールにそって作成されている。変換ライブラリ29の変換プログラムは、変換ルールにそって作成されている。
検証ライブラリ28は、入力された言語式PIM及び言語式PSMの検証を行う検証プログラムを含み、変換ライブラリ29は、入力された言語式PIMを、言語式PSMに変換するための変換プログラムを含む。
作成部4は、プロファイル処理機構5の検証処理部13から呼び出される検証ライブラリ28の検証プログラム間の依存関係や、検証対象となる設計情報などを保持する検証ライブラリマップ31の作成ツールとして機能し、プログラム作成ユーザ30によって作成された検証ライブラリマップ31を検証ライブラリマップ記憶装置22に記憶する。
さらに、作成部4は、プロファイル処理機構5の変換処理部14から呼び出される変換ライブラリ29の変換プログラム間の依存関係や、変換対象となる設計情報などを保持する変換ライブラリマップ32の作成ツールとして機能し、プログラム作成ユーザ30によって作成された変換ライブラリマップ32を変換ライブラリマップ記憶装置23に記憶する。
プロファイル処理機構5は、入力した検証プロファイル33及び変換プロファイル35を解析し、検証・変換を行う。
プロファイル処理機構5の定義部8は、PIM及びPSMの記述において満たされるべき条件を含む設計ルール・設計規約を示す図式の検証プロファイル33の定義ツールであり、プロファイル定義ユーザ34によって定義された図式の検証プロファイル33を検証プロファイル記憶装置18に記憶する。
さらに、定義部8は、プラットフォームに依存しないPIMと特定のプラットフォームに特化したPSMとの対応関係を含む変換ルール・変換仕様を示す図式の変換プロファイル35の定義ツールであり、プロファイル定義ユーザ34によって定義された図式の変換プロファイル35を変換プロファイル記憶装置19に記憶する。
形式変換部9の図式・言語変換部7は、図式PIM27、図式で描かれた検証プロファイル33、図式で描かれた変換プロファイル35を、例えばXMLデータなどの計算機言語で記述された言語式PIM、言語式検証プロファイル、言語式変換プロファイルに変換する。
形式変換部9の言語・図式変換部8は、変換処理部14によって得られた言語式PSMを、図式で描かれた図式PSM36に変換する。
形式変換部9としては、例えば、UML(Unified Modeling Language)エディタなどを用いることができる。この場合、形式変換部9は、UMLダイアグラムからXMLへの変換、及び、XMLからUMLダイアグラムへの変換を行う。
解析部28の検証解析部10及び変換解析部11は、それぞれ入力された言語式検証プロファイル及び言語式変換プロファイルを解析する。
検証処理部13は、解析部28による解析によって得られた解析結果データを受け取り、検証ライブラリ28に対する呼び出しを行い、検証ライブラリマップ31を参照し、検証ライブラリマップ31の内容にそって呼び出された検証プログラムを実行する。
変換処理部14は、解析部28による解析によって得られた解析結果データを受け取り、変換ライブラリ29に対する呼び出しを行い、変換ライブラリマップ32を参照し、変換ライブラリマップ32の内容にそって呼び出された変換プログラムを実行する。
エラー検出部16は、検証解析部10及び変換解析部11、検証処理部13、変換処理部14においてエラーが検出されている場合に、エラー検出結果データ37を作成する。
モデルコンパイラ2は、変換前情報記憶装置17に記憶されている図式PIM27、検証プロファイル記憶装置18に記憶されている検証プロファイル33、変換プロファイル記憶装置19に記憶されている変換プロファイル35を入力し、変換後情報記憶装置24に図式PSM36を記憶し、エラー記憶装置25にエラー検出結果データ37を記憶する。
すなわち、モデルコンパイラ2は、プロファイル処理機構5と連携動作し、形式変換部9によって得られた言語式検証プロファイル及び言語式変換プロファイルの内容にしたがって、図式PIM27から図式PSM36への変換を行い、図式PSM36を変換後情報記憶装置24に記憶し、エラーが検出された場合にはエラー検出部16によって作成されたエラー検出結果データ37をエラー記憶装置25に記憶する。
図2は、図式・言語変換部7による検証プロファイル33から言語式検証プロファイルへの変換の一例を示す図である。
この図2の例では、図式で定義された設計規約である検証プロファイル33が、XMLデータで表現された言語式検証プロファイル38に変換される。言語式検証プロファイル38は、検証解析部10による解析対象となる。
なお、図式・言語変換部7による変換プロファイル35から言語式変換プロファイルへの変換も同様である。さらに、言語・図式変換部8による言語式PSMから図式PSM36への変換は、この図2の例の逆の変換が行われる。
図3は、プロファイル処理機構5の動作の内容と各種情報との関係との一例を示すフローチャートである。
ステップS1において、定義部6は、個々の設計情報の有無や関係、設計情報の持つパラメータの条件などを記述してありシステム設計規約が定義されている図式の検証プロファイル33を受け付け、検証プロファイル記憶装置18に記憶する。同様に、定義部6は、変換対象となる設計情報と変換後の設計情報とを対で記述しており複数の変換対象の設計情報、複数の変換後の設計情報を記述可能であり変換時に呼び出すプログラムを記述した図式の変換プロファイル35を変換プロファイル記憶装置19に記憶する。
ステップS2において、図式・言語変換部7は、図式の検証プロファイル33、変換プロファイル35、図式PIM17を、それぞれ言語式検証プロファイル、言語式変換プロファイル、言語式PIMに変換する。
ステップS3において、解析部12は、言語式検証プロファイル及び言語式変換プロファイルを解析する。
ステップS4において、処理部15は、解析結果に基づいて、検証ライブラリ28、変換ライブラリ29の呼び出し、検証ライブラリマップ31、変換ライブラリマップ32の参照を行い、言語式PIMに対する検証処理及び変換処理を実行する。
ステップS5において、エラー検出部16は、解析部12による解析処理、検証処理部13の検証処理、変換処理部14の変換処理においてエラーが検出されているか判断する。
エラーが検出された場合、ステップS6において、エラー検出部16は、エラー検出結果データ37を作成する。
エラーが検出されていない場合、ステップS7において、言語・図式変換部8は、処理部15によって得られた言語式PSMを図式PSM36に変換する。
以下に、具体例を用いて、本実施の形態に係る情報変換装置1の構成を説明する。
図4は、検証プロファイル33の定義の一例を示す図である。
検証プロファイル33では、例えばクラスなどの個々の設計情報、設計情報の持つパラメータの条件・型、設計情報の関連などが、例えばXML言語、XSLTなどの計算機言語にしたがって図式で定義されている。
図5は、変換プロファイル35の定義の一例を示す図である。この図5の例では、プロセス用変換定義とエンティティ用変換定義とが含まれている。
変換プロファイル35では、変換対象のモデルと、この変換対象の設計情報に対応する変換後のモデルとが図式で定義される。変換プロファイル35は、変換処理部14によって変換されたモデルの検証にも利用される。
また、変換プロファイル35では、予め変換ライブラリ29に用意されており、変換時に呼び出され、変換に用いられるプログラム名が記述されている。
例えば、検証解析部10は、個々の設計情報の有無や関係、設計情報の持つパラメータの条件を取得し、解析結果データを作成する。
変換解析部11は、変換対象となる設計情報と変換後の設計情報、及び記述されている変換時に呼び出すプログラム名を取得し、解析結果データを作成する。
検証ライブラリ28は、入力された言語式PIMの検証を行う実行プログラムを含み、変換ライブラリ29は、入力された言語式PIMの変換を行うプログラム、及び変換処理部14によって変換された言語式PSMの検証を行う実行プログラムを含む。
図6は、検証ライブラリマップ31の内容の一例を示す図である。
この図6の例において、検証ライブラリマップ31は、検証ライブラリ28に格納されているプログラムのプログラム名、このプログラムによる検証の対象、検証プログラム(検証ルール)間の依存関係(例えば、あるプログラム実行後に他のプログラムを実行する、あるプログラムが正常終了している、など)を規定している。
検証処理部13は、検証解析部10の解析結果データから、言語式PIMの検証対象に対して、検証ライブラリ28を呼び出し、検証処理を行う。検証処理部13は、検証ライブラリ28を呼び出す際に、検証ライブラリマップ31を参照し、プログラム間の依存関係などから検証対象の整合をチェックする。
図7は、変換ライブラリマップ32の内容の一例を示す図である。
この図7の例において、変換ライブラリマップ32は、変換ライブラリ29に格納されているプログラムのプログラム名、このプログラムによる変換の対象、変換プログラム(変換ルール)間の依存関係を規定している。
変換処理部14は、変換解析部11の解析結果データから、言語式PIMの変換対象に対して、変換ライブラリ29を呼び出し、変換処理を行う。変換処理部14は、変換プログラムの実行結果と解析結果データの変換後の設計情報との整合をチェックする。さらに、変換処理部14は、変換ライブラリ32を呼び出す際に、変換ライブラリマップ32を参照し、プログラム間の依存関係などから変換対象の整合をチェックする。
図8は、エラー検出結果データ37の第1の例を示すブロック図である。
エラー検出部16は、例えば、検証プロファイル33又は変換プロファイル35に誤りが発見された場合には、プロファイルエラーを表す表示用のエラー検出結果データ37を作成する。
図9は、エラー検出結果データ37の第2の例を示すブロック図である。
エラー検出部16は、例えば、PIMの設計情報に誤りが発見された場合には、設計情報エラーを表す表示用のエラー検出結果データ37を作成する。
以上説明した本実施の形態においては、変換ルール及び検証ルールの開発が図式定義で実現され、変換ルール及び検証ルールの柔軟な開発・管理・保守を実現でき、開発・管理・保守のコストを削減できる。例えば、開発・管理・保守の担当者が変更する場合であっても円滑に作業を引き継ぐことができる。
また、本実施の形態においては、図式定義により変換ルール及び検証ルールを開発することができ、定義シートを柔軟に作成することができ、システム設計情報の生産性を向上させることができる。
また、本実施の形態においては、プロファイル定義をベースとした検証ルール、変換ルールの開発による設計情報の信頼性を向上させることができる。
本実施の形態においては、検証プロファイル33及び変換プロファイル35の検証のみではなく、変換後のPSMについても検証が行われるため、変換後のPSMが設計規約を満たしているか確認することができる。
本実施の形態においては、ルールのバリエーションを増やす場合に、現状の把握などを容易に行うことができ、現状把握の労力及び時間を削減できる。
本実施の形態においては、変換ルールの開発のために行う変換前の設計情報の把握、及び変換後の設計情報の把握が容易となり、開発者は柔軟なルール開発を行うことができる。
なお、本実施の形態において、情報変換装置1は、図式PSM36に代えて、言語式PSMを変換結果として記憶するとしてもよい。
(第2の実施の形態)
本実施の形態においては、上記第1の実施の形態の変形例であり、検証解析部10及び検証処理部13に、図式・言語変換部7の機能が組み込まれている態様の情報変換装置について説明する。
本実施の形態においては、上記第1の実施の形態の変形例であり、検証解析部10及び検証処理部13に、図式・言語変換部7の機能が組み込まれている態様の情報変換装置について説明する。
図10は、本実施の形態に係る情報変換装置による検証処理の一例を示すフローチャートである。
ステップT1,T2において、作成部4は、検証ライブラリ28と検証ライブラリマップ31とを記憶する。
ステップT3において、モデルコンパイラ2は、検証プロファイル33を読み込む。
ステップT4において、検証解析部39は、検証プロファイル12を言語式の検証プロファイルに変換し、言語式の検証プロファイルを解析する。
ステップT5において、検証解析部39は、言語式の検証プロファイルのデータ構造が妥当か否か判断する。
言語式の検証プロファイルのデータ構造が妥当でない場合、処理はステップT13に移る。
言語式の検証プロファイルのデータ構造が妥当である場合、ステップT6において、検証解析部39は、言語式の検証プロファイルの解析結果データを作成する。
ステップT7において、検証解析部39は、言語式の検証プロファイルと検証ライブラリマップ31とに基づいて、実行する検証プログラムを列挙する。
ステップT8において、モデルコンパイラ2は、検証対象である図式PIM27を読み込む。
ステップT9において、検証処理部40は、図式PIM27を言語式PIMに変換し、言語式PIMと言語式の検証プロファイルとのマッチングを行う。
ステップT10において、検証処理部40は、言語式PIMの中に、言語式の検証プロファイルにおいて定義されている情報に該当する設計情報があるか判断する。
言語式PIMの中に、言語式の検証プロファイルにおいて定義されている情報に該当する設計情報がない場合、処理は終了する。
言語式PIMの中に、言語式の検証プロファイルにおいて定義されている情報に該当する設計情報がある場合、ステップT11において、検証処理部40は、言語式PIMの設計情報に対して、検証プログラムを実行する。
ステップT12において、検証処理部40は、検証結果が妥当か否か判断する。
検証結果が妥当な場合、処理は、ステップT10に戻る。検証結果が妥当でない場合、処理は、ステップT13に移る。
ステップT13において、エラー検出部16は、ステップT5において妥当でないと判断された場合には、プロファイルエラー発生を表し、ステップT12において妥当でないと判断された場合には、設計情報エラー発生を表すエラー検出結果データ37を作成し、必要に応じて表示する。
図11は、検証解析部39の第1段階の処理内容の一例を示す図である。
検証解析部39は、定義部6によって定義された図式の検証プロファイル33を、言語式の検証プロファイル38に変換し、言語式の検証プロファイル38を解析し、各データを抽出する。例えば、検証解析部39は、言語式の検証プロファイル38から、モデル構成要素の関係、モデル構成要素のパラメータ、モデル構成要素のパラメータの条件を順に抽出する。
図12は、検証解析部39の第2段階の処理内容の一例を示す図である。
解析結果データ41は、検証の対象、各要素との関連、パラメータとその型、パラメータ条件から構成されている。
検証解析部39は、抽出されたデータを含む解析結果データ41について、パラメータとパラメータ型との検証を行う。例えば、パラメータの型は整数であるが、パラメータ条件は文字列である場合など、条件を満たしていない場合には、エラー内容がエラー検出部16に通知される。
図13は、検証解析部39の第3段階の処理内容の一例を示す図である。
検証解析部39は、解析結果データ41と検証ライブラリマップ31とに基づいて、実行する検証プログラムを列挙し、解析結果データ41を更新する。例えば、実行される検証プログラムは、検証ライブラリマップ31の検証対象に基づいて列挙される。列挙された検証プログラムは、検証ライブラリマップ31の依存関係に基づいて、優先度が決定される。
検証処理が実行される場合には、テーブルの上位の検証プログラムから実行されるため、必要であれば並び替えが行われる。
図14及び図15は、検証処理部39の処理内容の一例を示す図である。
検証処理部40は、図式PIM17を言語式PIM42に変換し、言語式PIM42から検証プロファイル33の解析結果データ41に記述されている検証対象となる設計情報を抽出し、抽出された設計情報の全てに対して、解析結果データ41において対応付けられている検証プログラムを実行し、パラメータ条件を満たしているか検証する。検証処理部40は、設計情報がパラメータ条件を満たしていない場合、エラー内容をエラー検出部16に通知する。
図16は、プロファイルエラーを表すエラー検出結果データ37の一例を示す図である。
エラー検出部16は、検証解析部39から通知された検証プロファイルエラーを表す表示用のエラー検出結果データ37を作成し、表示する。プロファイルエラーとしては、例えば、パラメータの型とパラメータの条件とが一致していない場合(パラメータ「dependency_num」はint型であるが、パラメータ条件はString型で定義されている場合)がある。
図17は、設計情報エラーを表すエラー検出結果データ37の一例を示す図である。
エラー検出部16は、検証処理部40から通知された言語式PIM42の設計情報エラーを表す表示用のエラー検出結果データ37を作成し、表示する。設計情報エラーとしては、例えば、設計情報がパラメータ条件を満たさない場合(操作「Operation」を定義できないのに言語式PIM42中で定義されている場合、依存線「Dependency」のクライアントにはprocessクラスを定義できないのに言語式PIM42中で定義されている場合)がある。
(第3の実施の形態)
本実施の形態においては、上記第1又は第2の実施の形態の変形例であり、変換解析部11及び変換処理部14に、図式・言語変換部7の機能が組み込まれている態様の情報変換装置について説明する。
本実施の形態においては、上記第1又は第2の実施の形態の変形例であり、変換解析部11及び変換処理部14に、図式・言語変換部7の機能が組み込まれている態様の情報変換装置について説明する。
図18は、本実施の形態に係る情報変換装置による変換処理の一例を示すフローチャートである。
ステップU1,U2において、作成部4は、変換ライブラリ29と変換ライブラリマップ32とを記憶する。
ステップU3において、モデルコンパイラ2は、変換プロファイル35を読み込む。
ステップU4において、変換解析部43は、変換プロファイル35を言語式の変換プロファイルに変換し、言語式の変換プロファイルを解析する。
ステップU5において、変換解析部43は、言語式の変換プロファイルのデータ構造が妥当か否か判断する。
言語式の変換プロファイルのデータ構造が妥当でない場合、処理はステップU15に移る。
言語式の変換プロファイルのデータ構造が妥当である場合、ステップU6において、変換解析部43は、言語式の変換プロファイルの解析結果データを作成する。
ステップU7において、変換解析部43は、言語式の変換プロファイルと変換ライブラリマップ32とから、実行する変換プログラムを列挙する。
ステップU8において、モデルコンパイラ2は、変換対象である図式PIM27を読み込む。
ステップU9において、変換処理部44は、図式PIM27を言語式PIMに変換し、言語式PIMと言語式の変換プロファイルとのマッチングを行う。
ステップU10において、変換処理部44は、言語式PIMの中に、言語式の変換プロファイルにおいて定義されている情報に該当する設計情報があるか判断する。
言語式PIMの中に、言語式の変換プロファイルにおいて定義されている情報に該当する設計情報がない場合、処理は終了する。
言語式PIMの中に、言語式の検証プロファイルにおいて定義されている情報に該当する設計情報がある場合、ステップU11において、変換処理部44は、言語式PIMの設計情報に対して、変換プログラムを実行する。
ステップU12において、変換処理部44は、言語式PSMを作成する。
ステップU13において、変換処理部44は、言語式PSMと言語式の変換プロファイルとの間で妥当性を検証する。
ステップU14において、変換処理部44は、変換によって得られた言語式PSMが妥当か否か判断する。
言語式PSMが妥当な場合、処理は、ステップU10に戻る。言語式PSMが妥当でない場合、処理は、ステップU15に移る。
ステップU15において、エラー検出部16は、ステップU5において妥当でないと判断された場合には、プロファイルエラーを表し、ステップU14において妥当でないと判断された場合には、設計情報エラーを表すエラー検出結果データ37を作成し、必要に応じて表示する。
図19は、変換解析部43の第1段階の処理内容の一例を示す図である。
変換解析部43は、定義部6によって定義された図式の変換プロファイル35を、言語式の変換プロファイル45に変換し、言語式の検証プロファイル45を解析し、各データを抽出する。例えば、変換解析部43は、言語式の変換プロファイル45から、変換対象モデル、変換後モデル、実行する変換プログラムを順に抽出する。
図20は、変換解析部43の第2段階の処理内容の一例を示す図である。
変換解析部43は、抽出されたデータを表す解析結果データ46に対する検証を行う。例えば、解析結果データ46に記述されている実行する変換プログラムが変換ライブラリマップ32中に存在するか、解析結果データ46に記述されている実行する変換プログラムで変換対象とされるデータが変換ライブラリマップ32と一致しているかなど、条件を満たしていない(変換における検証結果が妥当でない)場合には、エラー内容がエラー検出部16に通知される。
解析結果データ46では、変換対象モデル(変換前モデル)について、対象とパラメータが定義されており、変換後モデルについて、対象とパラメータが定義されており、実行する変換プログラムについて、通常の変換に用いられる変換用プログラムと変換後のデータの検証に用いられる検証用プログラムとが定義されている。
図21は、変換解析部43の第3段階の処理内容の一例を示す図である。
変換解析部43は、解析結果データ46と変換ライブラリマップ32とに基づいて、実行する変換プログラムを列挙し、解析結果データ46を更新する。例えば、実行される変換プログラムは、変換ライブラリマップ32の対象に基づいて列挙される。列挙された変換プログラムは、検証ライブラリマップ32の依存関係に基づいて、優先度が決定される。
変換処理が実行される場合には、テーブルの上位の変換プログラムから実行されるため、必要であれば並び替えを行う。
図22及び図23は、変換処理部44の処理内容の一例を示す図である。
変換処理部44は、図式PIM17を言語式PIM42に変換し、言語式PIM42から変換プロファイル35の解析結果データ46に記述されている変換対象となる設計情報、パラメータ条件を満たす設計情報を抽出し、抽出された設計情報の全てに対して、解析結果データ46において対応付けられている変換用プログラムを実行する。
変換処理部44は、変換用プログラムの実行後に、検証用プログラムを実行し、変換結果の妥当性(例えば、変換後の設計情報が変換プロファイルの変換後モデルと一致するかなど)の検証を行う。変換処理部44は、変換後の設計情報が変換プロファイルのデータと一致していない場合、エラー内容をエラー検出部16に通知する。
図24は、変換処理において検出されるエラーを表すエラー検出結果データ37の一例を示す図である。
エラー検出部16は、変換処理部44から通知された変換処理におけるエラーを表す表示用のエラー検出結果データ37を作成し、表示する。
変換処理において検出されるエラーとしては、例えば、変換プロファイル35に記述されている変換プログラムが変換ライブラリマップ32中に存在しない場合、変換プロファイル35に記述されている変換プログラムの対象となるデータが変換ライブラリマップ29と一致していない場合、変換後の設計情報が変換プロファイル35と一致しない場合がある。
上記各実施の形態において、各種の構成要素は自由に組み合わせ又は分離することができる。例えば各種の記憶装置17〜23は、任意に組み合わせることができる。例えば、モデルコンパイラ2とプロファイル処理機構5とを組み合わせてもよい。解析部12の一部又は全部と処理部15の一部又は全部とを組み合わせてもよい。プロファイル処理機能5から定義部6を分離させてもよい。
1…情報処理装置、2…モデルコンパイラ、3…モデリング部、4…作成部、5…プロファイル処理機構、6…定義部、7…図式・言語変換部、8…言語・図式変換部、9…形式変換部、10,39…検証解析部、11,43…変換解析部、12…解析部、13,40…検証処理部、14,44…変換処理部、15…処理部、16…エラー検出部、17…変換前情報記憶装置、18…検証プロファイル記憶装置、19…変換プロファイル記憶装置、20…検証ライブラリ記憶装置、21…変換ライブラリ記憶装置、22…検証ライブラリマップ記憶装置、23…変換ライブラリマップ記憶装置、24…変換後情報記憶装置、25…エラー記憶装置、26…PIM作成ユーザ、27…図式PIM、28…検証ライブラリ、29…変換ライブラリ、30…プログラム作成ユーザ、31…検証ライブラリマップ、32…変換ライブラリマップ、33…検証プロファイル、34…プロファイル定義ユーザ、35…変換プロファイル、36…図式PSM、37…エラー検出結果データ、38…言語式検証プロファイル、41,46…解析結果データ、42…言語式PIM、45…言語式の変換プロファイル、47…言語式PSM
Claims (8)
- プラットフォームに依存しない図式の変換前システム設計情報を記憶する変換前情報記憶手段と、
プラットフォームに依存しないシステム設計情報と、特定のプラットフォームに依存するシステム設計情報との対応関係を含む変換ルールを示す図式の変換プロファイルを記憶する変換プロファイル記憶手段と、
前記変換前情報記憶手段に記憶されている前記図式の変換前システム設計情報を計算機言語式の変換前システム設計情報に変換し、前記変換プロファイル記憶手段に記憶されている前記図式の変換プロファイルを計算機言語式の変換プロファイルに変換する図式・言語変換手段と、
前記計算機言語式の変換プロファイルに基づいて、前記計算機言語式の変換前システム設計情報を、前記特定のプラットフォームに依存する計算機言語式の変換後システム設計情報に変換する変換処理手段と、
前記計算機言語式の変換後システム設計情報を記憶する変換後情報記憶手段と
を具備する情報変換装置。 - 請求項1記載の情報変換装置において、
前記計算機言語式の変換後システム設計情報を、図式の変換後システム設計情報に変換する言語・図式変換手段と、
前記言語・図式変換手段によって得られた前記図式の変換後システム設計情報を記憶する図式変換後情報記憶手段と
をさらに具備することを特徴とする情報変換装置。 - 請求項1又は請求項2記載の情報変換装置において、
前記変換処理手段で用いられる変換プログラムを持つ変換ライブラリを記憶する変換ライブラリ記憶手段と、
前記計算機言語式の変換プロファイルを解析する変換解析手段と
をさらに具備し、
前記変換処理手段は、前記変換解析手段によって解析された結果に基づいて、前記計算機言語式の変換前システム設計情報に対する変換処理で用いられる変換プログラムを呼び出し、前記計算機言語式の変換前システム設計情報を、前記計算機言語式の変換後システム設計情報に変換する
ことを特徴とする情報変換装置。 - 請求項3記載の情報変換装置において、
前記変換ライブラリの保持する変換プログラム間の依存関係を示す変換ライブラリマップを記憶する変換ライブラリマップ記憶手段をさらに具備し、
前記変換処理手段は、前記変換ライブラリマップの示す依存関係にしたがって呼び出された変換プログラムに基づいて、前記計算機言語式の変換前システム設計情報を、前記計算機言語式の変換後システム設計情報に変換する
ことを特徴とする情報変換装置。 - 請求項1乃至請求項4のいずれか1項に記載の情報変換装置において、
前記図式の変換前システム設計情報の記述において満たされるべき条件を含む設計ルールを示す図式の検証プロファイルを記憶する検証プロファイル記憶手段をさらに具備し、
前記図式・言語変換手段は、前記検証プロファイル記憶手段に記憶されている前記検証プロファイルを計算機言語式の検証プロファイルに変換し、
前記図式・言語変換手段によって得られた前記計算機言語式の検証プロファイルの示す設計ルールを、前記計算機言語式の変換前システム設計情報が満たしているか検証する検証処理手段をさらに具備する
ことを特徴とする情報変換装置。 - 請求項5記載の情報変換装置において、
前記検証処理手段で用いられる検証プログラムを持つ検証ライブラリを記憶する検証ライブラリ記憶手段と、
前記計算機言語式の検証プロファイルを解析する検証解析手段と
をさらに具備し、
前記検証処理手段は、前記変換解析手段によって解析された結果に基づいて、前記計算機言語式の変換前システム設計情報に対する検証処理で用いられる検証プログラムを呼び出し、この呼び出された前記検証プログラムに基づいて、前記設計ルールを、前記計算機言語式の変換前システム設計情報が満たしているか検証する
ことを特徴とする情報変換装置。 - 請求項6記載の情報変換装置において、
前記検証ライブラリの保持する検証プログラム間の依存関係を示す検証ライブラリマップを記憶する検証ライブラリマップ記憶手段をさらに具備し、
前記検証処理手段は、前記検証ライブラリマップの示す依存関係にしたがって呼び出された検証プログラムに基づいて、前記設計ルールを、前記計算機言語式の変換前システム設計情報が満たしているか検証する
ことを特徴とする情報変換装置。 - コンピュータを、
第1記憶装置に記憶されているプラットフォームに依存しない図式の変換前システム設計情報、及び、第2記憶装置に記憶されておりプラットフォームに依存しない情報と特定のプラットフォームに依存する情報との対応関係を含む変換ルールを示す図式の変換プロファイルとをアクセスし、前記図式の変換前システム設計情報を計算機言語式の変換前システム設計情報に変換し、前記変換プロファイルを計算機言語式の変換プロファイルに変換する図式・言語変換手段、
前記計算機言語式の変換プロファイルに基づいて、前記計算機言語式の変換前システム設計情報を、前記特定のプラットフォームに依存する計算機言語式の変換後システム設計情報に変換し、第3記憶装置に記憶する変換処理手段
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006322045A JP2008134938A (ja) | 2006-11-29 | 2006-11-29 | プログラム変換装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006322045A JP2008134938A (ja) | 2006-11-29 | 2006-11-29 | プログラム変換装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008134938A true JP2008134938A (ja) | 2008-06-12 |
Family
ID=39559743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006322045A Withdrawn JP2008134938A (ja) | 2006-11-29 | 2006-11-29 | プログラム変換装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008134938A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010072944A (ja) * | 2008-09-18 | 2010-04-02 | Hitachi Information Systems Ltd | 情報処理システムにおける設計品質検査の支援システム |
-
2006
- 2006-11-29 JP JP2006322045A patent/JP2008134938A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010072944A (ja) * | 2008-09-18 | 2010-04-02 | Hitachi Information Systems Ltd | 情報処理システムにおける設計品質検査の支援システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Grönninger et al. | Textbased modeling | |
KR100661393B1 (ko) | 웹 프로그래밍 환경을 응용한 웹사이트 관리 시스템 및방법 | |
Baudry et al. | Barriers to systematic model transformation testing | |
US8117589B2 (en) | Metadata driven API development | |
US6493661B1 (en) | Reusable multi-language support facility for software | |
Heidenreich et al. | Model-based language engineering with EMFText | |
JP2005196291A (ja) | ユーザインタフェースアプリケーション開発プログラム、および開発装置 | |
JP2007122135A (ja) | 開発支援装置、開発支援方法、および、開発支援プログラム | |
Grønmo et al. | Comparison of three model transformation languages | |
US20070198915A1 (en) | Document Processing Device And Document Processing Method | |
US20070208995A1 (en) | Document Processing Device and Document Processing Method | |
JP2007011507A (ja) | プログラムツリーの表示方法、およびプログラム生成システム | |
Bendisposto et al. | Developing Camille, a text editor for Rodin | |
Julius et al. | A meta-model based environment for GRAFCET specifications | |
JP2008134938A (ja) | プログラム変換装置及びプログラム | |
JP4848772B2 (ja) | プログラム生成装置およびプログラム生成プログラム | |
Koskinen et al. | Profile-based approach to support comprehension of software behavior | |
JP2007226358A (ja) | アプリケーション生成装置、アプリケーション生成方法、およびアプリケーション生成プログラム | |
Jovanovikj et al. | Model-driven test case migration: The test case reengineering horseshoe model | |
JP5556480B2 (ja) | 文脈違反検出支援方法、文脈違反検出支援装置、及び文脈違反検出支援プログラム | |
JP5050624B2 (ja) | ソフトウェア開発支援システム | |
Korva | Developing a web application with Angular 2: Graphical editor for Happywise’s Cove Trainer | |
Araújo et al. | Aspect-oriented compositions for dynamic behavior models | |
Li et al. | Automated transformations from UML behavior models to contracts | |
US20160162384A1 (en) | Apparatus and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100202 |