JP5111308B2 - Model-oriented development support device, model-oriented development support method, and model-oriented development support program - Google Patents
Model-oriented development support device, model-oriented development support method, and model-oriented development support program Download PDFInfo
- Publication number
- JP5111308B2 JP5111308B2 JP2008228590A JP2008228590A JP5111308B2 JP 5111308 B2 JP5111308 B2 JP 5111308B2 JP 2008228590 A JP2008228590 A JP 2008228590A JP 2008228590 A JP2008228590 A JP 2008228590A JP 5111308 B2 JP5111308 B2 JP 5111308B2
- Authority
- JP
- Japan
- Prior art keywords
- model
- storage unit
- stored
- model element
- unit
- 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
本発明は、モデル指向開発による設計及び開発を支援するモデル指向開発支援装置、モデル指向開発支援方法及びモデル指向開発支援プログラムに関する。 The present invention relates to a model-oriented development support apparatus, a model-oriented development support method, and a model-oriented development support program that support design and development by model-oriented development.
近年、標準化されたモデリング手法(モデル駆動型アーキテクチャ、MDA(Model-Driven Architecture))に基づいてソフトウェアシステムを開発するモデル指向開発が行われている。このようなモデル指向開発では、開発対象のソフトウェアシステムが備えるプログラムの機能をUML(Unified Modeling Language)などに基づいてモデル化して表す。そして、要件に応じて抽象的に記述された上流工程モデルを、予め定められたモデル変換ルールに従って段階的に下流工程モデルに変換し、ソースコードを自動生成する。このようなモデル変換では、いずれかの工程のモデル要素、またはモデル変換ルールなどが変更された場合には、以下の工程の全てのモデル変換を再度行う必要があった。
そこで、特許文献1には、ジェネレータ手段が、モデル要素を所定単位毎に分割してモデル変換時にバージョンを付与しておき、再度のモデル変換の際にはバージョンの異なるモデル要素のみをモデル変換し、更新することで効率よく再モデル変換を行う技術が提案されている。
Therefore, in
しかしながら、上流工程のモデル要素に基づいてモデル変換され生成された下流工程のモデル要素は、ジェネレータ手段によりモデル変換された後に、ユーザーから入力される操作情報に応じて微調整が行われたり追加情報が付加されたりする場合がある。下流工程のモデル要素にこのような情報更新が行われた場合には、ジェネレータ手段によるバージョンが付与されない。このため、ユーザーから入力される操作情報に基づくモデル要素の変更があった後にジェネレータ手段により再度のモデル変換が行われる場合には、ユーザーから入力された操作情報に基づく変更が上書きされ失われてしまうこととなる。 However, the model element of the downstream process generated by the model conversion based on the model element of the upstream process is subjected to the model conversion by the generator means, and then finely adjusted according to the operation information input from the user or additional information May be added. When such information update is performed on the model element in the downstream process, the version by the generator means is not given. For this reason, when the model conversion is performed again by the generator means after the change of the model element based on the operation information input from the user, the change based on the operation information input from the user is overwritten and lost. Will end up.
本発明は、このような状況に鑑みてなされたもので、ユーザーからの操作情報に応じたモデル要素の変更が行われたか否かに基づいたモデル変換を行うことを可能とするモデル指向開発支援装置、モデル指向開発支援方法及びモデル指向開発支援プログラムを提供するものである。 The present invention has been made in view of such circumstances, and is model-oriented development support that enables model conversion based on whether or not a model element has been changed according to operation information from a user. An apparatus, a model-oriented development support method, and a model-oriented development support program are provided.
上述した課題を解決するために、本発明は、開発対象であるソフトウェアシステムを構成する各機能をモデル化した各モデル要素を、抽象概念により表す上流工程から、ソースコードにより表す下流工程までの複数工程に階層化して行うソフトウェアシステムの設計および開発を支援するモデル指向開発支援装置であって、複数工程のうち第1の工程に含まれる各モデル要素と、第1の工程に対応する下流工程となる第2の工程に含まれる各モデル要素と、それぞれのモデル要素毎に、モデル要素が記憶された日時を示す更新日時とが予め記憶されているモデル記憶部と、第1の工程に含まれる各モデル要素が複製されたコピーモデルが記憶されるコピーモデル記憶部と、第1の工程の各モデル要素に基づいて、第2の工程の各モデル要素を生成するモデル変換要求の入力を受付ける入力部と、入力部にモデル変換要求が入力されると、第1の工程の各モデル要素を複製してコピーモデル記憶部に記憶させるモデル複製部と、予め定められたモデル変換ルールに基づいて、コピーモデル記憶部に記憶された第1の工程の各モデル要素に応じた第2の工程の各モデル要素を生成してコピーモデル記憶部に記憶させ、かつ、第1の工程の各モデル要素を識別する上流モデル要素識別情報と、第1の工程の各モデル要素に基づいて生成した第2の工程のモデル要素を識別する下流モデル要素識別情報と、第2の工程のモデル要素を生成した日時を示す更新日時とが対応付けられたトレース要素を生成するモデル要素変換部と、モデル要素変換部が生成したトレース要素が記憶されるトレース要素記憶部と、モデル要素変換部に生成され、コピーモデル記憶部に記憶された第2の工程の各モデル要素の内容と、モデル記憶部に記憶された第2の工程の各モデル要素の内容とを比較し、内容が異なるか否かを判定するモデル内容比較部と、モデル内容比較部が、内容が異なると判定した場合、モデル記憶部に記憶された第1の工程の各モデル要素の更新日時と、第2の工程の各モデル要素の更新日時と、モデル要素に対応するトレース要素に含まれる更新日時とを比較し、更新日時が異なるか否かを判定する更新日時比較部と、更新日時比較部が、更新日時が異なると判定した場合、予め定められた手順に基づいて、コピーモデル記憶部に記憶された各モデル要素と、モデル記憶部に記憶されたモデル要素とを統合してモデル記憶部に記憶させるモデル更新部と、を備えることを特徴とする。
In order to solve the above-described problem, the present invention provides a plurality of model elements obtained by modeling each function constituting a software system to be developed from an upstream process represented by an abstract concept to a downstream process represented by a source code. A model-oriented development support apparatus that supports design and development of a software system that is performed in a hierarchy of processes, each model element included in the first process among a plurality of processes, and a downstream process corresponding to the first process, Each model element included in the second step and a model storage unit that stores an update date and time indicating the date and time when the model element is stored for each model element are included in the first step. Based on each model element in the first step based on each model element in the first step, a copy model storage unit in which a copy model in which each model element is duplicated is stored. An input unit that accepts an input of a model conversion request to be formed; a model duplication unit that duplicates each model element of the first step and stores the model element in the copy model storage unit when the model conversion request is input to the input unit; Generating each model element of the second step corresponding to each model element of the first step stored in the copy model storage unit based on the determined model conversion rule, and storing it in the copy model storage unit; and Upstream model element identification information for identifying each model element in the first step, downstream model element identification information for identifying a model element in the second step generated based on each model element in the first step, A model element conversion unit that generates a trace element that is associated with an update date and time that indicates the date and time when the model element of
また、本発明は、更新日時比較部が、更新日時が異なると判定した場合、モデル要素に記憶されたモデル要素と、コピーモデル記憶部に記憶されたモデル要素のいずれのモデル要素を優先してモデル要素を統合するかを示す統合手順が記憶される統合手順記憶部と、
モデル更新部は、統合手順記憶部に記憶されている統合手順に基づいて、コピーモデル記憶部に記憶された各モデル要素と、モデル記憶部に記憶されたモデル要素とを統合してモデル記憶部に記憶させることを特徴とする。
In the present invention, when the update date and time comparison unit determines that the update date and time are different, the model element stored in the model element and the model element stored in the copy model storage unit are given priority. An integrated procedure storage unit that stores an integration procedure indicating whether to integrate model elements;
The model update unit integrates each model element stored in the copy model storage unit and the model element stored in the model storage unit based on the integration procedure stored in the integration procedure storage unit. It is memorized in.
また、本発明は、入力部は、モデル記憶部に記憶されたモデル要素の内容を変更する変更情報の入力を受付け、入力部に入力される変更情報に応じて、モデル記憶部に記憶されたモデル要素の内容を変更し、モデル要素に対応する更新日時として変更を行った日時を対応付けてモデル記憶部に記憶させるモデル編集部と、を備えることを特徴とする。 Further, according to the present invention, the input unit accepts input of change information for changing the content of the model element stored in the model storage unit, and is stored in the model storage unit according to the change information input to the input unit. A model editing unit that changes the content of the model element and associates and stores the date and time of the change as the update date and time corresponding to the model element in the model storage unit.
また、本発明は、統合手順記憶部には、モデル記憶部に記憶された各モデル要素と、モデル要素に対応するトレース要素の存在の有無又はそれぞれの更新日時の異同に基づいて定められた条件に応じて統合手順が記憶され、モデル更新部は、各モデル要素の全てについて、モデル要素に対応するトレース要素の存在の有無又はそれぞれの更新日時の異同が条件に一致するか否かを判定し、全て一致すれば、予め定められた手順に基づいてコピーモデル記憶部に記憶された各モデル要素と、モデル記憶部に記憶されたモデル要素とを統合し、一致しないモデル要素が存在すれば、入力部に入力されるモデル要素の変更情報に応じて統合を行うことを特徴とする。 In the integrated procedure storage unit, the present invention provides a condition determined based on the presence or absence of each trace element corresponding to the model element and the update date / time of each model element stored in the model storage unit. The model update unit determines whether or not there is a trace element corresponding to the model element or whether each update date / time matches the condition for each model element. If they all match, each model element stored in the copy model storage unit based on a predetermined procedure and the model element stored in the model storage unit are integrated, and if there is a model element that does not match, The integration is performed according to the change information of the model element input to the input unit.
また、本発明は、開発対象であるソフトウェアシステムを構成する各機能をモデル化した各モデル要素を、抽象概念により表す上流工程から、ソースコードにより表す下流工程までの複数工程に階層化して行うソフトウェアシステムの設計および開発を支援し、複数工程のうち第1の工程に含まれる各モデル要素と、第1の工程に対応する下流工程となる第2の工程に含まれる各モデル要素と、それぞれのモデル要素毎に、モデル要素が記憶された日時を示す更新日時とが予め記憶されているモデル記憶部と、第1の工程に含まれる各モデル要素が複製されたコピーモデルが記憶されるコピーモデル記憶部と、第1の工程に含まれる各モデル要素に対応する第2の工程に含まれる各モデル要素との関連性を示すトレース要素が記憶されるトレース要素記憶部とを備えるモデル指向開発支援装置を用いたモデル指向開発支援方法であって、入力部が、第1の工程の各モデル要素に基づいて、第2の工程の各モデル要素を生成するモデル変換要求の入力を受付けるステップと、
モデル複製部が、入力部にモデル変換要求が入力されると、第1の工程の各モデル要素を複製してコピーモデル記憶部に記憶させるステップと、モデル要素変換部が、予め定められたモデル変換ルールに基づいて、コピーモデル記憶部に記憶された第1の工程の各モデル要素に応じた第2の工程の各モデル要素を生成してコピーモデル記憶部に記憶させ、かつ、第1の工程の各モデル要素を識別する上流モデル要素識別情報と、第1の工程の各モデル要素に基づいて生成した第2の工程のモデル要素を識別する下流モデル要素識別情報と、第2の工程のモデル要素を生成した日時を示す更新日時とが対応付けられたトレース要素を生成し、トレース要素記憶部に記憶させるステップと、モデル内容比較部が、モデル要素変換部に生成され、コピーモデル記憶部に記憶された第2の工程の各モデル要素の内容と、モデル記憶部に記憶された第2の工程の各モデル要素の内容とを比較し、内容が異なるか否かを判定するステップと、更新日時比較部が、モデル内容比較部により内容が異なると判定された場合、モデル記憶部に記憶された第1の工程の各モデル要素の更新日時と、第2の工程の各モデル要素の更新日時と、モデル要素に対応するトレース要素に含まれる更新日時とを比較し、更新日時が異なるか否かを判定するステップと、モデル更新部が、更新日時比較部により更新日時が異なると判定された場合、予め定められた手順に基づいて、コピーモデル記憶部に記憶された各モデル要素と、モデル記憶部に記憶されたモデル要素とを統合してモデル記憶部に記憶させるステップと、を備えることを特徴とする。
In addition, the present invention is a software that performs by layering each model element that models each function constituting a software system to be developed into a plurality of processes from an upstream process represented by an abstract concept to a downstream process represented by a source code. Supporting system design and development, each model element included in the first process among the plurality of processes, each model element included in the second process that is a downstream process corresponding to the first process, For each model element, a model storage unit in which an update date and time indicating the date and time when the model element is stored is stored in advance, and a copy model in which a copy model in which each model element included in the first step is duplicated is stored A trace in which a trace element indicating a relationship between the storage unit and each model element included in the second process corresponding to each model element included in the first process is stored is stored. A model-oriented development support method using a model-oriented development support device having a storage element storage unit, wherein the input unit generates each model element in the second step based on each model element in the first step Receiving a model conversion request to be input,
When a model conversion request is input to the input unit, the model replication unit replicates each model element in the first step and stores it in the copy model storage unit; and the model element conversion unit includes a predetermined model Based on the conversion rule, each model element of the second step corresponding to each model element of the first step stored in the copy model storage unit is generated and stored in the copy model storage unit, and Upstream model element identification information for identifying each model element of the process, downstream model element identification information for identifying the model element of the second process generated based on each model element of the first process, and A step of generating a trace element associated with an update date and time indicating the generation date and time of the model element and storing the trace element in the trace element storage unit, and a model content comparison unit are generated in the model element conversion unit. -The contents of each model element of the second step stored in the model storage unit and the contents of each model element of the second step stored in the model storage unit are compared to determine whether the contents are different. When the step and the update date and time comparison unit determine that the content is different by the model content comparison unit, the update date and time of each model element of the first process stored in the model storage unit and each model of the second process The step of comparing the update date / time of the element and the update date / time included in the trace element corresponding to the model element to determine whether the update date / time is different from the update date / time of the model update unit differs from the update date / time comparison unit. Is determined, the model element stored in the copy model storage unit and the model element stored in the model storage unit are integrated and stored in the model storage unit based on a predetermined procedure. Characterized in that it comprises a and.
また、本発明は、開発対象であるソフトウェアシステムを構成する各機能をモデル化した各モデル要素を、抽象概念により表す上流工程から、ソースコードにより表す下流工程までの複数工程に階層化して行うソフトウェアシステムの設計および開発を支援し、複数工程のうち第1の工程に含まれる各モデル要素と、第1の工程に対応する下流工程となる第2の工程に含まれる各モデル要素と、それぞれのモデル要素毎に、モデル要素が記憶された日時を示す更新日時とが予め記憶されているモデル記憶部と、第1の工程に含まれる各モデル要素が複製されたコピーモデルが記憶されるコピーモデル記憶部と、第1の工程に含まれる各モデル要素に対応する第2の工程に含まれる各モデル要素との関連性を示すトレース要素が記憶されるトレース要素記憶部とを備えるモデル指向開発支援装置のコンピュータに、第1の工程の各モデル要素に基づいて、第2の工程の各モデル要素を生成するモデル変換要求の入力を受付けるステップと、モデル変換要求が入力されると、第1の工程の各モデル要素を複製してコピーモデル記憶部に記憶させるステップと、予め定められたモデル変換ルールに基づいて、コピーモデル記憶部に記憶された第1の工程の各モデル要素に応じた第2の工程の各モデル要素を生成してコピーモデル記憶部に記憶させ、かつ、第1の工程の各モデル要素を識別する上流モデル要素識別情報と、第1の工程の各モデル要素に基づいて生成した第2の工程のモデル要素を識別する下流モデル要素識別情報と、第2の工程のモデル要素を生成した日時を示す更新日時とが対応付けられたトレース要素を生成し、トレース要素記憶部に記憶させるステップと、コピーモデル記憶部に記憶された第2の工程の各モデル要素の内容と、モデル記憶部に記憶された第2の工程の各モデル要素の内容とを比較し、内容が異なるか否かを判定するステップと、内容が異なると判定された場合、モデル記憶部に記憶された第1の工程の各モデル要素の更新日時と、第2の工程の各モデル要素の更新日時と、モデル要素に対応するトレース要素に含まれる更新日時とを比較し、更新日時が異なるか否かを判定するステップと、更新日時が異なると判定された場合、予め定められた手順に基づいて、コピーモデル記憶部に記憶された各モデル要素と、モデル記憶部に記憶されたモデル要素とを統合してモデル記憶部に記憶させるステップと、を実行させるモデル指向開発支援プログラムである。 In addition, the present invention is a software that performs by layering each model element that models each function constituting a software system to be developed into a plurality of processes from an upstream process represented by an abstract concept to a downstream process represented by a source code. Supporting system design and development, each model element included in the first process among the plurality of processes, each model element included in the second process that is a downstream process corresponding to the first process, For each model element, a model storage unit in which an update date and time indicating the date and time when the model element is stored is stored in advance, and a copy model in which a copy model in which each model element included in the first step is duplicated is stored A trace in which a trace element indicating a relationship between the storage unit and each model element included in the second process corresponding to each model element included in the first process is stored is stored. Accepting an input of a model conversion request for generating each model element of the second process based on each model element of the first process to a computer of a model-oriented development support apparatus having a storage element storage unit; When a conversion request is input, a step of copying each model element of the first step and storing it in the copy model storage unit, and a second stored in the copy model storage unit based on a predetermined model conversion rule Upstream model element identification information for generating each model element of the second process corresponding to each model element of the first process and storing it in the copy model storage unit, and identifying each model element of the first process; Downstream model element identification information for identifying the model element of the second process generated based on each model element of the first process, and update date and time indicating the date and time when the model element of the second process is generated Is generated and stored in the trace element storage unit, the contents of each model element in the second step stored in the copy model storage unit, and the second stored in the model storage unit of comparing the content of each model element step, determining whether the content is different, if the contents are determined as different, each model elements of the first step which is stored in the model storage unit and Modified, and update date and time of each model element of the second step is compared with the update date and time included in the trace elements corresponding to the model element, determining whether the update date and time are different, update When it is determined that the date and time are different, each model element stored in the copy model storage unit and the model element stored in the model storage unit are integrated and stored in the model storage unit based on a predetermined procedure. Make A model-oriented development support program that executes steps.
以上説明したように、本発明によれば、モデル指向開発における上流工程である第1の工程の各モデル要素に基づいて下流工程である第2の工程の各モデル要素を生成するモデル指向開発支援装置が、入力されるモデル変換要求に応じて第1の工程の各モデル要素を複製してコピーモデルを記憶し、予め定められたモデル変換ルールに基づいて、コピーモデルの第1の工程の各モデル要素に応じた第2の工程の各モデル要素を生成し、かつ、第1の工程の各モデル要素を識別する上流モデル要素識別情報と、第1の工程の各モデル要素に基づいて生成した第2の工程のモデル要素を識別する下流モデル要素識別情報と、第2の工程のモデル要素を生成した日時を示す更新日時とが対応付けられたトレース要素を生成し、コピーモデルに基づいて生成した第2の工程の各モデル要素の内容と、予め記憶された第2の工程の各モデル要素の内容との内容が異なり、かつ第2の工程のモデル要素の更新日時と、モデル要素に対応する前記トレース要素の更新日時とが異なる場合、予め定められた手順に基づいて、予め記憶された各モデル要素と、コピーモデルに基づいて生成したモデル要素とを統合するようにしたので、モデル要素の更新日時とトレース要素の更新日時とを比較することで、予め記憶されたモデル要素がモデル変換により生成されたものであるか否かを判定することができ、例えばユーザーから入力される操作情報などに応じて更新された変更が行われたか否かに応じてモデル変換を行うことが可能となる。 As described above, according to the present invention, model-oriented development support for generating each model element of the second process that is the downstream process based on each model element of the first process that is the upstream process in model-oriented development. The apparatus duplicates each model element of the first step in response to an input model conversion request, stores a copy model, and each of the first steps of the copy model based on a predetermined model conversion rule Each model element of the second process corresponding to the model element is generated, and generated based on upstream model element identification information for identifying each model element of the first process and each model element of the first process A trace element in which downstream model element identification information for identifying a model element of the second process and an update date and time indicating the date and time when the model element of the second process is generated is generated, and based on the copy model The content of each model element of the generated second step is different from the content of each model element of the second step stored in advance, and the update date and time of the model element of the second step and the model element When the update date and time of the corresponding trace element is different, the model elements stored based on the copy model and the model elements generated based on the copy model are integrated based on a predetermined procedure. By comparing the update date / time of the element and the update date / time of the trace element, it is possible to determine whether or not the model element stored in advance is generated by model conversion. For example, an operation input from the user It is possible to perform model conversion depending on whether or not an updated change is made according to information or the like.
以下、本発明の一実施形態について、図面を参照して説明する。
<構成>
図1は、本実施形態によるモデル指向開発支援装置100の構成を示すブロック図である。モデル指向開発支援装置100は、標準化されたモデリング手法に基づいたモデル指向開発によるソフトウェアシステムの設計および開発を支援するコンピュータ装置である。モデル指向開発支援装置100は、入力部、出力部、制御部、演算部、記憶部を備えており、いわゆるPC(パーソナルコンピュータ)やサーバ専用ハードウェア機器が適用できる。モデル指向開発支援装置100は、入力部110と、モデル編集部120と、モデル記憶部130と、制御部140と、コピーモデル記憶部150とを備えている。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
<Configuration>
FIG. 1 is a block diagram illustrating a configuration of a model-oriented
モデル指向開発は、開発対象であるソフトウェアシステムが備えるプログラムを構成する各モデル要素を、抽象概念により表す上流階層から、ソースコードにより表す下流階層までの複数の階層工程に分割して行うプログラム開発手法である。モデル要素は、開発対象のソフトウェアシステムの機能を示す情報である。開発者は、まず、開発対象となるソフトウェアシステムの機能をシステム要件に基づいてUML(Unified Modeling Language)などによりモデル化する。例えば、モデル指向開発支援装置100は、UMLエディタなどの機能を備えており、開発ユーザーから入力される操作情報に応じてUML情報を生成する。モデル指向開発支援装置100は、システム要件がモデル化された上流工程モデルの各モデル要素を、QVT(Queries/Views/Transformations)などの予め定められたモデル変換ルールに基づいて下流工程モデルのモデル要素に変換する。
Model-oriented development is a program development method that divides each model element that constitutes a program included in the software system to be developed into a plurality of hierarchical processes from the upstream hierarchy represented by the abstract concept to the downstream hierarchy represented by the source code. It is. The model element is information indicating the function of the software system to be developed. First, the developer models the function of the software system to be developed by UML (Unified Modeling Language) based on the system requirements. For example, the model-oriented
ここで、上流工程のモデル要素から下流工程のモデル要素が生成される際には、その上流工程のモデル要素の識別情報と、生成された下流工程のモデル要素の識別情報と、モデル変換が行われた日時とが対応付けられた情報であるトレース要素が生成される。ここで、例えば、上流工程モデルにおけるモデル要素は、システムの動作環境やプログラム言語に依存しないモデル(プラットフォーム独立モデル(PIM(Platform Independent Model)))であり、下流工程に向かうにつれてシステムの動作環境やプログラム言語が具体化された下流工程モデル(プラットフォーム特化モデル(PSM(Platform Specific Model)))のモデル要素にモデル変換ルールに基づいて変換される。 Here, when a downstream process model element is generated from an upstream process model element, the upstream process model element identification information, the generated downstream process model element identification information, and model conversion are performed. A trace element that is information associated with the date and time of the generation is generated. Here, for example, the model element in the upstream process model is a model (platform independent model (PIM)) that does not depend on the system operating environment or the program language. Conversion into model elements of a downstream process model (platform specific model (PSM (Platform Specific Model))) in which the program language is realized is performed.
モデル指向開発における各階層工程のモデル要素は、工程毎にモデル指向開発支援装置100に記憶される。上流工程のモデル要素に基づいて下流工程のモデル要素の生成が行われモデル変換が行われた後にも、上流工程のモデル要素はモデル指向開発支援装置100に記憶されているため、モデル変換を行った後に上流工程のモデル要素の編集を行うことも可能である。このように、モデル指向開発では、開発対象のソフトウェアシステムを、例えばビジネスモデリング、要求定義、外部設計、内部設計、プログラム実装、テストなどの上流工程から下流工程までの各工程におけるモデル要素で表し、上流工程のモデル要素を、予め定められたモデル変換ルールに基づいて下流工程モデルのモデル要素に変換していくことでソフトウェアシステムの開発を行う。これによりソフトウェアシステムの開発を自動化し、開発工数を削減するとともにシステム要件と実装の乖離を防ぎ、効率良いソフトウェアシステムの開発を行うことが可能となる。
Model elements of each hierarchical process in the model-oriented development are stored in the model-oriented
入力部110は、ユーザーからの情報入力を受付ける入力デバイスであり、例えば、キーボードやマウスなどが適用できる。
モデル編集部120は、ユーザーから入力部110に入力される操作情報に応じて、モデル指向開発における各階層工程のモデル要素を編集し、モデル記憶部130に記憶させる。モデル編集部120は、モデル指向開発における工程毎に異なる編集機能を備えるようにして良い。例えば、本実施形態では、要求検討工程、詳細設計(外部設計)工程、プログラム設計(内部設計)工程の三工程に階層化したモデル指向開発を例として説明する。モデル編集部120には、例えば、要求検討工程、詳細設計(外部設計)工程においてはUMLエディタなどのモデル作成ツールが適用できる。また、プログラム設計工程、実装工程においてはプログラムエディタ、テキストエディタなどが適用できる。
The
The
図2および図3は、本実施形態におけるモデル要素の設計の例を示す図である。例えば、詳細設計工程(a)のモデル要素として、「エンティティ」(a−1)、「画面構造」(a−2)、「画面遷移」(a−3)の3つのモデル要素が示される。エンティティ(a−1)は、開発対象のソフトウェアシステムで用いられるデータを示すモデル要素である。詳細設計工程のモデル要素であるエンティティ(a−1)に基づいて、予め定められたモデル変換ルール1により、下流工程であるプログラム設計工程(b)のモデル要素であるDBアクセスクラス(b−1)が生成される。ここでは、エンティティ要素1つにつきDBアクセスクラス要素が1つ生成される。エンティティの属性は、DBアクセスクラスのパラメタに変換される。 2 and 3 are diagrams showing an example of design of model elements in the present embodiment. For example, three model elements of “entity” (a-1), “screen structure” (a-2), and “screen transition” (a-3) are shown as model elements of the detailed design process (a). The entity (a-1) is a model element indicating data used in the software system to be developed. Based on the entity (a-1) which is a model element of the detailed design process, a DB access class (b-1) which is a model element of the program design process (b) which is a downstream process is determined by a predetermined model conversion rule 1. ) Is generated. Here, one DB access class element is generated for each entity element. The entity attribute is converted into a DB access class parameter.
同様に、開発対象のソフトウェアシステムの画面構造(a−2)を示す詳細設計工程のモデル要素に基づいて、予め定められたモデル変換ルール2により、下流工程であるプログラム設計工程のモデル要素であるビーンクラス(b−3)およびJSP(Java(登録商標) Server Pages)要素(b−4)が生成される。ここでは、詳細設計工程の画面構造要素1つにつき1つのJSP要素が生成される。JSPは、JAVA(登録商標)を用いたウェブサービス技術であり、JSP要素はJSPに基づくウェブサービスの機能に対応するモデル要素である。詳細設計工程の画面構造要素の属性は、JSP要素の入出力タグとして設定される。また、詳細設計工程の画面構造要素1つにつき1つのビーンクラス要素が生成される。ここで、詳細設計工程の画面構造要素の属性は、ビーンクラス要素の属性として設定される。
Similarly, it is a model element of the program design process which is a downstream process based on the
同様に、開発対象のソフトウェアシステムの画面遷移(a−3)を示す詳細設計工程のモデル要素に基づいて、予め定められたモデル変換ルール3により、下流工程であるプログラム設計工程のモデル要素であるコマンドクラス(b−2)が生成される。ここでは、詳細設計工程モデルに含まれる画面遷移要素1つにつきコマンドクラス要素が1つ生成される。ここで、エンティティ要素から変換された参照はコマンドクラスの属性として設定される。画面遷移要素を参照しているバウンダリ要素から生成されたビーンクラス要素は、コマンドクラス要素の入出力パラメタ属性として設定される。
Similarly, it is a model element of a program design process which is a downstream process based on a
図1に戻り、モデル記憶部130には、モデル指向開発におけるモデルを示す情報が記憶され、モデル指向開発における各階層工程のモデル要素を示す情報が記憶されるモデル要素記憶部131と、モデル要素記憶部131に記憶される階層工程毎のモデル要素の関連性を示すトレース要素が記憶されるトレース要素記憶部132とを備えている。
Returning to FIG. 1, the
図4は、モデル要素記憶部131に記憶されるモデル要素のデータ例を示す図である。モデル要素は、「工程」と、「モデル要素名」と、「モデル要素ID」と、「親要素ID」と、「上流トレース」と、「下流トレース」と、「モデル要素種別」と、「モデル最終更新時間」とが対応付けられた情報を含んでいる。
FIG. 4 is a diagram illustrating an example of model element data stored in the model
「工程」は、モデル要素の階層工程を示す情報であり、例えば、「基本設計」、「詳細設計」、「プログラム設計」などが適用される。ここでは、工程を「全体」としたモデル要素を定義し、各階層工程のモデル要素は「全体」のモデル要素をルートとした木構造を構成する。ここで、木構造全体をプロジェクトといい、プロジェクトのルートとなるモデル要素の下位に各階層工程のルートとなるモデル要素が帰属する。それぞれの工程ルートとなる各モデル要素の下位には、その階層工程に含まれるモデル要素が帰属する。 “Process” is information indicating a hierarchical process of model elements. For example, “basic design”, “detailed design”, “program design”, and the like are applied. Here, model elements with the process as “whole” are defined, and the model elements of each hierarchical process constitute a tree structure with the “whole” model element as a root. Here, the entire tree structure is referred to as a project, and a model element that becomes the root of each hierarchical process belongs to a lower level of the model element that becomes the root of the project. The model elements included in the hierarchical process belong to the lower level of each model element serving as the process route.
「モデル要素名」は、モデル要素の内容を示す名称である。例えば、木構造のルートとなるモデル要素には「開発プロジェクト」、基本設計工程のルートとなるモデル要素には「基本設計工程」、基本設計工程における画面の見本を示すモデル要素には「画面モックアップ_A」などの名称が適用される。
「モデル要素ID」は、モデル要素の識別情報である。例えば、プロジェクトの頂点となるモデル要素には「P_PRJ_0001」、基本設計工程の頂点となるモデル要素には「A_DP_0001」、画面モックアップには「A_CSD_MDES_0001」などの識別情報が対応付けられる。
“Model element name” is a name indicating the contents of the model element. For example, the model element that is the root of the tree structure is “development project”, the model element that is the root of the basic design process is “basic design process”, and the model element that shows a screen sample in the basic design process is “screen mock A name such as “UP_A” is applied.
“Model element ID” is identification information of a model element. For example, identification information such as “P_PRJ — 0001” is associated with the model element that is the apex of the project, “A_DP — 0001” is associated with the model element that is the apex of the basic design process, and “A_CSD_MDES — 0001” is associated with the screen mockup.
「親要素ID」は各階層工程内でのモデル要素間の帰属関係を示し、モデル要素を木構造に構成する情報である。例えば、基本設計工程のモデル要素「A_CSD_MDES_0001」の「親要素ID」には基本設計工程のルートのモデル要素「A_DP_0001」が対応付けられており、画面モックアップ「A_CSD_MDES_0001」は基本設計工程に帰属するモデル要素であることが示される。 “Parent element ID” is information indicating the belonging relationship between model elements in each hierarchical process, and constituting the model elements in a tree structure. For example, the model element “A_DP_0001” of the root of the basic design process is associated with the “parent element ID” of the model element “A_CSD_MDES_0001” of the basic design process, and the screen mockup “A_CSD_MDES_0001” belongs to the basic design process. Shown to be a model element.
「上流トレース」は、そのモデル要素が上流工程のモデル要素に基づいて生成されたモデル要素である場合に、そのモデル要素の生成時に生成されたトレース要素の識別情報である。このトレース要素の識別情報は、後述するトレース要素記憶部132に記憶されたトレースIDに対応する。このように、上流工程のモデル要素に基づいて下流工程のモデル要素が生成される際には、上流工程のモデル要素と下流工程のモデル要素との関連性を示すトレース要素が生成され、トレース要素記憶部132に記憶される。例えば、詳細設計工程のモデル要素「B_SSD_SDES_0001」は、上流トレースのトレースIDとして「TR_0000」が対応付けられる。
“Upstream trace” is identification information of a trace element generated when the model element is generated when the model element is a model element generated based on a model element in an upstream process. The trace element identification information corresponds to a trace ID stored in a trace
「下流トレース」は、そのモデル要素に基づいて下流工程のモデル要素が生成された場合に、生成された下流工程のモデル要素との関連性を示すトレース要素の識別情報である。このトレース要素の識別情報は、トレース要素記憶部132に記憶されたトレースIDに対応する。例えば、基本設計工程のモデル要素「A_CSD_MDES_0001」には、下流トレースのトレースIDとして「TR_0000」が対応付けられる。
The “downstream trace” is identification information of a trace element indicating a relationship with the generated model element of the downstream process when the model element of the downstream process is generated based on the model element. The trace element identification information corresponds to the trace ID stored in the trace
「モデル要素種別」は、対応するモデル要素の種別を示す情報である。例えば、プロジェクトにおけるモデル要素の木構造のルートとなるモデル要素には「プロジェクト」、画面モックアップには「モックアップ」などの情報が対応付けられる。
「モデル最終更新時間」は、対応するモデル要素が生成され、または生成された後に内容が変更されモデル要素記憶部131に記憶された更新日時を示す情報である。例えば、モデル最終更新時間は、「yyyy:mm:dd:hh:mn:ss」のフォーマットで表され、「(西暦4桁):(月2桁):(日2桁):(時2桁):(分2桁):(秒2桁)」の計14桁の数字で表される。
“Model element type” is information indicating the type of the corresponding model element. For example, information such as “project” is associated with the model element that is the root of the tree structure of the model element in the project, and information such as “mockup” is associated with the screen mockup.
The “model last update time” is information indicating the update date and time when the corresponding model element is generated or the content is changed and stored in the model
図5は、トレース要素記憶部132に記憶されるトレース要素のデータ例を示す図である。トレース要素は、「トレースID」と、「上流要素」と、「下流要素」と、「トレース最終更新時間」とが対応付けられた情報を含んでいる。
「トレースID」は、トレース要素の識別情報である。「上流要素」は、トレース情報が関連付ける上流工程のモデル要素の識別情報であり、モデル要素記憶部131に記憶されるモデル要素IDに対応する。「下流要素」は、トレース情報が対応付ける下流工程のモデル要素の識別情報であり、モデル要素記憶部131に記憶されるモデル要素IDに対応する。「トレース最終更新時間」は、上流工程のモデル要素に基づいて下流工程のモデル要素が生成され、モデル変換が行われた際にトレース情報が生成された時間を示す情報である。同一の上流工程のモデル要素から同一の下流工程のモデル要素への再度のモデル変換が行われ、下流工程のモデル要素の内容が変更されてモデル要素記憶部131に記憶された場合には、トレース最終更新時間には下流工程のモデル要素の内容が更新されモデル要素記憶部131に記憶された時間を示す情報に更新され記憶される。
FIG. 5 is a diagram illustrating an example of trace element data stored in the trace
“Trace ID” is identification information of a trace element. “Upstream element” is identification information of an upstream process model element associated with the trace information, and corresponds to the model element ID stored in the model
図6は、図4および図5に示される各モデル要素、各トレース要素の関連性を概念的に示した図である。図6に示されるように、モデル化されたソフトウェアシステムのモデル要素は、プロジェクトを示すモデル要素「P_PRJ_0001」をルートとして、基本設計工程のルートとなるモデル要素「A_DP_001」、詳細設計工程のルートとなるモデル要素「B_DP_001」、プログラム設計工程のルートとなるモデル要素「C_DP_001」が下位に帰属する。また、それぞれの階層工程のルートの下位にそれぞれのモデル要素が帰属する。ここで、本実施形態において、基本設計工程、詳細設計工程、プログラム設計工程の間の関連性を階層といい、上流、下流として表す。例えば、基本設計工程は詳細設計工程に対して上流工程の階層であり、詳細設計工程は基本設計工程に対して下流工程の階層であるという。また、本実施形態において、各階層工程のルートの下位に帰属するモデル要素間の関係を帰属といい、上位、下位として表す。例えば、基本設計工程のルートであるモデル要素「A_DP_0001」は、同じく基本設計工程のモデル要素「A_CSD_MDES_0001」に対して上位のモデル要素であり、基本設計工程のモデル要素「A_CSD_MDES_0001」は、同じく基本設計工程のルートであるモデル要素「A_DP_0001」に対して下位のモデル要素であるという。 FIG. 6 is a diagram conceptually showing the relationship between each model element and each trace element shown in FIG. 4 and FIG. As shown in FIG. 6, model elements of the modeled software system include a model element “P_PRJ — 0001” indicating a project as a root, a model element “A_DP — 001” serving as a root of a basic design process, a route of a detailed design process, and The model element “B_DP — 001” and the model element “C_DP — 001” serving as the root of the program design process belong to the lower level. In addition, each model element belongs to the lower level of the root of each hierarchical process. Here, in this embodiment, the relationship between the basic design process, the detailed design process, and the program design process is called a hierarchy, and is expressed as upstream and downstream. For example, the basic design process is a hierarchy of the upstream process with respect to the detailed design process, and the detailed design process is a hierarchy of the downstream process with respect to the basic design process. In this embodiment, the relationship between model elements belonging to the lower order of the root of each hierarchical process is referred to as belonging, and is expressed as higher order and lower order. For example, the model element “A_DP_0001” that is the root of the basic design process is a higher-order model element than the model element “A_CSD_MDES_0001” of the basic design process, and the model element “A_CSD_MDES_0001” of the basic design process is the same as the basic design process. The model element “A_DP — 0001” that is the root of the process is a lower model element.
例えば、図6の例では、基本設計工程のモデル要素「A_CSD_MDES_0001」に基づいて下流工程となる詳細設計工程のモデル要素「B_SSD_SDES_0001」が生成されており、その関連性がトレース要素「TR_0000」によって示されている。また、例えば、この詳細設計工程のモデル要素「B_SSD_SDES_0001」に基づいてプログラム設計工程のモデル要素「C_DCD_JSP_0001」とモデル要素「C_DEC_BEAN_0001」との2つのモデル要素が生成されており、その関連性がトレース要素「TR_0001」またはトレース要素「TR_0004」によって示されている。また、例えば、基本設計工程のルートであるモデル要素「A_DP_0001」には、モデル要素「A_CSD_MDES_0001」が下位に帰属している。また、プログラム設計工程のモデル要素「C_DCD_BPRO_0003」は、対応するトレース要素が存在しないため、モデル要素変換部143によるモデル変換によらず、例えばモデル編集部120などによって生成されたモデル要素である。
For example, in the example of FIG. 6, the model element “B_SSD_SDES_0001” of the detailed design process that is the downstream process is generated based on the model element “A_CSD_MDES_0001” of the basic design process, and the relationship is indicated by the trace element “TR_0000”. Has been. Further, for example, two model elements of a model element “C_DCD_JSP_0001” and a model element “C_DEC_BEAN_0001” of the program design process are generated based on the model element “B_SSD_SDES_0001” of the detailed design process, and the relationship is a trace element. It is indicated by “TR — 0001” or trace element “TR — 0004”. Further, for example, the model element “A_CSD_MDES_0001” belongs to the lower order in the model element “A_DP_0001” that is the route of the basic design process. Further, the model element “C_DCD_BPRO_0003” of the program design process is a model element generated by the
図7は、モデル記憶部130に記憶される詳細設計工程のモデル要素およびトレース要素の詳細なデータ例を示す図である。このように、モデル要素記憶部131に記憶されたモデル要素は、図4のデータ例に示した情報の他に、開発対象のソフトウェアシステムの機能に対応する階層工程毎に、モデル要素種別に応じた各種設計情報等が含まれる。図7では、モデル要素種別に応じた設計情報に下線を付している。例えば、(a)は、詳細設計工程の画面構造「B_SSD_SDES_0001」のモデル要素のデータ例を示している。モデル要素「B_SSD_SDES_0001」は、ソフトウェアシステムにおいてディスプレイに表示させる一画面に対応するモデル要素であり、図4で示した共通情報の他に、本画面に含まれる1または複数の画面項目を示す「画面項目リスト」、本画面に遷移してくる遷移元の画面を示す「画面遷移リスト(イン)」、本画面から遷移する遷移先の画面を示す「画面遷移リスト(アウト)」との情報が含まれる。
FIG. 7 is a diagram illustrating detailed data examples of model elements and trace elements in the detailed design process stored in the
図7の(b)は、詳細設計工程の画面項目「B_SSD_SPRO_0001」のモデル要素のデータ例を示している。モデル要素「B_SSD_SPRO_0001」は、画面構造「B_SSD_SDES_0001」が示す画面に含まれる画面項目の内容を示しており、図4で示した共通情報の他に、画面項目の物理データ型と表示データ型がともに文字列であり、文字列のデータ長が16(文字)であり、表示ラベルとして文字列「ユーザー名」を表示させることが示されている。 FIG. 7B illustrates a data example of the model element of the screen item “B_SSD_SPRO_0001” of the detailed design process. The model element “B_SSD_SPRO_0001” indicates the contents of the screen item included in the screen indicated by the screen structure “B_SSD_SDES_0001”. In addition to the common information shown in FIG. 4, both the physical data type and the display data type of the screen item are included. It is a character string, the data length of the character string is 16 (characters), and the character string “user name” is displayed as a display label.
図8は、モデル記憶部130に記憶されるプログラム設計工程のモデル要素の情報の詳細なデータ例を示す図である。例えば、(a)は、詳細設計工程のプログラムであるJSP要素「C_DCD_JSP_0001」のモデル要素のデータ例を示している。モデル要素「C_DCD_JSP_0001」は、詳細設計工程の画面構造「B_SSD_SDES_0001」に基づいて生成されたモデル要素であり、JSPに基づいた画面構造を表す情報である。モデル要素「C_DCD_JSP_0001」は、図4で示した共通情報の他に、モデル要素の「物理名」、JSPに含まれる属性としてのモデル要素を示す「属性リスト」、本画面に遷移してくる遷移元のソフトウェアコンポーネントを示す「ビーンクラス(イン)」、本画面から遷移する遷移先のソフトウェアコンポーネントを示す「ビーンクラス(アウト)」との情報が含まれる。
FIG. 8 is a diagram illustrating a detailed data example of model element information of the program design process stored in the
図8の(b)は、プログラム設計工程の入力属性項目「C_DCD_JSPAT_0001」のモデル要素のデータ例を示している。モデル要素「C_DCD_JSP_0001」は、詳細設計工程の画面構造「B_SSD_SPRO_0001」に基づいて生成されたモデル要素であり、画面における入力項目を表す情報である。モデル要素「C_DCD_JSPAT_0001」は、図4で示した共通情報の他に、プログラムにおける物理名が「ATTRIBUTE_1」であり、物理データ型が「String」(文字列)であり、表示データ型が文字列であり、表示ラベルが「ユーザー名」であることなどが示されている。 FIG. 8B shows a data example of the model element of the input attribute item “C_DCD_JSPAT_0001” in the program design process. The model element “C_DCD_JSP_0001” is a model element generated based on the screen structure “B_SSD_SPRO_0001” of the detailed design process, and is information representing an input item on the screen. In addition to the common information shown in FIG. 4, the model element “C_DCD_JSPAT_0001” has a physical name “ATTRIBUTE_1” in the program, a physical data type “String” (character string), and a display data type is a character string. Yes, and the display label is “user name”.
図1に戻り、制御部140は、モデル記憶部130に記憶された上流工程のモデル要素に基づいて下流工程のモデル要素を生成し、モデル変換を行う。制御部140は、モデル取得部141と、モデル複製部142と、モデル要素変換部143と、モデル内容比較部144と、更新日時比較部146と、モデル更新部146と、マージ方法判定部147とを備えている。
モデル取得部141は、入力部110にモデル変換の実行命令が入力されると、モデル記憶部130に記憶されたモデル要素を読み出す。
Returning to FIG. 1, the
When the model conversion execution instruction is input to the
モデル複製部142は、モデル取得部141がモデル記憶部130から読み出したモデル要素を複製し、コピーモデルとしてコピーモデル記憶部150に記憶させる。図9は、制御部140によるモデル変換処理の概念を示す図である。ここで、図9の(a)の列に示すように、モデル複製部142は、モデル記憶部130に記憶された各モデル要素(以下、実モデルという)から、プロジェクトルート(「P_PRJ_0001」)と、最上流工程のモデル要素(「A_DP_0001」および「A_CSD_MDES_0001」)と、各階層工程のルートのモデル要素(「B_DP_0001」)のみを、コピーモデルとしてコピーモデル記憶部150に記憶させる。
The
図1に戻り、モデル要素変換部143は、モデル複製部142により複製されてコピーモデル記憶部150に記憶されたコピーモデルの各モデル要素の変換処理を行う。モデル要素変換部143は、モデル複製部142によってコピーモデル記憶部150に記憶されたコピーモデルの上流工程の各モデル要素から、自身の記憶領域に予め記憶されたモデル変換ルールに基づいて下流工程のモデル要素を生成し、コピーモデル記憶部150に記憶させ、モデル変換を行う。モデル変換ルールは、例えばOMG(Object Management Group)により定められたモデル変換の標準であるQVT(Queries/Views/Transformations)などが適用できる。例えば、図9の(b)に示すように、モデル要素変換部143は、コピーモデルにおける上流工程のモデル要素「A_CSD_MDES_0001」に基づいて、下流工程のモデル要素「B_SSD_SDES_0001」を生成する。
Returning to FIG. 1, the model
図1に戻り、モデル内容比較部144は、モデル記憶部130に記憶された下流工程の各モデル要素と、コピーモデル記憶部150に記憶された対応する下流工程のモデル要素との内容を比較し、情報の内容が異なるモデル要素が存在するか否かを判定する。
更新日時比較部146は、モデル内容比較部144により、実モデルとコピーモデルとのモデル要素に情報の内容が異なるモデル要素が存在すると判定され、差分がある場合には、差分があった実モデルのモデル要素の最終更新日時と、そのモデル要素を下流トレースとするトレース要素の最終更新日時またはそのモデル要素に対応する上流工程のモデル要素の最終更新日時とを読み出し、更新日時が異なるか否かを判定する。図9の(c)に示すように、実モデルとコピーモデルとが比較される。
Returning to FIG. 1, the model
The update date and
図1に戻り、マージ方法判定部147は、モデル内容比較部144による比較結果と、更新日時比較部146による比較結果と、マージ方法記憶部160に記憶されているモデル要素の統合手順を示すマージ方法とに基づいて、実モデルとコピーモデルとのマージ方法の判定を行う。マージ方法記憶部160には、実モデルとコピーモデルとの差分の条件に応じたマージ方法が予め記憶されている。マージ方法は、上流工程と下流工程のモデル要素が異なる場合に、例えば、「上流の追加を反映」、「上流の変更を反映」、「上流の削除を反映」、「下流の追加を維持」、「下流の変更を維持」、「下流の削除を維持」などにより表される。マージ方法判定部147により判定されるマージ方法のうち、マージ方法記憶部160に記憶されているマージ方法により行うマージを自動マージといい、逆にどのようなマージを行うかをユーザーに提示し、マージ方法を利用者に選択させることにより行うマージを手動マージという。
Returning to FIG. 1, the merging
「上流の追加を反映」は、モデル変換後に上流工程にモデル要素が追加されている場合、追加された上流工程のモデル要素に対応する下流工程のモデル要素を生成し、実モデルに反映させる自動マージを行うことを示す。
「上流の変更を反映」は、モデル変換後に上流工程のモデル要素の内容に変更が加えられている場合、変更された上流工程のモデル要素に基づいて下流工程のモデル要素を生成し、実モデルに反映させる自動マージを行うことを示す。
「上流の削除を反映」は、モデル変換後に上流工程のモデル要素が削除されている場合、削除された上流工程のモデル要素に対応する実モデルの下流工程のモデル要素を削除する自動マージを行うことを示す。
"Upstream addition reflected" is an automatic function that generates model elements for downstream processes corresponding to the model elements of the added upstream processes and reflects them in the actual model when model elements are added to the upstream processes after model conversion. Indicates to perform a merge.
“Upstream changes reflected” means that if changes are made to the model element contents of the upstream process after model conversion, the model elements of the downstream process are generated based on the changed model elements of the upstream process, and the actual model Indicates that automatic merging will be performed.
"Upstream deletion reflected" performs automatic merging to delete the model element of the downstream process of the actual model corresponding to the deleted model element of the upstream process when the model element of the upstream process has been deleted after model conversion It shows that.
「下流の追加を維持」は、モデル変換後に下流工程にモデル要素が追加されている場合、実モデルにおける下流工程に追加されたモデル要素を削除せず、追加されたモデル要素の記憶を維持する自動マージを行うことを示す。
「下流の変更を維持」は、モデル変換後に下流工程のモデル要素が変更されている場合、対応する上流工程のモデル要素に基づいて生成されたモデル要素に関わらず、実モデルにおける下流工程のモデル要素の変更を維持する自動マージを行うことを示す。
「下流の削除を維持」は、モデル変換後に下流工程のモデル要素が削除されている場合、対応する上流工程のモデル要素に基づいて生成されたモデル要素に関わらず、実モデルにおける下流工程のモデル要素の削除を維持する自動マージを行うことを示す。
“Keep downstream addition” does not delete the model element added to the downstream process in the actual model and keeps the memory of the added model element when the model element is added to the downstream process after model conversion Indicates that automatic merging is performed.
“Keep downstream changes” means that if the model element of the downstream process has been changed after model conversion, the model of the downstream process in the actual model is used regardless of the model element generated based on the model element of the corresponding upstream process. Indicates that automatic merging is performed to preserve element changes.
“Keep downstream deletion” means that if the model element of the downstream process has been deleted after model conversion, the model of the downstream process in the actual model is used regardless of the model element generated based on the model element of the corresponding upstream process. Indicates that automatic merging is performed to maintain element deletion.
マージ方法記憶部160には、このようなマージ方法のそれぞれを有効(ON)とするか無効(OFF)とするかを示す情報が対応付けられて記憶されている。マージ方法判定部147は、マージ方法記憶部160に記憶されたこのようなマージ方法に基づいて、実モデルとコピーモデルとのマージ処理を行う。また、マージ方法判定部147は、実モデルとコピーモデルとのモデル要素の内容に差分がある場合で、マージ方法記憶部160に記憶されたマージ方法の条件に該当しないモデル要素が存在する場合には、入力部110から入力される操作情報に基づいて、実モデルとコピーモデルとのマージを行う。
モデル更新部145は、マージ方法判定部147によるマージ方法の判定結果に基づいて、モデル記憶部130に記憶された実モデルと、コピーモデル記憶部150に記憶されたコピーモデルとのマージ処理を行う。また、図9に示すように、モデル更新部145は、マージ処理が完了すると、コピーモデル記憶部150に記憶されたコピーモデルを削除する。
The merge
The
<動作例>
次に、図10を参照して、まず、本発明によるモデル指向開発支援装置100が行うモデル変換処理の動作例の概要を説明する。入力部110にモデル変換処理の実行命令が入力されると、モデル取得部141が、モデル記憶部130に記憶されたモデル要素を読み出す。モデル複製部142は、モデル取得部141が読み出したモデル要素を複製し、コピーモデルとしてコピーモデル記憶部150に記憶させる(ステップS1)。
<Operation example>
Next, with reference to FIG. 10, first, an outline of an operation example of model conversion processing performed by the model-oriented
モデル要素変換部143が、コピーモデル記憶部150に記憶された上流工程のモデル要素に基づいて、下流工程のモデル要素を生成する(ステップS2)。モデル内容比較部144が、コピーモデル記憶部150に記憶されたコピーモデルの下流工程のモデル要素と、モデル要素記憶部131に記憶された実モデルの下流工程のモデル要素とを比較し、差分があるか否かを判定する(ステップS3)。ステップS3で、モデル内容比較部144が、コピーモデル記憶部150に記憶されたコピーモデルの下流工程のモデル要素と、モデル要素記憶部131に記憶された実モデルの下流工程のモデル要素とに差分がないと判定すれば(ステップS3:いいえ)、モデル更新部145は、モデル記憶部130に記憶された実モデルの更新を行わずに処理を終了する(ステップS4)。
The model
一方、ステップS3で、モデル内容比較部144が、コピーモデル記憶部150に記憶されたコピーモデルの下流工程のモデル要素と、モデル要素記憶部131に記憶された実モデルの下流工程のモデル要素とに差分があると判定すれば(ステップS3:はい)、マージ方法判定部147が、各モデル要素の比較結果に基づいて、自動マージを行うか手動マージを行うかのマージ方法の判定処理を行う(ステップS5)。
On the other hand, in step S <b> 3, the model
マージ方法判定部147は、全てのモデル要素の比較結果について、マージ方法記憶部160に記憶されたマージ方法の条件に一致するか否かを判定し、ステップS5で抽出された差分の全てについて自動マージを行うことが可能でないと判定すれば(ステップS6:いいえ)、実行可能な自動マージを実行した後に、モデル更新部145は、モデル編集部120による差分のあるモデル要素の編集を受付け、手動によるモデル要素のマージ処理を行う(ステップS7)。一方、マージ方法判定部147が、ステップS5で抽出された差分の全てについて自動マージを行うことが可能であると判定すれば(ステップS6:はい)、モデル更新部145は、コピーモデル記憶部150に記憶されたマージ方法に基づいてモデル変換により生成されたモデル要素のマージ処理を行う(ステップS8)。
The merge
次に、図11、図12、図13を参照して、上述のステップS5でモデル指向開発支援装置100が行うマージ方法の判定処理について詳細に説明する。
モデル内容比較部144が、上述のステップS3でコピーモデル記憶部150に記憶されたコピーモデルの下流工程のモデル要素と、モデル要素記憶部131に記憶された実モデルの下流工程のモデル要素とに差分があると判定した場合、マージ方法判定部147には、その差分の状態を示す情報が入力される(ステップS10)。
Next, with reference to FIGS. 11, 12, and 13, the merge method determination process performed by the model-oriented
The model
マージ方法判定部147が、実モデルとコピーモデルとの差分の状態が、いずれかのモデルにモデル要素が存在しない差異であると判定した場合(ステップS11:はい)、その存在しないモデルが実モデルであるかコピーモデルであるかを判定する(ステップS12)。マージ方法判定部147は、差異のあるモデル要素が、実モデルに存在せずコピーモデルに存在すると判定した場合は(ステップS13:いいえ)、そのモデル要素を下流要素とするトレース要素が、トレース要素記憶部132に記憶されているか否かを判定する(ステップS14)。
When the merge
マージ方法判定部147が、差異のあるモデル要素を下流要素とするトレース要素がトレース要素記憶部132に記憶されていないと判定した場合(ステップS15:いいえ)、実モデルに存在せずコピーモデルのみに存在するそのモデル要素は、モデル要素変換部143によるモデル変換処理で初めて生成されたモデル要素である(ステップS16)。そこで、マージ方法判定部147は、マージ方法記憶部160に記憶されたマージ方法を読み出し、「上流の追加を反映」がONであれば(ステップS17:はい)、自動マージを行うと判定する。「上流の追加を反映」がOFFであれば(ステップS17:いいえ)、手動マージを行うと判定する。
When the merge
一方、ステップS15で、マージ方法判定部147が、差異のあるモデル要素を下流要素とするトレース要素がトレース要素記憶部132に記憶されていると判定した場合(ステップS15:はい)、上流工程のモデル要素に基づいて下流工程のモデル要素が生成されたモデル変換の後、下流工程のモデル要素が削除されたものである。そこで、更新日時比較部146が、上流工程のモデル要素の最終更新日時と、対応するトレース要素の最終更新日時とを読み出す。マージ方法判定部147は、上流工程のモデル要素の最終更新日時と、対応するトレース要素の最終更新日時とを比較し、いずれの最終更新日時が新しいかを判定する(ステップS18)。
On the other hand, when the merge
マージ方法判定部147が、上流工程のモデル要素の最終更新日時は対応するトレース要素の最終更新日時よりも新しいと判定した場合(ステップS19:はい)、モデル変換の後に上流工程のモデル要素が変更されたものである(ステップS20)。マージ方法判定部147は、マージ方法記憶部160に記憶されたマージ方法を読み出し、「下流の削除を維持」がONであれば(ステップS21:はい)、自動マージを行うと判定する。「下流の削除を維持」がOFFであれば(ステップS21:いいえ)、手動マージを行うと判定する。
When the merge
一方、ステップS19で、マージ方法判定部147が、上流工程のモデル要素の最終更新日時は対応するトレース要素の最終更新日時より新しくないと判定した場合(ステップS19:いいえ)、モデル変換後に上流工程のモデル要素に変更は加えられてない(ステップS22)。マージ方法判定部147は、マージ方法記憶部160に記憶されたマージ方法を読み出し、「下流の削除を維持」がONであれば(ステップS23:はい)、自動マージを行うと判定する。「下流の削除を維持」がOFFであれば(ステップS23:いいえ)、手動マージを行うと判定する。
On the other hand, when the merge
ステップS11で、マージ方法判定部147が、実モデルとコピーモデルとの差異が、いずれかのモデルにモデル要素が存在しない差異でないと判定した場合(ステップS11:いいえ)、図11のステップS30に進む。この場合、実モデルとコピーモデルとのいずれにも対応する下流工程のモデル要素が存在する。更新日時比較部146が、下流工程のモデル要素の最終更新日時と、対応するトレース要素の最終更新日時とをモデル記憶部130から読み出すと、マージ方法判定部147は、いずれの最終更新日時が新しいかを判定する(ステップS30)。
If the merge
マージ方法判定部147が、下流工程のモデル要素の最終更新日時は対応するトレース要素の最終更新日時より新しくないと判定した場合(ステップS31:いいえ)、モデル変換の後、上流工程のモデル要素のみが変更されている。そこで、マージ方法判定部147は、マージ方法記憶部160に記憶されたマージ方法を読み出し、「上流の変更を反映」がONであれば(ステップS32:はい)、自動マージを行うと判定する。一方、「上流の変更を反映」がOFFであれば(ステップS33:いいえ)、手動マージを行うと判定する。
When the merge
一方、ステップS31で、マージ方法判定部147が、下流工程のモデル要素の最終更新日時の方が対応するトレース要素の最終更新日時よりも新しいと判定した場合(ステップS31:はい)、モデル変換後に下流工程のモデル要素が変更されている。マージ方法判定部147は、上流工程のモデル要素の最終更新日時と、トレース要素の最終更新日時とのいずれが新しいかを判定する(ステップS34)。
On the other hand, when the merge
マージ方法判定部147が、上流工程のモデル要素の最終更新日時はトレース要素の最終更新日時よりも新しいと判定した場合(ステップS35:はい)、モデル変換の後に、上流工程のモデル要素と下流工程のモデル要素との双方が変更されている。この場合、マージ方法の設定に基づいた自動マージを行うことはできないため、マージ方法判定部147は、手動マージを行うと判定する(ステップS36)。
When the merge
一方、ステップS35で、マージ方法判定部147が、上流工程のモデル要素の最終更新日時は対応するトレース要素の最終更新日時よりも新しくないと判定した場合(ステップS35:いいえ)、モデル変化の後に下流工程のモデル要素のみが変更されている。この場合、マージ方法判定部147は、マージ方法記憶部160に記憶されたマージ方法を読み出し、「下流の変更を維持」がONであれば(ステップS38:はい)、自動マージを行うと判定する。一方、「下流の変更を維持」がOFFであれば(ステップS38:いいえ)、手動マージを行うと判定する。
On the other hand, if the merge
ステップS13で、マージ方法判定部147が、差異のあるモデル要素は実モデルに存在し、コピーモデルに存在しないと判定した場合は(ステップS13:はい)、図13のステップS40に進む。マージ方法判定部147は、下流工程のモデル要素に対応するトレース要素がトレース要素記憶部132に記憶されているか否かを判定する(ステップS40)。マージ方法判定部147が、下流工程のモデル要素に対応するトレース要素がトレース要素記憶部132に記憶されていないと判定した場合(ステップS41:いいえ)、そのモデル要素はモデル要素変換部143によるモデル変換でなく、例えばモデル編集部120に入力される操作情報に応じて生成されたモデル要素である。マージ方法判定部147は、マージ方法記憶部160に記憶されたマージ方法を読み出し(ステップS42)、「下流の追加を維持」がONであれば(ステップS43:はい)、自動マージを行うと判定する。一方、「下流の追加を維持」がOFFであれば(ステップS43:いいえ)、手動マージを行うと判定する。
If the merge
一方、マージ方法判定部147が、下流工程のモデル要素に対応するトレース要素がトレース要素記憶部132に記憶されていると判定した場合(ステップS41:はい)、モデル変換の後に上流工程のモデル要素が削除されている。この場合、下流工程のモデル要素の最終更新日時と、対応するトレース要素の最終更新日時とのいずれの最終更新日時が新しいかを判定する(ステップS44)。マージ方法判定部147が、下流工程のモデル要素の最終更新日時は対応するトレース要素の最終更新日時よりも新しくないと判定した場合(ステップS45:いいえ)、モデル変換の後に下流工程のモデル要素は変更されていない。マージ方法判定部147は、マージ方法記憶部160に記憶されたマージ方法を読み出し(ステップS48)、「上流の削除を反映」がONであれば(ステップS49:はい)、自動マージを行うと判定する。一方、「上流の削除を反映」がOFFであれば(ステップS49:いいえ)、手動マージを行うと判定する。
On the other hand, when the merge
一方、ステップS45で、マージ方法判定部147が、下流工程のモデル要素の最終更新日時は対応するトレース要素の最終更新日時よりも新しいと判定した場合(ステップS45:はい)、下流工程のモデル要素は、モデル変換の後に変更されている。マージ方法判定部147は、マージ方法記憶部160に記憶されたマージ方法を読み出し(ステップS46)、「下流の変更を維持」がONであれば(ステップS47:はい)、自動マージを行うと判定する。一方、「下流の変更を維持」がOFFであれば(ステップS47:いいえ)、手動マージを行うと判定する。
On the other hand, when the merge
次に、図14から図18を参照して、モデル変換のマージ処理の類型を例示して説明する。図14は、(a)と(b)と(c)との順に動作過程が遷移していることを示す。(a)の列に示すように、初期状態ではモデル要素「A」(0)が存在する実モデルが示される。ここで、「A」はモデル要素IDであり、(0)は最終更新日時を示す。ここでは、最終更新日時は、便宜的に、日時の前後に応じて1ずつ増加する整数によって示す。例えば、(0)は(1)よりも最終更新日時が古いことを表し、(1)は(2)よりも最終更新日時が古いことを表し、(1)と(1)は最終更新日時が同時であることを示す。(b)の列には、実モデルからコピーモデルが生成され、コピーモデルの上流工程のモデル要素「A」から下流工程のモデル要素「A´」が生成されており、トレース要素が生成されている。また、実モデルとコピーモデルとが比較される。(c)の列には、自動マージが行われた後の実モデルの状態が示される。このように、四角形で表される(ア)のモデル要素を上流工程のモデル要素とし、円計で表される(イ)をトレース要素とし、八角形で表される(ウ)のモデル要素を下流工程のモデル要素とする。 Next, with reference to FIG. 14 to FIG. 18, an example of a model conversion merge process will be described. FIG. 14 shows that the operation process transitions in the order of (a), (b), and (c). As shown in the column (a), the actual model in which the model element “A” (0) exists is shown in the initial state. Here, “A” is the model element ID, and (0) indicates the last update date and time. Here, for the sake of convenience, the last update date and time is indicated by an integer that increases by one according to before and after the date and time. For example, (0) indicates that the last update date is older than (1), (1) indicates that the last update date is older than (2), and (1) and (1) indicate that the last update date is Indicates simultaneous. In the column (b), the copy model is generated from the actual model, the model element “A ′” of the downstream process is generated from the model element “A” of the upstream process of the copy model, and the trace element is generated. Yes. Also, the actual model and the copy model are compared. In the column (c), the state of the real model after the automatic merging is performed is shown. Thus, the model element (a) represented by a rectangle is the model element of the upstream process, the model element (a) represented by a circle is the trace element, and the model element (c) represented by an octagon is It is a model element for downstream processes.
図14では、(a)の状態で入力部110にモデル変換の実行命令が入力されると、(b)に示すようにモデル取得部141によってモデル記憶部130に記憶されたモデル要素が読み出されてコピーモデル記憶部150にコピーされ、コピーモデルのモデル要素「A」(0)に基づいて下流工程のモデル要素「A´」(1)とトレース要素(0)が自動生成される。そして、モデル更新部136によって実モデルとコピーモデルとが比較されて、マージが行われて(c)に示すように上流工程のモデル要素「A」(0)と下流工程のモデル要素「A´」(1)とが、実モデルとしてモデル記憶部130に記憶される。このケースは、上述の処理例ではステップS16を経由するケースであり、下流工程のモデル要素が初めて生成された場合である。この後に、上流工程のモデル要素「A」(0)または下流工程のモデル要素「A´」(1)のいずれかが削除されるような編集が行われる場合がある。
In FIG. 14, when a model conversion execution instruction is input to the
図15では、(a)に示すように上流工程のモデル要素「A」(0)と、上流工程のモデル要素「A」(0)に基づいて生成された下流工程のモデル要素「A´」(1)と、下流工程のモデル要素「A´」が生成された際に同時に生成されたトレース要素(1)とが存在する。入力部110にモデル変換の実行命令が入力されると、(b)に示すようにモデル取得部141によってモデル記憶部130に記憶されたモデル要素が読み出されてコピーモデル記憶部150にコピーされ、コピーモデルのモデル要素「A」(0)に基づいて下流工程のモデル要素「A´」(2)が再度自動生成される。そして、モデル更新部136によって実モデルとコピーモデルとが比較される。ここでは、(c)に示されるように、比較の結果、モデル要素の内容に差分が無く、モデル記憶部130に記憶される実モデルには更新を行わずにモデル変換処理が終了した例が示される。
In FIG. 15, as shown in FIG. 15A, the model element “A” (0) of the upstream process and the model element “A ′” of the downstream process generated based on the model element “A” (0) of the upstream process. (1) and the trace element (1) generated simultaneously when the model element “A ′” of the downstream process is generated. When an execution instruction for model conversion is input to the
図16では、(a)に示すように上流工程のモデル要素「A」(0)と、上流工程のモデル要素「A」(0)に基づいて生成された下流工程のモデル要素「A´」(1)と、下流工程のモデル要素「A´」が生成された際に同時に生成されたトレース要素(1)とが存在する。そして、(b)に示されるように、モデル編集部120に入力される操作情報に応じて、下流工程のモデル要素「A´」(1)が変更されてモデル要素「A´」(2)としてモデル記憶部130に記憶されている。ここでは、(c)に示されるように、自動マージによるマージ方法に条件が一致せず、(d)に示されるように手動によりマージが行われ、下流工程のモデル要素が更新されている。なお、ここでは、自動マージによるマージ方法に条件が一致すれば、自動によりマージが行われ、下流工程のモデル要素が更新されない。
In FIG. 16, as shown in FIG. 16A, the model element “A” (0) of the upstream process and the model element “A ′” of the downstream process generated based on the model element “A” (0) of the upstream process. (1) and the trace element (1) generated simultaneously when the model element “A ′” of the downstream process is generated. Then, as shown in (b), the model element “A ′” (1) of the downstream process is changed in accordance with the operation information input to the
図17では、(a)に示すように上流工程のモデル要素「A」(0)と、上流工程のモデル要素「A」(0)に基づいて生成された下流工程のモデル要素「A´」(1)と、下流工程のモデル要素「A´」が生成された際に同時に生成されたトレース要素(1)とが存在する。そして、(b)に示すように下流工程のモデル要素「A´」(1)が削除されている。ここでは、(c)に示すようにモデル要素変換部143により上流工程のモデル要素「A」(0)に基づいてコピーモデルのモデル要素「A´」(2)が生成され、比較の結果、(d)に示されるように、手動により新たに生成された下流工程のモデル要素の追加が反映されている。
In FIG. 17, as shown in FIG. 17A, the model element “A” (0) of the upstream process and the model element “A ′” of the downstream process generated based on the model element “A” (0) of the upstream process. (1) and the trace element (1) generated simultaneously when the model element “A ′” of the downstream process is generated. Then, as shown in (b), the model element “A ′” (1) in the downstream process is deleted. Here, as shown in (c), the model
図18では、(a)に示すように上流工程のモデル要素「A」(0)と、上流工程のモデル要素「A」(0)に基づいて生成された下流工程のモデル要素「A´」(1)と、下流工程のモデル要素「A´」(1)が生成された際に同時に生成されたトレース要素(1)とが存在する。そして、(b)に示されるように、上流工程のモデル要素「A」が削除されている。ここで、(c)に示すようにモデル変換処理が行われると、実モデルの上流工程のモデル要素は削除されているため、コピーモデルにはモデル要素が生成されない。ここで、マージ方法が「上流の削除を反映」がONであれば、(d)に示すように上流工程のモデル要素と下流工程のモデル要素が、ともに削除された状態でモデル記憶部130に記憶される。また、この場合でも、必要であれば(e)のように手動により下流工程のモデル「A´´」(2)を生成することができる。
In FIG. 18, as shown in FIG. 18A, the model element “A” (0) of the upstream process and the model element “A ′” of the downstream process generated based on the model element “A” (0) of the upstream process. (1) and a trace element (1) generated simultaneously when the model element “A ′” (1) of the downstream process is generated. As shown in (b), the model element “A” of the upstream process is deleted. Here, when the model conversion process is performed as shown in (c), the model element is not generated in the copy model because the model element in the upstream process of the actual model is deleted. Here, if the merge method “reflect upstream deletion” is ON, as shown in (d), the model element in the upstream process and the model element in the downstream process are both deleted in the
以上説明したように、本実施形態によれば、モデル指向開発支援装置100による自動のモデル変換が行われモデル要素が生成された後に、生成されたモデル要素に対してユーザーからの操作情報に応じた手動の変更があった場合にも、その変更に応じてモデル変換を行うことが可能となる。例えば、上流工程のモデル要素に変更を加えた場合、下流工程のモデル要素に変更を加えた場合、上流工程と下流工程のモデル要素に変更を加えた場合などを、モデル要素自体の最終更新日時とトレース要素の最終更新日時とから判定することが可能となる。また、上流工程と下流工程のモデル要素に変更を加えた場合などには、自動ではマージを行えないような何らかの意図がある場合があるので、ユーザーによる手動のマージを行うことが可能となる。
As described above, according to the present embodiment, after automatic model conversion by the model-oriented
また、本実施形態によれば、(1)ユーザーにより修正されたモデル要素は、モデル変換処理によって上書きされることなく保持される、(2)ユーザーが意図的に削除したモデル要素が、モデル変換処理によって再生成されることがない、(3)ユーザーが意図的に追加したモデルが、モデル変換処理によって削除されることがない、(4)ユーザーが修正していないモデルは要素は、モデル変換処理によって上書きされ上流工程の変更に追従する、(5)上記(1)〜(3)に該当する条件をリストアップし、ユーザーによる編集に委ねて矛盾が発生していないかをユーザーに確認させることができる、(6)上記(1)〜(3)に関わらず、強制的にモデル変換処理を行ってモデル要素を上書きする、などのモデル変換処理が可能となる。 Further, according to the present embodiment, (1) the model element modified by the user is retained without being overwritten by the model conversion process, and (2) the model element intentionally deleted by the user is converted into the model (3) The model added intentionally by the user is not deleted by the model conversion process. (4) The model is not modified by the user. (5) List the conditions corresponding to (1) to (3) above, overwritten by processing, and let the user confirm whether there is a contradiction by leaving it to editing by the user (6) Regardless of (1) to (3) above, it is possible to perform model conversion processing such as forcibly performing model conversion processing and overwriting model elements. .
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりモデル変換処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。 Note that a program for realizing the function of the processing unit in the present invention is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system and executed to perform model conversion processing. You may go. Here, the “computer system” includes an OS and hardware such as peripheral devices. The “computer system” includes a WWW system having a homepage providing environment (or display environment). The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Further, the “computer-readable recording medium” refers to a volatile memory (RAM) in a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, those holding programs for a certain period of time are also included.
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。 The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.
100 モデル指向開発支援装置
110 入力部
120 モデル編集部
130 モデル記憶部
131 モデル要素記憶部
132 トレース要素記憶部
140 制御部
141 モデル取得部
142 モデル複製部
143 モデル要素変換部
144 モデル内容比較部
146 更新日時比較部
145 モデル更新部
147 マージ方法判定部
150 コピーモデル記憶部
160 マージ方法記憶部
DESCRIPTION OF
Claims (6)
前記複数工程のうち第1の工程に含まれる前記各モデル要素と、前記第1の工程に対応する下流工程となる第2の工程に含まれる前記各モデル要素と、前記それぞれのモデル要素毎に、当該モデル要素が記憶された日時を示す更新日時とが予め記憶されているモデル記憶部と、
前記第1の工程に含まれる前記各モデル要素が複製されたコピーモデルが記憶されるコピーモデル記憶部と、
前記第1の工程の各モデル要素に基づいて、前記第2の工程の各モデル要素を生成するモデル変換要求の入力を受付ける入力部と、
前記入力部に前記モデル変換要求が入力されると、前記第1の工程の各モデル要素を複製して前記コピーモデル記憶部に記憶させるモデル複製部と、
予め定められたモデル変換ルールに基づいて、前記コピーモデル記憶部に記憶された前記第1の工程の各モデル要素に応じた前記第2の工程の各モデル要素を生成して前記コピーモデル記憶部に記憶させ、かつ、前記第1の工程の各モデル要素を識別する上流モデル要素識別情報と、当該第1の工程の各モデル要素に基づいて生成した前記第2の工程のモデル要素を識別する下流モデル要素識別情報と、前記第2の工程のモデル要素を生成した日時を示す更新日時とが対応付けられたトレース要素を生成するモデル要素変換部と、
前記モデル要素変換部が生成した前記トレース要素が記憶されるトレース要素記憶部と、
前記モデル要素変換部に生成され、前記コピーモデル記憶部に記憶された前記第2の工程の各モデル要素の内容と、前記モデル記憶部に記憶された前記第2の工程の各モデル要素の内容とを比較し、前記内容が異なるか否かを判定するモデル内容比較部と、
前記モデル内容比較部が、前記内容が異なると判定した場合、前記モデル記憶部に記憶された前記第1の工程の各モデル要素の前記更新日時と、前記第2の工程の各モデル要素の前記更新日時と、当該モデル要素に対応する前記トレース要素に含まれる前記更新日時とを比較し、更新日時が異なるか否かを判定する更新日時比較部と、
前記更新日時比較部が、前記更新日時が異なると判定した場合、予め定められた手順に基づいて、前記コピーモデル記憶部に記憶された前記各モデル要素と、前記モデル記憶部に記憶された前記モデル要素とを統合して前記モデル記憶部に記憶させるモデル更新部と、
を備えることを特徴とするモデル指向開発支援装置。 Design and development of the software system in which each model element that models each function constituting the software system to be developed is hierarchized into a plurality of processes from an upstream process represented by an abstract concept to a downstream process represented by a source code A model-oriented development support device that supports
For each model element included in the second process, which is a downstream process corresponding to the first process, and each model element included in the first process among the plurality of processes. A model storage unit in which an update date and time indicating the date and time when the model element is stored is stored in advance;
A copy model storage unit for storing a copy model in which each model element included in the first step is copied;
An input unit that receives an input of a model conversion request for generating each model element of the second step based on each model element of the first step;
When the model conversion request is input to the input unit, a model duplication unit that duplicates each model element of the first step and stores it in the copy model storage unit;
Based on a predetermined model conversion rule, the copy model storage unit generates each model element of the second step according to each model element of the first step stored in the copy model storage unit And identifying the model element of the second step generated based on the upstream model element identification information for identifying each model element of the first step and each model element of the first step A model element conversion unit that generates a trace element in which downstream model element identification information is associated with an update date and time indicating a date and time when the model element of the second step is generated;
A trace element storage unit that stores the trace elements generated by the model element conversion unit;
Contents of each model element of the second step generated in the model element conversion unit and stored in the copy model storage unit, and contents of each model element of the second step stored in the model storage unit And a model content comparison unit that determines whether or not the content is different,
When the model content comparison unit determines that the content is different, the update date and time of each model element of the first step stored in the model storage unit and the model element of the second step An update date and time comparison unit that compares the update date and time and the update date and time included in the trace element corresponding to the model element and determines whether or not the update date and time are different;
When the update date and time comparison unit determines that the update date and time are different, based on a predetermined procedure, the model elements stored in the copy model storage unit and the model storage unit stored in the model storage unit A model update unit that integrates model elements and stores them in the model storage unit;
A model-oriented development support apparatus characterized by comprising:
前記モデル更新部は、前記統合手順記憶部に記憶されている前記統合手順に基づいて、前記コピーモデル記憶部に記憶された前記各モデル要素と、前記モデル記憶部に記憶された前記モデル要素とを統合して前記モデル記憶部に記憶させる
ことを特徴とする請求項1に記載のモデル指向開発支援装置。 When the update date and time comparison unit determines that the update date and time are different, the model element stored in the model element and the model element stored in the copy model storage unit are given priority. An integrated procedure storage unit in which an integration procedure indicating whether to integrate the model elements is stored;
The model update unit includes the model elements stored in the copy model storage unit and the model elements stored in the model storage unit based on the integration procedure stored in the integration procedure storage unit. The model-oriented development support apparatus according to claim 1, wherein the model storage unit is integrated and stored in the model storage unit.
前記入力部に入力される前記変更情報に応じて、前記モデル記憶部に記憶された前記モデル要素の内容を変更し、当該モデル要素に対応する前記更新日時として当該変更を行った日時を対応付けて前記モデル記憶部に記憶させるモデル編集部と、
を備えることを特徴とする請求項1または請求項2に記載のモデル指向開発支援装置。 The input unit receives an input of change information for changing a content of the model element stored in the model storage unit;
The content of the model element stored in the model storage unit is changed in accordance with the change information input to the input unit, and the date and time of the change is associated as the update date and time corresponding to the model element A model editing unit to be stored in the model storage unit,
The model-oriented development support apparatus according to claim 1, further comprising:
前記モデル更新部は、前記各モデル要素の全てについて、当該モデル要素に対応する前記トレース要素の存在の有無又はそれぞれの前記更新日時の異同が前記条件に一致するか否かを判定し、全て一致すれば、前記予め定められた手順に基づいて前記コピーモデル記憶部に記憶された前記各モデル要素と、前記モデル記憶部に記憶された前記モデル要素とを統合し、一致しないモデル要素が存在すれば、前記入力部に入力される前記モデル要素の前記変更情報に応じて前記統合を行う
ことを特徴とする請求項3に記載されたモデル指向開発支援装置。 In the integrated procedure storage unit, each of the model elements stored in the model storage unit, the presence / absence of the trace element corresponding to the model element, or a condition determined based on the difference in the update date / time And the integration procedure is stored according to
The model update unit determines, for all of the model elements, whether or not the trace element corresponding to the model element exists or whether each of the update dates / times matches the condition, and all match Then, the model elements stored in the copy model storage unit based on the predetermined procedure are integrated with the model elements stored in the model storage unit, and there is a model element that does not match. The model-oriented development support apparatus according to claim 3, wherein the integration is performed according to the change information of the model element input to the input unit.
入力部が、前記第1の工程の各モデル要素に基づいて、前記第2の工程の各モデル要素を生成するモデル変換要求の入力を受付けるステップと、
モデル複製部が、前記入力部に前記モデル変換要求が入力されると、前記第1の工程の各モデル要素を複製して前記コピーモデル記憶部に記憶させるステップと、
モデル要素変換部が、予め定められたモデル変換ルールに基づいて、前記コピーモデル記憶部に記憶された前記第1の工程の各モデル要素に応じた前記第2の工程の各モデル要素を生成して前記コピーモデル記憶部に記憶させ、かつ、前記第1の工程の各モデル要素を識別する上流モデル要素識別情報と、当該第1の工程の各モデル要素に基づいて生成した前記第2の工程のモデル要素を識別する下流モデル要素識別情報と、前記第2の工程のモデル要素を生成した日時を示す更新日時とが対応付けられたトレース要素を生成し、前記トレース要素記憶部に記憶させるステップと、
モデル内容比較部が、前記モデル要素変換部に生成され、前記コピーモデル記憶部に記憶された前記第2の工程の各モデル要素の内容と、前記モデル記憶部に記憶された前記第2の工程の各モデル要素の内容とを比較し、前記内容が異なるか否かを判定するステップと、
更新日時比較部が、前記モデル内容比較部により前記内容が異なると判定された場合、前記モデル記憶部に記憶された前記第1の工程の各モデル要素の前記更新日時と、前記第2の工程の各モデル要素の前記更新日時と、当該モデル要素に対応する前記トレース要素に含まれる前記更新日時とを比較し、更新日時が異なるか否かを判定するステップと、
モデル更新部が、前記更新日時比較部により前記更新日時が異なると判定された場合、予め定められた手順に基づいて、前記コピーモデル記憶部に記憶された前記各モデル要素と、前記モデル記憶部に記憶された前記モデル要素とを統合して前記モデル記憶部に記憶させるステップと、
を備えることを特徴とするモデル指向開発支援方法。 Design and development of the software system in which each model element that models each function constituting the software system to be developed is hierarchized into a plurality of processes from an upstream process represented by an abstract concept to a downstream process represented by a source code The model elements included in the first process among the plurality of processes, the model elements included in the second process which is a downstream process corresponding to the first process, and the respective processes. For each model element, a model storage unit in which an update date and time indicating the date and time when the model element is stored is stored in advance, and a copy model in which each model element included in the first step is duplicated is stored. Between the copy model storage unit and the model elements included in the second step corresponding to the model elements included in the first step The A model-oriented development support method using a model-oriented development tool and a tracing element storage unit which trace elements are stored indicating,
An input unit receiving an input of a model conversion request for generating each model element of the second process based on each model element of the first process;
When the model duplication unit inputs the model conversion request to the input unit, the model duplication unit duplicates each model element of the first step and stores it in the copy model storage unit;
The model element conversion unit generates each model element of the second step according to each model element of the first step stored in the copy model storage unit based on a predetermined model conversion rule. The second model generated based on the upstream model element identification information that is stored in the copy model storage unit and identifies each model element of the first process, and each model element of the first process A step of generating a trace element in which downstream model element identification information for identifying the model element is associated with an update date and time indicating a date and time when the model element of the second step is generated and stored in the trace element storage unit When,
A model content comparison unit is generated in the model element conversion unit and stored in the copy model storage unit. The content of each model element in the second step and the second step stored in the model storage unit Comparing the content of each model element to determine whether the content is different;
When the update date and time comparison unit determines that the content is different by the model content comparison unit, the update date and time of each model element of the first step stored in the model storage unit and the second step Comparing the update date and time of each model element with the update date and time included in the trace element corresponding to the model element, and determining whether or not the update date and time are different;
When the model update unit determines that the update date / time is different by the update date / time comparison unit, based on a predetermined procedure, each model element stored in the copy model storage unit, and the model storage unit Integrating and storing the model elements stored in the model storage unit;
A model-oriented development support method characterized by comprising:
前記第1の工程の各モデル要素に基づいて、前記第2の工程の各モデル要素を生成するモデル変換要求の入力を受付けるステップと、
前記モデル変換要求が入力されると、前記第1の工程の各モデル要素を複製して前記コピーモデル記憶部に記憶させるステップと、
予め定められたモデル変換ルールに基づいて、前記コピーモデル記憶部に記憶された前記第1の工程の各モデル要素に応じた前記第2の工程の各モデル要素を生成して前記コピーモデル記憶部に記憶させ、かつ、前記第1の工程の各モデル要素を識別する上流モデル要素識別情報と、当該第1の工程の各モデル要素に基づいて生成した前記第2の工程のモデル要素を識別する下流モデル要素識別情報と、前記第2の工程のモデル要素を生成した日時を示す更新日時とが対応付けられたトレース要素を生成し、前記トレース要素記憶部に記憶させるステップと、
前記コピーモデル記憶部に記憶された前記第2の工程の各モデル要素の内容と、前記モデル記憶部に記憶された前記第2の工程の各モデル要素の内容とを比較し、前記内容が異なるか否かを判定するステップと、
内容が異なると判定された場合、前記モデル記憶部に記憶された前記第1の工程の各モデル要素の前記更新日時と、前記第2の工程の各モデル要素の前記更新日時と、当該モデル要素に対応する前記トレース要素に含まれる前記更新日時とを比較し、更新日時が異なるか否かを判定するステップと、
更新日時が異なると判定された場合、予め定められた手順に基づいて、前記コピーモデル記憶部に記憶された前記各モデル要素と、前記モデル記憶部に記憶された前記モデル要素とを統合して前記モデル記憶部に記憶させるステップと、
を実行させるモデル指向開発支援プログラム。 Design and development of the software system in which each model element that models each function constituting the software system to be developed is hierarchized into a plurality of processes from an upstream process represented by an abstract concept to a downstream process represented by a source code The model elements included in the first process among the plurality of processes, the model elements included in the second process which is a downstream process corresponding to the first process, and the respective processes. For each model element, a model storage unit in which an update date and time indicating the date and time when the model element is stored is stored in advance, and a copy model in which each model element included in the first step is duplicated is stored. Between the copy model storage unit and the model elements included in the second step corresponding to the model elements included in the first step The computer model-oriented development tool and a tracing element storage unit which trace elements are stored indicating a
Receiving an input of a model conversion request for generating each model element of the second process based on each model element of the first process;
When the front SL model transformation request is input, the steps of replicating each model element of the first step is stored in the copy model storage unit,
Based on a predetermined model conversion rule, the copy model storage unit generates each model element of the second step according to each model element of the first step stored in the copy model storage unit And identifying the model element of the second step generated based on the upstream model element identification information for identifying each model element of the first step and each model element of the first step Generating a trace element in which downstream model element identification information is associated with an update date and time indicating a date and time when the model element of the second step is generated, and storing the trace element in the trace element storage unit;
Comparing the content of each model element before Symbol copy model storage unit on the stored second step, the content of each model element of the model stored the second memory in the unit step, said content Determining whether they are different, and
If the contents is determined that different, said the update date and time of each model element of the model storage said first stored in the unit step, and the update date and time of each model element of the second step, the model Comparing the update date and time included in the trace element corresponding to an element to determine whether the update date and time are different;
If update date is determined to differ, based on a predetermined procedure, and integrated with said copy model memory each model element stored in the unit, and the model elements stored in the model storage unit Storing in the model storage unit;
A model-oriented development support program that runs
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008228590A JP5111308B2 (en) | 2008-09-05 | 2008-09-05 | Model-oriented development support device, model-oriented development support method, and model-oriented development support program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008228590A JP5111308B2 (en) | 2008-09-05 | 2008-09-05 | Model-oriented development support device, model-oriented development support method, and model-oriented development support program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2010061543A JP2010061543A (en) | 2010-03-18 |
| JP5111308B2 true JP5111308B2 (en) | 2013-01-09 |
Family
ID=42188246
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008228590A Expired - Fee Related JP5111308B2 (en) | 2008-09-05 | 2008-09-05 | Model-oriented development support device, model-oriented development support method, and model-oriented development support program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5111308B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6618556B2 (en) * | 2018-01-27 | 2019-12-11 | 有限会社シェアリングシード | Source code management / generation program |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3847932B2 (en) * | 1997-12-26 | 2006-11-22 | 富士通株式会社 | Program creation support apparatus and program storage medium thereof |
| JP2007047971A (en) * | 2005-08-09 | 2007-02-22 | Fujitsu Ten Ltd | Individual program generation apparatus and method |
| JP2007122587A (en) * | 2005-10-31 | 2007-05-17 | Hitachi Ltd | Information system design and development method, terminal device, and program |
| JP4412674B2 (en) * | 2007-04-18 | 2010-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Apparatus and method for supporting model-driven development |
-
2008
- 2008-09-05 JP JP2008228590A patent/JP5111308B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2010061543A (en) | 2010-03-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108762743B (en) | Data table operation code generation method and device | |
| US7735062B2 (en) | Software development system and method | |
| Potvin et al. | Why Google stores billions of lines of code in a single repository | |
| KR100661393B1 (en) | Website Management System and Method Applying Web Programming Environment | |
| JP3946057B2 (en) | Consistency inspection support method and consistency inspection support system | |
| JP4907610B2 (en) | Software configuration management method and system | |
| US8826224B2 (en) | Apparatus and method for supporting model-driven development | |
| US20060168577A1 (en) | Software development system and method | |
| CN105144088A (en) | Association of metadata with source code and applications and services based on it | |
| US20160170719A1 (en) | Software database system and process of building and operating the same | |
| US20040216084A1 (en) | System and method of managing web content | |
| US20090083268A1 (en) | Managing variants of artifacts in a software process | |
| JP4613214B2 (en) | Software automatic configuration device | |
| US7886284B2 (en) | Using a backend simulator to test and develop xforms templates before linking the xforms templates to backend data processing systems | |
| US8527254B2 (en) | Simulator engine development system and simulator engine development method | |
| CN117950652A (en) | Component ecological application development method based on low-code platform | |
| JPH10254689A (en) | Application configuration design support method for client / server system | |
| WO2002046909A1 (en) | Automatically deploy and upgrade an application based on markup language application definition | |
| JP4360942B2 (en) | Software development support device | |
| Derks et al. | A benchmark generator framework for evolving variant-rich software | |
| JP5111308B2 (en) | Model-oriented development support device, model-oriented development support method, and model-oriented development support program | |
| Eyl et al. | Traceability in a fine grained software configuration management system | |
| US20030220939A1 (en) | Information processing system, information processing method, and information processing program | |
| US11977473B2 (en) | Providing a pseudo language for manipulating complex variables of an orchestration flow | |
| EP1684170A2 (en) | Software development system and method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101116 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120619 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120703 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120823 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120911 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121009 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151019 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5111308 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |