JP2015162218A - Software development apparatus and software development method - Google Patents
Software development apparatus and software development method Download PDFInfo
- Publication number
- JP2015162218A JP2015162218A JP2014038847A JP2014038847A JP2015162218A JP 2015162218 A JP2015162218 A JP 2015162218A JP 2014038847 A JP2014038847 A JP 2014038847A JP 2014038847 A JP2014038847 A JP 2014038847A JP 2015162218 A JP2015162218 A JP 2015162218A
- Authority
- JP
- Japan
- Prior art keywords
- model
- file
- version
- control logic
- comment
- 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 version management in software development.
プログラムの開発において、図形言語が用いられている。図形言語とは、ブロック図形式により、制御ロジック等を視覚的に分かりやすく表現するための表現体系である。図形言語において、制御ロジックは例えば、機能的な要素(例えば制御素子を表現する)を示すアイコン(ステンシル)を入出力を示す線で結合したブロック線図により表現される。プログラマは、GUI(グラフィカルユーザインタフェース)によって表示画面上で図形言語を操作することにより、制御ロジックを生成することができる。 Graphic languages are used in the development of programs. The graphic language is an expression system for expressing control logic and the like visually in a block diagram format. In the graphic language, for example, the control logic is expressed by a block diagram in which icons (stencils) indicating functional elements (for example, expressing control elements) are connected by lines indicating input / output. A programmer can generate control logic by manipulating a graphic language on a display screen using a GUI (graphical user interface).
エンジンコントローラ(ECU)などの組込みシステムにおいては、図形言語を用いたプログラム開発が主流となっている。そのような開発においては、図形言語プログラミング環境を用いて、ブロック図形式でプログラムを記述する。そのブロック図に基づいて、実装コードが自動的に生成される。その実装コードを実機の組込みシステムにダウンロードすることにより、実際に制御対象を制御することができる。このようなプログラムの開発手法は、モデルベース開発と呼ばれている。図形言語プログラミング環境としては例えば、The MathWorks社のSimulink(商標)や、Scilab(商標)が知られている。 In an embedded system such as an engine controller (ECU), program development using a graphic language is mainstream. In such development, a program is described in a block diagram format using a graphic language programming environment. An implementation code is automatically generated based on the block diagram. By downloading the implementation code to the embedded system of the actual machine, the control target can be actually controlled. Such a program development method is called model-based development. As a graphic language programming environment, for example, Simullink (trademark) of The MathWorks and Scillab (trademark) are known.
ソフトウェア開発においては、プログラミングを共同で実施する場合、モジュール間の整合性を保つためにバージョン管理が必要となる。プログラミングを一人で行う場合であっても、開発規模が大きい場合にはバージョン管理が必要となる。バージョン管理のために、ソフトウェア成果物の構成管理ツール(バージョン管理システム)を使うことが一般的である。ファイルのバージョン管理ツールとしては、例えば、SubversionやCVS(Concurrent Versions System)がよく知られている。 In software development, when performing programming jointly, version management is required to maintain consistency between modules. Even when programming alone, version management is necessary when the development scale is large. It is common to use a software product configuration management tool (version management system) for version management. As file version management tools, for example, Subversion and CVS (Current Versions System) are well known.
特許文献1〜5は、図形言語及びソフトウェアのバージョン管理についての技術の例である。 Patent Documents 1 to 5 are examples of techniques for graphic language and software version management.
図形言語プログラミング環境(ブロック図形式のプログラム開発ツール)において、図形ブロックを用いてプログラミングすることをモデリングとも言う。モデリングにおいて、保存されたファイルをモデルファイルと呼ぶ。 Programming in a graphic language programming environment (block diagram format program development tool) using graphic blocks is also called modeling. In modeling, a saved file is called a model file.
図形言語環境で編集・作成したモデルファイルの管理は、慣行として手作業で行われている。例えば、ファイルシステム内において複数のフォルダを作成し、それぞれにバージョンの異なるモデルファイルを格納することにより、バージョン管理(版管理)が行われる。又は、各バージョンのモデルファイルに対してバージョンを示すファイル名を付けることによりバージョン管理が行われる。しかし手作業による管理においては、作業の煩雑さや、ヒューマンエラーなどの問題がある。 Management of model files edited and created in a graphic language environment is a manual practice. For example, version management (version management) is performed by creating a plurality of folders in the file system and storing model files having different versions in each folder. Alternatively, version management is performed by attaching a file name indicating the version to each version of the model file. However, manual management has problems such as complicated work and human error.
図形言語環境で編集・作成したモデルファイルをバージョン管理システムで管理することも可能である。バージョン管理システムは、作成されたファイルをバージョンによって区別して記憶領域に登録するデータベースであるリポジトリを有する。そのリポジトリにモデルファイルの各バージョンを登録することができる。 Model files edited and created in a graphic language environment can be managed by a version control system. The version management system has a repository that is a database that registers created files in a storage area by distinguishing them by version. Each version of the model file can be registered in the repository.
但し、モデルファイルは図形言語環境に依存したバイナリ形式のファイルである。そのため、モデルファイルをバージョン管理システムのリポジトリに登録した場合、バージョン間での変更箇所の確認や差分の比較が困難であるという問題がある。 However, the model file is a binary format file depending on the graphic language environment. Therefore, when the model file is registered in the repository of the version management system, there is a problem that it is difficult to confirm the changed part and compare the differences between versions.
図形言語環境で編集・作成したモデルファイルをバージョン管理システムで分かりやすい形で管理することを可能とする技術が望まれる。 There is a demand for a technique that enables a model file edited and created in a graphic language environment to be managed in an easy-to-understand form by a version management system.
本発明の一側面において、ソフトウェア開発装置は、図形言語で記述された制御ロジックを作成する図形言語プログラム編集部と、制御ロジックの各バージョンに対応するコメントを生成するコメント生成部と、制御ロジックをバイナリ形式で記述したモデルファイルをバージョン管理システムのリポジトリに登録するための登録操作に応じて、モデルファイルの各バージョンに対応づけてコメントをリポジトリに格納するファイル書き出し部とを備える。 In one aspect of the present invention, a software development apparatus includes a graphic language program editing unit that creates control logic described in a graphic language, a comment generation unit that generates a comment corresponding to each version of the control logic, and a control logic. A file writing unit for storing a comment in the repository in association with each version of the model file in response to a registration operation for registering the model file described in the binary format in the repository of the version management system;
本発明の他の側面において、ソフトウェア開発方法は、図形言語で記述された制御ロジックを作成する工程と、制御ロジックの各バージョンに対応するコメントを生成する工程と、制御ロジックをバイナリ形式で記述したモデルファイルをバージョン管理システムのリポジトリに登録するための登録操作に応じて、モデルファイルの各バージョンに対応づけてコメントをリポジトリに格納する工程とを備える。 In another aspect of the present invention, a software development method includes a step of creating a control logic described in a graphic language, a step of generating a comment corresponding to each version of the control logic, and a description of the control logic in a binary format. Storing a comment in the repository in association with each version of the model file in response to a registration operation for registering the model file in the repository of the version management system.
本発明の更に他の側面において、プログラムは、本発明によるソフトウェア開発方法をコンピュータに実行させる。 In still another aspect of the present invention, a program causes a computer to execute the software development method according to the present invention.
図形言語環境で編集・作成したモデルファイルをバージョン管理システムで分かりやすい形で管理することを可能とする技術が提供される。 A technology is provided that makes it possible to manage model files edited and created in a graphic language environment in an easy-to-understand form with a version control system.
以下、添付図面を参照して、本発明の実施形態を説明する。図1は、本発明の一実施形態におけるシステム構成を示す。サーバ1が情報通信ネットワーク5を介して端末2−1〜2−nに接続される。サーバ1と端末2−1〜2−nはそれぞれコンピュータである。サーバ1は、図形言語プログラミング環境やバージョン管理システムの機能を各端末2−1〜2−nに提供する。 Embodiments of the present invention will be described below with reference to the accompanying drawings. FIG. 1 shows a system configuration in an embodiment of the present invention. The server 1 is connected to the terminals 2-1 to 2-n via the information communication network 5. The server 1 and the terminals 2-1 to 2-n are computers. The server 1 provides the terminals 2-1 to 2-n with the functions of a graphic language programming environment and a version management system.
図2は、ソフトウェアの開発プロセスのV字型モデルを示す。ステップS10〜S13が開発工程を、ステップS14〜S16がテスト工程を示す。ステップS10において要求定義がなされ、その成果物として要件定義書が作成される。ステップS11において、要件定義書に基づいて基本設計仕様が決定され、その成果物としてシステム仕様書が作成される。ステップS12において、システム仕様書に基づいて詳細設計仕様が作成され、その成果物として制御ロジックモデルが作成される。ステップS13において、制御ロジックモデルで示された制御を制御対象に実装するためのプログラムコードが製作される。このプログラムコードをモデリング・コードと称し、例えばC言語などで記述され、実機に実装されるレベルのコードである。 FIG. 2 shows a V-shaped model of the software development process. Steps S10 to S13 indicate a development process, and steps S14 to S16 indicate a test process. In step S10, a requirement definition is made, and a requirement definition document is created as a product. In step S11, a basic design specification is determined based on the requirement definition document, and a system specification document is created as a product. In step S12, a detailed design specification is created based on the system specification, and a control logic model is created as a product. In step S13, a program code for mounting the control indicated by the control logic model on the control target is produced. This program code is referred to as modeling code, and is a code of a level described in, for example, C language and mounted on an actual machine.
ステップS14において、モデリング・コードを用いて、ステップS12で作成された制御ロジックモデルに相当するレベルで単体試験が実施される。単体試験をパスすると、ステップS15において、ステップS11のシステム仕様書に相当するレベルで統合試験が実施される。統合試験をパスすると、ステップS16において、ステップS10の要件定義書に相当するレベルでシステム試験が実施され、システムが完成する。 In step S14, a unit test is performed at a level corresponding to the control logic model created in step S12 using the modeling code. If the unit test is passed, in step S15, the integration test is performed at a level corresponding to the system specification in step S11. If the integration test is passed, in step S16, a system test is performed at a level corresponding to the requirement definition document in step S10, and the system is completed.
本実施の形態における図形言語を用いたソフトウェア開発は、特に、ステップS12〜S13の工程に関する。図3に、図形言語を用いたソフトウェア開発のフローを示す。 Software development using the graphic language in the present embodiment particularly relates to steps S12 to S13. FIG. 3 shows a flow of software development using a graphic language.
開発者は、端末2−1〜2−nからサーバ1にアクセスする。サーバ1は、図形言語による開発環境を起動して、端末2−1〜2−nに提供する(ステップS20)。開発者は、開発対象のシステムの図形言語によるモデル(図形ロジック)を作成・編集する。図形言語開発環境により、その図形ロジックから、バイナリ形式のモデルファイルが生成される(ステップS21)。 The developer accesses the server 1 from the terminals 2-1 to 2-n. The server 1 activates a development environment using a graphic language and provides it to the terminals 2-1 to 2-n (step S20). The developer creates and edits a model (graphic logic) of a development target system in a graphic language. A binary model file is generated from the graphic logic by the graphic language development environment (step S21).
開発者は、各モデルファイルについて、バージョンを示すメタ情報、開発によって修正した箇所、注釈などを、モデルファイル属性として編集する(ステップS22)。モデルファイルをバージョン管理システムのリポジトリに登録する際に、モデルファイル属性も、そのモデルファイルと紐付けられてリポジトリに登録される(ステップS23)。開発者は、図形言語環境を終了する(ステップS24)。 For each model file, the developer edits meta information indicating the version, a location corrected by development, an annotation, and the like as model file attributes (step S22). When registering the model file in the repository of the version management system, the model file attribute is also associated with the model file and registered in the repository (step S23). The developer ends the graphic language environment (step S24).
メタ情報としては様々な情報が考えられるが、一例としてDubline Core(ISO 15836)で規定されているような情報がある。その場合、図形言語開発環境において開発者が所定の入力操作を行うことにより、メタ情報を記載するためのテンプレートが起動されることが望ましい。 Various kinds of information can be considered as the meta information. As an example, there is information defined by Dublin Core (ISO 15836). In that case, it is desirable that a template for describing meta information is activated when a developer performs a predetermined input operation in the graphic language development environment.
このような処理により、バージョン管理システムのリポジトリに、モデルファイルと紐付けられて、メタ情報等がモデルファイル属性として登録される。開発者は、後からモデルファイルを再編集するときに、或いは他の開発者が編集したモデルファイルを再編集するときに、バージョン管理システムからモデルファイル属性を読み出すことができる。そのモデルファイル属性を読み出すことにより、モデルファイルの編集者や、以前のバージョンに対する修正箇所等の情報を知ることができる。 By such processing, meta information or the like is registered as a model file attribute in the repository of the version management system in association with the model file. The developer can read out the model file attribute from the version management system when the model file is re-edited later or when the model file edited by another developer is re-edited. By reading out the model file attribute, it is possible to know information such as the model file editor and the corrected part of the previous version.
以上のようなモデルファイル属性の登録について、以下に詳しく説明する。図4は、本実施形態におけるソフトウェア開発装置の構成を示すブロック図である。図1のサーバ1が、図4における図形言語プログラミング環境31、バージョン管理システムリポジトリ33、ファイルシステム32を提供する。サーバ1は更に、図示しないバージョン管理システムも提供する。
The registration of the model file attribute as described above will be described in detail below. FIG. 4 is a block diagram showing the configuration of the software development apparatus in this embodiment. The server 1 of FIG. 1 provides the graphic
図形言語プログラミング環境31は、ヒューマン入出力部34、図形言語プログラム編集部35、ファイル読込・書出処理部36、数値演算処理部37、及びコメント生成部38を備える。
The graphic
ヒューマン入出力部34は、入力装置と出力装置を備える。入力装置は、キーボード、ポインティングデバイス、タッチパネル等を備え、開発者の入力操作によって、入力情報を生成する。出力装置はディスプレイやプリンターを含み、図形言語プログラミング環境31が生成した出力情報を画像や文字によって出力する。
The human input / output unit 34 includes an input device and an output device. The input device includes a keyboard, a pointing device, a touch panel, and the like, and generates input information by a developer's input operation. The output device includes a display and a printer, and outputs output information generated by the graphic
図形言語プログラム編集部35、ファイル読込・書出処理部36、数値演算処理部37、及びコメント生成部38は、サーバ1が備える有体の非遷移的な(tangible,non−transitory)記録媒体に格納されたプログラムを、サーバ1の演算制御装置が読み出して実行することにより実現される機能ブロックである。
The graphic language
ファイルシステム32は、サーバ1又は端末2−1〜2−nが提供するファイルシステムであり、モデルファイルとモデルファイル属性(メタ属性ファイル40、モデルレポートファイル41)が格納される。バージョン管理システムリポジトリ33は、バージョン管理システムがモデルファイル等を格納するために提供する記憶領域である。
The
図5を参照して、図形言語プログラミング環境における作業ワークフローについて説明する。図5では、左側欄60にプログラマ(開発者)の作業、中央欄61にサーバ1が提供する図形言語プログラミング環境31の動作、右側欄62にバージョン管理システムが提供する開発環境が示されている。
The work workflow in the graphic language programming environment will be described with reference to FIG. In FIG. 5, the
プログラマは、ヒューマン入出力部34に対して所定の入力操作を行うことにより、図形言語環境を起動する(ステップS63)。サーバ1はその入力操作に応答して、図形言語プログラミング環境31を起動する(ステップS67)。プログラマは、モデルプログラムを編集する。すなわちプログラマは、図形言語によるモデル(図形ロジック、制御ロジックモデル)を作成・編集することにより、図形言語プログラミングを実行する(ステップS64)。この作業は、図形言語プログラム編集部35が提供するモデル編集画面により実行される(ステップS68)。 The programmer activates the graphic language environment by performing a predetermined input operation on the human input / output unit 34 (step S63). In response to the input operation, the server 1 activates the graphic language programming environment 31 (step S67). The programmer edits the model program. That is, the programmer executes graphic language programming by creating and editing a model (graphic logic, control logic model) in graphic language (step S64). This operation is executed by the model editing screen provided by the graphic language program editing unit 35 (step S68).
プログラマは、コメント生成部38の機能により、メタ属性ファイル40を作成する。プログラマは更に、図形言語プログラミング環境31において提供されるレポート作成環境によって、作成したモデルに関するレポート(モデルレポートファイル41)を作成する(ステップS65)。メタ属性ファイル40とモデルレポートファイル41は、いずれも作成されたモデルに関するモデルファイル属性として扱われる。
The programmer creates the
プログラマは、ヒューマン入出力部34に対してステップS64で編集したモデルを保存するための操作を行う(ステップS66)。ファイル読込・書出処理部36は、そのモデルをファイルシステム32と、バージョン管理システムリポジトリ33とに書き込む。ファイル読込・書出処理部36は更に、そのモデルと共にステップS65で作成されたモデルファイル属性(メタ属性ファイル40とモデルレポートファイル41)を、そのモデルと紐付けて、ファイルシステム32と、バージョン管理システムリポジトリ33とに書き込む(ステップS70)。
The programmer performs an operation for saving the model edited in step S64 on the human input / output unit 34 (step S66). The file reading /
このようにして作成されたモデルは、制御対象となる実機の制御に使用することができる。図形言語プログラミング環境31は、図形言語で作成された制御ロジックに基づいて、C言語等で記述されたソースコードを自動的に生成するソースコード生成機能を有する。そのソースコードを組込システムのコントローラにダウンロードすることにより、制御対象の制御を行うことができる。
The model created in this way can be used for controlling an actual machine to be controlled. The graphic
次に、ステップS68で図形言語プログラム編集部35が提供するモデル編集画面について説明する。図6は、ステップS67において、ヒューマン入出力部34の表示装置によって表示されるモデル編集画面51の一例を示す。モデル編集画面51は、図形言語プログラミング環境31を用いて実現され、GUIによって制御ロジックの作成・編集を可能とする。
Next, the model editing screen provided by the graphic language
モデル編集画面51の上部にツールバー52が表示される。ツールバー52の下部の左側にモデルブロック表示領域54が設けられ、右側にモデルファイル編集領域55が設けられる。モデルブロック表示領域54には、論理演算素子、数値演算素子等の演算素子などの制御システムの機能単位をグラフィカルなアイコンで示すモデルブロック(又はステンシル)56が表示される。これらのモデルブロック56は、図形言語プログラミング環境31が提供するモデルブロックライブラリから選択し、ドラッグ&ドロップ等の入力操作を行うことによってモデルブロック表示領域54に表示することができる。
A
プログラマは、モデルブロック56をGUIによってモデルファイル編集領域55の所望の位置に配置し、信号の入出力関係を示す線で繋げる。更に、各モデルブロック56にパラメータ等を設定することにより、ブロック線図57を作成する。ブロック線図57は、制御対象となる制御システムをブロック図形式で表現したモデルである。数値演算処理部37は、このブロック線図57に基づいて、プログラマが設定した入力信号に対する出力信号の応答特性などを算出し、制御システムのシミュレーションを行うことができる。
The programmer places the
モデルブロック表示領域54に、メタ記述ブロック59が表示される。プログラマがポインティングデバイスによりメタ記述ブロック59を押下すると、コメント(モデルのメタ情報)を作成するためのフォームがモデル編集画面51上で起動する。プログラマは、モデルブロック56について、以前のバージョンのモデルに対する変更箇所や、編集に当たっての注意事項や、他のプログラマへの申し送り事項などのコメント(要素ブロックコメント)を入力する。モデルファイル編集領域55にもメタ記述ブロック59が表示される。プログラマは、モデルブロック表示領域54と同様にして、ブロック線図57に対するコメント(ブロック線図コメント)を入力することができる。
A
このメタ記述ブロック59のようなコメント記述用ブロックは、ユーザ定義のカスタムブロックライブラリとしてモデルに組み込むことができる。図6に例示されたメタ記述ブロック59に加えて、作成者、作成日、変更日、変更内容、バージョン情報等のユーザ定義のコメントをテンプレートに従って記録するためのコメント記述用ブロックもモデルに組み込むことが望ましい。その場合、それらのメタ情報もメタ属性ファイル40としてバージョン管理システムリポジトリ33に格納される。
A comment description block such as the
ファイル読込・書出処理部36は、モデル編集画面51のツールバー52に、バージョン管理連携メニュー53を表示する。プログラマは、モデルの編集作業を終えると、バージョン管理連携メニュー53を押下する。すると、ブロック線図57によって与えられたモデルをバイナリ形式で表現したモデルファイル39がファイルシステム32に登録される。その登録と共に、バージョン管理システムリポジトリ33にモデルファイル39が登録される。バージョン管理システムは、そのモデルファイル39のバージョンを特定する情報と共に、モデルファイル39を保存する。バージョンを特定する情報として、例えば、他のバージョンと区別するために一意的に発行されるバージョン識別子や、登録された日時や、予め入力されたプログラマの識別子などを用いることができる。
The file reading /
バージョン管理連携メニュー53の押下に応じて、モデルファイル39と共に、メタ属性ファイル40がファイルシステム32とバージョン管理システムリポジトリ33に登録される。メタ属性ファイル40として、例えば図6のメタ記述ブロック59の押下により作成されたコメントが登録される。
In response to pressing of the version
このような処理は、例えばバージョン管理システムが提供するファイルの保存機能(図6のバージョン管理連携メニュー53の押下)に伴って、メタ属性ファイル等の保存も同時に実行する機能をスクリプトプログラムによって追加することにより実現できる。
Such a process adds, for example, a function for simultaneously saving a meta attribute file or the like by a script program in accordance with a file saving function provided by the version management system (pressing the version
本実施形態においては、バージョン管理連携メニュー53を押下するという入力操作に応じて、バージョン管理システムへのモデルファイル39の登録と共に、その編集対象のモデルファイル39のバージョンと紐付けて、テキスト形式等の環境に依存しない形式で作成されたメタ属性ファイル40の登録も同時に行われる。そのため、バージョン間の差異などを記載したメタ情報の登録漏れを防止することができる。
In the present embodiment, in response to an input operation of pressing the version
プログラマは、自分が過去に編集したモデル、又は他のプログラマが編集したモデルを新たに編集する際に、ファイル読込・書出処理部36を用いて、バージョン管理システムから、そのモデルファイルを読み出す。プログラマは、その際に、そのモデルのバージョンに対応したメタ属性ファイル40を読み出すことができる。モデルファイル39はバイナリ形式で記述されているために、他のバージョンとの相違などを把握することが難しい。しかしながらプログラマは、メタ属性ファイル40を参照することにより、モデルファイル39のバージョン間の差異を比較し、把握することができる。
The programmer reads the model file from the version management system using the file reading /
本実施形態においては、図形言語プログラミング環境31とバージョン管理システムとを連携したモデルファイルのバージョン管理が実現できるようになる。これにより、複数人のチーム開発で管理されたバージョンのモデルファイルを利用した組込ソフトウェア開発が容易になる。更に、慣行的に手作業でバージョン管理をしていた開発現場において、バージョン管理システムの活用を促進することが可能となるため、モデルファイルのバージョン間の相違点などを把握することが容易となる。
In this embodiment, version management of a model file in which the graphic
次に、ステップS65、S69で作成されるレポートについて説明する。図形言語プログラミング環境31は、モデルの情報を自動的に抽出して、テキスト形式(HTML(Hypertext Markup Language)形式やXML(Extensible Markup Language)形式の場合もある)でレポート(モデルレポートファイル41)を作成する機能を有する場合がある。
Next, the report created in steps S65 and S69 will be described. The graphic
例えば、ブロック線図57における各モデルブロック56の接続関係やパラメータをテキスト形式等で記載したファイルが、モデルレポートファイル41として作成される。また、各モデルブロック56に対して設定されるパラメータを以前のバージョンから変更した場合、変更日時と、そのモデルブロック56を特定する識別情報と、変更前のパラメータと、変更後のパラメータがモデルレポートファイル41に登録される。
For example, a file describing the connection relationship and parameters of each
コメント生成部38は、そのようなモデルレポートファイル41を作成するモデルレポート生成部としての機能を有する。モデルレポートファイル41も、バージョン管理連携メニュー53の押下に応じて、ファイルシステム32とバージョン管理システムリポジトリ33に登録される。更に、図形言語プログラミング環境31が図形言語で記述されたモデルから自動的に生成したソースコードも、ファイルシステム32とバージョン管理システムリポジトリ33に登録されることが望ましい。
The
図7は、バージョン管理システムリポジトリ33によって管理されるバージョン管理データの構造を示す。バージョン管理データは、例えばツリー構造(ディレクトリ形式)のファイルシステムによって管理することができる。バージョン管理データは、例えば第1のバージョンV1と、バージョンV1が更新された第2のバージョンV2と、バージョンV2が更新された第3のバージョンV3−1が直列的に連鎖した構造を有する。更に、第2のバージョンV2から派生した第3のバージョンの派生バージョンV3−2などのブランチを管理することも可能である。
FIG. 7 shows the structure of version management data managed by the version
これらの各バージョンのファイルは、例えば同一の表示画面上に、バージョン識別子や更新日時を伴ったアイコンによって表示される。プログラマは、そのバージョン識別子等を選択することにより、各バージョンの内容を参照することができる。 These versions of files are displayed, for example, on the same display screen by icons with version identifiers and update dates. The programmer can refer to the contents of each version by selecting the version identifier or the like.
プログラマが例えば第2のバージョンV2を選択すると、そのバージョンV2のモデルファイル39と、そのモデルファイルに紐付けられたメタ属性ファイル40と、モデルレポートファイル41とが選択できる選択画面が表示される。プログラマは、そのいずれかを選択する入力操作を行う。プログラマがモデルファイル39を選択すると、バージョンV2のモデルの編集が可能となる。プログラマは、以前のバージョンV1と現在開いているバージョンV2との差異や変更意図などを知りたい場合には、選択画面からバージョンV2のメタ属性ファイル40やモデルレポートファイル41を選択する。選択されたファイルの内容が表示画面に表示され、プログラマはそれらのファイルを参照することができる。
When the programmer selects, for example, the second version V2, a selection screen for selecting the
1 サーバ
2−1〜2−n 端末
5 情報通信ネットワーク
31 図形言語プログラミング環境
32 ファイルシステム
33 リポジトリ
34 ヒューマン入出力部
35 図形言語プログラム編集部
36 ファイル読込・書出処理部
37 数値演算処理部
38 コメント生成部
39 モデルファイル
40 メタ属性ファイル
41 モデルレポートファイル
51 モデル編集画面
52 ツールバー
53 バージョン管理連携メニュー
54 モデルブロック表示領域
55 モデルファイル編集領域
56 モデルブロック
57 ブロック線図
59 メタ記述ブロック
60 左側欄
61 中央欄
62 右側欄
V1、V2、V3−1、V3−2 バージョン
1 server 2-1 to 2-n terminal 5
Claims (7)
前記制御ロジックの各バージョンに対応するコメントを生成するコメント生成部と、
前記制御ロジックをバイナリ形式で記述したモデルファイルをバージョン管理システムのリポジトリに登録するための登録操作に応じて、前記モデルファイルの各バージョンに対応づけて前記コメントを前記リポジトリに格納するファイル書き出し部と
を具備するソフトウェア開発装置。 A graphic language program editor for creating control logic written in a graphic language;
A comment generator for generating a comment corresponding to each version of the control logic;
A file writing unit for storing the comment in the repository in association with each version of the model file in response to a registration operation for registering the model file describing the control logic in a binary format in a repository of a version control system; A software development apparatus comprising:
前記コメント生成部は、前記図形言語により前記制御ロジックが表示された画面において所定の入力操作をすることにより、前記コメントの入力を受け付けるフォームを起動する
ソフトウェア開発装置。 A software development device according to claim 1,
The said comment production | generation part is a software development apparatus which starts the form which receives the input of the said comment by performing predetermined input operation in the screen on which the said control logic was displayed by the said graphic language.
更に、前記図形言語プログラム編集部によって前記制御ロジックが作成された時に、前記制御ロジックに含まれる情報を抽出したテキストデータを含むモデルレポートファイルを作成するモデルレポート生成部を具備し、
前記ファイル書き出し部は、前記登録操作に応じて、前記モデルファイルの各バージョンに対応づけて前記モデルレポートファイルを前記リポジトリに登録する
ソフトウェア開発装置。 A software development device according to claim 1 or 2,
Further, when the control logic is created by the graphic language program editing unit, a model report generation unit that creates a model report file including text data extracted from information included in the control logic,
The file writing unit registers the model report file in the repository in association with each version of the model file in accordance with the registration operation.
前記ファイル書き出し部は更に、前記登録操作に応じて、前記モデルファイルから生成され、前記制御ロジックによって制御対象を制御するために用いられるソースファイルを、前記モデルファイルの各バージョンに対応づけて前記リポジトリに登録する
ソフトウェア開発装置。 A software development device according to any one of claims 1 to 3,
The file writing unit further generates a source file generated from the model file according to the registration operation and used to control a control target by the control logic in association with each version of the model file. Software development equipment to register with.
前記図形言語において、前記制御ロジックは、複数のブロックを線で結合したブロック線図によって表現され、
前記コメント生成部は、前記複数のブロックの各々に対応付けられた要素ブロックコメントと、前記ブロック線図に対応付けられたブロック線図コメントとを前記コメントとして生成する
ソフトウェア開発装置。 A software development device according to any one of claims 1 to 4,
In the graphic language, the control logic is expressed by a block diagram in which a plurality of blocks are connected by lines,
The said comment production | generation part is a software development apparatus which produces | generates the element block comment matched with each of these blocks and the block diagram comment matched with the said block diagram as said comment.
前記制御ロジックの各バージョンに対応するコメントを生成する工程と、
前記制御ロジックをバイナリ形式で記述したモデルファイルをバージョン管理システムのリポジトリに登録するための登録操作に応じて、前記モデルファイルの各バージョンに対応づけて前記コメントを前記リポジトリに格納する工程と
を具備するソフトウェア開発方法。 Creating a control logic written in a graphical language;
Generating a comment corresponding to each version of the control logic;
Storing the comment in the repository in association with each version of the model file in response to a registration operation for registering the model file describing the control logic in a binary format in a repository of a version control system. To develop software.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014038847A JP2015162218A (en) | 2014-02-28 | 2014-02-28 | Software development apparatus and software development method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014038847A JP2015162218A (en) | 2014-02-28 | 2014-02-28 | Software development apparatus and software development method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015162218A true JP2015162218A (en) | 2015-09-07 |
Family
ID=54185234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014038847A Pending JP2015162218A (en) | 2014-02-28 | 2014-02-28 | Software development apparatus and software development method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015162218A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019026248A1 (en) * | 2017-08-03 | 2019-02-07 | 株式会社日立製作所 | Program development assistance device, program development assistance method, and program development assistance program |
CN111294663A (en) * | 2020-02-10 | 2020-06-16 | 腾讯科技(深圳)有限公司 | Bullet screen processing method and device, electronic equipment and computer readable storage medium |
JP2020522779A (en) * | 2017-06-06 | 2020-07-30 | アビニシオ テクノロジー エルエルシー | An integrated system for rule editing, simulation, version control, and business process management |
-
2014
- 2014-02-28 JP JP2014038847A patent/JP2015162218A/en active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020522779A (en) * | 2017-06-06 | 2020-07-30 | アビニシオ テクノロジー エルエルシー | An integrated system for rule editing, simulation, version control, and business process management |
JP7361609B2 (en) | 2017-06-06 | 2023-10-16 | アビニシオ テクノロジー エルエルシー | Integrated system for editing and simulating rules, version control, and business process management |
WO2019026248A1 (en) * | 2017-08-03 | 2019-02-07 | 株式会社日立製作所 | Program development assistance device, program development assistance method, and program development assistance program |
JPWO2019026248A1 (en) * | 2017-08-03 | 2019-08-08 | 株式会社日立製作所 | Program development support apparatus, program development support method, and program development support program |
CN111294663A (en) * | 2020-02-10 | 2020-06-16 | 腾讯科技(深圳)有限公司 | Bullet screen processing method and device, electronic equipment and computer readable storage medium |
CN111294663B (en) * | 2020-02-10 | 2022-01-07 | 腾讯科技(深圳)有限公司 | Bullet screen processing method and device, electronic equipment and computer readable storage medium |
JP2023502859A (en) * | 2020-02-10 | 2023-01-26 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | Barrage processing method, device, electronic equipment and program |
JP7375186B2 (en) | 2020-02-10 | 2023-11-07 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | Barrage processing method, device, electronic equipment and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113094037B (en) | Interaction method, development platform, equipment and storage medium for forms and workflows | |
US10223338B2 (en) | Visual designer for editing large schemaless XML file | |
KR101688554B1 (en) | Managing and automatically linking data objects | |
CN103207779B (en) | Apparatus and method for source code patch | |
US7475289B2 (en) | Test manager | |
CN114270313A (en) | Computer-implemented method, computer program and physical computing environment | |
JP2015162218A (en) | Software development apparatus and software development method | |
JP2016224579A (en) | Information processor and information processing method | |
Ko et al. | ModelCenter MBSE for OpenMBEE: MBSE analysis integration for distributed development | |
US20230004477A1 (en) | Providing a pseudo language for manipulating complex variables of an orchestration flow | |
CN116225902A (en) | Method, device and equipment for generating test cases | |
JP4629183B2 (en) | Requirement specification description support apparatus and method, and recording medium | |
US20200159805A1 (en) | System and method for producing transferable, modular web pages | |
CN112181483A (en) | Plasma control system software development platform and method | |
JP2017054217A (en) | Test support apparatus, test support method, and test support program | |
US8839097B2 (en) | System and method for information encapsulation for providing multiple deliverable formats from one information source | |
Vendome et al. | How do I model my system? A Qualitative Study on the Challenges that Modelers Experience | |
CN117687681B (en) | Version management method and system for low-code application | |
Yousef et al. | Service traceability in SOA-based software systems: a traceability network add-in for BPAOntoSOA framework | |
CN113821202B (en) | Method, device and equipment for generating management software file and readable storage medium | |
JP4988367B2 (en) | Business system development method related to the agreement | |
JP2007094453A (en) | Program development support system, program development support method and program | |
Gündoğan | Robotic Process Automation in Desktop Publishing: An Introduction to Software-based Automation of Artwork Processes | |
CN118567938A (en) | Model monitoring method and device | |
CN114282501A (en) | Method and device for creating table in document, electronic equipment and storage medium |