JP2010191658A - Maintenance method for application program - Google Patents
Maintenance method for application program Download PDFInfo
- Publication number
- JP2010191658A JP2010191658A JP2009034951A JP2009034951A JP2010191658A JP 2010191658 A JP2010191658 A JP 2010191658A JP 2009034951 A JP2009034951 A JP 2009034951A JP 2009034951 A JP2009034951 A JP 2009034951A JP 2010191658 A JP2010191658 A JP 2010191658A
- Authority
- JP
- Japan
- Prior art keywords
- maintenance
- logic
- application program
- program
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、アプリケーション・プログラムのメンテナンス方法に関する。 The present invention relates to an application program maintenance method.
OS(オペレーティング・システム)上で動作中のアプリケーション・プログラムによるプロセスの状態監視やその他のメンテナンスを行う方法として、一般的に以下の方法がある。 As a method for performing process status monitoring and other maintenance by an application program running on an OS (Operating System), there are generally the following methods.
(1)アプリケーション・プログラムにデバッグ情報を埋め込んでデバッガを利用する方法。 (1) A method of using a debugger by embedding debug information in an application program.
(2)専用のメンテナンス・ロジックをアプリケーション・プログラム本体に埋め込む方法。 (2) A method of embedding dedicated maintenance logic in the application program body.
(3)外部から参照が可能なメモリに必要な情報を保存する方法。 (3) A method for storing necessary information in a memory that can be referred to from the outside.
例えば、特許文献1では、プロセス間またはスレッド間でメッセージ通知を行う場合に、一連の処理に必要な手順の指示を示す命令コードと関連するデータ双方をパケットと呼ぶ領域に格納し、その命令を逐次実行し、命令コードからは任意のスレッドの関数を呼び出すという制御用プログラムと開発ツールが開示され、プログラムの開発効率とメンテナンス性を高めようとする。
For example, in
前記のデバッガを利用したメンテナンス方法では、動作中プロセスを一旦中断する必要がある。 In the maintenance method using the debugger described above, it is necessary to temporarily stop the process during operation.
他のメンテナンス方法の場合、プログラム作成時に想定したメンテナンス機能でしか利用できないため、新たなメンテナンス機能を追加できない。 In the case of other maintenance methods, new maintenance functions cannot be added because they can only be used with the maintenance function assumed when the program was created.
本発明の目的は、動作中のアプリケーション・プログラムをメンテナンスでき、メンテナンス機能の変更、追加も容易にしたアプリケーション・プログラムのメンテナンス方法を提供することにある。 An object of the present invention is to provide a maintenance method for an application program that can maintain an application program that is in operation and that can easily change and add a maintenance function.
本発明は、前記の課題を解決するため、アプリケーション・プログラムにもつアプリケーション・ロジックとは別スレッドで動作する通信部を設け、この通信部と同じスレッドとするメンテナンス・ロジック部とその実行をコントロールするメンテナンス実行部を設け、外部のメンテナンス・プログラムによるメンテナンス・ロジックの実行要求によるメンテナンス、またはメンテナンス・ロジック部をアプリケーション・プログラムに動的にロード/アンロードして外部のメンテナンス・プログラムによるメンテナンスを行うようにしたもので、以下の方法を特徴とする。 In order to solve the above problems, the present invention provides a communication unit that operates in a thread different from the application logic included in the application program, and controls the maintenance logic unit that uses the same thread as the communication unit and its execution. A maintenance execution unit is provided so that maintenance can be performed according to the maintenance logic execution request from an external maintenance program, or maintenance logic can be dynamically loaded / unloaded into an application program to perform maintenance using an external maintenance program. It features the following method.
(1)スレッドをサポートするOS上で動作中のアプリケーション・プログラムを、メンテナンス・プログラムによってメンテナンスする方法であって、
前記アプリケーション・プログラムは、アプリケーション・ロジック部と、前記アプリケーション・ロジックとは別スレッドで動作する通信部と、アプリケーションのメンテナンスを行うためのメンテナンス・ロジックをもつメンテナンス・ロジック部と、前記メンテナンス・ロジックが実行すべき関数を識別子によって一意に特定してその実行をコントロールするメンテナンス実行部によって構成し、
前記メンテナンス・プログラムは、前記メンテナンス・ロジックの識別子を前記メンテナンス実行部に送信して該メンテナンス・ロジックの実行を要求し、前記要求されたメンテナンス・ロジックをアプリケーション・プログラムが実行した結果の返送を受けてアプリケーション・プログラムのメンテナンスを終了することを特徴とする。
(1) A method of maintaining an application program running on an OS that supports threads by a maintenance program,
The application program includes an application logic unit, a communication unit that operates in a thread different from the application logic, a maintenance logic unit having maintenance logic for performing application maintenance, and the maintenance logic A maintenance execution unit that uniquely identifies a function to be executed by an identifier and controls its execution,
The maintenance program sends an identifier of the maintenance logic to the maintenance execution unit to request execution of the maintenance logic, and receives a return of a result of the application program executing the requested maintenance logic. And ending maintenance of the application program.
(2)前記通信部において利用する通信プロトコルにインターネットなどに装備する汎用プロトコルを使用し、前記メンテナンス実行部で定義する入出力情報を該汎用プロトコルに従った入出力とし、および前記メンテナンス・ロジック部におけるメンテナンス・プログラムへの処理結果の受け渡しを該汎用プロトコルに従った出力とすることを特徴とする。 (2) The communication protocol used in the communication unit uses a general-purpose protocol installed in the Internet or the like, and the input / output information defined in the maintenance execution unit is input / output according to the general-purpose protocol, and the maintenance logic unit The processing result is transferred to the maintenance program in accordance with the general protocol.
(3)前記OSがダイナミック・リンクをサポートする場合、前記メンテナンス・ロジック部をアプリケーション・プログラムから動的にロード/アンロードが可能なプログラム・コードとし、このプログラム・コードをメンテナンス時のみアプリケーション・プログラムにロードしてメンテナンスすることを特徴とする。 (3) When the OS supports dynamic linking, the maintenance logic part is a program code that can be dynamically loaded / unloaded from an application program, and this program code is an application program only during maintenance. It is characterized by being loaded and maintained.
(4)前記メンテナンス・ロジック部は、アプリケーション・プログラムからアンロードしてメンテナンス・ロジックを変更することを特徴とする。 (4) The maintenance logic unit unloads from the application program and changes the maintenance logic.
以上のとおり、本発明によれば、アプリケーション・プログラムにもつアプリケーション・ロジックとは別スレッドで動作する通信部を設け、この通信部と同じスレッドとするメンテナンス・ロジック部とその実行をコントロールするメンテナンス実行部を設け、外部のメンテナンス・プログラムによるメンテナンス・ロジックの実行要求によるメンテナンス、またはメンテナンス・ロジック部をアプリケーション・プログラムに動的にロード/アンロードして外部のメンテナンス・プログラムによるメンテナンスを行うようにしたため、動作中のアプリケーション・プログラムをメンテナンスでき、メンテナンス機能の変更、追加も容易になる。 As described above, according to the present invention, a communication unit that operates in a thread different from the application logic included in the application program is provided, and the maintenance logic unit that uses the same thread as the communication unit and the maintenance execution that controls the execution thereof Maintenance by external maintenance program execution request of maintenance logic, or by dynamically loading / unloading the maintenance logic part to application program to perform maintenance by external maintenance program It is possible to maintain a running application program and to easily change or add maintenance functions.
具体的には、メンテナンス用のロジックを通信を利用してアプリケーションとは別スレッドで動作させることにより、動作中のプロセス状態の参照や想定範囲内の動作変更をオンタイムで行うことが可能となる。 Specifically, by operating the maintenance logic in a separate thread from the application using communication, it becomes possible to refer to the process state during operation and change the operation within the expected range on time. .
また、外部通信部分のプロトコルやメンテナンス・ロジックの識別子および結果情報を変更することで、様々なネットワーク環境やツールを利用したメンテナンスが可能となる。 In addition, maintenance using various network environments and tools is possible by changing the protocol of the external communication part, the identifier of the maintenance logic, and the result information.
また、ダイナミック・リンクをサポートするOSにおいては、メンテナンス・ロジック部を必要に応じてロード/アンロードし、メモリ消費を最小限に抑えることが可能となる。 In addition, in an OS that supports dynamic linking, the maintenance logic unit can be loaded / unloaded as necessary to minimize memory consumption.
また、ダイナミック・リンクをサポートするOSにおいては、メンテナンス・ロジックをアプリケーション・ロジックに影響を与えることなく変更が可能となり、想定外のメンテナンス要因が発生した場合にも対処可能となる。 In addition, in an OS that supports dynamic linking, the maintenance logic can be changed without affecting the application logic, and it is possible to cope with unexpected maintenance factors.
(実施形態1)
図1は、本発明の実施形態を示すメンテナンスの処理態様図である。本実施形態では、スレッドをサポートするOS上で動作中のアプリケーション・プログラム10のメンテナンス(状態参照や動作の変更)をメンテナンス・プログラム20で実行可能にする。
(Embodiment 1)
FIG. 1 is a maintenance processing diagram showing an embodiment of the present invention. In the present embodiment, the
アプリケーション・プログラム10のアプリケーション・ロジック部1は、アプリケーション・プログラムで実行するアプリケーションのロジックで構成する。ただし、メンテナンスや保守のための情報は全く含まない構成とする。
The
アプリケーション・プログラム10の通信部2は、アプリケーション・ロジック部1とは別のスレッドで動作し、メンテナンス・プログラムと通信を行い、メンテナンス・ロジックを実行し、実行結果をメンテナンス・プログラム20に応答する。
The
アプリケーション・プログラム10のメンテナンス・ロジック部3は、アプリケーション・プログラム1のメンテナンスを行うために、アプリケーション・ロジック部1とは別にしたメンテナンス・ロジック情報をもつ。この情報は、アプリケーション・プログラムの関数を特定するための識別子と、それに対応する関数の対応表を保持する。
The
アプリケーション・プログラム10のメンテナンス実行部4は、メンテナンス・プログラム20からのメンテナンス実行の要求を受け付け、メンテナンス・ロジック部3にもつメンテナンス・ロジックの実行をコントロールする。
The
このようなロジック構成において、アプリケーション・プログラム10のメンテナンスは、以下の手順で行う。
In such a logic configuration, the maintenance of the
(手順1)メンテナンス・プログラム20をアプリケーション・プログラム10に接続する。
(Procedure 1) The
(手順2)メンテナンス・プログラム20から実行させたいメンテナンス・ロジックの識別子をアプリケーション・プログラムの通信部2に要求する。
(Procedure 2) The maintenance program identifier requested from the
(手順3)メンテナンス実行部4はメンテナンス・ロジック部3にもつ指定されたメンテナンス・ロジックを実行し、この結果を通信部2がメンテナンス・プログラム20に返送する。
(Procedure 3) The
(手順4)メンテナンスを終了する場合は、メンテナンス・プログラム20が切断処理を行う。
(Procedure 4) When the maintenance is finished, the
なお、メンテナンスの性格上、複数人での作業は不要と判断し、アプリケーション・プログラムとメンテナンス・プログラム間の接続は1つのみとする。 Note that due to the nature of maintenance, it is determined that work by multiple persons is unnecessary, and there is only one connection between the application program and the maintenance program.
図2は、メンテナンス関連の処理フローチャートを示す。通信部2は、外部との接続待ちをしておき(S1)、アプリケーション・プログラムを終了しない限り(S2)、外部からの接続が有るか否かを判定し(S3)、接続がなければ通信スレッドを起動し(S4)、接続があれば新規接続を拒否し(S5)、外部との接続待ちに戻る。
FIG. 2 shows a flowchart of processing related to maintenance. The
メンテナンス実行部4は、メンテナンスの要求を受信したとき(S6)、切断要求がない限り(S7)、かつメンテナンス要求された登録関数が有れば(S8)、メンテナンス・ロジック部3の実行をコントロールする(S9)。
When the
本実施形態によれば、メンテナンス用のロジックを通信を利用してアプリケーションとは別スレッドで動作させることにより、動作中のアプリケーション・プログラムで処理中のプロセス状態の参照や想定範囲内の動作変更をオンタイムで行うことが可能となる。 According to this embodiment, the maintenance logic is operated by a thread different from the application using communication, so that the process state being processed by the running application program can be referred to and the operation can be changed within the assumed range. It can be done on time.
(実施形態2)
本実施形態では、実施形態1において、通信部2およびメンテナンス実行部4で実装する通信プロトコルにインターネットなどに装備する汎用プロトコルを利用することにより、一般的なツールをメンテナンス・プログラム20として利用可能とする。
(Embodiment 2)
In the present embodiment, a general tool can be used as the
例えば、図3に示すように、メンテナンス・プログラム20としてTelnetを利用する場合、通信部2ではTCP/IPの通信を、メンテナンス・ロジック部4ではテキスト形式の入出力に対応させる。
For example, as shown in FIG. 3, when using Telnet as the
本実施形態によれば、アプリケーション・プログラムの通信部2のプロトコルやメンテナンス・ロジックの識別子および結果情報を変更することで、様々なネットワーク環境やツールを利用したメンテナンスが可能となり、メンテナンス機能の変更、追加も容易になる。
According to the present embodiment, it is possible to perform maintenance using various network environments and tools by changing the protocol of the
(実施形態3)
本実施形態では、OSがダイナミック・リンクをサポートする場合、図4に示すように、アプリケーション・プログラム10のメンテナンス時に、メンテナンス・ロジック部4に動的なロード/アンロードが可能なプログラム・コードをロードし、このプログラム・コードの実行によってメンテナンスを可能にする。
(Embodiment 3)
In this embodiment, when the OS supports dynamic linking, program code that can be dynamically loaded / unloaded is provided to the
これにより、通常運用時には不要なメンテナンス・ロジック部4を取り込まず、メンテナンス時のみメンテナンス・ロジック部を取り込むことが可能となり、メモリ消費を最小限に抑えることができる。
As a result, unnecessary
また、図5に示すように、動的にメンテナンス・ロジック部の変更が可能なことから、メンテナンス・ロジック部の変更を行った場合でも入れ替えを容易に実現でき、想定外のメンテナンス要因が発生した場合にも対処可能となる。 In addition, as shown in FIG. 5, since the maintenance logic part can be changed dynamically, even when the maintenance logic part is changed, replacement can be easily realized, and an unexpected maintenance factor has occurred. It becomes possible to deal with cases.
10 アプリケーション・プログラム
20 メンテナンス・プログラム
1 アプリケーション・ロジック部
2 通信部
3 メンテナンス・ロジック部
4 メンテナンス実行部
10
Claims (4)
前記アプリケーション・プログラムは、アプリケーション・ロジック部と、前記アプリケーション・ロジックとは別スレッドで動作する通信部と、アプリケーションのメンテナンスを行うためのメンテナンス・ロジックをもつメンテナンス・ロジック部と、前記メンテナンス・ロジックが実行すべき関数を識別子によって一意に特定してその実行をコントロールするメンテナンス実行部によって構成し、
前記メンテナンス・プログラムは、前記メンテナンス・ロジックの識別子を前記メンテナンス実行部に送信して該メンテナンス・ロジックの実行を要求し、前記要求されたメンテナンス・ロジックをアプリケーション・プログラムが実行した結果の返送を受けてアプリケーション・プログラムのメンテナンスを終了することを特徴とするアプリケーション・プログラムのメンテナンス方法。 A method of maintaining an application program running on an OS that supports threads by a maintenance program,
The application program includes an application logic unit, a communication unit that operates in a thread different from the application logic, a maintenance logic unit having maintenance logic for performing application maintenance, and the maintenance logic A maintenance execution unit that uniquely identifies a function to be executed by an identifier and controls its execution,
The maintenance program sends an identifier of the maintenance logic to the maintenance execution unit to request execution of the maintenance logic, and receives a return of a result of the application program executing the requested maintenance logic. And ending the maintenance of the application program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009034951A JP2010191658A (en) | 2009-02-18 | 2009-02-18 | Maintenance method for application program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009034951A JP2010191658A (en) | 2009-02-18 | 2009-02-18 | Maintenance method for application program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010191658A true JP2010191658A (en) | 2010-09-02 |
Family
ID=42817644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009034951A Pending JP2010191658A (en) | 2009-02-18 | 2009-02-18 | Maintenance method for application program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010191658A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130190946A1 (en) * | 2010-10-14 | 2013-07-25 | Toyota Jidosha Kabushiki Kaisha | Vehicle data acquisition system and vehicle data acquisition method |
KR20140123521A (en) * | 2012-02-09 | 2014-10-22 | 마이크로소프트 코포레이션 | Dynamic injection of code into running process |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11265278A (en) * | 1998-03-18 | 1999-09-28 | Mitsubishi Electric Corp | Dynamic function managing method for operating system |
US20070113218A1 (en) * | 2005-11-16 | 2007-05-17 | Sun Microsystems, Inc. | Debugging applications at resource constrained virtual machines using dynamically installable lightweight agents |
-
2009
- 2009-02-18 JP JP2009034951A patent/JP2010191658A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11265278A (en) * | 1998-03-18 | 1999-09-28 | Mitsubishi Electric Corp | Dynamic function managing method for operating system |
US20070113218A1 (en) * | 2005-11-16 | 2007-05-17 | Sun Microsystems, Inc. | Debugging applications at resource constrained virtual machines using dynamically installable lightweight agents |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130190946A1 (en) * | 2010-10-14 | 2013-07-25 | Toyota Jidosha Kabushiki Kaisha | Vehicle data acquisition system and vehicle data acquisition method |
KR20140123521A (en) * | 2012-02-09 | 2014-10-22 | 마이크로소프트 코포레이션 | Dynamic injection of code into running process |
JP2015507298A (en) * | 2012-02-09 | 2015-03-05 | マイクロソフト コーポレーション | Dynamic code insertion into a running process |
KR102023223B1 (en) * | 2012-02-09 | 2019-11-04 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Dynamic injection of code into running process |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5323828B2 (en) | Virtual machine control device, virtual machine control program, and virtual machine control circuit | |
JP2003345612A5 (en) | ||
JP2010191658A (en) | Maintenance method for application program | |
CN101770395A (en) | Applet thread model and component invoking method based on same | |
JP5981050B2 (en) | Application program management apparatus and management method | |
JP5771114B2 (en) | Controller and how to handle tasks and ladders | |
KR101102930B1 (en) | Robot used software component apparatus and thread processing method using by it | |
EP2120120B1 (en) | Method for modelling and executing a production rule in a discrete manufacturing scenario | |
US10295978B2 (en) | Engineering device, engineering system, and download processing method | |
JP2014225137A (en) | Task scheduler, microprocessor, and task scheduling method | |
JP2010020494A (en) | Protection controller | |
JP5400691B2 (en) | Programmable display monitoring operation method, monitoring operation program, and programmable display | |
JP2020126353A (en) | Vehicle control device and operation clock switching method | |
JP5195568B2 (en) | System call processing offload method, loosely coupled CPU type information processing apparatus and communication processing apparatus to which this method is applied | |
JP2010026660A (en) | Numerical control device | |
WO2017020639A1 (en) | Network processor, packet processing data acquisition method, and storage medium | |
JP2010128514A (en) | Plant control system | |
JP2008108123A (en) | Module execution device, and modularization program | |
JP2010282475A (en) | Microcomputer | |
WO2020217826A1 (en) | Electronic arithmetic device | |
JP5194360B2 (en) | Information processing apparatus and control method thereof | |
CN115599567A (en) | System and method for safety destroying service based on user-defined annotation | |
KR20210085613A (en) | Method for performing data communication and electronic device thereof | |
CN115213887A (en) | Robot control method, device, medium, and electronic apparatus | |
JP2008040995A (en) | Programmable controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130605 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130611 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130807 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20130807 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130827 |