JP2015026139A - Program generation device, program generation method, and program for program generation - Google Patents

Program generation device, program generation method, and program for program generation Download PDF

Info

Publication number
JP2015026139A
JP2015026139A JP2013154006A JP2013154006A JP2015026139A JP 2015026139 A JP2015026139 A JP 2015026139A JP 2013154006 A JP2013154006 A JP 2013154006A JP 2013154006 A JP2013154006 A JP 2013154006A JP 2015026139 A JP2015026139 A JP 2015026139A
Authority
JP
Japan
Prior art keywords
program
class
diagram
program code
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
JP2013154006A
Other languages
Japanese (ja)
Inventor
剛 宮崎
Takeshi Miyazaki
剛 宮崎
和弘 曽山
Kazuhiro Soyama
和弘 曽山
英治 高松
Eiji Takamatsu
英治 高松
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2013154006A priority Critical patent/JP2015026139A/en
Publication of JP2015026139A publication Critical patent/JP2015026139A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve work efficiency by reducing man-hours of entire software development.SOLUTION: A program generation device includes: a storage unit 5 in which a class diagram being a type of an UML model diagrams in a unified modeling language and a procedure processing code which is described in a domain-specific language and gives internal processing of processing functions which are included in operations of classes that the class diagram has are stored; a processing code conversion unit 43 which converts the procedure processing code to a prescribed general programming language; and a program code generation unit 44 which automatically generates a program code based on the general programming language according to the procedure processing code converted by the processing code conversion unit 43 and information relating to the UML model diagram.

Description

本発明は、開発対象のシステムの設計ドキュメントからプログラムのプログラムコードを自動的に生成するプログラム生成装置、プログラム生成方法、およびプログラム生成用プログラムに関する。   The present invention relates to a program generation apparatus, a program generation method, and a program generation program for automatically generating a program code of a program from a design document of a system to be developed.

システム開発では、分析・設計段階において、システムの構造をソースコードよりも抽象化した形でモデリングする必要がある。ここでいうモデリングとは、対象をある目的または観点から眺めた上で整理し、表現することを意味する。このようなモデリングを行った結果として生成されるものをモデルと呼ぶ。   In system development, it is necessary to model the structure of the system in a form that is more abstract than the source code at the analysis / design stage. Modeling here means organizing and expressing the object from a certain purpose or viewpoint. What is generated as a result of such modeling is called a model.

モデリングにおいては、その表記方法を統一化した統一モデリング言語(UML:Unified Modeling Language)を適用することにより、明確な分析や適切な設計を実現することができるだけでなく、情報の共有化・再利用化を図ることもできる。   In modeling, by applying the Unified Modeling Language (UML) that unifies the notation method, not only can clear analysis and appropriate design be realized, but information can be shared and reused. Can also be achieved.

UMLは、オブジェクト指向の標準化団体である米国のOMG(オブジェクト・マネジメント・グループ)によって制定された規格であり、国際規格(ISO/IEC 19501)として標準化されている。また、UMLはグラフィカルな記述で抽象化したシステムのモデルを生成する汎用モデリング言語でもある。   UML is a standard established by the US OMG (Object Management Group), which is an object-oriented standardization organization, and is standardized as an international standard (ISO / IEC 19501). UML is also a general-purpose modeling language for generating a system model abstracted by a graphical description.

UMLを用いたオブジェクトモデリングでは、開発対象のシステムの分析や設計を行う際に、さまざまなモデル図(以下、UMLモデル図という)が作成される。UMLモデル図は、システムの静的な構造を示す構造図と、システムの振る舞いを示す振る舞い図とに大別される。このうち、構造図には、例えば配置図、コンポーネント図、クラス図、オブジェクト図などがある。また、振る舞い図には、例えばユースケース図、ステートマシン図(ステートチャート図または状態遷移図ともいう)、シーケンス図、コミュニケーション図(コラボレーション図ともいう)、アクティビティ図、タイミング図、相互作用概要図などがある。   In object modeling using UML, various model diagrams (hereinafter referred to as UML model diagrams) are created when analyzing and designing a system to be developed. The UML model diagram is roughly classified into a structure diagram showing a static structure of the system and a behavior diagram showing the behavior of the system. Among these, structural diagrams include, for example, layout diagrams, component diagrams, class diagrams, and object diagrams. In addition, behavior diagrams include, for example, use case diagrams, state machine diagrams (also referred to as state charts or state transition diagrams), sequence diagrams, communication diagrams (also referred to as collaboration diagrams), activity diagrams, timing diagrams, and interaction overview diagrams. There is.

オブジェクト指向プログラム開発では、ソフトウェア開発における作業効率の向上が求められる。このような状況の下、クラス図、ステートマシン図、およびアクティビティ図を用いてプログラムコードを自動生成する技術が開示されている(例えば、特許文献1を参照)。   In object-oriented program development, improvement of work efficiency in software development is required. Under such circumstances, a technique for automatically generating a program code using a class diagram, a state machine diagram, and an activity diagram has been disclosed (see, for example, Patent Document 1).

特開2002−116911号公報JP 2002-116911 A

しかしながら、特許文献1に記載の技術では、クラス図が有するクラスの操作に含まれる処理関数について、プログラムコードを生成するたびにその処理関数のコードを手入力しなければならなかった。また、プラットフォームが異なると適用するプログラミング言語も異なってくる可能性もあり、汎用性に乏しかった。このため、ソフトウェア開発における全体の作業工数が十分に削減されず、ソフトウェア開発の作業効率が向上しているとは言いがたかった。   However, in the technique described in Patent Document 1, it is necessary to manually input the processing function code every time the program code is generated for the processing function included in the class operation included in the class diagram. In addition, the programming language to be applied may differ depending on the platform, so it was not versatile. For this reason, it was difficult to say that the overall work man-hours in software development were not sufficiently reduced and the work efficiency of software development was improved.

本発明は、上記に鑑みてなされたものであって、ソフトウェア開発における全体の作業工数を削減し、作業効率を向上させることができるプログラム生成装置、プログラム生成方法、およびプログラム生成用プログラムを提供することを目的とする。   The present invention has been made in view of the above, and provides a program generation device, a program generation method, and a program generation program that can reduce the total number of work steps in software development and improve work efficiency. For the purpose.

上述した課題を解決し、目的を達成するために、本発明に係るプログラム生成装置は、統一モデリング言語におけるUMLモデル図の一種であるクラス図と、ドメイン特化言語によって記述され、前記クラス図に含まれるクラスの操作が有する処理関数の内部処理を与える手続き処理コードとを記憶する記憶部と、前記手続き処理コードを汎用プログラミング言語に変換する処理コード変換部と、前記処理コード変換部が変換した手続き処理コードおよび前記UMLモデル図に関する情報に基づいて前記汎用プログラミング言語に基づくプログラムコードを自動的に生成するプログラムコード生成部と、を備えたことを特徴とする。   In order to solve the above-described problems and achieve the object, a program generation apparatus according to the present invention is described by a class diagram which is a kind of UML model diagram in a unified modeling language, and a domain specific language, and is included in the class diagram. A storage unit that stores a procedure processing code that gives an internal process of a processing function included in an operation of the included class, a processing code conversion unit that converts the procedure processing code into a general-purpose programming language, and the processing code conversion unit And a program code generation unit for automatically generating a program code based on the general-purpose programming language based on the procedure processing code and information on the UML model diagram.

本発明に係るプログラム生成装置は、上記発明において、前記処理コード変換部は、前記手続き処理コードを複数の前記汎用プログラミング言語に変換可能であり、前記プログラムコード生成部は、複数の前記汎用プログラミング言語の各々に基づくプログラムコードを自動的に生成可能であることを特徴とする。   In the program generation device according to the present invention, in the above invention, the processing code conversion unit can convert the procedure processing code into the plurality of general-purpose programming languages, and the program code generation unit includes the plurality of general-purpose programming languages. The program code based on each of the above can be automatically generated.

本発明に係るプログラム生成装置は、上記発明において、前記記憶部は、前記UMLモデル図としてステートマシン図およびシーケンス図をさらに記憶することを特徴とする。   The program generation device according to the present invention is characterized in that, in the above invention, the storage unit further stores a state machine diagram and a sequence diagram as the UML model diagram.

本発明に係るプログラム生成装置は、上記発明において、情報の入力を受け付ける入力部と、前記入力部が受け付けた情報に基づいて前記UMLモデル図を作成するUMLモデル図作成部と、前記入力部が受け付けた情報に基づいて前記手続き処理コードを作成する処理コード作成部と、をさらに備えたことを特徴とする。   In the above invention, the program generation device according to the present invention includes an input unit that receives input of information, a UML model diagram generation unit that generates the UML model diagram based on information received by the input unit, and the input unit includes: And a processing code creating unit that creates the procedure processing code based on the received information.

本発明に係るプログラム生成方法は、プログラムコードを生成するプログラム生成装置が行うプログラム生成方法であって、統一モデリング言語におけるUMLモデル図の一種であるクラス図と、ドメイン特化言語によって記述され、前記クラス図に含まれるクラスの操作が有する処理関数の内部処理を与える手続き処理コードとを記憶する記憶部から前記手続き処理コードを前記記憶部から読み出して汎用プログラミング言語に変換する処理コード変換ステップと、前記処理コード変換ステップで変換した手続き処理コードおよび前記UMLモデル図に関する情報に基づいて前記汎用プログラミング言語に基づくプログラムコードを自動的に生成するプログラムコード生成ステップと、を有することを特徴とする。   A program generation method according to the present invention is a program generation method performed by a program generation device for generating a program code, which is described by a class diagram which is a kind of UML model diagram in a unified modeling language, and a domain specific language, A processing code conversion step of reading the procedure processing code from the storage unit and storing it into a general-purpose programming language from a storage unit that stores the procedure processing code that gives the internal processing of the processing function included in the operation of the class included in the class diagram; And a program code generation step for automatically generating a program code based on the general-purpose programming language based on the procedure processing code converted in the processing code conversion step and information on the UML model diagram.

本発明に係るプログラム生成用プログラムは、プログラムコードを生成するプログラム生成装置に、統一モデリング言語におけるUMLモデル図の一種であるクラス図と、ドメイン特化言語によって記述され、前記クラス図に含まれるクラスの操作が有する処理関数の内部処理を与える手続き処理コードとを記憶する記憶部から前記手続き処理コードを前記記憶部から読み出して汎用プログラミング言語に変換する処理コード変換ステップと、前記処理コード変換ステップで変換した手続き処理コードおよび前記UMLモデル図に関する情報に基づいて前記汎用プログラミング言語に基づくプログラムコードを自動的に生成するプログラムコード生成ステップと、を実行させることを特徴とする。   A program generation program according to the present invention is described in a class diagram that is a kind of UML model diagram in a unified modeling language and a domain specific language in a program generation device that generates a program code, and is included in the class diagram. A processing code conversion step for reading the procedure processing code from the storage unit and storing it in a general-purpose programming language from a storage unit for storing a procedure processing code for giving an internal process of the processing function of the operation of the processing function; And a program code generation step of automatically generating a program code based on the general-purpose programming language based on the converted procedure processing code and information on the UML model diagram.

本発明によれば、ドメイン特化言語によって記述され、UMLモデル図に含まれるクラスの処理関数と関連付けて定義することにより、定義された手続き処理コードを含めてプログラムコードを自動的に生成するため、処理関数の内部処理を手入力する作業が不要となる。したがって、ソフトウェア開発における全体の作業工数を削減し、作業効率を向上させることが可能となる。   According to the present invention, a program code including a defined procedure processing code can be automatically generated by defining in association with a processing function of a class described in a domain specific language and included in a UML model diagram. This eliminates the need for manual input of internal processing functions. Therefore, it is possible to reduce the overall work man-hours in software development and improve work efficiency.

図1は、本発明の一実施の形態に係るプログラム生成装置の機能構成を示すブロック図である。FIG. 1 is a block diagram showing a functional configuration of a program generation apparatus according to an embodiment of the present invention. 図2は、本発明の一実施の形態に係るプログラム生成装置のUMLモデル図作成部が作成するクラス図の構成例を示す図である。FIG. 2 is a diagram showing a configuration example of a class diagram created by the UML model diagram creation unit of the program generation device according to the embodiment of the present invention. 図3は、手続き処理コードの出力部における表示出力例(第1例)を示す図である。FIG. 3 is a diagram illustrating a display output example (first example) in the procedure processing code output unit. 図4は、手続き処理コードの出力部における表示出力例(第2例)を示す図である。FIG. 4 is a diagram illustrating a display output example (second example) in the procedure processing code output unit. 図5は、本発明の一実施の形態に係るプログラム生成装置のUMLモデル図作成部が作成するステートマシン図の構成例(第1例)を示す図である。FIG. 5 is a diagram showing a configuration example (first example) of the state machine diagram created by the UML model diagram creation unit of the program generation device according to the embodiment of the present invention. 図6は、本発明の一実施の形態に係るプログラム生成装置のUMLモデル図作成部が作成するステートマシン図の構成例(第2例)を示す図である。FIG. 6 is a diagram showing a configuration example (second example) of the state machine diagram created by the UML model diagram creation unit of the program generation device according to the embodiment of the present invention. 図7は、本発明の一実施の形態に係るプログラム生成装置のUMLモデル図作成部が作成するシーケンス図の構成例を示す図である。FIG. 7 is a diagram showing a configuration example of a sequence diagram created by the UML model diagram creation unit of the program generation device according to the embodiment of the present invention. 図8は、本発明の一実施の形態に係るプログラム生成装置が実行するプログラムコード生成処理の概要を示すフローチャートである。FIG. 8 is a flowchart showing an outline of a program code generation process executed by the program generation apparatus according to the embodiment of the present invention. 図9は、本発明の一実施の形態に係るプログラム生成装置が実行するクラス図および手続き処理コードに関するコード生成処理の概要を示すフローチャートである。FIG. 9 is a flowchart showing an overview of the code generation processing related to the class diagram and procedure processing code executed by the program generation device according to the embodiment of the present invention. 図10は、本発明の一実施の形態に係るプログラム生成装置のプログラムコード生成部が自動的に生成するC言語のソースファイルの構成例(第1例)を示す図である。FIG. 10 is a diagram showing a configuration example (first example) of a C language source file automatically generated by the program code generation unit of the program generation device according to the embodiment of the present invention. 図11は、本発明の一実施の形態に係るプログラム生成装置のプログラムコード生成部が自動的に生成するC言語のヘッダファイルの構成例(第1例)を示す図である。FIG. 11 is a diagram illustrating a configuration example (first example) of a C-language header file automatically generated by the program code generation unit of the program generation device according to the embodiment of the present invention. 図12は、本発明の一実施の形態に係るプログラム生成装置のプログラムコード生成部が自動的に生成するC言語のソースファイルの構成例(第2例)を示す図である。FIG. 12 is a diagram showing a configuration example (second example) of a C language source file automatically generated by the program code generation unit of the program generation apparatus according to the embodiment of the present invention. 図13は、本発明の一実施の形態に係るプログラム生成装置のプログラムコード生成部が自動的に生成するC言語のヘッダファイルの構成例(第2例)を示す図である。FIG. 13 is a diagram illustrating a configuration example (second example) of a C language header file automatically generated by the program code generation unit of the program generation device according to the embodiment of the present invention. 図14は、本発明の一実施の形態に係るプログラム生成装置のプログラムコード生成部が自動的に生成するC言語のソースファイルの構成例(第3例)を示す図である。FIG. 14 is a diagram showing a configuration example (third example) of a C language source file automatically generated by the program code generation unit of the program generation device according to the embodiment of the present invention. 図15は、本発明の一実施の形態に係るプログラム生成装置のプログラムコード生成部が自動的に生成するJava(登録商標)のソースファイルの構成例(第1例)を示す図である。FIG. 15 is a diagram showing a configuration example (first example) of a Java (registered trademark) source file automatically generated by the program code generation unit of the program generation apparatus according to the embodiment of the present invention. 図16は、本発明の一実施の形態に係るプログラム生成装置のプログラムコード生成部が自動的に生成するJava(登録商標)のソースファイルの構成例(第2例)を示す図である。FIG. 16 is a diagram illustrating a configuration example (second example) of a Java (registered trademark) source file automatically generated by the program code generation unit of the program generation apparatus according to the embodiment of the present invention. 図17は、本発明の一実施の形態に係るプログラム生成装置のプログラムコード生成部が自動的に生成するJava(登録商標)のソースファイルの構成例(第3例)を示す図である。FIG. 17 is a diagram illustrating a configuration example (third example) of a Java (registered trademark) source file automatically generated by the program code generation unit of the program generation device according to the embodiment of the present invention. 図18は、本発明の一実施の形態に係るプログラム生成装置のプログラムコード生成部が自動的に生成するJava(登録商標)のソースファイルの構成例(第4例)を示す図である。FIG. 18 is a diagram illustrating a configuration example (fourth example) of a Java (registered trademark) source file automatically generated by the program code generation unit of the program generation device according to the embodiment of the present invention. 図19は、本発明の一実施の形態に係るプログラム生成装置のプログラムコード生成部が自動的に生成するJava(登録商標)のソースファイルの構成例(第5例)を示す図である。FIG. 19 is a diagram illustrating a configuration example (fifth example) of a Java (registered trademark) source file automatically generated by the program code generation unit of the program generation device according to the embodiment of the present invention. 図20は、本発明の一実施の形態に係るプログラム生成装置のプログラムコード生成部が自動的に生成するJava(登録商標)のプログラムコードの構成例(第6例)を示す図である。FIG. 20 is a diagram illustrating a configuration example (sixth example) of Java (registered trademark) program code automatically generated by the program code generation unit of the program generation device according to the embodiment of the present invention.

以下、添付図面を参照して、本発明を実施するための形態(以下、「実施の形態」という)を説明する。   DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments for carrying out the present invention (hereinafter referred to as “embodiments”) will be described with reference to the accompanying drawings.

図1は、本発明の一実施の形態に係るプログラム生成装置の機能構成を示すブロック図である。同図に示すプログラム生成装置1は、UMLを用いて開発対象のシステムのモデリングを行う際に、そのシステムの設計ドキュメントに基づいてプログラムのプログラムコードを自動的に生成する装置である。   FIG. 1 is a block diagram showing a functional configuration of a program generation apparatus according to an embodiment of the present invention. A program generation apparatus 1 shown in FIG. 1 is an apparatus that automatically generates a program code of a program based on a design document of the system when modeling a system to be developed using UML.

プログラム生成装置1は、キーボード、マウス、タッチパネル等のインタフェースを用いて実現される入力部2と、液晶または有機EL等からなる表示パネルおよび音声出力用のスピーカを有し、各種情報を出力する出力部3と、プログラム生成装置1の動作を統括して制御する制御部4と、各種情報を記憶する記憶部5と、を備える。   The program generation device 1 includes an input unit 2 realized using an interface such as a keyboard, a mouse, and a touch panel, a display panel made of liquid crystal or organic EL, and a speaker for audio output, and outputs various information. Unit 3, a control unit 4 that performs overall control of the operation of the program generation device 1, and a storage unit 5 that stores various types of information.

制御部4は、UMLモデル図作成部41と、処理コード作成部42と、処理コード変換部43と、プログラムコード生成部44と、を有する。
UMLモデル図作成部41は、開発対象のシステムのクラス構造を表現するクラス図、開発対象のシステムのクラスにおける状態の変化を表現するステートマシン図および開発対象のシステムのクラス間のメッセージの流れを表現するシーケンス図を少なくとも作成する。UMLモデル図作成部41は、入力部2から入力される情報に基づいて各図を作成するエディタ等のソフトウェアである。ユーザは、出力部3が表示出力する画面の内容を見ながら、入力部2によって必要な情報を入力する。
The control unit 4 includes a UML model diagram creation unit 41, a process code creation unit 42, a process code conversion unit 43, and a program code generation unit 44.
The UML model diagram creation unit 41 is a class diagram that represents the class structure of the development target system, a state machine diagram that represents a change in the state of the development target system class, and a message flow between the classes of the development target system. Create at least a sequence diagram to represent. The UML model diagram creation unit 41 is software such as an editor that creates each diagram based on information input from the input unit 2. The user inputs necessary information through the input unit 2 while viewing the contents of the screen displayed and output by the output unit 3.

処理コード作成部42は、開発対象のシステムのクラスの操作が有する処理関数の内部処理内容を手続き処理コードとして作成する。処理コード作成部42は、UMLモデル図作成部41と同様、エディタ等のソフトウェアであり、入力部2が入力を受け付けた情報に基づいて手続き処理コードを作成する。   The processing code creation unit 42 creates the internal processing content of the processing function possessed by the operation of the class of the development target system as a procedure processing code. The processing code creation unit 42 is software such as an editor, like the UML model diagram creation unit 41, and creates a procedure processing code based on information received by the input unit 2.

手続き処理コードは、処理コード作成部42により、OSやハードウェア等のプラットフォームに依存しないドメイン特化言語(DSL:Domain Specific Language)として作成される。ここで、ドメイン特化言語とは、C言語やJava(登録商標)等の特定用途に特化しない汎用プログラミング言語およびUML等の汎用モデリング言語とは対照的に、特定用途に特化して設計されたプログラミング言語である。すなわち、ドメイン特化言語は、特定の作業(タスク)を実行させるために特化した言語である。   The procedure processing code is created by the processing code creation unit 42 as a domain specific language (DSL) that does not depend on a platform such as an OS or hardware. Here, domain-specific languages are designed specifically for specific applications, as opposed to general-purpose programming languages such as C language and Java (registered trademark) and general-purpose programming languages such as UML. Programming language. That is, the domain specific language is a language specialized for executing a specific task.

処理コード変換部43は、処理コード作成部42が作成した手続き処理コードを所定の汎用プログラミング言語を用いた記述(プログラムコード)に変換する。処理コード変換部43は、手続き処理コードを複数の汎用プログラミング言語に変換可能である。   The processing code conversion unit 43 converts the procedure processing code created by the processing code creation unit 42 into a description (program code) using a predetermined general-purpose programming language. The processing code conversion unit 43 can convert the procedure processing code into a plurality of general-purpose programming languages.

プログラムコード生成部44は、記憶部5から必要なUMLモデル図に関する情報を読み出すとともに、処理コード変換部43が変換した手続き処理コードを読み出して、所定の汎用プログラミング言語によるプログラムコードを自動的に生成する。プログラムコード生成部44は、複数の汎用プログラミング言語の各々に基づくプログラムコードを自動的に生成可能である。   The program code generation unit 44 reads out information related to the required UML model diagram from the storage unit 5 and also reads out the procedure processing code converted by the processing code conversion unit 43 to automatically generate a program code in a predetermined general-purpose programming language. To do. The program code generation unit 44 can automatically generate a program code based on each of a plurality of general-purpose programming languages.

制御部4は、CPU等を用いて実現され、プログラム生成装置1の各構成部位とバスラインを介して接続されている。制御部4は、記憶部5が記憶、格納する各種情報を記憶部5から読み出すことにより、本実施の形態に係るプログラム生成方法に関連した演算処理を実行する。   The control unit 4 is realized using a CPU or the like, and is connected to each component of the program generation device 1 via a bus line. The control unit 4 reads out various types of information stored and stored in the storage unit 5 from the storage unit 5 to execute arithmetic processing related to the program generation method according to the present embodiment.

記憶部5は、UMLモデル図記憶部51と、プログラム記憶部52とを有する。
UMLモデル図記憶部51は、UMLモデル図作成部41が作成したクラス図を記憶するクラス図記憶部511と、UMLモデル図作成部41が作成したステートマシン図を記憶するステートマシン図記憶部512と、UMLモデル図作成部41が作成したシーケンス図を記憶するシーケンス図記憶部513と、処理コード作成部42が作成した手続き処理コードを記憶する処理コード記憶部514と、を有する。
プログラム記憶部52は、プログラムコード生成部44が生成したプログラムコードを記憶するプログラムコード記憶部521を有する。なお、プログラムコードの具体的な構成例については後述する。
The storage unit 5 includes a UML model diagram storage unit 51 and a program storage unit 52.
The UML model diagram storage unit 51 includes a class diagram storage unit 511 that stores the class diagram created by the UML model diagram creation unit 41, and a state machine diagram storage unit 512 that stores the state machine diagram created by the UML model diagram creation unit 41. A sequence diagram storage unit 513 that stores a sequence diagram created by the UML model diagram creation unit 41, and a process code storage unit 514 that stores a procedure process code created by the process code creation unit 42.
The program storage unit 52 includes a program code storage unit 521 that stores the program code generated by the program code generation unit 44. A specific configuration example of the program code will be described later.

記憶部5は、本実施の形態に係るプログラム生成用プログラムや所定のOSを起動するプログラム等が予めインストールされたROM、および各処理の演算パラメータやデータ等を記憶するRAM等を用いて実現される。上述した各種プログラムは、通信ネットワークを介してダウンロードすることによって取得することも可能である。ここでいう通信ネットワークは、例えば既存の公衆回線網、LAN、WANなどによって実現されるものであり、有線、無線を問わない。   The storage unit 5 is realized using a ROM in which a program generation program according to the present embodiment, a program for starting a predetermined OS, and the like are installed in advance, and a RAM that stores calculation parameters, data, and the like of each process. The The various programs described above can also be obtained by downloading via a communication network. The communication network here is realized by, for example, an existing public line network, LAN, WAN, or the like, regardless of whether it is wired or wireless.

以上の構成を有するプログラム生成装置1は、1つのコンピュータを用いて実現してもよいし、複数のコンピュータを用いて実現してもよい。後者の場合には、通信ネットワークを介してデータの送受信を行いながら、互いに連携して処理を行うようにすることも可能である。なお、ここでいうコンピュータは、汎用のパーソナルコンピュータやサーバ等によって構成することができる。また、通信ネットワークを介した複数のコンピュータからなるクライアント・サーバシステムによってプログラム生成装置1を構成する場合には、入力部2および出力部3の機能をクライアント端末に具備させる一方、制御部4および記憶部5の機能を一または複数のサーバに具備させるような構成としてもよい。   The program generation device 1 having the above configuration may be realized using one computer or may be realized using a plurality of computers. In the latter case, it is also possible to perform processing in cooperation with each other while transmitting and receiving data via a communication network. In addition, the computer here can be comprised by a general purpose personal computer, a server, etc. Further, when the program generation device 1 is configured by a client / server system including a plurality of computers via a communication network, the functions of the input unit 2 and the output unit 3 are provided in the client terminal, while the control unit 4 and the storage It is good also as a structure which equips the function of the part 5 with a 1 or several server.

次に、UMLモデル図作成部41が作成してUMLモデル図記憶部51に格納するUMLモデル図を具体的に説明する。   Next, the UML model diagram created by the UML model diagram creation unit 41 and stored in the UML model diagram storage unit 51 will be specifically described.

図2は、UMLモデル図作成部41が作成するクラス図の構成例を示す図である。同図に示すクラス図C1は、4つのクラスC11、C12、C13、C14を有する。   FIG. 2 is a diagram illustrating a configuration example of a class diagram created by the UML model diagram creation unit 41. The class diagram C1 shown in the figure has four classes C11, C12, C13, and C14.

クラス図C1が有するクラスの構成を具体的に説明する。一般にクラスは、クラス名、属性(プロパティ)、操作(メソッド)から構成される。このうち、操作は、ステレオタイプなどを使用して記載され、処理関数とイベントに分類される。クラスは、最上段の区画にクラス名、中段の区画に属性、下段の区画に操作がそれぞれ記載される。   The configuration of the class included in the class diagram C1 will be specifically described. Generally, a class is composed of a class name, an attribute (property), and an operation (method). Among these, operations are described using stereotypes, and are classified into processing functions and events. The class has a class name in the uppermost section, an attribute in the middle section, and an operation in the lower section.

クラスC11は、クラス名が“Button”であり、属性を有していない。また、クラスC11は、操作として返り値の型が“void”であるイベント“PUSH”を有する一方、処理関数を有しない。
クラスC12は、クラス名が“ButtonOff”である。また、クラスC13は、クラス名が“ButtonOn”である。クラスC12、C13は、クラスC11のサブクラスであり、ともに属性および操作を有しない。
The class C11 has a class name “Button” and has no attribute. The class C11 has an event “PUSH” whose return type is “void” as an operation, but does not have a processing function.
The class name of the class C12 is “ButtonOff”. The class name of the class C13 is “ButtonOn”. Classes C12 and C13 are subclasses of class C11, and both have no attributes and operations.

クラスC14は、クラス名が“Light”である。クラスC14は、属性を有しない。また、クラスC14は、操作として、返り値の型が“void”である処理関数“Off”および“On”を有するとともに、返り値の型が“void”であるイベント“OFF”および“ON”を有する。   The class name of the class C14 is “Light”. Class C14 has no attributes. The class C14 has, as operations, processing functions “Off” and “On” whose return value type is “void”, and events “OFF” and “ON” whose return value type is “void”. Have

図3および図4は、手続き処理コードの出力部3における表示出力例を示す図である。
出力部3がクラス図C1を表示している状態で、ユーザが入力部2によってクラスC14の処理関数“Off”を選択した場合、出力部3の表示画面上には、図3に示すように手続き処理コードP1([DSL] DriverLight-Off)がポップアップするような設定とすることができる。同様に、ユーザが入力部2によってクラスC14の処理関数“On”を選択した場合、出力部3の表示画面上には、手続き処理コードP2([DSL] DriverLight-On)がポップアップ表示される。
3 and 4 are diagrams showing examples of display output in the procedure processing code output unit 3.
When the output unit 3 is displaying the class diagram C1 and the user selects the processing function “Off” of the class C14 by the input unit 2, as shown in FIG. The procedure processing code P1 ([DSL] DriverLight-Off) can be set to pop up. Similarly, when the user selects the processing function “On” of class C14 by the input unit 2, a procedure processing code P2 ([DSL] DriverLight-On) is pop-up displayed on the display screen of the output unit 3.

図5および図6は、UMLモデル図作成部41が作成するステートマシン図の構成例を示す図である。図5および図6にそれぞれ示すステートマシン図ST1およびST2は、開始(図中に黒丸で表示)、状態(図中に矩形で表示)、および遷移(図中に矢印で表示)という要素をそれぞれ有する。以下、個々のステートマシン図について具体的に説明する。   FIGS. 5 and 6 are diagrams showing a configuration example of a state machine diagram created by the UML model diagram creating unit 41. FIG. The state machine diagrams ST1 and ST2 shown in FIG. 5 and FIG. 6, respectively, have elements of start (displayed by a black circle in the diagram), state (displayed by a rectangle in the diagram), and transition (displayed by an arrow in the diagram), respectively. Have. Hereinafter, each state machine diagram will be described in detail.

図5に示すステートマシン図ST1は、クラスC11のステートマシン図であり、開始からの遷移によって表現される状態(初期状態)“WAIT”を有する。また、ステートマシン図ST1は、状態“WAIT”でイベント“PUSH”を受け取ると、何の処理も実行せず、状態が遷移しないことを表現している。   The state machine diagram ST1 shown in FIG. 5 is a class C11 state machine diagram, and has a state (initial state) “WAIT” expressed by a transition from the start. Further, the state machine diagram ST1 represents that when the event “PUSH” is received in the state “WAIT”, no processing is executed and the state does not change.

図6に示すステートマシン図ST2は、クラスC14のステートマシン図であり、初期状態“OFF”および状態“ON”を有する。ステートマシン図ST2は、状態“OFF”でイベント“ON”を受け取った場合、処理関数“On”を実行し、状態“ON”へ遷移することを表現している。また、ステートマシン図ST2は、状態“ON”でイベント“OFF”を受け取った場合、処理関数“Off”を実行し、状態“OFF”へ遷移することを表現している。   A state machine diagram ST2 shown in FIG. 6 is a state machine diagram of class C14, and has an initial state “OFF” and a state “ON”. The state machine diagram ST2 represents that when the event “ON” is received in the state “OFF”, the processing function “On” is executed, and the state “ON” is transitioned to. Further, the state machine diagram ST2 represents that when the event “OFF” is received in the state “ON”, the processing function “Off” is executed, and the state “OFF” is transited.

図7は、UMLモデル図作成部41が作成するシーケンス図の構成例を示す図である。一般にシーケンス図は、メッセージ終了点(図7では黒丸で表示)、ライフライン(図7では矩形とその下に延びる破線で表示)、およびメッセージ(図7では矢印とその上にメッセージ名で表示)を有する。各シーケンスは、メッセージ終了点から所定のライフラインに対してメッセージを送信し、そのメッセージの送信先であるライフラインから別のライフラインに対して別のメッセージを送信するように表記される。   FIG. 7 is a diagram illustrating a configuration example of a sequence diagram created by the UML model diagram creation unit 41. In general, a sequence diagram is a message end point (indicated by a black circle in FIG. 7), a lifeline (indicated by a rectangle and a broken line extending below in FIG. 7), and a message (indicated by an arrow and a message name above it in FIG. 7). Have Each sequence is written such that a message is transmitted from a message end point to a predetermined lifeline, and another message is transmitted from a lifeline to which the message is transmitted to another lifeline.

図7に示すシーケンス図SQは、2つのシーケンスからなる。このうち、図中上側に記載されたシーケンスは、クラスC12(クラス名“ButtonOff”)が状態“WAIT”でイベント“PUSH”を受け取ると、クラスC14(クラス名“Light”)に対してイベント“OFF”を送信することを表現している。また、図中下側に記載されたシーケンスは、クラスC13(クラス名“ButtonOn”)が状態“WAIT”でイベント“PUSH”を受け取ると、クラスC14に対してイベント“ON”を送信することを表現している。   The sequence diagram SQ shown in FIG. 7 consists of two sequences. Among these, the sequence described in the upper side of the figure shows that the event “PUSH” is received when the class C12 (class name “ButtonOff”) is in the state “WAIT”, and the event “ It expresses sending “OFF”. Also, the sequence described in the lower part of the figure indicates that when class C13 (class name “ButtonOn”) receives the event “PUSH” in the state “WAIT”, the event “ON” is transmitted to class C14. expressing.

図8は、プログラム生成装置1が実行するプログラムコード生成処理の概要を示すフローチャートである。まず、プログラムコード生成部44は、クラス図記憶部511からクラス図の情報を読み出すとともに、処理コード記憶部514から手続き処理コードの情報を読み出すことにより、クラス図および手続き処理コードに関するプログラムコードの生成を行う(ステップS1)。   FIG. 8 is a flowchart showing an outline of a program code generation process executed by the program generation device 1. First, the program code generation unit 44 reads the class diagram information from the class diagram storage unit 511 and also reads the procedure processing code information from the processing code storage unit 514, thereby generating the program code related to the class diagram and the procedure processing code. (Step S1).

図9は、このステップS1の処理の概要を示すフローチャートである。以下、ステップS1の処理について詳細に説明する。まず、プログラムコード生成部44は、クラス名等の情報をもとにクラス図記憶部511からクラス図の情報を読み出して、そのクラス図に含まれるクラスのプログラムコードを生成する(ステップS11)。   FIG. 9 is a flowchart showing an outline of the processing in step S1. Hereinafter, the process of step S1 will be described in detail. First, the program code generation unit 44 reads the class diagram information from the class diagram storage unit 511 based on the class name information and the like, and generates the program code of the class included in the class diagram (step S11).

続いて、プログラムコード生成部44は、プログラムコードを生成したクラスが属性を有しているか否かを判定する(ステップS12)。判定の結果、プログラムコードを生成したクラスが属性を有している場合(ステップS12:Yes)、プログラムコード生成部44は、そのクラスの属性のプログラムコードを生成する(ステップS13)。一方、判定の結果、プログラムコードを生成したクラスが属性を有しない場合(ステップS12:No)、プログラム生成装置1はステップS14へ移行する。   Subsequently, the program code generation unit 44 determines whether or not the class that generated the program code has an attribute (step S12). As a result of the determination, when the class that generated the program code has an attribute (step S12: Yes), the program code generation unit 44 generates a program code having the attribute of the class (step S13). On the other hand, as a result of the determination, if the class that generated the program code has no attribute (step S12: No), the program generating device 1 proceeds to step S14.

ステップS14において、プログラムコード生成部44は、プログラムコードを生成したクラスがイベントを有しているか否かを判定する(ステップS14)。判定の結果、プログラムコードを生成したクラスがイベントを有する場合(ステップS14:Yes)、プログラムコード生成部44は、イベントのプログラムコードをクラスの関数として生成する(ステップS15)。これに対し、判定の結果、プログラムコードを生成したクラスがイベントを有しない場合(ステップS14:No)、プログラム生成装置1はステップS16へ移行する。   In step S14, the program code generation unit 44 determines whether or not the class that generated the program code has an event (step S14). As a result of the determination, if the class that generated the program code has an event (step S14: Yes), the program code generation unit 44 generates the program code of the event as a function of the class (step S15). On the other hand, as a result of the determination, when the class that generated the program code does not have an event (step S14: No), the program generating device 1 proceeds to step S16.

ステップS16において、プログラムコード生成部44は、プログラムコードを生成したクラスが処理関数を有するか否かを判定する(ステップS16)。判定の結果、プログラムコードを生成したクラスが処理関数を有する場合(ステップS16:Yes)、プログラムコード生成部44は、処理関数のプログラムコードをクラスの関数として生成する(ステップS17)。なお、ここで生成されるプログラムコードには、処理関数の内部処理は記述されない。その後、プログラム生成装置1はステップS18へ移行する。
これに対し、判定の結果、プログラムコードを生成したクラスが処理関数を有しない場合(ステップS16:No)、プログラム生成装置1は一連の処理を終了する。
In step S16, the program code generation unit 44 determines whether or not the class that generated the program code has a processing function (step S16). As a result of the determination, if the class that generated the program code has a processing function (step S16: Yes), the program code generation unit 44 generates the program code of the processing function as a function of the class (step S17). Note that the internal processing of the processing function is not described in the program code generated here. Thereafter, the program generating device 1 proceeds to step S18.
On the other hand, if the class that has generated the program code does not have a processing function as a result of the determination (step S16: No), the program generating device 1 ends the series of processes.

ステップS18において、プログラムコードを生成したクラスと対応付けられた手続き処理コードを処理コード記憶部514が記憶している場合(ステップS18:Yes)、処理コード変換部43は、DSLで記述された手続き処理コードを所定の汎用プログラミング言語に変換する(ステップS19)。
これに対し、プログラムコードを生成したクラスと対応付けられた手続き処理コードを処理コード記憶部514が記憶していない場合(ステップS18:No)、プログラム生成装置1は一連の処理を終了する。
In step S18, when the processing code storage unit 514 stores the procedure processing code associated with the class that generated the program code (step S18: Yes), the processing code conversion unit 43 displays the procedure described in DSL. The processing code is converted into a predetermined general-purpose programming language (step S19).
On the other hand, if the processing code storage unit 514 does not store the procedure processing code associated with the class that generated the program code (step S18: No), the program generation device 1 ends the series of processing.

ステップS19の後、プログラムコード生成部44は、処理コード変換部43によって変換された手続き処理コードを処理関数の内部処理とするプログラムコードを生成する(ステップS20)。プログラム生成装置1は、ステップS20の後、一連の処理を終了する。   After step S19, the program code generation unit 44 generates a program code that uses the procedure processing code converted by the processing code conversion unit 43 as an internal process of the processing function (step S20). The program generation device 1 ends the series of processes after step S20.

再び図8に戻って、プログラム生成装置1が実行するプログラムコード生成処理の概要を説明する。ステップS1の後、プログラムコード生成部44は、ステートマシン図記憶部512からステートマシン図の情報を読み出して、ステートマシン図に関するプログラムコードを生成する(ステップS2)。具体的には、プログラムコード生成部44は、ステートマシン図の状態および遷移に基づいて、イベントの内部処理として、クラスが有する属性を変更するプログラムコードを生成する。   Returning to FIG. 8 again, an outline of the program code generation processing executed by the program generation device 1 will be described. After step S1, the program code generation unit 44 reads information on the state machine diagram from the state machine diagram storage unit 512, and generates a program code related to the state machine diagram (step S2). Specifically, the program code generation unit 44 generates program code for changing the attribute of the class as internal processing of the event based on the state and transition of the state machine diagram.

その後、プログラムコード生成部44は、シーケンス図記憶部513からシーケンス図の情報を読み出して、シーケンス図に関するプログラムコードを生成する(ステップS3)。具体的には、プログラムコード生成部44は、関数であるメッセージに基づいて、イベントの内部処理として、メッセージ先のクラスに対応するイベントを呼び出すプログラムコードを生成する。
以上により、プログラムコード生成処理が終了する。
Thereafter, the program code generation unit 44 reads the information of the sequence diagram from the sequence diagram storage unit 513 and generates a program code related to the sequence diagram (step S3). Specifically, the program code generation unit 44 generates a program code for calling an event corresponding to the class of the message destination as internal processing of the event based on a message that is a function.
Thus, the program code generation process ends.

なお、上述したステップS1〜S3の実行順序は任意であり、その一部または全部を並列で処理することも可能である。   The execution order of steps S1 to S3 described above is arbitrary, and part or all of the steps can be processed in parallel.

次に、上述したUMLモデル図および手続き処理コードに基づいてプログラムコード生成部44が自動的に生成するプログラムコードの具体的な構成例を説明する。   Next, a specific configuration example of the program code automatically generated by the program code generation unit 44 based on the above-described UML model diagram and procedure processing code will be described.

まず、プログラムコード生成部44がC言語のプログラムコードからなるファイルを生成する場合を説明する。
図10は、プログラムコード生成部44が自動的に生成するC言語のソースファイルの構成例(第1例)を示す図である。同図に示すソースファイルPC1は、クラス図C1に関するプログラムコードであり、変数mButtonOff、mButtonOn、mLight、およびポインタpButtonOff、pButtonOn、pLightに基づいて、クラスC12、C13およびC14のインスタンスを生成する処理が記述されている。このソースファイルPC1のファイル名は、拡張子「.c」を用いて、例えば“main.c”と名付けられる。
First, a case where the program code generation unit 44 generates a file composed of C language program code will be described.
FIG. 10 is a diagram illustrating a configuration example (first example) of a C language source file automatically generated by the program code generation unit 44. The source file PC1 shown in the figure is a program code relating to the class diagram C1, and describes a process for generating instances of classes C12, C13, and C14 based on the variables mButtonOff, mButtonOn, mLight, and pointers pButtonOff, pButtonOn, pLight. Has been. The file name of the source file PC1 is named, for example, “main.c” using the extension “.c”.

なお、図10において、「1|」、「2|」等の記載は、行数を明示するための記載に過ぎず、プログラムコードの内容とは無関係である。この点については、後述する各種ファイルも同様である。また、プログラムコード生成部44がプログラムコードを生成する際に、プログラムコードに応じたコメント文(/*・・・*/)を生成するか否かについては、任意に設定することが可能である。本実施の形態では、プログラムコード生成部44がプログラムコードを生成する際に、コメント文を自動的に生成するように設定されているものとする。また、以下の説明において、プログラムコード生成部44が自動的に生成するプログラムコードにコメント文は含めないこととする。   In FIG. 10, descriptions such as “1 |” and “2 |” are merely descriptions for clearly indicating the number of lines, and are not related to the contents of the program code. The same applies to various files described later. Further, when the program code generation unit 44 generates a program code, it is possible to arbitrarily set whether or not to generate a comment sentence (/ *... * /) Corresponding to the program code. . In the present embodiment, it is assumed that the comment code is automatically generated when the program code generation unit 44 generates the program code. In the following description, a comment sentence is not included in the program code automatically generated by the program code generation unit 44.

プログラムコード生成部44は、クラス図C1に基づいて、ソースファイルPC1の1〜8行目、12〜21行目を自動的に生成する。   The program code generation unit 44 automatically generates the 1st to 8th lines and the 12th to 21st lines of the source file PC1 based on the class diagram C1.

図11は、プログラムコード生成部44が自動的に生成するC言語のヘッダファイルの構成例(第1例)を示す図である。同図に示すヘッダファイルPC2は、ソースファイルPC1の1行目に記述されてソースファイルPC1に取り込まれるファイル名“Button.h”(拡張子「.h」)のヘッダファイルである。ヘッダファイルPC2は、クラスC11の状態、イベントおよびイベント送信処理を定義する。   FIG. 11 is a diagram illustrating a configuration example (first example) of a C-language header file automatically generated by the program code generation unit 44. The header file PC2 shown in the figure is a header file having a file name “Button.h” (extension “.h”) described in the first line of the source file PC1 and taken into the source file PC1. The header file PC2 defines class C11 status, events, and event transmission processing.

プログラムコード生成部44は、クラス図C1に基づいて、ヘッダファイルPC2の1〜2行目、4〜7行目、9行目、11行目、13行目、および15〜16行目を自動的に生成する。   The program code generation unit 44 automatically performs the first to second lines, the fourth to seventh lines, the ninth line, the eleventh line, the thirteenth line, and the 15th to 16th lines of the header file PC2 based on the class diagram C1. Generate automatically.

図12は、プログラムコード生成部44が自動的に生成するC言語のソースファイルの構成例(第2例)を示す図である。同図に示すソースファイルPC3には、クラスC11のイベント送信処理の実行に関するプログラムコードが記述されている。このソースファイルPC3のファイル名は、たとえば“Button.c”と名付けられ、上述したヘッダファイルPC2(ファイル名“Button.h”)および後述するヘッダファイルPC4(ファイル名“Light.h”)を取り込む。   FIG. 12 is a diagram illustrating a configuration example (second example) of a C language source file automatically generated by the program code generation unit 44. In the source file PC3 shown in the figure, a program code relating to execution of an event transmission process of class C11 is described. The file name of the source file PC3 is named, for example, “Button.c”, and takes in the header file PC2 (file name “Button.h”) and the header file PC4 (file name “Light.h”) described later. .

プログラムコード生成部44は、クラス図C1に基づいて、ソースファイルPC3の1行目、3〜4行目、7〜8行目、10行目、12〜14行目、23〜24行目、33〜34行目を自動的に生成する。
また、プログラムコード生成部44は、ステートマシン図ST1に基づいて、ソースファイルPC3の9行目、15〜18行目、20〜22行目、25〜28行目、30〜32行目を自動的に生成する。
また、プログラムコード生成部44は、シーケンス図SQに基づいて、ソースファイルPC3の2行目、5行目、19行目、29行目を自動的に生成する。
Based on the class diagram C1, the program code generation unit 44 performs the first line, the third to fourth lines, the seventh to eighth lines, the tenth line, the 12th to 14th lines, the 23rd to 24th lines of the source file PC3, The 33rd to 34th lines are automatically generated.
Further, the program code generation unit 44 automatically generates the ninth line, the 15th to 18th lines, the 20th to 22nd lines, the 25th to 28th lines, and the 30th to 32nd lines of the source file PC3 based on the state machine diagram ST1. Generate automatically.
Further, the program code generation unit 44 automatically generates the second line, the fifth line, the 19th line, and the 29th line of the source file PC3 based on the sequence diagram SQ.

図13は、プログラムコード生成部44が自動的に生成するC言語のヘッダファイルの構成例(第2例)を示す図である。同図に示すヘッダファイルPC4は、ファイル名“Light.h”のヘッダファイルである。このヘッダファイルPC4は、上述したソースファイルPC1、PC3および後述するソースファイルPC5に取り込まれる。ヘッダファイルPC4は、クラスC14の状態、イベントおよびイベント送信処理を定義する。   FIG. 13 is a diagram illustrating a configuration example (second example) of a C language header file automatically generated by the program code generation unit 44. The header file PC4 shown in the figure is a header file with the file name “Light.h”. The header file PC4 is taken into the source files PC1 and PC3 described above and a source file PC5 described later. The header file PC4 defines the state of class C14, events, and event transmission processing.

プログラムコード生成部44は、クラス図C1に基づいて、ヘッダファイルPC4の1〜2行目、4〜7行目、9〜10行目、12〜13行目、15行目、17〜18行目を自動的に生成する。   Based on the class diagram C1, the program code generation unit 44 performs the first to second lines, the fourth to seventh lines, the ninth to tenth lines, the 12th to thirteenth lines, the fifteenth line, and the 17th to 18th lines of the header file PC4. Generate eyes automatically.

図14は、プログラムコード生成部44が自動的に生成するC言語のソースファイルの構成例(第3例)を示す図である。同図に示すソースファイルPC5には、クラスC14の処理関数およびイベント送信処理の実行に関するプログラムコードが記述されている。ソースファイルPC5の2行目には、上述したヘッダファイルPC4(ファイル名“Light.h”)に加えて、ファイル名“Driver_Light.h”のヘッダファイルを取り込むことが記述されている。また、ソースファイルPC5の6行目および9行目には、処理関数の内部処理として、処理コード変換部43がC言語に変換したプログラムコード“Driver_Light_Off()”および“Driver_Light_On()”がそれぞれ記述されている。   FIG. 14 is a diagram illustrating a configuration example (third example) of a C language source file automatically generated by the program code generation unit 44. In the source file PC5 shown in the figure, a class C14 processing function and a program code relating to execution of event transmission processing are described. In the second line of the source file PC5, in addition to the header file PC4 (file name “Light.h”) described above, it is described that a header file with the file name “Driver_Light.h” is captured. The 6th and 9th lines of the source file PC5 describe program codes “Driver_Light_Off ()” and “Driver_Light_On ()” converted into C language by the processing code conversion unit 43 as internal processing of the processing function, respectively. Has been.

プログラムコード生成部44は、クラス図C1に基づいて、ソースファイルPC5の1行目、3行目、5行目、7〜8行目、10行目、12〜13行目、15行目、17〜19行目、35〜36行目を自動的に生成する。
また、プログラムコード生成部44は、ステートマシン図ST2に基づいて、ソースファイルPC5の14行目、20〜34行目を自動的に生成する。
また、プログラムコード生成部44は、手続き処理コードに基づいて、ソースファイルPC5の2行目、6行目、9行目を自動的に生成する。具体的には、2行目は、クラスC14の手続き処理コード“DriverLight-Off”、“DriverLight-On”から作成したプログラムコードであり、ファイル名“Driver_Light.h”のヘッダファイルを取り込むことを記述している。また、6行目は、クラスC14の処理関数“Off”の手続き処理コード“DriverLight-Off”をC言語に変換して生成したプログラムコードである。さらに、9行目は、クラスC14の処理関数“On”の手続き処理コード“DriverLight-On”をC言語に変換して生成したプログラムコードである。
Based on the class diagram C1, the program code generation unit 44 executes the first line, the third line, the fifth line, the seventh to eighth lines, the tenth line, the 12th to thirteenth lines, the fifteenth line of the source file PC5, The 17th to 19th lines and the 35th to 36th lines are automatically generated.
Further, the program code generation unit 44 automatically generates the 14th line and the 20th line to the 34th line of the source file PC5 based on the state machine diagram ST2.
In addition, the program code generation unit 44 automatically generates the second, sixth, and ninth lines of the source file PC5 based on the procedure processing code. Specifically, the second line is the program code created from the procedure processing codes “DriverLight-Off” and “DriverLight-On” of class C14, and describes that the header file with the file name “Driver_Light.h” is to be fetched. doing. The sixth line is a program code generated by converting the procedure processing code “DriverLight-Off” of the processing function “Off” of class C14 into C language. Further, the ninth line is a program code generated by converting the procedure processing code “DriverLight-On” of the processing function “On” of the class C14 into the C language.

プログラムコード生成部44が生成したソースファイルPC1、PC3、PC5およびヘッダファイルPC2、PC4は、プログラムコード記憶部521に格納される。   Source files PC 1, PC 3, PC 5 and header files PC 2, PC 4 generated by the program code generation unit 44 are stored in the program code storage unit 521.

次に、プログラムコード生成部44がJava(登録商標)のプログラムコードを生成する場合を説明する。なお、この場合にも、プログラムコード生成部44がプログラムコードを生成する際に、プログラムコードに応じたコメント文(/**・・・*/,/*・・・*/)を自動的に生成するように設定されているものとする。   Next, a case where the program code generation unit 44 generates a Java (registered trademark) program code will be described. Also in this case, when the program code generation unit 44 generates the program code, a comment sentence (/**...*/, /*...*/) corresponding to the program code is automatically generated. Assume that it is set to generate.

図15は、プログラムコード生成部44が自動的に生成するJava(登録商標)のソースファイルの構成例(第1例)を示す図である。同図に示すソースファイルPJ1は、クラスC11、クラスC14等のスーパークラスとして定義されるクラス(クラス名“Model”)のプログラムコードである。このクラスでは、「状態変数」、「コンストラクタ」および「状態遷移処理」に関するプログラムコードが生成される。プログラムコード生成部44は、プログラム記憶部52が記憶するJava(登録商標)の基本情報を参照してソースファイルPJ1のプログラムコードを生成する。このソースファイルPJ1のファイル名は、拡張子「.java」を用いて、例えば“model.java”と名付けられる。なお、ソースファイルPJ1は、1行目に記載されているように、パッケージ名“jp.co.fujielectric.test”というパッケージに属している。この点は、以下に説明するソースファイルPJ2〜PJ6も同様である。   FIG. 15 is a diagram illustrating a configuration example (first example) of a Java (registered trademark) source file automatically generated by the program code generation unit 44. A source file PJ1 shown in the figure is a program code of a class (class name “Model”) defined as a superclass such as class C11, class C14, and the like. In this class, program codes relating to “state variable”, “constructor”, and “state transition process” are generated. The program code generation unit 44 refers to the basic information of Java (registered trademark) stored in the program storage unit 52 and generates the program code of the source file PJ1. The file name of the source file PJ1 is named, for example, “model.java” using the extension “.java”. The source file PJ1 belongs to the package name “jp.co.fujielectric.test” as described in the first line. This also applies to source files PJ2 to PJ6 described below.

図16は、プログラムコード生成部44が自動的に生成するJava(登録商標)のソースファイルの構成例(第2例)を示す図である。同図に示すソースファイルPJ2は、メイン処理のプログラムコードである。ソースファイルPJ2には、「オブジェクト」、「メイン処理」、「オブジェクト生成」、「buttonOff取得」、「buttonOn取得」、「light取得」、および「sendEvent処理」に関するプログラムコードが生成される。   FIG. 16 is a diagram illustrating a configuration example (second example) of a Java (registered trademark) source file automatically generated by the program code generation unit 44. A source file PJ2 shown in the figure is a program code for main processing. In the source file PJ2, program codes relating to “object”, “main processing”, “object generation”, “buttonOff acquisition”, “buttonOn acquisition”, “light acquisition”, and “sendEvent processing” are generated.

プログラムコード生成部44は、クラス図C1に基づいて、ソースファイルPJ2の5〜7行目、11〜13行目、16〜18行目、20〜22行目、および24〜26行目を生成する。その他の行について、プログラムコード生成部44は、プログラム記憶部52が記憶するJava(登録商標)の基本情報を参照して自動的に生成する。このソースファイルPJ2のファイル名は、例えば「Main.java」と名付けられる。   The program code generation unit 44 generates the 5th to 7th lines, the 11th to 13th lines, the 16th to 18th lines, the 20th to 22nd lines, and the 24th to 26th lines of the source file PJ2 based on the class diagram C1. To do. For the other lines, the program code generation unit 44 automatically generates Java (registered trademark) basic information stored in the program storage unit 52 with reference to the basic information. The file name of the source file PJ2 is named “Main.java”, for example.

図17は、プログラムコード生成部44が自動的に生成するJava(登録商標)のソースファイルの構成例(第3例)を示す図である。同図に示すソースファイルPJ3は、クラスC11(クラス名“Button”)のプログラムコードである。クラスC11では、「状態」、「イベント」、「コンストラクタ」および「状態遷移処理」に関するプログラムコードが生成される。これに対して、クラスC11では、図2に示すクラス図C1からも明らかなように、「属性」および「処理関数」はコメント文のみ生成され、それらに関するプログラムコードは生成されない。   FIG. 17 is a diagram showing a configuration example (third example) of a Java (registered trademark) source file automatically generated by the program code generation unit 44. The source file PJ3 shown in the figure is a program code of class C11 (class name “Button”). In the class C11, program codes relating to “state”, “event”, “constructor”, and “state transition processing” are generated. On the other hand, in the class C11, as is clear from the class diagram C1 shown in FIG. 2, only the comment text is generated for the “attribute” and the “processing function”, and the program code for them is not generated.

プログラムコード生成部44は、クラスC11に基づいて、ソースファイルPJ3の3行目、7行目、10〜11行目、13行目、16〜17行目を自動的に生成する。
また、プログラムコード生成部44は、ステートマシン図ST1に基づいて、ソースファイルPJ3の5行目、12行目を自動的に生成する。
The program code generation unit 44 automatically generates the third line, the seventh line, the 10th to 11th lines, the 13th line, and the 16th to 17th lines of the source file PJ3 based on the class C11.
Further, the program code generation unit 44 automatically generates the fifth and twelfth lines of the source file PJ3 based on the state machine diagram ST1.

図18は、プログラムコード生成部44が自動的に生成するJava(登録商標)のソースファイルの構成例(第4例)を示す図である。同図に示すソースファイルPJ4は、クラスC12(クラス名“ButtonOff”)のプログラムコードである。クラスC12では、「コンストラクタ」および「状態遷移処理」に関するプログラムコードが生成される。   FIG. 18 is a diagram illustrating a configuration example (fourth example) of a Java (registered trademark) source file automatically generated by the program code generation unit 44. The source file PJ4 shown in the figure is a program code of class C12 (class name “ButtonOff”). In class C12, program codes relating to “constructor” and “state transition processing” are generated.

プログラムコード生成部44は、クラス図C1およびクラスの継承についての情報に基づいて、ソースファイルPJ4の3行目、5〜7行目、および21行目を自動的に生成する。
また、プログラムコード生成部44は、ステートマシン図ST1およびシーケンス図SQに基づいて、ソースファイルPJ4の9〜20行目を自動的に生成する。このソースファイルPJ4のファイル名は、例えば「ButtonOff.java」と名付けられる。
The program code generation unit 44 automatically generates the third line, the fifth to seventh lines, and the 21st line of the source file PJ4 based on the class diagram C1 and the information about the inheritance of the class.
Further, the program code generation unit 44 automatically generates the 9th to 20th lines of the source file PJ4 based on the state machine diagram ST1 and the sequence diagram SQ. The file name of the source file PJ4 is named “ButtonOff.java”, for example.

図19は、プログラムコード生成部44が自動的に生成するJava(登録商標)のソースファイルの構成例(第5例)を示す図である。同図に示すソースファイルPJ5は、クラスC13(クラス名“ButtonOn”)のプログラムコードである。クラスC13では、「コンストラクタ」および「状態遷移処理」に関するコードが生成される。プログラムコード生成部44は、ソースファイルPJ4と同様、クラス図C1、ステートマシン図ST1およびシーケンス図SQ等をもとに、ソースファイルPJ5を自動的に生成する。このソースファイルPJ5のファイル名は、例えば「ButtonOn.java」と名付けられる。   FIG. 19 is a diagram illustrating a configuration example (fifth example) of a Java (registered trademark) source file automatically generated by the program code generation unit 44. The source file PJ5 shown in the figure is a program code of class C13 (class name “ButtonOn”). In class C13, codes related to “constructor” and “state transition processing” are generated. As with the source file PJ4, the program code generation unit 44 automatically generates the source file PJ5 based on the class diagram C1, the state machine diagram ST1, the sequence diagram SQ, and the like. The file name of the source file PJ5 is named “ButtonOn.java”, for example.

図20は、プログラムコード生成部44が自動的に生成するJava(登録商標)のソースファイルの構成例(第6例)を示す図である。同図に示すソースファイルPJ6は、クラスC14(クラス名“Light”)のプログラムコードである。クラスC14では、「状態」、「イベント」、「コンストラクタ」、「処理関数」、および「状態遷移処理」に関するプログラムコードが生成される。   FIG. 20 is a diagram illustrating a configuration example (sixth example) of a Java (registered trademark) source file automatically generated by the program code generation unit 44. The source file PJ6 shown in the figure is a program code of class C14 (class name “Light”). In the class C14, program codes relating to “state”, “event”, “constructor”, “processing function”, and “state transition processing” are generated.

プログラムコード生成部44は、クラス図C1およびクラスの継承についての情報に基づいて、ソースファイルPJ6の4行目、9〜10行目、13〜14行目、16行目、18行目、20行目、21行目、23行目、および41行目を自動的に生成する。
また、プログラムコード生成部44は、ステートマシン図ST2に基づいて、ソースファイルPJ6の6〜7行目、15行目、25〜38行目、および39行目〜40行目を自動的に生成する。
また、プログラムコード生成部44は、手続き処理コードに基づいて、ソースファイルPJ6の2行目、19行目、および22行目を自動的に生成する。具体的には、2行目は、クラスC14の手続き処理コード“DriverLight-Off”、“DriverLight-On”から作成したプログラムコードであり、パッケージ名「jp.co.fujielectrinc.test」の中にあるクラス名「DriverLight」のクラスを取り込むことを記述している。19行目は、クラスC14の処理関数“Off”の手続き処理コード“DriverLight-Off”をJava(登録商標)に変換して生成したプログラムコードである。22行目は、クラスC14の処理関数“On”の手続き処理コード“DriverLight-On”をJava(登録商標)に変換して生成したプログラムコードである。
Based on the class diagram C1 and information on class inheritance, the program code generation unit 44 performs the fourth, ninth to tenth, thirteenth to fourteenth, sixteenth, eighteenth, and twentyth lines of the source file PJ6. Lines 21, 21, 23, and 41 are automatically generated.
Further, the program code generation unit 44 automatically generates the 6th to 7th lines, the 15th line, the 25th to 38th lines, and the 39th line to 40th lines of the source file PJ6 based on the state machine diagram ST2. To do.
Further, the program code generation unit 44 automatically generates the second line, the 19th line, and the 22nd line of the source file PJ6 based on the procedure processing code. Specifically, the second line is a program code created from the procedure processing codes “DriverLight-Off” and “DriverLight-On” of class C14, and is in the package name “jp.co.fujielectrinc.test”. It describes that the class with the class name “DriverLight” is imported. The 19th line is a program code generated by converting the procedure processing code “DriverLight-Off” of the processing function “Off” of the class C14 into Java (registered trademark). The 22nd line is a program code generated by converting the procedure processing code “DriverLight-On” of the processing function “On” of the class C14 into Java (registered trademark).

プログラムコード生成部44が生成したソースファイルPJ1〜PJ6は、プログラムコード記憶部521に格納される。   The source files PJ1 to PJ6 generated by the program code generation unit 44 are stored in the program code storage unit 521.

以上説明した本発明の一実施の形態によれば、ドメイン特化言語によって記述され、UMLモデル図に含まれるクラスの処理関数と関連付けて定義することにより、定義された手続き処理コードを含めてプログラムコードを自動的に生成するため、処理関数の内部処理を手入力する作業が不要となる。したがって、ソフトウェア開発における全体の作業工数を削減し、作業効率を向上させることが可能となる。   According to the embodiment of the present invention described above, a program including a defined procedure processing code is defined by being associated with a class processing function described in a domain specific language and included in a UML model diagram. Since the code is automatically generated, it is not necessary to manually input the internal processing function. Therefore, it is possible to reduce the overall work man-hours in software development and improve work efficiency.

また、本実施の形態によれば、処理コード変換部は、手続き処理コードを複数の汎用プログラミング言語へ変換可能であり、プログラムコード生成部は、複数の汎用プログラミング言語の各々に基づくプログラムコードを自動的に生成可能であるため、プラットフォームに依存しない、汎用性の高いソフトウェア開発を実現することができる。   Further, according to the present embodiment, the processing code conversion unit can convert the procedure processing code into a plurality of general-purpose programming languages, and the program code generation unit automatically converts the program code based on each of the plurality of general-purpose programming languages. Therefore, it is possible to realize highly versatile software development that does not depend on the platform.

ここまで、本発明を実施するための形態を説明してきたが、本発明は、上述した一実施の形態によってのみ限定されるべきものではない。例えば、本発明において適用するUMLモデル図は、クラス図、ステートマシン図、シーケンス図以外を含んでいてもよい。   Up to this point, the mode for carrying out the present invention has been described. However, the present invention should not be limited only by the above-described embodiment. For example, the UML model diagram applied in the present invention may include other than class diagrams, state machine diagrams, and sequence diagrams.

また、本実施の形態において、プログラムコードを生成する際に、制御部が、UMLモデル図間の整合性をチェックするようにしてもよい。この場合、制御部は、開発対象システムの設計ドキュメントに含まれる任意の二つのUMLモデル図の関係に問題があるか否かを判定することを繰り返すことによってUMLモデル図間の整合性をチェックする。このチェックを行えば、ソフトウェアテスト時の不具合を未然に防ぐことができ、テスト作業を軽減することができる。   In the present embodiment, the control unit may check the consistency between the UML model diagrams when generating the program code. In this case, the control unit checks the consistency between the UML model diagrams by repeatedly determining whether there is a problem in the relationship between any two UML model diagrams included in the design document of the development target system. . By performing this check, it is possible to prevent problems during software testing and reduce test work.

また、本発明は、C言語やJava(登録商標)以外の汎用プログラミング言語、例えばC++言語等のオブジェクト指向プログラミング言語を用いてプログラムコードを生成する場合にも適用可能である。   The present invention can also be applied to the case where program code is generated using a general-purpose programming language other than C language or Java (registered trademark), for example, an object-oriented programming language such as C ++ language.

また、本発明に係るプログラム生成用プログラムをハードディスク、フラッシュメモリ、CD−ROM、DVD−ROM、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に記録して、広く流通させることも可能である。   Further, the program generation program according to the present invention can be recorded on a computer-readable recording medium such as a hard disk, a flash memory, a CD-ROM, a DVD-ROM, or a flexible disk and widely distributed.

なお、本明細書で使用したUMLモデル図、状態、イベント、処理関数、クラス、手続き処理コード等における具体的な名称は、あくまでも例示用として設定したものに過ぎない。   Note that the specific names in the UML model diagram, state, event, processing function, class, procedure processing code, etc. used in this specification are merely set for illustrative purposes.

1 プログラム生成装置
2 入力部
3 出力部
4 制御部
5 記憶部
41 UMLモデル図作成部
42 処理コード作成部
43 処理コード変換部
44 プログラムコード生成部
51 UMLモデル図記憶部
52 プログラム記憶部
511 クラス図記憶部
512 ステートマシン図記憶部
513 シーケンス図記憶部
514 処理コード記憶部
C1 クラス図
C11、C12、C13、C14 クラス
PC1、PC3、PC5、PJ1、PJ2、PJ3、PJ4、PJ5、PJ6 ソースファイル
PC2、PC4 ヘッダファイル
ST1、ST2 ステートマシン図
SQ シーケンス図
DESCRIPTION OF SYMBOLS 1 Program production | generation apparatus 2 Input part 3 Output part 4 Control part 5 Storage part 41 UML model figure creation part 42 Process code creation part 43 Process code conversion part 44 Program code generation part 51 UML model figure storage part 52 Program storage part 511 Class diagram Storage unit 512 State machine diagram storage unit 513 Sequence diagram storage unit 514 Processing code storage unit C1 Class diagram C11, C12, C13, C14 class PC1, PC3, PC5, PJ1, PJ2, PJ3, PJ4, PJ5, PJ6 Source file PC2, PC4 header file ST1, ST2 State machine diagram SQ sequence diagram

Claims (6)

統一モデリング言語におけるUMLモデル図の一種であるクラス図と、ドメイン特化言語によって記述され、前記クラス図に含まれるクラスの操作が有する処理関数の内部処理を与える手続き処理コードとを記憶する記憶部と、
前記手続き処理コードを汎用プログラミング言語に変換する処理コード変換部と、
前記処理コード変換部が変換した手続き処理コードおよび前記UMLモデル図に関する情報に基づいて前記汎用プログラミング言語に基づくプログラムコードを自動的に生成するプログラムコード生成部と、
を備えたことを特徴とするプログラム生成装置。
A storage unit for storing a class diagram which is a kind of UML model diagram in the unified modeling language, and a procedure processing code which is described in a domain specific language and which provides an internal process of a processing function included in the operation of the class included in the class diagram When,
A processing code converter for converting the procedure processing code into a general-purpose programming language;
A program code generation unit for automatically generating a program code based on the general-purpose programming language based on the procedure processing code converted by the processing code conversion unit and information on the UML model diagram;
A program generation device comprising:
前記処理コード変換部は、
前記手続き処理コードを複数の前記汎用プログラミング言語に変換可能であり、
前記プログラムコード生成部は、
複数の前記汎用プログラミング言語の各々に基づくプログラムコードを自動的に生成可能であることを特徴とする請求項1に記載のプログラム生成装置。
The processing code conversion unit
The procedure processing code can be converted into a plurality of the general-purpose programming languages;
The program code generator is
The program generation apparatus according to claim 1, wherein a program code based on each of the plurality of general-purpose programming languages can be automatically generated.
前記記憶部は、前記UMLモデル図としてステートマシン図およびシーケンス図をさらに記憶することを特徴とする請求項1または2に記載のプログラム生成装置。   The program generation apparatus according to claim 1, wherein the storage unit further stores a state machine diagram and a sequence diagram as the UML model diagram. 情報の入力を受け付ける入力部と、
前記入力部が受け付けた情報に基づいて前記UMLモデル図を作成するUMLモデル図作成部と、
前記入力部が受け付けた情報に基づいて前記手続き処理コードを作成する処理コード作成部と、
をさらに備えたことを特徴とする請求項1〜3のいずれか一項に記載のプログラム生成装置。
An input unit that accepts input of information;
A UML model diagram creation unit that creates the UML model diagram based on information received by the input unit;
A processing code creating unit that creates the procedure processing code based on the information received by the input unit;
The program generation device according to claim 1, further comprising:
プログラムコードを生成するプログラム生成装置が行うプログラム生成方法であって、
統一モデリング言語におけるUMLモデル図の一種であるクラス図と、ドメイン特化言語によって記述され、前記クラス図に含まれるクラスの操作が有する処理関数の内部処理を与える手続き処理コードとを記憶する記憶部から前記手続き処理コードを前記記憶部から読み出して汎用プログラミング言語に変換する処理コード変換ステップと、
前記処理コード変換ステップで変換した手続き処理コードおよび前記UMLモデル図に関する情報に基づいて前記汎用プログラミング言語に基づくプログラムコードを自動的に生成するプログラムコード生成ステップと、
を有することを特徴とするプログラム生成方法。
A program generation method performed by a program generation device for generating a program code,
A storage unit for storing a class diagram which is a kind of UML model diagram in the unified modeling language, and a procedure processing code which is described in a domain specific language and which provides an internal process of a processing function included in the operation of the class included in the class diagram A processing code conversion step for reading the procedure processing code from the storage unit and converting it into a general-purpose programming language;
A program code generation step for automatically generating a program code based on the general-purpose programming language based on the procedure processing code converted in the processing code conversion step and information on the UML model diagram;
A program generation method characterized by comprising:
プログラムコードを生成するプログラム生成装置に、
統一モデリング言語におけるUMLモデル図の一種であるクラス図と、ドメイン特化言語によって記述され、前記クラス図に含まれるクラスの操作が有する処理関数の内部処理を与える手続き処理コードとを記憶する記憶部から前記手続き処理コードを前記記憶部から読み出して汎用プログラミング言語に変換する処理コード変換ステップと、
前記処理コード変換ステップで変換した手続き処理コードおよび前記UMLモデル図に関する情報に基づいて前記汎用プログラミング言語に基づくプログラムコードを自動的に生成するプログラムコード生成ステップと、
を実行させることを特徴とするプログラム生成用プログラム。
In the program generator that generates the program code,
A storage unit for storing a class diagram which is a kind of UML model diagram in the unified modeling language, and a procedure processing code which is described in a domain specific language and which provides an internal process of a processing function included in the operation of the class included in the class diagram A processing code conversion step for reading the procedure processing code from the storage unit and converting it into a general-purpose programming language;
A program code generation step for automatically generating a program code based on the general-purpose programming language based on the procedure processing code converted in the processing code conversion step and information on the UML model diagram;
A program generation program characterized in that the program is executed.
JP2013154006A 2013-07-24 2013-07-24 Program generation device, program generation method, and program for program generation Pending JP2015026139A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013154006A JP2015026139A (en) 2013-07-24 2013-07-24 Program generation device, program generation method, and program for program generation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013154006A JP2015026139A (en) 2013-07-24 2013-07-24 Program generation device, program generation method, and program for program generation

Publications (1)

Publication Number Publication Date
JP2015026139A true JP2015026139A (en) 2015-02-05

Family

ID=52490775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013154006A Pending JP2015026139A (en) 2013-07-24 2013-07-24 Program generation device, program generation method, and program for program generation

Country Status (1)

Country Link
JP (1) JP2015026139A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018514878A (en) * 2015-05-13 2018-06-07 ナディア アナリア ウェブラ, A computer-implemented method for displaying software-type applications based on design specifications
KR101866820B1 (en) * 2015-12-16 2018-06-12 유환수 Method for optimizing operation of game server
KR20190136843A (en) * 2018-05-31 2019-12-10 네이버 주식회사 Method for generating programming code, terminal device and server using the same
JP2020027535A (en) * 2018-08-16 2020-02-20 如如研創股▲分▼有限公司 Method of generating bom based on design specification
CN112433717A (en) * 2020-12-18 2021-03-02 杭州米络星科技(集团)有限公司 Code automatic generation method and device and electronic equipment
CN113312057A (en) * 2021-06-17 2021-08-27 上海小熊星教育科技有限公司 Code processing method, programming assisting method, medium and electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293436A (en) * 2005-04-05 2006-10-26 Canon Inc Program code generation device and generation method
JP2008293186A (en) * 2007-05-23 2008-12-04 Toshiba Mitsubishi-Electric Industrial System Corp Method and apparatus for automatically generating steel plant control program
WO2011118003A1 (en) * 2010-03-25 2011-09-29 株式会社エヌ・ティ・ティ・データ・セキスイシステムズ Web application building system, web application building method, web application building program, and recording medium on which web application building is recorded
JP2012048329A (en) * 2010-08-25 2012-03-08 Fuji Electric Co Ltd Object oriented program generating device, method therefor and program
JP2012226398A (en) * 2011-04-14 2012-11-15 Fuji Electric Co Ltd Model diagram creation device, model diagram creation method, model diagram creation program, and data structure of state event table for model diagram creation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293436A (en) * 2005-04-05 2006-10-26 Canon Inc Program code generation device and generation method
JP2008293186A (en) * 2007-05-23 2008-12-04 Toshiba Mitsubishi-Electric Industrial System Corp Method and apparatus for automatically generating steel plant control program
WO2011118003A1 (en) * 2010-03-25 2011-09-29 株式会社エヌ・ティ・ティ・データ・セキスイシステムズ Web application building system, web application building method, web application building program, and recording medium on which web application building is recorded
JP2012048329A (en) * 2010-08-25 2012-03-08 Fuji Electric Co Ltd Object oriented program generating device, method therefor and program
JP2012226398A (en) * 2011-04-14 2012-11-15 Fuji Electric Co Ltd Model diagram creation device, model diagram creation method, model diagram creation program, and data structure of state event table for model diagram creation

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018514878A (en) * 2015-05-13 2018-06-07 ナディア アナリア ウェブラ, A computer-implemented method for displaying software-type applications based on design specifications
KR101866820B1 (en) * 2015-12-16 2018-06-12 유환수 Method for optimizing operation of game server
KR20190136843A (en) * 2018-05-31 2019-12-10 네이버 주식회사 Method for generating programming code, terminal device and server using the same
JP2019212302A (en) * 2018-05-31 2019-12-12 ネイバー コーポレーションNAVER Corporation Method for automatic generation of code, and terminal device and server using the same
KR102133466B1 (en) * 2018-05-31 2020-07-13 네이버 주식회사 Method for generating programming code, terminal device and server using the same
JP2020027535A (en) * 2018-08-16 2020-02-20 如如研創股▲分▼有限公司 Method of generating bom based on design specification
CN112433717A (en) * 2020-12-18 2021-03-02 杭州米络星科技(集团)有限公司 Code automatic generation method and device and electronic equipment
CN112433717B (en) * 2020-12-18 2022-10-18 杭州米络星科技(集团)有限公司 Code automatic generation method and device and electronic equipment
CN113312057A (en) * 2021-06-17 2021-08-27 上海小熊星教育科技有限公司 Code processing method, programming assisting method, medium and electronic equipment
CN113312057B (en) * 2021-06-17 2023-10-03 上海小熊星教育科技有限公司 Code processing method, programming auxiliary method, medium and electronic equipment

Similar Documents

Publication Publication Date Title
US20200151384A1 (en) System and method for provisioning a mobile software application to a mobile device
JP2015026139A (en) Program generation device, program generation method, and program for program generation
CN112035101A (en) Method, apparatus, medium, and device for creating command library by combining RPA and AI
CN107643889B (en) Page rendering method and device based on template engine
CN111209203B (en) Model verification method based on source code
JP5176478B2 (en) Data flow analysis device, data flow analysis method, and data flow analysis program
Salay et al. An eclipse-based tool framework for software model management
US10229096B1 (en) Automatic generation of a presentation from code based on analysis of an intermediate version of the code
Schneider et al. Abstract user interfaces: A model and notation to support plasticity in interactive systems
CN111596905A (en) Method, device, storage medium and terminal for generating java object
JP5732992B2 (en) Model diagram creation device, model diagram creation method, and model diagram creation program
Derezinska et al. Tracing of state machine execution in the model-driven development framework
JP2013235508A (en) Object-oriented program generation device, method therefor, and program
JP2012048329A (en) Object oriented program generating device, method therefor and program
CN111240972B (en) Model verification device based on source code
CN111124386B (en) Animation event processing method, device, equipment and storage medium based on Unity
WO2023128793A1 (en) System and method for dynamically visualizing software elements
CN111782196A (en) MVP architecture-based development method and device
JP2014153783A (en) Object-oriented program generation device, object-oriented program generation method, and program for object-oriented program generation
JP5948926B2 (en) Object-oriented program generator, program
Matsui et al. MDD for Smartphone Application with Smartphone Feature Specific Model and GUI Builder
KR20080106540A (en) Command line pipelining
JP2016197291A (en) Object-oriented model generation device, object-oriented model generation method, and object-oriented model generation program
Küster Towards inconsistency handling of object-oriented behavioral models
García-Díaz et al. MCTest: towards an improvement of match algorithms for models

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170308

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170815