JP4638250B2 - プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム - Google Patents

プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム Download PDF

Info

Publication number
JP4638250B2
JP4638250B2 JP2005028122A JP2005028122A JP4638250B2 JP 4638250 B2 JP4638250 B2 JP 4638250B2 JP 2005028122 A JP2005028122 A JP 2005028122A JP 2005028122 A JP2005028122 A JP 2005028122A JP 4638250 B2 JP4638250 B2 JP 4638250B2
Authority
JP
Japan
Prior art keywords
program code
data
code
execution
processing
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.)
Expired - Fee Related
Application number
JP2005028122A
Other languages
English (en)
Other versions
JP2006215826A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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
Priority to JP2005028122A priority Critical patent/JP4638250B2/ja
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to ES10014002T priority patent/ES2708499T3/es
Priority to EP06712888.4A priority patent/EP1881401B1/en
Priority to CN 200810184954 priority patent/CN101458620B/zh
Priority to KR1020077016934A priority patent/KR100902461B1/ko
Priority to EP10014002.9A priority patent/EP2330502B1/en
Priority to PCT/JP2006/301745 priority patent/WO2006082878A1/ja
Priority to EP09014774.5A priority patent/EP2161659B1/en
Priority to CN2006800040337A priority patent/CN101116054B/zh
Priority to ES06712888.4T priority patent/ES2687433T3/es
Priority to ES09014774T priority patent/ES2728318T3/es
Priority to US11/883,627 priority patent/US8448158B2/en
Priority to TW095103700A priority patent/TWI312482B/zh
Publication of JP2006215826A publication Critical patent/JP2006215826A/ja
Priority to HK09108809.5A priority patent/HK1130916A1/xx
Application granted granted Critical
Publication of JP4638250B2 publication Critical patent/JP4638250B2/ja
Priority to US13/195,107 priority patent/US8527967B2/en
Priority to US13/195,073 priority patent/US8572557B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明はプログラムコードを生成するための支援を行うプログラムコード生成支援装置等に関するものである。特にそのプログラムコードを実行処理する装置等に合わせてプログラムコードを最適化するためのものである。
家電機器(エアコン、冷蔵庫、洗濯機、放電灯点灯装置等)等においては、その動作を制御するため、プログラム実行装置を組み込んでいる(以下、このような家電機器、家電機器アダプタ等を組み込み機器という)。ここで、プログラム実行装置が実行処理を行うためには、あらかじめ定められたプログラムコードと呼ばれるデータを必要とする。このプログラムコードは、例えば組み込み機器内に設けられたROM(Read Only Memory)等の記憶手段にあらかじめ記憶されており、プログラム実行装置はROMに記憶されたプログラムコードを読み込んで(入力して)実行処理を行っている。そして、このようなプログラムコードを生成を支援するための装置も提案されている(例えば特許文献1参照)。
特開平9−16382号公報
ここで、プログラムコードが用いられる環境は必ずしも一律ではなく、例えば、組み込み機器(特にプログラム実行装置)によって大きく異なるので、組み込み機器の特性等に合わせたプログラムコードを生成することが望ましい。特にプログラムコードに係るデータ量を少なくできれば、その分だけ、プログラム実行装置において、ROMや実行処理を行う際に一時的に記憶するためのバッファの記憶容量を減らすことができる。また、今後、組み込み機器がネットワークを介して相互に接続され、例えば、プログラムコードを含む信号を送受信するような場合にも都合がよい。しかしながら、上述のような支援装置では、単にプログラムコードを生成するだけであった。
そこで本発明は、プログラムコードをさらに最適化して新たなプログラムコードを生成でき、特に組み込み機器に応じた生成を行えるプログラムコード生成支援装置、方法等を実現することを目的とする。
本発明に係るプログラムコード生成支援装置は、実行処理に用いられる処理データと実行処理内容を表すコマンドとが順に並べられた実行コードにより構成されるプログラムコードのデータを変換するための変換条件と変換内容で構成される最適化規則をデータとして記憶する記憶手段と、プログラムコードの実行処理環境を設定する組み込み機器条件入力手段と、プログラムコードを解析するコード解析部、解析したプログラムコードに基づいて、記憶手段に記憶された最適化規則との照合を行い、プログラムコードにおいて変換条件と合致する部分を検索する条件検索部及び変換内容に基づいて変換条件と合致する部分を変換し、新たなプログラムコードのデータを生成する最適化部を有するコード最適化手段と、組み込み機器条件入力手段の判断に基づいて、各実行コードの処理データとコマンドとを識別し、要素毎の処理データをまとめてバイナリ形式に変換し、コマンドを対応する数値に変換した上で、それぞれのデータを所定のデータ量毎に分け、コマンドが含まれたデータであるか否かを判定するためのフラグのデータを、分けたデータに対してそれぞれ付してプログラムコードを圧縮処理するプログラムコード圧縮処理手段とを備えるものである。
本発明によれば、プログラムコードに対し、さらにコード最適化手段が、コード解析部が解析を行い、条件検索部が最適化規則に基づいて、条件に合致している部分があるかどうかを検索し、最適化部が最適化を行うための変換を行って新たな実行コード(プログラムコード)をさらに生成するようにしたので、組み込み機器が有するプログラム実行装置が実行処理等を行いやすいように最適化することができる。特に、同じコマンドに基づく実行コードが連続する部分をまとめて新たな実行コードを生成することにより、プログラムコード全体のデータ量を低減させ、また、実行処理においても、一度にまとめて行えるので処理速度を速くすることができる。
実施の形態1.
図1は本発明の実施の形態1に係るプログラムコード生成支援装置を中心とするシステムを表す図である。プログラム生成支援装置は、仕様入力手段1、コード生成手段2、コード評価手段3、コード最適化手段4、出力手段5、記憶手段10、表示手段20及び入力手段30で構成される。
図2は仕様入力手段1が表示手段20に表示させた画面の例を表す図である。仕様入力手段1は、例えばオペレータに仕様を入力させるための画面を表示手段20に表示させ、仕様として、入力手段30から入力されたデータを処理する。処理したデータは、実行コードを構成する処理データとなる。ここで、ECHONET (Energy Conservation and Homecare Network:ECHONET はECHONET コンソーシアムの商標)とは、図1に示すように、家電機器同士を連携させつつ制御を行なうためのネットワーク(通信回線)の規格である。本実施の形態では、その規格により接続された機器、アダプタ等における実行処理を行うためのプログラムコードを生成するものとする。各仕様の要素(項目)と処理データとの関係は後述する。
図3は実行コードの一例を表す図である。コード生成手段2は、仕様入力手段1が処理したデータに基づいて、プログラムコードを生成する。図3ではテキストデータとして記述されている。プログラムコードは1又は複数の実行コードで構成される。実行コードは、例えば、組み込み機器が有するプログラム実行装置においてインタプリタにより逐次に実行処理を行う際の単位となる。本実施の形態においては、プログラムコードに用いる言語としてForth を用いる。Forth は構文解析が簡単又は不要な逆ポーランド記法に基づく言語である。本実施の形態において、実行コードは、プログラム実行装置が実行すべき処理を表すコマンド(命令)のデータ(以下、コマンドという。Forth ではwordという)とコマンドに基づく処理のためのデータ(以下、処理データという)で構成され、処理データ、コマンドの順に記述される。ここで、各コマンドとその処理内容のデータは、あらかじめ定義づけられて(関連づけられて)登録されている(これを辞書という)。そのため、実行コードに記述された文字列等のデータにおいては、辞書に登録されていればコマンドであり、登録されていなければ処理データとなる。また、コマンドはあらかじめ決められたものだけではなく、さらにコマンドの処理内容を定義して辞書として登録することができるものとする。この辞書については、本実施の形態では記憶手段10に辞書部10Aとして記憶されているものとする。ここでは、Forth を用いてプログラムコードを生成しているが、本発明が適用できるプログラムコードはこれに限定するものではない。
ここで、コード生成手段2は、後段のコード評価支援手段3による処理において、表示手段20にプログラムコードを表示させた際に、オペレータが評価を行いやすいような評価用のプログラムコードを生成する。例えば、実行コードの文字列が長くなりすぎないように生成したり、独自に定義したものではない、基本的なコマンドを用いて生成したりしてトレースしやすいようにする。
コマンドRGST_EPCは組み込み機器のプロパティ情報を登録を実行処理するために記述される。オブジェクトid(obj_id)は組み込み機器のオブジェクトに対して付されるidである。ECHONET プロパティ(epc )は、組み込み機器に応じて設定可能なプロパティ(例えば、エアコンにおける風量設定状態等)のコードである。コードの値はECHONET の規格で定められている。また、プロパティのデータ型(type)として7種類が用意されている(組み込み機器とプロパティとが決まれば自動的に決定される)。アクセスルール(rule)は書き込み、読み出し、通知の可否を示すものである。状変時アナウンス有無(anno)はプロパティの状態が変化した際に、ネットワークを介して通知するか否かを表す指標(フラグ)である。データサイズ(size)は、プロパティのデータサイズを規定するためのものであり、ECHONET の規格ではその最大値を8640バイトとしている。
コード評価手段3は、コード生成手段2又はその他の手段が生成したプログラムコード(実行コード)をオペレータが評価するための支援を行う。例えば、オペレータが生成されたプログラムコードの確認、デバッグ等、プログラムコードの評価を行うため、プログラムコードを表示手段20の画面に表示させる。また、プログラム実行装置が実行処理を行う際に用いるインタプリタを有しており、生成された実行コードを実行処理することができる。これにより、オペレータがプログラムコード(実行コード)に基づいて行われる実行処理を確認することができる。
コード最適化手段4は、記憶手段10の最適化規則記憶部10Bに記憶された最適化規則に基づいて、プログラムコードの最適化を図る。コード最適化手段4は、コード解析部4A、条件検索部4B及び最適化部4Cで構成される。最適化規則とは、例えば複数の実行コードをまとめ、新たな実行コードを生成する等、プログラム実行装置がプログラムコードに基づく実行処理を効率よくできるようにするための変換規則をデータ化したものである。最適化規則についてはさらに後に述べる。
コード解析部4Aは、入力されたプログラムコードを解析する。ここでコード解析部4Aはカウンタを有しており、同じコマンドを有し、同じ内容を実行処理する実行コードが連続している部分について、連続する回数をカウントする。条件検索部4Bは、変換条件に基づく検索を行う。つまり、解析したプログラムコードと最適化規則を構成する変換条件とを照合し、変換条件に合致している部分があるかどうかの判断を行う。その際、コード解析部4Aのカウントを参照する。最適化部4Cは、条件検索部4Bが変換条件に合致していると判断した部分について、最適化を行うための変換を行って新たな実行コード(ひいてはプログラムコード)を生成する。
ここで、コード解析部4A、条件検索部4B及び最適化部4Cについて、それぞれ物理的に独立した手段として構成してもよいが、ここでは、例えばCPUを中心とする制御処理装置がそれぞれの手段の処理を実行することで、各部の処理を実現する。なお、仕様入力手段1、コード生成手段2、コード評価手段3、コード最適化手段4、出力手段5の関係においても同様であり、各手段を独立させてもよいが、本実施の形態では、制御処理装置がそれぞれの手段の処理を実行することで、プログラムコード生成支援装置の処理を実現するものとする。
出力手段5は、対応する出力デバイスに合わせた形式のデータにプログラムコードを変換し、出力デバイスに出力させる処理を行う。例えば、出力デバイスが印刷装置40である場合には、バーコード、QRコード(2次元バーコード:QRコードは株式会社デンソーウェーブの登録商標)等として印刷装置に印刷させるようなデータにプログラムコードを変換し、印刷媒体に印刷させる処理を行う。そのため、例えば組み込み機器専用に高価な通信装置を設け、直接的に通信回線に接続して信号の送信を行わなくても、携帯電話等が有しているカメラ、赤外線通信技術等を用いて、組み込み機器にデータを含む信号を送信し、プログラムコードを記憶させることができる。これにより、紙媒体等、低価格の媒体を用いても組み込み機器内に記憶されたプログラムコードを最新の状態に保つことができる。また、例えばメモリ読書装置50を出力デバイスとして用いて、電子記憶媒体によるデータ交換を行ってもよい。また、通信装置を出力デバイスとしてもよい。なお、記憶手段10には、辞書部10Aに記憶された辞書、最適化規則記憶部10Bに記憶された最適化規則の他にも、各手段が表示手段20に画面表示させるためのデータ等、プログラムコード生成支援を行うためのプログラム等が記憶されている。
図4は最適化規則の一例を表す図である。例えば、図4(a)に示すように、「コマンドRGST_EPC(ECHONET プロパティの登録を処理内容とする)を複数回連続して実行処理するようにプログラムコードの記述がなされていれば、複数のECHONET プロパティの登録を一度に実行処理する処理内容のコマンドRGST_EPCS に置き換える」旨の規則が最適化規則として最適化規則記憶部10Bに記憶されている。その内容をスクリプト(記述)形式のデータとして表したものが図4(b)である。矢印の手前が条件検索部4Bが検索する際の変換条件を表し、矢印の先が最適化部4Cが変換する際の変換内容を表している(ここで、複数回連続するので、nは2以上とする。このnをコード解析部4Aがカウントする)。コマンドRGST_EPCS に関する実行コードにおいて、処理データは、登録するECHONET プロパティについて、オブジェクトid(obj_id)、ECHONET プロパティ(epc )、データ型(type)、状変時アナウンス有無(anno)及びデータサイズ(size)の組を、登録を繰り返す分だけ並べて、繰り返す回数を付したものとなる。このコマンドRGST_EPCS についても辞書部10Aに登録されている。このように、実行コードをまとめて別の実行コードにして、プログラムコードのデータ量を減らし最適化を図る。複数の実行コードをまとめて実行処理することになるため、処理速度を高めることができる。
図5は最適化規則の別の一例を表す図である。例えば、図5では「同じ配列の異なる要素に対する代入の連続は、まとめて値を代入できるコマンドSET_C_ARRAY に置き換える」旨の規則が最適化規則として最適化規則記憶部10Bに記憶されている。その内容をスクリプト(記述)形式のデータとして表したものが図5(b)である。ここで、charは代入する値、c-addrは代入先のアドレス、offsetは先頭アドレスからのオフセットを表す。条件検索部4Bが検索する際の変換条件及び最適化部4Cが変換する際の変換内容のc-addrに付した[]は、c-addrの内容(文字列)が同じであることを表している。また、nは2以上とし、コード解析部4Aがカウントする。例えば、「1 BUF 0 + C!」は、アドレスBUF から0バイト目に1を代入する実行処理を行う。コマンドSET_C_ARRAY に関する実行コードにおいて、処理データは、代入する値(char)をn(繰り返す回数分)並べ、アドレスを示す「BUF 」、オフセットをn並べて、繰り返す回数を付したものとなる。コマンドSET_C_ARRAY についても辞書部10Aに登録されている。
以上のように実施の形態1によれば、コード生成手段2が生成したプログラムコードに対し、さらにコード最適化手段4において、コード解析部4Aが解析を行い、条件検索部4Bが最適化規則記憶部10Bに記憶された最適化規則に基づいて、変換条件に合致している部分があるかどうかを検索し、最適化部4Cは、条件検索部4Bが変換条件に合致していると判断した部分について、最適化を行うための変換を行って新たな実行コード(プログラムコード)をさらに生成するようにしたので、組み込み機器が有するプログラム実行装置が実行処理等を行いやすいように最適化することができる。特に、同じコマンドに基づく実行コードが連続する部分をまとめて新たな実行コードを生成することにより、プログラムコード全体のデータ量を低減させ、また、実行処理においても、一度にまとめて行えるので処理速度を速くすることができる。その際、コード生成手段2の生成に係るプログラムコードは、コード評価支援手段3がプログラムコードを表示手段20に表示させた際に、オペレータが評価しやすいような形で生成しておくことにより、オペレータが、確認、修正等を行いやすくすることができる。さらに、出力手段5により、出力デバイスに合わせた形式のデータにプログラムコードを変換するようにしたので、様々な出力デバイスの形式に対応してプログラムコードを記録させておくことができる。特にバーコード、QRコード等を印刷するためのデータに変換し、印刷できるようにしておけば、プログラムコードの記録を低価格媒体に行っておくことができる。そして組み込み機器へのプログラムコードを含む信号送信には、例えば携帯電話等の汎用通信手段を用いることができる。
実施の形態2.
図6は本発明の実施の形態2に係るプログラムコード生成支援装置を表す図である。プログラムコードを組み込み機器に格納(記憶)するための環境、組み込み機器が有するプログラム実行装置がプログラムコードに基づく実行処理をする環境は、機器の種類等により異なる。特にプログラムコード生成にあたり、プログラムコードを格納(記憶)するROMの記憶容量、実行処理時等におけるRAM(Random Access Memory)の使用可能な記憶容量が重要となる。そこで、本実施の形態では、組み込み機器の条件(プログラムコードに基づく実行処理環境)を設定し、プログラムコード生成の際に反映させる。図6において、図1のプログラムコード生成支援装置と同じ符号を付したものは、実施の形態1で説明した手段と同じような処理動作を行うので説明を省略する。
図7は組み込み機器条件入力手段6が表示手段20に表示させた画面の例を表す図である。組み込み機器条件入力手段6は、例えばオペレータに組み込み機器の特性、条件等を入力させるための画面を表示手段20に表示させ、入力手段30から入力された指示の信号を設定処理し、コード最適化手段4及び出力手段5に送信する。図7においては、プログラムコードを格納するためのROMの記憶容量(コード記憶容量)、RAMの使用可能な記憶容量(使用可能RAM容量)、プログラムコードの圧縮処理をするか否か(バイナリ圧縮)、プログラムコードを印刷用媒体として出力するか、メモリカード等の電子記憶媒体に出力するか(出力媒体)及び印刷媒体が選択された場合にQRコード(QRコードは株式会社デンソーウェーブの登録商標)に変換するか否か(QRコードへの変換)を設定することができる。
本実施の形態のコード最適化手段4−1は、最適化部4Cの処理に加え、組み込み機器条件入力手段6において入力された組み込み機器のROM及びRAMの記憶容量に基づいた判断を行う最適化部4Dを最適化部4Cの代わりに備えている点で最適化手段4と異なる。また、プログラムコードを圧縮するための処理データ・コマンド識別部4E及び変換部4Fを有している点でも異なる。本実施の形態では、処理データ・コマンド識別部4E及び変換部4Fをコード最適化手段4−1の機能の一部として構成しているが、独立したプログラムコード圧縮処理手段としてもよい。
最適化部4Dは、条件検索部4Bが変換条件に合致していると判断した部分について、最適化を行うための変換を行って新たな実行コードを生成するが、その際、まとめる実行コードが多くなると、処理データのデータ量が大きくなり、新たな実行コードのデータ量が大きくなる可能性がある。そのため、組み込み機器によっては、プログラム実行装置が実行処理を行う際、実行コード等を一時的に記憶させるRAMの記憶容量を越えることもある。そこで、最適化部4Dは、組み込み機器条件入力手段6を介して入力された使用可能RAM容量のデータに基づいて、その容量を越えると判断した場合には、各実行コードのデータ量が容量以下の複数の実行コードに分けて生成する。また、全体のプログラムコードのデータ量が、組み込み機器が有するプログラムコードを格納するためのROMの記憶容量を越える場合は、設定の有無に関わらず、処理データ・コマンド識別部4E及び変換部4Fに圧縮処理を行わせる。以上の判断等を行い、新たなプログラムコードを生成する。
図8は圧縮した実行データを表す図である。次に圧縮処理について図3に記載した実行コードに基づいて説明する。組み込み機器条件入力手段6でのバイナリ圧縮の入力、最適化部4Dでの判断に基づいて、圧縮処理を行う場合、データ・コマンド識別部4Eでは、プログラムコードの各実行コードについて、辞書部10Aに記憶されている辞書と照合し、辞書と合致しない文字列、数字等を処理データとし、合致した文字列(スクリプト)をコマンドとすることで、処理データとコマンドとを識別処理する。
変換部4Fは、処理データとコマンドとをそれぞれバイナリデータで表す。ここで、オブジェクトidを表すために2ビット、ECHONET プロパティ(epc )に8ビット、プロパティのデータ型に3ビット、アクセスルールは3ビット、状変時アナウンス有無は1ビット、データサイズは14ビットを割り当てる。バイナリデータとして表した後、所定のデータ量毎に分けたデータを生成する。本実施の形態においては7ビットを所定のデータ量とする。例えば処理データが7で割り切れないデータ量の場合は、例えば残りのビットに“0”を補充する。そして、処理データを表すデータ(以下、このデータについても処理データという)については分けたそれぞれの先頭のビットに“0”を付し、コマンドを判別するためのデータ(以下、このデータについてもコマンドという)については“1”を付す。つまり、これが、処理データであるかコマンドであるかを判定するための判定用ビット(フラグ)となる。これにより、各実行コード(プログラムコード)は1バイト(8ビット)を単位として各バイトコードに分けられる。このように、各項目(要素)の文字列に分かれていた処理データをバイナリデータとしてまとめて処理してデータ量の低減を図る。
一方、コマンドについては、そのコマンドと1対1で対応するバイナリデータで表す。これにより、そのバイナリデータが表すコマンドを判別することができる。このコマンドとバイナリデータとの関係は関連づけられてデータとして記憶手段10に記憶されており、変換部4Fは生成に際してそのデータを参照する。ここで、コマンド数が128以下であればコマンドを判別するためには1バイトあれば足りる。例えばコマンド数がそれ以上となる等の場合には2バイト以上になるが、その場合でも、実行処理に使用(出現)する頻度の高いコマンド(例えばプロパティ関連等)は1バイトのコードデータでも判別できるようにすることで、プログラムコード全体のデータ量をさらに減らすことができる。なお、本実施の形態による方法によって生成したバイト単位のコードデータを、さらにランレングス法のような公知のビット列圧縮法によって圧縮するようにしてもよい。
また、組み込み機器条件入力手段6を介して入力された出力媒体のデータに基づいて、出力手段5は、変換を行う形式を決定し、変換を行う。その際、出力媒体として、電子記憶媒体が選択された場合は、QRコードへの変換は自動的に「しない」が選択される。また、出力媒体として、印刷媒体が選択された場合は、QRコードへの変換は「する」が選択される。
組み込み機器が有するプログラム実行装置では、記憶媒体等を介し、例えばROMプログラムコードが格納される。プログラムコードを1バイト単位で読み込み、コマンドを含むデータであるか処理データを含むデータであるかどうかを、判定用ビットに基づいて判定し、処理データを含むデータの場合は、RAMに一時的に記憶させていく。コマンドを含むデータであると判断すると、実行コードに伸張して実行処理を行う。
以上のように実施の形態2によれば、組み込み機器(その組み込み機器が有するプログラム実行装置)のプログラムコード実行処理環境(ROM、RAMの記憶容量等)を入力設定するための組み込み機器条件入力手段6を設け、さらにその設定に基づいて、最適化部4Dが新たなプログラムコードを生成するようにしたので、組み込み機器の特性、条件等に応じた、きめ細かなプログラムコード生成を行うことができる。そして、処理データ・コマンド識別部4E及び変換部4Fを有し、プログラムコードの圧縮処理を行うことができるので、ROMの記憶容量削減を図ることができ、低コスト化を図ることができる。そして、圧縮処理において、各実行コードの処理データとコマンドとを識別し、処理データは各要素(項目)をまとめてバイナリデータとし、コマンドは対応する数値をバイナリデータとして、それぞれのデータを7ビットに分け、処理データを含むデータかコマンドを含むデータか判定するための判定用ビットを各データに付すようにして、1バイトのデータに分けるようにしたので、処理データとコマンドをそれぞれ圧縮できる。
プログラムコード生成支援装置中心のシステムを表す図である。 仕様入力手段1が表示手段20に表示させた画面の例を表す図である。 実行コードの一例を表す図である。 最適化規則の一例を表す図である。 最適化規則の別の一例を表す図である。 実施の形態2に係るプログラムコード生成支援装置を表す図である。 組み込み機器条件入力手段6が表示させた画面の例を表す図である。 圧縮した実行データを表す図である。
符号の説明
1 仕様入力手段、2 コード生成手段、3 コード評価手段、4、4−1 コード最適化手段、4A コード解析部、4B 条件検索部、4C、4D 最適化部、4E 処理データ・コマンド識別部、4F 変換部、5 出力手段、6 組み込み機器条件入力手段、10 記憶手段、10A 辞書部、10B 最適化規則記憶部、20 表示手段、30 入力手段、40 印刷装置、50 メモリ読書装置。

Claims (6)

  1. 実行処理に用いられる処理データと実行処理内容を表すコマンドとが順に並べられた実行コードにより構成されるプログラムコードのデータを変換するための変換条件と変換内容で構成される最適化規則をデータとして記憶する記憶手段と、
    前記プログラムコードの実行処理環境を設定する組み込み機器条件入力手段と、
    前記プログラムコードを解析するコード解析部、解析した前記プログラムコードに基づいて、前記記憶手段に記憶された前記最適化規則との照合を行い、前記プログラムコードにおいて前記変換条件と合致する部分を検索する条件検索部及び前記変換内容に基づいて前記変換条件と合致する部分を変換し、新たなプログラムコードのデータを生成する最適化部を有するコード最適化手段と
    前記組み込み機器条件入力手段の判断に基づいて、各前記実行コードの前記処理データと前記コマンドとを識別し、要素毎の前記処理データをまとめてバイナリ形式に変換し、前記コマンドを対応する数値に変換した上で、それぞれのデータを所定のデータ量毎に分け、前記コマンドが含まれたデータであるか否かを判定するためのフラグのデータを、分けたデータに対してそれぞれ付して前記プログラムコードを圧縮処理するプログラムコード圧縮処理手段と
    を備えることを特徴とするプログラムコード生成支援装置。
  2. 実行処理に用いられる処理データと実行処理内容を表すコマンドからなる実行コードにより構成されるプログラムコードのデータに対し、同じ前記コマンドに基づく実行コードが連続する回数に基づいて定める変換条件と、変換内容で構成される最適化規則をデータとして記憶する記憶手段と、
    前記プログラムコードの実行処理環境を設定する組み込み機器条件入力手段と、
    前記プログラムコードを解析し、前記連続する回数をカウントするコード解析部、解析した前記プログラムコードを前記記憶手段に記憶された前記最適化規則と照合し、前記カウントした数に基づいて前記プログラムコードにおいて前記変換条件と合致する部分を検索する条件検索部及び前記変換内容に基づいて前記変換条件と合致する部分を変換し、新たなプログラムコードのデータを生成する最適化部とを有するコード最適化手段と
    前記組み込み機器条件入力手段の判断に基づいて、各前記実行コードの前記処理データと前記コマンドとを識別し、要素毎の前記処理データをまとめてバイナリ形式に変換し、前記コマンドを対応する数値に変換した上で、それぞれのデータを所定のデータ量毎に分け、前記コマンドが含まれたデータであるか否かを判定するためのフラグのデータを、分けたデータに対してそれぞれ付して前記プログラムコードを圧縮処理するプログラムコード圧縮処理手段と
    を備えることを特徴とするプログラムコード生成支援装置。
  3. 前記コード最適化手段の前段に、前記プログラムコードにおける前記処理データとなる要素をデータとして入力するための仕様入力手段と、人間が評価を行うために実行コードの文字列及び/又は前記コマンド内容を制限して規定した評価用プログラムコードを生成するコード生成手段とをさらに備え、前記評価用プログラムコードに基づいて、前記コード最適化手段は前記新たなプログラムコードのデータを生成することを特徴とする請求項1又は2記載のプログラムコード生成支援装置。
  4. 前記プログラムコードに基づいて、印刷媒体から電子データとして読み取り可能な形式のデータに変換する出力手段をさらに備えることを特徴とする請求項1〜のいずれかに記載のプログラムコード生成支援装置。
  5. 実行処理に用いられる処理データと実行処理内容を表すコマンドとが順に並べられた実行コードにより構成されるプログラムコードについて、生成されたプログラムコードを解析手段において解析する工程と、
    記憶手段に記憶された、プログラムコードを変換するための変換条件のデータと、解析した前記プログラムコードとの照合を条件検索手段が行い、前記プログラムコードにおいて前記変換条件と合致する部分を検索する工程と、
    変換手段において、前記変換条件と合致する部分を、前記記憶手段に記憶された変換内容のデータに基づいて変換し、新たなプログラムコードのデータを生成する工程と
    組み込み機器条件入力手段が前記プログラムコードの実行処理環境を判断する工程と、
    前記組み込み機器条件入力手段の判断に基づいて、プログラムコード圧縮処理手段が、各前記実行コードの前記処理データと前記コマンドとを識別し、要素毎の前記処理データをまとめてバイナリ形式に変換し、前記コマンドを対応する数値に変換した上で、それぞれのデータを所定のデータ量毎に分け、前記コマンドが含まれたデータであるか否かを判定するためのフラグのデータを、分けたデータに対してそれぞれ付して前記プログラムコードを圧縮処理する工程と
    を有することを特徴とするプログラムコード生成支援方法。
  6. 実行処理に用いられる処理データと実行処理内容を表すコマンドとが順に並べられた実行コードにより構成されるプログラムコードについて、生成されたプログラムコードを解析する工程と、
    記憶手段に記憶された、プログラムコードを変換するための変換条件のデータと、解析した前記プログラムコードとの照合を行い、前記プログラムコードにおいて前記変換条件と合致する部分を検索する工程と、
    前記変換条件と合致する部分を、前記記憶手段に記憶された変換内容のデータに基づいて変換し、新たなプログラムコードのデータを生成する工程と
    前記プログラムコードの実行処理環境を判断する工程と、
    判断した前記実行処理環境に基づいて、各前記実行コードの前記処理データと前記コマンドとを識別し、要素毎の前記処理データをまとめてバイナリ形式に変換し、前記コマンドを対応する数値に変換した上で、それぞれのデータを所定のデータ量毎に分け、前記コマンドが含まれたデータであるか否かを判定するためのフラグのデータを、分けたデータに対してそれぞれ付して前記プログラムコードを圧縮処理する工程と
    をコンピュータに行わせることを特徴とするプログラムコード生成支援方法のプログラム。
JP2005028122A 2005-02-03 2005-02-03 プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム Expired - Fee Related JP4638250B2 (ja)

Priority Applications (16)

Application Number Priority Date Filing Date Title
JP2005028122A JP4638250B2 (ja) 2005-02-03 2005-02-03 プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム
ES09014774T ES2728318T3 (es) 2005-02-03 2006-02-02 Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, y dispositivo y método de procesamiento de la compresión del código de programa y programa para el mismo
CN 200810184954 CN101458620B (zh) 2005-02-03 2006-02-02 程序执行装置及方法、程序码压缩处理装置及方法及设备
KR1020077016934A KR100902461B1 (ko) 2005-02-03 2006-02-02 프로그램 코드 생성 지원 장치 및 방법, 프로그램실행장치와 방법, 프로그램 코드 압축 처리 장치 및 방법과그들의 프로그램
EP10014002.9A EP2330502B1 (en) 2005-02-03 2006-02-02 Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof
PCT/JP2006/301745 WO2006082878A1 (ja) 2005-02-03 2006-02-02 プログラムコード生成支援装置及び方法、プログラム実行装置及び方法並びにプログラムコード圧縮処理装置及び方法並びにそれらのプログラム
EP09014774.5A EP2161659B1 (en) 2005-02-03 2006-02-02 Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof
CN2006800040337A CN101116054B (zh) 2005-02-03 2006-02-02 程序码生成支持装置及方法、程序执行装置及方法、程序码压缩装置及方法及其程序
ES10014002T ES2708499T3 (es) 2005-02-03 2006-02-02 Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, y dispositivo y método de procesamiento de la compresión del código de programa y programa para el mismo
EP06712888.4A EP1881401B1 (en) 2005-02-03 2006-02-02 Program code generation support device and method, program execution device and method, program code compression device and method, program for the same
US11/883,627 US8448158B2 (en) 2005-02-03 2006-02-02 Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof
ES06712888.4T ES2687433T3 (es) 2005-02-03 2006-02-02 Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, dispositivo y método de compresión del código de programa, programa para el mismo
TW095103700A TWI312482B (en) 2005-02-03 2006-02-03 Program codes generation supporting device and method, program execution device and method, program codes compressing processing device and method, and computer readable recording medium with its recorded program thereof
HK09108809.5A HK1130916A1 (en) 2005-02-03 2009-09-25 Program execution device and method, and program code compression processing device and method and apparatus
US13/195,107 US8527967B2 (en) 2005-02-03 2011-08-01 Program code compression processing device and method and program thereof
US13/195,073 US8572557B2 (en) 2005-02-03 2011-08-01 Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005028122A JP4638250B2 (ja) 2005-02-03 2005-02-03 プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム

Publications (2)

Publication Number Publication Date
JP2006215826A JP2006215826A (ja) 2006-08-17
JP4638250B2 true JP4638250B2 (ja) 2011-02-23

Family

ID=36979016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005028122A Expired - Fee Related JP4638250B2 (ja) 2005-02-03 2005-02-03 プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム

Country Status (2)

Country Link
JP (1) JP4638250B2 (ja)
CN (2) CN101116054B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4738086B2 (ja) * 2005-07-29 2011-08-03 三菱電機株式会社 プロトコル変換プログラム作成支援装置及び作成支援プログラム
JP4722076B2 (ja) * 2007-04-13 2011-07-13 三菱電機株式会社 ゲートウェイ装置、データ設定装置、ゲートウェイシステム
JP5202603B2 (ja) * 2009-12-18 2013-06-05 韓國電子通信研究院 知能型サービスロボット環境におけるロボットサービスロード方法およびそのためのサービスロード装置
JP2011257904A (ja) * 2010-06-08 2011-12-22 Hitachi Ltd 制御装置及びそのデータ処理方法
JP5490170B2 (ja) * 2012-04-03 2014-05-14 三菱電機株式会社 プログラム作成支援装置及びプログラム作成支援方法
CN103870340B (zh) * 2014-03-06 2017-11-07 华为技术有限公司 流计算系统中的数据处理方法、控制节点及流计算系统
JP6151729B2 (ja) * 2015-01-16 2017-06-21 ファナック株式会社 加工プログラムに応じて数値制御装置のコントロールソフトウェアを最適化する機能を備えた制御システム
JP6109997B1 (ja) * 2016-07-26 2017-04-05 ネットエージェント株式会社 ソフトウェア生成システム、情報処理装置およびプログラム
JP6193460B1 (ja) * 2016-09-30 2017-09-06 ネットエージェント株式会社 ソフトウェアの提供方法、情報処理装置およびプログラム
JP6207782B1 (ja) * 2017-03-08 2017-10-04 ネットエージェント株式会社 ソフトウェア生成システム、情報処理装置およびプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63139646U (ja) * 1987-02-28 1988-09-14
JPH0721032A (ja) * 1993-07-01 1995-01-24 Mitsubishi Electric Corp プログラム最適化処理方式
JPH10320172A (ja) * 1997-05-15 1998-12-04 Seiko Epson Corp プログラム圧縮方法およびプログラム復号方法ならびにプログラム格納装置
JP2000020318A (ja) * 1998-07-03 2000-01-21 Fujitsu Ltd メモリアクセス命令削減装置および記録媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5859982A (en) * 1996-06-05 1999-01-12 Sun Microsystems, Inc. Computer system and method for executing methods of downloaded programs with reduced run-time memory space requirements
KR100487012B1 (ko) * 1996-09-11 2005-06-16 마츠시타 덴끼 산교 가부시키가이샤 프로그램의일부만수신한상태에서도당해프로그램을실행개시할수있는프로그램수신실행장치및그를위한프로그램송신장치
CN1186987A (zh) * 1998-01-14 1998-07-08 英业达股份有限公司 信息压缩方法及其装置
JP3956131B2 (ja) * 2002-12-26 2007-08-08 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラム変換装置、プログラム変換方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63139646U (ja) * 1987-02-28 1988-09-14
JPH0721032A (ja) * 1993-07-01 1995-01-24 Mitsubishi Electric Corp プログラム最適化処理方式
JPH10320172A (ja) * 1997-05-15 1998-12-04 Seiko Epson Corp プログラム圧縮方法およびプログラム復号方法ならびにプログラム格納装置
JP2000020318A (ja) * 1998-07-03 2000-01-21 Fujitsu Ltd メモリアクセス命令削減装置および記録媒体

Also Published As

Publication number Publication date
JP2006215826A (ja) 2006-08-17
CN101458620A (zh) 2009-06-17
CN101116054B (zh) 2010-05-19
CN101458620B (zh) 2013-10-23
CN101116054A (zh) 2008-01-30

Similar Documents

Publication Publication Date Title
JP4638250B2 (ja) プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム
US8448158B2 (en) Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof
CN105808513B (zh) 转换装置和转换方法
US8572557B2 (en) Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof
US20160056839A1 (en) Compression device, compression method, decompression device, decompression method, and computer-readable recording medium
JP2002529849A (ja) データ処理リソースを供給された内蔵システムにおいて実行可能な中間オブジェクトコードプログラムのためのデータ圧縮方法、および、この方法に対応しかつマルチアプリケーションを備えた内蔵システム
CN106354746A (zh) 搜索方法和搜索设备
CN108694159A (zh) 编码方法和编码装置
JP4738086B2 (ja) プロトコル変換プログラム作成支援装置及び作成支援プログラム
CN117614799B (zh) 一种基于模型分层映射的传感器协议适配方法及装置
CN1825301B (zh) 字符转换的方法以及系统
JP4316422B2 (ja) 測定データ通信装置、健康情報通信装置、情報取得装置、測定データ通信システム、測定データ通信装置の制御方法、情報取得装置の制御方法、測定データ通信装置の制御プログラム、およびコンピュータ読み取り可能な記録媒体
JP2004302849A (ja) Faコントローラ
JP4656960B2 (ja) プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム
JP2010282248A (ja) プログラム言語解析実行プログラム
JP2009064150A (ja) 無線タグリーダライタ装置、無線タグ脱落検知方法及び無線タグ
CN115001628A (zh) 数据编码的方法及装置、数据解码的方法及装置和数据结构
JP2005333269A5 (ja)
KR20020072726A (ko) 확장형 바코드 시스템 및 이를 인쇄하고 판독하는 방법
JP2011076619A (ja) プログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム
JPH01177241A (ja) 異書式データ伝送システムの受信データ変換装置
EP2278448A2 (en) Print apparatus and method of controlling printer
JP2007328501A (ja) プログラムデバッグ支援処理装置及び通信用アダプタ並びにプログラムデバッグ支援処理プログラム
JPH0796639A (ja) プリンタ装置
JP2012216121A (ja) データの書き換え方法、データ書き換え装置及び書き換えプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101029

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101125

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4638250

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees