JP6322631B2 - Embedded software development method, programming device and embedded device - Google Patents

Embedded software development method, programming device and embedded device Download PDF

Info

Publication number
JP6322631B2
JP6322631B2 JP2015530586A JP2015530586A JP6322631B2 JP 6322631 B2 JP6322631 B2 JP 6322631B2 JP 2015530586 A JP2015530586 A JP 2015530586A JP 2015530586 A JP2015530586 A JP 2015530586A JP 6322631 B2 JP6322631 B2 JP 6322631B2
Authority
JP
Japan
Prior art keywords
program
data
address
virtual memory
embedded
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.)
Active
Application number
JP2015530586A
Other languages
Japanese (ja)
Other versions
JPWO2015019421A1 (en
Inventor
許斐 浩祐
浩祐 許斐
靖 熊野
靖 熊野
四谷 道夫
道夫 四谷
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.)
INTERNATIONAL LABORATORY CORPORATION
Original Assignee
INTERNATIONAL LABORATORY CORPORATION
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 INTERNATIONAL LABORATORY CORPORATION filed Critical INTERNATIONAL LABORATORY CORPORATION
Publication of JPWO2015019421A1 publication Critical patent/JPWO2015019421A1/en
Application granted granted Critical
Publication of JP6322631B2 publication Critical patent/JP6322631B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

この発明は、組み込み機器に組み込む組み込みソフトウェア開発方法、プログラミング装置および組み込み機器に関する。 This invention relates to a method development of embedded software incorporated in the embedded device, on programming device and embedded devices.

汎用ソフトウェア開発の際には、仕様書、マニュアル、ソフトウェア設計書、ソースコード、テスト仕様書等の各種ドキュメントを作成している。また、開発の工程(フロー)は、仕様書(テスト仕様書、マニュアル)を作成した後、ソフトウェア設計書を作成し、この後にソースコードを作成し、実機環境でのコンパイルを行った後、実機動作させて、検証、およびバグ修正を行うようになっている。   In general-purpose software development, various documents such as specifications, manuals, software designs, source codes, test specifications, etc. are created. In the development process (flow), after creating specifications (test specifications, manuals), creating software design documents, creating source code, compiling in the actual environment, It is supposed to work, verify, and fix bugs.

上記複数の各種ドキュメントを作成するにあたり、システムおよびソフトウェアの仕様の決定や登録、更新等の各工程のデータをデータベースにより管理処理することにより、正確なドキュメントを作成する仕様管理装置が提案されている。この仕様管理装置は、各工程で作成される成果物と成果物間の関係を、モデル要素、モデル要素間の関係、ドキュメントおよびその構成、モデル要素およびドキュメント要素との関係の4種類に分類して定義し、登録管理することにより、入力されるモデル要素の情報と予め定義されるドキュメントの情報に基づいて、ドキュメントを自動生成する(例えば、下記特許文献1参照。)。   In creating the above-mentioned various documents, there has been proposed a specification management device that creates an accurate document by managing data of each process such as determination, registration, and update of system and software specifications using a database. . This specification management device classifies the relationship between deliverables and deliverables created in each process into four types: model elements, relationships between model elements, documents and their configurations, and relationships between model elements and document elements. By defining and registering, the document is automatically generated based on the input model element information and the predefined document information (for example, see Patent Document 1 below).

特開2006−106893号公報JP 2006-106893 A

しかしながら、従来、開発の各工程では、異なる作業者が分担して作業を行うものであるため、異なる工程同士の連携を円滑に行えなかった。また、各ドキュメントの正確性は、各工程の作業者の習熟度に影響を受け、習熟していない作業者が作成した精度の低いドキュメントが他の工程(全体)に影響を与える問題が生じた。例えば、ソフトウェア間の連携部分のプログラミングは、一定の知識を有するプログラマによる作業が必要であり、このプログラマは、他の工程の作業に精通していない。   However, conventionally, in each process of development, since different workers share the work, the cooperation between the different processes cannot be smoothly performed. In addition, the accuracy of each document is affected by the level of proficiency of the workers in each process, and there is a problem that low-accuracy documents created by unskilled workers affect other processes (overall). . For example, the programming of the linkage portion between software requires work by a programmer having a certain knowledge, and this programmer is not familiar with the work of other processes.

このため、異なる工程の作業者間では、設計、変更等に迅速に対応できず、連携のための工数が増え、全体の工数やコスト増加等を生じやすい。例えば、GUI開発と制御開発は、それぞれ別工程で行われており、GUI画面上の部品と制御処理の連携は、手作業で一つずつ対応させていた。このため、GUI画面上の部品と制御処理の連携に非常に手間がかかっていた。   For this reason, between workers in different processes, it is not possible to quickly respond to design, change, etc., and the number of man-hours for cooperation increases, and the total man-hours and costs increase easily. For example, GUI development and control development are performed in separate processes, and the cooperation between the components on the GUI screen and the control processing is manually associated one by one. For this reason, it takes much time and effort to link the components on the GUI screen with the control processing.

そして、特許文献1の技術では、ある工程における作業状態を他の工程の作業者から見て分かりやすく出力することはできないため、設計、変更等に柔軟に対応することができない。結果として、各工程の作業者は、全体の開発状態や、工程間の連携状態を把握できないため、担当する工程の開発を円滑に行うことができなかった。   The technique of Patent Document 1 cannot flexibly cope with design, change, and the like because the work state in a certain process cannot be output in an easy-to-understand manner when viewed from an operator in another process. As a result, the workers in each process cannot grasp the overall development state and the cooperation state between the processes, and thus cannot smoothly develop the process in charge.

また、近年では、PC等の汎用アプリケーションの他に、特定のアプリケーションを動作させる組み込みソフトウェアが台頭してきている。このような組み込みソフトウェアにおいて、ソフトウェア間のインターフェースは、API関数を用意し、ソフトウェア間で互いにコールするよう、習熟したプログラマがプログラミングしていた。   In recent years, in addition to general-purpose applications such as PCs, embedded software that operates specific applications has emerged. In such embedded software, the interface between the software has been programmed by a skilled programmer to prepare API functions and call each other between the software.

組み込みソフトウェアは、例えば、リモコンやデジカメ、ICレコーダ等、特定の単純な機能であり、習熟したプログラマに限らずに、より効率的にソフトウェア開発できることが望まれている。   The embedded software is a specific simple function such as a remote controller, digital camera, IC recorder, etc., and it is desired that the software can be developed more efficiently without being limited to a skilled programmer.

プログラミングに習熟していなくても組み込みソフトウェア開発が行え、また、各工程を連携できるドキュメントが作成できれば、組み込みソフトウェアをより効率的に開発できるようになる。   If you can develop embedded software even if you are not proficient in programming, and you can create a document that can link each process, you can develop embedded software more efficiently.

本発明は、上記課題に鑑み、組み込みソフトウェアを効率的に開発できることを目的とする。   In view of the above problems, an object of the present invention is to efficiently develop embedded software.

上記目的を達成するため、本発明の組み込みソフトウェア開発方法は、プログラミング装置のプロセッサにより、組み込み機器が実行処理する組み込みソフトウェアの機能モジュール別の複数のプログラムの第1プログラムと第2プログラムのデータ送受用に、前記第1プログラムが前記第2プログラムに渡すデータ領域の第1アドレスと、前記第2プログラムが前記第1プログラムに渡すデータ領域の第2アドレスと、を前記組み込み機器のOSが提供する仮想メモリインターフェースに設定し、前記仮想メモリインターフェースの仮想メモリ領域に予め、アドレスに対するデータの書き込みおよび読み込みで起動する前記第1プログラムおよび前記第2プログラムの関数を設定する、処理を行い、前記組み込み機器のCPUは、前記プログラミング装置により設定された、前記第1プログラムにより、前記第2プログラムに渡すデータを前記仮想メモリインターフェースの前記第1アドレスに書き込み、前記第2プログラムにより、前記第1アドレスに書き込まれた前記データを読み込み、所定の処理を行った戻り値のデータを前記第2アドレスに書き込み、前記第1プログラムにより、前記第2アドレスに書き込まれた戻り値の前記データを読み出し、記組み込み機器のCPUは、前記第1プログラムによって書き込まれたアドレスとデータに対応する前記第2プログラムの関数をコールし、前記第2プログラムにより、前記書き込みされたデータを読み出す、処理を行うことを特徴とする。 To achieve the above object, the development process of embedded software of the present invention, by a processor of the programming device, the data of the first program and the second program embedded software function module by a plurality of programs of the embedded device executes processing feed For acceptance, the OS of the embedded device provides the first address of the data area that the first program passes to the second program and the second address of the data area that the second program passes to the first program. Setting in the virtual memory interface, setting the functions of the first program and the second program that are activated by writing and reading data with respect to an address in advance in the virtual memory area of the virtual memory interface, performing the processing, and the embedded device The CPU Set by ming apparatus, by the first program, write the data to be passed to the second program to the first address of the virtual memory interface, by the second program, the data written to the first address read, write the data of the return value of performing predetermined processing on the second address, by the first program, for reading the data of the written return value to the second address, CPU before Symbol embedded devices, the function calls of the second program corresponding to the written address and data by the first program, the second program, reading the write data, and performs processing.

また、前記組み込み機器の前記CPUは、前記第2プログラムの実行処理による、前記仮想メモリインターフェースの前記第1アドレスに対する前記データの書き込みを一定間隔で監視し、データの書き込みに応じて前記第1アドレスに書き込まれた前記データの読み込みを行う、ことを特徴とする。 In addition, the CPU of the embedded device monitors the writing of the data to the first address of the virtual memory interface by the execution process of the second program at regular intervals, and the first address according to the writing of the data The data written in is read.

また、前記組み込み機器の前記OSは、前記仮想メモリインターフェースの前記第1アドレスに対する前記データの書き込みを前記第2プログラムに通知し、前記第2プログラムは、前記OSからの通知に応じて前記第1アドレスに書き込まれた前記データの読み込みを行う、ことを特徴とする。 Further, the OS of the embedded device notifies the second program of writing of the data to the first address of the virtual memory interface, and the second program responds to the notification from the OS. The data written in the address is read.

また、本発明のプログラミング装置は、組み込み機器の組み込みソフトウェア開発するプログラミング装置において、前記組み込み機器が実行処理する機能モジュール別の複数のプログラムの第1プログラムと第2プログラムのデータ送受用に、前記第1プログラムが前記第2プログラムに渡すデータ領域の第1アドレスと、前記第2プログラムが前記第1プログラムに渡すデータ領域の第2アドレスと、を前記組み込み機器のOSが提供する前記仮想メモリインターフェースに設定し、前記仮想メモリインターフェースの仮想メモリ領域に予め、アドレスに対するデータの書き込みおよび読み込みで起動する前記第1プログラムおよび前記第2プログラムの関数を設定する、処理を行う制御部を備えたことを特徴とする。 The programming device of the present invention is a programming device that develops embedded software of an embedded device, and is used for data transmission / reception of a first program and a second program of a plurality of programs for each functional module executed by the embedded device. The virtual memory interface that the OS of the embedded device provides a first address of a data area that the first program passes to the second program and a second address of a data area that the second program passes to the first program And a control unit that performs processing for setting the functions of the first program and the second program that are activated by writing and reading data with respect to an address in advance in the virtual memory area of the virtual memory interface. Features.

また、本発明の組み込み機器は、組み込みソフトウェアの機能モジュール別の複数のプログラムの第1プログラムと第2プログラムのデータ送受用に、前記第1プログラムが前記第2プログラムに渡すデータ領域の第1アドレスと、前記第2プログラムが前記第1プログラムに渡すデータ領域の第2アドレスと、が予め設定された、OSが提供する仮想メモリインターフェースと、前記仮想メモリインターフェースの仮想メモリ領域に予め、アドレスに対するデータの書き込みおよび読み込みで起動する前記第1プログラムおよび前記第2プログラムの関数の予めの設定に基づき、前記第1プログラムにより、前記第2プログラムに渡すデータを前記仮想メモリインターフェースの前記第1アドレスに書き込み、前記第2プログラムにより、前記第1アドレスに書き込まれた前記データを読み込み、所定の処理を行った戻り値のデータを前記第2アドレスに書き込み、前記第1プログラムにより、前記第2アドレスに書き込まれた戻り値の前記データを読み出し、前記第1プログラムによって書き込まれたアドレスとデータに対応する前記第2プログラムの関数をコールし、前記第2プログラムにより、前記書き込みされたデータを読み出す、処理を行う制御部を備えたことを特徴とする。 Further, the embedded device of the present invention provides a first address of a data area that the first program passes to the second program for data transmission / reception of the first program and the second program of the plurality of programs for each functional module of the embedded software. And a second address of a data area that the second program passes to the first program, a virtual memory interface provided by the OS, and data for the address in advance in the virtual memory area of the virtual memory interface Based on the settings of the functions of the first program and the second program that are activated by writing and reading the data, the first program writes data to be passed to the second program to the first address of the virtual memory interface By the second program, The data written in the first address is read, the return value data subjected to predetermined processing is written in the second address, and the return value data written in the second address by the first program. And a control unit that performs a process of calling the function of the second program corresponding to the address and data written by the first program and reading the written data by the second program. It is characterized by.

上記構成によれば、プログラム相互間でやりとりするデータについて、仮想メモリインターフェースに、各プログラムが書き込むアドレスと、読み出すアドレスが設定される。これにより、各プログラムは、仮想メモリインターフェースの該当アドレスに対するデータ書き込みに基づきこのデータを読み込み、プログラム実行することができるようになる。各プログラムは、メモリのリード/ライト動作だけでプログラム間の連携を構築することができる。   According to the above configuration, for data exchanged between programs, an address to be written by each program and an address to be read are set in the virtual memory interface. As a result, each program can read this data and execute the program based on the data write to the corresponding address of the virtual memory interface. Each program can establish cooperation between programs only by a memory read / write operation.

本発明によれば、組み込みソフトウェアを効率的に開発できるという効果を奏する。   According to the present invention, it is possible to efficiently develop embedded software.

図1は、実施の形態1にかかる組み込みソフトウェアのインターフェース仕様を説明する図である。FIG. 1 is a diagram for explaining the interface specifications of the embedded software according to the first embodiment. 図2は、実施の形態1にかかる仮想メモリインターフェースのメモリ内容を示す図である。FIG. 2 is a diagram of memory contents of the virtual memory interface according to the first embodiment. 図3は、実施の形態1にかかる仮想メモリインターフェースを用いたデータ送受の処理内容を示すフローチャートである。FIG. 3 is a flowchart of the contents of data transmission / reception processing using the virtual memory interface according to the first embodiment. 図4は、実施の形態1にかかるプログラムの連携例を示す図である。FIG. 4 is a diagram illustrating a cooperation example of programs according to the first embodiment. 図5は、実施の形態1にかかるポーリングによるデータ変化により相互のプログラム処理を実行する方法を説明する図である。FIG. 5 is a diagram for explaining a method of executing mutual program processing by data change due to polling according to the first embodiment. 図6は、実施の形態1にかかるイベント処理により相互のプログラム処理を実行する方法を説明する図である。FIG. 6 is a diagram for explaining a method of executing mutual program processing by event processing according to the first embodiment. 図7は、実施の形態1にかかるハードウェアを介して相互のプログラム処理を実行する方法を説明する図である。FIG. 7 is a diagram for explaining a method for executing mutual program processing via the hardware according to the first embodiment. 図8は、実施の形態1にかかる組み込みソフトウェア開発に用いるプログラミング装置のハードウェア構成例を示すブロック図である。FIG. 8 is a block diagram of a hardware configuration example of a programming device used for embedded software development according to the first embodiment. 図9は、実施の形態1にかかる組み込み機器への実装例を示す図である。FIG. 9 is a diagram illustrating an example of mounting on an embedded device according to the first embodiment. 図10は、実施の形態2にかかる制御開発を説明する図である。FIG. 10 is a diagram for explaining control development according to the second embodiment. 図11は、実施の形態2にかかる制御処理の設計画面を説明する図である。FIG. 11 is a diagram illustrating a design screen for control processing according to the second embodiment. 図12は、実施の形態2にかかるGUI画面設計を説明する図である。FIG. 12 is a diagram for explaining GUI screen design according to the second embodiment. 図13は、実施の形態2にかかる制御処理設計図と画面設計図の重ね合わせ表示を説明する図である。FIG. 13 is a diagram for explaining a superimposed display of a control process design diagram and a screen design diagram according to the second embodiment. 図14は、実施の形態2にかかる制御処理設計図と画面設計図を重ね合わせ一方を半透明にした表示状態を示す図である。FIG. 14 is a diagram illustrating a display state in which the control process design diagram and the screen design diagram according to the second embodiment are superimposed and one of them is translucent. 図15は、実施の形態2にかかる制御処理設計図と画面設計図の重ね合わせ表示のレイアウト変更時の状態を説明する図である。FIG. 15 is a diagram for explaining a state when the layout of the superimposed display of the control process design diagram and the screen design diagram according to the second embodiment is changed. 図16は、実施の形態2にかかる制御処理とGUI部品との関連付けの処理を示すフローチャートである。FIG. 16 is a flowchart of a process of associating a control process and a GUI component according to the second embodiment. 図17は、実施の形態2にかかる制御処理設計図と画面設計図の差し換えを説明する図である。FIG. 17 is a diagram for explaining replacement of the control process design diagram and the screen design diagram according to the second embodiment. 図18は、実施の形態2にかかる複数の設計図間の関連付けを説明する図である。FIG. 18 is a diagram for explaining association between a plurality of design drawings according to the second embodiment. 図19は、実施の形態2にかかる仕様書と設計書の連携の具体例を示す図である。FIG. 19 is a diagram illustrating a specific example of cooperation between a specification and a design document according to the second embodiment. 図20は、実施の形態2にかかる仕様書情報と設計書情報のデータ関連を示す図である。FIG. 20 is a diagram illustrating a data relationship between the specification information and the design information according to the second embodiment. 図21は、実施の形態2にかかる部品追加時の処理を説明する図である。(その1)FIG. 21 is a diagram for explaining processing when a component is added according to the second embodiment. (Part 1) 図22は、実施の形態2にかかる部品追加時の処理を説明する図である。(その2)FIG. 22 is a diagram for explaining processing when a component is added according to the second embodiment. (Part 2) 図23は、実施の形態2にかかる部品追加時の処理を説明する図である。(その3)FIG. 23 is a diagram for explaining processing when a component is added according to the second embodiment. (Part 3) 図24は、実施の形態2にかかる部品追加時の処理を説明する図である。(その4)FIG. 24 is a diagram for explaining processing when a component is added according to the second embodiment. (Part 4) 図25は、実施の形態2にかかる部品追加時の処理を説明する図である。(その5)FIG. 25 is a diagram for explaining processing when a component is added according to the second embodiment. (Part 5) 図26は、実施の形態2にかかる追加した部品に対応する処理(関数)のソースコード生成を説明する図である。FIG. 26 is a diagram for explaining source code generation of processing (function) corresponding to the added component according to the second embodiment. 図27は、実施の形態2にかかる作成した複数のドキュメントあるいはプログラムの仕様変更時の処理を説明する図である。FIG. 27 is a diagram for explaining processing at the time of changing specifications of a plurality of created documents or programs according to the second embodiment.

(実施の形態)
以下に添付図面を参照して、この発明にかかる組み込みソフトウェア開発方法、プログラミング装置および組み込み機器の好適な実施の形態を詳細に説明する。組み込みソフトウェアは、例えば、リモコンやデジカメ、ICレコーダ、車載装置、医療機器等、用途(動作)が限定された特定用途の組み込み機器に組み込まれるソフトウェアである。
(Embodiment)
With reference to the accompanying drawings, illustrating how the development of embedded software according to the present invention, a preferred embodiment of the programming device and the embedded device in detail. The embedded software is software embedded in a specific-purpose embedded device whose application (operation) is limited, such as a remote controller, a digital camera, an IC recorder, an in-vehicle device, or a medical device.

(実施の形態1:仮想メモリインターフェースを用いたデータ送受の構成)
図1は、実施の形態1にかかる組み込みソフトウェアのインターフェース仕様を説明する図である。実施の形態では、異なるプログラムA,B間の接続を仮想メモリインターフェース101を用いて行う。この接続とは、プログラム間においてやりとりするデータの送受を指す。
(Embodiment 1: Configuration of data transmission / reception using a virtual memory interface)
FIG. 1 is a diagram for explaining the interface specifications of the embedded software according to the first embodiment. In the embodiment, connection between different programs A and B is performed using the virtual memory interface 101. This connection refers to transmission / reception of data exchanged between programs.

図2は、実施の形態1にかかる仮想メモリインターフェースのメモリ内容を示す図である。メモリアドレス毎に一方のプログラム(例えばアプリケーション)Aと、他方のプログラム(例えばOS)Bとの間でやりとりするデータ(変数)を格納する。   FIG. 2 is a diagram of memory contents of the virtual memory interface according to the first embodiment. For each memory address, data (variables) exchanged between one program (for example, application) A and the other program (for example, OS) B is stored.

ここで、プログラムA,Bの関数と、このプログラムA,B間における関数のデータの送受は仮想メモリ(インターフェース)101を用いる。そして、各関数が書き込むアドレスと、読み出すアドレスは、予め設定されている。   Here, the virtual memory (interface) 101 is used for transmission / reception of the functions of the programs A and B and the function data between the programs A and B. The address written by each function and the address to be read are set in advance.

組み込みソフトウェアでは、特定の機能を順序制御等により単純実行すればよいため、プログラムA,B間のデータの送受は、固定化されている。例えば、組み込み機器の操作等により、プログラム(アプリケーション)Aの関数Aが取得したデータは、アドレス「0000」に書き込むように設定しておく。   In the embedded software, a specific function may be simply executed by order control or the like, and therefore data transmission / reception between the programs A and B is fixed. For example, the data acquired by the function A of the program (application) A by operating the embedded device is set to be written to the address “0000”.

また、プログラム(OS)Bの関数1は、アドレス「0000」に書き込まれたデータを読み込み、所定の処理を実行するように設定しておく。また、プログラム(OS)の関数1は、所定の処理実行結果の戻り値をアドレス「0001」に書き込むように設定しておく。   The function 1 of the program (OS) B is set to read data written at the address “0000” and execute a predetermined process. The function 1 of the program (OS) is set so that a return value of a predetermined process execution result is written to the address “0001”.

また、プログラム(アプリケーション)Aの関数Aは、アドレス「0001」のデータを読み込み、所定の処理を実行するように設定しておく。プログラムA,Bの他の関数についても、それぞれ異なるアドレスを用いてデータ送受する設定を行う。   The function A of the program (application) A is set so as to read the data of the address “0001” and execute a predetermined process. The other functions of programs A and B are also set to send and receive data using different addresses.

図3は、実施の形態1にかかる仮想メモリインターフェースを用いたデータ送受の処理内容を示すフローチャートである。図中ステップS301は組み込みソフトウェア開発時に行う事前処理内容、ステップS304は事前処理後(組み込み機器への組み込みソフトウェアの組み込み後)の実行処理内容を示す。   FIG. 3 is a flowchart of the contents of data transmission / reception processing using the virtual memory interface according to the first embodiment. In the figure, step S301 shows the contents of the pre-processing performed when the embedded software is developed, and step S304 shows the contents of the execution process after the pre-processing (after incorporating the embedded software into the embedded device).

ステップS301の事前準備としては、はじめに、プログラムAの関数AからプログラムBの関数1へ引き渡す変数領域1を設定する(ステップS302)。次に、プログラムBの関数1からプログラムAの関数Aへの戻り値の変数領域2を設定する(ステップS303)。   As advance preparation of step S301, first, the variable area 1 to be transferred from the function A of the program A to the function 1 of the program B is set (step S302). Next, the variable area 2 of the return value from the function 1 of the program B to the function A of the program A is set (step S303).

上記事前準備後の実行処理時(ステップS304)には、ステップS305〜ステップS308の処理を行う。はじめに、プログラムAの関数Aにより変数領域1にデータを書き込む(ステップS305)。次に、プログラムBの関数1により変数領域1からデータを読み込む(ステップS306)。その後、プログラムBの関数1により内部計算を行い、計算結果の戻り値を変数領域2に書き込む(ステップS307)。そして、プログラムAの関数Aにより変数領域2からデータを読み込む(ステップS308)。   During the execution process after the advance preparation (step S304), the processes of steps S305 to S308 are performed. First, data is written in the variable area 1 by the function A of the program A (step S305). Next, data is read from the variable area 1 by the function 1 of the program B (step S306). Thereafter, the internal calculation is performed by the function 1 of the program B, and the return value of the calculation result is written in the variable area 2 (step S307). Data is read from the variable area 2 by the function A of the program A (step S308).

図3の処理を図2を用いて具体的に説明すると、事前準備としては、
a.仮想メモリインターフェース101のアドレス「0000」を関数Aから関数1へ引き渡す変数領域1として設定する。
b.仮想メモリインターフェース101のアドレス「0001」を関数1から関数Aへの戻り値の変数領域2として設定する。
The process of FIG. 3 will be specifically described with reference to FIG.
a. The address “0000” of the virtual memory interface 101 is set as the variable area 1 to be transferred from the function A to the function 1.
b. The address “0001” of the virtual memory interface 101 is set as the variable area 2 of the return value from the function 1 to the function A.

上記事前準備後の動作処理時には、プログラムA,Bは、下記1.〜4.の処理を行う。
1.関数Aが変数領域1(アドレス「0000」)にデータを書き込む。
2.関数1が変数領域1(アドレス「0000」)からデータを読み込む。
3.関数1が内部計算を行い、計算結果の戻り値を変数領域2(アドレス「0001」)に書き込む。
4.関数Aが変数領域2(アドレス「0001」)からデータを読み込む。
At the time of operation processing after the above preparation, the programs A and B are as follows. ~ 4. Perform the process.
1. The function A writes data to the variable area 1 (address “0000”).
2. Function 1 reads data from variable area 1 (address “0000”).
3. Function 1 performs an internal calculation and writes the return value of the calculation result to variable area 2 (address “0001”).
4). The function A reads data from the variable area 2 (address “0001”).

このように、プログラムA,B相互間でやりとりするデータについて、仮想メモリインターフェース101上に、各プログラムが書き込むアドレスと、読み出すアドレスを設定しておくことにより、各プログラムA,Bは、仮想メモリインターフェース101の該当アドレスに対するデータ書き込みに基づきこのデータを読み込み、プログラム実行することができるようになる。各プログラムA,Bは、メモリのリード/ライト動作だけでプログラム間の連携を構築することができる。   As described above, by setting the addresses to be written and read by the programs on the virtual memory interface 101 for the data exchanged between the programs A and B, the programs A and B can be controlled by the virtual memory interface. This data can be read and the program can be executed based on the data write to the corresponding address 101. Each of the programs A and B can establish cooperation between programs only by the memory read / write operation.

ここで、プログラムA,Bは、それぞれ予め設定したアドレスにデータが書き込まれたことを契機(タイミング)として、処理を実行するように構成(プログラミング)しておいてもよい。例えば、上記例では、2.4.について下記のようにプログラミングできる。
2’.関数1は、アドレス「0000」にデータが書き込まれた場合、このデータを読み込む。
4’.関数Aは、アドレス「0001」にデータが書き込まれた場合、このデータを読み込む。
Here, each of the programs A and B may be configured (programmed) so as to execute processing when data is written to a preset address. For example, in the above example, 2.4. Can be programmed as follows.
2 '. The function 1 reads this data when data is written to the address “0000”.
4 '. The function A reads this data when the data is written to the address “0001”.

図4は、実施の形態1にかかるプログラムの連携例を示す図である。プログラムAの関数Aは、アドレス0「0000」に値10を書き込む処理、およびアドレス1「0001」の値を読み込む処理を行う。プログラムBの関数1は、アドレス0「0000」に書き込まれた値を処理(図示の例では値の二乗処理)し、処理後の値を戻り値としてアドレス1「0001」に書き込む処理を行う。   FIG. 4 is a diagram illustrating a cooperation example of programs according to the first embodiment. The function A of the program A performs a process of writing the value 10 to the address 0 “0000” and a process of reading the value of the address 1 “0001”. The function 1 of the program B processes the value written at the address 0 “0000” (in the example shown, the value square process), and writes the processed value as a return value to the address 1 “0001”.

図4に示したプログラムの連携例によれば、プログラムA,Bは、WRITE関数、READ関数のみで他のプログラムとデータの送受、およびデータ処理依頼を行うことができる。そして、プログラムA,Bは、READについてはアドレス、WRITEについては、アドレスと値の2つの関数だけを用いて処理実行できる。   According to the example of the program linkage shown in FIG. 4, the programs A and B can send / receive data to / from other programs and request data processing with only the WRITE function and the READ function. The programs A and B can be executed using only two functions of an address for READ and an address and value for WRITE.

このように、プログラムA,Bは、仮想メモリインターフェース101を介したデータ送受のルール(アドレスとデータの大きさ、処理の内容)だけを事前に決めておけば、相互のプログラムA,B間のデータのやりとり、および処理依頼の伝達を極めて容易に実現できるようになる。   As described above, if the programs A and B only determine the rules for data transmission / reception via the virtual memory interface 101 (the address, the size of the data, and the contents of the processing) in advance, the programs A and B can interact with each other. Data exchange and transmission of processing requests can be realized very easily.

また、プログラマが実装(作業)するのは、仮想メモリの特定のアドレスにおける読み書きのみとすることができるため、API等の関数の知識や経験は必要なく、結果として習熟したプログラマでなくとも、プログラミングできる環境を構築できるようになる。   In addition, programmers can implement (work) only reading and writing at a specific address in virtual memory, so knowledge and experience of functions such as API are not required, and as a result, programming is not necessary even for a non-skilled programmer. It will be possible to build an environment that can.

(仮想メモリインターフェースを用いた書き込み読み込みのプログラム間伝達について)
次に、上記プログラム連携における書き込み、および読み込みが行われたことを相手のプログラムに伝達するには下記1.〜3.の方法を用いて行う。
1.ポーリングによるデータ変化により相互のプログラム処理を実行する方法
2.イベント処理により相互のプログラム処理を実行する方法
3.ハードウェアを介して相互のプログラム処理を実行する方法
(Communication between programs for writing and reading using the virtual memory interface)
Next, in order to transmit to the partner program that the writing and reading in the above-mentioned program cooperation has been performed, the following 1. ~ 3. The method is used.
1. 1. Method for executing mutual program processing by data change by polling 2. A method of executing mutual program processing by event processing Method for executing mutual program processing via hardware

図5は、実施の形態1にかかるポーリングによるデータ変化により相互のプログラム処理を実行する方法を説明する図である。下記1.〜3.の手順でプログラム処理を実行する。
1.プログラム(アプリケーション)Aがデータを書き換える。
2.プログラム(アプリケーション)Bは、所定のアドレス(アドレス「0000」)のデータが書き換えられているかどうかをポーリング(一定間隔)で読みに行く。
3.そして、プログラム(アプリケーション)Bは、所定のアドレス(アドレス「0000」)のデータが書き換えられていた場合(DATA0→DATA1)には、このデータ(DATA1)を読み込み、所定の処理を実行する。
FIG. 5 is a diagram for explaining a method of executing mutual program processing by data change due to polling according to the first embodiment. 1. ~ 3. The program processing is executed according to the procedure.
1. Program (application) A rewrites data.
2. The program (application) B reads at polling (fixed intervals) whether or not data at a predetermined address (address “0000”) has been rewritten.
3. Then, the program (application) B reads the data (DATA1) when the data at the predetermined address (address “0000”) has been rewritten (DATA0 → DATA1), and executes predetermined processing.

図6は、実施の形態1にかかるイベント処理により相互のプログラム処理を実行する方法を説明する図である。下記1.〜4.の手順でプログラム処理を実行する。
1.初期化時に、プログラム(アプリケーション)BがOS601に所定のアドレス「0000」のデータに変化が生じた場合、通知するよう登録する。
2.プログラム(アプリケーション)Aがアドレス「0000」のデータを書き換える(DATA0→DATA1)。
3.OS601がプログラム(アプリケーション)Bにアドレス「0000」の変化を通知する。
4.プログラム(アプリケーション)Bがアドレス「0000」のデータを読み込み、所定のデータ処理を開始する。
以上のように、イベント処理では、全てのデータの書き込み、読み込みはOS601を経由して行う。
FIG. 6 is a diagram for explaining a method of executing mutual program processing by event processing according to the first embodiment. 1. ~ 4. The program processing is executed according to the procedure.
1. At the time of initialization, the program (application) B registers to notify the OS 601 when a change occurs in data at a predetermined address “0000”.
2. The program (application) A rewrites the data at the address “0000” (DATA0 → DATA1).
3. The OS 601 notifies the program (application) B of the change of the address “0000”.
4). The program (application) B reads the data at the address “0000” and starts predetermined data processing.
As described above, in the event processing, all data is written and read via the OS 601.

図7は、実施の形態1にかかるハードウェアを介して相互のプログラム処理を実行する方法を説明する図である。仮想メモリインターフェース101には、データ領域の他に、データリードと、データライトで起動する関数を登録しておく。下記1.〜3.の手順でプログラム処理を実行する。
1.プログラム(アプリケーション)Aがアドレス「0000」のデータを書き換える(DATA0→DATA1)。
2.CPU701がプログラム(アプリケーション)Aにより書き込まれたアドレス「0000」とデータ(DATA1)から関数(OnWrite0())をコールする。
3.プログラム(アプリケーション)Bは、書き換えられたデータ(DATA1)を読み込んで実行する。
FIG. 7 is a diagram for explaining a method for executing mutual program processing via the hardware according to the first embodiment. In the virtual memory interface 101, in addition to the data area, data read and functions activated by data write are registered. 1. ~ 3. The program processing is executed according to the procedure.
1. The program (application) A rewrites the data at the address “0000” (DATA0 → DATA1).
2. The CPU 701 calls the function (OnWrite0 ()) from the address “0000” written by the program (application) A and the data (DATA1).
3. The program (application) B reads and executes the rewritten data (DATA1).

図8は、実施の形態1にかかる組み込みソフトウェア開発に用いるプログラミング装置のハードウェア構成例を示すブロック図である。図8において、プログラミング装置800は、制御部(CPU)801と、Read−Only Memory(ROM)802と、Random Access Memory(RAM)803と、を含む。また、半導体メモリやディスクドライブ等の記憶部804と、ディスプレイ808と、通信インターフェース(I/F)809と、キーボード810と、マウス811と、スキャナ812と、プリンタ813とを備えてもよい。これらCPU801〜プリンタ813はバス814によってそれぞれ接続されている。   FIG. 8 is a block diagram of a hardware configuration example of a programming device used for embedded software development according to the first embodiment. In FIG. 8, the programming device 800 includes a control unit (CPU) 801, a read-only memory (ROM) 802, and a random access memory (RAM) 803. Further, a storage unit 804 such as a semiconductor memory or a disk drive, a display 808, a communication interface (I / F) 809, a keyboard 810, a mouse 811, a scanner 812, and a printer 813 may be provided. These CPU 801 to printer 813 are connected by a bus 814.

CPU801は、プログラミング装置800によって組み込みソフトウェアを作成する際の全体の制御を司る演算処理装置である。ROM802は、組み込みソフトウェアの作成に必要なプログラムを記憶する不揮発性メモリである。RAM803は、CPU801による演算処理実行時のワークエリアとして使用される揮発性メモリである。   The CPU 801 is an arithmetic processing device that performs overall control when the embedded software is created by the programming device 800. The ROM 802 is a non-volatile memory that stores programs necessary for creating embedded software. A RAM 803 is a volatile memory used as a work area when the CPU 801 executes arithmetic processing.

通信インターフェース809は、ネットワーク815と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。具体的に、通信インターフェース809は、通信回線を通じてネットワーク815となるLocal Area Network(LAN)、Wide Area Network(WAN)、インターネットなどに接続され、ネットワーク815を介して他の装置に接続される。通信インターフェース809には、例えば、モデムやLANアダプタなどを採用することができる。   A communication interface 809 controls an internal interface with the network 815 and controls input / output of data from an external device. Specifically, the communication interface 809 is connected to a local area network (LAN), a wide area network (WAN), the Internet, or the like serving as the network 815 through a communication line, and is connected to another device via the network 815. For the communication interface 809, for example, a modem or a LAN adapter can be employed.

ディスプレイ808は、組み込みソフトウェア開発のための各種仕様書や設計書、例えば、操作仕様書におけるGUI(Graphical User Interface)の画面設計と、プログラム設計書の設計画面について、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などをデータ表示する装置である。ディスプレイ808には、例えば、Thin Film Transistor(TFT)液晶ディスプレイ、プラズマディスプレイ、有機ELディスプレイなどを採用することができる。   The display 808 includes various specifications and design documents for embedded software development, such as GUI (Graphical User Interface) screen design in operation specifications and program design document design screens, including cursors, icons, and tool boxes. This is a device for displaying data such as documents, images, and function information. As the display 808, for example, a Thin Film Transistor (TFT) liquid crystal display, a plasma display, an organic EL display, or the like can be adopted.

そして、上記説明した、プログラム(アプリケーション)A,Bの開発において、図8に示したプログラミング装置800を用いて図3に示した事前処理S301を行う。この後、組み込み機器において図3に示した実行処理ステップS304を実行させればよい。   Then, in the development of the programs (applications) A and B described above, the pre-processing S301 shown in FIG. 3 is performed using the programming device 800 shown in FIG. Thereafter, the execution processing step S304 shown in FIG. 3 may be executed in the embedded device.

(実装例)
図9は、実施の形態1にかかる組み込み機器への実装例を示す図である。用途が限定された組み込み機器は、所定のメモリにプログラム(アプリケーション)A,Bを格納しておき、プログラム(アプリケーション)A,B間のデータ送受に、OS901が提供する仮想メモリインターフェース101を利用する。なお、不図示であるが、組み込み機器は、これらプログラム(アプリケーション)A,Bと、OS901と、仮想メモリインターフェース101の動作処理を実行する。
(Implementation example)
FIG. 9 is a diagram illustrating an example of mounting on an embedded device according to the first embodiment. An embedded device whose use is limited stores programs (applications) A and B in a predetermined memory, and uses the virtual memory interface 101 provided by the OS 901 for data transmission / reception between the programs (applications) A and B. . Although not shown, the embedded device executes operation processing of these programs (applications) A and B, the OS 901, and the virtual memory interface 101.

従来のインターフェースでは、プログラムAからプログラムBのAPIをコールすることでプログラム間の連携を図っていた。この場合、API仕様書の精読が必要であり、適切な関数、因数で対応付けしなければならず、習熟したプログラマによるプログラミングが必要であった。   In the conventional interface, the program A is called by calling the API of the program B so that the programs are linked. In this case, it is necessary to read the API specification carefully, it must be associated with an appropriate function and factor, and programming by a skilled programmer is required.

これに対し、上記実施の形態1によれば、仮想メモリインターフェースを介してプログラム間のデータの送受を行う。組み込みソフトウェアでは、各プログラムを機能別モジュール毎(例えばレコーダであれば録音機能や表示機能毎)に開発を行っている。実施の形態によれば、この際、プログラム間の連携にAPI関数を用いるなど、特別なプログラミングを行う必要がなく、プログラミングの知識がなくても自分が担当する組み込みソフトウェア開発を行うことができるようになる。また、プログラミング言語や、プログラマ間の言語(人種)を問わずに組み込みソフトウェア開発を行うことができる。   On the other hand, according to the first embodiment, data is transmitted / received between programs via the virtual memory interface. In the embedded software, each program is developed for each function module (for example, for each recording function and display function in the case of a recorder). According to the embodiment, at this time, it is not necessary to perform special programming such as using an API function for cooperation between programs, and it is possible to develop embedded software for which the user is responsible without knowledge of programming. become. In addition, embedded software development can be performed regardless of programming language or language (race) between programmers.

これにより、組み込みソフトウェア開発のプログラム品質を向上し、効率化および低コスト化できる。さらに、ソフトウェア開発を統括するスーパープログラマがいなくても組み込みソフトウェア開発を行うことができ、人件費を削減することもできる。   Thereby, the program quality of embedded software development can be improved, and efficiency and cost can be reduced. Furthermore, embedded software development can be performed without a super programmer who supervises software development, and labor costs can be reduced.

また、組み込み機器の試作段階において、プログラム間のデータ送受が明確となり、プログラミング(データ送受)の試行錯誤を簡単かつ容易に行えるため、試作段階での検証作業を効率よく円滑に行えるようになる。   In addition, data transmission / reception between programs becomes clear at the prototype stage of embedded devices, and trial and error of programming (data transmission / reception) can be performed easily and easily, so that verification work at the prototype stage can be performed efficiently and smoothly.

(実施の形態2:GUI開発と制御開発の連携について)
実施の形態2では、組み込みソフトウェア開発における複数のドキュメントの連携について説明する。この連携についても、図8に示したプログラミング装置800を用いて行うことができる。
(Embodiment 2: Cooperation between GUI development and control development)
In the second embodiment, cooperation of a plurality of documents in embedded software development will be described. This cooperation can also be performed using the programming device 800 shown in FIG.

従来、例えば、操作仕様書におけるGUIの画面設計と、プログラム設計書における制御処理(プログラム記述)とは別工程で行われていたが、実施の形態2では、これら仕様書(例えば、GUI開発)と設計書(例えば、制御開発)のドキュメント相互を分かりやすい形で連携させる。   Conventionally, for example, the GUI screen design in the operation specification and the control processing (program description) in the program design are performed in separate steps, but in the second embodiment, these specifications (for example, GUI development) are performed. And design documents (for example, control development) are linked in an easy-to-understand manner.

図10は、実施の形態2にかかる制御開発を説明する図である。図示のように、実施の形態では、組み込みソフトウェア開発において、従来の制御処理(プログラム記述)を用いず、ルール図を用いて制御の設計を行う。プログラム記述の処理内容を図形の組み合わせからなるルール図1000を用いて表現する。   FIG. 10 is a diagram for explaining control development according to the second embodiment. As illustrated, in the embodiment, in the embedded software development, control is designed using a rule diagram without using conventional control processing (program description). The processing contents of the program description are expressed using a rule diagram 1000 composed of a combination of figures.

ルール図1000では、図10に示すように、制御処理用部品として、条件1001と、アクション1002を用いる。そして、条件1001が合致したときにアクション1002を実行する。条件1001を直列に接続すると論理積(AND)条件を表し、条件1001を並列に接続すると論理和(OR)条件を表すこととする。制御開発時には、これら条件1001とアクション1002とを制御処理手順に沿って系統的に接続してルール図1000を作成する。   In the rule diagram 1000, as shown in FIG. 10, a condition 1001 and an action 1002 are used as control processing components. Then, the action 1002 is executed when the condition 1001 is met. Connecting the condition 1001 in series represents a logical product (AND) condition, and connecting the condition 1001 in parallel represents a logical sum (OR) condition. At the time of control development, the rule diagram 1000 is created by systematically connecting these conditions 1001 and actions 1002 along the control processing procedure.

図11は、実施の形態2にかかる制御処理の設計画面を説明する図である。ルール図1000を用いた制御処理設計図1100の表示画面右欄には、制御処理用部品一覧1110を表示させる。この制御処理用部品一覧1110には、図10に示した条件1001やアクション1002等を予め配置しておく。   FIG. 11 is a diagram illustrating a design screen for control processing according to the second embodiment. A control processing component list 1110 is displayed in the right column of the display screen of the control processing design diagram 1100 using the rule diagram 1000. In the control processing component list 1110, the conditions 1001, the action 1002, and the like shown in FIG.

そして、制御処理設計時に必要な項目をこの制御処理用部品一覧1110から選択し、操作(ドラッグアンドドロップ)により、ルール図1000上の適宜の位置に配置する。そして、制御処理用部品(条件1001やアクション1002)の配置後、これら条件1001やアクション1002の内容を設定して、制御動作を決定する。なお、図11の例では、ルール図1000上において、条件1001やアクション1002は、組み込み機器の操作(例えば、開始ボタン1120、停止ボタン1130の操作)に基づき設定される例を示している。   Then, an item required at the time of designing the control process is selected from the control process component list 1110 and arranged at an appropriate position on the rule diagram 1000 by an operation (drag and drop). Then, after the placement of the control processing components (condition 1001 and action 1002), the contents of the condition 1001 and action 1002 are set to determine the control operation. In the example of FIG. 11, in the rule diagram 1000, the condition 1001 and the action 1002 are set based on the operation of the embedded device (for example, the operation of the start button 1120 and the stop button 1130).

図12は、実施の形態2にかかるGUI画面設計を説明する図である。図示のように、実施の形態では、組み込みソフトウェア開発において、組み込み機器に多用されるGUIを画面設計図1200を用いて設計する。   FIG. 12 is a diagram for explaining GUI screen design according to the second embodiment. As illustrated, in the embodiment, in embedded software development, a GUI frequently used for an embedded device is designed using a screen design diagram 1200.

画面設計図1200上には、組み込み機器の操作画面の機能を便宜的に簡単に示してあり、例えば、組み込み機器の起動(START)ボタン1201、停止(STOP)ボタン1202、その他の機能ボタン1203のレイアウトを設計、および編集する。   On the screen design diagram 1200, the function of the operation screen of the embedded device is simply shown for convenience. For example, the start (START) button 1201 of the embedded device, the stop (STOP) button 1202, and other function buttons 1203 are displayed. Design and edit layouts.

例えば、画面設計図1200の表示画面右欄には、GUI部品一覧1210を表示させる。このGUI部品一覧1210には、起動(START)ボタン1201、停止(STOP)ボタン1202、その他の機能ボタン1203等を予め配置しておく。そして、GUI画面設計時に必要なボタンをこのGUI部品一覧1210から選択し、操作(ドラッグアンドドロップ)により、画面設計図1200上の適宜の位置に配置する。そして、GUI部品の配置後、GUI部品の色や文言(例えば機能別の色や機能を示す文言)を設定してGUI画面を設計する。   For example, a GUI component list 1210 is displayed in the right column of the display screen of the screen design drawing 1200. In the GUI component list 1210, a start (START) button 1201, a stop (STOP) button 1202, other function buttons 1203, and the like are arranged in advance. Then, a button necessary for designing the GUI screen is selected from the GUI component list 1210 and arranged at an appropriate position on the screen design diagram 1200 by an operation (drag and drop). Then, after the GUI component is arranged, the GUI screen is designed by setting the color and wording of the GUI component (for example, the word indicating the color and function for each function).

制御処理の設計時には、図11に示した制御処理設計図1100(ルール図1000)の表示画面を用い、GUIの画面設計時には、図12に示した画面設計図1200の表示画面に切り替える。この際、図11に示した制御処理設計図1100(ルール図1000)上には、図12に示した起動(START)ボタン1201と停止(STOP)ボタン1202とが同一位置に配置される。   When designing the control process, the display screen of the control process design diagram 1100 (rule diagram 1000) shown in FIG. 11 is used, and when the GUI screen is designed, the screen is switched to the display screen of the screen design diagram 1200 shown in FIG. At this time, on the control processing design diagram 1100 (rule diagram 1000) shown in FIG. 11, the start (START) button 1201 and the stop (STOP) button 1202 shown in FIG. 12 are arranged at the same position.

図13は、実施の形態2にかかる制御処理設計図と画面設計図の重ね合わせ表示を説明する図である。図11に示した制御処理設計図1100の表示画面上に、図12に示した画面設計図1200を重ね合わせて表示させる。例えば、重ね合わせの上に位置する画面設計図1200については半透明表示とすることにより、下に位置する制御処理設計図1100についても視認することができるようになる。これに限らず、これら制御処理設計図1100と、画面設計図1200のいずれかに切り替え表示したり、同一画面上に並列していずれも表示させてもよい。   FIG. 13 is a diagram for explaining a superimposed display of a control process design diagram and a screen design diagram according to the second embodiment. The screen design diagram 1200 shown in FIG. 12 is superimposed on the display screen of the control process design diagram 1100 shown in FIG. For example, the screen design drawing 1200 positioned above the overlay is displayed as a semi-transparent display so that the control processing design drawing 1100 positioned below can be visually recognized. However, the present invention is not limited to this, and the control process design diagram 1100 and the screen design diagram 1200 may be switched to each other or displayed in parallel on the same screen.

また、画面表示は、これら2つの制御処理設計図1100と、画面設計図1200に限らず3つ以上のドキュメントの表示画面を重ね合わせたり、切り替えたり、並列表示させることもできる。   Further, the screen display is not limited to the two control processing design diagrams 1100 and the screen design diagram 1200, and the display screens of three or more documents can be overlapped, switched, or displayed in parallel.

いずれの場合においても、制御処理設計図1100と画面設計図1200上で起動(START)ボタン1201の表示(座標)位置は同一位置とする。同様に、制御処理設計図1100と画面設計図1200の停止(STOP)ボタン1202の表示(座標)位置は同一位置とする。これらは、説明の便宜上、組み込み機器の操作画面の機能として、組み込み機器の開始と停止だけを例に説明したが、制御処理およびGUI画面の起点となる他の機能についても、同様に配置することができる。   In any case, the display (coordinates) position of the start (START) button 1201 on the control process design diagram 1100 and the screen design diagram 1200 is the same position. Similarly, the display (coordinates) position of the stop (STOP) button 1202 in the control processing design drawing 1100 and the screen design drawing 1200 is the same position. For the sake of convenience of explanation, only the start and stop of the embedded device have been described as the functions of the operation screen of the embedded device, but other functions that are the starting point of the control process and the GUI screen should be arranged in the same manner. Can do.

図14は、実施の形態2にかかる制御処理設計図と画面設計図を重ね合わせ一方を半透明にした表示状態を示す図である。この図14の例では、画面設計図1200に対し、制御処理設計図1100を半透明(図では便宜上点線)に表示した状態である。このように、制御処理設計図1100と、画面設計図1200を重ね合わせて表示することにより、GUI画面上の操作と制御処理の連携を直感的に把握できるようになる。そして、この図14の例では、制御処理設計図1100の制御処理を参照しながら、GUIの画面設計図1200を設計することが可能になる。   FIG. 14 is a diagram illustrating a display state in which the control process design diagram and the screen design diagram according to the second embodiment are superimposed and one of them is translucent. In the example of FIG. 14, the control processing design diagram 1100 is displayed in a translucent manner (dotted line in the figure for convenience) with respect to the screen design diagram 1200. In this way, by superimposing and displaying the control process design diagram 1100 and the screen design diagram 1200, it becomes possible to intuitively understand the cooperation between the operation on the GUI screen and the control process. In the example of FIG. 14, it is possible to design the GUI screen design diagram 1200 while referring to the control process of the control process design diagram 1100.

また、図14とは逆に、制御処理設計図1100に対し、画面設計図1200を半透明に表示することにより、GUIの画面設計図1200を参照しながら、制御処理設計図1100の制御処理を設計することが可能になる。   In contrast to FIG. 14, the screen design diagram 1200 is displayed semi-transparently with respect to the control process design diagram 1100, so that the control process of the control process design diagram 1100 can be performed with reference to the GUI screen design diagram 1200. It becomes possible to design.

図15は、実施の形態2にかかる制御処理設計図と画面設計図の重ね合わせ表示のレイアウト変更時の状態を説明する図である。図14に示す画面設計図1200上の起動(START)ボタン1201と停止(STOP)ボタン1202を右へ移動させるレイアウト変更を行った状態を示している。このように、画面設計図1200上のボタン配置を変更した場合、この変更に合わせて制御処理設計図1100(ルール図1000)についても、右に移動させる。   FIG. 15 is a diagram for explaining a state when the layout of the superimposed display of the control process design diagram and the screen design diagram according to the second embodiment is changed. 14 shows a state where the layout has been changed by moving the start (START) button 1201 and the stop (STOP) button 1202 to the right on the screen design diagram 1200 shown in FIG. Thus, when the button arrangement on the screen design drawing 1200 is changed, the control processing design drawing 1100 (rule diagram 1000) is also moved to the right in accordance with the change.

図15の例では、起動(START)ボタン1201を起点とする条件1001およびアクション1002と、停止(STOP)ボタン1202を起点とする条件1001およびアクション1002が互いに重ならないように、ルール図1000全体のレイアウトを変更させている。このレイアウト変更時には、各ボタンや条件、アクション間を繋ぐ線分の接続位置についても変更することにより、ルール図1000を柔軟な形に変更できるようになる。   In the example of FIG. 15, the conditions 1001 and the action 1002 starting from the start (START) button 1201 and the conditions 1001 and the action 1002 starting from the stop (STOP) button 1202 do not overlap each other. The layout is changed. When the layout is changed, the rule diagram 1000 can be changed to a flexible form by changing the connection positions of the lines connecting the buttons, conditions, and actions.

図16は、実施の形態2にかかる制御処理とGUI部品との関連付けの処理を示すフローチャートである。制御処理設計図1100が示す制御処理と、画面設計図1200が示すGUI部品との関連付けの処理について説明する。この処理は、プログラミング装置800が実行する。   FIG. 16 is a flowchart of a process of associating a control process and a GUI component according to the second embodiment. The control processing shown in the control processing design diagram 1100 and the processing for associating the GUI components shown in the screen design diagram 1200 will be described. This processing is executed by the programming device 800.

はじめに、プログラミング装置800は、制御処理設計図1100の画面と、GUIの画面設計図1200とを重ね合わせ表示する(ステップS1601)。この後、対応する制御処理設計図1100の制御処理用部品(条件1001、アクション1002)と、画面設計図1200のGUI部品(起動(START)ボタン1201、停止(STOP)ボタン1202)とを選択して関連付けする(ステップS1602)。   First, the programming device 800 superimposes and displays the screen of the control process design diagram 1100 and the GUI screen design diagram 1200 (step S1601). Thereafter, the corresponding control processing component (condition 1001, action 1002) in the control processing design diagram 1100 and the GUI components (start (START) button 1201, stop (STOP) button 1202) in the screen design diagram 1200 are selected. (Step S1602).

プログラミング装置800は、重ね合わせた制御処理設計図1100の画面と、GUIの画面設計図1200の情報(各部品の座標位置を含む)と、関連付けした制御処理用部品とGUI部品の情報を記憶部804に保持し、記憶部804からの読み込みにより、ディスプレイに表示可能であり、後ほどの編集等も可能である。   The programming device 800 stores the screen of the superimposed control processing design diagram 1100, information of the GUI screen design diagram 1200 (including the coordinate position of each component), and information on the associated control processing component and GUI component. The data can be displayed on the display by being read from the storage unit 804 and can be edited later.

関連付けの処理は、上記に限らず、画面設計図1200のGUI部品を選択して、このGUI部品に対応する制御処理設計図1100の制御処理用部品を選択し、互いを関連付けしてもよい。   The association process is not limited to the above, and a GUI component in the screen design diagram 1200 may be selected, a control processing component in the control process design diagram 1100 corresponding to this GUI component may be selected, and associated with each other.

図17は、実施の形態2にかかる制御処理設計図と画面設計図の差し換えを説明する図である。図17には、2つのGUIの画面設計図1200a,1200bを一つの制御処理設計図1100に関連付けした状態を示している。この図では、一方の画面設計図1200aの2つのボタン1201a、1202aは、文字が日本語表示され、他方の画面設計図1200bの2つのボタン1201b、1202bは、文字が英語表示される例である。   FIG. 17 is a diagram for explaining replacement of the control process design diagram and the screen design diagram according to the second embodiment. FIG. 17 shows a state in which two GUI screen design drawings 1200 a and 1200 b are associated with one control processing design diagram 1100. In this figure, two buttons 1201a and 1202a in one screen design diagram 1200a are examples in which characters are displayed in Japanese, and two buttons 1201b and 1202b in the other screen design diagram 1200b are examples in which characters are displayed in English. .

このように、画面設計図1200a,1200bの文字表記が異なるだけの場合、制御処理設計図1100の各制御処理用部品(図示の例では便宜上、アクション1002a,1002bだけを記載)は共通して用いることができる。このような場合、一つの制御処理設計図1100に対し、言語別に複数の画面設計図1200a,1200bを用意しておくことができる。例えば、画面設計図1200aの日本語表記の「ボタンA」(1201a)と、画面設計図1200bの英語表記の「ButtonA」(1201b)は、いずれも、共通の制御処理設計図1100のアクション1002aに接続される。   As described above, when the screen design drawings 1200a and 1200b are different in character notation, the components for control processing in the control processing design diagram 1100 (in the example shown, only the actions 1002a and 1002b are described in common) are used in common. be able to. In such a case, a plurality of screen design diagrams 1200a and 1200b can be prepared for each language for one control process design diagram 1100. For example, “button A” (1201a) in Japanese of the screen design diagram 1200a and “Button A” (1201b) in English of the screen design diagram 1200b are both in the action 1002a of the common control processing design diagram 1100. Connected.

プログラミング装置800は、これら2つのGUIの画面設計図1200a,1200bを一つの制御処理設計図1100に関連付けし、この関連付けした状態の情報を組み込み機器に搭載する。組み込み機器では、ユーザの操作により、日本語表記が選択された場合には、図示のように、画面設計図1200aを有効とし、画面設計図1200bを無効とすればよい。英語表記が選択された場合には、画面設計図1200bを有効とし、画面設計図1200aを無効にする。   The programming device 800 associates the screen design drawings 1200a and 1200b of these two GUIs with one control processing design diagram 1100, and mounts the information on the associated states in the embedded device. In the embedded device, when Japanese notation is selected by a user operation, the screen design diagram 1200a may be validated and the screen design diagram 1200b may be invalidated as illustrated. When English notation is selected, the screen design diagram 1200b is validated and the screen design diagram 1200a is invalidated.

上記構成によれば、一つの制御処理を複数のGUIの画面を切り替えて(差し換えて)設定することができるようになる。上記例ではGUIの言語切り替えを例に説明したが、これに限らず、GUI部品のサイズや文字(フォント)の大きさ、文字の種類、ユーザの嗜好に合わせた各種GUI画面の表示についても、制御処理を共通させ、GUIの画面を切り替える設定とすることができる。   According to the above configuration, one control process can be set by switching (replacing) a plurality of GUI screens. In the above example, GUI language switching has been described as an example. However, the present invention is not limited to this, and the display of various GUI screens according to the size of GUI components, the size of characters (fonts), the types of characters, and user preferences, The control process can be made common and the GUI screen can be switched.

これにより、仕様変更に柔軟に対応でき、例えば、後から異なるGUIを追加したり、変更することが可能となる。また、上記例に限らず、一つのGUI画面を複数の制御処理に切り替えて設定することもできる。   Thereby, it is possible to flexibly cope with specification changes, and for example, it is possible to add or change different GUIs later. In addition to the above example, one GUI screen can be set by switching to a plurality of control processes.

図18は、実施の形態2にかかる複数の設計図間の関連付けを説明する図である。図18には、上記説明した画面設計図1200と制御処理設計図1100の関連付けに加えて、他にI/O設計図やイベント(Event)設計図を加えて相互の関連付けを行う構成としたものである。   FIG. 18 is a diagram for explaining association between a plurality of design drawings according to the second embodiment. In FIG. 18, in addition to the association between the screen design diagram 1200 and the control processing design diagram 1100 described above, an I / O design drawing and an event (Event) design drawing are also added to associate each other. It is.

GUIの画面設計図1200と、制御処理の制御処理設計図1100との関連付けは上述したとおりである。これに加え、物理的入出力のI/O設計図1801と、タスク間信号のEvent設計図1802等、の性質の異なる入力毎に別の表示画面を用いる構成としてもよい。図示の例では、I/O設計図1801の各I/O条件と、Event設計図1802の各イベントは、いずれも制御処理設計図1100のアクション1002に接続される。   The association between the GUI screen design diagram 1200 and the control process design diagram 1100 of the control process is as described above. In addition to this, a different display screen may be used for each input having different properties such as the physical input / output I / O design diagram 1801 and the event design diagram 1802 of the inter-task signal. In the illustrated example, each I / O condition in the I / O design drawing 1801 and each event in the Event design drawing 1802 are all connected to an action 1002 in the control processing design drawing 1100.

(仕様書と設計書の連携の具体例)
図19は、実施の形態2にかかる仕様書と設計書の連携の具体例を示す図である。この図19には、仕様書編集画面1901により上述した画面設計図1200を編集処理(画面上のボタンの表示色編集)し、設計書編集画面1911により上述した制御処理設計図1100を編集処理する例を示してある。
(Specific examples of cooperation between specifications and design documents)
FIG. 19 is a diagram illustrating a specific example of cooperation between a specification and a design document according to the second embodiment. In FIG. 19, the screen design diagram 1200 described above is edited by editing the specification editing screen 1901 (display color editing of buttons on the screen), and the control processing design diagram 1100 described above is edited by the design document editing screen 1911. An example is shown.

仕様書編集画面1901上には、画面設定図1902と、表示/操作一覧図1903が配置され、その下部には、表示メッセージ一覧1904と、画面切替スイッチ1905が設けられる。   A screen setting diagram 1902 and a display / operation list diagram 1903 are arranged on the specification document edit screen 1901, and a display message list 1904 and a screen changeover switch 1905 are provided below the screen setting diagram 1902.

画面設定図1902上には、所望する部品(図示の例では、青色ボタン1906と赤色ボタン1907)を所望する位置に所定の表示色を設定して配置する。表示/操作一覧図1903には、配置した部品(青色ボタン1906、赤色ボタン1907)に対する操作仕様を記載する。例えば、図示のように、条件1908として「青色ボタンを押した」ときの動作1909「青色を表示する」と記載する。赤色についても同様である。   On the screen setting diagram 1902, desired components (blue button 1906 and red button 1907 in the illustrated example) are set and arranged at desired positions. The display / operation list 1903 describes operation specifications for the arranged components (blue button 1906, red button 1907). For example, as shown in the drawing, the operation 1909 “display blue” when the “blue button is pressed” is described as the condition 1908. The same applies to red.

設計書編集画面1911上には、画面設定図1912と、表示/操作一覧図1913が配置され、その下部には、表示メッセージ一覧1914と、画面切替スイッチ1915が設けられる。   A screen setting diagram 1912 and a display / operation list diagram 1913 are arranged on the design document editing screen 1911, and a display message list 1914 and a screen changeover switch 1915 are provided below the screen setting diagram 1912.

画面設定図1912に配置した部品(青色ボタン「Button_Blue」1906、赤色ボタン「Button_Red」1907)が同じ座標位置に表示される。表示/操作一覧図1913には、配置した部品(青色ボタン1906、赤色ボタン1907)の条件(ボタン操作)に対する動作1917として表示色を記載する。例えば、「青色ボタン1906」の操作時に、プログラム実装に対応した名称を用いて表示色「Button_BlueDisplay」と、プログラム用の関数を記載する。   Parts arranged in the screen setting diagram 1912 (blue button “Button_Blue” 1906, red button “Button_Red” 1907) are displayed at the same coordinate position. Display / operation list FIG. 1913 describes a display color as an operation 1917 for the condition (button operation) of the arranged components (blue button 1906, red button 1907). For example, when the “blue button 1906” is operated, a display color “Button_BlueDisplay” and a function for the program are described using a name corresponding to the program implementation.

これら仕様書編集画面1901と、設計書編集画面1911は、画面切替スイッチ1905,1915の操作により相互に切り替え可能である。また、切り替えに限らず、上述したように、同一画面上に重ねて表示することもできる。   The specification editing screen 1901 and the design document editing screen 1911 can be switched between each other by operating the screen switching switches 1905 and 1915. Further, not limited to switching, as described above, they can be displayed on the same screen.

仕様書編集画面1901による編集内容は、取扱説明書(マニュアル)1921、およびテスト仕様書1922に相互変換可能である。また、設計書編集画面1911による編集内容は、デバッグ仕様書1923に相互変換可能である。また、設計書編集画面1911の編集内容に基づきプログラム1924のソースコードを生成できる。   The contents edited on the specification edit screen 1901 can be converted into an instruction manual (manual) 1921 and a test specification 1922. In addition, the editing contents on the design document editing screen 1911 can be converted into a debug specification 1923. Further, the source code of the program 1924 can be generated based on the editing contents of the design document editing screen 1911.

図20は、実施の形態2にかかる仕様書情報と設計書情報のデータ関連を示す図である。仕様書編集画面1901と、設計書編集画面1911による編集内容は、プログラミング装置800の記憶部804に逐次格納される。   FIG. 20 is a diagram illustrating a data relationship between the specification information and the design information according to the second embodiment. The contents edited by the specification editing screen 1901 and the design document editing screen 1911 are sequentially stored in the storage unit 804 of the programming device 800.

プログラミング装置800は、仕様書編集画面1901の編集による仕様書情報2001として、表示/操作一覧図1903の条件1908の一覧と、各条件1908に対応する動作1909を一覧化し、これら各条件1908と各動作1909との対応付けを設定する。また、設計書編集画面1911の編集による設計書情報2011についても、各条件1916に対応する動作1917を一覧化し、これら各条件1916と各動作1917との対応付けを設定する。   The programming device 800 lists the list of conditions 1908 in the display / operation list diagram 1903 and the operation 1909 corresponding to each condition 1908 as the specification information 2001 by editing the specification edit screen 1901. The association with the operation 1909 is set. Also, for the design document information 2011 by editing the design document editing screen 1911, the operations 1917 corresponding to the conditions 1916 are listed, and the correspondence between the conditions 1916 and the operations 1917 is set.

仕様書情報2001は、仕様書データベース(DB)2002に格納され、設計書情報2011は、設計書データベース(DB)2012に格納される。これら、仕様書DB2002、および設計書データDB2012の他に、図19に示した各種仕様書はそれぞれデータベース化して、プログラミング装置800の記憶部804に格納される。   The specification information 2001 is stored in the specification database (DB) 2002, and the design information 2011 is stored in the design database (DB) 2012. In addition to the specification DB 2002 and the design data DB 2012, the various specifications shown in FIG. 19 are converted into a database and stored in the storage unit 804 of the programming device 800.

また、プログラミング装置800は、仕様書情報2001と設計書情報2011についても、関連付けを行う。すなわち、仕様書情報2001の各条件1908と、設計書情報2011の各条件1916とを関連付ける。また、仕様書情報2001の各動作1909と、設計書情報2011の各条件1917とを関連付ける。   The programming device 800 also associates the specification information 2001 and the design information 2011. That is, each condition 1908 of the specification document information 2001 is associated with each condition 1916 of the design document information 2011. Further, each operation 1909 of the specification document information 2001 is associated with each condition 1917 of the design document information 2011.

(部品追加時の処理:ボタンの追加例)
次に、部品(機能)追加時の処理内容を新規にボタンを追加し表示色を設定する例を用いて説明する。プログラミング装置800が行う処理内容を説明する。
(Processing when adding a part: Example of adding a button)
Next, processing contents when adding a component (function) will be described using an example in which a button is newly added and a display color is set. Processing contents performed by the programming device 800 will be described.

図21〜図25は、実施の形態2にかかる部品追加時の処理を説明する図である。図19に示した部品(青色ボタン1906、赤色ボタン1907)に加えて、新たに他の部品(黄色ボタン2101)を追加する例について説明する。   FIGS. 21 to 25 are diagrams for explaining processing when a component is added according to the second embodiment. An example in which another component (yellow button 2101) is newly added in addition to the components (blue button 1906, red button 1907) shown in FIG. 19 will be described.

図21に示すように、黄色ボタン2101の追加時には、はじめに、(1)部品(黄色のボタン)2101を仕様書編集画面1901の画面設定図1902上の所定位置に配置する。プログラミング装置800は、この配置に対応して、設計書編集画面1911の画面設定図1912上の同じ位置にも部品(黄色のボタン)2101を自動的に配置する。   As shown in FIG. 21, when the yellow button 2101 is added, first, (1) the component (yellow button) 2101 is arranged at a predetermined position on the screen setting diagram 1902 of the specification edit screen 1901. Corresponding to this arrangement, the programming device 800 automatically arranges the component (yellow button) 2101 at the same position on the screen setting diagram 1912 of the design document edit screen 1911.

(2)また、プログラミング装置800は、仕様書編集画面1901上では、画面設定図1902上に配置した黄色のボタン2101に対応して、表示/操作一覧図1903に、配置した黄色ボタン2101に対する仕様説明(動作)エリア2102を自動作成する。この際、仕様説明(動作)エリア2102の内容は空欄とされる。   (2) On the specification editing screen 1901, the programming device 800 corresponds to the yellow button 2101 arranged on the screen setting diagram 1902, and the specification for the yellow button 2101 arranged in the display / operation list diagram 1903. An explanation (operation) area 2102 is automatically created. At this time, the content of the specification explanation (operation) area 2102 is left blank.

(3)次に、プログラミング装置800は、仕様書編集画面1901の表示/操作一覧図1903に作成した仕様説明(動作)エリア2102に対応して、設計書編集画面1911の表示/操作一覧図1913に仕様説明(動作)エリア2103を自動作成する。この際、仕様説明(動作)エリア2103の内容は空欄とされる。   (3) Next, the programming device 800 displays the display / operation list 1913 on the design document edit screen 1911 corresponding to the specification explanation (operation) area 2102 created in the display / operation list diagram 1903 on the specification edit screen 1901. A specification explanation (operation) area 2103 is automatically created. At this time, the content of the specification explanation (operation) area 2103 is blank.

この後、図22に示すように、仕様書編集画面1901の仕様説明(動作)エリア2102と、設計書編集画面1911の仕様説明(動作)エリア2103に、それぞれ仕様を記述する。具体的には、(4)仕様説明(動作)エリア2102には、黄色ボタン2101の仕様として、条件「黄色ボタンを押した」ときに、動作「黄色を表示する」と記述する。また、(5)仕様説明(動作)エリア2103には、処理の関数として「Button_YellowDisplay」を記述する。この際、プログラミング装置800に仕様・関数データベース(DB)2201があれば、これを参照することにより、黄色ボタン2101に対する処理(関数)を自動で設定することもできる。最後に、(6)設計書編集画面1911の画面設定図1912上に配置した部品(黄色のボタン)2101に、黄色のボタンの名前「Button_Yellow」を記述する。   Thereafter, as shown in FIG. 22, specifications are described in a specification explanation (operation) area 2102 of the specification document editing screen 1901 and a specification explanation (operation) area 2103 of the design document editing screen 1911, respectively. More specifically, (4) specification description (operation) area 2102 describes the operation “display yellow” when the condition “yellow button is pressed” as the specification of the yellow button 2101. Also, (5) Specification Description (Operation) area 2103 describes “Button_YellowDisplay” as a processing function. At this time, if there is a specification / function database (DB) 2201 in the programming device 800, processing (function) for the yellow button 2101 can be automatically set by referring to this. Finally, (6) the name “Button_Yellow” of the yellow button is described in the part (yellow button) 2101 arranged on the screen setting diagram 1912 of the design document editing screen 1911.

図21に示した処理に伴い、プログラミング装置800は、図23に示すように、仕様書情報と設計書情報とを関連付けて設定保持する。この図23を用いて、図20に対する追加情報の内容について説明する。(4)仕様書情報2001には、条件一覧1908に条件2301として「黄色ボタンを押した」を追加し、条件一覧1908に対応する動作一覧1909に動作2302として「黄色を表示する」を追加する。   In association with the processing shown in FIG. 21, the programming device 800 associates and stores the specification information and the design information as shown in FIG. The contents of additional information for FIG. 20 will be described with reference to FIG. (4) In the specification information 2001, “Yellow button pressed” is added to the condition list 1908 as the condition 2301, and “display yellow” is added to the action list 1909 corresponding to the condition list 1908 as the action 2302. .

また、(5)設計書情報2011には、動作一覧1917に処理(関数)2303として「Button_YellowDisplay」を追加する。最後に、(6)条件一覧1916に条件2304として黄色ボタンの操作を示す「Button_Yellow::OnClick」を追加する。   Also, (5) “Button_YellowDisplay” is added to the operation list 1917 as the process (function) 2303 in the design document information 2011. Finally, (6) “Button_Yellow :: OnClick” indicating the operation of the yellow button is added as a condition 2304 to the condition list 1916.

図22の処理後、図24に示すように、(7)設計書編集画面1911において、部品(黄色のボタン)2101と、対応する処理(関数)2103とを、プログラミング装置800のマウスなどを用いて接続することにより、互いを関連付けする(図中線2401)。   After the processing of FIG. 22, as shown in FIG. 24, (7) In the design document editing screen 1911, the component (yellow button) 2101 and the corresponding processing (function) 2103 are used using the mouse of the programming device 800 or the like. Are connected to each other (line 2401 in the figure).

図24に示した操作処理に伴い、プログラミング装置800は、図25に示す設計書情報2011について、(8)条件1916「Button_Yellow::OnClick」と、条件1916に対応する処理(関数)1917「Button_YellowDisplay」とを関連付ける(図中線2501)。また、仕様書情報2001の条件1908「黄色ボタンを押した」と、設計書情報2011の条件1916「Button_Yellow::OnClick」とを関連付ける(図中線2502)。   24, for the design document information 2011 shown in FIG. 25, the programming device 800 (8) condition 1916 “Button_Yellow :: OnClick” and processing (function) 1917 “Button_YellowDisplay” corresponding to the condition 1916. ”(Line 2501 in the figure). Further, the condition 1908 “Yellow button pressed” of the specification document information 2001 is associated with the condition 1916 “Button_Yellow :: OnClick” of the design document information 2011 (line 2502 in the figure).

(部品追加時の処理:ソースコードの生成について)
図26は、実施の形態2にかかる追加した部品に対応する処理(関数)のソースコード生成を説明する図である。上記図21〜図25に示す部品追加時の処理後、プログラミング装置800は、(9)追加した部品(黄色のボタン)2101に対応する処理(関数)のソースコードを追加生成し、他のボタンの処理を含めたソースコードからなるプログラム1924を生成する。この際、(10)プログラム1924のソースコード「Button_YellowDisplay」に処理2601「SetPanel(“Yellow”);」を手動にて書き込む。
(Processing when adding parts: Generating source code)
FIG. 26 is a diagram for explaining source code generation of processing (function) corresponding to the added component according to the second embodiment. After the processing at the time of component addition shown in FIGS. 21 to 25, the programming device 800 additionally generates (9) source code of processing (function) corresponding to the added component (yellow button) 2101, and other buttons. A program 1924 composed of source code including the above process is generated. At this time, the processing 2601 “SetPanel (“ Yellow ”);” is manually written in the source code “Button_YellowDisplay” of the program 1924 (10).

図27は、実施の形態2にかかる作成した複数のドキュメントあるいはプログラムの仕様変更時の処理を説明する図である。プログラミング装置800は、仕様書編集画面1901と、設計書編集画面1911と、プログラム1924とを、それぞれ関連付けしている。したがって、仕様書編集画面1901、設計書編集画面1911、プログラム1924のいずれかに対し、任意の画面や、任意のコード、任意の部品に対する仕様変更を行うと、プログラミング装置800は、他の画面やコードに対応する部品にその変更を自動で反映させる。   FIG. 27 is a diagram for explaining processing at the time of changing specifications of a plurality of created documents or programs according to the second embodiment. The programming device 800 associates a specification editing screen 1901, a design document editing screen 1911, and a program 1924 with each other. Therefore, when any of the specification editing screen 1901, the design document editing screen 1911, and the program 1924 is changed to any screen, any code, or any part, the programming device 800 displays other screens, The change is automatically reflected in the part corresponding to the code.

通常、ソフトウェアの開発は、(1)仕様書作成(テスト仕様書作成、マニュアル作成)、(2)ソフトウェア設計書作成、(3)ソースコード作成、(4)実機環境でのコンパイル、(5)実機動作、の順で行われる。この開発には、仕様設計者、ソフトウェア設計者、プログラマ、マニュアル開発者、テスト設計者が関わり従事する。   In general, software development involves: (1) Specification creation (test specification creation, manual creation), (2) Software design creation, (3) Source code creation, (4) Compilation in actual machine environment, (5) It is performed in the order of actual machine operation. The development involves specification designers, software designers, programmers, manual developers, and test designers.

実施の形態2のプログラミング装置800は、開発に必要な各ドキュメントを一元管理し、いずれかのドキュメント修正が行われると、関連する他のドキュメントの対応部分を修正する。これにより、ソフトウェア開発に関わる複数の開発者間は常に他のドキュメントの修正を含む開発状況を把握しながら開発することができ、円滑に効率よくソフトウェア開発できるようになる。   The programming device 800 according to the second embodiment centrally manages each document necessary for development, and when any document correction is performed, the corresponding part of another related document is corrected. As a result, a plurality of developers involved in software development can always develop while grasping the development situation including correction of other documents, and software development can be performed smoothly and efficiently.

以上の説明では、部品としてボタンの配置、および操作の条件と動作の設定例を用いて説明したが、ボタンに限らず各種部品、例えば、表示画面として時刻、アラーム、タイマ等についても同様に設定することができる。また、画面設計(GUI)の部品の設定に限らず、UIの設定に関する複数のドキュメントであっても同様に関連付けを行うことができるようになる。   In the above description, the buttons are arranged as components, and the operation conditions and operation setting examples are described. However, not only buttons but also various components, for example, time, alarm, timer, etc. are set as display screens in the same manner. can do. Further, not only the setting of screen design (GUI) components but also a plurality of documents related to the setting of UI can be similarly associated.

実施の形態2によれば、ソフトウェア開発において、GUI開発と、制御開発とを連携させることができ、一方の開発で作成したドキュメントを他方の開発に反映(作成)できるようになる。これにより、GUI開発と制御開発について、それぞれ個別のドキュメントを作成する手間を削減できるようになり、また、上述した開発手順が異なっても(入れ替わっても)開発が可能となる。これにより、ソフトウェア開発の工数とコスト削減が可能となる。   According to the second embodiment, in software development, GUI development and control development can be linked, and a document created in one development can be reflected (created) in the other development. As a result, it is possible to reduce the time and effort required to create individual documents for GUI development and control development, and development is possible even if the development procedures described above are different (changed). This makes it possible to reduce software development man-hours and costs.

そして、実施の形態2は、特定用途の組み込み機器の組み込みソフトウェア開発における各開発工程のドキュメントの連携に適している。これにより、GUI開発と制御開発それぞれで行っていた同様のドキュメント作成にかかる処理を省くことができ、組み込みソフトウェア開発を円滑かつ効率的に行えるようになる。   The second embodiment is suitable for linking documents of each development process in embedded software development of an embedded device for a specific application. As a result, it is possible to omit processing related to document creation that has been performed in GUI development and control development, and to perform embedded software development smoothly and efficiently.

以上のように、本発明は、組み込みソフトウェアおよびその開発に有用であり、特に、用途が限定された特定用途の組み込み機器に組み込まれる組み込みソフトウェアおよびその開発に有用である。   As described above, the present invention is useful for embedded software and the development thereof, and particularly useful for the embedded software incorporated in a specific-use embedded device whose use is limited and the development thereof.

101 仮想メモリインターフェース
800 プログラミング装置
804 記憶部
808 ディスプレイ
809 通信インターフェース
810 キーボード
811 マウス
812 スキャナ
813 プリンタ
814 バス
815 ネットワーク
1001 条件
1002 アクション
1901 仕様書編集画面
1911 設計書編集画面
A,B プログラム
DESCRIPTION OF SYMBOLS 101 Virtual memory interface 800 Programming device 804 Memory | storage part 808 Display 809 Communication interface 810 Keyboard 811 Mouse 812 Scanner 813 Printer 814 Bus 815 Network 1001 Condition 1002 Action 1901 Specification edit screen 1911 Design document edit screen A, B Program

Claims (5)

プログラミング装置のプロセッサにより、
組み込み機器が実行処理する組み込みソフトウェアの機能モジュール別の複数のプログラムの第1プログラムと第2プログラムのデータ送受用に、
前記第1プログラムが前記第2プログラムに渡すデータ領域の第1アドレスと、
前記第2プログラムが前記第1プログラムに渡すデータ領域の第2アドレスと、
前記組み込み機器のOSが提供する仮想メモリインターフェースに設定し、
前記仮想メモリインターフェースの仮想メモリ領域に予め、アドレスに対するデータの書き込みおよび読み込みで起動する前記第1プログラムおよび前記第2プログラムの関数を設定する、
処理を行い、
前記組み込み機器のCPUは、前記プログラミング装置により設定された、
前記第1プログラムにより、前記第2プログラムに渡すデータを前記仮想メモリインターフェースの前記第1アドレスに書き込み、
前記第2プログラムにより、前記第1アドレスに書き込まれた前記データを読み込み、所定の処理を行った戻り値のデータを前記第2アドレスに書き込み、
前記第1プログラムにより、前記第2アドレスに書き込まれた戻り値の前記データを読み出し、
記組み込み機器のCPUは、前記第1プログラムによって書き込まれたアドレスとデータに対応する前記第2プログラムの関数をコールし、
前記第2プログラムにより、前記書き込みされたデータを読み出す、
処理を行うことを特徴とする組み込みソフトウェア開発方法。
Depending on the processor of the programming device,
For data transmission / reception of a first program and a second program of a plurality of programs by function module of the embedded software executed by the embedded device ,
A first address of a data area that the first program passes to the second program;
A second address of a data area that the second program passes to the first program;
Is set in the virtual memory interface provided by the OS of the embedded device ,
The functions of the first program and the second program that are activated by writing and reading data with respect to an address are set in advance in the virtual memory area of the virtual memory interface.
Process
The CPU of the embedded device is set by the programming device,
By the first program, write the data to be passed to the second program to the first address of the virtual memory interface,
By the second program, it reads the data written to the first address, write data of the return value of performing predetermined processing on the second address,
By the first program, for reading the data of the written return value to the second address,
CPU before Symbol embedded devices, the function calls of the second program corresponding to the written address and data by the first program,
The written data is read by the second program.
Development process of embedded software and performs processing.
前記組み込み機器の前記CPUは、
前記第2プログラムの実行処理による、前記仮想メモリインターフェースの前記第1アドレスに対する前記データの書き込みを一定間隔で監視し、データの書き込みに応じて前記第1アドレスに書き込まれた前記データの読み込みを行う、
ことを特徴とする請求項1に記載の組み込みソフトウェア開発方法。
The CPU of the embedded device is
The writing of the data to the first address of the virtual memory interface by the execution process of the second program is monitored at regular intervals, and the data written to the first address is read according to the data writing. ,
Developing embedded software according to claim 1, characterized in that.
前記組み込み機器の前記OSは、前記仮想メモリインターフェースの前記第1アドレスに対する前記データの書き込みを前記第2プログラムに通知し、
前記第2プログラムは、前記OSからの通知に応じて前記第1アドレスに書き込まれた前記データの読み込みを行う、
ことを特徴とする請求項1に記載の組み込みソフトウェア開発方法。
The OS of the embedded device notifies the second program of writing of the data to the first address of the virtual memory interface,
The second program reads the data written to the first address in response to a notification from the OS.
Developing embedded software according to claim 1, characterized in that.
組み込み機器の組み込みソフトウェア開発するプログラミング装置において、
前記組み込み機器が実行処理する機能モジュール別の複数のプログラムの第1プログラムと第2プログラムのデータ送受用に、
前記第1プログラムが前記第2プログラムに渡すデータ領域の第1アドレスと、
前記第2プログラムが前記第1プログラムに渡すデータ領域の第2アドレスと、
前記組み込み機器のOSが提供する前記仮想メモリインターフェースに設定し、
前記仮想メモリインターフェースの仮想メモリ領域に予め、アドレスに対するデータの書き込みおよび読み込みで起動する前記第1プログラムおよび前記第2プログラムの関数を設定する、
処理を行う制御部を備えたことを特徴とするプログラミング装置。
In a programming device that develops embedded software for embedded devices ,
For data transmission / reception of a first program and a second program of a plurality of programs for each functional module executed by the embedded device ,
A first address of a data area that the first program passes to the second program;
A second address of a data area that the second program passes to the first program;
Is set in the virtual memory interface provided by the OS of the embedded device ,
The functions of the first program and the second program that are activated by writing and reading data with respect to an address are set in advance in the virtual memory area of the virtual memory interface.
A programming device comprising a control unit for performing processing .
組み込みソフトウェアの機能モジュール別の複数のプログラムの第1プログラムと第2プログラムのデータ送受用に、前記第1プログラムが前記第2プログラムに渡すデータ領域の第1アドレスと、前記第2プログラムが前記第1プログラムに渡すデータ領域の第2アドレスと、が予め設定された、OSが提供する仮想メモリインターフェースと、
前記仮想メモリインターフェースの仮想メモリ領域に予め、アドレスに対するデータの書き込みおよび読み込みで起動する前記第1プログラムおよび前記第2プログラムの関数の予めの設定に基づき、
前記第1プログラムにより、前記第2プログラムに渡すデータを前記仮想メモリインターフェースの前記第1アドレスに書き込み、
前記第2プログラムにより、前記第1アドレスに書き込まれた前記データを読み込み、所定の処理を行った戻り値のデータを前記第2アドレスに書き込み、
前記第1プログラムにより、前記第2アドレスに書き込まれた戻り値の前記データを読み出し、
前記第1プログラムによって書き込まれたアドレスとデータに対応する前記第2プログラムの関数をコールし、
前記第2プログラムにより、前記書き込みされたデータを読み出す、
処理を行う制御部を備えたことを特徴とする組み込み機器。
A first address of a data area that the first program passes to the second program for sending and receiving data of the first program and the second program of the plurality of programs for each function module of the embedded software, and the second program is the first program A virtual memory interface provided by the OS, in which a second address of a data area to be passed to one program is preset;
Based on the preset settings of the functions of the first program and the second program that are started by writing and reading data to and from the virtual memory area of the virtual memory interface in advance,
The first program writes data to be passed to the second program to the first address of the virtual memory interface,
The second program reads the data written to the first address, writes the data of the return value obtained by performing a predetermined process to the second address,
The first program reads the data of the return value written to the second address,
Calling a function of the second program corresponding to the address and data written by the first program;
The written data is read by the second program.
An embedded device comprising a control unit for processing .
JP2015530586A 2013-08-06 2013-08-06 Embedded software development method, programming device and embedded device Active JP6322631B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/071272 WO2015019421A1 (en) 2013-08-06 2013-08-06 Program development method for embedded software, programming device, and embedded device

Publications (2)

Publication Number Publication Date
JPWO2015019421A1 JPWO2015019421A1 (en) 2017-03-02
JP6322631B2 true JP6322631B2 (en) 2018-05-09

Family

ID=52460793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015530586A Active JP6322631B2 (en) 2013-08-06 2013-08-06 Embedded software development method, programming device and embedded device

Country Status (2)

Country Link
JP (1) JP6322631B2 (en)
WO (1) WO2015019421A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6438381B2 (en) * 2015-12-14 2018-12-12 日立オートモティブシステムズ株式会社 Electronic control unit
JP7149731B2 (en) * 2017-08-28 2022-10-07 ハネウェル・インターナショナル・インコーポレーテッド Systems and methods for using error correction and pipelining techniques for access-triggered computer architectures

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06314208A (en) * 1993-04-28 1994-11-08 Nippon Telegr & Teleph Corp <Ntt> Inter-process communication method
JPH1074149A (en) * 1996-08-30 1998-03-17 Oki Tsushin Syst Kk Method for data communication between software
JP4000718B2 (en) * 1999-06-24 2007-10-31 株式会社日立製作所 Program binding method and distributed processing system
JP2003173263A (en) * 2001-09-25 2003-06-20 Ricoh Co Ltd Interprocess communication function control system
JP2005250649A (en) * 2004-03-02 2005-09-15 Nec Corp Interprocess communication access control system and method

Also Published As

Publication number Publication date
JPWO2015019421A1 (en) 2017-03-02
WO2015019421A1 (en) 2015-02-12

Similar Documents

Publication Publication Date Title
JP7244176B2 (en) System and method for simplified graphical display design workflow in process control plants
EP3798817B1 (en) User interface logical and execution view navigation and shifting
US8843892B2 (en) Visual representations of code in application development environments
US8339416B2 (en) Image construction apparatus and computer-readable media
US20080005255A1 (en) Extensible robotic framework and robot modeling
US20200272558A1 (en) Automated layout testing for mobile device applications
JP5619328B1 (en) Sequence program creation support device
EP3798759A1 (en) Preferential automation view curation
JP2008276690A (en) Development system, server for development system, and development method
Niermann et al. Software framework concept with visual programming and digital twin for intuitive process creation with multiple robotic systems
JP6322631B2 (en) Embedded software development method, programming device and embedded device
JP4600601B1 (en) Debug support device, debug support method, and debug support program
JP6314141B2 (en) Document creation method and document creation apparatus for embedded software
CN117369811A (en) Method, device and storage medium for generating monitoring system software interface
Gill Using React Native for mobile software development
JP2012168900A (en) Programming device and program
JP2007065914A (en) Screen generation device and program, and recording medium recording program
US20130106863A1 (en) Program creating apparatus and image control system
EP4006715A1 (en) Creating a native app method and system
WO2015136607A1 (en) Software development assistance system, software development assistance method, and software development assistance program
JP2007257327A (en) Design support device, design support method and design support program
Calmez et al. Explorative authoring of Active Web content in a mobile environment
EP3798821B1 (en) Gui controller design assistance device, remote control system, and program
WO2024181125A1 (en) Analysis device, analysis method, and program
US11249732B2 (en) GUI controller design support device, system for remote control and program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180312

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180409

R150 Certificate of patent or registration of utility model

Ref document number: 6322631

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250