JP2012063826A - Program generation device, method and program, and remote management system - Google Patents

Program generation device, method and program, and remote management system Download PDF

Info

Publication number
JP2012063826A
JP2012063826A JP2010205344A JP2010205344A JP2012063826A JP 2012063826 A JP2012063826 A JP 2012063826A JP 2010205344 A JP2010205344 A JP 2010205344A JP 2010205344 A JP2010205344 A JP 2010205344A JP 2012063826 A JP2012063826 A JP 2012063826A
Authority
JP
Japan
Prior art keywords
node
information
program
processors
configuration information
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.)
Granted
Application number
JP2010205344A
Other languages
Japanese (ja)
Other versions
JP5605109B2 (en
Inventor
Kentaro Sasagawa
賢太郎 笹川
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2010205344A priority Critical patent/JP5605109B2/en
Publication of JP2012063826A publication Critical patent/JP2012063826A/en
Application granted granted Critical
Publication of JP5605109B2 publication Critical patent/JP5605109B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To easily generate a program executed in built-in equipment that comprises several processors and realizes a prescribed function.SOLUTION: A program generation device comprises: storage means storing in advance communication processing information which implements communication processing between several processors; configuration information generation means generating configuration information defining configuration of a prescribed function in built-in equipment by several nodes; node state information generation means generating node state information defining a state of a node and action information which is a behavior of the node in that state for each of several nodes defined in the configuration information; converting means converting the action information into a program code realizing a process corresponding to the behavior of the node in that node state; and program generation means generating several programs that correspond to each of the several processors based on the configuration information, the programs including the communication processing information stored in the storage means and the converted program code.

Description

本発明は、プログラム生成装置、方法及びプログラム並びに遠隔管理システムに関し、特に、複数のプロセッサを備え、所定の機能を実現する組み込み機器で実行可能なプログラムを生成するためのプログラム生成装置、方法及びプログラム並びに遠隔管理システムに関する。   The present invention relates to a program generation apparatus, method, and program, and a remote management system, and more particularly to a program generation apparatus, method, and program for generating a program that includes a plurality of processors and that can be executed by an embedded device that realizes a predetermined function. And a remote management system.

近年、自動車には、複数の制御系ECU(Electronic Control Unit)ばかりでなく、情報系ECUが搭載されている。ここで、制御系ECUとは、エンジン制御系、ボディー系などの自動車本体を制御するための電子制御装置を指す。自動車には、通常、数十〜百個の制御系ECUが搭載されている。また、情報系ECUとは、カーナビやAV(Audio Visual)システムなどのマルチメディア機能等の機能を制御するための電子制御装置を指す。そして、情報系ECUは、内部のプロセッサによりプログラムを実行することにより制御系ECUに比べて柔軟な制御が可能である。そのため、情報系ECUが複数の制御系ECUをプログラムにより制御する場合もある。   In recent years, not only a plurality of control system ECUs (Electronic Control Units) but also information system ECUs are mounted on automobiles. Here, the control system ECU refers to an electronic control device for controlling an automobile body such as an engine control system or a body system. In general, several tens to hundreds of control system ECUs are mounted on an automobile. The information system ECU refers to an electronic control device for controlling functions such as multimedia functions such as a car navigation system and an AV (Audio Visual) system. The information system ECU can be controlled more flexibly than the control system ECU by executing a program by an internal processor. Therefore, the information system ECU may control a plurality of control system ECUs by a program.

このようなことから、自動車の開発は、複数の開発チームやサプライヤにより行われることが一般的である。そして、今後、自動車には制御系ECUだけでなく、情報系ECUについても複数の構成となることが予想される。また、大手メーカでは、開発部門と保守部門が分かれており、開発と保守はそれぞれ別のエンジニアが行う場合が多い。   For these reasons, the development of automobiles is generally performed by a plurality of development teams and suppliers. In the future, not only the control system ECU but also the information system ECU is expected to have a plurality of configurations. Also, in major manufacturers, the development department and the maintenance department are separated, and development and maintenance are often performed by different engineers.

ここで、自動車等の各種機能をデバイスという単位で管理するためのデバイスの構成を定義するための技術としてDMT(Device Management Tree)がある。DMTは、デバイス管理を行うために使用される木構造データである。各ノードの名前は、URI(Uniform Resource Identifier)として表すことができる。そのため、ネットワーク上デバイス管理サーバや組み込み機器内のデバイス管理アプリは、URIを指定することでDMT内の任意のノードに対して読み書きや実行命令の発行を行うことができる。また、DMTにノードを動的に追加することも可能である。   Here, there is DMT (Device Management Tree) as a technique for defining a device configuration for managing various functions of an automobile or the like in units of devices. The DMT is tree structure data used for device management. The name of each node can be expressed as a URI (Uniform Resource Identifier). Therefore, the device management server on the network and the device management application in the embedded device can read / write and issue an execution command to any node in the DMT by specifying the URI. It is also possible to dynamically add nodes to the DMT.

また、DMTベースのデバイス管理技術としてOMA−DM(Open Mobile Alliance−Device Management)がある。OMA−DMは、3G携帯電話やWIMAX(Worldwide Interoperability for Microwave Access)で運用されている遠隔デバイス管理プロトコルの規格である。規格化団体は、OMA(Open Mobile Alliance)である。OMA−DMは、DMTに相当するMO(Management Object)という単位でデバイスの管理を行う。OMA−DMが提供する標準MOは、FUMO(遠隔ファームウエア更新)、SCOMO(遠隔SW更新)、DiagMon(遠隔診断)、LAWMO(遠隔セキュリティーロック)などがある。例えば、特許文献1には、モバイル・デバイスを管理するための技術が開示されている。   Moreover, there is OMA-DM (Open Mobile Alliance-Device Management) as a DMT-based device management technology. OMA-DM is a standard for a remote device management protocol used in 3G mobile phones and WIMAX (Worldwide Interoperability for Microwave Access). The standardization organization is OMA (Open Mobile Alliance). OMA-DM manages devices in units of MO (Management Object) corresponding to DMT. Standard MOs provided by OMA-DM include FUMO (remote firmware update), SCOMO (remote SW update), Diamon (remote diagnosis), and LAWMO (remote security lock). For example, Patent Document 1 discloses a technique for managing a mobile device.

また、現状の車載機の診断における状況としては、次のとおりである。まず、制御系ECUに関しては、サービスエンジニアがOBD2とよばれるコネクタに診断テスタを接続して診断や制御を行っている。また、情報系ECUに関しては、サービスセンタに持ち込み後、情報系ECUに接続されるストレージからログ情報を取得するやり方が現在主流である。   In addition, the current status of in-vehicle device diagnosis is as follows. First, regarding the control system ECU, a service engineer performs diagnosis and control by connecting a diagnostic tester to a connector called OBD2. As for the information system ECU, a method of acquiring log information from a storage connected to the information system ECU after being brought into a service center is currently mainstream.

そして、最近では、自動車の各種機能を管理するために、OMA−DMなどのDMTをサポートした遠隔デバイス管理プロトコルなどを使用した遠隔診断プログラムを情報系ECUに予め埋め込むか、製品出荷後に、新たに診断プログラムを情報系ECUに送り込むなどの手法が考えられている。後者は、出荷後に不具合に可能性があることがわかった特定の自動車に対して、特殊な診断プログラムを送り込む際に使用する。   Recently, in order to manage various functions of automobiles, a remote diagnosis program using a remote device management protocol that supports DMT such as OMA-DM is embedded in the information ECU in advance, or after the product is shipped, Methods such as sending a diagnostic program to the information system ECU are considered. The latter is used when sending a special diagnostic program to a specific vehicle that has been found to have a potential defect after shipment.

尚、特許文献2には、車両診断プログラムの作成や修正を行うための車両診断プログラム作成装置及び車両診断装置に関する技術が開示されている。特許文献3には、通信を行うためのプログラムの作成を行い、間違いがあった場合に、その原因の特定を行うためのツール装置に関する技術が開示されている。   Patent Document 2 discloses a technique relating to a vehicle diagnostic program creation device and a vehicle diagnostic device for creating and correcting a vehicle diagnostic program. Patent Document 3 discloses a technique related to a tool device for creating a program for performing communication and identifying the cause when there is an error.

特表2009−504041号公報Special table 2009-504041 gazette 特開2000−131194号公報JP 2000-131194 A 特開2009−020716号公報JP 2009-020716A

このように、複数の情報系ECUに対応する遠隔診断プログラムを作成するためには、広範な専門知識が必要となり、保守作業を行うサービスエンジニアが単独で行うには難易度が高いという問題点があった。その理由は、上述した診断プログラムは、現状、各々のECUに詳しい開発部門のエンジニアがプログラミングにより作成しなければならないからである。そのため、保守部門又はサービスセンタのサービスエンジニアが作成するには敷居が高い。   Thus, in order to create a remote diagnosis program corresponding to a plurality of information system ECUs, a wide range of specialized knowledge is required, and it is difficult for a service engineer who performs maintenance work to perform alone. there were. This is because the above-described diagnostic program must be created by programming by engineers in the development department familiar with each ECU. Therefore, the threshold is high for the service engineer of the maintenance department or service center to create.

ここで、複数の情報系ECUに対応する遠隔診断プログラムを作成するには、次のような知識が必要となる。まず、各情報系ECUで使われているプログラム言語やOS(Operating System)のシステムコール及びシステム固有の設計思想に関する知識が必要となる。例えば、第1の情報系ECUには、Linux(登録商標)及びC++言語の知識が必要となり、第2の情報系ECUには、T−kernel及びC言語の知識が必要となるといった具合である。さらに、OMA−DMプロトコル及び各情報系ECU間のDMT共有方法や制御系ECU向けの車載診断プロトコルや他ECUからのイベント取得方法などの知識も必要となる。   Here, in order to create a remote diagnosis program corresponding to a plurality of information system ECUs, the following knowledge is required. First, knowledge about the programming language used in each information system ECU, the OS (Operating System) system call, and the design concept unique to the system is required. For example, the first information system ECU requires knowledge of Linux (registered trademark) and C ++, and the second information system ECU requires knowledge of T-kernel and C language. . Furthermore, knowledge of the OMA-DM protocol and the DMT sharing method between each information system ECU, an in-vehicle diagnostic protocol for the control system ECU, and an event acquisition method from another ECU is also required.

尚、特許文献1乃至3にかかる技術では、複数の制御系ECUと複数の情報系ECUを備えた組み込み機器において、情報系ECU間の通信処理等を個別に実装しなければならず、上述した問題を解決することはできない。   In the techniques according to Patent Documents 1 to 3, in an embedded device including a plurality of control system ECUs and a plurality of information system ECUs, communication processing between the information system ECUs must be individually implemented. The problem cannot be solved.

本発明は、このような問題点を解決するためになされたものであり、複数のプロセッサを備え、所定の機能を実現する組み込み機器における広範な専門知識が必要とせずに、当該組み込み機器で実行されるプログラムを容易に生成するためのプログラム生成装置、方法及びプログラム並びに遠隔管理システムを提供することを目的とする。   The present invention has been made in order to solve such problems, and can be executed on an embedded device without a need for extensive expertise in an embedded device having a plurality of processors and realizing a predetermined function. An object of the present invention is to provide a program generation apparatus, method and program for easily generating a program to be executed, and a remote management system.

本発明の第1の態様にかかるプログラム生成装置は、複数のプロセッサが搭載され、所定の機能を実現する組み込み機器における当該複数のプロセッサ間の通信処理が実装されたプログラムモジュールである通信処理情報を予め記憶する記憶手段と、前記組み込み機器における前記所定の機能の構成を複数のノードにより定義した構成情報を生成する構成情報生成手段と、前記構成情報に定義された複数のノードごとに、ノードの状態と当該状態におけるノードの振る舞いであるアクション情報とを定義したノード状態情報を生成するノード状態情報生成手段と、前記ノード状態情報に定義されたアクション情報から、当該ノードの状態におけるノードの振る舞いに対応する処理を実現するプログラムコードへ変換する変換手段と、前記構成情報に基づいて、前記複数のプロセッサごとに対応した複数のプログラムを、前記記憶手段に記憶された前記通信処理情報と、前記変換したプログラムコードとを含めて生成するプログラム生成手段と、を備える。   The program generation apparatus according to the first aspect of the present invention includes communication processing information that is a program module in which a plurality of processors are mounted and communication processing between the plurality of processors in an embedded device that realizes a predetermined function. Storage means for storing in advance; configuration information generating means for generating configuration information in which the configuration of the predetermined function in the embedded device is defined by a plurality of nodes; and for each of the plurality of nodes defined in the configuration information, Node state information generating means for generating node state information that defines the state and action information that is the behavior of the node in the state, and the action information defined in the node state information, to the behavior of the node in the state of the node Conversion means for converting into program code for realizing corresponding processing, and the configuration Based on the distribution, a plurality of programs corresponding to each of the plurality of processors, comprising the communication processing information stored in the storage means, and a program generation means for generating including program code the converted.

本発明の第2の態様にかかるプログラム生成方法は、複数のプロセッサが搭載され、所定の機能を実現する組み込み機器における当該所定の機能の構成を複数のノードにより定義した構成情報を生成し、前記構成情報に定義された複数のノードごとに、ノードの状態と当該状態におけるノードの振る舞いであるアクション情報とを定義したノード状態情報を生成し、前記ノード状態情報に定義されたアクション情報から、当該ノードの状態におけるノードの振る舞いに対応する処理を実現するプログラムコードへ変換し、前記構成情報に基づいて、前記複数のプロセッサごとに対応した複数のプログラムを、前記複数のプロセッサ間の通信処理が実装されたプログラムモジュールである通信処理情報と、前記変換したプログラムコードとを含めて生成する。   According to a second aspect of the present invention, there is provided a program generation method for generating configuration information in which a plurality of processors are mounted and a configuration of a predetermined function in an embedded device that realizes a predetermined function is defined by a plurality of nodes. For each of the plurality of nodes defined in the configuration information, node state information that defines the node state and action information that is the behavior of the node in the state is generated, and from the action information defined in the node state information, Converts into program code that realizes processing corresponding to the behavior of the node in the node state, and implements a plurality of programs corresponding to each of the plurality of processors based on the configuration information in communication processing between the plurality of processors Communication processing information, which is a converted program module, and the converted program code. To generate Te.

本発明の第3の態様にかかるプログラム生成プログラムは、複数のプロセッサが搭載され、所定の機能を実現する組み込み機器における当該所定の機能の構成の複数のノードによる定義を受け付け、当該受け付けた定義に基づき構成情報を生成し、前記構成情報に含まれる複数のノードのいずれかの指定を受け付け、当該指定されたノードにおけるノードの状態と当該状態におけるノードの振る舞いであるアクション情報との定義を受け付け、当該受け付けた前記ノードの状態と前記アクション情報途に基づきノード状態情報を生成し、前記ノード状態情報に定義されたアクション情報から、当該ノードの状態におけるノードの振る舞いに対応する処理を実現するプログラムコードへ変換し、予め記憶部に格納された前記複数のプロセッサ間の通信処理が実装されたプログラムモジュールである通信処理情報を取得し、前記構成情報に基づいて、前記複数のプロセッサごとに対応した複数のプログラムを、前記取得した通信処理情報と、前記変換したプログラムコードとを含めて生成する処理をコンピュータに実行させるプログラムである。   The program generation program according to the third aspect of the present invention is provided with a plurality of processors and accepts definitions by a plurality of nodes of a configuration of the predetermined function in an embedded device that realizes the predetermined function, and the received definition Generating configuration information based on the above, accepting designation of any of a plurality of nodes included in the configuration information, accepting definitions of the state of the node in the designated node and the action information that is the behavior of the node in the state, Program code that generates node state information based on the received state of the node and the action information path, and realizes processing corresponding to the behavior of the node in the state of the node from the action information defined in the node state information Between the plurality of processors previously stored in the storage unit Communication processing information, which is a program module in which communication processing is implemented, is acquired, and a plurality of programs corresponding to each of the plurality of processors is acquired based on the configuration information, and the acquired communication processing information and the converted program code Is a program that causes a computer to execute processing to be generated.

本発明の第4の態様にかかる組み込み機器の遠隔管理システムは、外部と無線通信可能なプロセッサを含む複数のプロセッサを備え、所定の機能を実現する組み込み機器と、前記複数のプロセッサ間の通信処理が実装されたプログラムモジュールである通信処理情報を予め記憶する記憶手段と、前記組み込み機器における前記所定の機能の構成を複数のノードにより定義した構成情報を生成する構成情報生成手段と、前記構成情報に定義された複数のノードごとに、ノードの状態と当該状態におけるノードの振る舞いであるアクション情報とを定義したノード状態情報を生成するノード状態情報生成手段と、前記ノード状態情報に定義されたアクション情報から、当該ノードの状態におけるノードの振る舞いに対応する処理を実現するプログラムコードへ変換する変換手段と、前記構成情報に基づいて、前記複数のプロセッサごとに対応した複数のプログラムを、前記記憶手段に記憶された前記通信処理情報と、前記変換したプログラムコードとを含めて生成するプログラム生成手段と、無線通信により前記組み込み機器に対して制御を行う遠隔制御手段と、を備える遠隔管理装置と、を備え、前記遠隔制御手段は、前記生成した複数のプログラムを前記組み込み機器へ送信し、前記組み込み機器は、前記遠隔管理装置から受信した複数のプログラムのそれぞれを、前記複数のプロセッサのうち対応するプロセッサにおいて実行させ、前記複数のプロセッサは、各プロセッサが実行するプログラムに含まれる前記変換したプログラムコードに基づく処理を行い、当該プログラムに含まれる通信処理に基づいて、プロセッサ間の通信を行う。   An embedded device remote management system according to a fourth aspect of the present invention includes a plurality of processors including a processor capable of wireless communication with the outside, and a communication process between the embedded device that realizes a predetermined function and the plurality of processors. Storage means for storing in advance communication processing information, which is a program module in which is installed, configuration information generating means for generating configuration information in which the configuration of the predetermined function in the embedded device is defined by a plurality of nodes, and the configuration information Node state information generating means for generating node state information that defines a node state and action information that is a behavior of the node in the state for each of a plurality of nodes defined in the above, and an action defined in the node state information A program that realizes processing corresponding to the behavior of the node in the state of the node from the information Conversion means for converting into a program code, a plurality of programs corresponding to each of the plurality of processors based on the configuration information, including the communication processing information stored in the storage means and the converted program code A remote management device comprising: a program generating unit for generating; and a remote control unit for controlling the embedded device by wireless communication, wherein the remote control unit stores the generated plurality of programs in the embedded device. The embedded device causes each of the plurality of programs received from the remote management device to be executed by a corresponding processor among the plurality of processors, and the plurality of processors are included in a program executed by each processor. Processing based on the converted program code to be included in the program. Based on the communication processing, communication between processors.

本発明により、複数のプロセッサを備え、所定の機能を実現する組み込み機器における広範な専門知識が必要とせずに、当該組み込み機器で実行されるプログラムを容易に生成するためのプログラム生成装置、方法及びプログラム並びに遠隔管理システムを提供することができる。   According to the present invention, a program generation apparatus, method, and method for easily generating a program to be executed on an embedded device without requiring extensive expertise in the embedded device that includes a plurality of processors and realizes a predetermined function A program and a remote management system can be provided.

本発明の実施の形態1にかかるプログラム生成装置の構成を示すブロック図である。It is a block diagram which shows the structure of the program generation apparatus concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかるプログラム生成方法の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process of the program production | generation method concerning Embodiment 1 of this invention. 本発明の実施の形態2にかかる遠隔管理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the remote management system concerning Embodiment 2 of this invention. 本発明の実施の形態2にかかる遠隔管理方法の処理の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of a process of the remote management method concerning Embodiment 2 of this invention. 本発明の実施の形態3にかかる遠隔車載診断システムの構成を示すブロック図である。It is a block diagram which shows the structure of the remote vehicle-mounted diagnostic system concerning Embodiment 3 of this invention. 本発明の実施の形態3にかかるプログラム生成装置のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the program production | generation apparatus concerning Embodiment 3 of this invention. 本発明の実施の形態3にかかる車載組み込み機器の構成を示すブロック図である。It is a block diagram which shows the structure of the vehicle-mounted built-in apparatus concerning Embodiment 3 of this invention. 本発明の実施の形態3にかかる生成される車載診断プログラムの概念を示す図である。It is a figure which shows the concept of the vehicle-mounted diagnostic program produced | generated concerning Embodiment 3 of this invention. 本発明の実施の形態3にかかるDMTアクセス管理の例を示す図である。It is a figure which shows the example of the DMT access management concerning Embodiment 3 of this invention. 本発明の実施の形態3にかかるGUI開発ツールの概念を示す図である。It is a figure which shows the concept of the GUI development tool concerning Embodiment 3 of this invention. 本発明の実施の形態3にかかる状態モデル図及びアクション記述言語の例を示す図である。It is a figure which shows the example of the state model figure and action description language concerning Embodiment 3 of this invention. 本発明の実施の形態3にかかる情報系ECU33用の車載診断プログラムの処理の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of a process of the vehicle-mounted diagnostic program for information system ECU33 concerning Embodiment 3 of this invention. 本発明の実施の形態3にかかる情報系ECU32用の車載診断プログラムの処理の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of a process of the vehicle-mounted diagnostic program for information system ECU32 concerning Embodiment 3 of this invention. 本発明の実施の形態3にかかる状態モデル図の例を示す図である。It is a figure which shows the example of the state model figure concerning Embodiment 3 of this invention. 関連技術により設計した場合のクラス図の例を示す図である。It is a figure which shows the example of the class diagram at the time of designing by related technology. 関連技術により設計した場合のUMLモデリングの例を示す図である。It is a figure which shows the example of UML modeling at the time of designing by related technology. 本発明の実施の形態3にかかるDMTを用いたデバイス管理の概念を示す図である。It is a figure which shows the concept of the device management using DMT concerning Embodiment 3 of this invention. 関連技術を用いた場合のプログラム作成手順の概念を示す図である。It is a figure which shows the concept of the program creation procedure at the time of using related technology. 本発明の実施の形態3にかかるプログラム生成方法の概念を示す図である。It is a figure which shows the concept of the program production | generation method concerning Embodiment 3 of this invention.

以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。   Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings. In the drawings, the same elements are denoted by the same reference numerals, and redundant description will be omitted as necessary for the sake of clarity.

<発明の実施の形態1>
図1は、本発明の実施の形態1にかかるプログラム生成装置1の構成を示すブロック図である。プログラム生成装置1は、複数のプロセッサが搭載され、所定の機能を実現する組み込み機器(不図示)において実行可能なプログラムを生成するコンピュータシステムである。特に、プログラム生成装置1は、複数のプロセッサのそれぞれに対応した複数のプログラムを生成する。ここで、生成される複数のプログラムは、それぞれ、対応するプロセッサにおいて実行可能な機械語プログラム又は当該機械語プログラムにコンパイル可能なソースプログラムである。また、生成される複数のプログラムは、組み込み機器の所定の機能を実現するためのプログラムであるか、当該機能を検査又は診断等するための補助的な機能を実現するためのプログラムである。そして、生成される複数のプログラムは、既存の有線通信又は無線通信の手段を用いてプログラム生成装置1から組み込み機器へ転送されることにより、対応する各プロセッサ上で実行される。また、生成される複数のプログラムは、各プロセッサで実行される際に、プロセッサ間の通信を行うことができるものである。
<Embodiment 1 of the Invention>
FIG. 1 is a block diagram showing a configuration of a program generation device 1 according to the first exemplary embodiment of the present invention. The program generation device 1 is a computer system that generates a program that is mounted on a built-in device (not shown) that has a plurality of processors and implements a predetermined function. In particular, the program generation device 1 generates a plurality of programs corresponding to each of the plurality of processors. Here, each of the plurality of generated programs is a machine language program that can be executed by a corresponding processor or a source program that can be compiled into the machine language program. In addition, the plurality of generated programs are programs for realizing a predetermined function of the embedded device, or a program for realizing an auxiliary function for examining or diagnosing the function. The plurality of generated programs are executed on each corresponding processor by being transferred from the program generation apparatus 1 to the embedded device using existing wired communication or wireless communication means. In addition, the generated programs can communicate with each other when executed by each processor.

プログラム生成装置1は、記憶部11と、構成情報生成部12と、ノード状態情報生成部13と、変換部14と、プログラム生成部15とを備える。記憶部11は、複数のプロセッサ間の通信処理が実装されたプログラムモジュールである通信処理情報111を予め記憶する記憶装置である。構成情報生成部12は、組み込み機器における所定の機能の構成を複数のノードにより定義した構成情報を生成する。構成情報には、組み込み機器を物理的な構成要素に限らず、機能レベルの抽象的な構成要素も含まれる。例えば、機能名、部品名、属性、パラメータ値、計量値等をノードとして表現し、ノード間の関係を定義した情報である。ノード状態情報生成部13は、構成情報に定義された複数のノードごとに、ノードの状態と当該状態におけるノードの振る舞いであるアクション情報とを定義したノード状態情報を生成する。変換部14は、ノード状態情報に定義されたアクション情報から、当該ノードの状態におけるノードの振る舞いに対応する処理を実現するプログラムコードへ変換する。プログラム生成部15は、構成情報に基づいて、複数のプロセッサごとに対応した複数のプログラムを、記憶部11に記憶された通信処理情報111と、変換したプログラムコードとを含めて生成する。尚、構成情報生成部12と、ノード状態情報生成部13と、変換部14と、プログラム生成部15とは、これらの機能を実装したプログラム生成プログラムをCPU(Central Processing Unit)等の制御部により実行することにより実現することが可能である。尚、本発明の実施の形態1では、定義されたノードとプロセッサとの関連付けは、予め定義されているものとする。   The program generation device 1 includes a storage unit 11, a configuration information generation unit 12, a node state information generation unit 13, a conversion unit 14, and a program generation unit 15. The storage unit 11 is a storage device that stores in advance communication processing information 111 that is a program module in which communication processing between a plurality of processors is implemented. The configuration information generation unit 12 generates configuration information in which a configuration of a predetermined function in the embedded device is defined by a plurality of nodes. The configuration information includes not only physical components of embedded devices but also abstract components at the function level. For example, the function name, the part name, the attribute, the parameter value, the measurement value, and the like are expressed as nodes, and the information defines the relationship between the nodes. The node state information generation unit 13 generates, for each of a plurality of nodes defined in the configuration information, node state information that defines the node state and action information that is the behavior of the node in the state. The conversion unit 14 converts the action information defined in the node state information into a program code that realizes processing corresponding to the behavior of the node in the state of the node. The program generation unit 15 generates a plurality of programs corresponding to each of the plurality of processors, including the communication processing information 111 stored in the storage unit 11 and the converted program code, based on the configuration information. Note that the configuration information generation unit 12, the node state information generation unit 13, the conversion unit 14, and the program generation unit 15 execute a program generation program that implements these functions by a control unit such as a CPU (Central Processing Unit). It can be realized by executing. In the first embodiment of the present invention, it is assumed that the association between the defined node and the processor is defined in advance.

図2は、本発明の実施の形態1にかかるプログラム生成方法の処理の流れを示すフローチャートである。まず、構成情報生成部12は、構成情報を生成する(S11)。このとき、構成情報生成部12は、機能の構成に関する情報や複数のノードの指定を外部から受け付けるようにしてもよい。次に、ノード状態情報生成部13は、構成情報を参照し、複数のノードのそれぞれに対応した複数のノード状態情報を生成する(S12)。このとき、ノード状態情報生成部13は、ノードの状態とアクション情報とを外部から受け付けるようにしてもよい。   FIG. 2 is a flowchart showing a flow of processing of the program generation method according to the first exemplary embodiment of the present invention. First, the configuration information generation unit 12 generates configuration information (S11). At this time, the configuration information generation unit 12 may receive information related to the function configuration and designation of a plurality of nodes from the outside. Next, the node state information generation unit 13 refers to the configuration information and generates a plurality of node state information corresponding to each of the plurality of nodes (S12). At this time, the node state information generation unit 13 may accept the node state and action information from the outside.

そして、変換部14は、ノード状態情報に定義されたアクション情報から、当該ノードの状態におけるノードの振る舞いに対応する処理を実現するプログラムコードへ変換する(S13)。変換されるプログラムコードは、機械語のコードでなくとも、少なくともソースコードであればよい。但し、変換部14は、アクション情報をノードに予め関連付けられたプロセッサに対応するプログラムコードに変換するものとする。また、変換部14は、複数のノード状態情報のそれぞれに定義されたアクション情報ごとに異なるプログラムコードへ変換する。   Then, the conversion unit 14 converts the action information defined in the node state information into a program code that realizes processing corresponding to the behavior of the node in the state of the node (S13). The program code to be converted may be at least source code, not machine code. However, the conversion unit 14 converts the action information into a program code corresponding to a processor associated with the node in advance. The conversion unit 14 converts the action information defined for each of the plurality of node state information into different program codes.

その後、プログラム生成部15は、構成情報に基づいて、複数のプロセッサごとに対応した複数のプログラムを生成する(S14)。つまり、プログラム生成装置1は、組み込み機器に対する一つの構成情報から複数のプログラムを生成する。その際、プログラム生成部15は、記憶部11から通信処理情報111を読み出して、各プログラムに含める。つまり、生成されたプログラムは、他のプロセッサとの通信処理が実装されたこととなる。また、プログラム生成部15は、ステップS13により変換したプログラムコードを、ノードに対応するプログラムに含める。つまり、アクション情報として定義することにより、プロセッサに応じたプログラムコードが実装されたこととなる。   Thereafter, the program generation unit 15 generates a plurality of programs corresponding to the plurality of processors based on the configuration information (S14). That is, the program generation device 1 generates a plurality of programs from one piece of configuration information for the embedded device. At that time, the program generation unit 15 reads the communication processing information 111 from the storage unit 11 and includes it in each program. That is, the generated program is implemented with communication processing with other processors. Further, the program generation unit 15 includes the program code converted in step S13 in the program corresponding to the node. That is, by defining the action information, the program code corresponding to the processor is implemented.

このように、本発明の実施の形態1により、構成情報やノード状態情報といった組み込み機器の所定の機能を表現する情報を用いて、複数のプロセッサのそれぞれで実行可能な複数のプログラムを生成することができる。一方、サービスエンジニア等は、所定の機能についての専門知識があるが、複数のプロセッサで実行可能なプログラミングについての広範な専門知識を備えていないことが一般的である。そのため、本発明の実施の形態1により、サービスエンジニア等であっても、複数のプロセッサを備え、所定の機能を実現する組み込み機器で実行されるプログラムを容易に生成することができる。   As described above, according to the first embodiment of the present invention, a plurality of programs that can be executed by each of a plurality of processors are generated using information representing a predetermined function of an embedded device such as configuration information and node state information. Can do. On the other hand, a service engineer or the like generally has expertise on a predetermined function, but generally does not have extensive expertise on programming that can be executed by a plurality of processors. Therefore, according to the first embodiment of the present invention, even a service engineer or the like can easily generate a program that includes a plurality of processors and is executed by an embedded device that realizes a predetermined function.

<発明の実施の形態2>
図3は、本発明の実施の形態2にかかる遠隔管理システム10の構成を示すブロック図である。尚、本発明の実施の形態2は、上述した発明の実施の形態1にかかるプログラム生成装置1を用いて実現した例について説明する。尚、発明の実施の形態1と同一の構成要素について、同一の符号を付し、詳細な説明を省略する。
<Embodiment 2 of the Invention>
FIG. 3 is a block diagram showing a configuration of the remote management system 10 according to the second exemplary embodiment of the present invention. In the second embodiment of the present invention, an example realized by using the program generation apparatus 1 according to the first embodiment of the present invention will be described. In addition, the same code | symbol is attached | subjected about the component same as Embodiment 1 of invention, and detailed description is abbreviate | omitted.

遠隔管理システム10は、遠隔管理装置1aと組み込み機器2とを備える。遠隔管理システム10は、遠隔管理装置1aを用いて、組み込み機器2の各種機能を遠隔管理するための仕組である。遠隔管理装置1aは、プログラム生成装置1の構成要素に加え、遠隔制御部16をさらに備える。遠隔制御部16は、無線通信により組み込み機器に対して制御を行う。具体的には、遠隔制御部16は、プログラム生成部15により生成された複数のプログラムを無線通信により組み込み機器2へ転送する。また、遠隔制御部16は、組み込み機器2内の各プログラムに対して各種制御の指示を行う。これにより、遠隔管理装置1aは、組み込み機器2を遠隔管理する。   The remote management system 10 includes a remote management device 1a and an embedded device 2. The remote management system 10 is a mechanism for remotely managing various functions of the embedded device 2 using the remote management device 1a. The remote management device 1a further includes a remote control unit 16 in addition to the components of the program generation device 1. The remote control unit 16 controls the embedded device by wireless communication. Specifically, the remote control unit 16 transfers a plurality of programs generated by the program generation unit 15 to the embedded device 2 by wireless communication. In addition, the remote control unit 16 gives various control instructions to each program in the embedded device 2. Thereby, the remote management device 1a remotely manages the embedded device 2.

組み込み機器2は、プロセッサ21a、21b、・・・及び21nを備える。また、組み込み機器2は、プロセッサ21a、21b、・・・及び21nの少なくとも一部を用いて所定の機能を実現する。また、プロセッサ21aは、外部との無線通信機能を有する。プロセッサ21aは、少なくとも遠隔制御部16との無線通信が可能である。   The embedded device 2 includes processors 21a, 21b,. The embedded device 2 realizes a predetermined function by using at least a part of the processors 21a, 21b,. The processor 21a has a function of wireless communication with the outside. The processor 21a is capable of wireless communication with at least the remote control unit 16.

図4は、本発明の実施の形態2にかかる遠隔管理方法の処理の流れを示すシーケンス図である。まず、遠隔管理装置1aは、図2のステップS11〜S14と同等の処理により、プロセッサごとの複数のプログラムを生成する。すなわち、遠隔管理装置1aは、プロセッサ21a、21b、・・・及び21nのそれぞれに対応する機械語プログラムを生成する。   FIG. 4 is a sequence diagram showing a processing flow of the remote management method according to the second exemplary embodiment of the present invention. First, the remote management device 1a generates a plurality of programs for each processor by processing equivalent to steps S11 to S14 in FIG. That is, the remote management device 1a generates a machine language program corresponding to each of the processors 21a, 21b,.

次に、遠隔制御部16は、組み込み機器2のプロセッサ21aに対して、複数のプログラムを送信する(S15)。そして、プロセッサ21aは、遠隔管理装置1aから受信した複数のプログラムのそれぞれを、対応するプロセッサに送信する(S16)。つまり、プロセッサ21aは、プロセッサ21bにはプロセッサ21b上で実行可能なプログラムを、プロセッサ21nにはプロセッサ21n上で実行可能なプログラムを、それぞれ送信する。   Next, the remote control unit 16 transmits a plurality of programs to the processor 21a of the embedded device 2 (S15). Then, the processor 21a transmits each of the plurality of programs received from the remote management device 1a to the corresponding processor (S16). That is, the processor 21a transmits a program executable on the processor 21b to the processor 21b and a program executable on the processor 21n to the processor 21n.

そして、プロセッサ21a、21b、・・・及び21nは、受信した各プログラムを実行する(S17)。プロセッサ21a、21b、・・・及び21nは、各プロセッサが実行するプログラムに含まれるプログラムコードに基づく処理を行う。ここで、プログラムコードは、ステップS13によりアクション情報に基づいてプロセッサごとに変換されたものである。そのため、各プロセッサは、ノードの状態におけるノードの振る舞いに相当する処理を実行することができる。   Then, the processors 21a, 21b,..., And 21n execute the received programs (S17). The processors 21a, 21b,..., And 21n perform processing based on a program code included in a program executed by each processor. Here, the program code is converted for each processor based on the action information in step S13. Therefore, each processor can execute processing corresponding to the behavior of the node in the state of the node.

また、プロセッサ21a、21b、・・・及び21nは、各プロセッサが実行するプログラムに含まれる通信処理に基づいて、プロセッサ間の通信を行う(S18)。例えば、プロセッサ21aと21bとは、プロセッサ間で相互のノードに対してイベントを発生させ、また、イベントに対する応答を行う。   Further, the processors 21a, 21b,..., And 21n perform communication between the processors based on the communication process included in the program executed by each processor (S18). For example, the processors 21a and 21b generate an event for each node between the processors, and respond to the event.

このように、本発明の実施の形態2により、発明の実施の形態1と同様の効果を奏することができる。   Thus, according to the second embodiment of the present invention, the same effects as those of the first embodiment of the present invention can be achieved.

<発明の実施の形態3>
複数の情報系ECUに対応する遠隔診断プログラムを作成するために、MDA(登録商標)(Model Driven Architecture)を用いて、遠隔診断の仕様から診断プログラムを自動生成する手法が考えられる。なぜなら、MDAを導入することにより、プログラム設計やコーディング技術などの専門知識の敷居を下げることが可能であるからである。
<Third Embodiment of the Invention>
In order to create a remote diagnosis program corresponding to a plurality of information system ECUs, a method of automatically generating a diagnosis program from a remote diagnosis specification using MDA (registered trademark) (Model Drive Architecture) can be considered. This is because by introducing MDA, it is possible to lower the threshold of specialized knowledge such as program design and coding technology.

ここで、MDAとは、モデルとして表現される構造的仕様のガイドラインを提供するソフトウェア開発手法である。MDAを用いると、GUI開発ツールを用いて記述されたモデルから、機械語プログラムを自動生成することが可能となる。MDAを用いた開発ツールとしては、例えば、BridgePointやRhapsodyなどがあり、組み込み系ソフトウェア開発に用いられている。また、MDAには、SQLの構文を一部取り入れたアクション記述言語をサポートしたExecutable UML(Unified Modeling Language)という手法がある。   Here, MDA is a software development technique that provides guidelines for structural specifications expressed as models. When MDA is used, a machine language program can be automatically generated from a model described using a GUI development tool. Development tools using MDA include, for example, BridgePoint and Rhapsody, and are used for embedded software development. In addition, MDA has a method called Executable UML (Unified Modeling Language) that supports an action description language that partially incorporates the syntax of SQL.

図18は、MDAを用いた場合のプログラム作成手順の概念を示す図である。まず、オブジェクト指向分析(Object−Oriented Analysis)(以下、OOAと呼ぶ)に相当する作業として、診断仕様に基づくUMLのモデリングを行う(S91)。次に、オブジェクト指向設計(Object−Oriented Design)(以下、OODと呼ぶ)に相当する作業として、情報系ECUごとに必要な機能についてのUMLのモデリングを行う(S92及びS93)。その後、各情報系ECUに対応したモデルコンパイラにより、各モデルからソースコードSC1及びSC2を生成する(S94及びS95)。   FIG. 18 is a diagram showing a concept of a program creation procedure when MDA is used. First, as an operation corresponding to object-oriented analysis (hereinafter referred to as OOA), UML modeling based on diagnostic specifications is performed (S91). Next, as an operation corresponding to object-oriented design (hereinafter referred to as OOD), UML modeling is performed for functions required for each information system ECU (S92 and S93). Thereafter, source codes SC1 and SC2 are generated from each model by a model compiler corresponding to each information system ECU (S94 and S95).

しかしながら、複数の情報系ECUに対応する遠隔診断プログラムを作成するために、単純に、MDAを用いるだけでは、下記に示すような問題があり、サービスエンジニアが単独で行うには難易度が高いという問題は、解消しない。   However, simply using MDA to create a remote diagnosis program corresponding to a plurality of information system ECUs has the following problems, and it is difficult for a service engineer to do it alone. The problem does not go away.

(1)関連する情報系ECUの数だけ、UML等で記述されたモデルを生成し、各々のモデルコンパイラでコンパイルする必要がある。つまり、ステップS91(OOA相当)後、OOD相当のフェーズで、クラスライブラリと各情報系ECUに割り当てられた機能を考慮したモデルに、作り直さなければならない。また、情報系ECU毎に分割されたモデル間の連携方法や管理センタ(例えば、図3の遠隔管理装置1a)との通信方法も、別途考える必要がある。   (1) It is necessary to generate as many models described in UML as the number of related information system ECUs and compile them with each model compiler. In other words, after step S91 (equivalent to OOA), it is necessary to recreate the model in consideration of the functions assigned to the class library and each information system ECU in a phase equivalent to OOD. In addition, it is necessary to consider separately the cooperation method between models divided for each information system ECU and the communication method with the management center (for example, the remote management device 1a in FIG. 3).

(2)オブジェクトのライフサイクルの管理(オブジェクトやイベント生成、削除など)は、モデル作成者が記述しなければならない。これは、MDAのようなオブジェクト指向設計手法を、強引にデバイス管理に持ち込んだ場合に発生する矛盾である。   (2) Object life cycle management (object and event creation, deletion, etc.) must be described by the model creator. This is a contradiction that occurs when an object-oriented design method such as MDA is forcibly brought into device management.

(3)情報系ECU間の通信処理に関しては自動生成できず、従来の手書きによる処理を実装しなければならない。   (3) Communication processing between information system ECUs cannot be automatically generated, and conventional handwritten processing must be implemented.

(4)さらに、情報系ECU間の連携を考えた場合、モデル作成時のアクション記述が複雑になってしまい、結局、MDAを導入する利点がなくなってしまう。つまり、管理センタと無線通信するECUの割り当てを定義しなければならない。また、管理センタから受信したイベントを基に他の情報系ECUに割り振るしくみや、他の情報系ECUからのアクションを管理センタにフィードバックするしくみを考えなければならない。   (4) Furthermore, when considering cooperation between information system ECUs, the action description at the time of model creation becomes complicated, and eventually the advantage of introducing MDA is lost. In other words, it is necessary to define the allocation of ECUs that communicate wirelessly with the management center. Further, it is necessary to consider a mechanism for allocating to other information system ECUs based on events received from the management center and a mechanism for feeding back actions from other information system ECUs to the management center.

そこで、本発明の実施の形態3では、図19に示すようなプログラム生成方法の概念について説明する。図19では、まず、OOAと呼ぶに相当する作業として、設計対象の組み込み機器に関するDMTに基づくモデリングを行う(S41)。そのため、サービスエンジニアは、DMT構成と、制御系ECUや各センサーと情報系ECUの割り当てを把握していれば、プログラムを生成することができる。   Therefore, in the third embodiment of the present invention, the concept of a program generation method as shown in FIG. 19 will be described. In FIG. 19, first, modeling based on DMT related to an embedded device to be designed is performed as work equivalent to calling OOA (S41). Therefore, the service engineer can generate a program if the DMT configuration and the allocation of the control system ECU, each sensor, and the information system ECU are known.

次に、DMTのノード構成及び各ノードの振る舞いを基に、組み込み装置内に搭載される複数のECUごとのソースコードSC1及びSC2を生成する(S42)。このとき、ノードと情報系ECUとの割り当てを基に、自動的にモデルが分割される。その後、各々の情報系ECUに対応したモデルコンパイラで別々にビルドされる。   Next, based on the node configuration of the DMT and the behavior of each node, source codes SC1 and SC2 are generated for each of a plurality of ECUs mounted in the embedded device (S42). At this time, the model is automatically divided based on the assignment between the node and the information system ECU. Thereafter, it is built separately by a model compiler corresponding to each information system ECU.

これにより、ソースコードSC1及びSC2をコンパイルすることにより、組み込み装置内の各ECUで実行される機械語プログラムを生成する。ここで、生成される機械語プログラムには、管理センタのサーバと組み込み装置間の通信処理及び組み込み装置内に搭載される複数のECUの連携処理が含まれる。また、本発明の実施の形態3には、自動生成された機械語プログラムの構成方法、並びに、これらに対応したGUI開発ツール及びモデルコンパイラも含まれる。このように、本発明の実施の形態3により、サービスエンジニアが情報系ECU間の連携や管理センタとの通信に関するロジックを記述する必要がなくなる。   Thus, by compiling the source codes SC1 and SC2, a machine language program to be executed by each ECU in the embedded device is generated. Here, the generated machine language program includes communication processing between the server of the management center and the embedded device, and cooperation processing of a plurality of ECUs mounted in the embedded device. Further, the third embodiment of the present invention includes a method for configuring an automatically generated machine language program, and a GUI development tool and a model compiler corresponding to them. As described above, according to the third embodiment of the present invention, it is not necessary for the service engineer to describe the logic related to the communication between the information ECUs and the communication with the management center.

本発明の実施の形態3は、上述した発明の実施の形態1にかかるプログラム生成装置1に改良を加えることでも実現することができる。その場合、以下のような構成を有することとなる。構成情報生成部12は、各ノードに複数のプロセッサのいずれかを割り当てた割当情報を含めて構成情報を生成し、プログラム生成部15は、構成情報に含まれる割当情報に基づいて、各ノードを割り当てられた複数のプロセッサのいずれかに分類して複数の分類後構成情報を生成し、生成された複数の分類後構成情報から複数のプログラムを生成する。   The third embodiment of the present invention can also be realized by improving the program generating apparatus 1 according to the first embodiment of the present invention described above. In that case, it has the following configuration. The configuration information generation unit 12 generates configuration information including allocation information in which one of a plurality of processors is allocated to each node, and the program generation unit 15 assigns each node based on the allocation information included in the configuration information. A plurality of post-classification configuration information is generated by classification into any of a plurality of assigned processors, and a plurality of programs are generated from the generated plurality of post-classification configuration information.

また、複数のプロセッサのそれぞれに対応したプログラムを生成する複数のモデルコンパイラをさらに備え、プログラム生成部15は、分類後構成情報から対応するプロセッサを特定し、特定したプロセッサに対応するモデルコンパイラを選択して、選択したモデルコンパイラを用いて分類後構成情報から当該特定したプロセッサで実行可能なプログラムを生成することが望ましい。   In addition, a plurality of model compilers for generating a program corresponding to each of the plurality of processors is further provided, and the program generation unit 15 specifies a corresponding processor from the classified configuration information, and selects a model compiler corresponding to the specified processor Then, it is desirable to generate a program that can be executed by the identified processor from the post-classification configuration information using the selected model compiler.

さらに、プログラム生成部15は、複数のプログラムを生成する際に、ノードアクセスに対応する非同期イベントをさらに含めることが望ましい。また、構成情報生成部12は、構成情報としてDMTを用いることが望ましい。さらに、ノード状態情報生成部13は、ノード状態情報に、複数のプロセッサ上で動作するアプリケーションの処理結果を加工するルールを関連付けるとよい。また、ノード状態情報生成部13は、ノード状態情報に、組み込み機器に搭載され、かつ、複数のプロセッサにより制御される制御装置との通信を行うためのルールを関連付けるとよい。   Furthermore, it is desirable that the program generation unit 15 further includes an asynchronous event corresponding to node access when generating a plurality of programs. In addition, the configuration information generation unit 12 desirably uses DMT as the configuration information. Furthermore, the node state information generation unit 13 may associate the node state information with a rule for processing a processing result of an application operating on a plurality of processors. In addition, the node state information generation unit 13 may associate a rule for performing communication with a control device mounted on an embedded device and controlled by a plurality of processors, with the node state information.

図5は、本発明の実施の形態3にかかる遠隔車載診断システム100の構成を示すブロック図である。遠隔車載診断システム100は、開発用PC101と、管理センタの管理サーバ102と、車載組み込み機器103とを備える。遠隔車載診断システム100は、車載組み込み機器103における各種機能を遠隔に診断するための仕組みである。尚、遠隔車載診断システム100は、主に、車載組み込み機器をターゲットとした遠隔デバイス管理システムの一部であるが、本発明の実施の形態3はこれに限定されない。   FIG. 5 is a block diagram showing a configuration of the remote in-vehicle diagnosis system 100 according to the third embodiment of the present invention. The remote in-vehicle diagnosis system 100 includes a development PC 101, a management server 102 in the management center, and an in-vehicle embedded device 103. The remote in-vehicle diagnosis system 100 is a mechanism for remotely diagnosing various functions in the in-vehicle embedded device 103. The remote in-vehicle diagnosis system 100 is mainly a part of a remote device management system that targets on-vehicle embedded devices, but Embodiment 3 of the present invention is not limited to this.

開発用PC101は、GUI開発ツールを用いて、車載診断プログラムを作成する(S51)。車載診断プログラムは、車載組み込み機器103に搭載された複数のプロセッサに対応する複数の機械語プログラムである。具体的には、開発用PC101は、ユーザからDMTのノードの構成、状態及びアクション情報等を受け付けて、車載組み込み機器103における一つのDMTのモデル情報を生成する。そして、開発用PC101は、DMTベースのモデル情報に加え、ログフィルタリングルール言語や制御系ECU向け車載診断言語などの複数の抽象度の高いスクリプト言語を生成する。   The development PC 101 creates an in-vehicle diagnostic program using a GUI development tool (S51). The in-vehicle diagnosis program is a plurality of machine language programs corresponding to a plurality of processors mounted on the in-vehicle embedded device 103. Specifically, the development PC 101 receives the configuration, state, action information, and the like of the DMT node from the user, and generates one DMT model information in the in-vehicle embedded device 103. In addition to the DMT-based model information, the development PC 101 generates a plurality of script languages with a high degree of abstraction such as a log filtering rule language and an on-board diagnostic language for a control system ECU.

開発用PC101は、生成したDMTのモデル情報及びスクリプト言語に基づき、各ECUに対応したモデルコンパイラを使用して、ECU毎に対応したソースプログラムを生成する。つまり、開発用PC101は、一つのDMTから車載組み込み機器103に搭載された複数のプロセッサに対応する複数のソースプログラムを生成する。その後、開発用PC101は、生成した複数のソースプログラムをバイナリ形式の複数の機械語プログラムに変換する。このようにして、開発用PC101は、複数の車載診断プログラムを作成する。   The development PC 101 generates a source program corresponding to each ECU by using a model compiler corresponding to each ECU based on the generated DMT model information and script language. That is, the development PC 101 generates a plurality of source programs corresponding to a plurality of processors mounted on the in-vehicle embedded device 103 from one DMT. Thereafter, the development PC 101 converts the plurality of generated source programs into a plurality of binary machine language programs. In this way, the development PC 101 creates a plurality of in-vehicle diagnostic programs.

そして、開発用PC101は、複数の車載診断プログラムを管理サーバ102へアップロードする(S52)。管理サーバ102は、アップロードされた複数の車載診断プログラムを、OMA−DMなどの無線を使用した遠隔デバイス管理プロトコルを使用して、無線通信網(不図示)を介して車載組み込み機器103へ送信する(S53)。   Then, the development PC 101 uploads a plurality of in-vehicle diagnosis programs to the management server 102 (S52). The management server 102 transmits a plurality of uploaded in-vehicle diagnostic programs to the in-vehicle embedded device 103 via a wireless communication network (not shown) using a remote device management protocol using radio such as OMA-DM. (S53).

車載組み込み機器103は、受信した複数の車載診断プログラムを、対応するプロセッサ上で実行する。各プロセッサは、車載診断プログラムの実行により取得される診断情報を基に、管理サーバ102や車載組み込み機器103自身に対してアクションを行う(S54)。また、管理サーバ102は、車載診断プログラムから取得される情報を基に、車載診断プログラムへの指示を行うことで、車載組み込み機器103の遠隔診断を行う。   The in-vehicle embedded device 103 executes the received plurality of in-vehicle diagnostic programs on the corresponding processor. Each processor performs an action on the management server 102 and the in-vehicle embedded device 103 itself based on the diagnosis information acquired by executing the in-vehicle diagnosis program (S54). Further, the management server 102 performs remote diagnosis of the in-vehicle embedded device 103 by giving an instruction to the in-vehicle diagnosis program based on information acquired from the in-vehicle diagnosis program.

図6は、本発明の実施の形態3にかかるプログラム生成装置の一例である開発用PC101のハードウェア構成を示すブロック図である。開発用PC101は、CPU(Central Processing Unit)110と、RAM(Random Access Memory)120と、ROM(Read Only Memory)130と、IF部140と、ハードディスク150とを備える。   FIG. 6 is a block diagram showing a hardware configuration of the development PC 101 which is an example of the program generation apparatus according to the third embodiment of the present invention. The development PC 101 includes a CPU (Central Processing Unit) 110, a RAM (Random Access Memory) 120, a ROM (Read Only Memory) 130, an IF unit 140, and a hard disk 150.

また、ハードディスク150は、不揮発性記憶装置である。ハードディスク150は、OS151、GUI開発ツール152、DMT管理部153、ライブラリ154、フィルタリングルール155、変換ルール156、モデルコンパイラ157a〜157c、ソースプログラム158a〜158c及び機械語プログラム159a〜159cを格納する。   The hard disk 150 is a nonvolatile storage device. The hard disk 150 stores an OS 151, a GUI development tool 152, a DMT management unit 153, a library 154, a filtering rule 155, a conversion rule 156, model compilers 157a to 157c, source programs 158a to 158c, and machine language programs 159a to 159c.

GUI開発ツール152は、発明の実施の形態1にかかるプログラム生成プログラムを含み、GUIによりDMTによる構成情報、ノード状態情報の設計を支援するためのソフトウェアである。DMT管理部153は、通信処理情報111を含むプログラムモジュールであり、例えば、オブジェクト指向言語におけるクラス等である。ライブラリ154は、車載診断プログラムに用いられる各種ライブラリ関数、クラスライブラリ、API(Application Programing Interface)等である。フィルタリングルール155は、ログをフィルタリングするためのルールを定義した情報である。変換ルール156は、制御系ECUとの通信に用いられる車載診断プロトコルとの変換に関するルールを定義した情報である。モデルコンパイラ157a〜157cは、それぞれ、DMTのモデル情報又は分割されたモデル情報から所定のプロセッサに対応するソースコードを生成するためのコンパイラである。尚、モデルコンパイラ157a〜157cは、後述する車載組み込み機器103が備える3つの情報系ECUのそれぞれに対応するものである。ソースプログラム158a〜158cは、それぞれ、モデルコンパイラ157a〜157cにより生成されたソースプログラムである。機械語プログラム159a〜159cは、それぞれ、ソースプログラム158a〜158cからコンパイルされたバイナリ形式のプログラムである。   The GUI development tool 152 includes software for generating a program according to the first embodiment of the invention, and is software for supporting the design of configuration information and node state information by DMT using the GUI. The DMT management unit 153 is a program module including the communication processing information 111, and is, for example, a class in an object-oriented language. The library 154 includes various library functions, class libraries, API (Application Programming Interface), and the like used for the in-vehicle diagnosis program. The filtering rule 155 is information defining a rule for filtering a log. The conversion rule 156 is information defining a rule relating to conversion with the in-vehicle diagnosis protocol used for communication with the control system ECU. Each of the model compilers 157a to 157c is a compiler for generating source code corresponding to a predetermined processor from DMT model information or divided model information. The model compilers 157a to 157c correspond to three information system ECUs included in the in-vehicle embedded device 103 described later. The source programs 158a to 158c are source programs generated by the model compilers 157a to 157c, respectively. The machine language programs 159a to 159c are binary programs compiled from the source programs 158a to 158c, respectively.

CPU110は、開発用PC101における各種処理、RAM120、ROM130、IF部140及びハードディスク150へのアクセス等を制御する。IF部140は、管理サーバ102との通信を行う。   The CPU 110 controls various processes in the development PC 101, access to the RAM 120, the ROM 130, the IF unit 140, the hard disk 150, and the like. The IF unit 140 communicates with the management server 102.

開発用PC101は、CPU110が、RAM120、ROM130又はハードディスク150に格納されたOS151、GUI開発ツール152等を読み込み、実行する。これにより、開発用PC101は、構成情報生成部12、ノード状態情報生成部13、変換部14及びプログラム生成部15として機能し、車載診断プログラムを生成することができる。   In the development PC 101, the CPU 110 reads and executes the OS 151, the GUI development tool 152, and the like stored in the RAM 120, the ROM 130, or the hard disk 150. Accordingly, the development PC 101 functions as the configuration information generation unit 12, the node state information generation unit 13, the conversion unit 14, and the program generation unit 15, and can generate an in-vehicle diagnosis program.

尚、管理サーバ102のハードウェア構成は、車載組み込み機器103との無線通信機能を有するものであればよく、公知技術により実現可能であるため、図示及び説明を省略する。   Note that the hardware configuration of the management server 102 only needs to have a wireless communication function with the in-vehicle embedded device 103 and can be realized by a known technique, and thus illustration and description thereof are omitted.

図7は、本発明の実施の形態3にかかる車載組み込み機器103の構成を示すブロック図である。まず、車載組み込み機器103の概要について説明する。車載組み込み機器103は、無線通信モジュール34を搭載している。そのため、管理サーバ102は、無線通信ネットワーク(不図示)を経由して、車載組み込み機器103の遠隔診断や遠隔操作が可能である。管理サーバ102は、車載組み込み機器103を単一のデバイスとして認識する。よって、車載組み込み機器103のデバイス管理には、単一のDMTを用いることができる。   FIG. 7 is a block diagram showing a configuration of the in-vehicle embedded device 103 according to the third embodiment of the present invention. First, an outline of the in-vehicle embedded device 103 will be described. The in-vehicle embedded device 103 is equipped with a wireless communication module 34. Therefore, the management server 102 can perform remote diagnosis and remote operation of the in-vehicle embedded device 103 via a wireless communication network (not shown). The management server 102 recognizes the in-vehicle embedded device 103 as a single device. Therefore, a single DMT can be used for device management of the in-vehicle embedded device 103.

車載組み込み機器103は、複数の情報系ECU31〜33及び複数の制御系ECU37及び38を備える。そのため、車載診断プログラムは、単一のDMTで表現可能であるが、複数のECUにまたがる処理を行う必要がある。   The in-vehicle embedded device 103 includes a plurality of information system ECUs 31 to 33 and a plurality of control system ECUs 37 and 38. For this reason, the in-vehicle diagnosis program can be expressed by a single DMT, but it is necessary to perform processing across a plurality of ECUs.

制御系ECU37及び38は、管理サーバ102からの制御及び管理対象である。制御系ECU37及び38は、管理サーバ102と直接通信できない情報系ECU33に接続されている。   The control system ECUs 37 and 38 are control and management objects from the management server 102. The control system ECUs 37 and 38 are connected to an information system ECU 33 that cannot communicate directly with the management server 102.

情報系ECU31は、無線通信機能があり、車載診断プログラムには、車載LANn1を介した情報系ECU間通信の実装が必要となる。   The information system ECU 31 has a wireless communication function, and the in-vehicle diagnosis program needs to implement communication between information system ECUs via the in-vehicle LANn1.

情報系ECU33と制御系ECU37及び38は、CAN(Controller Area Network)などの非IP(Internet Protocol)系の車載LANBに接続されており、管理サーバ102からのDMTアクセスは、制御系ECU専用の通信プロトコルに変換する必要がある。   The information system ECU 33 and the control system ECUs 37 and 38 are connected to a non-IP (Internet Protocol) in-vehicle LANB such as a CAN (Controller Area Network), and DMT access from the management server 102 is a communication dedicated to the control system ECU. Need to convert to protocol.

管理サーバ102から制御及び管理する車載センサー35及び36(GPS(Global Positioning System)、ジャイロセンサなど)やアプリケーションは、複数の情報系ECU上に分散している。   In-vehicle sensors 35 and 36 (GPS (Global Positioning System), gyro sensor, etc.) and applications controlled and managed from the management server 102 are distributed on a plurality of information system ECUs.

続いて、車載組み込み機器103の詳細な構成について説明する。車載組み込み機器103は、情報系ECU31〜33、無線通信モジュール34、センサー35及び36、制御系ECU37及び38、車載LANn1及びn2を備える。情報系ECU31〜33は、車載LANn1を介して相互に接続されている。ここで、車載LANn1は、MOST(Media Oriented Systems Transport)などのマルチメディア系の情報系ECU向けLANである。また、MOSTには、MAMAC(MOST Asynchronous Medium Access Control)というTCP/IP通信をサポートした仕様もある。ここでは、車載LANn1は、MAMACによるTCP/IP通信を可能とする。   Next, a detailed configuration of the in-vehicle embedded device 103 will be described. The in-vehicle embedded device 103 includes information system ECUs 31 to 33, a wireless communication module 34, sensors 35 and 36, control system ECUs 37 and 38, and in-vehicle LANs n1 and n2. Information system ECU31-33 is mutually connected via vehicle-mounted LANn1. Here, the in-vehicle LAN n1 is a LAN for multimedia information system ECUs such as MOST (Media Oriented Systems Transport). MOST also has a specification that supports TCP / IP communication called MAMAC (MOST Asynchronous Medium Access Control). Here, the in-vehicle LANn1 enables TCP / IP communication by MAMAC.

情報系ECU31は、無線通信モジュール34及びセンサー35を制御する。情報系ECU31は、無線通信モジュール34経由で管理サーバ102と通信を行うことが可能である。無線通信モジュール34は、例えば、通信方式としてW−CDMA 3G携帯電話、デバイス管理用の通信プロトコルとしてOMA DMを使用することができる。   The information system ECU 31 controls the wireless communication module 34 and the sensor 35. The information system ECU 31 can communicate with the management server 102 via the wireless communication module 34. The wireless communication module 34 can use, for example, a W-CDMA 3G mobile phone as a communication method and OMA DM as a communication protocol for device management.

また、情報系ECU31には、デバイス管理プロトコルアダプタ411、DMTアクセスIF412、アプリケーション413、DMT管理アプリ416、アプリケーション417及び418が予めインストールされている。そして、情報系ECU31は、管理サーバ102から無線通信モジュール34を介してDMTアクセスIF414及び車載診断プログラム415を受信して実行する。尚、DMTアクセスIF414は、開発用PC101又は管理サーバ102により付加されるものとする。   In addition, a device management protocol adapter 411, a DMT access IF 412, an application 413, a DMT management application 416, and applications 417 and 418 are installed in the information system ECU 31 in advance. The information system ECU 31 receives and executes the DMT access IF 414 and the in-vehicle diagnosis program 415 from the management server 102 via the wireless communication module 34. Note that the DMT access IF 414 is added by the development PC 101 or the management server 102.

情報系ECU32は、アプリケーション421、DMTアクセスIF422及びアプリケーション423が予めインストールされている。そして、情報系ECU32は、情報系ECU31からDMTアクセスIF424及び車載診断プログラム425を受信して実行する。   In the information system ECU 32, an application 421, a DMT access IF 422, and an application 423 are installed in advance. The information system ECU 32 receives the DMT access IF 424 and the in-vehicle diagnosis program 425 from the information system ECU 31 and executes them.

情報系ECU33は、センサー36を制御する。また、情報系ECU33は、車載LANn2を介して制御系ECU37及び38を制御する。車載LANn2は、CANなどの制御系ECU向けのLANである。情報系ECU33は、CANなどの制御系ECU向けLANやKWP2000などの診断プロトコルを使用して制御系ECU37及び38にアクセスすることが可能である。そして、情報系ECU32は、情報系ECU31からDMTアクセスIF431及び車載診断プログラム432を受信して実行する。   The information system ECU 33 controls the sensor 36. The information system ECU 33 controls the control system ECUs 37 and 38 via the in-vehicle LANn2. The in-vehicle LANn2 is a LAN for a control system ECU such as CAN. The information system ECU 33 can access the control system ECUs 37 and 38 using a diagnostic protocol such as LAN for control system ECUs such as CAN or KWP2000. The information system ECU 32 receives the DMT access IF 431 and the in-vehicle diagnosis program 432 from the information system ECU 31 and executes them.

車載診断プログラム415、425及び432は、開発用PC101により生成され、管理サーバ102から配信されたアプリケーションである。   The in-vehicle diagnosis programs 415, 425, and 432 are applications generated by the development PC 101 and distributed from the management server 102.

情報系ECU31内のDMT管理アプリ416は、車載のDMTを管理するアプリケーションであり、管理サーバ102又は他の情報系ECU(32又は33)からのDMTへのアクセスを可能にする。   The DMT management application 416 in the information system ECU 31 is an application for managing the in-vehicle DMT, and enables access to the DMT from the management server 102 or another information system ECU (32 or 33).

DMTアクセスIF412、414、422、424及び431は、情報系ECU上で動作するアプリケーションから、DMT管理アプリ416内のDMTにアクセスするためのAPIである。   The DMT access IFs 412, 414, 422, 424, and 431 are APIs for accessing the DMT in the DMT management application 416 from an application operating on the information system ECU.

情報系ECU32及び33内のDMTアクセスIF422、424又は431とリンクされたアプリケーション423、車載診断プログラム425又は432は、TCP/IPのソケット通信などを用いて、情報系ECU31内のDMT管理アプリ416と通信を行う。   The application 423 linked to the DMT access IF 422, 424 or 431 in the information system ECUs 32 and 33 and the in-vehicle diagnosis program 425 or 432 are connected to the DMT management application 416 in the information system ECU 31 using TCP / IP socket communication or the like. Communicate.

一方、DMTアクセスIF412、414、422、424又は431とリンクされないアプリケーション417、418及び421は、ログ出力という形で車載診断プログラム415、425及び432にイベントを通知することができる。   On the other hand, the applications 417, 418, and 421 that are not linked to the DMT access IFs 412, 414, 422, 424, or 431 can notify the in-vehicle diagnostic programs 415, 425, and 432 of the event in the form of log output.

情報系ECU31上のデバイス管理プロトコルアダプタ411は、OMA DMなどのデバイス管理プロトコルが実装され、管理サーバ102とDMT管理アプリ416間のインタフェースをとる。   A device management protocol adapter 411 on the information system ECU 31 is mounted with a device management protocol such as OMA DM, and serves as an interface between the management server 102 and the DMT management application 416.

ここで、本発明の実施の形態3の特徴を以下の(1)〜(3)の3つに分けて説明する。   Here, the features of Embodiment 3 of the present invention will be described by dividing them into the following three (1) to (3).

(1)本発明の実施の形態3は、DMTのノード構成及び各ノードの振る舞いを基に、組み込み装置内の複数のプロセッサ上で実行される機械語プログラムを、自動生成する仕組みということができる。   (1) Embodiment 3 of the present invention can be said to be a mechanism for automatically generating a machine language program to be executed on a plurality of processors in an embedded device based on the node configuration of the DMT and the behavior of each node. .

(1−1)DMTの任意のノードに独自の状態を持たせることが可能であり、ノード自体の状態及び当該状態におけるノードの振る舞いを状態モデル図として記述可能となる。尚、状態モデル図については、図11を用いて後述する。状態モデル図上に記載されたノードの状態は、ノードの振る舞いを記述するための特別な状態である。そのため、OMA−DMなどのデバイス管理プロトコルで定義されるノードの状態とは異なる。すなわち、各ノードに対して同時に複数の状態を持たせることができる。   (1-1) An arbitrary node of the DMT can have a unique state, and the state of the node itself and the behavior of the node in the state can be described as a state model diagram. The state model diagram will be described later with reference to FIG. The state of the node described on the state model diagram is a special state for describing the behavior of the node. Therefore, it is different from a node state defined by a device management protocol such as OMA-DM. That is, each node can have a plurality of states at the same time.

また、MDAでは、UML図を基にコード生成をしていた。しかし、本発明の実施の形態3では、DMTのモデル(DMTの構成図および、ノード単位の状態モデル図)を基にコード生成を行う。MDAとの差異は、GUI開発ツールやDMT管理部で吸収する。それは、本発明の実施の形態3がDMTを使用した遠隔デバイス管理に対象を絞り、それらに特化した構造であるためである。   In MDA, code is generated based on the UML diagram. However, in the third embodiment of the present invention, code generation is performed based on the DMT model (DMT configuration diagram and node-based state model diagram). Differences from MDA are absorbed by the GUI development tool and DMT manager. This is because the third embodiment of the present invention focuses on remote device management using DMT and has a structure specialized for them.

MDAでは、クラス図毎にアクション記述可能な状態モデル図が作成される。しかし、本発明の実施の形態3では、DMTのノード単位に状態モデル図が作成される。仮に、UMLに強引に対応させた場合、各ノードは、ノードクラスのサブクラスにも相当し(図15)、また、インスタンスにも相当する。すなわち、モデル設計時のノードの定義と同時に、クラス及びインスタンス相当のものが同時に生成されることになる。また、各ノードは、状態モデル図の振る舞いとなるアクション記述言語上では、自らクラスとしてもインスタンスとしても扱うことが可能となり、一般的なUMLやMDAの考え方と大きく異なる。   In MDA, a state model diagram capable of describing actions is created for each class diagram. However, in Embodiment 3 of the present invention, a state model diagram is created for each DMT node. If the UML is forced to correspond, each node corresponds to a subclass of the node class (FIG. 15) and also corresponds to an instance. That is, the class and instance equivalents are generated at the same time as the node definition at the time of model design. In addition, each node can be handled as either a class or an instance on the action description language, which is the behavior of the state model diagram, and is greatly different from general UML and MDA concepts.

DMTベースのモデル導入により、MDAとの決定的な違いが生じる。それは、インスタンス生成、削除などオブジェクト指向のライフサイクル管理に相当するロジックをモデル上で各ノードに対して表記する必要がなくなることである。   The introduction of a DMT-based model makes a crucial difference from MDA. That is, it is not necessary to describe logic corresponding to object-oriented life cycle management such as instance creation and deletion for each node on the model.

本発明の実施の形態3では、モデル設計時のノード定義と同時に、開発ツールがノードアクセス(OMA−DMのGet、Replace、Execなど)に対応する非同期イベントを、定義されたノードに対して、自動的に割り当てることを可能とする。   In the third embodiment of the present invention, at the same time as the node definition at the time of model design, an asynchronous event corresponding to node access (such as OMA-DM Get, Replace, Exec, etc.) is defined for the defined node. It is possible to assign automatically.

さらに、本発明の実施の形態3により、管理サーバからのノード追加コマンド(OMA−DMのAddなど)受信により、ノードの実体(インスタンス)を実機上で、自動的に生成/活性状態にすることを可能とする。   Furthermore, according to the third embodiment of the present invention, a node entity (instance) is automatically generated / activated on a real machine by receiving a node addition command (such as OMA-DM Add) from the management server. Is possible.

(1−2)複数のプロセッサを備える車載組み込み機器103の場合、DMT内の任意のノードを特定の情報系ECUに割り当てることが可能である。この情報を基に、異なるプロセッサ向け診断プログラムのアクション記述部のソースコードを同時に生成する。これにより、単一のDMTから複数の情報系ECUのコードを自動生成することが可能となる。   (1-2) In the case of the in-vehicle embedded device 103 having a plurality of processors, any node in the DMT can be assigned to a specific information system ECU. Based on this information, the source code of the action description part of the diagnostic program for different processors is generated simultaneously. This makes it possible to automatically generate codes for a plurality of information system ECUs from a single DMT.

モデルコンパイラのモデル分割機能が、ノードとプロセッサの割り当て情報を考慮し、モデルを複数に分割する。分割されたモデルは、それぞれのプロセッサに対応したモデルコンパイラのソースコード変換機能によって、モデルからソースコードに変換される。これにより、プロセッサ間の通信を意識することなく、診断プログラムを作成することが可能となる。   The model dividing function of the model compiler divides the model into a plurality of parts in consideration of the node and processor allocation information. The divided model is converted from the model to the source code by the source code conversion function of the model compiler corresponding to each processor. This makes it possible to create a diagnostic program without being conscious of communication between processors.

また、プロセッサ間通信に関する処理は、後述する図8の「DMT管理部」および「DMTアクセスI/F」内で隠蔽される。よって、情報系ECU31のアクション記述部は、情報系ECU32に割り当てられたノードにアクセス(=読み書き)するだけで、ECU間の通信を行うことが可能となる。   Further, the processing related to the inter-processor communication is concealed in “DMT management unit” and “DMT access I / F” in FIG. Therefore, the action description part of the information system ECU 31 can perform communication between ECUs only by accessing (= reading / writing) the node assigned to the information system ECU 32.

(1−3)DMTベースの状態モデル図上で、アクション記述言語によるノードの振る舞いを記述することが可能となる。さらに、車載診断記述言語(ASAM−MCD2 ODXなど)で記載されたスクリプト内で定義されたパラメータと対応するイベント及びDMTへのアクセスイベント(同期または非同期)を生成可能となる。   (1-3) It is possible to describe the behavior of a node in an action description language on a DMT-based state model diagram. Furthermore, it is possible to generate an event corresponding to a parameter defined in a script written in an in-vehicle diagnosis description language (such as ASAM-MCD2 ODX) and an access event (synchronous or asynchronous) to the DMT.

(2)本発明の実施の形態3は、自動生成された機械語プログラムの構成方法ということができる。   (2) Embodiment 3 of the present invention can be said to be a method for configuring an automatically generated machine language program.

(2−1)生成される機械語プログラムは、「DMT管理部」「アクション記述部」から構成され、車載組み込み機器103上で実行されるバイナリプログラムである。このバイナリプログラムには、追加機能として「制御系ECU車載診断プロトコル変換部」「ログフィルタリング処理部」を含めることができる。   (2-1) The generated machine language program is a binary program that is composed of a “DMT management unit” and an “action description unit” and is executed on the in-vehicle embedded device 103. This binary program can include a “control system ECU on-board diagnostic protocol conversion unit” and a “log filtering processing unit” as additional functions.

図8は、本発明の実施の形態3にかかる生成される車載診断プログラムの概念を示す図である。DMTd5は、開発用PC101において生成された診断対象の車載組み込み機器103をデバイス管理するための木構データである。そして、開発用PC101は、DMTd5内の各ノード処理を異なる情報系ECUに割り当てることができる。ここでは、DMTd5内の各ノードのうち、情報系ECU33に割り当てられたノード群を分割DMTd51、情報系ECU32に割り当てられたノード群を分割DMTd52とする。開発用PC101は、GUI開発ツールにより、DMTd5から分割DMTd51と分割DMTd52とに分割する。   FIG. 8 is a diagram showing the concept of the in-vehicle diagnostic program generated according to the third embodiment of the present invention. The DMTd5 is tree structure data for device management of the diagnosis target in-vehicle embedded device 103 generated in the development PC 101. The development PC 101 can assign each node process in the DMTd5 to a different information system ECU. Here, among each node in the DMTd5, a node group assigned to the information system ECU 33 is a divided DMTd51, and a node group assigned to the information system ECU 32 is a divided DMTd52. The development PC 101 divides the DMTd5 into the divided DMTd51 and the divided DMTd52 by the GUI development tool.

DMTアクセスIF521及びアプリケーション522は、分割DMTd52に対応する情報系ECU32のアプリケーションである。情報系ECU32のアプリケーションは、管理サーバ102又は他の情報系ECUからの通知を、DMTイベントとしてDMTアクセスI/F経由で受信することが可能である。尚、DMTアクセスIF521は、プラグインI/Fであってもよい。   The DMT access IF 521 and the application 522 are applications of the information system ECU 32 corresponding to the divided DMTd 52. The application of the information system ECU 32 can receive a notification from the management server 102 or another information system ECU as a DMT event via the DMT access I / F. The DMT access IF 521 may be a plug-in I / F.

車載診断プログラム51は、分割DMTd51に対応する情報系ECU33用の車載診断プログラムである。車載診断プログラム51は、DMTアクセスIF511、DMT管理部512、アクション記述部513、ログフィルタリング処理部514、フィルタリングルール515、変換ルール516及び制御系ECU車載診断プロトコル変換部517を備える。   The in-vehicle diagnosis program 51 is an in-vehicle diagnosis program for the information system ECU 33 corresponding to the divided DMTd 51. The in-vehicle diagnosis program 51 includes a DMT access IF 511, a DMT management unit 512, an action description unit 513, a log filtering processing unit 514, a filtering rule 515, a conversion rule 516, and a control system ECU in-vehicle diagnosis protocol conversion unit 517.

アクション記述部513は、状態モデル図に定義されたアクション情報に基づいて生成されるプログラムコードに相当する部分である。アクション記述部513は、DMTのモデル情報から自動生成された機械語で構成される機能部である。ここでは、DMT管理部512やログフィルタリング処理部514などで発生したイベントに対するアクションが記述される。アクション記述部513から、同一プロセッサ内で動作する動的リンク可能なライブラリ関数53を関数呼び出しすることができる。   The action description part 513 is a part corresponding to a program code generated based on action information defined in the state model diagram. The action description part 513 is a functional part composed of a machine language automatically generated from DMT model information. Here, an action for an event that occurs in the DMT management unit 512, the log filtering processing unit 514, or the like is described. From the action description section 513, a function of a library function 53 that can be dynamically linked and operates in the same processor can be called.

アクション記述部513からDMTのノードにアクセスすることにより、無線ネットワーク上の管理センタや情報系ECU上で動作する他のアプリケーションに対するフィードバックを行うことが可能となる。フィードバック処理対象のアプリケーションは、例えば、DMTアクセスIF511がリンクされたものである。   By accessing the DMT node from the action description unit 513, it is possible to provide feedback to other applications operating on the management center or information system ECU on the wireless network. For example, the DMT access IF 511 is linked to the feedback processing target application.

DMT管理部512、制御系ECU車載診断プロトコル変換部517及びログフィルタリング処理部514は、ライブラリとして提供されたものである。これにより、車載組み込み機器103特有のロジックが隠蔽される。そのため、サービスエンジニアが記述するのは、アクション記述部513を生成する元となるアクション情報のみとなる。そして、各機能部は、互いにリンクされ一つのバイナリとなる。   The DMT management unit 512, the control system ECU in-vehicle diagnosis protocol conversion unit 517, and the log filtering processing unit 514 are provided as libraries. Thereby, the logic peculiar to the in-vehicle embedded device 103 is concealed. Therefore, the service engineer describes only the action information that is the source for generating the action description part 513. And each function part is linked mutually and becomes one binary.

DMT管理部512は、分割DMTd51とアクション記述部513とのインタフェースをとる機能部である。そして、DMT管理部512は、アクション記述部513に対し、イベントを発生させることが可能である。また、DMT管理部512において、DMTへのアクセス方法の違いを吸収することも可能である。   The DMT management unit 512 is a functional unit that provides an interface between the divided DMTd 51 and the action description unit 513. Then, the DMT management unit 512 can cause the action description unit 513 to generate an event. In addition, the DMT management unit 512 can absorb differences in access methods to the DMT.

ここで、DMTへのアクセス方法には、下記の2つの方法があり、本発明の実施の形態3により、1つのスクリプトで複数のDMTアクセス手段を表現することが可能となった。   Here, there are the following two methods for accessing the DMT. According to the third embodiment of the present invention, a plurality of DMT access means can be expressed by one script.

(方法1)管理サーバ102又は情報系ECU内のローカルのプログラムによるDMTアクセス後、直ぐにDMT自体にアクセス内容が反映される。これにより、高いリアルタイム性が必要な車載診断などで使用することができる。   (Method 1) After the DMT access by the local program in the management server 102 or the information system ECU, the access content is immediately reflected in the DMT itself. Thereby, it can be used for in-vehicle diagnosis that requires high real-time performance.

(方法2)管理サーバ102又は情報系ECU内ローカルのプログラムによるDMTアクセス後、直ぐにはDMTにアクセス内容が反映されず、アクセス内容は、コミット命令で反映される。また、ロールバック命令にも対応する。例えば、1つの診断機能が、関連する複数のノードから構成される場合、ノード間の同期をとる場合に使用することができる。   (Method 2) Immediately after the DMT access by the local program in the management server 102 or the information system ECU, the access content is not reflected in the DMT, but the access content is reflected in the commit command. It also supports rollback instructions. For example, when one diagnosis function is composed of a plurality of related nodes, it can be used for synchronization between nodes.

これは、OMA−DMなどのプロトコルをサポートしたデバイス管理システムからのDMTのノードに対するアクセス(GETやREPLACE命令あるいは、COMMITやROLLBACK命令)を基に、DMT管理部512がノードアクセスとは異なるタイミングでアクション記述部513に対する非同期イベントを生成するからである。   This is because the DMT management unit 512 differs from the node access based on the access to the DMT node (GET or REPLACE command or COMMIT or ROLLBACK command) from the device management system that supports the protocol such as OMA-DM. This is because an asynchronous event for the action description part 513 is generated.

図9は、本発明の実施の形態3にかかる方法2におけるDMTアクセス管理の例を示す図である。ここでは、DMT管理アプリ416から車載診断プログラム51へのDMTアクセスを例として挙げる。車載診断プログラム51には、少なくともDMT管理部512、ノードデータ管理部512a及びアクション記述部513が含まれるものとする。   FIG. 9 is a diagram showing an example of DMT access management in the method 2 according to the third embodiment of the present invention. Here, a DMT access from the DMT management application 416 to the in-vehicle diagnosis program 51 is taken as an example. The in-vehicle diagnosis program 51 includes at least a DMT management unit 512, a node data management unit 512a, and an action description unit 513.

まず、DMT管理アプリ416は、DMT管理部512へノードAに対するREPLACE命令を送信する(S301)。そして、DMT管理部512は、ノードデータ管理部512aへその旨を通知する(S302)。次に、DMT管理アプリ416は、DMT管理部512へノードBに対するREPLACE命令を送信する(S303)。そして、DMT管理部512は、ノードデータ管理部512aへその旨を通知する(S304)。但し、この時点で、DMT管理部512は、アクション記述部513へイベント通知を行っていない。   First, the DMT management application 416 transmits a REPLACE command for the node A to the DMT management unit 512 (S301). Then, the DMT management unit 512 notifies the node data management unit 512a to that effect (S302). Next, the DMT management application 416 transmits a REPLACE command for the node B to the DMT management unit 512 (S303). Then, the DMT management unit 512 notifies the node data management unit 512a to that effect (S304). However, at this time, the DMT management unit 512 does not notify the action description unit 513 of an event.

そして、DMT管理アプリ416は、DMT管理部512へCOMMIT命令を送信する(S305)。これに伴い、ノードデータ管理部512aは、アクション記述部513へノードAに対するREPLACE命令を送信する(S306)。続いて、ノードデータ管理部512aは、アクション記述部513へノードBに対するREPLACE命令を送信する(S307)。つまり、アクション記述部513は、COMMIT命令をトリガにノードA及びBを新しいデータに更新する。尚、更新前のデータは、DMT管理部512内でバックアップされる。   Then, the DMT management application 416 transmits a COMMIT command to the DMT management unit 512 (S305). Accordingly, the node data management unit 512a transmits a REPLACE command for the node A to the action description unit 513 (S306). Subsequently, the node data management unit 512a transmits a REPLACE command for the node B to the action description unit 513 (S307). That is, the action description unit 513 updates the nodes A and B with new data using the COMMIT instruction as a trigger. The data before update is backed up in the DMT manager 512.

その後、DMT管理アプリ416は、DMT管理部512へROLLBACK命令を送信する(S308)。これに伴い、ノードデータ管理部512aは、アクション記述部513へノードAに対するREPLACE命令を送信する(S309)。続いて、ノードデータ管理部512aは、アクション記述部513へノードBに対するREPLACE命令を送信する(S310)。つまり、アクション記述部513は、ROLLBACK命令をトリガにノードA及びBを更新前のデータに戻す。   Thereafter, the DMT management application 416 transmits a ROLLBACK command to the DMT management unit 512 (S308). Accordingly, the node data management unit 512a transmits a REPLACE command for the node A to the action description unit 513 (S309). Subsequently, the node data management unit 512a transmits a REPLACE command for the node B to the action description unit 513 (S310). That is, the action description unit 513 returns the nodes A and B to the data before update using the ROLLBACK command as a trigger.

図8に戻って説明する。DMT管理部512を用いることにより、サービスエンジニアが、管理センタや他の情報系ECUとの通信処理を一切記述する必要がなくなった。   Returning to FIG. By using the DMT management unit 512, it is not necessary for the service engineer to describe any communication processing with the management center or other information system ECUs.

制御系ECU車載診断プロトコル変換部517は、生成されたイベントを、車載診断記述言語で記載された変換ルール516を基に、KWP2000などの制御系ECU向けの車載診断プロトコルを用いたシーケンス処理に変換する機能部である。制御系ECU車載診断プロトコル変換部517は、D−PDU API541を介してMVCI Protocol Stack & 車載LANドライバ542と接続されている。そして、D−PDU API541は、CAN等の車載LANにより制御系ECU551〜553と接続されている。   The control system ECU in-vehicle diagnosis protocol conversion unit 517 converts the generated event into a sequence process using an in-vehicle diagnosis protocol for the control system ECU such as KWP2000 based on the conversion rule 516 described in the in-vehicle diagnosis description language. It is a functional part to do. The control system ECU in-vehicle diagnosis protocol conversion unit 517 is connected to the MVCI Protocol Stack & in-vehicle LAN driver 542 via the D-PDU API 541. The D-PDU API 541 is connected to the control system ECUs 551 to 553 by an in-vehicle LAN such as CAN.

ログ収集機能56は、複数の情報系ECU上で動作するアプリケーションのログを収集する。ログフィルタリング処理部514は、複数のプロセッサからログ収集機能56により収集されたログを、フィルタリングルール515を用いて解析し、アクション記述部513に対するイベントを発生させる機能部である。尚、ログをフィルタリングする技術については、公知なものであるため、詳細な説明を省略する。   The log collection function 56 collects logs of applications that operate on a plurality of information system ECUs. The log filtering processing unit 514 is a functional unit that analyzes logs collected by a log collecting function 56 from a plurality of processors using a filtering rule 515 and generates an event for the action description unit 513. Since the technique for filtering the log is a known technique, detailed description thereof is omitted.

(3)本発明の実施の形態3は、上記手段に対応したGUI開発ツール及びモデルコンパイラということができる。   (3) Embodiment 3 of the present invention can be referred to as a GUI development tool and a model compiler corresponding to the above means.

(3−1)GUI開発ツール上の開発ツール上での簡単な作業(ドラッグ&ドロップなど)から、DMTベースのモデルを作成することができる。さらに、ログフィルタリングのルールや制御系ECU向けの車載診断プロトコルの変換ルールとDMTベースのモデルとを連携させることができる。   (3-1) A DMT-based model can be created from simple work (drag and drop, etc.) on the development tool on the GUI development tool. Furthermore, log filtering rules, in-vehicle diagnostic protocol conversion rules for control ECUs, and DMT-based models can be linked.

(3−2)単一のDMTベースのモデルから、C言語やC++言語などのソースコードに変換するモデルコンパイラをGUI開発ツールで用いることができる。ここで定義するモデルコンパイラは、下記の3つの機能を含むものである。
(3−2−1)単一のDMTモデルから、自動生成可能な複数の(UMLなどの)モデルに、プロセッサ単位で分割できる機能。
(3−2−2)分割された(UMLなどの)モデルから、各プロセッサのシステム構成(システムコールやメモリマップなど)に特化したソースコードを自動生成できる機能。
(3−2−3)DMTモデル上でのノードへのアクセスを、DMT管理部512内のクラスライブラリへのアクセスに自動変換する機能。
(3-2) A model compiler that converts a single DMT-based model into source code such as C language or C ++ language can be used in the GUI development tool. The model compiler defined here includes the following three functions.
(3-2-1) A function capable of dividing a single DMT model into a plurality of models (such as UML) that can be automatically generated in units of processors.
(3-2-2) A function that can automatically generate source code specialized for the system configuration (system call, memory map, etc.) of each processor from a divided model (such as UML).
(3-2-3) A function of automatically converting access to a node on the DMT model into access to a class library in the DMT management unit 512.

続いて、図10を用いて、本発明の実施の形態3にかかるGUI開発ツールの概念を説明する。まず、開発用PC101は、ユーザから診断対象の車載組み込み機器103における機能の構成をノードにより表現した場合の位置及びノード間の階層の関係をドラッグ&ドロップ等で受け付ける。そして、開発用PC101は、受け付けたノードに関する位置及び階層の関係から階層構造で表したDMTのモデル情報を生成する(S31)。尚、開発用PC101は、既存のDMTのモデル情報をインポートにより受け付けても構わない。   Next, the concept of the GUI development tool according to the third embodiment of the present invention will be described with reference to FIG. First, the development PC 101 receives, from a user, a position and a hierarchical relationship between the nodes by dragging and dropping when the functional configuration in the in-vehicle embedded device 103 to be diagnosed is expressed by a node. Then, the development PC 101 generates DMT model information expressed in a hierarchical structure from the relationship between the received node position and hierarchy (S31). The development PC 101 may accept existing DMT model information by importing.

次に、開発用PC101は、ユーザから任意のノードに対して、情報系ECUの割り当てを受け付ける。そして、開発用PC101は、受け付けた情報系ECUを当該ノードにおける割り当て情報すなわちプロパティ値として設定する(S32)。尚、このとき、開発用PC101は、別ウィンドウによりプロパティ値を受け付けてもよい。   Next, the development PC 101 receives an assignment of an information system ECU from a user to an arbitrary node. Then, the development PC 101 sets the received information system ECU as assignment information in the node, that is, as a property value (S32). At this time, the development PC 101 may accept the property value from another window.

続いて、開発用PC101は、ユーザから任意のノードの選択をマウスクリック等により受け付ける。このとき、開発用PC101は、状態モデル図の作成画面を別ウィンドウにより表示する(S33)。ここで、開発用PC101は、選択したノードの状態と当該状態におけるノードの振る舞いであるアクション情報とをユーザから受け付ける。そして、開発用PC101は、受け付けた状態とアクション情報とから状態モデル図を表示し、ノード状態情報とする。   Subsequently, the development PC 101 accepts selection of an arbitrary node from the user by a mouse click or the like. At this time, the development PC 101 displays a state model diagram creation screen in a separate window (S33). Here, the development PC 101 receives the state of the selected node and the action information that is the behavior of the node in the state. Then, the development PC 101 displays a state model diagram from the received state and action information to obtain node state information.

さらに、開発用PC101は、当該ノードにおいて、ログからアクション記述部513で理解可能なイベントを作成することができる(S34)。ログは、複数のプロセッサ上で動作するアプリケーションの処理結果の一例である。そして、ログを加工するルールを当該ノードに関連付けることができる。   Further, the development PC 101 can create an event understandable by the action description unit 513 from the log in the node (S34). The log is an example of a processing result of an application that operates on a plurality of processors. And the rule which processes a log can be linked | related with the said node.

また、開発用PC101は、当該ノードにおいて、アクション記述部513が発行するイベントと車載診断プロトコルの対応付けを記述することができる(S35)。車載診断プロトコルは、組み込み機器に搭載され、かつ、複数のプロセッサにより制御される制御装置との通信を行うためのルールの一例である。そして、車載診断プロトコルの変換ルールを当該ノードに関連付けることができる。また、開発用PC101は、ODXなどの車載診断言語のインポート及びエクスポートに対応することができる。   Further, the development PC 101 can describe the association between the event issued by the action description unit 513 and the in-vehicle diagnosis protocol in the node (S35). The in-vehicle diagnosis protocol is an example of a rule for performing communication with a control device that is mounted on an embedded device and controlled by a plurality of processors. And the conversion rule of a vehicle-mounted diagnostic protocol can be linked | related with the said node. Further, the development PC 101 can cope with import and export of in-vehicle diagnostic languages such as ODX.

さらに、開発用PC101は、提供ライブラリ(車載診断のライブラリを含む)やイベント一覧から、マウスでの選択などで状態モデル図内に取り込むことができる(S36)。また、開発用PC101は、当該ノードで用いる一部のユーザ定義ライブラリを作成することができる(S37)。これにより、MDAで作成されたノードのモデルと連携可能となる。   Further, the development PC 101 can capture the state model diagram from the provided library (including the in-vehicle diagnosis library) and the event list by selecting with the mouse (S36). Further, the development PC 101 can create a part of user-defined libraries used in the node (S37). Thereby, it becomes possible to cooperate with the node model created by MDA.

図11は、本発明の実施の形態3にかかる状態モデル図及びアクション記述言語の例を示す図である。尚、図11内で使用されているアクション記述言語は、Executable UML向けのものに改良を加えたものである。但し、本発明の実施の形態3にかかるアクション記述言語は、Executable UMLを基礎としなくても構わない。   FIG. 11 is a diagram illustrating an example of a state model diagram and an action description language according to the third exemplary embodiment of the present invention. Note that the action description language used in FIG. 11 is an improvement to the one for Executable UML. However, the action description language according to the third exemplary embodiment of the present invention may not be based on Executable UML.

また、図11内DMTセッションとは、情報系ECU上のアプリケーションと車載組み込み機器103内のDMT管理アプリ416との間で1対1に張られる、仮想的な接続の単位を指す。例えば、開発用PC101により生成された車載診断プログラムとDMT管理アプリ416との間で、ルートノードが"./Device"であるDMTセッションが確立されると、配下のノード("./Device/NodeA"など)へのDMTイベントの発生が許可される。   Further, the DMT session in FIG. 11 refers to a unit of virtual connection established on a one-to-one basis between the application on the information system ECU and the DMT management application 416 in the in-vehicle embedded device 103. For example, when a DMT session whose root node is “./Device” is established between the in-vehicle diagnostic program generated by the development PC 101 and the DMT management application 416, the subordinate node (“./Device/NodeA” The occurrence of a DMT event is permitted.

図11は、DMTのノード"./OMADM/DiagMon/Battery/Level"に対する振る舞いを記述した例であり、処理の流れは下記のようになる。
(1)"./OMADM/DiagMon/Battery"をルートノードとするDMTセッションがオープンされたら、"./OMADM/DiagMon/Battery/Cycle"に記述された値の定周期タイマを起動する。
(2)定周期タイマの割り込み処理で、バッテリ残量の読み出しを行う。
(3)DMTセッションオープン中に、管理センタから、"./OMADM/DiagMon/Battery/Level"に対するGET命令が発行されたら、バッテリ残量の値を管理センタに返す。
FIG. 11 shows an example in which the behavior of the DMT node “./OMADM/DiagMon/Battery/Level” is described. The processing flow is as follows.
(1) When a DMT session having “./OMADM/DiagMon/Battery” as a root node is opened, a fixed-cycle timer having a value described in “./OMADM/DiagMon/Battery/Cycle” is started.
(2) The remaining battery level is read by interrupt processing of the fixed-cycle timer.
(3) When a GET command for “./OMADM/DiagMon/Battery/Level” is issued from the management center while the DMT session is open, the value of the remaining battery level is returned to the management center.

次に、図11中に記載されているアクション記述言語、すなわち、アクション情報について簡単に説明する。まず、「Select Cycle from Node where selected.URL="./OMADM/DiagMon/Baterry/Cycle"」とは、ノードクラスから、URLが"./OMADM/DiagMon/Baterry/Cycle"であるノード"Cycle"を選択することを示す。また、「TIM:TimerStart(Cycle.NodeValue,タイマ割り込み処理中);」とは、定周期タイマを起動することを示す。そして、「generate "DMTセッションオープン状態移行通知"」とは、非同期イベント"DMTセッションオープン状態移行通知"を発行することを示す。   Next, the action description language described in FIG. 11, that is, action information will be briefly described. First, "Select Cycle from Node where selected.URL =" ./ OMADM / DiagMon / Baterry / Cycle "" means the node "Cycle" whose URL is "./OMADM/DiagMon/Baterry/Cycle" from the node class. Indicates that is to be selected. “TIM: TimerStart (Cycle. NodeValue, timer interrupt processing in progress);” indicates that the fixed-cycle timer is started. “Generate“ DMT session open state transition notification ”” indicates that an asynchronous event “DMT session open state transition notification” is issued.

続いて、情報系ECU32内の車載診断プログラム425上で動作するノードBが、情報系ECU33内の車載診断プログラム432上で動作するノードAに対してReplaceイベント(=ノードの値を書き換える)を発行する例について、図12及び図13のシーケンス図を用いて説明する。   Subsequently, the node B operating on the in-vehicle diagnosis program 425 in the information system ECU 32 issues a Replace event (= rewrites the value of the node) to the node A operating on the in-vehicle diagnosis program 432 in the information system ECU 33. An example of this will be described with reference to the sequence diagrams of FIGS.

図12は、本発明の実施の形態3にかかる情報系ECU33用の車載診断プログラムの処理の流れを示すシーケンス図である。ここでは、情報系ECU31内のDMT管理アプリ416と情報系ECU33内の車載診断プログラム432との間のプロセッサ間通信を含む処理を示す。自動追加部分61は、クラス定義やインスタンス生成、DMT管理部へのノードの登録に関する処理である。UMLベースのMDAでは、自動追加部分61についてもユーザが記述する必要があった。しかし、本発明の実施の形態3では、実装部分62の処理のみをアクション情報にて記述するだけでよい。   FIG. 12 is a sequence diagram showing a flow of processing of the in-vehicle diagnosis program for the information system ECU 33 according to the third embodiment of the present invention. Here, processing including inter-processor communication between the DMT management application 416 in the information system ECU 31 and the in-vehicle diagnosis program 432 in the information system ECU 33 is shown. The automatic addition portion 61 is processing related to class definition, instance generation, and node registration in the DMT management unit. In the UML-based MDA, the user has to describe the automatic addition portion 61 as well. However, in the third embodiment of the present invention, only the processing of the mounting portion 62 need only be described by action information.

図13は、本発明の実施の形態3にかかる情報系ECU32用の車載診断プログラムの処理の流れを示すシーケンス図である。ここでは、情報系ECU31内のDMT管理アプリ416と情報系ECU32内の車載診断プログラム425との間のプロセッサ間通信を含む処理を示す。自動追加部分63は、クラス定義やインスタンス生成、DMT管理部へのノードの登録に関する処理である。UMLベースのMDAでは、自動追加部分63についてもユーザが記述する必要があった。しかし、本発明の実施の形態3では、実装部分64の処理のみをアクション情報にて記述するだけでよい。   FIG. 13 is a sequence diagram showing a flow of processing of the in-vehicle diagnosis program for the information system ECU 32 according to the third embodiment of the present invention. Here, processing including inter-processor communication between the DMT management application 416 in the information system ECU 31 and the in-vehicle diagnosis program 425 in the information system ECU 32 is shown. The automatic addition portion 63 is processing related to class definition, instance generation, and node registration in the DMT management unit. In the UML-based MDA, the user has to describe the automatic addition portion 63 as well. However, in the third embodiment of the present invention, it is only necessary to describe only the processing of the mounting portion 64 by action information.

また、通常のMDAでは、情報系ECU33内の車載診断プログラム432と情報系ECU32内上の車載診断プログラム425のそれぞれに対して、UMLのモデルを作成しなければならない。しかし、本発明の実施の形態3では、複数の情報系ECU上での動作を1個のDMT上で表現することが可能となる。   In normal MDA, a UML model must be created for each of the in-vehicle diagnosis program 432 in the information system ECU 33 and the in-vehicle diagnosis program 425 in the information system ECU 32. However, in Embodiment 3 of the present invention, operations on a plurality of information system ECUs can be expressed on one DMT.

尚、本発明の実施の形態3では、下記の2つのソフトウェア開発手法を用いて、ほぼ同じ構成のソースコードおよびバイナリが生成されるものと仮定する。
(1)MDAを用いたコード自動生成(実施の形態3では、UMLのモデルから、オブジェクト指向言語であるC++言語のソースコードに変換されるものとする。)
(2)本発明を用いたコード自動生成(実施の形態3では、DMTベースのモデルから、オブジェクト指向言語であるC++言語のソースコードに変換されるものとする。)
In the third embodiment of the present invention, it is assumed that source codes and binaries having substantially the same configuration are generated using the following two software development techniques.
(1) Automatic code generation using MDA (In the third embodiment, it is assumed that a UML model is converted into a source code of an object-oriented language C ++ language.)
(2) Automatic code generation using the present invention (In the third embodiment, it is assumed that a DMT-based model is converted into C ++ language source code, which is an object-oriented language.)

図14は、本発明の実施の形態3にかかる状態モデル図の例を示す図である。ここでは、あるノードの状態として、「初期状態」及び「Replaceイベント処理中」の2つを定義し、それぞれに「ノードAに値Xを設定する」とのアクション情報を定義していることを示す。尚、Replaceイベントを受信した場合に、「Replaceイベント処理中」に遷移する。つまり、本発明の実施の形態3により図14に示すようなわずかな量の記述のみで、複雑なシーケンスを伴ったソフトウェアを記述できることを示す。   FIG. 14 is a diagram illustrating an example of a state model diagram according to the third embodiment of the present invention. Here, two states of “initial state” and “Replace event processing” are defined as states of a certain node, and action information “set value X to node A” is defined for each. Show. When a Replace event is received, the process transits to “Replace event processing in progress”. That is, the third embodiment of the present invention indicates that software with a complicated sequence can be described with only a small amount of description as shown in FIG.

図15は、関連技術により設計した場合のクラス図の例を示す図である。図15のクラス図は、ノードクラス及びノードA及びノードBとの関係を表したクラス図である。しかし、このクラス図は、MDAにDMTベースの自動生成を強引に持ち込んだ場合のもので、UMLのモデリングとしてはあまり望ましくない形となってしまう。   FIG. 15 is a diagram illustrating an example of a class diagram in the case of designing with related technology. The class diagram in FIG. 15 is a class diagram showing a node class and a relationship with the node A and the node B. However, this class diagram is a case where DMT-based automatic generation is forcibly brought into MDA, and it becomes a less desirable form for UML modeling.

尚、UMLのモデリング例としては、本来、図16のように記述するのが望ましいと考えられる。図16は、関連技術により設計した場合のUMLモデリングの例を示す図である。この場合、そもそもノードA及びノードBはクラスとして抽出されない。しかし、図16から自動コード生成可能な振る舞いを記述するには、オブジェクト指向のかなり高度な技術が必要となり、本発明が対象とする課題を解決することができない。   It should be noted that, as an example of UML modeling, it is originally desirable to describe as shown in FIG. FIG. 16 is a diagram illustrating an example of UML modeling in the case of designing with related technology. In this case, node A and node B are not extracted as classes in the first place. However, describing the behavior that can generate automatic code from FIG. 16 requires a fairly advanced object-oriented technique, and cannot solve the problem targeted by the present invention.

図17は、本発明の実施の形態3にかかるDMTを用いたデバイス管理の概念を示す図である。まず、プロトコルアダプタアプリケーション571及びDMT制御アプリケーション572により、管理サーバ102から無線通信モジュール34を介して車載組み込み機器103内のDMTの各ノードへのアクセスが可能である。また、指定したノードにアクセスがあった場合、イベント通知を受け取ることが可能である。   FIG. 17 is a diagram showing a concept of device management using the DMT according to the third embodiment of the present invention. First, the protocol adapter application 571 and the DMT control application 572 can access each node of the DMT in the in-vehicle embedded device 103 from the management server 102 via the wireless communication module 34. When a designated node is accessed, an event notification can be received.

また、プラグインアプリケーション573は、ノード"./Device/Battery"に割り当てられているバッテリ残量検出アプリケーションである。プラグインアプリケーション573は、ノードへのアクセスがあると、イベントが通知される。そのため、管理サーバ102や車載組み込み機器103内のローカルのアプリケーションは、各ノードに対してAdd/Get/Replace/Execを行うことが可能となる。   The plug-in application 573 is a battery remaining amount detection application assigned to the node “./Device/Battery”. When there is an access to a node, the plug-in application 573 is notified of an event. Therefore, local applications in the management server 102 and the in-vehicle embedded device 103 can perform Add / Get / Replace / Exec on each node.

以上のことから、本発明の実施の形態3の効果は、以下のとおりである。まず、開発者ではないサービスエンジニアでも、複数の情報系ECUや制御系ECUを扱った診断プログラムを簡単に作成することが可能となる。本発明により車載組み込み機器向けにアレンジされた自動コード生成手法を取り入れることにより、各ECUのシステム依存部分(プログラミング言語、OSなど)の習得が不要となる。また、コーディング工程が省略できる。また、OMA DMや車載診断などの車載固有技術に関する制御I/Fが、「アクション記述部」と連携可能なライブラリとして提供されるため、プログラミングのために、各技術や関連するミドルウエアの仕様を習得する時間を短縮することができる。   From the above, the effects of the third embodiment of the present invention are as follows. First, even a service engineer who is not a developer can easily create a diagnostic program that handles a plurality of information system ECUs and control system ECUs. By adopting an automatic code generation method arranged for in-vehicle embedded devices according to the present invention, it becomes unnecessary to learn system dependent parts (programming language, OS, etc.) of each ECU. Also, the coding process can be omitted. In addition, the control I / F related to in-vehicle technologies such as OMA DM and in-vehicle diagnosis is provided as a library that can be linked with the “action description part”, so the specifications of each technology and related middleware can be specified for programming. Time to learn can be shortened.

さらに、DMTのノードの構成及びノードへのアクセスに対する動作のみ知っていればよく、OMA DMの通信シーケンスなどの詳細を知る必要がなくなる。1つのDMTツリーから複数の情報系ECUのコードを自動生成できるため、情報系ECU間の通信を設計及びコーディングする必要がなくなる。また、ノードと情報系ECUの対応付け、つまり割り当てのみ指定すればよい。   Furthermore, it is only necessary to know the operation of the DMT node configuration and access to the node, and it is not necessary to know details such as the communication sequence of the OMA DM. Since codes of a plurality of information system ECUs can be automatically generated from one DMT tree, it is not necessary to design and code communication between information system ECUs. Further, it is only necessary to specify the association between the node and the information system ECU, that is, the assignment.

そして、複数のアプリケーションから異なるアクセス方法で、DMTの各ノードへのアクセスが行われるような場合においても、1つの手順のみで対応可能となる。DMTのアクセス方法の違いは、「DMT管理部」で吸収できるためである。また、アクション記述部で、ロールバック処理を全く意識する必要がなくなるという利点もある。   Even when access to each node of the DMT is performed from a plurality of applications by different access methods, it is possible to cope with only one procedure. The difference in DMT access methods is because it can be absorbed by the “DMT management unit”. There is also an advantage that the action description part does not need to be aware of rollback processing at all.

このように、本発明の実施の形態3により、複数のプロセッサを備え、所定の機能を実現する組み込み機器における広範な専門知識が必要とせずに、当該組み込み機器で実行されるプログラムを容易に生成することができる。   As described above, according to the third embodiment of the present invention, a program to be executed on an embedded device can be easily generated without requiring a wide range of expertise in the embedded device having a plurality of processors and realizing a predetermined function. can do.

<その他の発明の実施の形態>
DMT Adminは、OSGi R4 mobileやJSR232で定義された、OSGiに対応したJava(登録商標)アプリケーションから、DMTにアクセスするためのパッケージの仕様である。DMT Adminにより、複数のJavaアプリケーションから同一のノードを共有することが可能である。但し、DMT Adminは、高機能ではあるが、かなり複雑なAPIである。
<Other embodiments of the invention>
DMT Admin is a specification of a package for accessing DMT from a Java (registered trademark) application corresponding to OSGi defined by OSGi R4 mobile and JSR232. With DMT Admin, it is possible to share the same node from multiple Java applications. However, DMT Admin is a highly complex API although it is highly functional.

ISO(International Organization for Standardization)化された制御系ECU向けのXML(Extensible Markup Language)ベースの車載診断言語として、ASAM−MCD2 ODXがある。ASAM−MCD2 ODXは、あるコマンドからKWP2000などの車載診断プロトコルに変換するルールなどが記載されている。   There is ASAM-MCD2 ODX as an XML (Extensible Markup Language) -based in-vehicle diagnostic language for control system ECUs that have been converted to ISO (International Organization for Standardization). ASAM-MCD2 ODX describes rules for converting a certain command into an in-vehicle diagnostic protocol such as KWP2000.

本発明により生成されたプログラムを無線経由で組み込み機器内の情報系ECUへ転送する技術及びログや診断情報を管理センタに送信する技術については、任意の無線通信技術を用いることが可能である。尚、車載向け無線通信サービスとしてG−BOOK(登録商標)等がある。但し、G−BOOK等では、本発明により生成されたプログラムを無線経由で組み込み機器内の情報系ECUへ転送することはできない。   Any wireless communication technology can be used for the technology for transferring the program generated by the present invention to the information system ECU in the embedded device via wireless and the technology for transmitting the log and diagnostic information to the management center. Note that there is G-BOOK (registered trademark) as an in-vehicle wireless communication service. However, in G-BOOK or the like, the program generated according to the present invention cannot be transferred to the information system ECU in the embedded device via wireless communication.

さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。   Furthermore, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the gist of the present invention described above. For example, in the above-described embodiment, the present invention has been described as a hardware configuration, but the present invention is not limited to this. The present invention can also realize arbitrary processing by causing a CPU (Central Processing Unit) to execute a computer program. In this case, the computer program can be stored using various types of non-transitory computer readable media and supplied to the computer.

非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、DVD(Digital Versatile Disc)、BD(Blu-ray(登録商標) Disc)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、コンピュータプログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。   Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (for example, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (for example, magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / W, DVD (Digital Versatile Disc), BD (Blu-ray (registered trademark) Disc), semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM ( Random Access Memory)). The computer program may also be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.

上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。   A part or all of the above embodiments can be described as in the following supplementary notes, but is not limited thereto.

(付記1)複数のプロセッサが搭載され、所定の機能を実現する組み込み機器における当該複数のプロセッサ間の通信処理が実装されたプログラムモジュールである通信処理情報を予め記憶する記憶手段と、
前記組み込み機器における前記所定の機能の構成を複数のノードにより定義した構成情報を生成する構成情報生成手段と、
前記構成情報に定義された複数のノードごとに、ノードの状態と当該状態におけるノードの振る舞いであるアクション情報とを定義したノード状態情報を生成するノード状態情報生成手段と、
前記ノード状態情報に定義されたアクション情報から、当該ノードの状態におけるノードの振る舞いに対応する処理を実現するプログラムコードへ変換する変換手段と、
前記構成情報に基づいて、前記複数のプロセッサごとに対応した複数のプログラムを、前記記憶手段に記憶された前記通信処理情報と、前記変換したプログラムコードとを含めて生成するプログラム生成手段と、
を備えるプログラム生成装置。
(Additional remark 1) The memory | storage means which memorize | stores beforehand the communication processing information which is a program module by which the communication processing between the said some processor was mounted in the built-in apparatus which implement | achieves a predetermined function in which a some processor is mounted,
Configuration information generating means for generating configuration information in which the configuration of the predetermined function in the embedded device is defined by a plurality of nodes;
Node state information generating means for generating, for each of a plurality of nodes defined in the configuration information, node state information that defines a node state and action information that is a behavior of the node in the state;
Conversion means for converting from action information defined in the node state information into a program code that realizes processing corresponding to the behavior of the node in the state of the node;
Based on the configuration information, a program generation unit that generates a plurality of programs corresponding to each of the plurality of processors, including the communication processing information stored in the storage unit and the converted program code;
A program generation apparatus comprising:

(付記2)前記構成情報生成手段は、各ノードに前記複数のプロセッサのいずれかを割り当てた割当情報を含めて前記構成情報を生成し、
前記プログラム生成手段は、前記構成情報に含まれる割当情報に基づいて、各ノードを割り当てられた前記複数のプロセッサのいずれかに分類して複数の分類後構成情報を生成し、前記生成された複数の分類後構成情報から前記複数のプログラムを生成する
ことを特徴とする付記1に記載のプログラム生成装置。
(Supplementary Note 2) The configuration information generation means generates the configuration information including allocation information in which any of the plurality of processors is allocated to each node.
The program generating means generates a plurality of post-classification configuration information by classifying each node into one of the plurality of allocated processors based on the allocation information included in the configuration information, and The program generation apparatus according to appendix 1, wherein the plurality of programs are generated from the post-classification configuration information.

(付記3)前記複数のプロセッサのそれぞれに対応したプログラムを生成する複数のモデルコンパイラをさらに備え、
前記プログラム生成手段は、前記分類後構成情報から対応するプロセッサを特定し、特定したプロセッサに対応するモデルコンパイラを選択して、選択したモデルコンパイラを用いて前記分類後構成情報から当該特定したプロセッサで実行可能なプログラムを生成する
ことを特徴とする付記2に記載のプログラム生成装置。
(Additional remark 3) It further has a plurality of model compilers which generate a program corresponding to each of the plurality of processors,
The program generation means identifies a corresponding processor from the classified configuration information, selects a model compiler corresponding to the identified processor, and uses the selected model compiler to identify the processor from the classified configuration information. The program generation device according to attachment 2, wherein the program generation device generates an executable program.

(付記4)前記プログラム生成手段は、前記複数のプログラムを生成する際に、ノードアクセスに対応する非同期イベントをさらに含めることを特徴とする付記1乃至3のいずれか1項に記載のプログラム生成装置。   (Supplementary note 4) The program generation device according to any one of Supplementary notes 1 to 3, wherein the program generation unit further includes an asynchronous event corresponding to node access when generating the plurality of programs. .

(付記5)前記構成情報生成手段は、前記構成情報としてDMT(Device Management Tree)を用いることを特徴とする付記1乃至4のいずれか1項に記載のプログラム生成装置。   (Additional remark 5) The said structure information production | generation means uses DMT (Device Management Tree) as said structure information, The program generation apparatus of any one of Additional remark 1 thru | or 4 characterized by the above-mentioned.

(付記6)前記ノード状態情報生成手段は、前記ノード状態情報に、前記複数のプロセッサ上で動作するアプリケーションの処理結果を加工するルールを関連付けることを特徴とする付記1乃至5のいずれか1項に記載のプログラム生成装置。   (Additional remark 6) The said node state information production | generation means associates the rule which processes the process result of the application which operate | moves on the said several processor with the said node state information, Any one of Additional remark 1 thru | or 5 characterized by the above-mentioned. The program generation device described in 1.

(付記7)前記ノード状態情報生成手段は、前記ノード状態情報に、前記組み込み機器に搭載され、かつ、前記複数のプロセッサにより制御される制御装置との通信を行うためのルールを関連付けることを特徴とする付記1乃至6のいずれか1項に記載のプログラム生成装置。   (Supplementary note 7) The node state information generation means associates the node state information with a rule for communicating with a control device mounted on the embedded device and controlled by the plurality of processors. The program generation device according to any one of appendices 1 to 6.

(付記8)複数のプロセッサが搭載され、所定の機能を実現する組み込み機器における当該所定の機能の構成を複数のノードにより定義した構成情報を生成し、
前記構成情報に定義された複数のノードごとに、ノードの状態と当該状態におけるノードの振る舞いであるアクション情報とを定義したノード状態情報を生成し、
前記ノード状態情報に定義されたアクション情報から、当該ノードの状態におけるノードの振る舞いに対応する処理を実現するプログラムコードへ変換し、
前記構成情報に基づいて、前記複数のプロセッサごとに対応した複数のプログラムを、前記複数のプロセッサ間の通信処理が実装されたプログラムモジュールである通信処理情報と、前記変換したプログラムコードとを含めて生成する、
プログラム生成方法。
(Supplementary Note 8) Generate configuration information in which a plurality of processors are mounted and a configuration of the predetermined function in an embedded device that realizes a predetermined function is defined by a plurality of nodes,
For each of a plurality of nodes defined in the configuration information, generate node state information that defines a node state and action information that is a behavior of the node in the state,
The action information defined in the node state information is converted into a program code that realizes processing corresponding to the behavior of the node in the state of the node,
Based on the configuration information, a plurality of programs corresponding to each of the plurality of processors includes communication processing information that is a program module in which communication processing between the plurality of processors is implemented, and the converted program code. Generate,
Program generation method.

(付記9)各ノードに前記複数のプロセッサのいずれかを割り当てた割当情報を含めて前記構成情報を生成し、
前記構成情報に含まれる割当情報に基づいて、各ノードを割り当てられた前記複数のプロセッサのいずれかに分類して複数の分類後構成情報を生成し、前記生成された複数の分類後構成情報から前記複数のプログラムを生成する
ことを特徴とする付記8に記載のプログラム生成方法。
(Supplementary Note 9) Generate the configuration information including allocation information in which any of the plurality of processors is allocated to each node,
Based on the allocation information included in the configuration information, each node is classified into one of the plurality of allocated processors to generate a plurality of post-classification configuration information, and from the generated plurality of post-classification configuration information The program generation method according to appendix 8, wherein the plurality of programs are generated.

(付記10)前記分類後構成情報から対応するプロセッサを特定し、
前記複数のプロセッサのそれぞれに対応したプログラムを生成する複数のモデルコンパイラの中から、前記特定したプロセッサに対応するモデルコンパイラを選択し、
前記選択したモデルコンパイラを用いて前記分類後構成情報から前記特定したプロセッサで実行可能なプログラムを生成する
ことを特徴とする付記9に記載のプログラム生成方法。
(Supplementary Note 10) Identify the corresponding processor from the post-classification configuration information,
Selecting a model compiler corresponding to the identified processor from a plurality of model compilers that generate a program corresponding to each of the plurality of processors;
The program generation method according to appendix 9, wherein a program executable by the specified processor is generated from the post-classification configuration information using the selected model compiler.

(付記11)前記複数のプログラムを生成する際に、ノードアクセスに対応する非同期イベントをさらに含めることを特徴とする付記8乃至10のいずれか1項に記載のプログラム生成方法。   (Supplementary note 11) The program generation method according to any one of supplementary notes 8 to 10, further comprising an asynchronous event corresponding to node access when generating the plurality of programs.

(付記12)前記構成情報としてDMT(Device Management Tree)を用いることを特徴とする付記8乃至11のいずれか1項に記載のプログラム生成方法。   (Supplementary note 12) The program generation method according to any one of supplementary notes 8 to 11, wherein a DMT (Device Management Tree) is used as the configuration information.

(付記13)前記ノード状態情報に、前記複数のプロセッサ上で動作するアプリケーションの処理結果を加工するルールを関連付けることを特徴とする付記8乃至12のいずれか1項に記載のプログラム生成方法。   (Supplementary note 13) The program generation method according to any one of Supplementary notes 8 to 12, wherein a rule for processing a processing result of an application operating on the plurality of processors is associated with the node state information.

(付記14)前記ノード状態情報に、前記組み込み機器に搭載され、かつ、前記複数のプロセッサにより制御される制御装置との通信を行うためのルールを関連付けることを特徴とする付記8乃至13のいずれか1項に記載のプログラム生成方法。   (Supplementary note 14) Any one of Supplementary notes 8 to 13, wherein the node state information is associated with a rule for communicating with a control device mounted on the embedded device and controlled by the plurality of processors. The program generation method according to claim 1.

(付記15)複数のプロセッサが搭載され、所定の機能を実現する組み込み機器における当該所定の機能の構成の複数のノードによる定義を受け付け、
当該受け付けた定義に基づき構成情報を生成し、
前記構成情報に含まれる複数のノードのいずれかの指定を受け付け、
当該指定されたノードにおけるノードの状態と当該状態におけるノードの振る舞いであるアクション情報との定義を受け付け、
当該受け付けた前記ノードの状態と前記アクション情報途に基づきノード状態情報を生成し、
前記ノード状態情報に定義されたアクション情報から、当該ノードの状態におけるノードの振る舞いに対応する処理を実現するプログラムコードへ変換し、
予め記憶部に格納された前記複数のプロセッサ間の通信処理が実装されたプログラムモジュールである通信処理情報を取得し、
前記構成情報に基づいて、前記複数のプロセッサごとに対応した複数のプログラムを、前記取得した通信処理情報と、前記変換したプログラムコードとを含めて生成する、
処理をコンピュータに実行させるプログラム生成プログラム。
(Supplementary Note 15) Accepts definitions by a plurality of nodes of a configuration of a predetermined function in an embedded device that is mounted with a plurality of processors and implements a predetermined function,
Generate configuration information based on the accepted definition,
Accepting any one of a plurality of nodes included in the configuration information;
Accept the definition of the state of the node in the specified node and the action information that is the behavior of the node in the state,
Generate node state information based on the received state of the node and the action information path,
The action information defined in the node state information is converted into a program code that realizes processing corresponding to the behavior of the node in the state of the node,
Obtaining communication processing information which is a program module in which communication processing between the plurality of processors stored in advance in the storage unit is implemented;
Based on the configuration information, a plurality of programs corresponding to the plurality of processors are generated including the acquired communication processing information and the converted program code.
A program generation program that causes a computer to execute processing.

(付記16)各ノードに前記複数のプロセッサのいずれかを割り当てた割当情報を含めて前記構成情報を生成し、
前記構成情報に含まれる割当情報に基づいて、各ノードを割り当てられた前記複数のプロセッサのいずれかに分類して複数の分類後構成情報を生成し、前記生成された複数の分類後構成情報から前記複数のプログラムを生成する
ことを特徴とする付記15に記載のプログラム生成プログラム。
(Supplementary Note 16) Generate the configuration information including allocation information in which any of the plurality of processors is allocated to each node,
Based on the allocation information included in the configuration information, each node is classified into one of the plurality of allocated processors to generate a plurality of post-classification configuration information, and from the generated plurality of post-classification configuration information The program generation program according to appendix 15, wherein the plurality of programs are generated.

(付記17)前記分類後構成情報から対応するプロセッサを特定し、
前記複数のプロセッサのそれぞれに対応したプログラムを生成する複数のモデルコンパイラの中から、前記特定したプロセッサに対応するモデルコンパイラを選択し、
前記選択したモデルコンパイラを用いて前記分類後構成情報から前記特定したプロセッサで実行可能なプログラムを生成する
ことを特徴とする付記16に記載のプログラム生成プログラム。
(Supplementary note 17) Identify the corresponding processor from the classified configuration information,
Selecting a model compiler corresponding to the identified processor from a plurality of model compilers that generate a program corresponding to each of the plurality of processors;
17. The program generation program according to appendix 16, wherein a program executable by the specified processor is generated from the post-classification configuration information using the selected model compiler.

(付記18)前記複数のプログラムを生成する際に、ノードアクセスに対応する非同期イベントをさらに含めることを特徴とする付記15乃至17のいずれか1項に記載のプログラム生成プログラム。   (Supplementary note 18) The program generation program according to any one of supplementary notes 15 to 17, further comprising an asynchronous event corresponding to node access when generating the plurality of programs.

(付記19)前記構成情報としてDMT(Device Management Tree)を用いることを特徴とする付記15乃至18のいずれか1項に記載のプログラム生成プログラム。   (Supplementary note 19) The program generation program according to any one of supplementary notes 15 to 18, wherein a DMT (Device Management Tree) is used as the configuration information.

(付記20)前記ノード状態情報に、前記複数のプロセッサ上で動作するアプリケーションの処理結果を加工するルールを関連付けることを特徴とする付記15乃至19のいずれか1項に記載のプログラム生成プログラム。   (Supplementary note 20) The program generation program according to any one of supplementary notes 15 to 19, wherein a rule for processing a processing result of an application operating on the plurality of processors is associated with the node state information.

(付記21)前記ノード状態情報に、前記組み込み機器に搭載され、かつ、前記複数のプロセッサにより制御される制御装置との通信を行うためのルールを関連付けることを特徴とする付記15乃至20のいずれか1項に記載のプログラム生成プログラム。   (Supplementary note 21) Any one of supplementary notes 15 to 20, wherein a rule for communicating with a control device mounted on the embedded device and controlled by the plurality of processors is associated with the node state information. The program generation program according to claim 1.

(付記22)外部と無線通信可能なプロセッサを含む複数のプロセッサを備え、所定の機能を実現する組み込み機器と、
前記複数のプロセッサ間の通信処理が実装されたプログラムモジュールである通信処理情報を予め記憶する記憶手段と、
前記組み込み機器における前記所定の機能の構成を複数のノードにより定義した構成情報を生成する構成情報生成手段と、
前記構成情報に定義された複数のノードごとに、ノードの状態と当該状態におけるノードの振る舞いであるアクション情報とを定義したノード状態情報を生成するノード状態情報生成手段と、
前記ノード状態情報に定義されたアクション情報から、当該ノードの状態におけるノードの振る舞いに対応する処理を実現するプログラムコードへ変換する変換手段と、
前記構成情報に基づいて、前記複数のプロセッサごとに対応した複数のプログラムを、前記記憶手段に記憶された前記通信処理情報と、前記変換したプログラムコードとを含めて生成するプログラム生成手段と、
無線通信により前記組み込み機器に対して制御を行う遠隔制御手段と、
を備える遠隔管理装置と、を備え、
前記遠隔制御手段は、前記生成した複数のプログラムを前記組み込み機器へ送信し、
前記組み込み機器は、前記遠隔管理装置から受信した複数のプログラムのそれぞれを、前記複数のプロセッサのうち対応するプロセッサにおいて実行させ、
前記複数のプロセッサは、各プロセッサが実行するプログラムに含まれる前記変換したプログラムコードに基づく処理を行い、当該プログラムに含まれる通信処理に基づいて、プロセッサ間の通信を行う
ことを特徴とする組み込み機器の遠隔管理システム。
(Supplementary Note 22) An embedded device that includes a plurality of processors including a processor capable of wireless communication with the outside and implements a predetermined function;
Storage means for preliminarily storing communication processing information which is a program module in which communication processing among the plurality of processors is implemented;
Configuration information generating means for generating configuration information in which the configuration of the predetermined function in the embedded device is defined by a plurality of nodes;
Node state information generating means for generating, for each of a plurality of nodes defined in the configuration information, node state information that defines a node state and action information that is a behavior of the node in the state;
Conversion means for converting from action information defined in the node state information into a program code that realizes processing corresponding to the behavior of the node in the state of the node;
Based on the configuration information, a program generation unit that generates a plurality of programs corresponding to each of the plurality of processors, including the communication processing information stored in the storage unit and the converted program code;
Remote control means for controlling the embedded device by wireless communication;
A remote management device comprising:
The remote control means transmits the generated plurality of programs to the embedded device,
The embedded device causes each of the plurality of programs received from the remote management device to be executed by a corresponding processor among the plurality of processors,
The plurality of processors performs processing based on the converted program code included in a program executed by each processor, and performs communication between the processors based on communication processing included in the program. Remote management system.

1 プログラム生成装置
11 記憶部
111 通信処理情報
12 構成情報生成部
13 ノード状態情報生成部
14 変換部
15 プログラム生成部
10 遠隔管理システム
1a 遠隔管理装置
16 遠隔制御部
2 組み込み機器
21a プロセッサ
21b プロセッサ
21n プロセッサ
100 遠隔車載診断システム
101 開発用PC
110 CPU
120 RAM
130 ROM
140 IF部
150 ハードディスク
151 OS
152 GUI開発ツール
153 DMT管理部
154 ライブラリ
155 フィルタリングルール
156 変換ルール
157a モデルコンパイラ
157b モデルコンパイラ
157c モデルコンパイラ
158a ソースプログラム
158b ソースプログラム
158c ソースプログラム
159a 機械語プログラム
159b 機械語プログラム
159c 機械語プログラム
102 管理サーバ
103 車載組み込み機器
31 情報系ECU
32 情報系ECU
33 情報系ECU
34 無線通信モジュール
35 センサー
36 センサー
37 制御系ECU
38 制御系ECU
n1 車載LAN
n2 車載LAN
411 デバイス管理プロトコルアダプタ
412 DMTアクセスIF
413 アプリケーション
414 DMTアクセスIF
415 車載診断プログラム
416 DMT管理アプリ
417 アプリケーション
418 アプリケーション
421 アプリケーション
422 DMTアクセスIF
423 アプリケーション
424 DMTアクセスIF
425 車載診断プログラム
431 DMTアクセスIF
432 車載診断プログラム
d5 DMT
d51 分割DMT
d52 分割DMT
51 車載診断プログラム
511 DMTアクセスIF
512 DMT管理部
512a ノードデータ管理部
513 アクション記述部
514 ログフィルタリング処理部
515 フィルタリングルール
516 変換ルール
517 制御系ECU車載診断プロトコル変換部
521 DMTアクセスIF
522 アプリケーション
53 ライブラリ関数
541 D−PDU API
542 MVCI Protocol Stack & 車載LANドライバ
551 制御系ECU
552 制御系ECU
553 制御系ECU
56 ログ収集機能
571 プロトコルアダプタアプリケーション
572 DMT制御アプリケーション
573 プラグインアプリケーション
61 自動追加部分
62 実装部分
63 自動追加部分
64 実装部分
SC1 ソースコード
SC2 ソースコード
DESCRIPTION OF SYMBOLS 1 Program generation apparatus 11 Memory | storage part 111 Communication processing information 12 Configuration information generation part 13 Node state information generation part 14 Conversion part 15 Program generation part 10 Remote management system 1a Remote management apparatus 16 Remote control part 2 Embedded equipment 21a Processor 21b Processor 21n Processor 100 Remote in-vehicle diagnostic system 101 Development PC
110 CPU
120 RAM
130 ROM
140 IF unit 150 hard disk 151 OS
152 GUI Development Tool 153 DMT Management Unit 154 Library 155 Filtering Rule 156 Conversion Rule 157a Model Compiler 157b Model Compiler 157c Model Compiler 158a Source Program 158b Source Program 158c Source Program 159a Machine Language Program 159b Machine Language Program 159c Machine Language Program 102 Management Server 103 In-vehicle embedded equipment 31 Information system ECU
32 Information ECU
33 Information system ECU
34 Wireless communication module 35 Sensor 36 Sensor 37 Control system ECU
38 Control system ECU
n1 In-vehicle LAN
n2 Car LAN
411 Device management protocol adapter 412 DMT access IF
413 Application 414 DMT access IF
415 In-vehicle diagnostic program 416 DMT management application 417 application 418 application 421 application 422 DMT access IF
423 Application 424 DMT access IF
425 On-board diagnostic program 431 DMT access IF
432 On-board diagnostic program d5 DMT
d51 Split DMT
d52 Split DMT
51 In-vehicle diagnostic program 511 DMT access IF
512 DMT management unit 512a Node data management unit 513 Action description unit 514 Log filtering processing unit 515 Filtering rule 516 Conversion rule 517 Control system ECU in-vehicle diagnosis protocol conversion unit 521 DMT access IF
522 Application 53 Library function 541 D-PDU API
542 MVCI Protocol Stack & Car LAN Driver 551 Control System ECU
552 Control system ECU
553 Control system ECU
56 Log collection function 571 Protocol adapter application 572 DMT control application 573 Plug-in application 61 Automatic addition part 62 Implementation part 63 Automatic addition part 64 Implementation part SC1 source code SC2 source code

Claims (10)

複数のプロセッサが搭載され、所定の機能を実現する組み込み機器における当該複数のプロセッサ間の通信処理が実装されたプログラムモジュールである通信処理情報を予め記憶する記憶手段と、
前記組み込み機器における前記所定の機能の構成を複数のノードにより定義した構成情報を生成する構成情報生成手段と、
前記構成情報に定義された複数のノードごとに、ノードの状態と当該状態におけるノードの振る舞いであるアクション情報とを定義したノード状態情報を生成するノード状態情報生成手段と、
前記ノード状態情報に定義されたアクション情報から、当該ノードの状態におけるノードの振る舞いに対応する処理を実現するプログラムコードへ変換する変換手段と、
前記構成情報に基づいて、前記複数のプロセッサごとに対応した複数のプログラムを、前記記憶手段に記憶された前記通信処理情報と、前記変換したプログラムコードとを含めて生成するプログラム生成手段と、
を備えるプログラム生成装置。
A storage unit that stores in advance communication processing information that is a program module in which communication processing between the plurality of processors is implemented in an embedded device that is provided with a plurality of processors and implements a predetermined function;
Configuration information generating means for generating configuration information in which the configuration of the predetermined function in the embedded device is defined by a plurality of nodes;
Node state information generating means for generating, for each of a plurality of nodes defined in the configuration information, node state information that defines a node state and action information that is a behavior of the node in the state;
Conversion means for converting from action information defined in the node state information into a program code that realizes processing corresponding to the behavior of the node in the state of the node;
Based on the configuration information, a program generation unit that generates a plurality of programs corresponding to each of the plurality of processors, including the communication processing information stored in the storage unit and the converted program code;
A program generation apparatus comprising:
前記構成情報生成手段は、各ノードに前記複数のプロセッサのいずれかを割り当てた割当情報を含めて前記構成情報を生成し、
前記プログラム生成手段は、前記構成情報に含まれる割当情報に基づいて、各ノードを割り当てられた前記複数のプロセッサのいずれかに分類して複数の分類後構成情報を生成し、前記生成された複数の分類後構成情報から前記複数のプログラムを生成する
ことを特徴とする請求項1に記載のプログラム生成装置。
The configuration information generation means generates the configuration information including allocation information in which any of the plurality of processors is allocated to each node,
The program generating means generates a plurality of post-classification configuration information by classifying each node into one of the plurality of allocated processors based on the allocation information included in the configuration information, and The program generation apparatus according to claim 1, wherein the plurality of programs are generated from the post-classification configuration information.
前記複数のプロセッサのそれぞれに対応したプログラムを生成する複数のモデルコンパイラをさらに備え、
前記プログラム生成手段は、前記分類後構成情報から対応するプロセッサを特定し、特定したプロセッサに対応するモデルコンパイラを選択して、選択したモデルコンパイラを用いて前記分類後構成情報から当該特定したプロセッサで実行可能なプログラムを生成する
ことを特徴とする請求項2に記載のプログラム生成装置。
A plurality of model compilers for generating a program corresponding to each of the plurality of processors;
The program generation means identifies a corresponding processor from the classified configuration information, selects a model compiler corresponding to the identified processor, and uses the selected model compiler to identify the processor from the classified configuration information. The program generating apparatus according to claim 2, wherein an executable program is generated.
前記プログラム生成手段は、前記複数のプログラムを生成する際に、ノードアクセスに対応する非同期イベントをさらに含めることを特徴とする請求項1乃至3のいずれか1項に記載のプログラム生成装置。   4. The program generation apparatus according to claim 1, wherein the program generation unit further includes an asynchronous event corresponding to node access when generating the plurality of programs. 5. 前記構成情報生成手段は、前記構成情報としてDMT(Device Management Tree)を用いることを特徴とする請求項1乃至4のいずれか1項に記載のプログラム生成装置。   5. The program generation apparatus according to claim 1, wherein the configuration information generation unit uses a DMT (Device Management Tree) as the configuration information. 6. 前記ノード状態情報生成手段は、前記ノード状態情報に、前記複数のプロセッサ上で動作するアプリケーションの処理結果を加工するルールを関連付けることを特徴とする請求項1乃至5のいずれか1項に記載のプログラム生成装置。   The said node state information generation means associates the rule which processes the process result of the application which operate | moves on the said several processor with the said node state information, The any one of Claim 1 thru | or 5 characterized by the above-mentioned. Program generator. 前記ノード状態情報生成手段は、前記ノード状態情報に、前記組み込み機器に搭載され、かつ、前記複数のプロセッサにより制御される制御装置との通信を行うためのルールを関連付けることを特徴とする請求項1乃至6のいずれか1項に記載のプログラム生成装置。   The node state information generation unit associates a rule for communicating with a control device mounted on the embedded device and controlled by the plurality of processors, with the node state information. The program generation device according to any one of 1 to 6. 複数のプロセッサが搭載され、所定の機能を実現する組み込み機器における当該所定の機能の構成を複数のノードにより定義した構成情報を生成し、
前記構成情報に定義された複数のノードごとに、ノードの状態と当該状態におけるノードの振る舞いであるアクション情報とを定義したノード状態情報を生成し、
前記ノード状態情報に定義されたアクション情報から、当該ノードの状態におけるノードの振る舞いに対応する処理を実現するプログラムコードへ変換し、
前記構成情報に基づいて、前記複数のプロセッサごとに対応した複数のプログラムを、前記複数のプロセッサ間の通信処理が実装されたプログラムモジュールである通信処理情報と、前記変換したプログラムコードとを含めて生成する、
プログラム生成方法。
A configuration information in which a plurality of processors are installed and a configuration of the predetermined function in an embedded device realizing a predetermined function is defined by a plurality of nodes,
For each of a plurality of nodes defined in the configuration information, generate node state information that defines a node state and action information that is a behavior of the node in the state,
The action information defined in the node state information is converted into a program code that realizes processing corresponding to the behavior of the node in the state of the node,
Based on the configuration information, a plurality of programs corresponding to each of the plurality of processors includes communication processing information that is a program module in which communication processing between the plurality of processors is implemented, and the converted program code. Generate,
Program generation method.
複数のプロセッサが搭載され、所定の機能を実現する組み込み機器における当該所定の機能の構成の複数のノードによる定義を受け付け、
当該受け付けた定義に基づき構成情報を生成し、
前記構成情報に含まれる複数のノードのいずれかの指定を受け付け、
当該指定されたノードにおけるノードの状態と当該状態におけるノードの振る舞いであるアクション情報との定義を受け付け、
当該受け付けた前記ノードの状態と前記アクション情報途に基づきノード状態情報を生成し、
前記ノード状態情報に定義されたアクション情報から、当該ノードの状態におけるノードの振る舞いに対応する処理を実現するプログラムコードへ変換し、
予め記憶部に格納された前記複数のプロセッサ間の通信処理が実装されたプログラムモジュールである通信処理情報を取得し、
前記構成情報に基づいて、前記複数のプロセッサごとに対応した複数のプログラムを、前記取得した通信処理情報と、前記変換したプログラムコードとを含めて生成する、
処理をコンピュータに実行させるプログラム生成プログラム。
Accepts definitions by multiple nodes of the configuration of the predetermined function in an embedded device that has multiple processors and implements the predetermined function,
Generate configuration information based on the accepted definition,
Accepting any one of a plurality of nodes included in the configuration information;
Accept the definition of the state of the node in the specified node and the action information that is the behavior of the node in the state,
Generate node state information based on the received state of the node and the action information path,
The action information defined in the node state information is converted into a program code that realizes processing corresponding to the behavior of the node in the state of the node,
Obtaining communication processing information which is a program module in which communication processing between the plurality of processors stored in advance in the storage unit is implemented;
Based on the configuration information, a plurality of programs corresponding to the plurality of processors are generated including the acquired communication processing information and the converted program code.
A program generation program that causes a computer to execute processing.
外部と無線通信可能なプロセッサを含む複数のプロセッサを備え、所定の機能を実現する組み込み機器と、
前記複数のプロセッサ間の通信処理が実装されたプログラムモジュールである通信処理情報を予め記憶する記憶手段と、
前記組み込み機器における前記所定の機能の構成を複数のノードにより定義した構成情報を生成する構成情報生成手段と、
前記構成情報に定義された複数のノードごとに、ノードの状態と当該状態におけるノードの振る舞いであるアクション情報とを定義したノード状態情報を生成するノード状態情報生成手段と、
前記ノード状態情報に定義されたアクション情報から、当該ノードの状態におけるノードの振る舞いに対応する処理を実現するプログラムコードへ変換する変換手段と、
前記構成情報に基づいて、前記複数のプロセッサごとに対応した複数のプログラムを、前記記憶手段に記憶された前記通信処理情報と、前記変換したプログラムコードとを含めて生成するプログラム生成手段と、
無線通信により前記組み込み機器に対して制御を行う遠隔制御手段と、
を備える遠隔管理装置と、を備え、
前記遠隔制御手段は、前記生成した複数のプログラムを前記組み込み機器へ送信し、
前記組み込み機器は、前記遠隔管理装置から受信した複数のプログラムのそれぞれを、前記複数のプロセッサのうち対応するプロセッサにおいて実行させ、
前記複数のプロセッサは、各プロセッサが実行するプログラムに含まれる前記変換したプログラムコードに基づく処理を行い、当該プログラムに含まれる通信処理に基づいて、プロセッサ間の通信を行う
ことを特徴とする組み込み機器の遠隔管理システム。
An embedded device having a plurality of processors including a processor capable of wireless communication with the outside and realizing a predetermined function;
Storage means for preliminarily storing communication processing information which is a program module in which communication processing among the plurality of processors is implemented;
Configuration information generating means for generating configuration information in which the configuration of the predetermined function in the embedded device is defined by a plurality of nodes;
Node state information generating means for generating, for each of a plurality of nodes defined in the configuration information, node state information that defines a node state and action information that is a behavior of the node in the state;
Conversion means for converting from action information defined in the node state information into a program code that realizes processing corresponding to the behavior of the node in the state of the node;
Based on the configuration information, a program generation unit that generates a plurality of programs corresponding to each of the plurality of processors, including the communication processing information stored in the storage unit and the converted program code;
Remote control means for controlling the embedded device by wireless communication;
A remote management device comprising:
The remote control means transmits the generated plurality of programs to the embedded device,
The embedded device causes each of the plurality of programs received from the remote management device to be executed by a corresponding processor among the plurality of processors,
The plurality of processors performs processing based on the converted program code included in a program executed by each processor, and performs communication between the processors based on communication processing included in the program. Remote management system.
JP2010205344A 2010-09-14 2010-09-14 Program generating apparatus, method and program, and remote management system Expired - Fee Related JP5605109B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010205344A JP5605109B2 (en) 2010-09-14 2010-09-14 Program generating apparatus, method and program, and remote management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010205344A JP5605109B2 (en) 2010-09-14 2010-09-14 Program generating apparatus, method and program, and remote management system

Publications (2)

Publication Number Publication Date
JP2012063826A true JP2012063826A (en) 2012-03-29
JP5605109B2 JP5605109B2 (en) 2014-10-15

Family

ID=46059511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010205344A Expired - Fee Related JP5605109B2 (en) 2010-09-14 2010-09-14 Program generating apparatus, method and program, and remote management system

Country Status (1)

Country Link
JP (1) JP5605109B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015080105A (en) * 2013-10-17 2015-04-23 日本電気株式会社 Communication relay device, communication relay system, update method for relay definition information, and update program
JP2015080106A (en) * 2013-10-17 2015-04-23 日本電気株式会社 Management device, control method for management device, and program
JP2019533854A (en) * 2016-09-15 2019-11-21 オラクル・インターナショナル・コーポレイション Graph generation for distributed event processing systems.
JP2020535548A (en) * 2017-09-28 2020-12-03 オラクル・インターナショナル・コーポレイション State management persistence
US11394769B2 (en) 2017-03-17 2022-07-19 Oracle International Corporation Framework for the deployment of event-based applications
US11503107B2 (en) 2017-03-17 2022-11-15 Oracle International Corporation Integrating logic in micro batch based event processing systems
US11615088B2 (en) 2016-09-15 2023-03-28 Oracle International Corporation Complex event processing for micro-batch streaming

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09171405A (en) * 1995-12-20 1997-06-30 Hitachi Ltd Device and method for controlling fa system, and control program generating method
JP2000131194A (en) * 1998-10-28 2000-05-12 Honda Motor Co Ltd Vehicle diagnostic program generating apparatus and vehicle diagnostic apparatus
JP2008198143A (en) * 2007-02-15 2008-08-28 Fuji Electric Fa Components & Systems Co Ltd Program preparation support device and program preparation support method for programmable controller
US20090112567A1 (en) * 2007-10-30 2009-04-30 International Business Machines Corporation Preliminary data representations of a deployment activity model

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09171405A (en) * 1995-12-20 1997-06-30 Hitachi Ltd Device and method for controlling fa system, and control program generating method
JP2000131194A (en) * 1998-10-28 2000-05-12 Honda Motor Co Ltd Vehicle diagnostic program generating apparatus and vehicle diagnostic apparatus
JP2008198143A (en) * 2007-02-15 2008-08-28 Fuji Electric Fa Components & Systems Co Ltd Program preparation support device and program preparation support method for programmable controller
US20090112567A1 (en) * 2007-10-30 2009-04-30 International Business Machines Corporation Preliminary data representations of a deployment activity model

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015080105A (en) * 2013-10-17 2015-04-23 日本電気株式会社 Communication relay device, communication relay system, update method for relay definition information, and update program
JP2015080106A (en) * 2013-10-17 2015-04-23 日本電気株式会社 Management device, control method for management device, and program
JP2019533854A (en) * 2016-09-15 2019-11-21 オラクル・インターナショナル・コーポレイション Graph generation for distributed event processing systems.
JP7009456B2 (en) 2016-09-15 2022-01-25 オラクル・インターナショナル・コーポレイション Graph generation for distributed event processing systems
US11573965B2 (en) 2016-09-15 2023-02-07 Oracle International Corporation Data partitioning and parallelism in a distributed event processing system
US11615088B2 (en) 2016-09-15 2023-03-28 Oracle International Corporation Complex event processing for micro-batch streaming
US11657056B2 (en) 2016-09-15 2023-05-23 Oracle International Corporation Data serialization in a distributed event processing system
US11394769B2 (en) 2017-03-17 2022-07-19 Oracle International Corporation Framework for the deployment of event-based applications
US11503107B2 (en) 2017-03-17 2022-11-15 Oracle International Corporation Integrating logic in micro batch based event processing systems
JP2020535548A (en) * 2017-09-28 2020-12-03 オラクル・インターナショナル・コーポレイション State management persistence
JP7098721B2 (en) 2017-09-28 2022-07-11 オラクル・インターナショナル・コーポレイション State management persistence
JP7434431B2 (en) 2017-09-28 2024-02-20 オラクル・インターナショナル・コーポレイション state management persistence

Also Published As

Publication number Publication date
JP5605109B2 (en) 2014-10-15

Similar Documents

Publication Publication Date Title
JP5605109B2 (en) Program generating apparatus, method and program, and remote management system
US10509718B2 (en) System and method for automatically generating software testing scripts from test cases
Szvetits et al. Systematic literature review of the objectives, techniques, kinds, and architectures of models at runtime
KR101087439B1 (en) Software componentization
US9632771B2 (en) Association of metadata with source code and applications and services premised thereon
Warren The renaissance of legacy systems: method support for software-system evolution
US8250521B2 (en) Method and apparatus for the design and development of service-oriented architecture (SOA) solutions
US9251165B2 (en) End to end automation of application deployment
US8527985B2 (en) Techniques for rapid deployment of service artifacts
US20110022198A1 (en) Layered interface in an industrial environment
EP2228726B1 (en) A method and system for task modeling of mobile phone applications
Hallerbach et al. Context-based configuration of process variants
US20160004516A1 (en) Code Generation Framework for Application Program Interface for Model
US20100280863A1 (en) Automated Model Generation For Computer Based Business Process
CN104335170A (en) Cloud application deployment
WO2008113718A1 (en) Method, system and computer program for distributing customized software products
US20120072925A1 (en) Automated Service Interface Optimization
US8271934B2 (en) Developing software applications with increased modularity
CN103905231A (en) Method and device for unified management of device types
CN114115838A (en) Data interaction method and system based on distributed components and cloud platform
CN103026337A (en) Distillation and reconstruction of provisioning components
CN112947896B (en) Directed graph-based component dependency analysis method
US11880288B2 (en) Telemetry generation for in-field hardware testing
US10958514B2 (en) Generating application-server provisioning configurations
CN113485894A (en) Data acquisition method, device and equipment and readable storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140710

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: 20140729

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140811

R150 Certificate of patent or registration of utility model

Ref document number: 5605109

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees