JP2015162218A - Software development apparatus and software development method - Google Patents

Software development apparatus and software development method Download PDF

Info

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
Application number
JP2014038847A
Other languages
Japanese (ja)
Inventor
鈴木 健治
Kenji Suzuki
健治 鈴木
恒 高柳
Hisashi Takayanagi
恒 高柳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries 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 Mitsubishi Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Priority to JP2014038847A priority Critical patent/JP2015162218A/en
Publication of JP2015162218A publication Critical patent/JP2015162218A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a software development apparatus and software development method capable of managing a model files which are edited and created under graphic language circumstances in a version management system in an easy-to-comprehend manner.SOLUTION: A control logic written using a graphic language is created. A comment is generated corresponding to the respective versions of the control logic. The model file of the control logic written using a binary format for storing the comment in a repository responding to a registration operation for registering the control logic in the repository of the version management system while associating with the respective versions of the model files.

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.

特開2002−41313号公報JP 2002-41313 A 特開2004−535021号公報JP 2004-535021 A 特許第5120166号公報Japanese Patent No. 5120166 特開2011−34419号公報JP 2011-34419 A 特開2008−210015号公報JP 2008-21001A

図形言語プログラミング環境(ブロック図形式のプログラム開発ツール)において、図形ブロックを用いてプログラミングすることをモデリングとも言う。モデリングにおいて、保存されたファイルをモデルファイルと呼ぶ。   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は、本発明の一実施形態におけるシステム構成を示す。FIG. 1 shows a system configuration in an embodiment of the present invention. 図2は、ソフトウェアの開発プロセスのV字型モデルを示す。FIG. 2 shows a V-shaped model of the software development process. 図3は、図形言語を用いたソフトウェア開発のフローを示す。FIG. 3 shows a flow of software development using a graphic language. 図4は、ソフトウェア開発装置の構成を示すブロック図である。FIG. 4 is a block diagram showing the configuration of the software development apparatus. 図5は、図形言語プログラミング環境における作業ワークフローの説明図である。FIG. 5 is an explanatory diagram of a work workflow in the graphic language programming environment. 図6は、モデル編集画面を示す。FIG. 6 shows a model editing screen. 図7は、バージョン管理データの構造を示す。FIG. 7 shows the structure of version management data.

以下、添付図面を参照して、本発明の実施形態を説明する。図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 language programming environment 31, the version management system repository 33, and the file system 32 in FIG. The server 1 further provides a version management system (not shown).

図形言語プログラミング環境31は、ヒューマン入出力部34、図形言語プログラム編集部35、ファイル読込・書出処理部36、数値演算処理部37、及びコメント生成部38を備える。   The graphic language programming environment 31 includes a human input / output unit 34, a graphic language program editing unit 35, a file reading / writing processing unit 36, a numerical operation processing unit 37, and a comment generating unit 38.

ヒューマン入出力部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 language programming environment 31 using images and characters.

図形言語プログラム編集部35、ファイル読込・書出処理部36、数値演算処理部37、及びコメント生成部38は、サーバ1が備える有体の非遷移的な(tangible,non−transitory)記録媒体に格納されたプログラムを、サーバ1の演算制御装置が読み出して実行することにより実現される機能ブロックである。   The graphic language program editing unit 35, the file reading / writing processing unit 36, the numerical operation processing unit 37, and the comment generation unit 38 are included in a tangible, non-transitory recording medium included in the server 1. It is a functional block that is realized by reading and executing the stored program by the arithmetic and control unit of the server 1.

ファイルシステム32は、サーバ1又は端末2−1〜2−nが提供するファイルシステムであり、モデルファイルとモデルファイル属性(メタ属性ファイル40、モデルレポートファイル41)が格納される。バージョン管理システムリポジトリ33は、バージョン管理システムがモデルファイル等を格納するために提供する記憶領域である。   The file system 32 is a file system provided by the server 1 or the terminals 2-1 to 2-n, and stores a model file and model file attributes (meta attribute file 40, model report file 41). The version management system repository 33 is a storage area provided for the version management system to store model files and the like.

図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 left column 60 shows the work of the programmer (developer), the central column 61 shows the operation of the graphic language programming environment 31 provided by the server 1, and the right column 62 shows the development environment provided by the version management system. .

プログラマは、ヒューマン入出力部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 meta attribute file 40 by the function of the comment generation unit 38. The programmer further creates a report (model report file 41) regarding the created model by the report creation environment provided in the graphic language programming environment 31 (step S65). Both the meta attribute file 40 and the model report file 41 are treated as model file attributes relating to the created model.

プログラマは、ヒューマン入出力部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 / writing processing unit 36 writes the model in the file system 32 and the version management system repository 33. The file read / write processing unit 36 further associates the model file attributes (meta attribute file 40 and model report file 41) created in step S65 together with the model with the model, the file system 32, and version management. Write to the system repository 33 (step S70).

このようにして作成されたモデルは、制御対象となる実機の制御に使用することができる。図形言語プログラミング環境31は、図形言語で作成された制御ロジックに基づいて、C言語等で記述されたソースコードを自動的に生成するソースコード生成機能を有する。そのソースコードを組込システムのコントローラにダウンロードすることにより、制御対象の制御を行うことができる。   The model created in this way can be used for controlling an actual machine to be controlled. The graphic language programming environment 31 has a source code generation function for automatically generating a source code described in C language or the like based on a control logic created in the graphic language. The control object can be controlled by downloading the source code to the controller of the embedded system.

次に、ステップS68で図形言語プログラム編集部35が提供するモデル編集画面について説明する。図6は、ステップS67において、ヒューマン入出力部34の表示装置によって表示されるモデル編集画面51の一例を示す。モデル編集画面51は、図形言語プログラミング環境31を用いて実現され、GUIによって制御ロジックの作成・編集を可能とする。   Next, the model editing screen provided by the graphic language program editing unit 35 in step S68 will be described. FIG. 6 shows an example of the model editing screen 51 displayed by the display device of the human input / output unit 34 in step S67. The model editing screen 51 is realized by using the graphic language programming environment 31, and enables creation and editing of control logic through a GUI.

モデル編集画面51の上部にツールバー52が表示される。ツールバー52の下部の左側にモデルブロック表示領域54が設けられ、右側にモデルファイル編集領域55が設けられる。モデルブロック表示領域54には、論理演算素子、数値演算素子等の演算素子などの制御システムの機能単位をグラフィカルなアイコンで示すモデルブロック(又はステンシル)56が表示される。これらのモデルブロック56は、図形言語プログラミング環境31が提供するモデルブロックライブラリから選択し、ドラッグ&ドロップ等の入力操作を行うことによってモデルブロック表示領域54に表示することができる。   A toolbar 52 is displayed at the top of the model editing screen 51. A model block display area 54 is provided on the left side below the toolbar 52, and a model file editing area 55 is provided on the right side. In the model block display area 54, a model block (or stencil) 56 is displayed that shows a functional unit of a control system such as a logical operation element or an arithmetic element such as a numerical operation element by a graphical icon. These model blocks 56 can be selected from a model block library provided by the graphic language programming environment 31 and displayed in the model block display area 54 by performing an input operation such as drag and drop.

プログラマは、モデルブロック56をGUIによってモデルファイル編集領域55の所望の位置に配置し、信号の入出力関係を示す線で繋げる。更に、各モデルブロック56にパラメータ等を設定することにより、ブロック線図57を作成する。ブロック線図57は、制御対象となる制御システムをブロック図形式で表現したモデルである。数値演算処理部37は、このブロック線図57に基づいて、プログラマが設定した入力信号に対する出力信号の応答特性などを算出し、制御システムのシミュレーションを行うことができる。   The programmer places the model block 56 at a desired position in the model file editing area 55 using a GUI, and connects them with lines indicating the input / output relationship of signals. Further, a block diagram 57 is created by setting parameters and the like for each model block 56. The block diagram 57 is a model representing the control system to be controlled in the form of a block diagram. Based on this block diagram 57, the numerical arithmetic processing unit 37 can calculate the response characteristic of the output signal with respect to the input signal set by the programmer, and can simulate the control system.

モデルブロック表示領域54に、メタ記述ブロック59が表示される。プログラマがポインティングデバイスによりメタ記述ブロック59を押下すると、コメント(モデルのメタ情報)を作成するためのフォームがモデル編集画面51上で起動する。プログラマは、モデルブロック56について、以前のバージョンのモデルに対する変更箇所や、編集に当たっての注意事項や、他のプログラマへの申し送り事項などのコメント(要素ブロックコメント)を入力する。モデルファイル編集領域55にもメタ記述ブロック59が表示される。プログラマは、モデルブロック表示領域54と同様にして、ブロック線図57に対するコメント(ブロック線図コメント)を入力することができる。   A meta description block 59 is displayed in the model block display area 54. When the programmer depresses the meta description block 59 with a pointing device, a form for creating a comment (model meta information) is activated on the model editing screen 51. The programmer inputs comments (element block comments) on the model block 56, such as changes to the previous version of the model, notes on editing, and items to be sent to other programmers. A meta description block 59 is also displayed in the model file editing area 55. The programmer can input a comment (block diagram comment) for the block diagram 57 in the same manner as the model block display area 54.

このメタ記述ブロック59のようなコメント記述用ブロックは、ユーザ定義のカスタムブロックライブラリとしてモデルに組み込むことができる。図6に例示されたメタ記述ブロック59に加えて、作成者、作成日、変更日、変更内容、バージョン情報等のユーザ定義のコメントをテンプレートに従って記録するためのコメント記述用ブロックもモデルに組み込むことが望ましい。その場合、それらのメタ情報もメタ属性ファイル40としてバージョン管理システムリポジトリ33に格納される。   A comment description block such as the meta description block 59 can be incorporated into the model as a user-defined custom block library. In addition to the meta description block 59 illustrated in FIG. 6, a comment description block for recording user-defined comments such as creator, creation date, modification date, modification content, version information, etc. according to the template is also incorporated into the model. Is desirable. In that case, the meta information is also stored in the version management system repository 33 as the meta attribute file 40.

ファイル読込・書出処理部36は、モデル編集画面51のツールバー52に、バージョン管理連携メニュー53を表示する。プログラマは、モデルの編集作業を終えると、バージョン管理連携メニュー53を押下する。すると、ブロック線図57によって与えられたモデルをバイナリ形式で表現したモデルファイル39がファイルシステム32に登録される。その登録と共に、バージョン管理システムリポジトリ33にモデルファイル39が登録される。バージョン管理システムは、そのモデルファイル39のバージョンを特定する情報と共に、モデルファイル39を保存する。バージョンを特定する情報として、例えば、他のバージョンと区別するために一意的に発行されるバージョン識別子や、登録された日時や、予め入力されたプログラマの識別子などを用いることができる。   The file reading / writing processing unit 36 displays a version management cooperation menu 53 on the toolbar 52 of the model editing screen 51. When the programmer finishes editing the model, the programmer presses the version management cooperation menu 53. Then, a model file 39 representing the model given by the block diagram 57 in binary format is registered in the file system 32. Along with the registration, the model file 39 is registered in the version management system repository 33. The version management system stores the model file 39 together with information for specifying the version of the model file 39. As the information for specifying the version, for example, a version identifier uniquely issued for distinguishing from other versions, a registered date and time, a pre-input programmer identifier, or the like can be used.

バージョン管理連携メニュー53の押下に応じて、モデルファイル39と共に、メタ属性ファイル40がファイルシステム32とバージョン管理システムリポジトリ33に登録される。メタ属性ファイル40として、例えば図6のメタ記述ブロック59の押下により作成されたコメントが登録される。   In response to pressing of the version management cooperation menu 53, the meta attribute file 40 is registered in the file system 32 and the version management system repository 33 together with the model file 39. For example, a comment created by pressing the meta description block 59 in FIG. 6 is registered as the meta attribute file 40.

このような処理は、例えばバージョン管理システムが提供するファイルの保存機能(図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 management cooperation menu 53 in FIG. 6). Can be realized.

本実施形態においては、バージョン管理連携メニュー53を押下するという入力操作に応じて、バージョン管理システムへのモデルファイル39の登録と共に、その編集対象のモデルファイル39のバージョンと紐付けて、テキスト形式等の環境に依存しない形式で作成されたメタ属性ファイル40の登録も同時に行われる。そのため、バージョン間の差異などを記載したメタ情報の登録漏れを防止することができる。   In the present embodiment, in response to an input operation of pressing the version management cooperation menu 53, the model file 39 is registered in the version management system, and is associated with the version of the model file 39 to be edited, in a text format or the like. The meta attribute file 40 created in a format independent of the environment is also registered at the same time. Therefore, registration failure of meta information describing differences between versions can be prevented.

プログラマは、自分が過去に編集したモデル、又は他のプログラマが編集したモデルを新たに編集する際に、ファイル読込・書出処理部36を用いて、バージョン管理システムから、そのモデルファイルを読み出す。プログラマは、その際に、そのモデルのバージョンに対応したメタ属性ファイル40を読み出すことができる。モデルファイル39はバイナリ形式で記述されているために、他のバージョンとの相違などを把握することが難しい。しかしながらプログラマは、メタ属性ファイル40を参照することにより、モデルファイル39のバージョン間の差異を比較し、把握することができる。   The programmer reads the model file from the version management system using the file reading / writing processing unit 36 when editing a model edited by the programmer in the past or a model edited by another programmer. At that time, the programmer can read the meta attribute file 40 corresponding to the version of the model. Since the model file 39 is described in a binary format, it is difficult to grasp the differences from other versions. However, the programmer can compare and grasp the difference between the versions of the model file 39 by referring to the meta attribute file 40.

本実施形態においては、図形言語プログラミング環境31とバージョン管理システムとを連携したモデルファイルのバージョン管理が実現できるようになる。これにより、複数人のチーム開発で管理されたバージョンのモデルファイルを利用した組込ソフトウェア開発が容易になる。更に、慣行的に手作業でバージョン管理をしていた開発現場において、バージョン管理システムの活用を促進することが可能となるため、モデルファイルのバージョン間の相違点などを把握することが容易となる。   In this embodiment, version management of a model file in which the graphic language programming environment 31 and the version management system are linked can be realized. This facilitates embedded software development using a version of the model file managed by the team development of multiple people. Furthermore, since it is possible to promote the use of version management systems in development sites where customary version management is used, it is easy to understand the differences between versions of model files. .

次に、ステップ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 language programming environment 31 automatically extracts model information and outputs a report (model report file 41) in a text format (which may be in HTML (Hypertext Markup Language) format or XML (Extensible Markup Language) format). May have the ability to create.

例えば、ブロック線図57における各モデルブロック56の接続関係やパラメータをテキスト形式等で記載したファイルが、モデルレポートファイル41として作成される。また、各モデルブロック56に対して設定されるパラメータを以前のバージョンから変更した場合、変更日時と、そのモデルブロック56を特定する識別情報と、変更前のパラメータと、変更後のパラメータがモデルレポートファイル41に登録される。   For example, a file describing the connection relationship and parameters of each model block 56 in the block diagram 57 in a text format or the like is created as the model report file 41. When the parameters set for each model block 56 are changed from the previous version, the date and time of the change, the identification information for identifying the model block 56, the parameters before the change, and the parameters after the change are displayed in the model report. Registered in the file 41.

コメント生成部38は、そのようなモデルレポートファイル41を作成するモデルレポート生成部としての機能を有する。モデルレポートファイル41も、バージョン管理連携メニュー53の押下に応じて、ファイルシステム32とバージョン管理システムリポジトリ33に登録される。更に、図形言語プログラミング環境31が図形言語で記述されたモデルから自動的に生成したソースコードも、ファイルシステム32とバージョン管理システムリポジトリ33に登録されることが望ましい。   The comment generation unit 38 has a function as a model report generation unit that creates such a model report file 41. The model report file 41 is also registered in the file system 32 and the version management system repository 33 when the version management cooperation menu 53 is pressed. Further, it is desirable that the source code automatically generated from the model described in the graphic language by the graphic language programming environment 31 is also registered in the file system 32 and the version management system repository 33.

図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 management system repository 33. The version management data can be managed by a file system having a tree structure (directory format), for example. The version management data has a structure in which, for example, the first version V1, the second version V2 in which the version V1 is updated, and the third version V3-1 in which the version V2 is updated are chained in series. Furthermore, it is also possible to manage a branch such as a third version derived version V3-2 derived from the second version V2.

これらの各バージョンのファイルは、例えば同一の表示画面上に、バージョン識別子や更新日時を伴ったアイコンによって表示される。プログラマは、そのバージョン識別子等を選択することにより、各バージョンの内容を参照することができる。   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 model file 39 of the version V2, the meta attribute file 40 linked to the model file, and the model report file 41 is displayed. The programmer performs an input operation for selecting one of them. When the programmer selects the model file 39, the version V2 model can be edited. The programmer selects the meta attribute file 40 and model report file 41 of the version V2 from the selection screen when he / she wants to know the difference between the previous version V1 and the currently open version V2 or the change intention. The contents of the selected files are displayed on the display screen, and the programmer can refer to those files.

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 information communication network 31 graphic language programming environment 32 file system 33 repository 34 human input / output unit 35 graphic language program editing unit 36 file reading / writing processing unit 37 numerical operation processing unit 38 comment Generation unit 39 Model file 40 Meta attribute file 41 Model report file 51 Model editing screen 52 Toolbar 53 Version management cooperation menu 54 Model block display area 55 Model file editing area 56 Model block 57 Block diagram 59 Meta description block 60 Left column 61 Center Column 62 Right column V1, V2, V3-1, V3-2 Version

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:
請求項1に記載されたソフトウェア開発装置であって、
前記コメント生成部は、前記図形言語により前記制御ロジックが表示された画面において所定の入力操作をすることにより、前記コメントの入力を受け付けるフォームを起動する
ソフトウェア開発装置。
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.
請求項1又は2に記載されたソフトウェア開発装置であって、
更に、前記図形言語プログラム編集部によって前記制御ロジックが作成された時に、前記制御ロジックに含まれる情報を抽出したテキストデータを含むモデルレポートファイルを作成するモデルレポート生成部を具備し、
前記ファイル書き出し部は、前記登録操作に応じて、前記モデルファイルの各バージョンに対応づけて前記モデルレポートファイルを前記リポジトリに登録する
ソフトウェア開発装置。
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.
請求項1乃至3のいずれかに記載されたソフトウェア開発装置であって、
前記ファイル書き出し部は更に、前記登録操作に応じて、前記モデルファイルから生成され、前記制御ロジックによって制御対象を制御するために用いられるソースファイルを、前記モデルファイルの各バージョンに対応づけて前記リポジトリに登録する
ソフトウェア開発装置。
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.
請求項1乃至4のいずれかに記載されたソフトウェア開発装置であって、
前記図形言語において、前記制御ロジックは、複数のブロックを線で結合したブロック線図によって表現され、
前記コメント生成部は、前記複数のブロックの各々に対応付けられた要素ブロックコメントと、前記ブロック線図に対応付けられたブロック線図コメントとを前記コメントとして生成する
ソフトウェア開発装置。
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.
請求項6に記載されたソフトウェア開発方法をコンピュータに実行させるプログラム。   A program for causing a computer to execute the software development method according to claim 6.
JP2014038847A 2014-02-28 2014-02-28 Software development apparatus and software development method Pending JP2015162218A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (8)

* Cited by examiner, † Cited by third party
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