JP5472296B2 - スクリプト記述分離再構築装置、スクリプト記述分離再構築方法及びスクリプト記述分離再構築プログラム - Google Patents

スクリプト記述分離再構築装置、スクリプト記述分離再構築方法及びスクリプト記述分離再構築プログラム Download PDF

Info

Publication number
JP5472296B2
JP5472296B2 JP2011514298A JP2011514298A JP5472296B2 JP 5472296 B2 JP5472296 B2 JP 5472296B2 JP 2011514298 A JP2011514298 A JP 2011514298A JP 2011514298 A JP2011514298 A JP 2011514298A JP 5472296 B2 JP5472296 B2 JP 5472296B2
Authority
JP
Japan
Prior art keywords
code
control
controller
processing
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011514298A
Other languages
English (en)
Other versions
JPWO2010134250A1 (ja
Inventor
紀章 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2011514298A priority Critical patent/JP5472296B2/ja
Publication of JPWO2010134250A1 publication Critical patent/JPWO2010134250A1/ja
Application granted granted Critical
Publication of JP5472296B2 publication Critical patent/JP5472296B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Landscapes

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

Description

本発明はシステム制御コマンドスクリプトを用いて少なくとも1以上のサブシステムから構成される制御対象システムを制御する制御装置における、スクリプト記述分離再構築装置、スクリプト記述分離再構築方法及びスクリプト記述分離再構築プログラムに関する。
近年、組み込みシステムまたは産業システム等に代表される様々なシステムは、各企業等が様々なバリエーションのものを製造、提供している。このため、複数のシステムいずれも、同一の目的に利用することが可能な状態が発生している。また、これらのシステムは、システムの更新時期に合わせて、その時点における最新のシステムに置き換えることで、既存の機能に加えて、さらに機能を追加することが可能である。
一方、これらのシステムは、システム毎に異なる仕様に基づいて構成されている。このため、このようなシステムを制御するコントローラは、同一の操作を行いたい場合であっても、それぞれのシステムに合わせて制御手順を修正する必要があった。つまり、コントローラに接続される制御対象システムが異なれば、コントローラはその制御対象システムの仕様に合わせてコマンドスクリプトを変更する必要があった。
特許文献1に記載のコントローラは、図29に示すように、予め制御対象システムに類似する機種に共通なドライバを備え、制御対象システムは、自身に類似する機種同士の差異を吸収するためのプロトコルデータを備える。この機種同士の差異を吸収するために必要な情報として、プロトコルデータは、この制御対象システムにおいて実行する処理のコマンド番号を示した定義情報に加えて、この制御対象システムの(1)BUSY値、(2)TIMEOUT値、(3)STOROBE値を含む。
特許文献1に記載のコントローラは、プロトコルデータに基づき、BUSY値に示されるインターバルで制御対象システムへ制御信号を送信する。このコントローラが制御対象システムへ制御信号を送信した後、プロトコルデータのTIMEOUT値に示される時間以上経過しても、この制御対象システムから制御信号の応答を受信しなかったとき、コントローラはこの制御対象システムの異常を検知する。さらにコントローラは、このプロトコルデータに基づき、STOROBE値に示される制御信号を連続で制御対象システムへ送信する。上記の一連の処理により、コントローラは、自身のプログラムの書き直しを行わなくても制御対象システムを制御できる。
特開2008−165683号公報
しかしながら、特許文献1記載のコントローラ及び制御対象システムには以下の問題点がある。特許文献1記載のコントローラ及び制御対象システムによっては、単一のシステムから構成される制御対象システムで利用していたコマンドスクリプトが、複数のサブシステムを組み合わせて構成される制御対象システムに対して流用できない。この問題は、制御対象システムが複数のサブシステムから構成されることに伴い、一般に複数のコントローラから構成される制御システムを用いることとなるが、複数のコントローラを連携させて、単一のシステムから構成される制御対象システムで利用していたコマンドスクリプトと同じ制御を行うには、制御システム全体で同じ制御となるように特別に構成されたコマンドスクリプトをコントローラ毎に準備しなければならないことに起因する。同様の問題は、複数のサブシステムからなる制御対象システム用のコマンドスクリプトを、複数のサブシステムからなる別構成の制御対象システムや単一のシステムから構成される制御対象システムで流用する場合にも発生する。
本発明は、このような問題点を解決するためになされたものであり、制御対象システムのサブシステム構成及び制御装置の構成、及びコマンドスクリプトの種類にかかわらず、同一の操作を同一のコマンドスクリプトで記述できるスクリプト記述分離再構築装置、スクリプト記述分離再構築方法及びスクリプト記述分離再構築プログラムを提供することを目的とする。
本発明にかかるスクリプト記述分離再構築装置の一態様は、少なくとも一以上のサブシステムから構成される制御対象システム及び前記制御対象システムを制御する制御システムのシステム構成情報を参照し、前記制御対象システムを制御するためのシステム制御コマンドスクリプト記述を、前記制御システムの基幹処理を行うホストにおける処理を示すホスト用コードと、前記制御対象システムを制御するコントローラにおける処理を示すコントローラ用コードとに分離することで、前記システム制御コマンドスクリプト記述を再構築するスクリプト記述分離再構築手段を備えるものである。
本発明にかかるスクリプト記述分離再構築方法の一態様は、少なくとも一以上のサブシステムから構成される制御対象システム及び前記制御対象システムを制御する制御システムのシステム構成情報を参照し、前記制御対象システムを制御するためのシステム制御コマンドスクリプト記述を、前記制御システムの基幹処理を行うホストにおける処理を示すホスト用コードと、前記制御対象システムを制御するためのコントローラにおける処理を示すコントローラ用コードとに分離することで、前記システム制御コマンドスクリプト記述を再構築するものである。
本発明にかかるスクリプト記述分離再構築プログラムの一態様は、制御対象システムを制御するためのシステム制御コマンドスクリプト記述を処理するためのプログラムが格納された非一時的なコンピュータ可読媒体であって、前記処理は、少なくとも一以上のサブシステムから構成される前記制御対象システム及び前記制御対象システムを制御する制御システムのシステム構成情報を参照し、前記制御対象システムを制御するための前記システム制御コマンドスクリプト記述を、前記制御システムの基幹処理を行うホストにおける処理を示すホスト用コードと、前記制御対象システムを制御するためのコントローラにおける処理を示すコントローラ用コードと、に分離することにより前記システム制御コマンドスクリプト記述を再構築するものである。
本発明によれば、制御対象システムのサブシステム構成、制御装置の構成、またはコマンドスクリプトの種類にかかわらず、同一の操作を同一のコマンドスクリプトで記述できるスクリプト記述分離再構築装置、スクリプト記述分離再構築方法、及びスクリプト記述分離再構築プログラムを提供することができる。

実施の形態1にかかるスクリプト記述分離再構築装置の概略を示すブロック図である。 実施の形態1にかかる構成を示すブロック図である。 実施の形態1にかかるスクリプト記述分離再構築部22の構成を示すブロック図である。 実施の形態1にかかるシステム制御装置の処理フローを示すフローチャートである。 実施の形態1にかかるシステム制御コマンドスクリプト記述81の記述例である。 実施の形態1にかかる制御対象システム1の構成の第1の例である。 実施の形態1にかかる制御対象システム1の構成の第1の例におけるシステム構成情報82である。 実施の形態1にかかる制御対象システム1の構成の第1の例における属性情報71である。 実施の形態1にかかる制御対象システム1の構成の第1の例における組み合わせコード72である。 実施の形態1にかかる制御対象システム1の構成の第1の例における組み合わせコード72である。 実施の形態1にかかる制御対象システム1の構成の第2の例である。 実施の形態1にかかる制御対象システム1の構成の第2の例におけるシステム構成情報82である。 実施の形態1にかかる制御対象システム1の構成の第2及び第3の例における属性情報71である。 実施の形態1にかかる制御対象システム1の構成の第2の例における組み合わせコード72である。 実施の形態1にかかる制御対象システム1の構成の第2の例における組み合わせコード72である。 実施の形態1にかかる制御対象システム1の構成の第3の例におけるシステム構成情報82である。 実施の形態1にかかる制御対象システム1の構成の第3の例における組み合わせコード72である。 実施の形態1にかかる制御対象システム1の構成例である。 実施の形態1にかかる制御対象システム1の構成例におけるシステム構成情報82である。 実施の形態1にかかる制御対象システム1の構成例におけるシステム構成情報82である。 実施の形態2にかかる構成を示すブロック図である。 実施の形態2にかかる制御装置の処理フローを示すフローチャートである。 本発明の実施例の構成を示すブロック図である。 本発明の実施例における制御装置の処理フローを示すフローチャートである。 本発明の実施例におけるデバッグ環境制御言語記述81−1の記述例である。 本発明の実施例における組み合わせコード72の出力例である。 本発明の実施例におけるデバッグ対象システムの構成例である。 本発明の実施例におけるシステム構成情報82の例である。 本発明の実施例における属性情報71の例である。 本発明の実施例における組み合わせコード72の例である。 本発明の実施例における組み合わせコード72の例である。 特許文献1に開示されたコントローラの構成を示すブロック図である。
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。
まず、図1を用いて、本発明の実施の形態1にかかるスクリプト記述分離再構築装置のシステム構成の概要について説明する。図1は、実施の形態1にかかるスクリプト記述分離再構築装置の概要を示すブロック図である。本実施の形態のシステム制御コマンドスクリプト記述81は、制御対象システム及び制御装置の構成にかかわらず、統一した記法で、制御対象システムを制御する記述が定義されたものである。システム構成情報82は、制御対象システム及び制御装置の構成を表す情報が記載されている。システム構成情報82は、制御対象システムのサブシステム構成に関する情報と、コントローラに関する情報と、制御対象システムの各構成要素が接続されるコントローラを示す情報とを有する。システム構成情報82の詳細は後述する。スクリプト記述分離再構築部22は、システム制御コマンドスクリプト記述81とシステム構成情報82とを入力とし、システム制御コマンドスクリプト記述81を分離して再構築することにより、コントローラ内での処理とホスト側とで処理されるコード80を出力する。
なお、スクリプト記述分離再構築装置は、CPUにコンピュータプログラムを実行させることにより実現するソフトウェアプログラムとして説明する。また、CPUが実行するコンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の通信媒体を介して伝送することにより提供することも可能である。また、非一時的なコンピュータ可読媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、CD−ROM、DVD、ROMカートリッジ、バッテリバックアップ付きRAMメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等が含まれる。また、通信媒体には、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体等が含まれる。
次に、図2を用いて、本発明の第1の実施形態における制御システムの詳細を示す。図2は、本発明の第1の実施の形態における制御システムの全体構成の詳細を示すブロック図である。図2には、制御の対象となる制御対象システム1と、制御対象システム1の制御を行う制御装置4とが示されている。制御装置4は、制御装置4の基幹となるホスト3を備える。ホスト3は、システム制御コマンドスクリプト処理装置2と、制御部31とを備える。制御対象システム1は、さらに、サブシステムA11と、サブシステムB12とを備え、制御装置4内にはそれぞれのサブシステムを制御するコントローラA41と、コントローラB42とを備える。システム制御コマンドスクリプト処理装置2及び制御部31は、ホスト3上で動作する。さらに、システム制御コマンドスクリプト処理装置2は、システム構成情報保持部21と、スクリプト記述分離再構築部22とを備える。
次に、本実施の形態のシステム制御コマンドスクリプト処理装置2で処理を行うシステム制御コマンドスクリプト記述81と、システム構成情報82とについて説明する。
システム制御コマンドスクリプト記述81には、制御対象システム1及び制御装置4の構成に関わらず統一された記法にて制御対象システム1の制御手順が記述されている。システム制御コマンドスクリプト記述81は、システムを操作する出力記述と、出力記述を実行する判断条件などに用いられる入力記述とを有する。出力記述は、制御対象システム1の動作を停止、実行再開するなどの実行制御と、制御装置4の制御と、及びレジスタや変数の値を変更する記述等とを含む。入力記述は、制御対象システム1及び制御装置4の状態を取得する記述と、制御対象システム1での特定の動作を検出したことを示すイベント情報を取得する記述等とを含む。また、システム制御コマンドスクリプト記述81は出力記述と、入力記述とを含み、条件判断などの記述も必要に応じて含む。
システム構成情報82は、制御対象システム1及び制御装置4の構成を表す。システム構成情報82には、制御対象システム1がどのようなサブシステムによって構成されているかを示す情報と、制御装置4の構成に関する情報と、コントローラに関する情報と、サブシステム及びサブシステム内の各リソースがそれぞれどのコントローラに属するかを示す情報とが含まれる。
次に、第1の実施形態における制御システムを構成する各部の詳細を説明する。システム構成情報保持部21は、システム構成情報82を保持する。
スクリプト記述分離再構築部22は、システム構成情報保持部21により保持されるシステム構成情報82を用い、システム制御コマンドスクリプト記述81を各コントローラ内での処理とホスト側での処理に分離して再構築する。スクリプト記述分離再構築部22は、各コントローラ用コード(図2におけるコントローラA用コード83、コントローラB用コード84)及びホスト用コード85を出力する。
制御部31は、スクリプト記述分離再構築部22の出力コードのうちホスト用コード85を実行し、コントローラA41、コントローラB42に対する制御指示の送受信、動作状況などの送受信を行い、制御装置全体を操作することで制御対象システム1を制御する。
制御装置4内のコントローラA41は、スクリプト記述分離再構築部22の出力コードのうちコントローラA用コード83を基に、制御部31からの指示と連携して動作し、サブシステムA11を制御する。制御装置4内のコントローラB42は、スクリプト記述分離再構築部22の出力コードのうちコントローラB用コード84を基に、制御部31からの指示と連携して動作し、サブシステムA12を制御する。
次に、図3を用いて、スクリプト記述分離再構築部22の詳細について説明する。図3は、スクリプト記述分離再構築部22の構成を示すブロック図である。スクリプト記述分離再構築部22は、属性判定部221と、組み合わせコード構築部222と、コード出力部223とを備える。
属性判定部221は、システム制御コマンドスクリプト記述81を入力とし、システム構成情報82を用いて、システム制御コマンドスクリプト記述81の各行の属性情報71を出力する。属性情報71は、システム制御コマンドスクリプト記述81のそれぞれの行が入力であるか出力であるか、または入力・出力の対象は何か(サブシステム、コントローラ、変数他)等の情報から構成される。
組み合わせコード構築部222は、属性情報71を用いて、システム制御コマンドスクリプト記述81を各コントローラでの処理と、ホストでの処理との組み合わせで表現することにより再構築する。組み合わせコード構築部222は、これを組み合わせコード72として出力する。再構築を行うにあたり、組み合わせコード構築部222は、属性情報71の情報を基に、システム制御コマンドスクリプト記述81を、コントローラまたは制御部内部で処理が閉じるローカルアクションと、複数のコントローラまたは制御部に跨る処理を必要とするグローバルアクションとに自動分類する。
組み合わせコード構築部222は、出力記述実行の条件に用いられている入力の発生元と出力記述の対象が同じコントローラまたは制御部内であれば、ローカルアクションとして分類する。なお、特に、コントローラがシーケンサを内蔵しない場合など、本来ローカルアクションとしての処置が望ましいものであっても、ホスト側での処理を必要とするコントローラが存在する。この場合、ローカルアクションとして分類可能な範囲であるか否かに関わらずグローバルアクションとして分類する。ローカルアクションに分類された箇所は、そのままコントローラまたはホストでの処理として扱われる。グローバルアクションに分類された箇所は、更にコントローラ内での処理と、ホスト側での処理とに分離する形で再構築される。ここで、コントローラ内での処理と、ホストの処理とに分離するにあたって、組み合わせコード構築部222は、システム制御コマンドスクリプト記述81の手順どおりに全体が動作するよう、必要に応じて通信処理、同期処理を補う。
コード出力部223は、組み合わせコード72をコントローラ、及びホストごとに分離し、コード80として出力する。ここでのコード80は、図2におけるコントローラA用コード83と、コントローラB用コード84と、ホスト用コード85とに相当する。各コントローラ用に出力されるコードは、各コントローラのローカルアクションに分類された記述と、グローバルアクションのうち再構築されたコントローラ内での処理等とが含まれる。
なお、図2において制御対象システム1はサブシステムA11、サブシステムB12の2つからなるシステムとしているが、本実施の形態のスクリプト記述分離再構築装置は任意の数のサブシステムからなる制御対象システムに対応したシステムに容易に拡張できる。また、図2において、サブシステムA、サブシステムB用のコントローラA41、コントローラB42をホスト3とは別に構成しているが、ホスト3用のソフトウェアとして構成する等の方法でホスト3内に含まれる構成や、制御対象システム1内の一部として構成してもよい。
次に、図4のフローチャートを用いて、本実施の形態にかかる処理システムの動作について説明する。
属性判定部221は、システム構成情報82を用いて、システム制御コマンドスクリプト記述81の各行の記述内容の属性情報71を出力する(S11)。組み合わせコード構築部222は、属性情報71を用いてシステム制御コマンドスクリプト記述81を各コントローラでの処理とホストでの処理との組み合わせで表現することで再構築する。これを、組み合わせコード72として出力する(S12)。最後にコード出力部223は、組み合わせコード72のうち、コントローラA41側での処理をコントローラA用コード83、コントローラB42側での処理をコントローラB用コード84、ホスト側の処理をホスト用のコード85として出力する(S13)。
この後、システムを実際に動作させる(S14、S15)。まず動作前にコントローラA用コード83、コントローラB用コード84はそれぞれ制御装置4内のコントローラA41、コントローラB42上にロードされる。また、ホスト用コード85は制御部31上にロードされる(S14)。その後、システムを動作させる段階において、コントローラA41及びコントローラB42は、制御部31からの指示と連携して動作する(S15)。
次に、システム制御コマンドスクリプト処理システムの動作の詳細について、システム制御コマンドスクリプト81の一例として図5のケースを用いて説明する。ここでは、コアA13とコアB14とを備える制御対象システム1において、コアA13とコアB14の双方の実行停止を待った後に、変数a、変数b、変数cの値を変更し、コアA13とコアB14の実行を再開する。図5では、説明のため自然言語でシステム制御コマンドスクリプト81を表記しているが、実際には一般的にコマンドスクリプトに用いられるスクリプト言語により表記される。
制御対象システム1の構成の第1の例として、図6に示すものを挙げる。図6の制御対象システム1は、サブシステムA11を制御するコントローラA41と、サブシステムB12を制御するコントローラB42と、記憶領域15とから構成される。更にサブシステムA11はコアA13を含み、サブシステムB12はコアB14を含む。また、記憶領域15は、コアA13専用のメモリ領域151の変数a154と、コアB12専用のメモリ領域152の変数b155と、コアA11およびコアB12双方から読み書きできる共有メモリ領域153の変数c156とを備える。
最初に、属性判定部221は、図5のシステム制御コマンドスクリプト記述81から、図7のシステム構成情報82を用いて図8の属性情報71を出力する。ここで、図7のシステム構成情報82には、制御装置4がコントローラAおよびコントローラBの2つから構成されることと、コントローラA、コントローラBとも単純処理のみ可能なコントローラであることと、制御対象システム1のサブシステム構成が、サブシステムA及びサブシステムBの2つからなり、サブシステムAはコントローラAによって、サブシステムBはコントローラBによって制御されることと、制御対象システム1はコアA及びコアBを含むが、コアAはサブシステムAに含まれることと、コアBはサブシステムBに含まれることと、変数a、b、cは、それぞれコアA、コアB、コアAまたはコアBからアクセス可能なこととが示されている。
図8の属性情報71は、システム制御コマンドスクリプト記述81の1行目が、サブシステムA及びサブシステムBからコントローラA及びコントローラBを経由して入力を行うことと、2行目がコントローラAを経由して変数への出力を行うことと、3行目がコントローラBを経由して変数への出力を行うことと、4行目がコントローラA、コントローラBのいずれかを経由して変数への出力を行うことと、5行目がコントローラA及びコントローラBを経由してサブシステムへの出力を行うこととを示している。
次に組み合わせコード構築部222は、システム構成情報82及び属性情報71を用いて、図5のシステム制御コマンドスクリプト記述81を各コントローラでの処理とホストでの処理との組み合わせで表現することで再構築し、図9に示すような組み合わせコード72を出力する。なお、ここでは説明のため、組み合わせコード72を図の形式にて表記しているが、実際には組み合わせコード72はコンピュータ処理が容易な形式にて出力される。以下に、図9に示す組み合わせコード72の説明を行う。
システム制御コマンドスクリプト記述81の1行目のコアA、コアB双方の停止を待つ処理は、属性情報82の1行目がコントローラA、コントローラBの双方からの入力であることから、コントローラA、コントローラB側での停止イベント待ち処理と、ホストへのイベント通知送信処理と、ホスト側での通知待ち処理とに再構築される。
次に、システム制御コマンドスクリプト記述81の2行目の変数aの書き換え処理は、属性情報82がコントローラAへの出力であることから、ホスト側での変数a書き換え指示送信処理と、コントローラA側での指令受信待ち処理と、変数a書き換え処理とに再構築される。なお、システム制御コマンドスクリプト記述81の3、4行目も同様に再構築される。ここで、システム制御コマンドスクリプト記述81の4行目の処理は、コントローラA、コントローラBの双方で処理が可能であることから、ここでは3行目の処理と連続して扱うことで効率化を図っている。
最後にシステム制御コマンドスクリプト記述81の5行目の処理は、コントローラAまたはコントローラBに対する出力処理である。ここで、システム制御コマンドスクリプト記述81の2〜4行目の処理は出力対象が変数であったが、5行目の処理は出力対象がサブシステム、つまりサブシステムの制御が目的である。よって、一旦4行目までの処理が終了するのを待つ処理が追加される。終了待ち後、5行目の処理はホスト側でのコントローラA及びコントローラBへの制御指令送信と、コントローラ側での指令受信待ちと、サブシステム制御処理と、に再構築される。
この後、コード出力部223は、ホスト側の処理である図9Iをホスト用のコード85として、サブシステムA11を制御するコントローラA41の処理である図9IIをコントローラA用コード83として、サブシステムB12を制御するコントローラB42の処理である図9IIIをコントローラB用コード84として出力する。
制御対象システム1の構成の第2の例として、図10に示すものを挙げる。図10の制御対象システム1は、サブシステムA11及びサブシステムB12双方をコントローラA41で制御する構成をとる。制御システム1は、記憶領域15も備える。更にサブシステムA11はコアA13を含み、サブシステムB12はコアB14を含む。また、記憶領域15は、コアA13専用のメモリ領域151の変数a154と、コアB12専用のメモリ領域152の変数b155と、コアA11およびコアB12双方から読み書きできる共有メモリ領域153の変数c156とを備える。
まず属性判定部221は、図5のシステム制御コマンドスクリプト記述81から、図11のシステム構成情報82を用いて、図12の属性情報71を出力する。
次に組み合わせコード構築部222は、システム構成情報82及び属性情報71を用いて、図5のシステム制御コマンドスクリプト記述81をホスト3での処理とコントローラA41での処理との組み合わせで表現することで再構築し、図13に示すような組み合わせコード72を出力する。なお、ここでは説明のために、組み合わせコード72は図の形式にて表記されているが、実際にはコンピュータ処理が容易な形式で出力される。以下に、図13に示す組み合わせコード72の説明を行う。
システム制御コマンドスクリプト記述81の1行目のコアA、コアB双方が停止するのを待つ処理は、属性情報82の1行目がコントローラAからの入力であることから、コントローラA側での停止イベント待ち処理と、ホストへのイベント通知送信処理と、ホスト側での通知待ち処理とに再構築される。
次にシステム制御コマンドスクリプト記述81の2行目の変数aの書き換え処理は、属性情報82がサブシステムAへの出力であることから、ホスト側での変数a書き換え指示送信処理と、コントローラA側での指令受信待ち処理と、変数a書き換え処理とに再構築される。システム制御コマンドスクリプト記述81の3、4行目の変数b、cの書き換え処理も同様に再構築される。ここでは、いずれの変数もコントローラA経由で扱うことから、変数a、b、cの書き換え処理がまとめて扱われている。
システム制御コマンドスクリプト記述81の5行目の処理は、サブシステムA、及びサブシステムBに対する出力処理である。ここで、システム制御コマンドスクリプト記述81の2〜4行目の処理は出力対象が変数であったが、5行目の処理は出力対象がサブシステム、つまりサブシステムの制御が目的である。よって、組み合わせコード72には、一旦4行目までの処理が終了するのを待つ処理が追加される。終了待ち後、システム制御コマンドスクリプト記述81の5行目は、ホスト側でのコントローラAへの制御指令送信と、コントローラ側での指令受信待ちとサブシステム制御処理と、に再構築される。
この後、コード出力部223は、ホスト3側の処理である図13Iをホスト用のコード85として、サブシステムA及びサブシステムBを制御するコントローラAの処理である図13IIをコントローラA用コード83として出力する。
制御対象システム1の構成の第3の例として、図10に示す制御対象システム1を挙げる。第2の例では、コントローラA41は単純処理のみ行える構成であったが、第3の例では、図14のシステム構成情報82に示すように、コントローラA41は高度処理が可能となっている点が異なる。高度処理は、単純にホストからの指示に応じた処理を行うのみではなく、コントローラ内で様々な条件判断などを含む一連の処置を独立して行えるものである。
属性判定部221は、図5のシステム制御コマンドスクリプト記述81から、図14のシステム構成情報82を用いて、図12の属性情報71を出力する。ここまでの処理は第2の例と同様の処理である。
次に組み合わせコード構築部222は、システム構成情報82及び属性情報71を用いて、図5のシステム制御コマンドスクリプト記述81を図15のようにホストでの処理と各サブシステムでの処理の組み合わせで表現することで再構築する。本構成においては、コントローラAは高度処理が可能であることから、システム制御コマンドスクリプト記述81はほぼそのままコントローラA用の処理として扱われる。コントローラA側の処理には、ホスト側との制御開始、終了処理に伴う連携処理のみが追加される。
この後、コード出力部223は、ホスト側の処理である図15Iをホスト用のコード85として、サブシステムA及びサブシステムBを制御するコントローラAの処理である図15IIをコントローラA用コード83として出力する。
その他の制御対象システム1の構成の例として、図16に示すものを挙げる。図16の制御対象システム1は、サブシステムA11がコアA13及びコアB14を含む点で図10と異なる。
この構成の制御対象システム1において、コントローラAが単純処理にのみ対応する場合、システム構成情報82は図17に示すものとなる。一方、コントローラAが高度処理に対応する場合、システム構成情報82は図18に示すものとなる。本構成においても、システム構成情報82が図17に示すものである場合、組み合わせコード構築部222は、図13と同様の処理手順で組み合わせコード72を出力する。システム構成情報82が図18に示すものである場合、組み合わせコード構築部222は、図15と同様の処理手順で組み合わせコード72を出力する。ただし、サブシステムBの代わりにサブシステムAを扱うようにそれぞれ再構築される。
次に、第1の実施形態におけるシステム制御コマンドスクリプト処理装置2の効果について説明する。一般に、コントローラ単体で扱える処理及びホストを含めて扱う必要がある処理は、制御対象システムによって制御システム構成やコントローラの機能が異なるためそれぞれ異なる。このため、一般的には個別のシステムごとに固有のシステム制御コマンドスクリプトを用意しなければいけない。
しかし、本システムでは、上述した一連の処理により、制御対象システムを制御するためのシステム制御コマンドスクリプト記述を、制御システムの基幹処理を行うホストにおける処理を示すホスト用コードと、コントローラにおける処理を示すコントローラ用コードとに分離する。制御対象システムは、ホスト用コードとコントローラ用コードによって制御することが可能である。よって、同一のシステム制御コマンドスクリプト81を用いれば、制御システムの構成、コントローラの機能によらず、同一の処理を制御対象システム1に行わせることが可能となる。このため、制御対象システム1のサブシステム構成及びコントローラが変わっても、システム制御コマンドスクリプトを容易に使い回すことができる。
また、制御対象システム1の構成ごとに専用のシステム制御コマンド処理システムを作成する方法で、統一されたシステム制御コマンドスクリプト81を流用可能とする方法は、処理システムの構築コストの観点から現実的でない。一方で本システムでは、システム構成情報82を用いることにより、制御対象システム1の構成によらず一つの処理系で対応することができる。
実施の形態2
本発明の実施の形態2は、システム制御コマンドスクリプト処理装置2が各コントローラ用のコードコンバータを備える。
前述の特許文献1に記載のシステムでは、各制御対象システムが予め共通のプロトコルを備えることを前提条件として、コマンドスクリプトを流用可能なコントローラが構成されている。そのため、制御対象システムに自身に類似する機種同士の差異を吸収するためのプロトコルデータを備えることができない場合など、異なるコマンドスクリプトを採用するコントローラや制御対象システムを統合して扱うことができない。本実施の形態は、このような問題を解決することができるスクリプト記述分離再構築装置にかかるものである。
本実施の形態にかかる制御システムの全体構成を図19に示す。本実施の形態にかかるシステム制御コマンドスクリプト処理装置2は、実施の形態1と異なり、コントローラA用コードコンバータ23と、コントローラB用コードコンバータ24と、ホスト用コードコンバータ25とを更に備える。図18におけるコントローラA41は高度処理が可能なコントローラ、コントローラB42は単純処理のみ可能なコントローラが用いられているものとする。
コードコンバータは、スクリプト記述分離再構築部22が出力するコードを、各コントローラまたは制御部が採用するコード形式に変換し、出力する。一般にコントローラまたは制御部が採用する制御手順を記述するコード形式は、そのコントローラまたは制御部に固有のものとなっていることが多い。このため、コードコンバータは各コントローラや制御部が採用するコード形式ごとに追加される。スクリプト記述分離再構築部22内のコード出力部223の出力コードは、コードコンバータによって変換された後に制御部31またはコントローラA41、コントローラB42で使用されるため、中間コードとしての扱いとなる。
ここで、単純処理のみ可能なコントローラなど、コントローラの構成によってはコマンドスクリプトによって制御手順を設定するのではなく、レジスタの値によって動作を設定するタイプのコントローラも存在する。このため、このようなタイプのコントローラ用のコードコンバータは、中間コードをコントローラのレジスタ設定値に変換する。ただし、制御中の指示はホスト上の制御部31から与えられる事が多いため、ここでのレジスタ設定値は主にコントローラのレジスタ初期設定などに用いられる。
コードコンバータは、ホスト及びコントローラの全てについて必ずしも付加する必要はない。スクリプト記述分離再構築部22の出力コードをそのまま使用可能な箇所には設置せず、コードの変換が必要な箇所のみに追加する構成も可能である。
次に図20のフローチャートを用いて、本実施の形態におけるシステムの動作について説明する。
属性判定部221は、システム構成情報82を用いて、システム制御コマンドスクリプト記述81の各記述内容を属性情報71として出力する(S21)。次に、組み合わせコード構築部222は、属性情報71を用いて、システム制御コマンドスクリプト記述81を各コントローラでの処理とホストでの処理との組み合わせで表現することで再構築する。これを、組み合わせコード構築部222は、組み合わせコード72として出力する(S22)。
続いて、コード出力部223は、組み合わせコード72のうち、コントローラA41、コントローラB42側での処理をそれぞれコントローラA用中間コード86、コントローラB用中間コード87として、ホスト3側(制御部31)の処理をホスト用の中間コード88として出力する(S23)。ここでの出力コードは、次のコードコンバータによって変換された後にコントローラA41、コントローラB42、または制御部31で使用されるため、中間コードとしての扱いとなる。
最後にコントローラA用コードコンバータ23は、コントローラA用中間コード86を、コントローラA41が採用するコード形式に変換し、コントローラA用コード83を出力する。コントローラB用コードコンバータ24は、コントローラB用中間コード87を、コントローラB41が採用するコード形式に変換し、コントローラB用設定情報89を出力する。同様に、ホスト用コードコンバータ25は、ホスト用中間コード88を制御部31が採用するコード形式に変換し、ホスト用コード85を出力する(S24)。
この後、システムを実際に動作させる(S25、S26)。システムを動作させる際、まず動作前にコントローラA用コード83、コントローラB用設定情報89はそれぞれ制御装置4を構成するコントローラA41、コントローラB42上にロードされる。また、ホスト用コード83はホスト3内の制御部31上にロードされる(S25)。その後、システムを動作させる段階において、コントローラA41とコントローラB42は、制御部31からの指示と連携して動作する(S26)。
次に、本発明の第2の実施形態におけるシステム制御コマンドスクリプト処理システムの効果について説明する。
本実施の形態のシステム制御コマンドスクリプト処理装置2は、制御対象システム1に自身に類似する機種同士の差異を吸収するためのプロトコルデータを備えることができない場合等、異なるコマンドスクリプトを採用するコントローラや制御対象システム1であっても、統合して扱うことができる。これは、スクリプト記述分離再構築部22が出力するコードを、各コントローラや制御部31が採用するコード形式に変換し、出力するコードコンバータを備えたことによる。
またコードコンバータによって様々なコード形式への対応が行われるため、スクリプト記述分離再構築部22は、単一のコード形式の出力のみに対応すればよい。このため、異なるコード形式を採用する様々なコントローラに対応するスクリプト記述分離再構築部22を構築する必要がなくなる。
また、本実施形式のシステム制御コマンドスクリプト処理装置2では、これまでにない新規のコード形式を採用するコントローラを新たにシステムに組み込んだ場合でも、スクリプト記述分離再構築部22を修正せずに、新たにシステムに組み込んだコントローラ用のコードコンバータのみ追加すれば対応可能となる。
具体的な実施例
続いて、具体的な実施例を用いて、本発明を実施するための構成及び動作を説明する。以下に述べる実施例は、システムのテスト・デバッグを行う環境に本実施の形態のシステム制御コマンドスクリプト処理システムを適用したものである。
図21は、本実施の形態の実施例におけるデバッグ処理システムの全体構成を示すブロック図である。デバッグシステム4−1は、デバッグ対象システム1−1をデバッグするためのシステムである。デバッグシステム4−1は、基幹となるホスト3と、システム制御コマンドスクリプト処理装置2とを備える。デバッグ対象システム1−1は、さらに、コアA13と、コアB14とを備える。デバッグシステム4−1内にはそれぞれのコアを制御するデバッグ制御ユニットA41−1と、デバッグ制御ユニットB42−1とを備える。本実施例のシステム制御コマンドスクリプト処理装置2及び統合デバッガ31−1は、ホスト3上で動作する。
システム制御コマンドスクリプト処理装置2は、システム構成情報保持部21と、スクリプト記述分離再構築部22と、デバッグ制御ユニットA用コードコンバータ23−1と、デバッグ制御ユニットB用コードコンバータ24−1と、ホスト用コードコンバータ25とを備える。デバッグ対象システム1−1のサブシステムは、それぞれ1つのコアから構成されるものとして表記を省略し、コアのみ示している。また、図21では、デバッグ制御ユニットA41−1は高度処理が可能なデバッグ制御ユニットが用いられているものとする。一方、デバッグ制御ユニットB42−1は単純処理のみ可能なデバッグ制御ユニットが用いられているものとする。
システム構成情報保持部21は、デバッグ対象システム1−1と、デバッグシステム4−1との構成を表すシステム構成情報82とを保持する。システム構成情報82は、デバッグ対象システム1−1の構成に関する情報と、デバッグシステム(コンピュータ上で動作するデバッグツール、CPU(Central Processing Unit:中央演算処理装置)またはDSP(Digital Signal Processor)などを対象としたJTAG−ICEなどのハードウェアデバッガ、デバッグ対象システム上のデバッグ用回路及びデバッグ用ソフトウェア等のデバッグ制御ユニット一式)全体がどのような構成であるかを示す情報と、コアなどの制御対象と、デバッグ対象システムから通知される情報(観測データなど)の発信元がどのデバッグ制御ユニットに属するかと、が含まれる。
スクリプト記述分離再構築部22は、システム構成情報保持部21によって保持されるシステム構成情報82を用い、システム制御コマンドスクリプト記述81を各デバッグ制御ユニット内での処理とホスト3側での処理とに分離する形で再構築する。スクリプト記述分離再構築部22は、各デバッグ制御ユニット用中間コード(図21におけるデバッグ制御ユニットA用中間コード86−1、デバッグ制御ユニットB用中間コード87−1)及びホスト用中間コード88を出力する。
デバッグ対象システム1−1の制御手順は、デバッグ対象システム1−1及びデバッグシステム4−1の構成に関わらず統一されたデバッグシステム制御言語81−1で記述されている。デバッグシステム制御言語記述81−1は、システムを操作する出力記述、出力記述を実行する判断条件などに用いられる入力記述を有する。出力記述は、デバッグ対象システム1−1の動作を停止、実行再開するなどの実行制御、デバッグシステム4−1の制御、またはレジスタや変数の値を変更する記述などが含む。入力記述は、デバッグ対象システム1−1及びデバッグシステム4−1の状態を取得する記述と、デバッグ対象システム1−1での特定の動作を検出したことを示すイベント情報を取得する記述等とが含まれる。また、出力記述、入力記述のほか、条件判断などの記述も必要に応じて含まれる。
コードコンバータ(デバッグ制御ユニットA用コードコンバータ23−1、デバッグ制御ユニットB用コードコンバータ24−1、ホスト用コードコンバータ25)は、スクリプト記述分離再構築部22が出力する中間コードを、各デバッグ制御ユニットや統合デバッガ31−1が採用するコード形式に変換し、出力する。
一般にデバッグ制御ユニットや統合デバッガが採用する制御手順を記述するコード形式は、そのデバッグ制御ユニットや統合デバッガに固有のものとなっていることが多い。このため、コードコンバータはデバッグ制御ユニットや統合デバッガが採用するコード形式ごとに追加される。ここで、単純処理のみ可能なデバッグ制御ユニットなど、デバッグ制御ユニットの構成によってはコマンドスクリプトによって制御手順を設定するのではなく、レジスタの値によって動作を設定するタイプのデバッグ制御ユニットも存在する。このため、このようなタイプのデバッグ制御ユニット用のコードコンバータは、中間コードをデバッグ制御ユニットのレジスタ設定値に変換する。ただし、制御中の指示はホスト上の統合デバッガ31−1から与えられる事が多いため、ここでのレジスタ設定値は主にデバッグ制御ユニットのレジスタ初期設定などに用いられる。また、コードコンバータは、デバッグ制御ユニット及びホストの全てについて必ずしも付加する必要はない。スクリプト記述分離再構築部22の出力コードをそのまま使用可能な箇所には設置せず、コードの変換が必要な箇所のみに追加する構成を取ることが可能である。
統合デバッガ31−1は、ホスト用コードコンバータ25の出力コードであるホスト用コード85を実行し、デバッグ制御ユニット41−1、及びデバッグ制御ユニット42−1に対する制御指示の送受信、動作状況などの送受信を行い、デバッグシステム4−1全体を操作することでデバッグ対象システム1−1を制御する。
本実施例において、デバッグシステム4−1内のデバッグ制御ユニットA41−1は、高度処理が可能となっている。このため、デバッグ制御ユニットA用コードコンバータ23−1からは制御ユニットA内蔵シーケンサ用コード83−1が出力される。デバッグ制御ユニットA41−1は、この制御ユニットA内蔵シーケンサ用コード83−1に従って統合デバッガ31−1からの指示と連携して動作し、コアA13を制御する。
一方、本実施例において、デバッグ制御ユニットB42は、単純処理のみ可能となっている。このため、デバッグ制御ユニットB用コードコンバータ24−1は初期設定に用いられる制御ユニットB用設定情報89−1のみを出力する。デバッグ制御ユニットB42−1は制御開始前にこの設定情報を元に初期化され、制御の際には統合デバッガ31−1からの指示によって動作し、コアB14を制御する。
次に図3を用いて、スクリプト記述分離再構築部22の詳細について説明する。なお、本実施例のスクリプト記述分離再構築部22は、第1の実施形態における構成と同様であるため、図3を用いて説明する。スクリプト記述分離再構築部22は、属性判定部221と、組み合わせコード構築部222と、コード出力部223とから構成される。
属性判定部221は、デバッグシステム制御言語記述81−1から、システム構成情報82を用いてデバッグシステム制御言語記述81−1の各行の属性情報を属性情報71として出力する。属性情報71は、デバッグシステム制御言語記述81−1のそれぞれの行が入力であるか出力であるか、または入力・出力の対象は何か(コア、デバッグ制御ユニット、変数他)等の情報から構成される。
組み合わせコード構築部222は、属性情報71を用いて、デバッグシステム制御言語記述81−1をホスト3での処理と、各デバッグ制御ユニットでの処理との組み合わせで表現することで再構築する。組み合わせコード構築部222は、これを組み合わせコード72として出力する。
再構築にあたり、組み合わせコード構築部222は、属性情報71の情報を基に、デバッグシステム制御言語記述81−1を、デバッグ制御ユニットまたは統合デバッガ31−1内部で処理が閉じるローカルアクションと、複数のデバッグ制御ユニットまたは統合デバッガ31−1に跨る処理を必要とするグローバルアクションとに自動分類する。出力記述実行の条件に用いられている入力の発生元と出力記述の対象が同じデバッグ制御ユニット、または統合デバッガ31−1内であればローカルアクションとして分類する。
なお、特にデバッグ制御ユニットがシーケンサを内蔵しない場合など、本来ローカルアクションとしての処理が望ましいものであっても、ホスト3側での処理を必要とするデバッグ制御ユニットが存在する。この場合、組み合わせコード構築部222は、アクションが閉じる範囲に関わらず、該当箇所をグローバルアクションとして分類する。ローカルアクションに分類された箇所は、そのままデバッグ制御ユニットまたは統合デバッガ31−1内部での処理として扱われる。グローバルアクションに分類された箇所は、更にデバッグ制御ユニット内での処理とホスト3側での処理に分離する形で再構築される。ここで、デバッグ制御ユニット内での処理とホスト3の処理に分離するにあたって、組み合わせコード構築部222は、システム制御コマンドスクリプト記述81の手順通りに全体が動作するよう、必要に応じて通信処理、同期処理を補う。
コード出力部223は、組み合わせコード72をデバッグ制御ユニットやホストごとの処理に分離し、コード80として出力する。コード80は、図21における制御ユニットA内蔵シーケンサ用コード83−1と、制御ユニットB用設定情報89−1と、ホスト用コード85とに相当する。各デバッグ制御ユニット用に出力されるコードは、各デバッグ制御ユニットのローカルアクションに分類された記述と、グローバルアクションのうち再構築されたデバッグ制御ユニット内での処理等とを含む。
なお、図21においてデバッグ対象システム1−1はコアA13、コアB14の2つからなるシステムとしているが、システム制御コマンドスクリプト処理装置2は任意の数のコアからなるデバッグ対象システム1−1に対応したシステムに容易に拡張できる。また、図21において、コアA13用のデバッグ制御ユニットA41−1、及びコアB14用のデバッグ制御ユニットB42−1をホスト3とは別に構成されるものとして記載しているが、これに限られるものではない。例えば、デバッグ制御ユニットA41−1及びデバッグ制御ユニットB42−1をホスト3用のソフトウェアとして構成するなどの方法でホスト3内に含む構成や、デバッグ対象システム1−1内の一部として構成する方法をとることも可能である。
次に、図22のフローチャートを用いて、本実施例におけるシステム制御コマンドスクリプト処理システムの動作について説明する。
属性判定部221は、システム構成情報82を用いて、デバッグシステム制御言語記述81−1の各記述内容の属性情報71を出力する(S31)。組み合わせコード構築部222は、属性情報71を用いてデバッグシステム制御言語記述81−1を各デバッグ制御ユニットでの処理とホスト3での処理との組み合わせで表現することで再構築する。組み合わせコード構築部222は、これを組み合わせコード72として出力する(S32)。
コード出力部223は、組み合わせコード72のうち、デバッグ制御ユニットA41−1側での処理をデバッグ制御ユニットA用中間コード86−1として出力する。また、デバッグ制御ユニットB42−1側での処理をデバッグ制御ユニットB用中間コード87−1として出力する。同様に、コード出力部223は、ホスト3側(統合デバッガ31−1)の処理をホスト用の中間コード88として出力する(S33)。この出力コードは、次のコードコンバータによって変換された後にデバッグ制御ユニットA41−1、デバッグ制御ユニットB42−1、統合デバッガ31−1で使用されるため、中間コードとしての扱いとなる。
最後に、デバッグ制御ユニットA用コードコンバータ23−1はデバッグ制御ユニットA用中間コード86−1をデバッグ制御ユニットA41−1が採用するコード形式に変換し、デバッグ制御ユニットA内蔵シーケンサ用コード83−1を出力する。デバッグ制御ユニットB用コードコンバータ24−1はデバッグ制御ユニットB用中間コード87−1をデバッグ制御ユニットB42−1が採用するコード形式に変換し、デバッグ制御ユニットB用設定情報89−1を出力する。同様に、ホスト用コードコンバータ25は、統合デバッガ31−1が採用するコード形式に変換し、ホスト用コード85を出力する(S34)。
この後、システムを実際に動作させる(S35、S36)。システムを動作させる際、まず動作前にデバッグ制御ユニットA内蔵シーケンサ用コード83−1、デバッグ制御ユニットB用設定情報89−1はそれぞれデバッグシステム4−1を構成するデバッグ制御ユニットA41−1、デバッグ制御ユニットB42−1上に、ホスト用コード83はホスト3内の統合デバッガ31−1上にそれぞれロードされる(S35)。そののち、システムを動作させる段階において、デバッグ制御ユニットA41−1、デバッグ制御ユニットB42−1は、統合デバッガ31−1からの指示と連携して動作する(S36)。
次に、デバッグ環境制御言語記述の再構築の一例を図23に示す。図23は、コアAとコアBの双方がブレイクポイントで停止した後に、変数a,b,cの値を変更し、コアAとコアB双方の実行を再開する処理を示す。なお、図23では、説明のため、処理を自然言語で表記したが、実際にはスクリプト形式で表記される。
1つのデバッグ制御ユニット(デバッガ等)で2つのコアを制御するシステムでは、この記述は全てローカルアクションとなり、記述は再構築されない。よって、図24の制御を行う指示がデバッグ制御ユニットに対して行われる。
一方で、2つのデバッグ制御ユニットを用いるシステムでは、デバッグ環境制御言語記述の再構築が必要となる。ここでは、図25に示すシステムは、コアA13を制御するデバッグ制御ユニットA41−1と、コアB14を制御するデバッグ制御ユニットB42−1とから構成され、更にコアAローカル領域の変数a154と、コアBローカル領域の変数b155と、共有領域の変数c156とを扱う場合についての動作を示す。
属性判定部221は、図23のデバッグ環境制御言語記述81−1から、図26のシステム構成情報82を用いて図27の属性情報71を出力する。属性情報71は、それぞれがどのデバッグ制御ユニットを対象としたものであるか、入力であるか出力であるか、または入力・出力の対象は何か(コア、デバッグ制御ユニット、変数他)などの情報から構成される。
次に組み合わせコード構築部222は、属性情報71を用いて図23のデバッグシステム制御言語記述を図28のように再構築し、組み合わせコード72として出力する。図23のデバッグシステム制御言語記述81−1の1行目のコアA、コアB双方がブレイクポイントで停止するのを待つ処理は、属性情報71がデバッグ制御ユニットA、デバッグ制御ユニットB双方からの入力であることから、デバッグ制御ユニットA、及びデバッグ制御ユニットB側でのコアA及びコアBのブレイクポイント停止イベント待ちと、ホストへのイベント通知送信処理と、ホスト側での通知待ち処理とに再構築される。
図23のデバッグシステム制御言語記述81−1の2行目の変数aの書き換え処理は、属性情報がデバッグ制御ユニットAへの出力であることから、ホスト側での変数a書き換え指示送信と、デバッグ制御ユニットA側での指令受信待ち処理と、変数a書き換え処理とに再構築される。図23のデバッグシステム制御言語記述81−1の3、4行目の処理も同様に再構築される。図23のデバッグシステム制御言語記述81−1の4行目の処理はデバッグ制御ユニットA、デバッグ制御ユニットBの双方で処理が可能であることから、ここでは3行目の処理と連続して扱うことで効率化を図っている。
図23のデバッグシステム制御言語記述81−1の5行目の処理は、デバッグ制御ユニットA、及びデバッグ制御ユニットBに対する出力処理である。ここで、図23のデバッグシステム制御言語記述81−1の2〜4行目の処理は出力対象が変数であったが、5行目の処理はコアであるため、一旦4行目までの処理が終了するのを待つ処理が追加される。終了待ち後、5行目の処理はホスト側でのデバッグ制御ユニットA及びデバッグ制御ユニットBへの制御指令送信と、デバッグ制御ユニット側での指令受信待ちと、コア制御処理へと、に再構築される。
次にコード出力部223は、組み合わせコード72のうち、デバッグ制御ユニットA41−1での処理である図28IIをデバッグ制御ユニットA用中間コード86−1として出力する。また、コード出力部223は、デバッグ制御ユニットB42−1側での処理である図28IIIをデバッグ制御ユニットB用中間コード87−1として出力する。同様に、コード出力部223は、ホスト側の処理である図28Iをホスト用の中間コード88として出力する。
最後に、デバッグ制御ユニットA用コードコンバータ23−1はデバッグ制御ユニットA用中間コード86をデバッグ制御ユニットA41−1が採用するコード形式に変換し、デバッグ制御ユニットA内蔵シーケンサ用コード83−1を出力する。デバッグ制御ユニットB用コードコンバータ24−1はデバッグ制御ユニットB用中間コード87をデバッグ制御ユニットB42−1が採用するコード形式に変換し、デバッグ制御ユニットB用設定情報89−1を出力する。同様に、ホスト用コードコンバータ25は、統合デバッガ31−1が採用するコード形式に変換し、ホスト用コード85を出力する。
次に、本実施例におけるシステム制御コマンドスクリプト処理システムの効果について説明する。
一般に、デバッグ制御ユニット単体で扱える処理と、ホスト含めて扱う必要がある処理は、デバッグ対象システムによってデバッグシステム構成が異なるためそれぞれ異なる。このため、一般的には個別のシステムごとにデバッグシステムの制御スクリプトを用意しなければいけない。
しかし本システムでは、制御言語で記述した動作どおりにデバッグシステム全体が動作する。上述した一連の処理により、デバッグ対象システムを制御するためのデバッグシステム制御言語記述を、ホストにおける処理を示すホスト用コードと、デバッグ制御ユニットにおける処理を示すコードとに分離する。デバッグ対象システムは、ホスト用コードとデバッグ制御ユニット用のコードによって制御することが可能である。よって、同一の制御記述を用いれば、デバッグ対象システム及びデバッグシステムの構成によらず、同一の処理をデバッグシステムにさせることが可能となる。このため、システムが変わっても同一の制御記述を容易に使い回しができる。
また、デバッグシステムの構成ごとに専用の制御言語処理システムを作成する方法で、統一されたデバッグシステム制御言語を流用可能とする方法は処理システムの構築コストの観点から現実的でない。一方、本システムでは、システム構成情報を用いることでデバッグ対象システム及びデバッグシステムの構成によらず一つの処理系で対応することができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
この出願は、2009年5月22日に出願された日本出願特願2009−124159を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は、例えば任意のシステムのテスト・デバッグを行う環境に対して利用可能性を有する。
1 制御対象システム
1−1 デバッグ対象システム
11 サブシステムA
12 サブシステムB
13 コアA
14 コアB
2 システム制御コマンドスクリプト処理装置
21 システム構成情報保持部
22 スクリプト記述分離再構築部
221 属性判定部
222 組み合わせコード構築部
223 コード出力部
23 コントローラA用コードコンバータ
23−1 デバッグ制御ユニットA用コードコンバータ
24 コントローラB用コードコンバータ
24−1 デバッグ制御ユニットB用コードコンバータ
25 ホスト用コードコンバータ
3 ホスト
31 制御部
31−1 統合デバッガ
4 制御装置
4−1 デバッグシステム
41 コントローラA
41−1 デバッグ制御ユニットA
42 コントローラB
42−1 デバッグ制御ユニットB
71 属性情報
72 組み合わせコード
80 コード
81 システム制御コマンドスクリプト記述
82 システム構成情報
82−1 デバッグシステム構成情報
83 コントローラA用コード
83−1 デバッグ制御ユニットA用コード
84 コントローラB用コード
85 ホスト用コード
86 コントローラA用中間コード
86−1 デバッグ制御ユニットA用中間コード
87 コントローラB用中間コード
87−1 デバッグ制御ユニットB用中間コード
88 ホスト用中間コード
89 コントローラB用設定情報
89−1 デバッグ制御ユニットB用設定情報
91 コントローラ
92 制御対象システム
93 接続媒体
94、95 記憶部
96、97 制御処理部
98、99 入出力部
941、951 制御機器I/O処理プロトコルデータ
942、952 ICタグ処理プロトコルデータ
943、953 制御機器初期化処理プロトコルデータ
961、971 プロトコルデータ交換部
962、972 機器制御ドライバ部

Claims (13)

  1. 少なくとも一以上のサブシステムから構成される制御対象システム及び前記制御対象システムを制御する制御装置のシステム構成情報を参照し、
    前記制御対象システムを制御するためのシステム制御コマンドスクリプト記述を、制御システムの基幹処理を行うホストにおける処理を示すホスト用コードと、前記制御対象システムを制御するコントローラにおける処理を示すコントローラ用コードとに分離することで、前記システム制御コマンドスクリプト記述を再構築するスクリプト記述分離再構築手段を備え
    前記スクリプト記述分離再構築手段は、
    前記システム構成情報を参照して、前記システム制御コマンドスクリプト記述の各記述内容の属性を判定し、その属性情報を出力する属性判定手段と、
    前記属性情報を用いて、前記ホスト内での処理と、前記コントローラでの処理の組み合わせで表現された組み合わせコードを生成する組み合わせコード構築手段とを備える、
    スクリプト記述分離再構築装置。
  2. 前記スクリプト記述分離再構築手段は、
    前記組み合わせコードを分離して前記ホスト用コード及び前記コントローラ用コードを生成し、生成した前記ホスト用コード及び前記コントローラ用コードを出力するコード出力手段を更に備える請求項1に記載のスクリプト記述分離再構築装置。
  3. 前記システム構成情報は、
    前記制御対象システムのサブシステム構成に関する情報と、前記コントローラに関する情報と、前記制御対象システムの各構成要素が接続される前記コントローラを示す情報とを備えた請求項1または請求項2に記載のスクリプト記述分離再構築装置。
  4. 前記属性判定手段は、
    処理の実行情報を示す属性、または入力処理であるか否か及び出力処理であるか否かを示す属性、または入出力の対象となる前記制御対象システムの構成要素を示す属性、のいずれか一つ以上を含む前記属性情報を出力する請求項1〜3のいずれか1項に記載のスクリプト記述分離再構築装置。
  5. 前記スクリプト記述分離再構築手段は、
    前記ホスト用コードまたは前記コントローラ用コードを中間コードとして出力し、前記中間コードを前記ホストまたは前記コントローラ毎に固有のコードへ変換する少なくとも1つのコード変換手段をさらに備える請求項1乃至4のいずれか一に記載のスクリプト記述分離再構築装置。
  6. 前記コード変換手段は、
    前記中間コードを前記サブシステムのレジスタ設定値に変換する請求項5に記載のスクリプト記述分離再構築装置。
  7. 少なくとも一以上のサブシステムから構成される制御対象システム及び前記制御対象システムを制御する制御システムのシステム構成情報を参照し、
    前記制御対象システムを制御するためのシステム制御コマンドスクリプト記述を、前記制御システムの基幹処理を行うホストにおける処理を示すホスト用コードと、前記制御対象システムを制御するためのコントローラにおける処理を示すコントローラ用コードとに分離することで、前記システム制御コマンドスクリプト記述を再構築するスクリプト記述分離再構築手段を備え
    前記スクリプト記述分離再構築手段は、
    前記システム構成情報を参照して、前記システム制御コマンドスクリプト記述の各記述内容の属性を判定し、その属性情報を出力する属性判定手段と、
    前記属性情報を用いて、前記ホスト内での処理と、前記コントローラでの処理の組み合わせで表現された組み合わせコードを生成する組み合わせコード構築手段とを備える、
    制御装置。
  8. 前記システム構成情報を保持するシステム構成情報保持手段を備えた請求項7に記載の制御装置。
  9. 前記ホスト用コードを実行する制御手段を備えた請求項7または請求項8に記載の制御装置。
  10. 前記コントローラ用コードを実行するコントローラを備えた請求項7乃至9いずれか一に記載の制御装置。
  11. 請求項7乃至10いずれかに記載の制御装置と少なくとも一以上の制御対象システムとを備える処理システム。
  12. 制御対象システムを制御するためのシステム制御コマンドスクリプト記述を処理するためのスクリプト記述分離再構築装置における処理方法であって、
    前記スクリプト記述分離再構築装置内のスクリプト記述分離再構築手段は、少なくとも一以上のサブシステムから構成される前記制御対象システム及び前記制御対象システムを制御する制御システムのシステム構成情報を参照し、
    前記制御対象システムを制御するためのシステム制御コマンドスクリプト記述を、前記制御システムの基幹処理を行うホストにおける処理を示すホスト用コードと、前記制御対象システムを制御するためのコントローラにおける処理を示すコントローラ用コードとに分離することで、前記システム制御コマンドスクリプト記述を再構築し、
    前記スクリプト記述分離再構築手段は、
    前記システム構成情報を参照して、前記システム制御コマンドスクリプト記述の各記述内容の属性を判定し、その属性情報を出力する属性判定手段と、
    前記属性情報を用いて、前記ホスト内での処理と、前記コントローラでの処理の組み合わせで表現された組み合わせコードを生成する組み合わせコード構築手段と、を備える、
    スクリプト記述分離再構築方法。
  13. コンピュータに、
    少なくとも一以上のサブシステムから構成される制御対象システム及び前記制御対象システムを制御する制御装置のシステム構成情報を参照し、
    前記制御対象システムを制御するためのシステム制御コマンドスクリプト記述を、前記制御対象システムの基幹処理を行うホストにおける処理を示すホスト用コードと、前記制御対象システムを制御するコントローラにおける処理を示すコントローラ用コードとに分離することで、前記システム制御コマンドスクリプト記述を再構築するスクリプト記述分離再構築ステップを実行させるためのプログラムであって、
    前記スクリプト記述分離再構築ステップは、
    前記システム構成情報を参照して、前記システム制御コマンドスクリプト記述の各記述内容の属性を判定し、その属性情報を出力する属性判定ステップと、
    前記属性情報を用いて、前記ホスト内での処理と、前記コントローラでの処理の組み合わせで表現された組み合わせコードを生成する組み合わせコード構築ステップと、
    を備える、プログラム。
JP2011514298A 2009-05-22 2010-03-24 スクリプト記述分離再構築装置、スクリプト記述分離再構築方法及びスクリプト記述分離再構築プログラム Active JP5472296B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011514298A JP5472296B2 (ja) 2009-05-22 2010-03-24 スクリプト記述分離再構築装置、スクリプト記述分離再構築方法及びスクリプト記述分離再構築プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009124159 2009-05-22
JP2009124159 2009-05-22
JP2011514298A JP5472296B2 (ja) 2009-05-22 2010-03-24 スクリプト記述分離再構築装置、スクリプト記述分離再構築方法及びスクリプト記述分離再構築プログラム
PCT/JP2010/002081 WO2010134250A1 (ja) 2009-05-22 2010-03-24 スクリプト記述分離再構築装置、スクリプト記述分離再構築方法及びスクリプト記述分離再構築プログラムが格納された非一時的なコンピュータ可読媒体

Publications (2)

Publication Number Publication Date
JPWO2010134250A1 JPWO2010134250A1 (ja) 2012-11-08
JP5472296B2 true JP5472296B2 (ja) 2014-04-16

Family

ID=43125943

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011514298A Active JP5472296B2 (ja) 2009-05-22 2010-03-24 スクリプト記述分離再構築装置、スクリプト記述分離再構築方法及びスクリプト記述分離再構築プログラム

Country Status (3)

Country Link
US (1) US9032365B2 (ja)
JP (1) JP5472296B2 (ja)
WO (1) WO2010134250A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9195456B2 (en) * 2013-04-30 2015-11-24 Hewlett-Packard Development Company, L.P. Managing a catalog of scripts

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0444181A (ja) * 1990-06-12 1992-02-13 Hitachi Ltd 並列変換処理方法
JPH06332828A (ja) * 1993-05-19 1994-12-02 Hitachi Ltd 通信処理プログラム開発支援システム
JP2001344127A (ja) * 2000-05-31 2001-12-14 Hitachi Ltd システム開発方法、記憶媒体、情報処理装置、情報端末装置、情報処理システム及び情報処理方法
JP2004118374A (ja) * 2002-09-25 2004-04-15 Keio Gijuku 変換装置及び変換方法及び変換プログラム及び変換プログラムを記録したコンピュータ読み取り可能な記録媒体

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428525A (en) * 1992-07-01 1995-06-27 Cappelaere; Patrice G. Computer system and method for signal control prioritizing and scheduling
JP3403335B2 (ja) * 1998-06-26 2003-05-06 日立ソフトウエアエンジニアリング株式会社 仮想地理空間オブジェクト生成システム及び記録媒体
JP3738624B2 (ja) * 1999-10-26 2006-01-25 日本電気株式会社 分散アプリケーション制御システム及び制御方法並びにプログラムを記録した記録媒体
US6907546B1 (en) * 2000-03-27 2005-06-14 Accenture Llp Language-driven interface for an automated testing framework
US6819754B1 (en) * 2000-08-29 2004-11-16 Cisco Technology, Inc. Generation of communication system control scripts
US7861174B2 (en) * 2000-09-08 2010-12-28 Oracle International Corporation Method and system for assembling concurrently-generated content
US20030131146A1 (en) * 2002-01-09 2003-07-10 International Business Machines Corporation Interactive monitoring and control of computer script commands in a network environment
US7089066B2 (en) * 2003-04-24 2006-08-08 Colorado Vnet, Llc Distributed control systems and methods
US20050149582A1 (en) * 2003-12-29 2005-07-07 Wissmann Joseph T. Method and system for synchronization of copies of a database
US7712088B2 (en) * 2004-07-08 2010-05-04 Microsoft Corporation Method and system for a batch parser
US7596756B2 (en) * 2005-12-14 2009-09-29 Vacava Inc. Browser session control system and method
CN101542445B (zh) * 2006-12-05 2012-10-10 高通股份有限公司 零单点故障负载平衡器的设备及方法
JP2008165683A (ja) 2007-01-04 2008-07-17 Hitachi Ltd 制御機器、そのコントローラおよび制御方法
US20110178946A1 (en) * 2010-01-15 2011-07-21 Incontact, Inc. Systems and methods for redundancy using snapshots and check pointing in contact handling systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0444181A (ja) * 1990-06-12 1992-02-13 Hitachi Ltd 並列変換処理方法
JPH06332828A (ja) * 1993-05-19 1994-12-02 Hitachi Ltd 通信処理プログラム開発支援システム
JP2001344127A (ja) * 2000-05-31 2001-12-14 Hitachi Ltd システム開発方法、記憶媒体、情報処理装置、情報端末装置、情報処理システム及び情報処理方法
JP2004118374A (ja) * 2002-09-25 2004-04-15 Keio Gijuku 変換装置及び変換方法及び変換プログラム及び変換プログラムを記録したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
US20120011488A1 (en) 2012-01-12
WO2010134250A1 (ja) 2010-11-25
US9032365B2 (en) 2015-05-12
JPWO2010134250A1 (ja) 2012-11-08

Similar Documents

Publication Publication Date Title
US8984349B2 (en) Method and system for automating the process of testing a device
US20130007720A1 (en) Dynamic Isolated Debugging via Class Instrumentation
JP4846493B2 (ja) デバッグシステム及びデバッグ回路
TWI566090B (zh) Debugging firmware / software to produce tracking systems and methods, recording media and computer program products
JP2011133473A (ja) 試験装置、試験方法およびプログラム
CN110362274A (zh) 一种NVMe控制器、网络化存储设备及系统
JP2011216092A (ja) 再構成可能なプロセッサーのシミュレーション装置及び方法
CN102520961A (zh) 片外在线可编程的soc系统及其控制方法
CN104505126A (zh) 一种动态存储器测试系统及方法
JPWO2008053709A1 (ja) 半導体集積回路選別試験装置および方法
JP5472296B2 (ja) スクリプト記述分離再構築装置、スクリプト記述分離再構築方法及びスクリプト記述分離再構築プログラム
JP6540473B2 (ja) デバッグサポートシステム
JP2008282308A (ja) 協調検証装置、協調検証方法、協調検証プログラム
CN102331961A (zh) 并行模拟多个处理器的方法及系统、调度器
JP6464739B2 (ja) 情報処理システムの制御プログラム,情報処理装置,及び情報処理システム
JP2010117813A (ja) デバッグシステム、デバッグ方法、デバッグ制御方法及びデバッグ制御プログラム
JP2009251762A (ja) デバッガ装置、デバッグ方法およびプログラム
JP5353063B2 (ja) 対処知識の生成プログラム、対処知識の生成装置および対処知識の生成方法
JP5900336B2 (ja) エミュレータ検証システム、エミュレータ検証方法
CN116185742A (zh) 处理器芯片性能测试方法和测试装置
CN116300780A (zh) 零部件配置方法、装置、电子设备及存储介质
US20160274992A1 (en) Method and multi-core processing system for tracing program execution state
JPWO2019092849A1 (ja) シミュレーション装置、シミュレーション方法およびシミュレーションプログラム
JP5120103B2 (ja) デバッグ方法およびデバッグプログラム
US20190361796A1 (en) Arithmetic processing apparatus and information processing system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130904

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140120

R150 Certificate of patent or registration of utility model

Ref document number: 5472296

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150