JP2003216428A - Object-oriented programming supporting device - Google Patents

Object-oriented programming supporting device

Info

Publication number
JP2003216428A
JP2003216428A JP2002018742A JP2002018742A JP2003216428A JP 2003216428 A JP2003216428 A JP 2003216428A JP 2002018742 A JP2002018742 A JP 2002018742A JP 2002018742 A JP2002018742 A JP 2002018742A JP 2003216428 A JP2003216428 A JP 2003216428A
Authority
JP
Japan
Prior art keywords
definition information
class
class definition
file
source code
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.)
Pending
Application number
JP2002018742A
Other languages
Japanese (ja)
Inventor
Shigeru Ogawara
繁 大河原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2002018742A priority Critical patent/JP2003216428A/en
Publication of JP2003216428A publication Critical patent/JP2003216428A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To compatibly attain production of a source code from a design model and improvement of maintenance when a programmer compiles the source code, in an object-oriented development. <P>SOLUTION: This object-oriented programming supporting device is provided with a class definition information selecting part 121 selecting class definition information necessary for producing the source code from the design model, a class definition information file producing part 13 producing a class definition information file 102, or the source code aiming at a mechanical processing without any intervention of a man power, a source programming part 14 producing the source code aiming at manual compilation based on the selected class definition information. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】この発明は、オブジェクト指
向開発において、設計モデルからソースコードを生成す
るオブジェクト指向プログラミング支援装置に関するも
のである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an object-oriented programming support device for generating source code from a design model in object-oriented development.

【0002】[0002]

【従来の技術】一般に、オブジェクト指向開発において
は、設計モデルの内容はきわめてプログラミング言語の
記述レベルに近く、クラス、属性、操作といった設計モ
デル上のモデル要素は、プログラミング言語上のデータ
構造、データメンバ、関数といった言語上の要素に明確
に対応付けられている。
2. Description of the Related Art Generally, in object-oriented development, the contents of a design model are very close to the description level of a programming language, and model elements on the design model such as classes, attributes, and operations are data structures and data members in the programming language. , Are clearly associated with linguistic elements such as functions.

【0003】したがって、設計モデルに基づいてプログ
ラムを記述する場合、設計モデル上のモデル要素の一つ
一つについて対応するプログラミング言語上の要素を記
述する必要があり、単調で煩雑な作業を行なわなければ
ならなかった。
Therefore, when writing a program on the basis of a design model, it is necessary to describe corresponding programming language elements for each model element on the design model, and monotonous and complicated work must be performed. I had to do it.

【0004】このような作業を人手で行なう場合、設計
モデルを元にソースコードを記述する際の作業効率の問
題と、作業ミスをなくし内容の一貫性を保証することが
難しいという問題点があったため、ツールを使用し、設
計モデルからソースコードの雛形を機械的に生成し、プ
ログラマ自身が記述を追加することによってソースコー
ドを完成させることが、従来から行われてきた(従来技
術1)。
When such a work is manually performed, there are problems of work efficiency when describing a source code based on a design model and problems that it is difficult to eliminate work mistakes and guarantee consistency of contents. Therefore, it has been conventionally performed that a source code template is mechanically generated from a design model using a tool, and a programmer himself completes the source code by adding a description (prior art 1).

【0005】しかしながら、この従来技術1では、前述
した作業効率および内容の一貫性保証に関する問題点は
大幅に改善されたが、機械的なコード生成が利用できる
のは最初にソースコードの雛型を作るときだけであり、
プログラマがソースコードに記述を追加した後に設計モ
デルを変更した場合、設計モデルの変更に対応するソー
スコードの変更は、プログラマ自身が行なわなければな
らないという問題点があった。
However, in the prior art 1, although the above-mentioned problems concerning work efficiency and guarantee of consistency of contents are greatly improved, mechanical code generation can be used first by using a source code template. Only when making,
When the programmer modifies the design model after adding the description to the source code, there is a problem that the programmer itself has to modify the source code corresponding to the modification of the design model.

【0006】さらに、この問題点を解決するため、ツー
ルが解釈できるキーワードをコメント文の中に埋め込む
ことによって、1つのファイルとして記述されたソース
コードを、機械的にコード生成される領域と、人手で変
更するための領域との2つの領域に区分するという技術
があった(従来技術2)。
Further, in order to solve this problem, by embedding a keyword that can be interpreted by a tool in a comment sentence, the source code described as one file is generated in a mechanically coded area and manually. There was a technique of dividing into two regions, that is, a region for changing in (conventional technique 2).

【0007】[0007]

【発明が解決しようとする課題】しかしながら、この従
来技術2では、機械的に処理されプログラマが変更して
はならない領域と、プログラマが記述しなければならな
い領域とが、1つのファイルの中に混在するため、プロ
グラマは機械処理のための領域を誤って変更しないよう
注意深く作業する必要があり、誤って変更してしまうこ
とで、再度コード生成した際にプログラマが追加した情
報が消失するなどの問題点があった。
However, in the prior art 2, the area that is mechanically processed and should not be changed by the programmer and the area that the programmer must write are mixed in one file. Therefore, the programmer needs to work carefully so as not to accidentally change the area for machine processing, and by mistake, the information added by the programmer is lost when the code is generated again. There was a point.

【0008】この発明は、上記に鑑みてなされたもので
あり、設計モデルから自動的に生成され機械的に処理さ
れる情報と、プログラマが手作業で追加する記述とを別
のファイルに分離することで、プログラマが誤って機械
処理のための情報を書き換えてしまう危険性をなくし、
ソースコードの保守性を改善したオブジェクト指向プロ
グラミング支援装置を得ることを目的とする。
The present invention has been made in view of the above, and separates information automatically generated from a design model and mechanically processed and description manually added by a programmer into separate files. This eliminates the risk of programmers accidentally rewriting information for machine processing,
The object is to obtain an object-oriented programming support device with improved maintainability of source code.

【0009】[0009]

【課題を解決するための手段】上記目的を達成するた
め、この発明にかかるオブジェクト指向プログラミング
支援装置は、オブジェクト指向プログラミングを支援す
る装置であって、設計モデルからソースコード生成に必
要なクラス定義情報を抽出するクラス定義情報抽出部
と、前記抽出されたクラス定義情報に基づいて、人手を
介さない機械的処理を目的としたソースコードであるク
ラス定義情報ファイルを生成するクラス定義情報ファイ
ル作成部と、抽出されたクラス定義情報に基づいて、人
手を介する編集を目的としたソースコードを生成するソ
ースプログラム作成部とを備えることを特徴とする。
In order to achieve the above object, an object-oriented programming support device according to the present invention is a device for supporting object-oriented programming, and class definition information necessary for generating source code from a design model. And a class definition information file creating section for generating a class definition information file which is a source code intended for mechanical processing without human intervention, based on the extracted class definition information. And a source program creation unit that creates a source code for editing by humans based on the extracted class definition information.

【0010】この発明によれば、設計モデルからソース
コード生成に必要なクラス定義情報を抽出し、この抽出
されたクラス定義情報に基づいて、人手を介さない機械
的処理を目的としたクラス定義情報ファイルと、人手を
介する編集を目的としたソースコードとを生成すること
とした。
According to the present invention, the class definition information required for generating the source code is extracted from the design model, and based on the extracted class definition information, the class definition information for the purpose of mechanical processing without human intervention. It was decided to generate the file and the source code for the purpose of manual editing.

【0011】つぎの発明にかかるオブジェクト指向プロ
グラミング支援装置は、上記の発明において、前記クラ
ス定義情報ファイル作成部は、クラス定義情報ファイル
としてC/C++言語で記述されたソースコードを生成
し、前記ソースプログラム作成部は、前記クラス定義情
報ファイルをインクルードするC/C++言語で記述さ
れたソースコードを生成することを特徴とする。
In the object-oriented programming support device according to the next invention, in the above invention, the class definition information file creating section generates a source code described in C / C ++ language as a class definition information file, The program creating unit is characterized by generating a source code written in C / C ++ language that includes the class definition information file.

【0012】この発明によれば、クラス定義情報ファイ
ル作成部が、C/C++言語で記述されたソースコード
を生成し、ソースプログラム作成部が、C/C++言語
で記述されたソースコードを生成することとした。
According to the present invention, the class definition information file creating unit creates the source code written in the C / C ++ language, and the source program creating unit creates the source code written in the C / C ++ language. I decided.

【0013】つぎの発明にかかるオブジェクト指向プロ
グラミング支援装置は、上記の発明において、前記ソー
スプログラム作成部は、生成するソースコードがC/C
++言語のヘッダファイルであることを特徴とする。
In the object-oriented programming support device according to the next invention, in the above invention, the source program creating section has a source code generated by C / C.
It is characterized by being a header file of ++ language.

【0014】この発明によれば、ソースプログラム作成
部が、C/C++言語のヘッダファイルを生成すること
とした。
According to the present invention, the source program creating section creates the header file in the C / C ++ language.

【0015】つぎの発明にかかるオブジェクト指向プロ
グラミング支援装置は、上記の発明において、前記ソー
スプログラム作成部は、生成するソースコードがC/C
++言語のソースファイルであることを特徴とする。
In the object-oriented programming support device according to the next invention, in the above invention, the source program creating section has a source code generated by C / C.
It is characterized by being a source file of ++ language.

【0016】この発明によれば、ソースプログラム作成
部が、C/C++言語のソースファイルを生成すること
とした。
According to the present invention, the source program creating section creates a source file in C / C ++ language.

【0017】つぎの発明にかかるオブジェクト指向プロ
グラミング支援装置は、上記の発明において、前記クラ
ス定義情報ファイル作成部は、設計モデルに含まれるク
ラス間の依存関係に基づいて、クラスに対応するソース
ファイルおよびヘッダファイルのインクルード関係を認
識し、クラス定義情報ファイルにインクルード指令の記
述を生成することを特徴とする。
In the object-oriented programming support device according to the next invention, in the above invention, the class definition information file creating section is configured to include a source file corresponding to a class and a source file corresponding to the class based on a dependency relationship between the classes included in the design model. It is characterized by recognizing the inclusion relation of the header file and generating the description of the include directive in the class definition information file.

【0018】この発明によれば、クラス定義情報ファイ
ル作成部が、設計モデルに含まれるクラス間の依存関係
に基づいて、クラスに対応するソースファイルおよびヘ
ッダファイルのインクルード関係を認識し、クラス定義
情報ファイルにインクルード指令の記述を生成すること
とした。
According to the present invention, the class definition information file creating section recognizes the include relationship between the source file and the header file corresponding to the class based on the dependency relationship between the classes included in the design model, and the class definition information. It was decided to generate the description of the include directive in the file.

【0019】つぎの発明にかかるオブジェクト指向プロ
グラミング支援装置は、上記の発明において、前記クラ
ス定義情報ファイル作成部は、設計モデルに含まれるク
ラスの属性の情報とクラス間の関連の情報に基づいて、
クラスに対応するデータ型定義の記述を、クラス定義情
報ファイルに生成することを特徴とする。
In the object-oriented programming support device according to the next invention, in the above invention, the class definition information file creating section is configured to, based on information on attributes of classes included in a design model and information on relationships between classes,
It is characterized in that the description of the data type definition corresponding to the class is generated in the class definition information file.

【0020】この発明によれば、クラス定義情報ファイ
ル作成部が、設計モデルに含まれるクラスの属性の情報
とクラス間の関連の情報に基づいて、クラスに対応する
データ型定義の記述を、クラス定義情報ファイルに生成
することとした。
According to the present invention, the class definition information file creating section writes the description of the data type definition corresponding to the class based on the information of the attribute of the class included in the design model and the information of the relation between the classes. It is decided to generate it in the definition information file.

【0021】つぎの発明にかかるオブジェクト指向プロ
グラミング支援装置は、上記の発明において、前記クラ
ス定義情報ファイル作成部は、設計モデルに含まれるク
ラスの操作の情報に基づいて、関数宣言をクラス定義情
報ファイルに生成することを特徴とする。
In the object-oriented programming support device according to the next invention, in the above invention, the class definition information file creating section makes the function declaration a class definition information file based on the operation information of the class included in the design model. It is characterized in that it is generated.

【0022】この発明によれば、クラス定義情報ファイ
ル作成部が、設計モデルに含まれるクラスの操作の情報
に基づいて、関数宣言をクラス定義情報ファイルに生成
することとした。
According to the present invention, the class definition information file creating section generates the function declaration in the class definition information file based on the operation information of the class included in the design model.

【0023】つぎの発明にかかるオブジェクト指向プロ
グラミング支援装置は、上記の発明において、前記ソー
スプログラム作成部は、設計モデルに含まれるクラスの
操作の情報に基づいて、関数定義の雛型をC/C++言
語のソースファイルに生成することを特徴とする。
In the object-oriented programming support apparatus according to the next invention, in the above invention, the source program creating unit creates a C / C ++ template of a function definition based on information on an operation of a class included in a design model. The feature is that it is generated in the language source file.

【0024】この発明によれば、ソースプログラム作成
部が、設計モデルに含まれるクラスの操作の情報に基づ
いて、関数定義の雛型をC/C++言語のソースファイ
ルに生成することとした。
According to the present invention, the source program creating unit creates the template of the function definition in the source file of the C / C ++ language based on the operation information of the class included in the design model.

【0025】[0025]

【発明の実施の形態】以下に添付図面を参照して、この
発明にかかるオブジェクト指向プログラミング支援装置
の好適な実施の形態を詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT A preferred embodiment of an object-oriented programming support device according to the present invention will be described in detail below with reference to the accompanying drawings.

【0026】図1は、この発明にかかるオブジェクト指
向プログラミング支援装置の構成を示すブロック図であ
る。同図において、11は全体の処理の実行を管理する
実行管理部を、12は設計モデル101からクラス定義
情報を抽出するクラス定義情報抽出部を、13はクラス
定義情報抽出部12で抽出されたクラス定義情報を元
に、クラス定義情報ファイル102を作成するクラス定
義情報ファイル作成部を、14はクラス定義情報抽出部
12で抽出されたクラス定義情報を元に、C/C++ヘ
ッダファイル103およびC/C++ソースファイル1
04を作成するソースプログラム作成部から構成され
る。
FIG. 1 is a block diagram showing the configuration of an object-oriented programming support device according to the present invention. In the figure, 11 is an execution management unit that manages the execution of the entire process, 12 is a class definition information extraction unit that extracts class definition information from the design model 101, and 13 is a class definition information extraction unit 12. A class definition information file creation unit that creates the class definition information file 102 based on the class definition information, and 14 based on the class definition information extracted by the class definition information extraction unit 12, C / C ++ header files 103 and C / C ++ source file 1
It is composed of a source program creating section for creating 04.

【0027】つぎに、このオブジェクト指向プログラミ
ング支援装置による処理の概要について、図1を用いて
簡単に説明する。まず、実行管理部11は、クラス定義
情報抽出部12、クラス定義情報ファイル作成部13お
よびソースプログラム作成部14の各部を制御して、こ
のオブジェクト指向プログラミング支援装置の処理全体
を管理する。つぎに、クラス定義情報抽出部12は、設
計モデル101に含まれる各種設計情報の中からクラス
定義に関わる情報だけを抽出する。さらに、クラス定義
情報ファイル作成部13は、クラス定義情報抽出部12
で抽出されたクラス定義情報に基づいて、プログラマの
手によって変更されることのない部分だけで構成された
ソースコードファイルであるクラス定義情報ファイル1
02を作成する。一方、ソースプログラム作成部14
は、クラス定義情報抽出部12で抽出されたクラス定義
情報に基づいて、プログラマが内容を随時変更する部分
を含むソースコードファイルであるC/C++ヘッダフ
ァイル103およびC/C++ソースファイル104を
作成する。
Next, an outline of processing by the object-oriented programming support device will be briefly described with reference to FIG. First, the execution management unit 11 controls each of the class definition information extraction unit 12, the class definition information file creation unit 13, and the source program creation unit 14 to manage the entire processing of this object-oriented programming support device. Next, the class definition information extraction unit 12 extracts only the information related to the class definition from the various design information included in the design model 101. Further, the class definition information file creating unit 13 includes the class definition information extracting unit 12
Class definition information file 1 which is a source code file that is composed only of parts that are not changed by the programmer based on the class definition information extracted in
Create 02. On the other hand, the source program creation unit 14
Creates a C / C ++ header file 103 and a C / C ++ source file 104, which are source code files including a portion where the programmer changes the contents at any time, based on the class definition information extracted by the class definition information extraction unit 12. .

【0028】つぎに、このオブジェクト指向プログラミ
ング支援装置の処理のフローについて説明する。図2
は、オブジェクト指向プログラミング支援装置の全体の
処理の流れを示すフローチャートである。まず、クラス
定義情報抽出部12は、設計モデル101から設計情報
を読み込み、その中からクラス定義にかかる情報だけを
抽出する(ステップS201)。つぎに、クラス定義情
報ファイル作成部13は、クラス定義情報抽出部12で
抽出されたクラス定義情報に基づいて、クラス定義情報
ファイル102を作成する(ステップS202)。
Next, the processing flow of this object-oriented programming support device will be explained. Figure 2
3 is a flowchart showing the flow of the entire processing of the object-oriented programming support device. First, the class definition information extraction unit 12 reads design information from the design model 101 and extracts only the information related to the class definition from the design information (step S201). Next, the class definition information file creation unit 13 creates the class definition information file 102 based on the class definition information extracted by the class definition information extraction unit 12 (step S202).

【0029】つぎに、作成の対象としているクラスが、
初めてコード生成を行なう新規クラスであるか否かを判
定する(ステップS203)。新規クラスかどうかは、
その生成対象となっているクラスのC/C++ヘッダフ
ァイルやC/C++ソースファイルが、C/C++ヘッ
ダファイル103および/またはC/C++ソースファ
イル104の中に存在するかどうかで判定することがで
きる。新規クラスの場合には、プログラマがソースコー
ドを記述するための雛型になるファイルがまだ存在して
いないため、新たに生成する必要が生じる。そこで新規
クラスであると判定した場合には、ソースプログラム作
成部14は、C/C++ヘッダファイル103(ステッ
プS204)およびC/C++ソースファイル104
(ステップS205)をそれぞれ作成する。
Next, the class to be created is
It is determined whether the class is a new class for which code generation is performed for the first time (step S203). Whether it is a new class,
It can be determined whether or not the C / C ++ header file or C / C ++ source file of the class that is the generation target exists in the C / C ++ header file 103 and / or the C / C ++ source file 104. . In the case of a new class, since a model file for the programmer to describe the source code does not yet exist, it is necessary to newly generate it. If it is determined that the class is a new class, the source program creation unit 14 determines that the C / C ++ header file 103 (step S204) and the C / C ++ source file 104 are included.
(Step S205) is created respectively.

【0030】つぎに、クラス定義情報抽出部12、クラ
ス定義情報ファイル作成部13、ソースプログラム作成
部14の各部の処理について、それぞれ具体例を示して
説明する。
Next, the processing of each of the class definition information extraction unit 12, class definition information file creation unit 13, and source program creation unit 14 will be described with reference to specific examples.

【0031】まず、クラス定義情報抽出部12の処理に
ついて説明する。図3は、UML(Unified Modeling L
anguage)表記にしたがって記述された設計モデル10
1の例である。UMLはオブジェクト指向を使ってモデ
リングする際に使われる統一的な言語であり、ソフトウ
ェアの構造をソースコードに比較してより抽象的かつ体
系的に表記する手法を提供する。同図では、3つのクラ
スが定義されているが、301はクラス「AddressBoo
k」を、302はクラス「Address」を、303はクラス
「Person」をそれぞれ表している。なお、クラスとは、
共通の構造(属性)や振る舞い(操作)をもったオブジ
ェクト(実体)の集合を抽象的に定義したものである。
First, the processing of the class definition information extraction unit 12 will be described. Figure 3 shows UML (Unified Modeling L)
anguage) Design model 10 described according to the notation
1 is an example. UML is a unified language used when modeling using object-oriented programming, and provides a method of expressing the structure of software in a more abstract and systematic way compared to source code. In the figure, although three classes are defined, 301 is a class "AddressBoo
“K”, 302 represents a class “Address”, and 303 represents a class “Person”. The class is
It is an abstract definition of a set of objects (entities) that have a common structure (attribute) and behavior (operation).

【0032】図3において、クラスはそれぞれボックス
の図形で表現され、ボックスを分割した上段の欄がクラ
ス名を表している。また、クラス「AddressBook」30
1は、属性として「BookName」を、操作として「Regist
erPerson」を持っている。UML表記では、属性はボッ
クスの中段、操作はボックスの下段に記述される。ま
た、同図には、「AddressBook」301から「Address」
302に向かう破線の矢印と、「AddressBook」301
から「Person」303に向かう実線の矢印とが示されて
いる。実線の矢印はクラス間の「関連」を、破線の矢印
はクラス間の「依存関係」を、それぞれ表しており、ク
ラス「AddressBook」はクラス「Address」への依存関係
とクラス「Person」への関連を持っていることを示して
いる。なお、この例ではクラス「Address」と「Perso
n」の属性および操作は省略している。
In FIG. 3, each class is represented by a box graphic, and the upper column dividing the box represents the class name. Also, the class "AddressBook" 30
1 has "BookName" as an attribute and "Regist" as an operation.
erPerson ”. In UML notation, attributes are described in the middle part of the box and operations are described in the bottom part of the box. In addition, in the figure, from “AddressBook” 301 to “Address”
A dashed arrow pointing to 302 and "AddressBook" 301
And a solid arrow pointing from "Person" 303 to. The solid arrow represents the "association" between the classes, and the dashed arrow represents the "dependency" between the classes. The class "AddressBook" represents the dependency on the class "Address" and the class "Person". It has a relationship. In this example, the classes "Address" and "Perso
The attributes and operations of “n” are omitted.

【0033】ここで、クラス間の「関連」とは、関連元
クラスのあるインスタンスから関連先クラスのインスタ
ンスを特定するための情報を関連元クラスのインスタン
スが保持する関係であり、ソースコード上では、関連元
クラスのデータメンバとして、関連先クラスへのポイン
タを持つ関係である。なお、インスタンスとは、クラス
で定義された属性と操作を持つものを実体化したもので
ある。
Here, "association" between classes is a relationship in which the instance of the association source class holds information for identifying an instance of the association destination class from an instance of the association source class, and in the source code. , A relation having a pointer to the relation destination class as a data member of the relation source class. An instance is an instantiation of one that has the attributes and operations defined in the class.

【0034】また、クラス間の「依存関係」とは、依存
先クラスが提供するサービスを依存元クラスが使用する
関係であり、ソースコード上では、依存元クラスのソー
スファイル中で依存先クラスのヘッダファイルをインク
ルードし、依存先クラスが提供する関数を呼出す関係で
ある。
The "dependency relationship" between classes is a relationship in which the service provided by the dependent class is used by the dependent class, and in the source code, the dependent class is described in the source file of the dependent class. It is a relationship that includes the header file and calls the function provided by the dependent class.

【0035】一般にオブジェクト指向の設計モデルの中
には、クラスのデータ構造やクラス間の関係を表す静的
な情報や、動作時の振舞いを表す動的な情報などさまざ
まな情報が含まれている。このクラス定義情報抽出部1
2は、設計モデル101の中からクラス定義に関わる情
報だけを取り出す。具体的には、クラス内部の情報とし
てクラスの名前、クラスの属性の名前とデータ型、クラ
スの操作の名前、引数リスト、戻り値の型を抽出する。
また、クラス間の関係情報として、依存関係における依
存先のクラス、関連における関連先のクラスの名前を抽
出する。
Generally, an object-oriented design model includes various kinds of information such as static information indicating the data structure of classes and relationships between classes and dynamic information indicating behavior at the time of operation. . This class definition information extraction unit 1
2 retrieves only the information related to the class definition from the design model 101. Specifically, the class name, class attribute name and data type, class operation name, argument list, and return value type are extracted as information inside the class.
Further, as the relationship information between classes, the names of the dependent classes in the dependency relationship and the names of the related classes in the association are extracted.

【0036】図4は、図3に示した設計モデル内のクラ
ス「AddressBook」301について、クラス定義情報抽
出部12によって抽出されたクラス定義情報を示したも
のである。設計モデルのクラス定義とクラス間の関係に
ついて情報が抽出されている。属性については、属性名
「BookName」とその型である「string」が、操作につい
ては、操作名「RegisterPerson」、引数リスト“(Perso
n* psn, Address* adrs)”、および戻り値の型「bool」
が抽出されている。依存関係については、依存先クラス
の名前「Address」が、関連については、関連先クラス
の名前「Person」が抽出されている。なお、この具体例
では1つのクラスにのみ注目しているが、実際には設計
モデル中に含まれるすべてのクラスが処理の対象とな
る。
FIG. 4 shows the class definition information extracted by the class definition information extraction unit 12 for the class "AddressBook" 301 in the design model shown in FIG. Information is extracted about the class definitions in the design model and the relationships between the classes. For attributes, the attribute name is "BookName" and its type is "string". For operations, the operation name is "RegisterPerson" and the argument list is "(Perso
n * psn, Address * adrs) ”and return type“ bool ”
Has been extracted. The name “Address” of the dependent class is extracted for the dependency relationship, and the name “Person” of the related class is extracted for the relationship. In this specific example, attention is paid to only one class, but in reality, all the classes included in the design model are subject to processing.

【0037】つぎに、クラス定義情報ファイル作成部1
3の処理について説明する。クラス定義情報作成部13
は、クラス定義情報抽出部12が抽出したクラス定義情
報に基づいてクラス定義情報ファイル102を作成す
る。クラス定義情報ファイル102は機械的に生成さ
れ、プログラマの手によって変更されることがないファ
イルである。また、クラス定義情報ファイル102は、
クラスのデータ構造の定義、クラスの操作を実現する関
数の宣言、および関係先クラスのヘッダファイルをイン
クルードする指令の記述から構成されており、設計モデ
ルが変更されるたびに繰り返し作成される。
Next, the class definition information file creating section 1
The process of No. 3 will be described. Class definition information creation unit 13
Creates the class definition information file 102 based on the class definition information extracted by the class definition information extraction unit 12. The class definition information file 102 is a file that is mechanically generated and is not changed by the programmer. Also, the class definition information file 102 is
It consists of the definition of the data structure of the class, the declaration of the function that realizes the operation of the class, and the description of the directive that includes the header file of the related class, and is created repeatedly every time the design model is changed.

【0038】図5は、図4に示した“クラスAddressBoo
kのクラス定義情報”に基づいてクラス定義情報ファイ
ル作成部13が生成したクラス定義情報ファイル102
の具体例を示したものである。501は、C/C++ヘ
ッダファイル103(拡張子が.hのファイル)からイン
クルードされるクラス定義情報ファイル("AdrBkDef1.
h")を、502は、C/C++ソースファイル104
(拡張子が .cまたは .cppのファイル)からインクルード
されるクラス定義情報ファイル("AdrBkDef2.h")を示
している。
FIG. 5 shows the "class AddressBoo" shown in FIG.
The class definition information file 102 generated by the class definition information file creation unit 13 based on the “class definition information of k”
Is a concrete example of the above. A class definition information file 501 ("AdrBkDef1.501" is included from the C / C ++ header file 103 (file with extension .h).
h "), 502 is the C / C ++ source file 104
The class definition information file ("AdrBkDef2.h") included from (files with the extension .c or .cpp) is shown.

【0039】ここでは、C/C++ヘッダファイル10
3からインクルードされるクラス定義情報ファイルと、
C/C++ソースファイル104からインクルードされ
るクラス定義情報ファイルとを、別々のファイルとする
例を示したが、これを1つのファイルとして作成し、
「#ifdef〜#endif」などの条件コンパイル指令を利用
し、インクルード元のファイルに応じて必要な部分だけ
がコンパイルされるようにしてもよい。
Here, the C / C ++ header file 10
Class definition information file included from 3,
Although an example in which the class definition information file included from the C / C ++ source file 104 and the class definition information file are separate files has been shown, this is created as one file,
Conditional compilation directives such as "#ifdef ~ #endif" may be used to compile only the necessary parts according to the include source file.

【0040】さて、図5の501では、クラスのデータ
構造を定義するためのクラス定義の記述が生成されてい
る。同図では、クラスの名前には「AddressBook」が用
いられ、クラスのメンバ変数として、属性に対応する
「string」型の「BookName」と、関連に対応する「Pers
on」型へのポインタ「thePerson」が生成されている。
また、クラスの操作に対応した関数宣言の記述として、
メンバ関数「RegisterPerson」が宣言されている。ま
た、図5の502では、クラスの依存関係や関連に基づ
くインクルード関係の記述が生成されている。同図で
は、依存関係先のクラス「Address」、関連先のクラス
「Person」、および自身のクラス「AddressBook」のC
/C++ヘッダファイルへのインクルード記述が生成さ
れている。
Now, in 501 of FIG. 5, a class definition description for defining the data structure of the class is generated. In the figure, “AddressBook” is used as the class name, and “BookName” of the “string” type corresponding to the attribute and “Pers” corresponding to the association are used as the member variables of the class.
A pointer "thePerson" to the "on" type has been generated.
Also, as the description of the function declaration corresponding to the operation of the class,
The member function "RegisterPerson" is declared. Further, in 502 of FIG. 5, the description of the include relationship based on the class dependency relationship and the relationship is generated. In the figure, C of the dependency destination class "Address", the relation destination class "Person", and the own class "AddressBook"
An include description for the / C ++ header file has been generated.

【0041】この501および502は、別々のファイ
ルとして作成する例であり、それぞれ、C++言語を用
いたソースコードを示している。なお、C言語において
も、構造体と関数プロトタイプ宣言を用いることで同様
の表現が可能である。
Reference numerals 501 and 502 are examples of creating them as separate files, and each show a source code using the C ++ language. In the C language, the same expression can be made by using the structure and function prototype declaration.

【0042】つぎに、ソースプログラム作成部14の処
理について説明する。ソースプログラム作成部14は、
クラス定義情報抽出部12が抽出したクラス定義情報に
基づいて、C/C++ヘッダファイル103とC/C+
+ソースファイル104を作成する。C/C++ヘッダ
ファイル103とC/C++ソースファイル104は、
プログラマが内容を随時変更し保守するファイルであ
る。ソースプログラム作成部14は、その両者のファイ
ルの雛型を生成する。なお、両者のファイルの作成は、
新規にクラスを作ったときに1度だけ行なわれる。
Next, the processing of the source program creating section 14 will be described. The source program creation unit 14
Based on the class definition information extracted by the class definition information extraction unit 12, the C / C ++ header file 103 and C / C +
+ Source file 104 is created. The C / C ++ header file 103 and the C / C ++ source file 104 are
It is a file whose contents are changed and maintained by the programmer. The source program creation unit 14 creates a template of both files. In addition, the creation of both files,
This is only done once when a new class is created.

【0043】図6は、図4に示した“クラスAddressBoo
kのクラス定義情報”に基づいてソースプログラム作成
部14が生成したC/C++ヘッダファイル103のC
++言語での記述例である。同図において、C/C++
ヘッダファイル103の領域601には、クラス「Addr
essBook」のクラス定義情報ファイル102のうち、図
5の501に示したクラス定義情報ファイル("AdrBkDe
f1.h")だけがインクルードされている。
FIG. 6 shows the "class AddressBoo" shown in FIG.
C of the C / C ++ header file 103 generated by the source program generator 14 based on the "class definition information of k"
This is a description example in ++ language. In the figure, C / C ++
In the area 601 of the header file 103, the class “Addr
Of the class definition information file 102 of “essBook”, the class definition information file 501 (“AdrBkDe
Only f1.h ") is included.

【0044】図7は、図4に示した“クラスAddressBoo
kのクラス定義情報”に基づいてソースプログラム作成
部14が生成したC/C++ソースファイル104のC
++言語での記述例である。同図に示した、C/C++
ソースファイル104の領域701には、クラス「Addr
essBook」のクラス定義情報ファイル102のうち、図
5の502に示したクラス定義情報ファイル("AdrBkDe
f2.h")だけがインクルードされている。また、操作の
定義にしたがって、関数定義の雛型702が生成されて
いる。
FIG. 7 shows the "class AddressBoo" shown in FIG.
C of the C / C ++ source file 104 generated by the source program creation unit 14 based on the "class definition information of k"
This is a description example in ++ language. C / C ++ shown in the figure
In the area 701 of the source file 104, the class “Addr
Of the class definition information file 102 of “essBook”, the class definition information file (“AdrBkDe
Only f2.h ") is included. In addition, a function definition template 702 is generated according to the operation definition.

【0045】なお、図6のC/C++ヘッダファイル1
03および図7のC/C++ソースファイル104につ
いても、構造体と関数プロトタイプ宣言を用いることで
C言語による同様の表現が可能である。
The C / C ++ header file 1 in FIG.
03 and the C / C ++ source file 104 in FIG. 7 can also be represented in the same C language by using the structure and function prototype declaration.

【0046】つぎに、このオブジェクトプログラミング
支援装置において、目的のソースファイルを新規に作成
する場合の手順について簡単に説明する。まず、設計モ
デル101から、クラス定義情報ファイル102を生成
する。前述したように、このクラス定義情報ファイル1
02は、クラスのデータ構造の定義、クラスの操作を実
現する関数の宣言、関係先クラスのヘッダファイルをイ
ンクルードする記述から構成されており、設計モデルが
変更されない限り、プログラマの手によって変更するこ
とのないファイルである。
Next, a procedure for newly creating a target source file in this object programming support device will be briefly described. First, the class definition information file 102 is generated from the design model 101. As mentioned above, this class definition information file 1
02 consists of the definition of the data structure of the class, the declaration of the function that realizes the operation of the class, and the description that includes the header file of the related class. It can be changed by the programmer unless the design model is changed. There is no file.

【0047】つぎに、このクラス定義情報ファイル10
2から、ソースファイルの雛型であるC/C++ヘッダ
ファイル103およびC/C++ソースファイル104
を生成する。最後に、プログラマの手により、この2つ
のソースファイルの処理内容が書き加えられることで目
的のソースファイルが完成する。なお、プログラム完成
後の保守段階では、プログラマは、ソースファイルの雛
型であるC/C++ヘッダファイル103およびC/C
++ソースファイル104だけを保守すれば足り、設計
モデルが変更されない限り、クラス定義情報ファイル1
02を保守する必要はない。
Next, the class definition information file 10
From 2, the C / C ++ header file 103 and the C / C ++ source file 104, which are the source file templates
To generate. Finally, the programmer's hand adds the processing contents of these two source files to complete the target source file. At the maintenance stage after the completion of the program, the programmer has to write the C / C ++ header file 103 and C / C ++ which are the template of the source file.
++ Only the source file 104 needs to be maintained, and unless the design model is changed, the class definition information file 1
No need to maintain 02.

【0048】このようにこの実施の形態によれば、オブ
ジェクト指向プログラミング支援装置を図1のように構
成し、設計モデルからソースコード生成に必要なクラス
定義情報を抽出するクラス定義情報抽出部と、前記抽出
されたクラス定義情報に基づいて、人手を介さない機械
的処理を目的としたソースコードであるクラス定義情報
ファイルを生成するクラス定義情報ファイル作成部と、
抽出されたクラス定義情報に基づいて、人手を介する編
集を目的としたソースコードを生成するソースプログラ
ム作成部とを備えることとしたので、オブジェクト指向
で開発された設計モデルの情報から機械的に生成される
ソースコードの記述と、プログラマが人手で作成するソ
ースコードの記述を別のファイルに分離することがで
き、ソースコードの保守性の改善と、開発効率の向上と
を実現することができる。
As described above, according to this embodiment, the object-oriented programming support device is configured as shown in FIG. 1, and the class definition information extracting section for extracting the class definition information necessary for generating the source code from the design model, A class definition information file creation unit that creates a class definition information file that is a source code intended for mechanical processing without human intervention, based on the extracted class definition information;
Based on the extracted class definition information, it is equipped with a source program creation unit that creates a source code for editing manually, so it is created mechanically from the information of the design model developed in object-oriented The description of the source code to be written and the description of the source code manually created by the programmer can be separated into different files, and the maintainability of the source code and the development efficiency can be improved.

【0049】[0049]

【発明の効果】以上説明したように、この発明にかかる
オブジェクト指向プログラミング支援装置によれば、設
計モデルからソースコード生成に必要なクラス定義情報
を抽出し、この抽出されたクラス定義情報に基づいて、
人手を介さない機械的処理を目的としたクラス定義情報
ファイルと、人手を介する編集を目的としたソースコー
ドとを生成することとしたため、オブジェクト指向で開
発された設計モデルの情報から機械的に生成されるソー
スコードの記述と、プログラマ自身の手で作成するソー
スコードの記述を別のファイルに分離することができ、
ソースコードの保守性が改善され、開発効率を向上させ
ることができるという効果がある。
As described above, according to the object-oriented programming support apparatus of the present invention, the class definition information necessary for generating the source code is extracted from the design model, and based on the extracted class definition information. ,
Since the class definition information file intended for mechanical processing without human intervention and the source code intended for editing without human intervention are generated, it is generated mechanically from the information of the design model developed by object-oriented. The source code description to be created and the source code description created by the programmer can be separated into different files.
The maintainability of the source code is improved, and the development efficiency can be improved.

【0050】つぎの発明にかかるオブジェクト指向プロ
グラミング支援装置によれば、クラス定義情報ファイル
作成部が、C/C++言語で記述されたソースコードを
生成し、ソースプログラム作成部が、C/C++言語で
記述されたソースコードを生成することとしたため、オ
ブジェクト指向で開発された設計モデルの情報から機械
的に生成されるソースコードの記述と、プログラマ自身
の手で作成するソースコードの記述を別のファイルに分
離することができ、ソースコードの保守性が改善され、
開発効率を向上させることができるという効果がある。
According to the object-oriented programming support device of the next invention, the class definition information file creating unit creates the source code described in the C / C ++ language, and the source program creating unit uses the C / C ++ language. Since it is decided to generate the written source code, the description of the source code that is mechanically generated from the information of the design model developed by object-orientation and the description of the source code created by the programmer themselves are in different files. To improve the maintainability of the source code,
The effect is that development efficiency can be improved.

【0051】つぎの発明にかかるオブジェクト指向プロ
グラミング支援装置によれば、ソースプログラム作成部
が、C/C++言語のヘッダファイルを生成することと
したため、オブジェクト指向で開発された設計モデルの
情報から機械的に生成されるソースコードの記述と、プ
ログラマ自身の手で作成するソースコードの記述を別の
ファイルに分離することができ、ソースコードの保守性
が改善され、開発効率を向上させることができるという
効果がある。
According to the object-oriented programming support apparatus of the next invention, since the source program creating unit decides to create the header file of the C / C ++ language, the mechanical program is generated from the information of the design model developed in the object-oriented manner. It is possible to separate the generated source code description and the source code description created by the programmer into separate files, which improves the maintainability of the source code and improves the development efficiency. effective.

【0052】つぎの発明にかかるオブジェクト指向プロ
グラミング支援装置によれば、ソースプログラム作成部
が、C/C++言語のソースファイルを生成することと
したため、オブジェクト指向で開発された設計モデルの
情報から機械的に生成されるソースコードの記述と、プ
ログラマ自身の手で作成するソースコードの記述を別の
ファイルに分離することができ、ソースコードの保守性
が改善され、開発効率を向上させることができるという
効果がある。
According to the object-oriented programming support apparatus of the next invention, since the source program creating section decides to generate the source file of the C / C ++ language, the mechanical program is generated from the information of the design model developed in the object-oriented manner. It is possible to separate the generated source code description and the source code description created by the programmer into separate files, which improves the maintainability of the source code and improves the development efficiency. effective.

【0053】つぎの発明にかかるオブジェクト指向プロ
グラミング支援装置によれば、クラス定義情報ファイル
作成部が、設計モデルに含まれるクラス間の依存関係に
基づいて、クラスに対応するソースファイルおよびヘッ
ダファイルのインクルード関係を認識し、クラス定義情
報ファイルにインクルード指令の記述を生成することと
したため、オブジェクト指向で開発された設計モデルの
情報から機械的に生成されるソースコードの記述と、プ
ログラマ自身の手で作成するソースコードの記述を別の
ファイルに分離することができ、ソースコードの保守性
が改善され、開発効率を向上させることができるという
効果がある。
According to the object-oriented programming support device of the next invention, the class definition information file creating section includes the source file and the header file corresponding to the class based on the dependency between the classes included in the design model. Since it is decided to generate the description of the include directive in the class definition information file by recognizing the relation, the description of the source code that is mechanically generated from the information of the design model developed by object-oriented and the creation by the programmer himself. The description of the source code to be executed can be separated into another file, the maintainability of the source code can be improved, and the development efficiency can be improved.

【0054】つぎの発明にかかるオブジェクト指向プロ
グラミング支援装置によれば、クラス定義情報ファイル
作成部が、設計モデルに含まれるクラスの属性の情報と
クラス間の関連の情報に基づいて、クラスに対応するデ
ータ型定義の記述を、クラス定義情報ファイルに生成す
ることとしたため、オブジェクト指向で開発された設計
モデルの情報から機械的に生成されるソースコードの記
述と、プログラマ自身の手で作成するソースコードの記
述を別のファイルに分離することができ、ソースコード
の保守性が改善され、開発効率を向上させることができ
るという効果がある。
According to the object-oriented programming support device of the next invention, the class definition information file creating unit corresponds to the class based on the information of the attribute of the class included in the design model and the information of the relation between the classes. Since the description of the data type definition is generated in the class definition information file, the description of the source code that is mechanically generated from the information of the design model developed by object-oriented and the source code created by the programmer himself. The description of can be separated into another file, maintainability of the source code can be improved, and development efficiency can be improved.

【0055】つぎの発明にかかるオブジェクト指向プロ
グラミング支援装置によれば、クラス定義情報ファイル
作成部が、設計モデルに含まれるクラスの操作の情報に
基づいて、関数宣言をクラス定義情報ファイルに生成す
ることとしたため、オブジェクト指向で開発された設計
モデルの情報から機械的に生成されるソースコードの記
述と、プログラマ自身の手で作成するソースコードの記
述を別のファイルに分離することができ、ソースコード
の保守性が改善され、開発効率を向上させることができ
るという効果がある。
According to the object-oriented programming support device of the next invention, the class definition information file creating section generates the function declaration in the class definition information file based on the information of the operation of the class included in the design model. Therefore, it is possible to separate the description of the source code mechanically generated from the information of the design model developed by object-oriented and the description of the source code created by the programmer themselves into different files. It has the effect of improving the maintainability of and improving the development efficiency.

【0056】つぎの発明にかかるオブジェクト指向プロ
グラミング支援装置によれば、ソースプログラム作成部
が、設計モデルに含まれるクラスの操作の情報に基づい
て、関数定義の雛型をC/C++言語のソースファイル
に生成することとしたため、オブジェクト指向で開発さ
れた設計モデルの情報から機械的に生成されるソースコ
ードの記述と、プログラマ自身の手で作成するソースコ
ードの記述を別のファイルに分離することができ、ソー
スコードの保守性が改善され、開発効率を向上させるこ
とができるという効果がある。
According to the object-oriented programming support device of the next invention, the source program creating unit creates the template of the function definition in the C / C ++ language source file based on the information of the operation of the class included in the design model. Since it is decided to generate it, it is possible to separate the description of the source code mechanically generated from the information of the design model developed by object-oriented and the description of the source code created by the programmer themselves into separate files. Therefore, the maintainability of the source code is improved, and the development efficiency can be improved.

【図面の簡単な説明】[Brief description of drawings]

【図1】 この発明にかかるオブジェクト指向プログラ
ミング支援装置の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of an object-oriented programming support device according to the present invention.

【図2】 オブジェクト指向プログラミング支援装置の
全体の処理の流れを示すフローチャートである。
FIG. 2 is a flowchart showing the flow of the entire processing of the object-oriented programming support device.

【図3】 UML(Unified Modeling Language)表記
にしたがって記述された設計モデルの例を示す図であ
る。
FIG. 3 is a diagram showing an example of a design model described according to UML (Unified Modeling Language) notation.

【図4】 クラス定義情報抽出部によって抽出されたク
ラス定義情報の例を示す図である。
FIG. 4 is a diagram showing an example of class definition information extracted by a class definition information extraction unit.

【図5】 クラス定義情報作成部が生成したクラス定義
情報ファイルの例を示す図である。
FIG. 5 is a diagram showing an example of a class definition information file generated by a class definition information creation unit.

【図6】 ソースプログラム作成部が生成したC/C+
+ヘッダファイルの例を示す図である。
FIG. 6 C / C + generated by the source program creation unit
It is a figure showing an example of + header file.

【図7】 ソースプログラム作成部が生成したC/C+
+ソースファイルの例を示す図である。
FIG. 7: C / C + generated by the source program creation unit
It is a figure showing an example of + source file.

【符号の説明】[Explanation of symbols]

11 実行管理部、12 クラス定義情報抽出部、13
クラス定義情報ファイル作成部、14 ソースプログ
ラム作成部、101 設計モデル、102 クラス定義
情報ファイル、103 C/C++ヘッダファイル、1
04 C/C++ソースファイル、301 クラス(Ad
dressBook)、302 クラス(Address)、303 ク
ラス(Person)、501 クラス定義情報ファイル("A
drBkDef1.h")、502 クラス定義情報ファイル("Ad
rBkDef2.h")、702 メンバ関数の雛形。
11 execution management unit, 12 class definition information extraction unit, 13
Class definition information file creation unit, 14 Source program creation unit, 101 design model, 102 class definition information file, 103 C / C ++ header file, 1
04 C / C ++ source file, 301 class (Ad
dressBook), 302 class (Address), 303 class (Person), 501 class definition information file ("A
drBkDef1.h "), 502 class definition information file (" Ad
rBkDef2.h "), 702 A model of a member function.

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 オブジェクト指向プログラミングを支援
する装置であって、 設計モデルからソースコード生成に必要なクラス定義情
報を抽出するクラス定義情報抽出部と、 前記抽出されたクラス定義情報に基づいて、人手を介さ
ない機械的処理を目的としたソースコードであるクラス
定義情報ファイルを生成するクラス定義情報ファイル作
成部と、 抽出されたクラス定義情報に基づいて、人手を介する編
集を目的としたソースコードを生成するソースプログラ
ム作成部と、 を備えたことを特徴とするオブジェクト指向プログラミ
ング支援装置。
1. A device for supporting object-oriented programming, comprising: a class definition information extracting section for extracting class definition information necessary for source code generation from a design model; and a manual operation based on the extracted class definition information. A class definition information file creation unit that generates a class definition information file that is the source code for the purpose of mechanical processing that does not go through, and a source code for the purpose of editing manually based on the extracted class definition information. An object-oriented programming support device comprising: a source program creating unit for creating.
【請求項2】 前記クラス定義情報ファイル作成部は、
クラス定義情報ファイルとしてC/C++言語で記述さ
れたソースコードを生成し、前記ソースプログラム作成
部は、前記クラス定義情報ファイルをインクルードする
C/C++言語で記述されたソースコードを生成するこ
とを特徴とする請求項1に記載のオブジェクト指向プロ
グラミング支援装置。
2. The class definition information file creating section,
A source code written in C / C ++ language as a class definition information file is generated, and the source program creation unit generates a source code written in C / C ++ language that includes the class definition information file. The object-oriented programming support device according to claim 1.
【請求項3】 前記ソースプログラム作成部は、生成す
るソースコードがC/C++言語のヘッダファイルであ
ることを特徴とする請求項2に記載のオブジェクト指向
プログラミング支援装置。
3. The object-oriented programming support device according to claim 2, wherein the source code created by the source program creation unit is a header file in the C / C ++ language.
【請求項4】 前記ソースプログラム作成部は、生成す
るソースコードがC/C++言語のソースファイルであ
ることを特徴とする請求項2に記載のオブジェクト指向
プログラミング支援装置。
4. The object-oriented programming support device according to claim 2, wherein the source code created by the source program creation unit is a C / C ++ language source file.
【請求項5】 前記クラス定義情報ファイル作成部は、
設計モデルに含まれるクラス間の関連または依存関係に
基づいて、クラスに対応するソースファイルおよびヘッ
ダファイルのインクルード関係を認識し、クラス定義情
報ファイルにインクルード指令の記述を生成することを
特徴とする請求項3または4に記載のオブジェクト指向
プログラミング支援装置。
5. The class definition information file creating section,
Claims characterized by recognizing an include relationship between a source file and a header file corresponding to a class based on a relationship or a dependency between classes included in a design model, and generating a description of an include directive in a class definition information file Item 3. The object oriented programming support device according to item 3 or 4.
【請求項6】 前記クラス定義情報ファイル作成部は、
設計モデルに含まれるクラスの属性の情報とクラス間の
関連の情報に基づいて、クラスに対応するデータ型定義
の記述を、クラス定義情報ファイルに生成することを特
徴とする請求項3〜5のいずれか一つに記載のオブジェ
クト指向プログラミング支援装置。
6. The class definition information file creating section,
The description of the data type definition corresponding to the class is generated in the class definition information file based on the information of the attribute of the class included in the design model and the information of the relation between the classes. The object-oriented programming support device described in any one of the above.
【請求項7】 前記クラス定義情報ファイル作成部は、
設計モデルに含まれるクラスの操作の情報に基づいて、
関数宣言をクラス定義情報ファイルに生成することを特
徴とする請求項3〜6のいずれか一つに記載のオブジェ
クト指向プログラミング支援装置。
7. The class definition information file creating section is
Based on the operation information of the class included in the design model,
7. The object oriented programming support device according to claim 3, wherein the function declaration is generated in a class definition information file.
【請求項8】 前記ソースプログラム作成部は、設計モ
デルに含まれるクラスの操作の情報に基づいて、関数定
義の雛型をC/C++言語のソースファイルに生成する
ことを特徴とする請求項3〜7のいずれか一つに記載の
オブジェクト指向プログラミング支援装置。
8. The source program creating unit creates a template of a function definition in a C / C ++ language source file based on information on an operation of a class included in a design model. The object-oriented programming support device according to any one of items 1 to 7.
JP2002018742A 2002-01-28 2002-01-28 Object-oriented programming supporting device Pending JP2003216428A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002018742A JP2003216428A (en) 2002-01-28 2002-01-28 Object-oriented programming supporting device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002018742A JP2003216428A (en) 2002-01-28 2002-01-28 Object-oriented programming supporting device

Publications (1)

Publication Number Publication Date
JP2003216428A true JP2003216428A (en) 2003-07-31

Family

ID=27653967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002018742A Pending JP2003216428A (en) 2002-01-28 2002-01-28 Object-oriented programming supporting device

Country Status (1)

Country Link
JP (1) JP2003216428A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009112701A (en) * 2007-11-09 2009-05-28 Daito Giken:Kk Game table
JP2016048477A (en) * 2014-08-27 2016-04-07 株式会社東芝 Source code automatic generation device and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009112701A (en) * 2007-11-09 2009-05-28 Daito Giken:Kk Game table
JP2016048477A (en) * 2014-08-27 2016-04-07 株式会社東芝 Source code automatic generation device and program

Similar Documents

Publication Publication Date Title
Naujokat et al. CINCO: a simplicity-driven approach to full generation of domain-specific graphical modeling tools
US6769095B1 (en) Hierarchically structured control information editor
JPH08202545A (en) Object-oriented system and method for generation of target language code
EP1292887A1 (en) Methods and systems for generating source code for object-oriented elements
JP5147240B2 (en) Method and system for reversible design tree transformation
JP2005141380A (en) Template compile method
JP4724387B2 (en) Program conversion program, program conversion apparatus, and program conversion method
JP3562435B2 (en) Automatic component generator
Edwards et al. Automated analysis and code generation for domain-specific models
Atkinson et al. Harmonizing textual and graphical visualizations of domain specific models
Křikava et al. SIGMA: Scala internal domain-specific languages for model manipulations
Sawprakhon et al. Sequence diagram generation with model transformation technology
Schröpfer et al. A Generic Projectional Editor for EMF Models.
Edmunds et al. Tool support for Event-B code generation
JP2003216428A (en) Object-oriented programming supporting device
KR100576941B1 (en) Metamodel-based model transformation apparatus
Dukaczewski et al. MontiWeb-Modular Development of Web Information Systems
JP3847932B2 (en) Program creation support apparatus and program storage medium thereof
JP2946715B2 (en) Program generation method and specification input method for it
Barzdins et al. Metamodel Specialization for Graphical Language and Editor Definition.
Riddle et al. Tools for software system construction
Minas Syntax definition with graphs
Thangaraj et al. Model reusability and multidirectional transformation using unified metamodel
JP2011034419A (en) Modeling apparatus using model, and system construction method for software system
Fors et al. Visual instance inlining and specialization: Building domain-specific diagrams from reusable types