JP6107817B2 - 設計支援装置、設計支援方法およびプログラム - Google Patents

設計支援装置、設計支援方法およびプログラム Download PDF

Info

Publication number
JP6107817B2
JP6107817B2 JP2014511235A JP2014511235A JP6107817B2 JP 6107817 B2 JP6107817 B2 JP 6107817B2 JP 2014511235 A JP2014511235 A JP 2014511235A JP 2014511235 A JP2014511235 A JP 2014511235A JP 6107817 B2 JP6107817 B2 JP 6107817B2
Authority
JP
Japan
Prior art keywords
message
unit
filter condition
selection unit
design support
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
JP2014511235A
Other languages
English (en)
Other versions
JPWO2013157582A1 (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
Publication of JPWO2013157582A1 publication Critical patent/JPWO2013157582A1/ja
Application granted granted Critical
Publication of JP6107817B2 publication Critical patent/JP6107817B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Description

[関連出願についての記載]
本発明は、日本国特許出願:特願2012−095064号(2012年 4月18日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、電文処理装置の設計支援装置、設計支援方法およびプログラムに関し、特に、受信した大量の電文を効率良く処理する電文処理装置の設計支援装置、設計支援方法およびプログラムに関する。
近年、センサや端末から得られる情報を実時間で処理することで、新たな付加価値を創造することが求められている。一般に、このような情報は、電文としてサーバに到着する。
図11は、電文を処理する電文処理装置の構成を例示するブロック図である。図11を参照すると、電文処理装置105は、受信部111および計算処理部112を備えている。
図11の電文処理装置105には、ネットワークを介して電文が到着する。ここで、ネットワークとは、例えば、Ethernet(登録商標)などの有線ネットワーク、または、Zigbee(登録商標)、Bluetooth(登録商標)などの無線ネットワークである。受信部111は、例えば、Network Interface Controller(NIC)などの形態を有する。受信部111は、ネットワークから電文を受け取ると、計算処理部112に送出する。計算処理部112は、例えば、プロセッサで実現される。受信部111と計算処理部112との通信には、例えば、PCI Expressなどのサーバ内の通信路が使用される。計算処理部112は、受信部111から電文を受け取ると、予め定められたアプリケーションプログラムに従って計算処理を実行する。
なお、サーバが受信した大量の電文を処理する技術が、例えば、特許文献1および特許文献2に記載されている。また、ハードウェア環境でXML(Extensible Markup Language)文書をパーシング(parsing、分解)するXMLパーシング技術が、一例として、非特許文献1に記載されている。
特開2007−310662号公報 特表2004−531941号公報
F. El-Hassan et al., "SCBXP: An Efficient CAM-Based XML Parsing Technique in Hardware Environments," IEEE transaction on Parallel and Distributed Systems, Volume 22, Issue 111, pp. 1879-1887, 2011.
上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者によってなされたものである。
図12は、図11に示した電文処理装置105の設計手順を模式的に示すブロック図である。電文処理装置105の処理内容を規定するアプリケーションプログラムは、通常、プログラム言語で記述されたソースコードとして与えられる。アプリケーションプログラムのソースコードは、コンパイラ113を用いて、プロセッサなどの計算処理部112で実行可能なオブジェクトコードに変換される。オブジェクトコードが計算処理部112に設けられたプロセッサに配置されて実行されることによって、所望の電文処理が実現される。
しかしながら、通常のサーバは、大量の電文を受信した場合には、実時間での処理を実現することが困難となる。例えば、計算処理部112の処理速度が、大量に到着する電文に対応できない場合がある。また、受信部111と計算処理部112とを接続する通信路が、大量に到着する電文に対応できない場合もある。
上記の問題を解消するための技術が、特許文献1および特許文献2に記載されている。図13は、特許文献1および特許文献2に記載された技術を概略的に示すブロック図である。図13を参照すると、電文処理装置106は、受信部111および計算処理部112以外に、さらに選択部114を有する。
受信部111で電文を受信した後、選択部114は、予め与えられた仕様に従って電文を検査し、予め決められた条件に合致する電文を発見した場合、電文を破棄する。これにより、仮に大量の電文が送信されたとしても、重要な情報を含まない電文を計算処理部112が処理することを防ぐことができる。
一方、図14は、上記の問題を解決するための技術として、発明者らが検討した電文処理装置107の構成を示すブロック図である。図14を参照すると、電文処理装置107は、受信部111、選択部114および計算処理部112以外に、さらに変換部115を有する。
変換部115は、選択部114から出力された電文のうち、予め決められた条件に合致する電文を発見した場合、予め決められた規則に従って電文を変換する。これにより、仮に大量の電文が送信されたとしても、電文内の不必要なデータを削除した電文を、計算処理部112に処理させることができる。図14に示した電文処理装置107によると、図13に示した電文処理装置106とは異なり、電文に含まる情報のうちの必要な情報のみを計算処理部112に処理させることができる。
しかし、図13に示した電文処理装置106、または、図14に示した電文処理装置107によると、以下の問題が生じ得る。
計算処理部112で実行されるアプリケーションプログラムには、電文を破棄する条件や電文を変換する規則が明示されていない。したがって、電文処理装置106、107を実現するためには、図13および図14における選択部114や、図14における変換部115を、別途、設計しなければならない。しかも、電文を破棄する条件や電文を変換する規則は、アプリケーションプログラムごとに異なるため、アプリケーションプログラムを変更するたびに、設計変更の必要が生じる。しかしながら、選択部114や変換部115の設計を自動化する技術は知られていない。
したがって、上述の関連技術によると、受信電文に関して必要とされる重要情報のみを柔軟に抽出する装置を自動的に設計することは困難である。このことは、図13または図14に例示した、柔軟かつ高速に電文を処理する電文処理装置を実現する上での障害となる。
そこで、電文を処理するアプリケーションプログラムの処理内容に応じて、電文または電文に含まれる情報の一部を事前にフィルタリングする電文処理装置の設計を支援することが要望される。本発明の目的は、かかる要望に寄与する設計支援装置、設計支援方法およびプログラムを提供することにある。
本発明の第1の視点に係る設計支援装置は、
電文の選択を行う選択部と、当該選択部により選択された電文に対してアプリケーションプログラムによる処理を行う計算処理部と、を備える電文処理装置を設計する設計支援装置であって、
前記処理の結果が出力される条件を、第1のフィルタ条件として前記アプリケーションプログラムから抽出する第1のフィルタ条件抽出部と、
前記選択部が前記第1のフィルタ条件に基づいて前記選択を行うように、前記選択部の構成情報を生成する選択部生成部と、を備える。
本発明の第2の視点に係る設計支援方法は、
電文の選択を行う選択部と、当該選択部により選択された電文に対してアプリケーションプログラムによる処理を行う計算処理部と、を備える電文処理装置を設計する設計支援方法であって、
コンピュータが、
前記処理の結果が出力される条件を、第1のフィルタ条件として前記アプリケーションプログラムから抽出し、
前記選択部が前記第1のフィルタ条件に基づいて前記選択を行うように、前記選択部の構成情報を生成する。
本発明の第3の視点に係るプログラムは、
電文の選択を行う選択部と、当該選択部により選択された電文に対してアプリケーションプログラムによる処理を行う計算処理部と、を備える電文処理装置を設計する機能をコンピュータに実現させるためのプログラムであって、
前記処理の結果が出力される条件を、第1のフィルタ条件として前記アプリケーションプログラムから抽出する第1のフィルタ条件抽出部と、
前記選択部が前記第1のフィルタ条件に基づいて前記選択を行うように、前記選択部の構成情報を生成する選択部生成部と、を前記コンピュータに実現させる。
なお、プログラムは、非トランジエントなコンピュータ読み取り可能な記録媒体(non-transient computer-readable storage medium)に記録されたプログラム製品として提供することができる。
本発明に係る設計支援装置、設計支援方法およびプログラムによると、電文を処理するアプリケーションプログラムの処理内容に応じて、電文または電文に含まれる情報の一部を事前にフィルタリングする電文処理装置の設計を支援することが可能となる。
第1の実施形態に係る設計支援装置の概略構成を一例として示すブロック図である。 第1の実施形態に係る設計支援装置の構成を一例として示すブロック図である。 第1の実施形態に係る設計支援装置の動作を一例として示すフロー図である。 実施例におけるアプリケーションプログラムの例を示す図である。 実施例における電文の例を示す図である。 実施例における受信部の構成を一例として示す図である。 実施例における選択部の構成を一例として示すブロック図である。 実施例における電文の例を示す図である。 実施例における変換部の構成を一例として示すブロック図である。 実施例における電文の例を示す図である。 関連技術の電文処理装置の具体例を示す図である。 関連技術の電文処理装置の設計方法の具体例を示す図である。 関連技術の電文処理装置の具体例を示す図である。 実施例において設計対象とする電文処理装置の構成を示すブロック図である。
はじめに、一実施形態の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
図1は、一実施形態に係る設計支援装置の構成を一例として示すブロック図である。図1を参照すると、設計支援装置は、第1のフィルタ条件抽出部(62)および選択部生成部(63)を備える。
設計支援装置は、電文を選択する選択回路(例えば、図13、図14の選択部114)と、選択された電文を処理するアプリケーションプログラムを実行する計算処理部(図13、図14の112)とを備えた電文処理装置(図13の106、図14の107)を設計する設計支援装置である。フィルタ条件抽出部(62)は、アプリケーションプログラムから、電文の処理の結果が出力される条件を、アプリケーションプログラムから第1のフィルタ条件として抽出する。また、選択部生成部(63)は、選択回路(図13、図14の114)が第1のフィルタ条件に基づいて、電文の選択を行うように、選択回路(114)の構成情報を生成する。
かかる設計支援装置によると、電文を処理するアプリケーションプログラムの処理内容に応じて、電文を事前にフィルタリングする電文処理装置(106、107)の設計を自動化することが可能となる。なぜなら、選択部生成部(63)は、アプリケーションプログラムから電文の処理の結果が出力されるかどうかに応じて電文をフィルタリングする選択回路(図13、図14の選択部114)の構成情報を自動で生成するからである。
図2は、前記一実施形態に係る設計支援装置の他の構成を一例として示すブロック図である。図2を参照すると、設計支援装置は、第2のフィルタ条件抽出部(64)および変換部生成部(65)を備える。
図2に示した設計支援装置は、選択回路(例えば、図14の選択部114)によって選択された電文を変換する変換回路(例えば、図14の変換部115)と、アプリケーションプログラムを実行して、変換回路(115)により変換された電文を処理する計算処理部(例えば、図14の112)とを備えた電文処理装置(例えば、図14の107)を設計する設計支援装置である。第2のフィルタ条件抽出部(64)は、計算処理部(112)による電文の処理結果に影響を及ぼす、アプリケーションプログラムの入力を、アプリケーションから第2のフィルタ条件として抽出する。また、変換部生成部(65)は、変換部(115)が第2のフィルタ条件に基づいて電文の変換を行うように、変換部(115)の構成情報を生成する。
かかる設計支援装置によると、電文を処理するアプリケーションプログラムの処理内容に応じて、電文に含まれる情報の一部を事前にフィルタリングする電文処理装置の設計を支援することが可能となる。なぜなら、変換部生成部(65)は、電文の処理結果に影響を及ぼすかどうかに応じて、アプリケーションプログラムから抽出した第2のフィルタ条件に基づいて電文の変換を行う変換部(115)の構成を自動で生成するからである。
上記一実施形態に係る設計支援装置によると、大量の電文情報を受信しても、重要な情報だけを計算処理部に渡すことで高速な電文処理を実現する電文処理装置を、自動的に設計することが可能となる。また、上記一実施形態に係る設計支援装置によると、計算処理部で実行するアプリケーションプログラム毎に重要な情報が異なる場合にも、対応することができる。
なお、本発明において、下記の形態が可能である。
[形態1]
上記第1の視点に係る設計支援装置のとおりである。
[形態2]
前記第1のフィルタ条件抽出部は、前記電文に含まれるフィールドを含む論理式として、前記第1のフィルタ条件を表現してもよい。
[形態3]
前記電文処理装置は、前記選択された電文を変換する変換回路を備え、
前記計算処理部は、前記アプリケーションプログラムを実行して、前記変換回路により変換された電文を処理し、
前記設計支援装置は、前記計算処理部による前記処理の結果に影響を及ぼす前記アプリケーションプログラムの入力を、前記アプリケーションから第2のフィルタ条件として抽出する第2のフィルタ条件抽出部と、
前記変換回路が前記第2のフィルタ条件に基づいて前記変換を行うように、前記変換回路の構成情報を生成する変換部生成部と、を備えてもよい。
[形態4]
前記第2のフィルタ条件抽出部は、前記電文を分解して得られたフィールドを要素とする集合を用いて、前記2のフィルタ条件を表現してもよい。
[形態5]
前記選択部生成部は、前記選択回路が前記第1のフィルタ条件を満たさない電文を破棄するように、前記選択回路の構成情報を生成してもよい。
[形態6]
前記変換部生成部は、前記変換回路が前記電文のフィールドのうちの、前記集合に含まれないフィールドを削除するように、前記変換回路の構成情報を生成してもよい。
[形態7]
前記電文は、属性と値の組から成る少なくとも1つのフィールドを有してもよい。
[形態8]
上記第2の視点に係る設計支援方法のとおりである。
[形態9]
前記設計支援方法において、前記コンピュータが、前記電文に含まれるフィールドを含む論理式として、前記第1のフィルタ条件を表現してもよい。
[形態10]
前記設計支援方法において、前記電文処理装置は、前記選択された電文を変換する変換回路を備え、
前記計算処理部は、前記アプリケーションプログラムを実行して、前記変換回路により変換された電文を処理し、
前記コンピュータが、前記計算処理部による前記処理の結果に影響を及ぼす前記アプリケーションプログラムの入力を、前記アプリケーションから第2のフィルタ条件として抽出する工程と、
前記変換回路が前記第2のフィルタ条件に基づいて前記変換を行うように、前記変換回路の構成情報を生成する工程と、を含んでもよい。
[形態11]
前記設計支援方法において、前記コンピュータが、前記電文を分解して得られたフィールドを要素とする集合を用いて、前記2のフィルタ条件を表現してもよい。
[形態12]
前記設計支援方法において、前記コンピュータが、前記選択回路が前記第1のフィルタ条件を満たさない電文を破棄するように、前記選択回路の構成情報を生成してもよい。
[形態13]
前記設計支援方法において、前記コンピュータが、前記変換回路が前記電文のフィールドのうちの、前記集合に含まれないフィールドを削除するように、前記変換回路の構成情報を生成してもよい。
[形態14]
上記第3の視点に係るプログラムのとおりである。
[形態15]
前記プログラムは、前記電文に含まれるフィールドを含む論理式として、前記第1のフィルタ条件を表現する処理を、前記コンピュータに実行させてもよい。
[形態16]
前記電文処理装置は、前記選択された電文を変換する変換回路を備え、
前記計算処理部は、前記アプリケーションプログラムを実行して、前記変換回路により変換された電文を処理し、
前記プログラムは、前記計算処理部による前記処理の結果に影響を及ぼす前記アプリケーションプログラムの入力を、前記アプリケーションから第2のフィルタ条件として抽出する処理と、
前記変換回路が前記第2のフィルタ条件に基づいて前記変換を行うように、前記変換回路の構成情報を生成する処理と、を前記コンピュータに実行させてもよい。
[形態17]
前記プログラムは、前記電文を分解して得られたフィールドを要素とする集合を用いて、前記2のフィルタ条件を表現する処理を、前記コンピュータに実行させてもよい。
[形態18]
前記プログラムは、前記選択回路が前記第1のフィルタ条件を満たさない電文を破棄するように、前記選択回路の構成情報を生成する処理を、前記コンピュータに実行させてもよい。
[形態19]
前記プログラムは、前記変換回路が前記電文のフィールドのうちの、前記集合に含まれないフィールドを削除するように、前記変換回路の構成情報を生成する処理を、前記コンピュータに実行させてもよい。
(実施形態1)
第1の実施形態に係る設計支援装置について、図面を参照して詳細に説明する。図2は、本実施形態の設計支援装置の構成を一例として示すブロック図である。図2を参照すると、設計支援装置は、記憶装置(例えば、主記憶装置、補助記憶装置)50と、プログラム制御により動作する処理装置(例えば、コンピュータ;中央処理装置;プロセッサ;データ処理装置)60とを備えている。
記憶装置50は、プログラム記憶部51、選択部記憶部52、および、変換部記憶部53を備えている。
プログラム記憶部51は、電文処理装置の計算処理部で実行されるアプリケーションプログラムを予め記憶している。選択部記憶部52は、処理装置60の選択部生成部63が生成する選択部の回路情報を記憶する。変換部記憶部53は、変換部生成部65が生成する変換部の回路情報を記憶する。
処理装置60は、プログラム入力部61、第1のフィルタ条件抽出部62、選択部生成部63、第2のフィルタ条件抽出部64、および、変換部生成部65を備える。
プログラム入力部61は、記憶装置50のプログラム記憶部51に予め記憶されているアプリケーションプログラムを読み出す。
第1のフィルタ条件抽出部62は、記憶装置50から読み出されたアプリケーションプログラムから第1のフィルタ条件を抽出する。第1のフィルタ条件の詳細については、後述する。
選択部生成部63は、第1のフィルタ条件をもとに選択部の回路情報を生成する。選択部生成部63は、生成した回路情報を記憶装置50の選択部記憶部52に記録する。
第2のフィルタ条件抽出部64は、記憶装置50から読み出されたアプリケーションプログラムから第2のフィルタ条件を抽出する。第2のフィルタ条件の詳細については、後述する。
変換部生成部65は、第2のフィルタ条件をもとに変換部の回路情報を生成する。変換部生成部65は、生成した回路情報を記憶装置50の変換部記憶部53に記憶する。
図3は、本実施形態の設計支援装置の動作を一例として示すフロー図である。図2のブロック図および図3のフロー図を参照して、本実施形態の設計支援装置の動作について詳細に説明する。
記憶装置50のプログラム記憶部51には、設計対象の、電文処理装置の計算処理部で実行されるアプリケーションプログラムが、予め記憶されている。アプリケーションプログラムは、ソースコードとして記憶されていても、プロセッサなどで実行可能な形式に変換されて記憶されていてもよい。本実施形態では、一例として、ソースコードの形で記憶されているものとする。
まず、プログラム入力部61は、記憶装置50のプログラム記憶部51から、アプリケーションプログラムを読み出す(ステップA1)。
次に、第1のフィルタ条件抽出部62は、アプリケーションプログラム中の、各出力に対して出力が生成される条件を抽出し、これを「第1のフィルタ条件」とする(ステップA2)。
次に、選択部生成部63は、第1のフィルタ条件をもとに選択部の回路情報を生成する。選択部とは、一例として、受信した電文が第1のフィルタ条件を満たさないときに、電文を破棄する回路である。選択部生成部63は、前記選択部の回路情報を記憶装置50の選択部記憶部52に書き出す(ステップA3)。
次に、第2のフィルタ条件抽出部64は、アプリケーションプログラム中の、出力に対して影響を与える入力を抽出し、これを「第2のフィルタ条件」とする(ステップA4)。
次に、変換部生成部65は、第2のフィルタ条件をもとに変換部の回路情報を生成する。変換部とは、一例として、受信した電文のうちの、第2のフィルタ条件を満たさないデータを破棄する回路である。変換部生成部65は、前記変換部の回路情報を記憶装置50の変換部記憶部53に書き出す(ステップA5)。
次に、具体的な実施例に基づいて、本実施形態に係る設計支援装置(図2)の動作を説明する。
本実施例では、図14に示した電文処理装置107を設計の対象とする。図14を参照すると、電文処理装置107は、受信部111、選択部114、変換部115、および、計算処理部112を備えている。
受信部111は、ネットワークからの電文を受信する。受信部111は、予め与えられた電文仕様に従って、電文のヘッダ部の各フィールド、および、電文のデータ(ペイロード)部の各フィールドに電文を分解し、分解後の電文を選択部114に渡す。
一般の電文では、データ部の仕様が不確定のため、データ部のフィールドへの分解は困難である。本実施例では、予め定められた仕様に従って構成された電文を対象としているため、データ部に関してもフィールド単位で分解することができる。
選択部114は、受信部111から受け取った電文に対して、予め与えられた仕様に従って電文を検査し、予め決められた条件に合致する電文を発見した場合、電文を破棄する。また、選択部114は、それ以外の電文を変換部115に送信する。
変換部115は、選択部114から受け取った電文に対して、予め与えられた仕様に従って電文のフィールドを検査し、予め決められた条件に合致する電文のフィールドを破棄するなどして電文を変換する。さらに、変換部115は、変換後の電文を、PCI Expressなどのサーバ内の通信路を介して、サーバ内のCPUまたはメモリへと送信する。
計算処理部112は、変換部115から受け取った電文を、予め指定されたアプリケーションプログラムによって処理する。
なお、計算処理部112で実行するアプリケーションプログラムによる処理は、図11の電文処理装置105の計算処理部112で実行されるアプリケーションプログラムによる処理と同様である。
図14に示した電文処理装置107によると、選択部114および変換部115で処理に不必要な電文や処理に不必要なデータが破棄され、処理に必要なデータのみが計算処理部112に到着する。したがって、電文処理装置107によると、計算処理部112における処理内容を変更しなくても、電文処理装置105と比較して、より多くの電文を処理することが可能となる。
本実施例では、電文処理装置107に含まれる選択部114および変換部115を電子回路で実現する場合の設計支援を、設計支援装置(図2)によって行う方法について説明する。
記憶装置50のプログラム記憶部51には、設計対象の電文処理装置107の計算処理部112で実行されるアプリケーションプログラムが予め記憶されている。アプリケーションプログラムは、ソースコードとして記憶されていても、プロセッサなどで実行可能な形式に変換されて記憶されていてもよい。本実施例では、アプリケーションプログラムは、ソースコードとしてプログラム記憶部51に記憶されているものとする。
図4は、本実施例におけるアプリケーションプログラムを例示する。図4を参照すると、アプリケーションプログラムのソースコードは、ANSI-C言語で記述されている。なお、図4において、ソースコードのうちの説明上不要な箇所は省略されている。また、ソースコードは、ANSI-C以外のプログラミング言語で記述されていてもよい。
図4に示したアプリケーションプログラムが処理する電文は、図4のソースコードの1行目に示されるように、 city, temp, rain の3つのフィールドを持つ構造体で表現される。
本実施例のアプリケーションプログラムが処理する電文は、属性と値の組が複数存在するという、予め定められた仕様に従って構成されている。本実施例では、このような電文を「構造化された電文」という。構造化された電文として、HTML(Hypertext Markup Language)、XML(Extensible Markup Language)などの言語仕様に基づいた電文、構造体、クラスなどのデータ構造に基づいた本実施例のような電文、キーとバリューで表現される電文、その他の様々な電文が対象となる。このように、構造化された電文のみに着目することで、電文の中から重要な情報(例えば、アプリケーションプログラムの処理に関係する情報)を抽出することが可能となる。
構造体に含まれるフィールドcity, temp, rain は、それぞれ、都市、温度、降水量を表す。図4のアプリケーションプログラムは、都市cityがTokyoである電文に記載された降水量rainを積算して出力する。
図4のソースコードの5行目では、電文を受信し、構造体変数evに格納する。ここで、関数get_event()は、受信装置から1つの電文を受け取る関数である。6行目では、電文中のフィールドcityの値がTokyoであるかどうかを検査する。cityの値がTokyoでなければ、該電文に対して何も行わない。7行目では、積算降水量totalに対して、電文中のフィールドrainの値を加算する。8行目では、計算後の積算降水量totalを出力する。関数send_result()は、データの出力を行う関数である。なお、ソースコードの各行において、ダブルスラッシュ“//”以下はコメント文である。
図5は、図4に示したアプリケーションプログラムの処理対象となる電文を例示する。図5を参照すると、1行目の電文および3行目の電文のフィールドcityの値はTokyoである。したがって、1行目の電文および3行目の電文は、図4のアプリケーションプログラムで処理される。一方、2行目の電文のフィールドcityの値はOsakaであるため、図4のアプリケーションプログラムでは処理されない。したがって、2行目の電文は、図4のアプリケーションプログラムにとって不要な電文である。
また、図5に示した各電文のフィールドtempの値は、図4のアプリケーションプログラムでは処理されない。したがって、フィールドtempに含まれるデータは、図4のアプリケーションプログラムにとって不要なデータである。
図6は、図4に示したアプリケーションプログラムに対応する受信部111の入出力を例示する。図6を参照すると、受信部111は電文を受け取り、各フィールドに分解して選択部114に渡す。図4に示したアプリケーションプログラムが対象とする電文は、3つのフィールドcity, temp, rainを有する。これらのフィールドに対応して、図6の受信部111は、city, temp, rainの3つの出力を有する。
本実施例では、図6の受信部111が予め与えられているものとする。受信部111の設計方法として、一例として、非特許文献1に記載された方法を用いることができる。ただし、受信部111の設計方法は、これに限定されない。
次に、本実施形態に係る設計支援装置による、選択部114および変換部115の自動設計の手順について説明する。
まず、プログラム入力部61は、記憶装置50のプログラム記憶部51から、アプリケーションプログラムを読み出す(図3のステップA1)。
次に、第1のフィルタ条件抽出部62は、アプリケーションプログラム中の、各出力に対して出力が生成される条件を抽出し、これを「第1のフィルタ条件」とする(図3のステップA2)。
フィルタ条件抽出部62は、条件を抽出するために、一例として、制御データフローグラフ(Control Data Flow Graph:CDFG)解析などの技術を用いることができる。ただし、フィルタ条件抽出部62による条件抽出の方法は、これに限定されない。
図4に示したアプリケーションプログラムでは、出力動作send_result()を実行する条件は、6行目のif文の条件「ev.city == “Tokyo”」である。したがって、フィルタ条件抽出部62は、条件「ev.city == “Tokyo”」を第1のフィルタ条件として抽出する。
このように、第1のフィルタ条件は、電文を構成する各フィールドの論理式で表現される。
次に、選択部生成部63は、第1のフィルタ条件をもとに選択部114の回路情報を生成する(図3のステップA3)。選択部114は、受信した電文が第1のフィルタ条件を満たさないとき、電文を破棄する回路である。選択部生成部63は、選択部114の回路情報を記憶装置50の選択部記憶部52に書き出す。
第1のフィルタ条件は、電文を構成する各フィールドの論理式で表現されている。したがって、選択部生成部63は、この論理式を実現する論理回路の回路情報を、選択部114の回路情報として生成する。
図7は、生成された選択部114の構成を一例として示すブロック図である。図7を参照すると、選択部114は、外部入力端子city, temp, rainと、外部出力端子city, temp, rainと、条件判定回路116と、ゲート117を備える。
条件判定回路116は、外部入力端子cityから値を読み込み、その値がTokyoであるかどうかを検査する。条件判定回路116は、検査の結果、cityの値がTokyoである場合には真(True)を、それ以外の場合には偽(False)をゲート117に送る。
ゲート117は、条件判定回路116の値が真である場合、外部入力端子city, temp, rainの値を外部出力端子に送り、条件判定回路116の値が偽である場合、外部出力端子に対して何も出力しない。
図7に示した選択部114によると、cityの値がTokyoである電文のみが変換部115に送られ、それ以外の電文は破棄される。すなわち、選択部114によると、計算処理に不要な電文は破棄され、必要な電文のみが計算処理部112に送られる。
図8は、選択部114から送信される電文を例示する。図8の電文と図5の電文とを比較すると、図8の電文においては、図5の電文のうちのフィールドcityの値がOsakaである2行目の電文は、図7に示した選択部114によって破棄されている。
選択部生成部63は、図7に示した選択部114の回路構成情報を、記憶装置50の選択部記憶部52に記録する。
次に、第2のフィルタ条件抽出部64は、アプリケーションプログラム中の、出力に対して影響を与える入力を抽出し、これを「第2のフィルタ条件」とする(図3のステップA4)。
フィルタ条件抽出部64は、入力を抽出するために、例えば、影響円錐抽出法(Cone of Influence Reduction)などの技術を用いることができる。ただし、フィルタ条件抽出部64が入力を抽出する方法は、これに限定されない。
図4に示したアプリケーションプログラムでは、電文に含まれるフィールドcity, temp, rainのうち、cityおよびrainのみが出力に影響を与え、tempは出力に影響を与えない。したがって、フィルタ条件抽出部64は、cityおよびrainを第2のフィルタ条件として抽出する。
第2のフィルタ条件は、電文を構成する各フィールドの部分集合を指定することで表現される。
次に、変換部生成部65は、第2のフィルタ条件をもとに、変換部115の回路情報を生成する(図3のステップA5)。変換部115は、受信した電文のうちの第2のフィルタ条件を満たさないデータを破棄する回路である。変換部生成部65は、変換部115の回路情報を記憶装置50の変換部記憶部53に書き出す。
第2のフィルタ条件は、電文を構成する各フィールドの部分集合を指定することで表現されている。したがって、変換部生成部65は、電文中のフィールドから指定されたフィールドを選択する論理回路の回路情報を、変換部115の回路情報として生成する。
図9は、生成された変換部115の構成を一例として示すブロック図である。図9を参照すると、変換部115は、外部入力端子city, temp, rainと、外部出力端子city, rainと、フィールド選択回路118を備える。
フィールド選択回路118は、外部入力端子city, temp, rainからそれぞれ値を読み出し、cityおよびrainの値のみを、それぞれ外部出力端子city, rainに送出する。一方、フィールド選択回路118は、外部入力端子tempから読み出した値を外部出力端子に送出することなく破棄する。
図9に示した変換部115によると、電文中のフィールドcityおよびrainの値のみが計算処理部112に送られ、それ以外のフィールドの値は破棄される。すなわち、計算処理に不必要なフィールドのデータが破棄され、電文に含まれるデータのうちの必要なデータのみが計算処理部112に送られる。
図10は、変換部115から計算処理部112へ送信される電文を例示する。図10の電文と図8の電文とを比較すると、図10の電文においては、図8の電文におけるフィールドtempが破棄されている。
変換部生成部65は、図9の変換部115の回路情報を、記憶装置50の変換部記憶部53に記録する。
記憶装置50の選択部記憶部52に記憶された選択部114の回路情報、および、変換部記憶部53に記憶された選択部115の回路情報は、既存の回路設計技術を用いて、受信部111および計算処理部112とともに電文処理装置107に配置される。
本実施形態に係る設計支援装置は、例えば、センサや端末からのリアルタイム情報(イベント列)の処理を行う電文処理装置を設計するために適用することができる。
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態および実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
50 記憶装置
51 プログラム記憶部
52 選択部記憶部
53 変換部記憶部
60 処理装置
61 プログラム入力部
62、64 フィルタ条件抽出部
63 選択部生成部
65 変換部生成部
105、106、107 電文処理装置
111 受信部
112 計算処理部
113 コンパイラ
114 選択部
115 変換部
116 条件判定回路
117 ゲート
118 フィールド選択回路

Claims (10)

  1. 電文の選択を行う選択部と、当該選択部により選択された電文に対してアプリケーションプログラムによる処理を行う計算処理部と、を備える電文処理装置を設計する設計支援装置であって、
    前記処理の結果が出力される条件を、第1のフィルタ条件として前記アプリケーションプログラムから抽出する第1のフィルタ条件抽出部と、
    前記選択部が前記第1のフィルタ条件に基づいて前記選択を行うように、前記選択部の構成情報を生成する選択部生成部と、を備える
    設計支援装置。
  2. 前記第1のフィルタ条件は、
    前記電文に含まれる要素であるフィールドを含む論理式として表現される、
    請求項1に記載の設計支援装置。
  3. 前記電文処理装置は、
    前記選択部により選択された電文の変換を行う変換部を備え、
    前記計算処理部は、
    前記変換部により変換された電文に対して前記処理を行い、
    前記設計支援装置は、
    前記処理の出力結果に影響を及ぼす入力を、第2のフィルタ条件として前記アプリケーションプログラムから抽出する第2のフィルタ条件抽出部と、
    前記変換部が前記第2のフィルタ条件に基づいて前記変換を行うように、前記変換部の構成情報を生成する変換部生成部と、を備える、
    請求項1または2に記載の設計支援装置。
  4. 前記第2のフィルタ条件は、
    前記フィールドを要素とする集合により表現される、
    請求項3に記載の設計支援装置。
  5. 前記変換部生成部は、
    前記変換部が前記第2のフィルタ条件に基づいて前記電文のフィールドを削除するように、前記変換部の構成情報を生成する、
    請求項4に記載の設計支援装置。
  6. 前記選択部生成部は、
    前記選択部が前記第1のフィルタ条件に基づいて電文を破棄するように、前記選択部の構成情報を生成する、
    請求項1ないし5のいずれか1項に記載の設計支援装置。
  7. 前記電文は、
    属性と値の組から成る少なくとも1つのフィールドを有する、
    請求項1ないし6のいずれか1項に記載の設計支援装置。
  8. 電文の選択を行う選択部と、当該選択部により選択された電文に対してアプリケーションプログラムによる処理を行う計算処理部と、を備える電文処理装置を設計する設計支援方法であって、
    コンピュータが、
    前記処理の結果が出力される条件を、第1のフィルタ条件として前記アプリケーションプログラムから抽出し、
    前記選択部が前記第1のフィルタ条件に基づいて前記選択を行うように、前記選択部の構成情報を生成する、
    設計支援方法。
  9. 前記電文処理装置は、前記選択部により選択された電文の変換を行う変換部を備え、前記計算処理部は、前記変換部により変換された電文に対して前記処理を行い、
    前記コンピュータが、
    前記処理の出力結果に影響を及ぼす入力を、第2のフィルタ条件として前記アプリケーションプログラムから抽出し、
    前記変換部が前記第2のフィルタ条件に基づいて前記変換を行うように、前記変換部の構成情報を生成する、
    請求項8に記載の設計支援方法。
  10. 電文の選択を行う選択部と、当該選択部により選択された電文に対してアプリケーションプログラムによる処理を行う計算処理部と、を備える電文処理装置を設計する機能をコンピュータに実現させるためのプログラムであって、
    前記処理の結果が出力される条件を、第1のフィルタ条件として前記アプリケーションプログラムから抽出する第1のフィルタ条件抽出部と、
    前記選択部が前記第1のフィルタ条件に基づいて前記選択を行うように、前記選択部の構成情報を生成する選択部生成部と、を前記コンピュータに実現させるための、
    プログラム。
JP2014511235A 2012-04-18 2013-04-17 設計支援装置、設計支援方法およびプログラム Active JP6107817B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012095064 2012-04-18
JP2012095064 2012-04-18
PCT/JP2013/061412 WO2013157582A1 (ja) 2012-04-18 2013-04-17 設計支援装置、設計支援方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2013157582A1 JPWO2013157582A1 (ja) 2015-12-21
JP6107817B2 true JP6107817B2 (ja) 2017-04-05

Family

ID=49383537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014511235A Active JP6107817B2 (ja) 2012-04-18 2013-04-17 設計支援装置、設計支援方法およびプログラム

Country Status (2)

Country Link
JP (1) JP6107817B2 (ja)
WO (1) WO2013157582A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7118307B1 (ja) 2021-09-28 2022-08-15 三菱電機株式会社 通信システム、通信制御装置、通信制御方法およびプログラム
CN114398437A (zh) * 2022-01-04 2022-04-26 多点生活(成都)科技有限公司 用户信息处理方法、装置、电子设备和计算机可读介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4183920B2 (ja) * 2001-02-16 2008-11-19 富士通株式会社 パケットデータ処理装置
AUPR435501A0 (en) * 2001-04-11 2001-05-17 Firebridge Systems Pty Ltd Network security system
JP2007310662A (ja) * 2006-05-18 2007-11-29 Mitsubishi Electric Corp ファイアウォール装置
JP2010074761A (ja) * 2008-09-22 2010-04-02 Fuji Xerox Co Ltd 通信制御装置、画像処理装置、及びプログラム
JP5256118B2 (ja) * 2009-05-15 2013-08-07 日本電信電話株式会社 情報配信システム及び情報配信方法

Also Published As

Publication number Publication date
WO2013157582A1 (ja) 2013-10-24
JPWO2013157582A1 (ja) 2015-12-21

Similar Documents

Publication Publication Date Title
TWI502501B (zh) 用以控制自動機之內分支度及/或外分支度之展開量化
JP2019133621A (ja) Apiドキュメンテーションの収集
CN109902274B (zh) 一种将json字符串转化为thrift二进制流的方法及系统
CN110515944B (zh) 基于分布式数据库的数据存储方法、存储介质和电子设备
JP6107817B2 (ja) 設計支援装置、設計支援方法およびプログラム
CN107132808A (zh) 可编程控制器及其控制方法与控制程序
Ladegourdie et al. Performance analysis of opc ua for industrial interoperability towards industry 4.0
CN109508211A (zh) 一种多语言配置方法、装置、系统及电子设备
CN113268955A (zh) 报文转换的方法和装置
Nimma et al. Modeling intelligent control switch iec 61850 based substation automation communication
CN111245633A (zh) 微电网主设备的配置文件及其运行方法
Sha et al. A high-performance and flexible architecture for accelerating SDN on the MPSoC platform
CN115587593B (zh) 信息抽取方法、装置、电子设备和计算机可读介质
CN105793842B (zh) 序列化消息之间的转换方法和装置
CN108845794B (zh) 一种流式运算系统、方法、可读介质和存储控制器
US9858323B2 (en) Intermediate data format for database population
US8910118B2 (en) Extracting business rules of a service-oriented architecture (SOA) system
Marchetto et al. A framework for user-friendly verification-oriented VNF modeling
CN114741699A (zh) 结合自注意力机制的模糊测试漏洞挖掘系统
JP6502044B2 (ja) データ解析装置、データ解析方法、および、プログラム。
WO2013157588A1 (ja) 情報処理装置、情報処理方法およびプログラム
JP2009093526A (ja) プロセス間通信システム、データ構造、プロセス間通信制御装置、プロセス間通信制御方法及びコンピュータプログラム
Liu et al. A programmable srv6 processor for sfc
JP2016004297A (ja) ログ分類装置、ログ分類方法、及びログ分類プログラム
US12028234B2 (en) Conversion device, conversion method, and conversion program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170220

R150 Certificate of patent or registration of utility model

Ref document number: 6107817

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150