JP2001142717A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP2001142717A
JP2001142717A JP32740899A JP32740899A JP2001142717A JP 2001142717 A JP2001142717 A JP 2001142717A JP 32740899 A JP32740899 A JP 32740899A JP 32740899 A JP32740899 A JP 32740899A JP 2001142717 A JP2001142717 A JP 2001142717A
Authority
JP
Japan
Prior art keywords
program
data analysis
data
function
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.)
Pending
Application number
JP32740899A
Other languages
English (en)
Inventor
Noboru Azuma
昇 東
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP32740899A priority Critical patent/JP2001142717A/ja
Publication of JP2001142717A publication Critical patent/JP2001142717A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】 新たな分析機能を実現するデータ分析プログ
ラムをデータ処理装置に追加登録するためには、データ
処理装置に依存する情報伝達プログラムを作成する必要
がある。本発明は、この情報伝達プログラムを自動生成
することにより、データ処理装置に関する知識を必要と
することなく、容易に機能拡張を行うことが出来、また
これにより高い開発効率を実現するデータ処理装置を提
案する。 【解決手段】 データ処理装置が内蔵する情報伝達プロ
グラム自動生成プログラム175は、ユーザが入力した
データ分析プログラム160のソースコードの構文を自
動的に解析し、当該データ分析プログラムが有する関数
及び引数等のパラメータ等の情報を、当該データ分析プ
ログラムとデータ処理装置の他のプログラムとの間で共
有するための情報伝達プログラムを自動的に生成し、当
該データ分析プログラムのソースコードに自動的に付加
する。これにより、データ処理装置に依存したプログラ
ミング開発が不要になり、開発効率が向上する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ上に
おいて、ソフトウエアによりデータ分析処理を行うデー
タ処理装置に関するものである。なお、本明細書におい
て、「データ分析処理」とは、デジタル映像信号、デジ
タル音声信号、自動制御装置の各種入力データ、その他
各種の数値データ等のデジタル入力データを処理し、そ
の処理結果として、デジタル出力データを得ることを言
う。
【0002】
【従来の技術】図6に、本発明が対象とするデータ処理
装置の従来例によるブロック図の一例を示す。本データ
処理装置は、画像データを入力し、分析処理することに
より、ユーザが対話的にサーボモータの制御量を決定す
ることが出来るシーケンサ制御装置である。本データ処
理装置は、(1)デジタル映像信号、各種の数値データ
等の被分析データ、又は被分析データを対象として各種
の分析アルゴリズムを実行する各種のデータ分析プログ
ラム160、シーケンサ制御プログラム190、その他
の各種の入力データ等を入力する入力部110、(2)
取り込んだ被分析データや各種のデータ分析プログラム
等を記憶するメモリ部120、(3)各種のデータ分析
プログラム160、対話的ユーザ・インターフェイスの
表示用プログラム170、シーケンサ制御プログラム1
90を内蔵し、これらのソフトウエアプログラムを実行
する分析処理部140、(4)シーケンサ制御プログラ
ム190に従ってシーケンサのサーボモータを制御する
出力部130、(5)データ分析プログラムのパラメー
タを対話的に決定するための各種対話的ユーザ・インタ
フェイスの表示や、各種のデータ分析プログラムにより
被分析データを分析した分析結果の表示等を行う表示部
150、(6)上記入力部110、メモリ部120、分
析処理部140、出力部130、及び表示部150を制
御する装置制御部180から成る。
【0003】データ処理装置は、分析処理部140にお
いて、各種のデータ分析プログラム160、対話的ユー
ザ・インターフェイスの表示用プログラム170、及び
シーケンサ制御プログラム190を動的リンクすること
により、その機能を発揮する。「動的にリンクする」と
は、分析処理部において、前記の種々のソフトウエアプ
ログラムの実行モジュールが相互に必要な情報(パラメ
ータ等)を共有する状態(相互に伝達出来る状態)でリ
ンクされていることを意味する。「パラメータを共有す
る」とは、別々のプログラムから、メモリ部に蓄積され
た当該パラメータの値を読み出すことが出来ること、又
は当該パラメータの新しい値をメモリ部に書き込むこと
が出来ることを意味する。新たなデータ分析プログラム
を入力部110より入力し、既存のデータ分析プログラ
ムと動的にリンクすることにより、分析処理部140は
新たな機能を獲得することが出来るため、データ分析装
置は拡張性を有する。
【0004】図6の各データ分析プログラム160の間
を相互につなぐ線は、これらのデータ分析プログラムの
間で情報が共有されていることを表す。分析処理部14
0内部のプログラム上の概念であり、各プログラム間を
バスライン等のハードウエアが走っている訳ではない
(図1も同じ)。同様に、「情報伝達プログラム」の
「情報伝達」の語も、情報を共有する意であり、バスラ
イン等を通じて情報を伝送することではない。
【0005】このような従来の構成においては、新たな
データ分析プログラムを分析処理部に追加する場合、そ
のデータ分析プログラムが単独で処理を完結する場合を
除き、追加する新たなデータ分析プログラムと既存のデ
ータ分析プログラム等との間で、情報を共有する必要が
ある。共有する情報としては、信号データや、データ分
析処理固有のパラメータとその分析結果等がある。デー
タ分析プログラム160相互の間で情報を共有するため
には、情報共有を仲立ちする情報伝達プログラム162
を各データ分析プログラム160に組み込む必要があ
る。この情報伝達プログラム162は、データ処理装置
独自の仕様に基づいて記述する必要があるため、ユーザ
はデータ処理装置独自の情報伝達仕様を調査し、その調
査結果に基づいて情報伝達プログラム162を各データ
分析プログラム160へ組み込んでいた。
【0006】またデータ分析装置においては、一般的
に、データ分析プログラムに含まれる各種の分析パラメ
ータを試行錯誤的に決め、その都度データ分析プログラ
ムを繰り返して実行することにより、最適なパラメータ
を決定している。この最適なパラメータの決定作業を、
ユーザが、データ分析プログラムを直接書き換えながら
行っていたのでは、時間的にも労力的にも、ユーザにと
って負担が大き過ぎる。そこで、データ分析プログラム
に含まれるパラメータの最適値を効率的に決定するため
には、データ分析プログラムに含まれる各種パラメータ
をCRT等の表示装置上に表示し、ユーザが対話的に表
示装置に表示されたパラメータを変更することができる
対話的ユーザ・インターフェイスが望ましい。
【0007】しかしユーザ自身が対話的ユーザ・インタ
ーフェイスを実現するプログラム(「対話的ユーザ・イ
ンターフェイスのプログラム」と言う。)を開発するこ
とは、一般に困難であるため、データ処理装置が標準的
な対話的ユーザ・インターフェイスのプログラムを内蔵
しており、ユーザがこの対話的ユーザ・インターフェイ
スのプログラムを起動することにより、対話的に表示装
置に表示されたパラメータを変更することができるケー
スがある。しかし、この場合も、パラメータを有するデ
ータ分析プログラムと内蔵の対話的ユーザ・インターフ
ェイスのプログラムとの間で、表示装置に表示するため
のパラメータ等の情報(「対話的ユーザ・インターフェ
イス情報」と言う。)を共有する必要があるため、ユー
ザは内蔵する対話的ユーザ・インターフェイスのプログ
ラム独自の仕様を調査し、その調査結果に基づいて、対
話的ユーザ・インターフェイス情報を共有するための情
報伝達プログラム162をデータ分析プログラム160
に組み込む必要があった。
【0008】さらに、データ分析プログラム160の実
行結果に基づいてシーケンサ制御プログラム190の仕
様を決定する上において、データ分析プログラム160
の実行結果を自動的にシーケンサ制御プログラム190
に伝達するためには、データ分析プログラム160とシ
ーケンサ制御プログラム190の間で、情報を共有する
必要がある。この場合にも、ユーザは、シーケンサ制御
プログラム独自の仕様に準拠した情報伝達プログラムを
開発し、データ分析プログラムの中に組み込まなければ
ならなかった。以上のように、従来のデータ分析装置は
仕様の上では拡張性を有してはいたが、実際的には、ユ
ーザが機能拡張をするのは困難であった。
【0009】
【発明が解決しようとする課題】従来のデータ処理装置
においては、新たなデータ分析プログラムをデータ処理
装置に追加し機能拡張を図るためには、データ処理装置
が内蔵する他のデータ分析プログラムと新たなデータ分
析プログラム間で情報を共有するため、ユーザが情報伝
達プログラム162を開発し、データ分析プログラム1
60に組み込まなければならなかった。しかしこの情報
伝達プログラムは、データ処理装置独自の仕様に準拠し
て作成しなければならないため、その作業は容易でな
く、特にその仕様調査には多くの時間を費やさなければ
ならず、開発効率を低下させる原因となっている。
【0010】また、データ処理装置が標準的な対話的ユ
ーザ・インターフェイスのプログラムを提供する場合、
対話的ユーザ・インターフェイス情報を対話的ユーザ・
インターフェイスのプログラムと共有するために、ユー
ザは、データ分析プログラムの中に情報伝達プログラム
を開発し組み込まなければならなかった。しかも、この
対話的ユーザ・インターフェイス情報も内蔵する対話的
ユーザ・インターフェイスのプログラム独自の仕様に準
拠して作成しなければならないため、その仕様調査に多
くの時間を費やさなければならず、開発効率を低下させ
ている。
【0011】さらに、開発したデータ分析プログラムの
動作テストにおいて、本来目的とするデータ分析アルゴ
リズムの動作テストの他に、情報伝達機能(情報の共有
化)のテストも行わなければならず、そのデバッグに多
大な時間が割かれていた。さらに、データ分析プログラ
ム160の実行結果に基づいてシーケンサ制御プログラ
ム190の仕様を決定する上において、データ分析プロ
グラム160の実行結果を自動的にシーケンサ制御プロ
グラム190に伝達するためには、データ分析プログラ
ム160とシーケンサ制御プログラム190の間で、情
報を共有する必要がある。この場合にも、ユーザは、シ
ーケンサ制御プログラム独自の仕様に準拠した情報伝達
プログラムを開発し、データ分析プログラムの中に組み
込まなければならなかった。
【0012】更に、他のプログラムと情報を共有する上
で、他の分析プログラムの仕様と内蔵する標準的な対話
的ユーザ・インターフェイスのプログラムの仕様とシー
ケンサ制御プログラムの仕様が同じであればよいが、も
し相互に異なる仕様であれば、ユーザは、他の分析プロ
グラムとの情報の共有のための情報伝達プログラム、内
蔵する標準的な対話的ユーザ・インターフェイスのプロ
グラムとの情報の共有のための情報伝達プログラム、及
びシーケンサ制御プログラムとの情報の共有のための情
報伝達プログラムを別個に開発し、分析プログラムに組
み込む必要が発生する。
【0013】本発明は、データ分析プログラム160に
対して自動的に情報伝達プログラムを作成し組み込むこ
とにより、他のデータ分析プログラムとリンクした機能
拡張が容易なデータ処理装置を提供することを目的とす
る。また、データ分析プログラム160に対して自動的
に情報伝達プログラムを作成し組み込み、データ分析プ
ログラム160と内蔵する標準的な対話的ユーザ・イン
ターフェイスのプログラム170との間で対話的ユーザ
・インターフェイス情報を共有することにより、表示部
150に表示されたパラメータを対話的に決定できるデ
ータ処理装置を提供することを目的とする。
【0014】更に、データ分析プログラム160に対し
て自動的に情報伝達プログラムを作成し組み込み、デー
タ分析プログラム160とシーケンサ制御プログラム1
90が情報を共有することにより、データ分析プログラ
ム160の実行結果に基づいて、シーケンサ制御プログ
ラム190の仕様を自動的に、又は一部のパラメータに
ついて自動的に決定出来るデータ処理装置を提供するこ
とを目的とする。更に、各プログラムに標準の仕様に基
づいた情報伝達プログラムを自動的に組み込むことによ
り、データ処理装置内の種々のプログラムの間で情報を
共有化し、統一的な情報の取り扱いを行うデータ処理装
置を提供することを目的とする。
【0015】
【課題を解決するための手段】本発明のデータ処理装置
は、データ分析プログラムの構文を解析し、情報伝達プ
ログラムを自動的に生成するプログラムを内蔵すること
により、当該データ分析プログラムと他のプログラムの
間で、データ分析プログラムが有する関数及び関数のパ
ラメータを共有することを特徴とする。この発明によれ
ば、自動的に情報伝達プログラムを作成することによ
り、入力したデータ分析プログラムを他のデータ分析プ
ログラムとリンクさせ機能拡張を行うことが容易にな
り、拡張性の高いデータ処理装置を実現することが出来
る。
【0016】また、自動的に情報伝達プログラムを作成
し、データ分析プログラムと内蔵する標準的な対話的ユ
ーザ・インターフェイスのプログラムとの間で情報を共
有することにより、表示装置に表示されたパラメータを
対話的に決定できるデータ処理装置を実現することが出
来る。
【0017】更に、データ分析プログラムに対して自動
的に情報伝達プログラムを作成し組み込み、データ分析
プログラムとシーケンサ制御プログラム190との間で
情報を共有することにより、データ分析プログラムの実
行結果に基づいて、シーケンサ制御プログラム190の
仕様を自動的に、又は一部のパラメータについて自動的
に決定出来るデータ処理装置を実現することが出来る。
【0018】更に、各プログラムに標準の仕様に基づい
た情報伝達プログラムを自動的に組み込むことにより、
データ処理装置内の種々のプログラムの間で情報を共有
化し、統一的な情報の取り扱いを行うデータ処理装置を
実現することが出来る。
【0019】本発明のデータ処理方法は、データ分析プ
ログラムの構文を解析し、情報伝達プログラムを自動的
に生成するプログラムを生成するステップを有すること
により、当該データ分析プログラムと他のプログラムの
間で、データ分析プログラムが有する関数及び関数のパ
ラメータを共有することを特徴とする。この発明によれ
ば、自動的に情報伝達プログラムを生成することによ
り、入力したデータ分析プログラムを他のデータ分析プ
ログラムとリンクさせ機能拡張を行うことが容易にな
り、拡張性の高いデータ処理方法を実現することが出来
る。
【0020】本発明の記録媒体は、当該記録媒体に記録
されたプログラムをデータ処理装置に読み込むことによ
り、データ処理装置内で自動的に情報伝達プログラムが
生成され、データ分析プログラムと他のプログラムの間
で、データ分析プログラムが有する関数及び関数のパラ
メータを共有することを特徴とする。この発明によれ
ば、自動的に情報伝達プログラムを生成することによ
り、入力したデータ分析プログラムを他のデータ分析プ
ログラムとリンクさせ機能拡張を行うことが容易にな
り、拡張性の高いデータ処理方法を実現することが出来
る。
【0021】
【発明の実施の形態】本発明の請求項1に記載の発明
は、(A)データ分析プログラムを入力する入力手段
と、(B)前記データ分析プログラムの構文を解析する
構文解析手段と、(C)構文解析結果に基づいて、前記
データ分析プログラムの関数を決定する関数決定手段
と、(D)決定した前記関数のパラメータを決定するパ
ラメータ決定手段と、(E)決定した前記関数及び前記
パラメータを含む情報(以下、「共有情報」と言う。)
を他のプログラムと共有するための情報伝達プログラム
を生成する手段と、を有することを特徴とするデータ処
理装置である。本発明は、自動的に情報伝達プログラム
を作成することにより、入力したデータ分析プログラム
を他のデータ分析プログラムとリンクさせることが出
来、これによりデータ処理装置の機能拡張を行うことが
容易になり、拡張性の高いデータ処理方法を実現すると
いう作用を有する。
【0022】本発明の請求項2に記載の発明は、請求項
1のデータ処理装置であって、さらに(F)表示装置に
前記パラメータを表示し、かつ表示されたパラメータの
うち少なくとも1つのパラメータの値を変更することが
できるプログラムである対話的ユーザ・インターフェイ
スのプログラムを有し、前記情報伝達プログラムによ
り、前記データ分析プログラムと前記対話的ユーザ・イ
ンターフェイスのプログラムは、決定した前記関数及び
前記パラメータを共有する、ことを特徴とするデータ処
理装置である。本発明は、自動的に情報伝達プログラム
を作成することにより、内蔵する標準的な対話的ユーザ
・インターフェイスのプログラムとデータ分析プログラ
ムとの間で情報を共有出来る様にする。これにより、表
示装置に表示されたパラメータを対話的に決定できるデ
ータ処理装置を実現するという作用を有する。
【0023】本発明の請求項3に記載の発明は、請求項
1のデータ処理装置であって、さらに(G)出力処理プ
ログラムを有し、前記情報伝達プログラムにより、前記
データ分析プログラムと前記出力処理プログラムは前記
共有情報を共有し、前記出力処理プログラムは前記共有
情報の中の少なくとも1つの情報を用いて出力処理を行
う、ことを特徴とする装置である。本発明は、データ分
析プログラムに対して自動的に情報伝達プログラムを作
成し、出力処理プログラムとデータ分析プログラムとの
間で情報を共有出来る様にする。これにより、データ分
析プログラムの実行結果に基づいて、出力処理プログラ
ムの仕様を自動的に、又は一部のパラメータについて自
動的に決定出来るデータ処理装置を実現するという作用
を有する。
【0024】本発明の請求項4に記載の発明は、請求項
1のデータ処理装置であって、さらに前記情報伝達プロ
グラムを有する1個又は2個以上のデータ分析プログラ
ム、対話的ユーザ・インターフェイスのプログラム、又
は出力処理プログラムのいずれかに属する3個以上のプ
ログラム間で前記共有情報を共有するデータ処理装置で
ある。本発明は、各プログラムに標準の仕様に基づいた
情報伝達プログラムを自動的に作成することにより、デ
ータ処理装置内の種々のプログラムの間での情報の共有
を可能にし、統一的な情報の取り扱いを行うデータ処理
装置を実現するという作用を有する。
【0025】本発明の請求項5に記載の発明は、(A)
データ分析プログラムを入力する入力ステップと、
(B)前記データ分析プログラムの構文を解析する構文
解析ステップと、(C)構文解析結果に基づいて、前記
データ分析プログラムの関数を決定する関数決定ステッ
プと、(D)決定した前記関数のパラメータを決定する
パラメータ決定ステップと、(E)決定した前記関数及
び前記パラメータを含む情報を他のプログラムと共有す
るための情報伝達プログラムを生成するステップと、を
有することを特徴とするデータ処理方法である。本発明
は、自動的に情報伝達プログラムを作成することによ
り、入力したデータ分析プログラムを他のデータ分析プ
ログラムとリンクさせることが出来、これにより拡張性
の高いデータ処理方法を実現するという作用を有する。
【0026】本発明の請求項6に記載の発明は、(B)
データ分析プログラムの構文を解析する構文解析手段
と、(C)構文解析結果に基づいて、前記データ分析プ
ログラムの関数を決定する関数決定手段と、(D)決定
した前記関数のパラメータを決定するパラメータ決定手
段と、(E)決定した前記関数及び前記パラメータを含
む情報を他のプログラムと共有するための情報伝達プロ
グラムを生成する手段と、を有するプログラムを記録し
た記録媒体である。本発明は、本発明の対象である記録
媒体に記録されたプログラムをデータ処理装置に読み込
むことにより、データ処理装置内で自動的に情報伝達プ
ログラムを作成することが出来、これにより入力したデ
ータ分析プログラムを他のデータ分析プログラムとリン
クさせデータ処理装置の機能拡張を行うことが容易にな
るため、拡張性の高いデータ処理装置を実現するという
作用を有する。
【0027】本発明の請求項7に記載の発明は、(B)
データ分析プログラムの構文を解析する構文解析ステッ
プと、(C)構文解析結果に基づいて、前記データ分析
プログラムの関数を決定する関数決定ステップと、
(D)決定した前記関数のパラメータを決定するパラメ
ータ決定ステップと、(E)決定した前記関数及び前記
パラメータを含む情報を他のプログラムと共有するため
の情報伝達プログラムを生成するステップと、を有する
プログラムを記録した記録媒体である。本発明は、本発
明の対象である記録媒体に記録されたプログラムをデー
タ処理装置に読み込むことにより、データ処理装置内で
自動的に情報伝達プログラムを作成することが出来、こ
れにより拡張性の高いデータ処理方法を実現するという
作用を有する。
【0028】以下、本発明の実施例について、図1から
図5を用いて説明する。 [図1の説明]図1に、本発明の実施例であるデータ処
理装置のブロック図の一例を示す。本データ処理装置
は、画像データを入力し、ユーザが対話的にパラメータ
を決定しながら分析処理することにより、サーボモータ
の制御を行うシーケンサ制御装置である。なお、本発明
が適用可能なデータ処理装置は実施例に限られず、人物
の画像データ又は音声データを入力して、その人物の特
徴を抽出し、本人か否かを識別するデータ処理装置や、
数値データを入力し種々の演算結果を行って計算結果を
出力するデータ処理装置等、広い範囲での応用が可能で
ある。
【0029】ハードウエア構成は図6の従来例と同じで
あるため、説明を割愛する。本発明によるデータ処理装
置の分析処理部140は、各種のデータ分析プログラム
160、対話的ユーザ・インターフェイスの表示用プロ
グラム170、シーケンサ制御プログラム190等の従
来例と同様のプログラムの他、入力されたデータ分析プ
ログラムに対して情報伝達プログラムを自動生成する情
報伝達プログラム自動生成プログラム175を内蔵す
る、
【0030】入力部110にデータ分析プログラム16
0が入力されると、装置制御部180は入力されたデー
タ分析プログラム160を分析処理部140に送る。分
析処理部は、後述する手順により、情報伝達プログラム
自動生成プログラム175を起動する。情報伝達プログ
ラム自動生成プログラム175は、情報伝達プログラム
161を自動生成し、入力したデータ分析プログラム1
60に組み込む。これに基づいて、分析処理部140
は、各種のデータ分析プログラム160、対話的ユーザ
・インターフェイスの表示用プログラム170、及びシ
ーケンサ制御プログラム190等の種々のソフトウエア
プログラムを動的にリンクする。即ち、これらのプログ
ラムは、必要な情報を共有する。このように本発明によ
れば、入力した新たなデータ分析プログラムを自動的に
既存のデータ分析プログラムとリンク出来るため、分析
処理部140は容易に新たな機能を獲得することが出
来、データ分析装置は自由度の高い拡張性を有する。従
来例のデータ分析装置と異なり、ユーザが多大な苦労を
して自らプログラムを開発する必要がないため、本発明
の実施例は、実際的な意味で高い拡張性を有している。
【0031】例えば、シーケンサが穴加工をするための
部品の画像データを入力し、分析処理部140におい
て、第1のデータ分析プログラムが輪郭を強調した画像
の画像データを生成し、第2のデータ分析プログラムが
輪郭を強調した画像の画像データから部品の輪郭を抽出
し、抽出した輪郭に基づいて第3のデータ分析プログラ
ムが部品が置かれた座標データを計算するというデータ
分析を行うデータ分析装置を取り上げる。この場合、ユ
ーザは単に第1から第3のデータ分析プログラムを入力
するだけでよく、情報伝達プログラム自動生成プログラ
ム175は、これらの3つのデータ分析プログラムのそ
れぞれについて情報伝達プログラム161を自動生成
し、組み込む。従って、ユーザが3つのデータ分析プロ
グラムをそれぞれ別個に入力するだけで3つのデータ分
析プログラムのリンクが可能になり、入力された部品の
画像データから部品が置かれた座標データを得ることが
出来る。
【0032】対話的ユーザ・インターフェイスの表示用
プログラム170は、情報伝達プログラム161によ
り、データ分析プログラム160との間で後述するパラ
メータ等の情報(対話的ユーザ・インターフェイス情
報)を共有し、CRT、液晶表示装置等の表示部150
に後述する図5の画面を表示する。ユーザは、図5の画
面を表示する表示部150と入力部110に含まれるマ
ウスやキーボード(図1に表示していない。)を使っ
て、対話的にデータ分析プログラムに含まれる各種の分
析パラメータを決めることが出来る。こうして、試行錯
誤的な作業であるパラメータの最適値の決定を効率的に
行うことが出来る。
【0033】シーケンサ制御プログラム190は、情報
伝達プログラム161により、データ分析プログラム1
60との間で後述する分析結果のデータ等を共有し、そ
の結果に基づいて、シーケンサ制御プログラム190の
パラメータを自動的に決定する。上記の例では、シーケ
ンサ制御プログラム190は、第3のデータ分析プログ
ラムから、第3のデータ分析プログラムに組み込まれた
情報伝達プログラム161を通じて、部品が置かれた座
標データを読み込む。これに基づいて、シーケンサ制御
プログラム190は、穴加工をするための部品の移動距
離を決めるパラメータを決定し、部品移動用のモータを
制御する。
【0034】なお、図1において、情報伝達プログラム
161は模式的にデータ分析プログラム160に組み込
まれているが、本発明はこれに限定されるものではな
く、情報伝達プログラム161をデータ分析プログラム
160に組み込まずにリンクする実施例も考えられる。
又、本実施例においては、情報伝達プログラム自動生成
プログラム175は、ユーザがメモリ部120に内蔵さ
れたデータ分析プログラムを指定し、ユーザのキー入力
をトリガーとして起動するが、これに限定されるもので
はなく、例えば、データ分析プログラムの入力をトリガ
ーとして起動してもよく、更に、分析処理部140が時
計を内蔵し、毎日、一定の時間になると自動的に起動す
るようにしてもよい。
【0035】[図2の説明]図2は、ユーザが、本発明
の実施例であるデータ処理装置にデータ分析プログラム
を組み込む手順のフロ−チャートを示す。図1も参照し
て、フローチャートを説明する。ステップ210におい
て、ユーザは、標準のプログラミング言語を用いて、デ
ータ分析アルゴリズムを関数形式で記述したデータ分析
プログラム160のソースコードを、データ処理装置の
入力部110に入力する。これは例示であって、プログ
ラムがソース・コード、オブジェクト・コード、又は他
の種類のコードのいずれのコードであってもよく、コー
ド又はファイル等の名称も問わない。
【0036】情報伝達プログラム自動生成プログラム1
75は、第1のプログラムと第2のプログラムと第3の
プログラムの3つのプログラムを有している。第1のプ
ログラムは、データ分析プログラム等の被解析プログラ
ムの構文解析を実行する。具体的には、被解析プログラ
ムに含まれる関数を検索し、かつ検索された関数に含ま
れる引数を検索する。第2のプログラムは、検索した関
数及び検索した引数(引数は、パラメータに含まれ
る。)を含む情報伝達プログラム161を生成し、入力
されたデータ分析プログラムのソースコードに付加す
る。第3のプログラムは、簡易的な表示用プログラムで
あり、第1のプログラムで検索した関数及び引数等のパ
ラメータを図4の画面に表示する。ステップ220にお
いて、入力されたデータ分析プログラム160のソース
コードは分析処理部140に送られる。
【0037】ユーザが、キーボードから入力することに
より、第3のプログラムが起動され、表示部150に図
4の表示が表示される。ユーザは、図4の構文解析実行
ボタン420を押すことにより、情報伝達プログラム自
動生成プログラム175が有する第1のプログラムであ
る構文解析プログラムが起動される。情報伝達プログラ
ム自動生成プログラム175の第1のプログラムは、入
力されたデータ分析プログラム160に対して構文解析
(データ分析プログラム160のソースコードから関数
を検索することを言う。)を行い、入力されたデータ分
析プログラム160が有する関数とパラメータを抽出
し、第3のプログラムにより図4下部に関数名とパラメ
ータを表示する。ユーザが各種のパラメータの最初の値
を決めた後、図4の情報伝達プログラム生成ボタン44
0を押すことにより、情報伝達プログラム自動生成プロ
グラム175の第2のプログラムが起動される。情報伝
達プログラム自動生成プログラム175の第2のプログ
ラムは、入力されたデータ分析プログラム160と他の
プログラム(160、170及び190等)間で情報を
共有するための情報伝達プログラム161を生成し、入
力されたデータ分析プログラムのソースコードに付加す
る。ステップ221からステップ224に詳細を示す。
【0038】ステップ221において、ユーザは、図4
の構文解析実行ボタン420を押すことにより、情報伝
達プログラム自動生成プログラム175の第1のプログ
ラムが起動され、後述する図3の手順に従って、入力さ
れたデータ分析プログラムの構文解析を実行する。当該
構文解析プログラムは、入力されたデータ分析プログラ
ム160のソースコードから関数を検索する。関数と
は、被分析データを処理する関数を言う。関数の検索方
法については、後述(図3)する。検索された関数の中
から、ひとつのメイン関数を決定する。メイン関数の決
定方法に付いては、後述する。
【0039】第3のプログラムが表示する図4におい
て、最初、画面上にメイン関数表示エリア421や引数
情報等を表示するエリア431から437には、何も表
示されていない。ステップ221を実行した結果、検索
された関数の中のメイン関数がメイン関数表示エリア4
21に表示される。
【0040】図4の画面の表示は、情報伝達プログラム
自動生成プログラム175が有する第3のプログラムが
実行しているため、図4の画面を表示する段階では、入
力されたデータ分析プログラム160と他のプログラム
との間で、各種のパラメータ等の情報が共有される必要
はない。第1のプログラムが関数や引数等を収納する仕
様(メモリのどのエリアに、どのような仕様で収納して
いるかという仕様)に対応して、第3のプログラムは作
られているからである。
【0041】情報伝達プログラム自動生成プログラム1
75は、図4の画面を表示する第3のプログラムを内蔵
していなくてもよい。情報伝達プログラム自動生成プロ
グラム175が図4の画面を表示する第3のプログラム
を内蔵していない場合は、各種のパラメータの値は、入
力されたデータ分析プログラム160が内蔵するデフォ
ルト値を取る。この場合、例えば、ユーザがキーボード
を使って情報伝達プログラム自動生成プログラム175
を起動することにより、情報伝達プログラム自動生成プ
ログラム175が有する第1のプログラムと第2のプロ
グラムが連続して実行される。これにより、221から
230までのステップがいっぺんに実行され(ユーザが
パラメータの最初の値を設定することは出来ない。)、
情報伝達プログラム161が生成される。情報伝達プロ
グラム161により、入力されたデータ分析プログラム
160と対話的ユーザ・インターフェイスの表示用プロ
グラム170との間で各種のパラメータが共有された
後、ユーザは、対話的に各種のパラメータの値を決める
ことが出来る。
【0042】ステップ222において、前記構文解析プ
ログラムは、ステップ221で決定したメイン関数にお
いて定義されている引数を検索する。ステップ222を
実行した結果、検索された引数情報等がエリア431か
ら437に表示される。ステップ221及び222を実
行した段階で、図4の基本的な表示が完成する。
【0043】ステップ223において、ユーザは、表示
部150が表示する図4の表示と、入力部110に含ま
れるキーボードやマウス等(図1に表示していない。)
を用いて、各種のパラメータの値を設定する。ユーザが
パラメータの値を設定すると、メモリ部にユーザが設定
したパラメータの値が書き込まれる。ユーザは、図4の
表示を見ながら各種のパラメータの最初の値を決定する
が、当該各種のパラメータの値は、後で図5の表示を見
ながら対話的ユーザ・インターフェイスにより自由に変
更可能であるため、当該最初の値が最適な値である必要
はない。ユーザが特定のパラメータの値を決めない場合
は、入力されたデータ分析プログラム160が内蔵する
デフォルト値を取る。
【0044】ユーザがパラメータの設定を完了した後、
ユーザが図4の情報伝達プログラム生成ボタン440を
押すことにより、ステップ224が実行される。ステッ
プ224においては、分析処理部140において、情報
伝達プログラム自動生成プログラム175が有する第2
のプログラムが起動される。情報伝達プログラム自動生
成プログラム175の第2のプログラムは、検索した関
数及び検索した引数(引数は、パラメータに含まれ
る。)を含む情報情報伝達プログラム161を生成し、
入力されたデータ分析プログラムのソースコードに付加
する。これにより、入力されたデータ分析プログラム1
60と他のプログラム(160、170及び190等)
との間で、検索した関数及び検索した引数(引数は、パ
ラメータに含まれる。)を含む情報である共有情報が共
有される。なお、共有情報には、関数や引数等の他、後
述する被分析データの分析結果のデータ等が含まれる場
合がある。
【0045】共有情報に引数の値の上限値及び下限値を
含めることも出来る。例えば、図4の例では、関数は関
数名smoothで定義され(関数の具体的内容は、記
載していない。)、引数はim、a、b、c、dであ
り、引数の値(初期値)がa=512、b=512、c
=0、d=0.1であり、上限値はa=512等であ
り、下限値はa=0等である。imは被分析データであ
り、入力された被分析データにより、imの具体的な値
が決定される。引数、引数の上限値及び引数の下限値等
を「関数のパラメータ」と言う。関数のパラメータの全
てを前記共有情報に含める必要はなく、引数の上限値や
下限値を共有情報から除外することもできるし、又は一
部の引数のみを共有情報に含めることも出来る。共有情
報に含まれる全ての引数について、ユーザがデータの値
を書き換えられるとは限らない。例えば上限値や下限値
等のように、対話的ユーザ・インターフェイスの表示用
プログラム170が読み出し表示部150に表示するだ
けで、書き換えが出来ない引数もある。「共有情報」
は、関数名、関数の式、引数の名称、引数の値、引数の
上限値、引数の下限値等の文字情報及び数値情報を含む
広い概念である。これらの全ての情報を共有情報に含め
る必要はなく、例えば、関数の式を共有情報に含めない
こともできる。
【0046】ステップ230において、ユーザがキーボ
ードよりキー入力することにより、コンパイラが起動さ
れ、データ分析プログラムのソースコード(ファイル)
をコンパイル・リンクし、実際に被入力データを処理す
ることが可能なデータ分析プログラムの実行モジュール
を生成する。ユーザが図4の情報伝達プログラム生成ボ
タン440を押すことにより、情報伝達プログラム自動
生成プログラム175がステップ224を実行するが、
その後、ステップ230が連続して起動され、コンパイ
ラが、データ分析プログラムのソースプログラム(ファ
イル)をコンパイル・リンクして実行モジュールを生成
してもよい。コンパイル・リンクにより、情報伝達プロ
グラム161も実行モジュールの一部として、実際に機
能することが出来るようになる。従って、実行モジュー
ルが生成された後、当該データ分析プログラムの実行モ
ジュールと、他のデータ分析プログラムの実行モジュー
ル、対話的ユーザ・インターフェイスの表示用プログラ
ムの実行モジュール、シーケンサ制御プログラムの実行
モジュールが、共有情報を共有する。データ処理装置が
内蔵する対話的ユーザ・インターフェイスの表示用プロ
グラム等は、当然に、初めから実行モジュールが組み込
まれている。
【0047】[図3の説明]図3は、C言語で作成した
データ分析プログラムのソースプログラムを構文解析す
る情報伝達プログラム自動生成プログラム175の一実
施例である。まず、構文解析の目的は、 (1) ソースプログラムに記述されている関数及び関
数名の検索 (2) 関数における引数の型と引数名の検索 である。本実施例において、C言語における関数は以下
の様に定義されている。 (i)関数は、下記の式で定義される。 (宣言指定子)+関数型指定子+関数名+"("+"引数"
+")"+"{"+"+本文+"}" (ii)宣言指定子は、"extern" 又は"static"であり、
省略が可能である。 (iii)関数型指定子は、"int" 又は"short"等である。 (iv)引数は、下記の式により記述される。 型指定子1+引数名1+“,”+型指定子2+引数名2+
"," …… 情報伝達プログラム自動生成プログラム175は、上記
定義に当てはまる記述を関数として認識する。一部でも
上記の定義に当てはまらない場合は、関数と判断しな
い。
【0048】ステップ310はファイルの終わりの検出
であり、EOF(End Of File)が見つかるまで、情報伝
達プログラム自動生成プログラム175は構文解析を繰
り返し行う。ステップ311は、関数型指定子が記述さ
れている位置を検索する。関数は、最初に宣言指定子が
記述されているケースがあるが、宣言指定子は省略可能
であることから、関数型指定子が最初に記述されている
位置を検索する。そして以下ステップ312からステッ
プ319までの条件が揃っていれば関数として認識す
る。
【0049】ステップ312では、関数型指定子に続
き、関数名の定義にあてはまる文字列を検索する。ステ
ップ313では、関数名に続き、“(”を検索する。ス
テップ314では、“(”に続き、型指定子を検索す
る。この型指定子が、引数のデータ型を現している。あ
るいは“(”に続き、“)”が記述されている場合も有
りうるが、この場合は引数が存在しないものとして、プ
ログラムはステップ317にジャンプする。ステップ3
15では、型指定子に続き、引数名(パラメータ名)の
定義にあてはまる文字列を検索する。これが共有情報の
引数名となる。ステップ316では、引数名に続き、文
字“,”が記述されている場合、ステップ314にジャ
ンプし、再度引数の型指定子の検索を行う。“,”でな
い場合は、次のステップ317に進む。
【0050】ステップ317では、“)”を検索する。
ステップ318では、“)”に続き、“{”を検索す
る。ステップ319では、“}”を検索する。関数にお
いては、“{”の後に本文が記述されており、その後、
ステップ318の“{”に対応するネスト位置に“}”
が記述されている。上記条件にマッチし、ステップ31
9において“}”を検索出来た場合は、関数を検索した
と判断し、当該関数を記憶する(図3には図示していな
い)。上記はC言語で記述されたデータ分析プログラム
を構文解析する例であるが、他の言語を対象とした場合
は各種言語における関数定義に基づいて構文解析を行
い、ソースプログラムに記述された関数を認識すればよ
い。
【0051】上記処理により検索された関数の中から、
ひとつのメイン関数を決定する。構文解析を行ったデー
タ分析プログラム内に1つの関数のみが存在する場合
は、その認識した関数をメイン関数に決定する。また複
数の関数を検索した場合は、図4において、構文解析に
より得られた複数の関数名を表示部150に表示し、ユ
ーザが表示を見ながらメイン関数を指定することによ
り、メイン関数が決定される。メイン関数とは、図4の
エリア431から437に引数情報等が表示される関数
の意味である。このメイン関数の決定方法は例示であっ
て、最初に検索した関数をメイン関数に決定してもよ
い。関数の種類により優先順位をつけ、検索された関数
の中で最も高い優先順位を持つ関数をメイン関数に決定
することも出来る。また、ユーザが対話形式で関数の引
数を決定した履歴を記憶しておき、最後に引数を変更し
た関数をメイン関数に決定することも出来る。
【0052】[図4の説明]図4は、情報伝達プログラ
ム自動生成プログラム175が有する第3のプログラム
を実行することにより表示されたパラメータ設定画面を
示す。ユーザは、図4の画面を表示する表示部150と
入力部110に含まれるキーボード(図1に表示してい
ない。)を使って、データ分析プログラムに含まれる各
種の分析パラメータの最初の値を決める。エリア410
はユーザが作成したデータ分析プログラムのソースファ
イル名称を入力するエリアで、キーボードを用いて直接
入力するか、あるいはファイル選択ボタン411を選択
し、これにより表示されるファイル選択ダイアログボッ
クスから対象ファイル名を選択する。
【0053】構文解析実行ボタン420を選択すると、
情報伝達プログラム自動生成プログラム175が有する
第1のプログラムが起動され、データ分析プログラム名
称入力エリア410で指定したプログラムファイルにつ
いて図3で示した構文解析を実行する。構文解析の結
果、データ分析プログラムファイル内に記述された関数
が1つの場合、それをメイン関数として決定する。デー
タ分析プログラムファイル内に関数が複数存在する場合
は、構文解析により認識した関数名の一覧を表示部15
0に表示し、ユーザがマウスやキーボードにより指定し
た関数をメイン関数として決定し、メイン関数名表示エ
リア421に表示する。そしてメイン関数表示エリア4
21で指定した関数において定義されている引数をエリ
ア431から432に表示する。エリア431は引数の
型式を表示するエリアであり、エリア432は引数の名
称を表示するエリアである。
【0054】エリア433から437は、ユーザがパラ
メータの最初の値を入力するためのエリアである。エリ
ア433から437は、データ分析プログラムの各パラ
メータの現在の値を表示し、ユーザはこれらのエリアに
新たな値を書き込むことにより、新しい値を設定するこ
とが出来る。実施例においては、一部のエリア例えば上
限値及び下限値については、表示装置はパラメータの値
を表示するが、ユーザはパラメータの値を変更すること
が出来ない。エリア433は、引数のデータ型を設定す
るエリアである。エリア434は引数の項目名称を設定
するエリアである。図4に示すように、エリア432に
表示された引数名はアルファベットの記号であり、エリ
ア434の項目名称は、言語的な表示である。エリア4
35は、データ分析プログラムがプログラムに内蔵する
引数のデフォルト値又は最も新しい過去にユーザが設定
した引数の値を表示し、ユーザが新しい引数の値を設定
するエリアである。エリア436は引数の下限値を設定
するエリアである。エリア437は引数の上限値を設定
するエリアである。表示するデータ分析プログラムが複
数の関数を有する場合には、表示されていたメイン関数
の引数の値を決定後、ユーザがマウスやキーボードによ
り次の新しいメイン関数を決定する。新しいメイン関数
とその引数等のパラメータは図4の形式で表示され、同
様の手順により、ユーザは、そのパラメータの値を決定
する。
【0055】エリア431から437のパラメータを設
定終了後、ユーザがプログラム生成ボタン440を選択
することにより、情報伝達プログラム自動生成プログラ
ム175が有する第2のプログラムが起動され、情報情
報伝達プログラム161が生成される。このとき続け
て、表示中のデータ分析プログラムをコンパイル・リン
クして、実際にデータ分析を実行する実行モジュールを
生成することも出来る(図2の230)。生成された実
行モジュール(データ分析プログラムファイル)は、エ
リア441で指定されたディレクトリに出力する。
【0056】[図5の説明]図5は、画像データを被分
析データとして入力し、データ分析プログラムの実行モ
ジュールにより画像分析を行う場合の表示画面の一例を
示す。図5は、データ処理装置が内蔵する対話的ユーザ
・インターフェイスの表示用プログラム170により表
示部150に表示された画面である。エリア510は被
分析データである画像を表示するエリア、エリア520
は、特定のディレクトリ下に格納されている画像分析プ
ログラム(データ分析プログラム)の一覧を表示するエ
リア、エリア530は現在処理対象となっている画像分
析プログラムのパラメータ入力エリアである。図5で
は、画像上に関心領域511を設定し、そのエリアにお
ける直線を検出する画像分析処理(データ分析)を実行
する場合を示している。
【0057】対話的ユーザ・インターフェイスの表示用
プログラム170は、情報伝達プログラム161によ
り、エリア520に対して直線検出を行う画像分析プロ
グラム(データ分析プログラム)160(521の枠で
囲まれたプログラム)との間で共有する共有情報である
(1)入力項目名、(2)入力項目のデータ型、(3)
入力値の設定範囲、(4)初期設定値等の情報を、パラ
メータ入力エリア530に表示する。
【0058】ユーザは、当該パラメータ入力エリア53
0を見ながら、各項目の新しい値を対話的に設定する。
ユーザは、エリア532に表示するパラメータ(例えば
引数)の値を変更したい場合には、表示画面を見ながら
キーボードでパラメータの値を入力する。キーボードで
パラメータの値が入力されると、対話的ユーザ・インタ
ーフェイスの表示用プログラム170は、メモリ部12
0に蓄えられたパラメータの値を、ユーザが入力したパ
ラメータの値に書き換える。対話的ユーザ・インターフ
ェイスの表示用プログラム170は、表示部150に書
き換え後のパラメータの値を表示する。図5のようにパ
ラメータを画面に表示し、画面を見ながらユーザが入力
した新しいパラメータの値に古いパラメータの値を書き
換え、新しいパラメータの値を表示部150に表示する
ことを、対話的ユーザ・インターフェイスと言う。これ
を実現する対話的ユーザ・インターフェイスの表示用プ
ログラム170を、対話的ユーザ・インターフェイスの
プログラムを言う。
【0059】エリア531は入力項目名表示エリアであ
り、図4におけるエリア434で設定された項目名称を
表示する。エリア532は各項目に対する値を設定する
エリアであり、初期値として図4のエリア435で設定
した値を表示する。本画像処理装置では入力情報が画像
データ型の場合、画像処理装置が保持している画像デー
タの一覧をプルダウン表示メニュー形式で表示し、また
入力情報が数値型の場合、スライダバーを表示する。こ
の表示種別は、図4のエリア433に設定されたデータ
型により判断する。また入力情報が数値型の場合、図4
のエリア436、437で設定された制限値によりエラ
ーチェックを行う。
【0060】以上のように、情報伝達プログラム161
により、対話的ユーザ・インターフェイスの表示用プロ
グラム170がデータ分析プログラム160とパラメー
タ等の共有情報を共有し、図5の表示が可能になる。図
5において、ユーザは、エリア510の画面に表示され
た被分析データである画像データの中で、データ分析を
実行したい領域511を指定し、かつ各種のパラメータ
の値を設定することが出来る。図4の画面ではパラメー
タの値を設定することが出来たが、領域511を指定す
ることが出来なかった。このように、対話的ユーザ・イ
ンターフェイスの表示用プログラム170により、多く
のパラメータを同一画面上に表示し、ユーザが、表示さ
れたパラメータを設定することが出来る。情報伝達プロ
グラム自動生成プログラム175が内蔵する第3のプロ
グラムのような簡易的な表示用プログラムがない場合で
も、情報伝達プログラム161により、対話的ユーザ・
インターフェイスの表示用プログラム170がデータ分
析プログラム160とパラメータ等の共有情報を共有
し、ユーザが図5の表示を見ながら各種のパラメータを
設定できるという、効果がある。
【0061】また、対話的ユーザ・インターフェイスの
表示用プログラム170が、情報伝達プログラム161
により、データ分析プログラム160の実行モジュール
の分析結果のデータを共有情報として共有する場合は、
図5の表示において、実行モジュールの分析結果をエリ
ア510に表示することが出来、ユーザは実行結果を見
て、新しいパラメータの値を設定し、さらに新しいパラ
メータの値で実行モジュールを実行し、その分析結果を
エリア510の表示により見ることが出来る。このよう
に、パラメータの最適な値を検討する試行錯誤的な作業
を効率的に行うことが出来る。なお、対話的ユーザ・イ
ンターフェイスの表示用プログラム170は、実行モジ
ュールの分析結果を共有情報として共有するとは限ら
ず、共有しなくてもよい。
【0062】実施例においては、一部のエリア例えば上
限値及び下限値については、表示装置はパラメータの値
を表示するが、ユーザはパラメータの値を変更すること
が出来ない。このように、情報伝達プログラム161に
より、対話的ユーザ・インターフェイスの表示用プログ
ラム170がデータ分析プログラム160とパラメータ
等の共有情報を共有するが、ユーザは、全てのパラメー
タの値を対話的に設定できるとは限らない。又、対話的
ユーザ・インターフェイスの表示用プログラム170
は、全ての共有情報を表示部150に表示するとは限ら
ず、表示しないパラメータがあってもよい。
【0063】情報伝達プログラム161により、シーケ
ンサ制御プログラム190が、データ分析プログラム1
60との間でデータ分析プログラム160の実行モジュ
ールの分析結果のデータを共有情報として共有する場合
は、シーケンサ制御プログラム190は、その結果に基
づいて、シーケンサ制御プログラム190のパラメー
タ、例えば穴加工をするための部品の移動距離を決める
パラメータを自動的に決定し、部品移動用のモータを制
御する。
【0064】最後に、本発明が生成する情報伝達プログ
ラムについて説明する。ここではデータ処理装置がWi
ndows(ウインドウズ)上で動作するソフトウエア
で、データ解析プログラムがDLL(ダイナミック・リ
ンク・ライブラリ、Dynamic Link Lib
rary)形式とする場合の一実施例について説明す
る。情報伝達プログラム自動生成プログラム175は、
特定のディレクトリ下に存在するDLL形式のデータ分
析プログラムから関数を抽出し、情報伝達プログラム1
61として2種類の情報伝達プログラム161a及び1
61bを生成する(161a及び161bは図示してい
ない。)。
【0065】1つ目の情報伝達プログラム161aは、
図5に示したエリア530に表示するユーザインタフェ
イス情報をデータ分析プログラム160から対話的ユー
ザ・インターフェイスの表示用プログラム170に伝達
するための情報伝達プログラムである。エリア520の
データ分析プログラム一覧からユーザが特定のデータ分
析プログラムを選択したときに、選択されたデータ分析
プログラムから関数を検索し、この1つ目のプログラム
161aが生成される。このインタフェイス情報を提供
するプログラム161aは、文字列配列と整数値の2個
の引数によって構成される。1つ目の引数の文字列配列
は、入力項目名、入力項目のデータ型、入力値の設定範
囲、及び初期設定値を1組のデータとし、文字型に変換
された複数組のデータを文字列配列に設定する。2つ目
の引数である整数値は、1つ目の文字列配列に設定され
たデータの組数を設定する。図5のエリア530には入
力画像データ、画像サイズX、画像サイズY、及び閾値
という4項目があるので、組数は4である。対話的ユー
ザ・インターフェイスの表示用プログラム170は、伝
達された上記2つの引数に基づいて、エリア530のユ
ーザ・インタフェイスの表示制御やユーザからのデータ
入力制御を行う。
【0066】情報伝達プログラム自動生成プログラム1
75が生成するもう1つの情報伝達プログラム161b
は、データ分析処理を実行するための情報伝達プログラ
ムで、文字列配列型の1つの引数により情報伝達を行
う。情報伝達プログラム自動生成プログラム175は、
データ分析プログラム160が内蔵する関数のパラメー
タを文字列配列型に変換し、その文字列配列を引数とし
て情報伝達プログラム161bを生成する。ユーザが実
行モジュールの生成を実行すると、情報伝達プログラム
161bを通じてパラメータの値を読み出し、読み出し
た値を引数として、表示中のデータ分析プログラムをコ
ンパイル・リンクして、実際にデータ分析を実行する実
行モジュールを生成する(図2の230)。この実行モ
ジュールにより、入力された被分析データのデータ分析
が実行される。
【0067】情報伝達プログラム自動生成プログラム1
75が生成する情報伝達プログラム161は、上記2つ
の情報伝達プログラム161a及び161bを含むDL
L形式のソースプログラムであり、これをユーザが作成
したデータ分析プログラムのソースファイルにリンクす
る。作成する2つのプログラムの名称(プログラム名)
を、対象のデータ分析プログラムの如何を問わずそれぞ
れ一定の名称とすることが出来る。こうすると、新たな
データ分析プログラムに対しても、対話的ユーザ・イン
ターフェイスの表示用プログラム170は同じ情報伝達
プログラム161を呼び出すことにより、図5の表示を
することが出来るし、そのデータ分析プログラムのパラ
メータを対話的に設定できる。また、DLL形式のデー
タ分析プログラムについて本発明を実施することによ
り、プログラムのリンクが容易なDLLの機能と併せ
て、更に拡張性の高いデータ分析装置を実現できると言
う効果がある。
【0068】
【発明の効果】以上のように、本発明によれば、ユーザ
が自ら行っていた情報伝達プログラムの仕様を調査し、
プログラムを開発するという作業が不要になるという作
用を有する。さらに情報伝達プログラムを自動的に作成
することにより、情報伝達プログラムのデバッグ作業が
不要になるという有利な効果も得られる。
【0069】そこで、本発明によれば、自動的に情報伝
達プログラムを作成することにより、入力したデータ分
析プログラムを他のデータ分析プログラム等とリンクさ
せることが出来、これによりデータ処理装置の機能拡張
を行うことが容易になり、拡張性の高いデータ処理装置
を実現出来るという有利な効果が得られる。
【0070】又、本発明によれば、自動的に情報伝達プ
ログラムを作成することにより、内蔵する標準的な対話
的ユーザ・インターフェイスのプログラムとデータ分析
プログラムとの間で情報を共有出来る様になり、表示装
置に表示されたパラメータを対話的に決定できるデータ
処理装置が実現出来るという有利な効果が得られる。
【0071】又、本発明によれば、データ分析プログラ
ムに対して自動的に情報伝達プログラムを作成し、出力
処理プログラムとデータ分析プログラムとの間で情報を
共有出来る様になり、データ分析プログラムの実行結果
に基づいて、出力処理プログラムの仕様を自動的に、又
は一部のパラメータについて自動的に決定出来るデータ
処理装置を実現出来るという有利な効果が得られる。
【0072】又、本発明によれば、各プログラムに標準
の仕様に基づいた情報伝達プログラムを自動的に作成す
ることにより、データ処理装置内の種々のプログラムの
間での情報の共有を可能にし、統一的な情報の取り扱い
を行うデータ処理装置を実現するという有利な効果が得
られる。
【図面の簡単な説明】
【図1】本発明の実施例であるデータ処理装置のブロッ
ク図
【図2】本発明の実施例であるデータ分析プログラムを
組み込む手順のフローチャート
【図3】本発明の実施例であるデータ分析プログラムの
構文解析手順
【図4】本発明の実施例であるパラメータ設定画面
【図5】本発明の実施例である画像分析の実行表示画面
【図6】従来のデータ処理装置のブロック図
【符号の説明】
110 入力部 120 メモリ部 130 出力部 140 分析処理部 150 表示部 160 データ分析プログラム 161 自動生成された情報伝達プログラム 162 データ分析プログラム固有の仕様による情報伝
達プログラム 170 対話的ユーザ・インターフェイスの表示用プロ
グラム 175 情報伝達プログラム自動生成プログラム 180 装置制御部 190 シーケンサ制御プログラム 191 シーケンサ制御プログラムの情報伝達プログラ
ム 210 データ分析プログラムをデータ処理装置の入力
部に入力するステップ 220 データ分析プログラムから情報伝達プログラム
を生成するステップ 221 データ分析プログラムから関数を検索し(構文
解析)、メイン関数を決定するステップ 222 メイン関数の引数の検索ステップ 223 引数の値を決定するステップ 224 情報伝達プログラムの自動付加ステップ 230 データ分析プログラムの実行モジュールを生成
するステップ 310 ファイルの終わりの検出ステップ 311 関数型指定子の検索ステップ 312 関数名の定義にあてはまる文字列の検索ステッ
プ 313 “(”の検索ステップ 314 型指定子の検索ステップ 315 引数名(パラメータ名)の定義にあてはまる文
字列の検索ステップ 316 文字“,”の検索ステップ 317 “)”の検索ステップ 318 “{”の検索ステップ 319 “}”の検索ステップ 410 データ分析プログラムのソースファイル名称の
入力エリア 411 ファイル選択ボタン 420 構文解析実行ボタン 421 メイン関数名表示エリア 431 引数(パラメータ)の型式の表示エリア 432 引数の名称の表示エリア 433 引数のデータ型の設定エリア 434 引数の項目名称の設定エリア 435 引数のデフォルト値又は最新値の表示エリア 436 引数の下限値の設定エリア 437 引数の上限値の設定エリア 440 情報伝達プログラム生成ボタン 441 実行モジュールの表示エリア 510 エリア被分析データである画像の表示エリア 511 画像上に設定したユーザの関心領域 520 画像分析プログラム(データ分析プログラム)
の一覧の表示エリア 521 現在処理対象となっている画像分析プログラム 530 現在処理対象となっている画像分析プログラム
のパラメータ入力エリア(ユーザインタフェイス) 531 入力項目名表示エリア 532 各項目に対する値の設定エリア

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 (A)データ分析プログラムを入力する
    入力手段と、 (B)前記データ分析プログラムの構文を解析する構文
    解析手段と、 (C)構文解析結果に基づいて、前記データ分析プログ
    ラムの関数を決定する関数決定手段と、 (D)決定した前記関数のパラメータを決定するパラメ
    ータ決定手段と、 (E)決定した前記関数及び前記パラメータを含む情報
    (以下、「共有情報」と言う。)を他のプログラムと共
    有するための情報伝達プログラムを生成する手段と、を
    有することを特徴とするデータ処理装置。
  2. 【請求項2】 請求項1のデータ処理装置であって、さ
    らに(F)表示装置に前記パラメータを表示し、かつ表
    示されたパラメータのうち少なくとも1つのパラメータ
    の値を変更することができるプログラムである対話的ユ
    ーザ・インターフェイスのプログラムを有し、前記情報
    伝達プログラムにより、前記データ分析プログラムと前
    記対話的ユーザ・インターフェイスのプログラムは、決
    定した前記関数及び前記パラメータを共有する、ことを
    特徴とするデータ処理装置。
  3. 【請求項3】 請求項1のデータ処理装置であって、さ
    らに(G)出力処理プログラムを有し、 前記情報伝達プログラムにより、前記データ分析プログ
    ラムと前記出力処理プログラムは前記共有情報を共有
    し、前記出力処理プログラムは前記共有情報の中の少な
    くとも1つの情報を用いて出力処理を行う、ことを特徴
    とする装置。
  4. 【請求項4】 請求項1のデータ処理装置であって、さ
    らに前記情報伝達プログラムを有する1個又は2個以上
    のデータ分析プログラム、対話的ユーザ・インターフェ
    イスのプログラム、又は出力処理プログラムのいずれか
    に属する3個以上のプログラム間で前記共有情報を共有
    するデータ処理装置。
  5. 【請求項5】 (A)データ分析プログラムを入力する
    入力ステップと、 (B)前記データ分析プログラムの構文を解析する構文
    解析ステップと、 (C)構文解析結果に基づいて、前記データ分析プログ
    ラムの関数を決定する関数決定ステップと、 (D)決定した前記関数のパラメータを決定するパラメ
    ータ決定ステップと、 (E)決定した前記関数及び前記パラメータを含む情報
    を他のプログラムと共有するための情報伝達プログラム
    を生成するステップと、を有することを特徴とするデー
    タ処理方法。
  6. 【請求項6】 (B)データ分析プログラムの構文を解
    析する構文解析手段と、 (C)構文解析結果に基づいて、前記データ分析プログ
    ラムの関数を決定する関数決定手段と、 (D)決定した前記関数のパラメータを決定するパラメ
    ータ決定手段と、 (E)決定した前記関数及び前記パラメータを含む情報
    を他のプログラムと共有するための情報伝達プログラム
    を生成する手段と、を有するプログラムを記録した記録
    媒体。
  7. 【請求項7】 (B)データ分析プログラムの構文を解
    析する構文解析ステップと、 (C)構文解析結果に基づいて、前記データ分析プログ
    ラムの関数を決定する関数決定ステップと、 (D)決定した前記関数のパラメータを決定するパラメ
    ータ決定ステップと、 (E)決定した前記関数及び前記パラメータを含む情報
    を他のプログラムと共有するための情報伝達プログラム
    を生成するステップと、を有するプログラムを記録した
    記録媒体。
JP32740899A 1999-11-17 1999-11-17 データ処理装置 Pending JP2001142717A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32740899A JP2001142717A (ja) 1999-11-17 1999-11-17 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32740899A JP2001142717A (ja) 1999-11-17 1999-11-17 データ処理装置

Publications (1)

Publication Number Publication Date
JP2001142717A true JP2001142717A (ja) 2001-05-25

Family

ID=18198831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32740899A Pending JP2001142717A (ja) 1999-11-17 1999-11-17 データ処理装置

Country Status (1)

Country Link
JP (1) JP2001142717A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101866297A (zh) * 2010-06-11 2010-10-20 中兴通讯股份有限公司 管理平台生成方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101866297A (zh) * 2010-06-11 2010-10-20 中兴通讯股份有限公司 管理平台生成方法和装置

Similar Documents

Publication Publication Date Title
EP1190297B1 (en) System and method for dynamic assistance in software applications using behavior and host application models
US6651240B1 (en) Object-oriented software development support apparatus and development support method
US6141792A (en) Object oriented framework for specifying the format of compiler output with a template facility
US20080098352A1 (en) User configureable language independent code assist method, system, article of manufacture, and computer program product
JP2002244849A (ja) データ処理装置
Meixner et al. Model-driven useware engineering
RU2003116932A (ru) Обеспечение контекстно-зависимых инструментов и справочного информационного наполнения в документах, создаваемых на компьютере
JPH08202545A (ja) ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法
US5911076A (en) Object oriented framework for creating new emitters for a compiler
US8108829B2 (en) Method for automating variables in end-user programming system
CA2211369C (en) Cell overlap detection and correction in a medical imaging system
JPH08234975A (ja) プログラム生成装置および方法
US5715460A (en) Template based facility for formatting compiler output
Williams et al. A visual language for image processing
Bouillon et al. Reverse engineering of web pages based on derivations and transformations
US20050125766A1 (en) Language independent code assist user preferences configuration method, system, article of manufacture, and computer program product
US20050125767A1 (en) User configurable language independent code assist engine method, system, article of manufacture, and computer program product
JP2001142717A (ja) データ処理装置
Olsen Jr et al. Research directions for user interface software tools
JPH09212350A (ja) アプリケーション開発システム及び方法
JP3254793B2 (ja) 対話処理システムの制御方法
JP2809048B2 (ja) 対画面デバッグ方式
JP2019139675A (ja) ソースコード最適化装置、プログラムおよび方法
JP2003050722A (ja) プログラム解析システムとプログラム解析方法
JPH09330212A (ja) プログラミング言語処理システム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040622

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050526

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20061101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090721

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091124