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 PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
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).
しかしながら、特許文献1に記載の技術では、クラス図が有するクラスの操作に含まれる処理関数について、プログラムコードを生成するたびにその処理関数のコードを手入力しなければならなかった。また、プラットフォームが異なると適用するプログラミング言語も異なってくる可能性もあり、汎用性に乏しかった。このため、ソフトウェア開発における全体の作業工数が十分に削減されず、ソフトウェア開発の作業効率が向上しているとは言いがたかった。
However, in the technique described in
本発明は、上記に鑑みてなされたものであって、ソフトウェア開発における全体の作業工数を削減し、作業効率を向上させることができるプログラム生成装置、プログラム生成方法、およびプログラム生成用プログラムを提供することを目的とする。 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.
以下、添付図面を参照して、本発明を実施するための形態(以下、「実施の形態」という)を説明する。 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
プログラム生成装置1は、キーボード、マウス、タッチパネル等のインタフェースを用いて実現される入力部2と、液晶または有機EL等からなる表示パネルおよび音声出力用のスピーカを有し、各種情報を出力する出力部3と、プログラム生成装置1の動作を統括して制御する制御部4と、各種情報を記憶する記憶部5と、を備える。
The
制御部4は、UMLモデル図作成部41と、処理コード作成部42と、処理コード変換部43と、プログラムコード生成部44と、を有する。
UMLモデル図作成部41は、開発対象のシステムのクラス構造を表現するクラス図、開発対象のシステムのクラスにおける状態の変化を表現するステートマシン図および開発対象のシステムのクラス間のメッセージの流れを表現するシーケンス図を少なくとも作成する。UMLモデル図作成部41は、入力部2から入力される情報に基づいて各図を作成するエディタ等のソフトウェアである。ユーザは、出力部3が表示出力する画面の内容を見ながら、入力部2によって必要な情報を入力する。
The
The UML model
処理コード作成部42は、開発対象のシステムのクラスの操作が有する処理関数の内部処理内容を手続き処理コードとして作成する。処理コード作成部42は、UMLモデル図作成部41と同様、エディタ等のソフトウェアであり、入力部2が入力を受け付けた情報に基づいて手続き処理コードを作成する。
The processing
手続き処理コードは、処理コード作成部42により、OSやハードウェア等のプラットフォームに依存しないドメイン特化言語(DSL:Domain Specific Language)として作成される。ここで、ドメイン特化言語とは、C言語やJava(登録商標)等の特定用途に特化しない汎用プログラミング言語およびUML等の汎用モデリング言語とは対照的に、特定用途に特化して設計されたプログラミング言語である。すなわち、ドメイン特化言語は、特定の作業(タスク)を実行させるために特化した言語である。
The procedure processing code is created by the processing
処理コード変換部43は、処理コード作成部42が作成した手続き処理コードを所定の汎用プログラミング言語を用いた記述(プログラムコード)に変換する。処理コード変換部43は、手続き処理コードを複数の汎用プログラミング言語に変換可能である。
The processing
プログラムコード生成部44は、記憶部5から必要なUMLモデル図に関する情報を読み出すとともに、処理コード変換部43が変換した手続き処理コードを読み出して、所定の汎用プログラミング言語によるプログラムコードを自動的に生成する。プログラムコード生成部44は、複数の汎用プログラミング言語の各々に基づくプログラムコードを自動的に生成可能である。
The program
制御部4は、CPU等を用いて実現され、プログラム生成装置1の各構成部位とバスラインを介して接続されている。制御部4は、記憶部5が記憶、格納する各種情報を記憶部5から読み出すことにより、本実施の形態に係るプログラム生成方法に関連した演算処理を実行する。
The
記憶部5は、UMLモデル図記憶部51と、プログラム記憶部52とを有する。
UMLモデル図記憶部51は、UMLモデル図作成部41が作成したクラス図を記憶するクラス図記憶部511と、UMLモデル図作成部41が作成したステートマシン図を記憶するステートマシン図記憶部512と、UMLモデル図作成部41が作成したシーケンス図を記憶するシーケンス図記憶部513と、処理コード作成部42が作成した手続き処理コードを記憶する処理コード記憶部514と、を有する。
プログラム記憶部52は、プログラムコード生成部44が生成したプログラムコードを記憶するプログラムコード記憶部521を有する。なお、プログラムコードの具体的な構成例については後述する。
The
The UML model diagram storage unit 51 includes a class
The
記憶部5は、本実施の形態に係るプログラム生成用プログラムや所定のOSを起動するプログラム等が予めインストールされたROM、および各処理の演算パラメータやデータ等を記憶するRAM等を用いて実現される。上述した各種プログラムは、通信ネットワークを介してダウンロードすることによって取得することも可能である。ここでいう通信ネットワークは、例えば既存の公衆回線網、LAN、WANなどによって実現されるものであり、有線、無線を問わない。
The
以上の構成を有するプログラム生成装置1は、1つのコンピュータを用いて実現してもよいし、複数のコンピュータを用いて実現してもよい。後者の場合には、通信ネットワークを介してデータの送受信を行いながら、互いに連携して処理を行うようにすることも可能である。なお、ここでいうコンピュータは、汎用のパーソナルコンピュータやサーバ等によって構成することができる。また、通信ネットワークを介した複数のコンピュータからなるクライアント・サーバシステムによってプログラム生成装置1を構成する場合には、入力部2および出力部3の機能をクライアント端末に具備させる一方、制御部4および記憶部5の機能を一または複数のサーバに具備させるような構成としてもよい。
The
次に、UMLモデル図作成部41が作成してUMLモデル図記憶部51に格納するUMLモデル図を具体的に説明する。
Next, the UML model diagram created by the UML model
図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
クラス図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
When the
図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
図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
図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
図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
続いて、プログラムコード生成部44は、プログラムコードを生成したクラスが属性を有しているか否かを判定する(ステップS12)。判定の結果、プログラムコードを生成したクラスが属性を有している場合(ステップS12:Yes)、プログラムコード生成部44は、そのクラスの属性のプログラムコードを生成する(ステップS13)。一方、判定の結果、プログラムコードを生成したクラスが属性を有しない場合(ステップS12:No)、プログラム生成装置1はステップS14へ移行する。
Subsequently, the program
ステップS14において、プログラムコード生成部44は、プログラムコードを生成したクラスがイベントを有しているか否かを判定する(ステップS14)。判定の結果、プログラムコードを生成したクラスがイベントを有する場合(ステップS14:Yes)、プログラムコード生成部44は、イベントのプログラムコードをクラスの関数として生成する(ステップS15)。これに対し、判定の結果、プログラムコードを生成したクラスがイベントを有しない場合(ステップS14:No)、プログラム生成装置1はステップS16へ移行する。
In step S14, the program
ステップS16において、プログラムコード生成部44は、プログラムコードを生成したクラスが処理関数を有するか否かを判定する(ステップS16)。判定の結果、プログラムコードを生成したクラスが処理関数を有する場合(ステップS16:Yes)、プログラムコード生成部44は、処理関数のプログラムコードをクラスの関数として生成する(ステップS17)。なお、ここで生成されるプログラムコードには、処理関数の内部処理は記述されない。その後、プログラム生成装置1はステップS18へ移行する。
これに対し、判定の結果、プログラムコードを生成したクラスが処理関数を有しない場合(ステップS16:No)、プログラム生成装置1は一連の処理を終了する。
In step S16, the program
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
ステップS18において、プログラムコードを生成したクラスと対応付けられた手続き処理コードを処理コード記憶部514が記憶している場合(ステップS18:Yes)、処理コード変換部43は、DSLで記述された手続き処理コードを所定の汎用プログラミング言語に変換する(ステップS19)。
これに対し、プログラムコードを生成したクラスと対応付けられた手続き処理コードを処理コード記憶部514が記憶していない場合(ステップS18:No)、プログラム生成装置1は一連の処理を終了する。
In step S18, when the processing
On the other hand, if the processing
ステップS19の後、プログラムコード生成部44は、処理コード変換部43によって変換された手続き処理コードを処理関数の内部処理とするプログラムコードを生成する(ステップS20)。プログラム生成装置1は、ステップS20の後、一連の処理を終了する。
After step S19, the program
再び図8に戻って、プログラム生成装置1が実行するプログラムコード生成処理の概要を説明する。ステップS1の後、プログラムコード生成部44は、ステートマシン図記憶部512からステートマシン図の情報を読み出して、ステートマシン図に関するプログラムコードを生成する(ステップS2)。具体的には、プログラムコード生成部44は、ステートマシン図の状態および遷移に基づいて、イベントの内部処理として、クラスが有する属性を変更するプログラムコードを生成する。
Returning to FIG. 8 again, an outline of the program code generation processing executed by the
その後、プログラムコード生成部44は、シーケンス図記憶部513からシーケンス図の情報を読み出して、シーケンス図に関するプログラムコードを生成する(ステップS3)。具体的には、プログラムコード生成部44は、関数であるメッセージに基づいて、イベントの内部処理として、メッセージ先のクラスに対応するイベントを呼び出すプログラムコードを生成する。
以上により、プログラムコード生成処理が終了する。
Thereafter, the program
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
まず、プログラムコード生成部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
FIG. 10 is a diagram illustrating a configuration example (first example) of a C language source file automatically generated by the program
なお、図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
プログラムコード生成部44は、クラス図C1に基づいて、ソースファイルPC1の1〜8行目、12〜21行目を自動的に生成する。
The program
図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
プログラムコード生成部44は、クラス図C1に基づいて、ヘッダファイルPC2の1〜2行目、4〜7行目、9行目、11行目、13行目、および15〜16行目を自動的に生成する。
The program
図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
プログラムコード生成部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
Further, the program
Further, the program
図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
プログラムコード生成部44は、クラス図C1に基づいて、ヘッダファイルPC4の1〜2行目、4〜7行目、9〜10行目、12〜13行目、15行目、17〜18行目を自動的に生成する。
Based on the class diagram C1, the program
図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
プログラムコード生成部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
Further, the program
In addition, the program
プログラムコード生成部44が生成したソースファイルPC1、PC3、PC5およびヘッダファイルPC2、PC4は、プログラムコード記憶部521に格納される。
Source files
次に、プログラムコード生成部44がJava(登録商標)のプログラムコードを生成する場合を説明する。なお、この場合にも、プログラムコード生成部44がプログラムコードを生成する際に、プログラムコードに応じたコメント文(/**・・・*/,/*・・・*/)を自動的に生成するように設定されているものとする。
Next, a case where the program
図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
図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
プログラムコード生成部44は、クラス図C1に基づいて、ソースファイルPJ2の5〜7行目、11〜13行目、16〜18行目、20〜22行目、および24〜26行目を生成する。その他の行について、プログラムコード生成部44は、プログラム記憶部52が記憶するJava(登録商標)の基本情報を参照して自動的に生成する。このソースファイルPJ2のファイル名は、例えば「Main.java」と名付けられる。
The program
図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
プログラムコード生成部44は、クラスC11に基づいて、ソースファイルPJ3の3行目、7行目、10〜11行目、13行目、16〜17行目を自動的に生成する。
また、プログラムコード生成部44は、ステートマシン図ST1に基づいて、ソースファイルPJ3の5行目、12行目を自動的に生成する。
The program
Further, the program
図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
プログラムコード生成部44は、クラス図C1およびクラスの継承についての情報に基づいて、ソースファイルPJ4の3行目、5〜7行目、および21行目を自動的に生成する。
また、プログラムコード生成部44は、ステートマシン図ST1およびシーケンス図SQに基づいて、ソースファイルPJ4の9〜20行目を自動的に生成する。このソースファイルPJ4のファイル名は、例えば「ButtonOff.java」と名付けられる。
The program
Further, the program
図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
図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
プログラムコード生成部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
Further, the program
Further, the program
プログラムコード生成部44が生成したソースファイルPJ1〜PJ6は、プログラムコード記憶部521に格納される。
The source files PJ1 to PJ6 generated by the program
以上説明した本発明の一実施の形態によれば、ドメイン特化言語によって記述され、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
Claims (6)
前記手続き処理コードを汎用プログラミング言語に変換する処理コード変換部と、
前記処理コード変換部が変換した手続き処理コードおよび前記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モデル図を作成する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.
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)
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)
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 |
-
2013
- 2013-07-24 JP JP2013154006A patent/JP2015026139A/en active Pending
Patent Citations (5)
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)
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 |