(57)【要約】【課題】一つのソースプログラムを複数のプラットフォーム上で動作するアプリケーションプログラムに変換できるようにする。【解決手段】入力部は、ソースコードの入力を受け付ける。有効化部は、複数のプラットフォームの中からいずれか１つのプラットフォームが選択されると、プラットフォーム別にソースコードをそのプラットフォーム上で動作するオブジェクトコードに変換するための定義情報が設定された変換設定ファイルにアクセスして、選択されたプラットフォームに対応した変換設定ファイルを有効化する。変換部は、入力部を介して入力されたソースコードを有効化された変換設定ファイルに記憶された定義情報にしたがってオブジェクトコードに変換する。【選択図】      図１
2015184756.tif 000002
【特許請求の範囲】
【請求項１】
ソースコードの入力を受け付ける入力手段と、
複数のプラットフォームの中からいずれか１つのプラットフォームが選択されると、プラットフォーム別に前記ソースコードをそのプラットフォーム上で動作するオブジェクトコードに変換するための定義情報が設定された変換設定ファイルにアクセスして、前記選択されたプラットフォームに対応した前記変換設定ファイルを有効化する有効化手段と、
前記入力手段を介して入力された前記ソースコードを前記有効化された変換設定ファイルに記憶された定義情報にしたがってオブジェクトコードに変換する変換手段と、
を具備したことを特徴とするプログラム変換装置。
【請求項２】
前記複数のプラットフォームの中からいずれか１つのプラットフォームの選択を受け付ける選択手段、をさらに具備し、
前記有効化手段は、前記選択手段で選択を受け付けた前記プラットフォームに対応した前記変換設定ファイルを有効化することを特徴とする請求項１記載のプログラム変換装置。
【請求項３】
前記変換手段により変換されたオブジェクトコードから作成されるアプリケーションプログラムを出力する出力手段、
をさらに具備したことを特徴とする請求項１または２記載のプログラム変換装置。
【請求項４】
前記変換設定ファイルに前記定義情報を登録する登録手段、
をさらに具備したことを特徴とする請求項１乃至３のうちいずれか１に記載のプログラム変換装置。
【請求項５】
前記定義情報は、変換元のソースコードを変換先のオブジェクトコードに変換するための変換用アセンブリを少なくとも定義することを特徴とする請求項４に記載のプログラム変換装置。
【請求項６】
コンピュータに、
ソースコードの入力を受け付けさせる機能、
複数のプラットフォームの中からいずれか１つのプラットフォームが選択されると、プラットフォーム別に前記ソースコードをそのプラットフォーム上で動作するオブジェクトコードに変換するための定義情報が設定された変換設定ファイルにアクセスして、選択された前記プラットフォームに対応した前記変換設定ファイルを有効化させる機能、及び
前記入力された前記ソースコードを前記有効化された変換設定ファイルに記憶された定義情報にしたがってオブジェクトコードに変換させる機能、
を実現させるための変換処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ソースプログラムをプラットフォームに対応したアプリケーションプログラムに変換するプログラム変換装置及びコンピュータを当該プログラム変換装置として機能させるための変換処理プログラムに関する。
【背景技術】
【０００２】
近年、携帯型の多機能情報処理端末（以下、スマートデバイスと称する）が広く普及している。スマートデバイスは、システムの基盤となるプラットフォームが製品によって異なる。プラットフォームが異なると、ソフトウェアを開発するための開発言語等もそのプラットフォームに特化したものとなる。したがって、複数のプラットフォーム上で動作するスマートデバイス用のアプリケーションプログラムを開発する場合、プラットフォームの数だけソースプログラムを用意しなければならない。このため、アプリケーションプログラムの開発にコストが掛かっていた。
【０００３】
そこで、一つのソースプログラムを複数のプラットフォーム上で動作するアプリケーションプログラムに変換できる技術が求められている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２‐１２８８７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一実施形態が解決しようとする課題は、一つのソースプログラムを複数のプラットフォーム上で動作するアプリケーションプログラムに変換できるプログラム変換装置を提供しようとするものである。
【課題を解決するための手段】
【０００６】
一実施形態において、プログラム変換装置は、入力手段と、有効化手段と、変換手段とを含む。入力手段は、ソースコードの入力を受け付ける。有効化手段は、複数のプラットフォームの中からいずれか１つのプラットフォームが選択されると、プラットフォーム別にソースコードをそのプラットフォーム上で動作するオブジェクトコードに変換するための定義情報が設定された変換設定ファイルにアクセスして、選択されたプラットフォームに対応した変換設定ファイルを有効化する。変換手段は、入力手段を介して入力されたソースコードを有効化された変換設定ファイルに記憶された定義情報にしたがってオブジェクトコードに変換する。
【図面の簡単な説明】
【０００７】
【図１】一実施形態におけるプログラム変換装置の機能構成を説明するためのブロック図。
【図２】同プログラム変換装置のハードウェア構成を示すブロック図。
【図３】同プログラム変換装置がアクセスする変換設定ファイルを示す模式図。
【図４】図３の変換設定ファイルに格納されるレコードのデータ構造を示す模式図。
【図５】同プログラム変換装置におけるＣＰＵの設定処理プログラムに従った情報処理手順を示す流れ図。
【図６】同プログラム変換装置におけるＣＰＵの変換処理プログラムに従った情報処理手順を示す流れ図。
【発明を実施するための形態】
【０００８】
以下、一つのソースプログラムを複数のプラットフォーム上で動作するアプリケーションプログラムに変換できるプログラム変換装置の実施形態について、図面を用いて説明する。
【０００９】
図１は、一実施形態におけるプログラム変換装置１の機能構成を説明するためのブロック図である。本プログラム変換装置１は、同一のソースプログラム２を、プラットフォームが異なる複数のスマートデバイス３ａ，３ｂ…で動作するアプリケーションプログラム４ａ，４ｂ…に変換するものである。この機能を実現するために、本プログラム変換装置１は、プラットフォーム選択機能１１、共通変換機能１２及び個別変換機能１３を有する。
【００１０】
プラットフォーム選択機能１１は、スマートフォン、タブレット端末等のスマートデバイス３ａ，３ｂ…に搭載される様々なプラットフォームのなかから、プログラム実装対象のスマートデバイス３ｉ（ｉ：ａ，ｂ，…）が使用するプラットフォームを選択する機能である。この機能は、例えば、一般的なプラットフォームのリストを表示デバイスに表示させ、入力デバイスの操作入力によってリストからスマートデバイス３ｉが使用するプラットフォームが選択されるのを受け付ける機能であってもよい。あるいは、本プログラム変換装置１に通信手段を介してスマートデバイス３ｉを接続し、このスマートデバイス３に搭載されているプラットフォームを本プログラム変換装置１が通信手段を介して認識して、上記リストから自動的に選択する機能であってもよい。
【００１１】
共通変換機能１２は、ソースプログラム２を、プラットフォーム選択機能１１によって選択されたプラットフォーム上で動作するアプリケーションプログラム４ｉに変換する機能である。スマートデバイス３ａ，３ｂ，…に搭載される様々なプラットフォームは、開発言語等がそのプラットフォームに特化する。しかし、種々の開発言語で記述されるソースコードの多くは共通化されている。共通変換機能１２は、ソースプログラム２の中から共通化されているソースコードをオブジェクトコードに変換する。このオブジェクトコードは共通化されているので、プラットフォーム選択機能１１によって選択されたプラットフォームが解釈可能である。
【００１２】
個別変換機能１３は、共通変換機能１２では変換できない一部のソースコードについて、変換設定ファイル５に設定された定義情報に従い、プラットフォーム選択機能１１によって選択されたプラットフォームが解釈可能なオブジェクトコードに変換する機能である。なお、図１ではプログラム変換装置１が変換設定ファイル５を内包しているが、必ずしも内包していなくてもよい。プログラム変換装置１とは別に変換設定ファイル５の記憶装置を設け、プログラム変換装置１が記憶装置との間でデータ通信を行って、変換設定ファイル５の情報を処理することも可能である。
【００１３】
図２は、プログラム変換装置１のハードウェア構成を示すブロック図である。プログラム変換装置１は、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、補助記憶デバイス１０４、通信インターフェース１０５、入力デバイス１０６、表示デバイス１０７、記憶媒体６のドライブ装置１０８等を備える。また、プログラム変換装置１は、ＣＰＵ１０１に、アドレスバス，データバス等のバスライン１０９を接続する。そしてプログラム変換装置１は、このバスライン１０９に、ＲＯＭ１０２、ＲＡＭ１０３、補助記憶デバイス１０４、通信インターフェース１０５、入力デバイス１０６、表示デバイス１０７及びドライブ装置１０８等を直接的にあるいは入出力回路を介して間接的に接続する。このような構成のプログラム変換装置１は、パーソナルコンピュータ等の情報処理装置によって実現可能である。
【００１４】
ＣＰＵ１０１は、コンピュータの中枢部分に相当する。ＣＰＵ１０１は、オペレーティングシステムやアプリケーションプログラムに従って、プログラム変換装置１としての各種の機能を実現するべく各部を制御する。
【００１５】
ＲＯＭ１０２は、上記コンピュータの主記憶部分に相当する。ＲＯＭ１０２は、上記のオペレーティングシステムやアプリケーションプログラムを記憶する。ＲＯＭ１０２は、ＣＰＵ１０１が各部を制御するための処理を実行する上で必要なデータを記憶する場合もある。
【００１６】
ＲＡＭ１０３は、上記コンピュータの主記憶部分に相当する。ＲＡＭ１０３は、ＣＰＵ１０１が処理を実行する上で必要なデータを記憶する。またＲＡＭ１０３は、ＣＰＵ１０１によって情報が適宜書き換えられるワークエリアとしても利用される。
【００１７】
補助記憶デバイス１０４は、上記コンピュータの補助記憶部分に相当する。補助記憶デバイス１０４は、例えばＥＥＰＲＯＭ（Electric Erasable Programmable Read-Only Memory）、ＨＤＤ（Hard Disc Drive）、あるいはＳＳＤ（Solid State Drive）などである。補助記憶デバイス１０４は、ＣＰＵ１０１が各種の処理を行う上で使用するデータや、ＣＰＵ１０１での処理によって生成されたデータを保存する。補助記憶デバイス１０４は、上記のアプリケーションプログラムを記憶する場合もある。
【００１８】
ＲＯＭ１０２または補助記憶デバイス１０４が保存するアプリケーションプログラムには、後述する設定処理プログラムと変換処理プログラムとが含まれる。プログラム変換装置１の譲渡は一般に、この変換処理プログラムがＲＯＭ１０２または補助記憶デバイス１０４に記憶された状態にて行われる。しかし、コンピュータ装置が備える書き込み可能な記憶デバイスに、このコンピュータ装置とは個別に譲渡された変換処理プログラムがユーザなどの操作に応じて書き込まれても良い。変換処理プログラムの譲渡は、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介した通信により行うことができる。
【００１９】
通信インターフェース１０５は、ＬＡＮ（Local Area Network）等のネットワークを介して接続される外部機器との間でデータ通信を行う。外部機器は、例えばソースプログラム２の作成に供せられるコンピュータ機器である。その場合、プログラム変換装置１は、通信インターフェース１０５を介してソースプログラム２の入力を受け付ける。外部機器は、例えばアプリケーションプログラム４の出力先であるスマートデバイス３である。その場合、プログラム変換装置１は、通信インターフェース１０５を介してアプリケーションプログラム４をスマートデバイス３に出力する。
【００２０】
入力デバイス１０６は、プログラム変換装置１のユーザによって操作される入力装置であり、キーボード、マウス等が用いられる。表示デバイス１０７は、プログラム変換装置１のユーザに対して種々の情報を表示する表示装置であり、液晶ディスプレイ等が用いられる。液晶ディスプレイの画面上にタッチセンサを配置してなるタッチパネルを、入力デバイス１０６及び表示デバイス１０７として併用することも可能である。
【００２１】
ドライブ装置１０８は、記憶媒体６からのデータの読取りおよび記憶媒体６へのデータの書込みを行う。記憶媒体は、ＤＶＤ-ＲＡＭ、ＤＶＤ-ＲＷ、ＤＶＤ+ＲＷ、ＣＤ-ＲＷ等の光ディスクでもよいし、ハードディスク等の磁気ディスクであってもよい。あるいは記憶媒体は、ＵＳＢメモリであってもよい。記憶媒体の種類は、特に限定されない。ドライブ装置１０８は、記憶媒体の種類に対応したものであることは言うまでもない。複数種類の記憶媒体を使用できるように、プログラム変換装置１がドライブ装置１０８を複数備えてもよい。記憶媒体６は、ソースプログラムを記憶可能である。その場合、プログラム変換装置１は、ドライブ装置１０８を介してソースプログラム２の入力を受け付ける。記憶媒体６は、スマートデバイス３の補助記憶デバイスとして機能する。その場合、プログラム変換装置１は、ドライブ装置１０８を介してアプリケーションプログラム４を記憶媒体６に出力する。
【００２２】
かかる構成のプログラム変換装置１は、例えば補助記憶デバイス１０４で変換設定ファイル５を保存する。変換設定ファイル５は、図３に示すようにプラットフォーム別に設けられる。図３において、変換設定ファイル５１は、第１プラットフォーム用である。本実施形態においては、スマートデバイス３ａのシステムの基盤となるプラットフォームを第１プラットフォームと称する。変換設定ファイル５２は、第２プラットフォーム用である。本実施形態においては、スマートデバイス３ｂのシステムの基盤となるプラットフォームを第２プラットフォームと称する。
【００２３】
第２プラットフォームは、ソフトウェアを開発するための開発言語等が第１プラットフォームとは異なる。ただし、第１プラットフォーム用の変換設定ファイル５１と第２プラットフォーム用の変換設定ファイル５２とに格納されるレコードのデータ体系は共通である。すなわち図４に示すように、変換元オブジェクト７１、変換元プロパティ７２、変換先オブジェクト７３、変換先プロパティ７４、変換用アセンブリ７５及び変換メソッド７６の各項目データからなるレコード７が、変換設定ファイル５１，５２，…にそれぞれ格納される。
【００２４】
変換元オブジェクト７１は、共通変換機能１２では変換できない一部のソースコードで表されるオブジェクトである。変換元プロパティ７２は、変換元オブジェクト７１に設定されたオブジェクトに関する情報であり、例えばオブジェクトを表すソースコードのデータ型である。変換先オブジェクト７３は、変換元オブジェクト７１に設定されたオブジェクトを、対応するプラットフォームが解釈できる形式に変換した後のオブジェクトである。変換先プロパティ７４は、変換先オブジェクト７３に設定されたオブジェクトに関する情報であり、例えばオブジェクトを表すオブジェクトコードのデータ型である。変換用アセンブリ７５は、変換元オブジェクト７１に設定されたオブジェクトを変換先オブジェクト７３に設定されたオブジェクトに変換するためのプログラムであり、変換メソッド７６は、このプログラムで実行する処理である。
【００２５】
プログラム変換装置１は、各変換設定ファイル５１，５２，…に対して選択的にレコード７を登録する機能を有する。この機能は、プログラム変換装置１の動作モードを設定モードに切り替えることで可能である。設定モードは、入力デバイス１０６の操作入力により選択可能である。
【００２６】
設定モードが選択されると、ＣＰＵ１０１は、図５の流れ図に示す手順の情報処理を開始する。この処理は、設定処理プログラムに従う。  
先ずＣＰＵ１０１は、登録先プラットフォームの選択画面を表示デバイス１０７に表示させる（Act１）。選択画面には、例えば「第１プラットフォーム」、「第２プラットフォーム」、…というように、本プログラム変換装置１で対応可能なプラットフォームのリストが表示される。
【００２７】
選択画面を確認したユーザは、所望のスマートデバイスのプラットフォームを選択する。ここでは、スマートデバイス３ｂの第２プラットフォームを選択したものとする。
【００２８】
ＣＰＵ１０１は、選択画面からいずれかのプラットフォームが選択されるのを待機する（Act２）。入力デバイス１０６の操作入力により、第２プラットフォームが登録先として選択されると（Act２にてＹＥＳ）、ＣＰＵ１０１は、表示デバイス１０７の画面を、プラットフォームの選択画面からレコード項目の入力画面に切り替える（Act３）。この画面には、例えば「変換元オブジェクト」、「変換元プロパティ」、「変換先オブジェクト」、「変換先プロパティ」、「変換用アセンブリ」及び「変換メソッド」の各項目データを入力するためのボックスが表示される。ボックスは、テキストデータを入力する形式でもよいし、プルダウン表示されるリストの中から選択する形式であってもよい。
【００２９】
入力画面を確認したユーザは、所望の変換元オブジェクト、変換元プロパティ、変換先オブジェクト、変換先プロパティ、変換用アセンブリ及び変換メソッドをそれぞれ入力する。ここでは、変換元オブジェクトとして「共通ボタン」を、変換元プロパティとして「Opacity(Double型)」を、変換先オブジェクトとして「第２プラットフォーム用ボタン」を、変換先プロパティとして「Alpha(Float型)」を、変換用アセンブリとして「Convert Second」を、変換メソッドとして「Double To Float(型変換)」をそれぞれ入力したものとする。すなわち変換用アセンブリ「Convert Second」を実行することによって、ソフトウェア部品「ボタン」が有する属性の１つである透過度(Opacity)に関して、Double型のソースコード「Opacity」を、第２プラットフォームが解釈可能なFloat型のオブジェクトコード「Alpha」に変換する場合である。
【００３０】
ＣＰＵ１０１は、各項目データの入力が終了するのを待機する（Act４）。入力デバイス１０６の操作入力により各項目のボックス内にデータが入力され、さらに入力デバイス１０６を介して入力終了を宣言する操作入力を受け付けると（Act４にてＹＥＳ）、ＣＰＵ１０１は、入力条件を満足するか否かを判断する（Act５）。例えば、少なくとも１つのボックスにデータの入力漏れがあるか、ボックスに入力されているデータが不正なデータであるとき、入力条件を満足しない。この場合（Act５にてＮＯ）、ＣＰＵ１０１は、表示デバイス１０７にエラーメッセージを表示させる（Act６）。そしてＣＰＵ１０１は、Act４の処理に戻る。
【００３１】
入力条件を満足する場合（Act５にてＹＥＳ）、ＣＰＵ１０１は、入力画面の各ボックス内に入力されたデータでレコード７を作成する（Act７）。レコード７を作成した後、ＣＰＵ１０１は、Act２の処理で選択されたプラットフォーム用の変換設定ファイル、ここでは第２プラットフォーム用の変換設定ファイル５２にレコード７を登録する（Act８：登録手段）。
【００３２】
ＣＰＵ１０１は、処理を継続するか終了するかの選択入力を待機する（Act９）。入力デバイス１０６を介して処理継続を宣言する操作入力を受け付けると（Act９にてＹＥＳ）、ＣＰＵ１０１は、Act３の処理に戻る。入力デバイス１０６を介して処理終了を宣言する操作入力を受け付けた場合には（Act９にてＮＯ）、ＣＰＵ１０１は、この設定処理プログラムに従った処理を終了する。
【００３３】
以上の処理により、第２プラットフォーム用の変換設定ファイル５２には、変換元オブジェクトが「共通ボタン」であり、変換元プロパティが「Opacity(Double型)」であり、変換先オブジェクトが「第２プラットフォーム用ボタン」であり、変換先プロパティが「Alpha(Float型)」であり、変換用アセンブリが「Convert Second」であり、変換メソッドが「Double To Float(型変換)」であるレコード７ａが新たに登録される。
【００３４】
プログラム変換装置１はまた、前述したプラットフォーム選択機能１１、共通変換機能１２及び個別変換機能１３を有する。これらの機能は、プログラム変換装置１の動作モードを変換モードに切り替えることで可能である。変換モードは、入力デバイス１０６の操作入力により選択可能である。あるいは変換モードはデフォルトのモードであり、設定モードの処理が終了すると、自動的に変換モードに戻るようにしてもよい。
【００３５】
変換モードが選択されると、ＣＰＵ１０１は、図６の流れ図に示す手順の情報処理を開始する。この処理は、変換処理プログラムに従う。  
先ずＣＰＵ１０１は、ソースプログラム２の入力受付画面を表示デバイス１０７に表示させる（Act１１）。この画面には、例えば「ソースプログラムを取り込んでください」なるメッセージが表示される。このメッセージを確認したプログラム変換装置１のユーザは、入力デバイス１０６を操作して、ソースプログラム２のデータファイルを外部機器から通信インターフェース１０５を介してプログラム変換装置１内に取り込ませる。あるいはユーザは、入力デバイス１０６を操作して、記憶媒体６に記憶されているソースプログラム２のデータファイルを、ドライブ装置１０８を介してプログラム変換装置１内に取り込ませる。
【００３６】
ＣＰＵ１０１は、ソースプログラム２が入力されるのを待機する（Act１２：入力手段）。ソースプログラム２が入力されると（Act１２にてＹＥＳ）、ＣＰＵ１０１は、そのソースプログラム２をＲＡＭ１０３の変換前エリアに格納する（Act１３）。
【００３７】
ＣＰＵ１０１は、変換先プラットフォームの選択画面を表示デバイス１０７に表示させる（Act１４）。この画面には、例えば「第１プラットフォーム」、「第２プラットフォーム」、…というように、本プログラム変換装置１で対応可能なプラットフォームのリストが表示される。
【００３８】
選択画面を確認したユーザは、所望のスマートデバイスのプラットフォームを選択する。ここでは、スマートデバイス３ｂの第２プラットフォームを選択するものとする。
【００３９】
ＣＰＵ１０１は、選択画面からいずれかのプラットフォームが選択されるのを待機する（Act１５：選択手段）。入力デバイス１０６の操作入力により、第２プラットフォームが変換先として選択されると（Act１５にてＹＥＳ）、ＣＰＵ１０１は、前記補助記憶デバイス１０４に保存される変換設定ファイル５の中から第２プラットフォーム用の変換設定ファイル５２をＲＡＭ１０３に読み出して有効化する（Act１６：有効化手段）。
【００４０】
ＣＰＵ１０１は、変換前エリア内のソースプログラム２を解析する（Act１７）。そして解析によって得たソースコードが、各プラットフォームで共通化されているソースコードであるか否かを確認する（Act１８）。共通化されているソースコードである場合（Act１８にてＹＥＳ）、ＣＰＵ１０１は、所定の共通変換プログラムにしたがって、このソースコードをオブジェクトコードに変換する（Act１９）。
【００４１】
これに対し、各プラットフォームで共通化されているソースコードでない場合（Act１８にてＮＯ）、ＣＰＵ１０１は、ＲＡＭ１０３上に読み出した変換設定ファイル５２を検索して、変換元オブジェクト７１として当該ソースコードで表されるオブジェクトが設定されたレコード７を探出する（Act２０）。該当するレコード７を探出したならば、ＣＰＵ１０１は、このレコード７の変換用アセンブリ７５及び変換メソッド７６を用いて、ソースコードをオブジェクトコードに変換する（Act２１：変換手段）。
【００４２】
Act１９またはAct２１の処理において、ソースコードをオブジェクトコードに変換すると、ＣＰＵ１０１は、オブジェクトコードをＲＡＭ１０３の変換後エリアに格納する（Act２２）。
【００４３】
このような変換処理により、変換元プロパティ７２に設定された情報のオブジェクトが変換先プロパティ７４に設定された情報のオブジェクトとなる。すなわち、ソースプログラムを解析して得たソースコードが「共通ボタン」のコードであった場合、変換設定ファイル５２からレコード７ａが検出される。そして変換用アセンブリ「Convert Second」が実行される。その結果、ソフトウェア部品「ボタン」の透過度(Opacity)に関して、Double型のソースコード「Opacity」がFloat型のオブジェクトコード「Alpha」に変換される。このFloat型のオブジェクトコード「Alpha」は、第２プラットフォームが解釈可能である。
【００４４】
ＣＰＵ１０１は、ソースプログラム２の変換を終了したか否かを確認する（Act２３）。終了していない場合（Act２３にてＮＯ）、ＣＰＵ２１は、Act１７の処理に戻る。そしてＣＰＵ２１は、次のソースコードを解析する。
【００４５】
ソースプログラム２を変換し終えた場合には（Act２３にてＹＥＳ）、ＣＰＵ１０１は、変換後エリア内のデータ、つまりは第２プラットフォームが解釈可能なオブジェクトコード群からなるアプリケーションプログラム４を、スマートデバイス３ｂに出力する（Act２４：出力手段）。すなわちＣＰＵ１０１は、通信インターフェース１０５を介して接続されるスマートデバイス３ｂにアプリケーションプログラム４をダウンロードする。あるいはＣＰＵ１０１は、ドライブ装置１０８に装着されたスマートデバイス３ｂ対応の記憶媒体６にアプリケーションプログラム４を書き込む。以上で、変換処理プログラムに従った処理が終了する。
【００４６】
上記説明では、Act１５にて第２プラットフォームが選択された場合を示したが、第１プラットフォームが選択された場合も同様に処理される。すなわち、第１プラットフォーム用の変換設定ファイル５１が有効化される。そして、ソースプログラム２を解析して得たソースコードが各プラットフォームで共通化されているソースコードでない場合、変換設定ファイル５１に登録されているレコード７の定義にしたがって、第１プラットフォームで解釈可能なオブジェクトコードに変換される。
【００４７】
このように、プログラム変換装置１においては、各プラットフォームで共通化されているソースコードについては共通変換機能１２によってオブジェクトコードに変換され、共通化されていないソースコードについては個別変換機能１３によってオブジェクトコードに変換される。共通変換機能１２あるいは個別変換機能１３によって得られたオブジェクトコードは、プラットフォーム選択機能１１によって選択されたプラットフォームが解釈可能なコードである。したがって、プログラム変換装置１によれば、一つソースプログラムを複数のプラットフォーム上で動作するアプリケーションプログラムに変換することができる。
【００４８】
しかも、各プラットフォームで共通化されていないソースコードについては、変換設定ファイル５１，５２…に登録されるレコード７で定義される処理により変換される。したがって、新規プラットフォームの拡張や、プラットフォーム側の仕様変更に対しても、それに合わせて変換設定ファイル５１，５２…に登録されるレコード７で定義すればよく、ソースコードを変更する必要はない。例えば、変換先プロパティに仕様変更があっても、該当するレコード７の変換先プロパティ７４の値を変更するだけで対応できる。かくして、複数のプラットフォーム上で動作するスマートデバイス用アプリケーションプログラムの開発コストを低減できる効果を奏する。
【００４９】
なお、上記実施形態は、スマートデバイス３ａ，３ｂに実装されるアプリケーションプログラムの変換装置について説明したが、スマートデバイス３ａ，３ｂ以外の情報処理端末に実装されるアプリケーションプログラムの変換装置にも適用できることは言うまでもないことである。
【００５０】
また上記実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５１】
１…プログラム変換装置、２…ソースプログラム、３ａ，３ｂ…スマートデバイス、４ａ、４ｂ…アプリケーションプログラム、５…変換設定ファイル、１１…プラットフォーム選択機能、１２…共通変換機能、１３…個別変換機能。
【図１】
2015184756.tif 000003
【図２】
2015184756.tif 000004
【図３】
2015184756.tif 000005
【図４】
2015184756.tif 000006
【図５】
2015184756.tif 000007
【図６】
2015184756.tif 000008