JP2007510979A - 無線モバイル機器のための迅速なソフトウエアアプリケーション開発の方法 - Google Patents
無線モバイル機器のための迅速なソフトウエアアプリケーション開発の方法 Download PDFInfo
- Publication number
- JP2007510979A JP2007510979A JP2006537444A JP2006537444A JP2007510979A JP 2007510979 A JP2007510979 A JP 2007510979A JP 2006537444 A JP2006537444 A JP 2006537444A JP 2006537444 A JP2006537444 A JP 2006537444A JP 2007510979 A JP2007510979 A JP 2007510979A
- Authority
- JP
- Japan
- Prior art keywords
- command
- application development
- mrix
- command line
- smartphone
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72406—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/02—Details of telephonic subscriber devices including a Bluetooth interface
Abstract
Description
1.ブルートゥース(Bluetooth)、GSM、GPR、IRおよびケーブルなどアプリケーションにより管理しなければならない広い範囲のネットワーク接続の選択肢がある。
2.モバイル機器はソフトウエア開発のための適切なユーザインタフェースを持たない。
3.モバイル機器はラップトップやデスクトップPCに比べて通常少量のメモリと処理能力を持ち、従って開発されるソフトウエアはリソースを極めて有効に使用しなければならない。
4.現在のプログラミング手法は特定の開発ソフトウエアに関する極めて熟練したプログラマを必要とするか(即ち、モバイル機器のOS、例えばシンビアン(Symbian)OSの詳細な知識によりC++を使用する)、あるいは携帯電話の制限されたリソースを極めて非効率的に使用する(例えば、シンビアンOSでビジュアルベーシック(Visual Basic)を使用するには1MBのランタイムエンジンを要し、代表的なアプリケーションはまた通常1MBを超える)。
(a)コマンドラインインタフェース、
(b)スクリプト記述言語、
(c)コンパイルされた言語
の何れでもあり得る。
高水準言語プログラムはさらに装置上で動作し、別のアップリケーション開発コンピュータの使用を必要とすることなく装置の再プログラム化を可能にする。
・全てのパイププロセッサはコマンドラインインタフェースあるいは他の高水準言語からコールすることのできる同じタイプのインタフェースを有する。これにより開発者に特定のネットワークインタフェースあるいはC++のような低レベル言語のプログラムの詳細を学習することを必要とすることなくネットワーク管理の問題1を解決する手段を提供する。
・全てのパイプロセッサはPCから遠隔の装置上で実行でき、従ってソフトウエアを先ずエミュレータ上で、次いで装置用に開発する必要がなく、開発者に良好な開発のためのユーザインタフェースを提供する。
・パイププロセッサのモジュール構造は、モジュールが必要により含まれたり削除されたりすることができることを意味する。これはソフトウエアが迅速に開発され、またモバイル機器の限られたリソースの有効使用を行い、従って問題3を解決することを意味する。ビジュアルベーシックのような高水準言語を使用するようなモバイル機器に対する他の迅速な開発手法は大きな実行時のコンポーネントを必要とし、それ故モバイル機器の大きなリソースを消費する。
1.非熟練プログラマによるプログラミングを可能にする。コマンドラインインタフェース、スクリプト記述言語の両方からコールすることのできるパイププロセッサコンポーネントの組および多様なプログラミング言語を使用することにより、高級ソフトウエア開発者、並びにプログラミング経験のない電話機ユーザの両者が全て同じコンポーネントを使用して電話機上でソフトウエアを「プログラムする」ことを可能する。これにより電話機上でスクリプトをただ修正することにより、非熟練者によるソフトウエアの変更を可能にし、プログラマにより本来想定されていなかった使用にソフトウエアを適応させることができる。これは非熟練プログラマが自ら使用するためにアプリケーションを修正する、あるいは熟練開発者に手渡して、モバイル機器の完全なネットワーク化ソフトウエアアプリケーションに変えることのできるアプリケーションを素早くプロトタイプ化し、テストすることを可能にする手段として使用することができる。
2.所有する全てがモバイル機器である場合、例えば列車に乗っている場合、ソフトウエアアプリケーションを誰もが変更することを許容する。モバイル機器にリンクを持つPCからソフトウエアを開発することができる。しかしながら、PCから離れているときに、もしアプリケーションがモバイル機器上でスクリプト化されていれば、標準PCベースのソフトウエア開発に要求されるコンパイラ、デバッガ、エミュレータや他の開発ツールを必要とすることなく、スクリプトは素早く修正され、異なるアプリケーションを創ることができる。
3.コマンドラインおよびスクリプト記述インタフェースを含む広い範囲のプログラミング言語から広い範囲のオペレーティングシステムを動作させるモバイル機器への単一インタフェースを提供する。従って、プログラマはソフトウエアを開発する如何なる好みの言語でも選択することができ、種々のモバイル機器に対する異なるインタフェースを学習しなくとも良い。これは考え方においてはスマートフォンの携帯アプリケーションを記述するためのベースとしてJava(登録商標)MIDPを使用するのに類似である。しかしながら、Java(登録商標)MIDPを使用するとJava(登録商標)MIDP標準は電話機の必要なネットワーク化の特徴へのアクセスを許さないので、モバイル機器のために良好なネットワーク化アプリケーションを記述することができない。これはMIDPプログラミングインタフェースをモバイル機器に特定のインタフェースを追加して拡張することにより達成することができるが、これには開発者が各電話機により異なるインタフェースを理解する必要がある。提案する枠組みはこの問題を種々のモバイル機器のオペレーティングシステムに亘って共通の低レベルネットワーク化および他の電話機の特徴に対する共通インタフェースを提供することにより排除する。
(a)コマンドラインインタフェースあるいは、
(b)スクリプト記述言語あるいは
(c)コンパイルされた言語
でありうる。
・学習曲線を削減し、それ故に開発者のより大きなコミュニティに開発を開放する、
・スマートフォンを共有ネットワークコンポーネントのように取り扱うことを許すネ
ットワークOSの様な設備を提供する、
・複雑なスマートフォンの機能をカプセル化する重要な「構成ブロック」を提供する
ことによりスマートフォンを含む製造問題解決法の市場投入に要する時間をかなり短縮するために設計された無線ソフトウエアプラットフォームである。
1.開発者はアプリケーションに使用されるmrixパイププロセッサコンポーネントのモジュールの組を選択する。
2.開発者はコマンドラインから選択したパイププロセッサの使用法を試験する。
3.簡単なスクリプトは纏めて、電話機上で動作する完全なアプリケーションに組み込み、デスクトップPCから遠隔で再び動作させることができる。
4.mrixの一部でありうるmRouterのようなPCの接続コンポーネントは、もしモバイル機器からデスクトップPCへのネットワーク接続、あるいは通過ルーティングが要求されれば使用される。mRouterの詳細については内容が参照により組み込まれるPCT/GB2002/003923を参照されたい。
5.サーバ上の接続性コンポーネントはもしサーバが電話機に接続する必要があれば使用される。これは電話機のIPアドレスが外部には見えず、従ってサーバによりコンタクトすることができないので必要である。従って、電話機およびバックオフイスサーバの両方により見ることができ、サーバへのネットワーク接続を可能にする、リレーサーバが要求される。
mrixはスマートフォン上で動作するコマンドインタプリータおよび遠隔PCあるいは他の適切なプラットフォーム上で動作するコマンド実行シェルの周りに設計される。パイププロッセサを、mRouter(登録商標)を介してデスクトップPCから、あるいはリレーを介して遠隔サーバから(ユニックスコマンドのように)遠隔呼び出しができる。これによりmrixの解決法による開発およびデバッグを都合の良いデスクトップPCから実施できるばかりでなく、またネットワークを介して実行時にスマートフォンのコンポーネントの共有を許容する。
使用するコンポーネントに関するより多くの情報については「mrixの特徴一覧」を参照されたい。
核をなすmrixシステムは幾つかのエレメントを含み、その幾つかはスマートフォン上に配備される。
m-Router(登録商標):シンビアンOSのスマートフォン上のローカル接続の管理を処理するイントュウエイブの既存のm-Router(登録商標)製品へのコマンドラインインタフェースである。m-Router(登録商標)はシリアル、ブルートゥース、USBおよびIrDAベアラを介して動作する。
mrElay:mrElayはイントュウエイブの遠隔リレーサーバへのコマンドラインインタフェースとリレーサーバ自体の両方からなる。現在、リレーサーバはGPRSあるいはローカルm-Router(登録商標)リンクにより代理されるWANを介してスマートフォンからアクセスすることができる。
パイププロセッサ:パイププロセッサはスマートフォンの機能をカプセル化する小型自己完結モジュールである。イベント処理およびファイルアクセスを管理する少数のパイププロセッサはmrixの核に存在する。
スクリプトエンジン:強力でコンパクト(60k)なLUA5.0スクリプト記述エンジンはスマートフォンに含まれ、開発者がスクリプトを使用して直接難なくパイププロセッサの機能を結合することを許容する。スクリプト記述エンジンに含まれるのは、既存のパイププロセッサの機能を強力に結合する幾つかの核mrixスクリプトである。
mrix参照マニュアル:全ての既存の核パイププロセッサの使用法を説明するHTMLページである。m-Router(登録商標)およびmrcmd機能、並びに新しいパイププロセッサの記述に関する指示も存在する。文書およびスクリプトの詳細が含まれる。
(アプリケーションの分野)
mrix技術はスマートフォン装置の遠隔制御が重要なアプリケーションの広い範囲に直接適用できる。
試験:mrixはシステムの完全自動化、即ち機能、受理、後戻りおよび相互作用のテストを可能にする。
PIMアプリケーション:mrixはスクリプトがアクセス可能なツールキットを介してPC接続性PIMアプリケーションの迅速な開発を可能にする。
mrixはスマートフォン製造会社および電話ネットワーク運用会社に数多くの利点をもたらす。
・開発スピード:mrixの開発はAPIに対するコーディングよりむしろスクリプトを発展させることにより迅速に反復して行われる。これにより開発ライフサイクルがかなりスピードアップされる。
・経費:mrixの機能はスクリプトを基本とするので、保守および機能の高度化の経費、並びに開発経費はかなり削減される。
・クロスプラットフォーム:mrixはスマートフォンのための完全なクロスプラットフォームのサポートを提供する。クロスプラットフォームツールキットと結合されると、サーバアプリケーションが構築され、種々のPCオペレーティングシテムに亘って動作できる。
(MRIX-開始への指針)
(MRIXの概要)
mrixはプラットフォームを意識しない無線ネットワークオペレーティングシステムである。mrixはスマートフォン、パーソナルコンピュータおよびサーバ上ならびにそれらの間の両方で移動アプリケーションの広い範囲の迅速なクロス-プラットフォーム開発を許すように設計されている。mrixはコマンドライン駆動ツールの強力なセットからなり、スクリプト記述言語を使用して洗練されたPCアプリケーション上での構築、内部への組み込みが可能である。さらに、mrixを使用してスマートフォン自体において実行可能なアプリケーションを記述することができる。
・m-Router:ベアラ接続エージェントである。m-Routerは幾つかのPCおよびスマートフォンコンポーネントの両方からなる。m-Routerは色々な短リンクベアラ、即ちIrDA、ブルートゥース、USBおよびシリアルを介してスマートフォンとPC間の通信を可能にする。
・リレー:リレー、mrElayD(「D」はディーモンを意味する)はPCからGPRSを介してスマートフォンへの遠隔アクセスを許す。PCおよびスマートフォンの両方は両者間の通信実現のためにリレーに接続する。
・アイデンティティサーバ:全てのコマンドはローカルあるいは遠隔何れにしろ、「識別」(人あるいはシステム)のために動作する。種々のアイデンティティ(同一性)を構成し、種々の結果を得るコマンドを動作させることができる。
・ブートサーバ:スマートフォンリブートによりmrixイベントの開始を処理する。
・コマンドインタプリータ:コマンドインタプリータモジュール、rshdはスマートフォン上で動作し、普通はブートにより開始するように設定される。
・コマンドシェル:コマンドシェル、mrcmdはPC上で動作する。シェルは現在ウインドウズ上で動作するが、やがてリナックスおよびマックOSX上で利用可能になる。プログラムおよびスクリプトはスマートフォン上のmrixコンポーネントと通信および相互作用をするPCに対して記述することができる。
・Luaスクリプト記述エンジン:Luaで書かれたスクリプトはスマートフォンで動作することができる。幾つかの有用なスクリプト、例えばSMTPおよびFTPクライエントがレリースされている。
・パイププロセッサ:個別のスマートフォンモジュールであり、mrixコマンド環境を通じてアクセスし、スマートフォン機能の範囲へのアクセスを提供する。
mrixの使用には次のハードウエアおよびソフトウエアが必要である。
・マイクロソフトウインドウズ2000あるいはその後のバージョン
・m-Router
・mrix
・スマートフォン(ノキア7650、3650、6600、N-ゲージ、ソニーエリクソンP800)
(MRIXの使用)
(m-Router-スマートフォンへの接続)
PC上でコマンド指示を開き、
>mrouter-h
をタイプする。
>mrouter-csearch-devices
をタイプする。
例えば、もしスマートフォンがNokia7650のブルートゥース名を持っていれば、その場合コマンドは、
>mrouter-cconnect-device-dNokia7650となる。
>mrouter-cconnect-device-dIMEI:xxxxxxxx
>mrouter-cconnect-device-dBTADDR:xxxxxx
>mrouter-cconnect-device-dSJCxxxxxxxxx
スマートフォンを切断するためには、
>mrouter-cdisconnect-device-d<ブルートゥース装置名>をタイプする。
また、
>mrouter-cdisconnect-device-d.
をタイプすることもできる。
上のタイプでもし複数の装置が現在接続されていれば、ピリオドは現在接続されている装置、あるいは最初に接続された装置を表す。
mrcmdはスマートフォン上でパイププロセッサとスクリプトを動作させることを許容するPCのサイドプログラムである。スマートフォン上でパイププロセッサとスクリプトを動作させる前に、mrixの設定のための要件レベルのセキュリティを設定する必要がある。これはmrcmd環境変数を設定することにより行われる。現在、アイデンティティ構成情報はスマートフォンの\system\mrix\identity.iniファイルに格納されている。CTOアイデンティティはパスワードGOODと共にこのファイルに設定されている。mrixシステムとプレイするためにこのアイデンティティを使用しなければならない。これは以下のようにDOSコマンドシェルから行われる。
あるいは、これを以下のように永久に設定することを希望することができる。
--accept--local3011--run“rshd--run”
mrixアプリケーションはスマートフォン上でコマンドとスクリプトを動作させる単純な方法である。mrixから別のコマンドを呼び出すためには、単純にただ既存のコマンドラインを上書きする(および必要なパラメータ)。
>mrcmd.“mrps-1”をタイプする。
>mrcmd.“mrps-h”をタイプする。
>mrcmd.“mrfile-wc:\system\default.car”<c:\mrix\bin\default.carをタイプする。
>mrcmd.“mrfile-dc:\system\default.car”をタイプする。
>mrcmd.“mrfile-h”をタイプする。
>mrcmd.“luarun-h”をタイプする。
>>>>>>>>>>>>
#!luarun
mrix.write(“Hello、World\n”)
mrpromptのパイププロセッサを駆動。
res=mrix.run(“mrprompt”、“-tYESNO-p\”Need help-\” ”)
mrix.write(“Result=”..res“\n”)
>>>>>>>>>>>>
Luaスクリプトはスマートフォン上で2つの方法の内の1つで動作させることができる。
・luaスクリプトをスマートフォンに流すことによる。
・スマートフォン上にあるluaスクリプトを動作させることによる。
>mrcmd.“luarun-”<test.luaをタイプする。
スクリプトを動作させるには、
>mrcmd.“luarunc:\system\mrix\test.lua”をタイプする。
>mrix.write(“Hello、World”)
>q
(さらなるスクリプトについて)
PCとの相互作用とは独立に、スマートフォン上でLuaスクリプトを動作させる2つの方法がある。
>mrcmd.“mrevent-a-nrunmyscript-eBOOT-cluascript.lua”
このコマンドは(-a)ブートコマンド(-eBOOT)をスマートフォンのブートファイルに加え、スマートフォンがオンの時にスクリプト(-cluascript.lua)を動作させる。イベントには名称(-nrunmyscript)が与えられ、名前として働き、以下のようにブートからイベントを削除することができる。
(アイデンティティ)
全てのmrixスマートフォンスクリプトおよびパイププロセッサは、ローカルあるいは遠隔からアイデンティティの承認の下に動作する。アイデンティティはユーザネーム、パスワードおよびアイデンティティの下に動作させることの出来るスクリプトおよびパイププロセッサを管理する承認の組からなる。identity file、identity.iniはスマートフォンの\system\mrix directoryに位置する。
>>>>>>>>>>>>>
#!luarun
現在のアイデンティティ、この場合ゲストを保存。
old_id=mrix.getcurrentidentity()
CTOusernemeを使用して、新しいアイデンティティの名前を作成。
new_id=mrix.makenewidentity(“CTO”、“GOOD”)
以下のコマンドを動作させるために新しく創ったアイデンティティを使用。
mrix.setcurrentidentity(new_id)
mrix.write(“hello、world\n”)
mrpromptパイププロセッサを駆動。
res=mrix.run(“mrprompt”、“-tYESNO-p\”Need help-\” ”)
mrix.write(“Result=“..res”\n”)
-保存したアイデンティティを復活。
mrix.setcurrentidentity(old_id)
-新しいアイデンティティを開放し、リソースを開放する。
mrix.releaseidentity(new_id)
>>>>>>>>>>>>>
(付録2)
(パイププロセッサ)
mrAgenda アジェンダデータベースへのインタフェースの提供。
mrAt 所与の時間に動作させるコマンドを計画。
mrBluetooth ブルートゥースサービスの範囲へのアクセスの提供。
mrContacts 連絡先データベースへのインタフェースの提供。
mrElayd リレーサーバへの接続の確立。
mrEvent イベントの設定と駆動(コマンド)。
mrFile 基本ファイルとディレクトリ操作の実行。
mrImage 装置からの単一イメージあるいはイメージストリームの獲得。
mrKeyboard キーボードへの文字入力の模擬。
mrLaunch アプリケーションの開始、実装/動作アプリケーションのリ
スト。
mrMessage メッセージの閲覧/削除、SMS送信、受信ボックスの注視。
mrMr 他のパ一プロセッサに関する情報の抽出。
mrObex 装置のブルートゥースOBEXを発出するクライアントへの
転換。
mrPrompt 単純な質問によるユーザへの指示。
mrPs 処理とスレッドの状況管理。
mrShutdown 閉鎖、リブートあるいは装置のブート状況の閲覧。
mrSim sim関連情報の抽出。
mrSky インターネットの「常時利用可能」格納エリアのデータを格納。
mrStorage 装置へのデータ格納の許容。
mrSysinfo システム情報を返信。
mrTcp TCP/IP接続の確立。
mrThroughput 電話機へおよび/からの疎通試験。
mrWatchfire 注視されるリソースが変化するときコマンドを作動。
(シンビアンパイププロセッサの開発)
(1.序説)
本節はシンビアンパイププロセッサを記述することを望む全ての開発者の手引きとして役立つことを意図する。mrixパイププロセッサのテンプレートを使用して開始することの基礎を明らかにし、またパイププロセッサの開発過程で遭遇することのある幾つかの共通パターンを説明する。
パイププロセッサはスマートフォンを基本とするモジュールであり、論理的に関係のあるスマートフォン機能の組をカプセル化する。このモジュールがそう呼ばれるのはmStreamから導かれるインタフェースにより全てのその入力および出力を抽象化するからである。即ち、このモジュールはコマンドラインインタフェースによりその機能を本質的に表す。例えば、mrContactsパイププロセッサはスマートフォンに関する連絡先管理の全側面を抽象化する。もしmrContactsがa-1選択肢により呼び出されると、全ての連絡先リストを返す。もしa-p選択肢により呼び出されると、スマートフォンの連絡先データベースを更新するのに使用する連絡先情報のファイルが期待される。
1.パイププロセッサグループにポインタを戻す単一出力を持つ多様形DLL。mrContactsにとりこれは以下の通りである:
CmStreamProcessorInstanceGroup* CmrContactsGroupCreatorFunction(constmStreamMan::FixedString&aName)
2.UID1は0x1000AF70である。
3.スマートフォン機能の幾つかの個別の側面に対する責任。
(mrixパイププロセッサのテンプレート)
パイププロセッサ構築の推奨方法は\mrix\source\epoc\genericに見出すことのできるmrixパイププロセッサのテンプレート、commandtemplate.plにより始めることである。DOSシェルコマンドラインから適切なUID2と共にパイププロセッサの意図した名前を持つこのテンプレートを呼び出す。開発に有効なUIDの範囲は0x00000001から0x0fffffffである。この範囲のUIDは公開コードに使用されるべきではない。代わりに、第3パーティの開発者はシンビアンテクニカルペーパを調べる必要がある。例えば、テンプレートパイププロセッサを創るために、0x00f00f00の開発UIDを持つmrFooは\mrix\source\epoc\genericディレクトリにおいて以下のコマンドを動作せる:
commandtemplate.pl-nmrFoo-u0x00f00f00-s templates\synchronous_pp
このコマンドを動作させる場合、MSVC6が骨格プロジェクトにより発出されていることを知るべきである。そのプロジェクト内では、既成のテンプレート、mrFoo.htmlmanpage、emptytodo.txtおよびhistory.txtファイルおよびまた幾つかのC++ソースおよびヘッダファイルが見出される。
そしてパイププロセッサを適切に接続されている目標に以下のように転送する。
これを行うには、m-Router(登録商標)接続がシンビアンスマートフォンとPCの間で動作中であり、mrix遠隔シェルディーモンrshdが動作していることを保証する必要がある。
電話機のリブートが、アイデンティティサーバがアップグレードの登録ができることを保証するのに続いて、パイププロセッサを動作させることが出来るようになるはずである。
この点で、mrFooパイププロセッサはシンビアンスマートフォン上で動作する。mrFooパイププロセッサが正当なパイププロセッサとしてシステムパイププロセッサのmrmr-1リストに現れるのを見ることができるはずである。以下の選択肢のサポートはテンプレートによりデフォールトとして埋め込まれている。
* -h:help listing
-v:verbose
* -V:version
コマンドテンプレートの呼び出しからシステムに実装された動作するパイププロセッサを得るに至る過程は1分を要しない筈である。
パイププロセッサは次の3つのライブラリにリンクする:
* mStreamClientEx.lib:mStreamのクラス。
* mStreamProcessorEx.lib:mrixパイププロセッサの拡張。
mStreamUtilEx.lib:mrixパイププロセッサのユーティリティ。
これらライブラリに対応するヘッダは以下の通りである。
* #include<mStreamClientEx.h>
* #include<mStreamProcessorEx.h>
#include<mStreamUtilEx.h>
もしmrixパイププロセッサテンプレートを使用する場合、これらのライブラリおよびヘッダは関係するファイル、即ち.mmp作成ファイルおよびstdafr.hヘッダァファイルに自動的に挿入されることに注意されたい。
(他のパイププロセッサの呼び出し)
以下のコードの抜粋はCPipeProcessorRunnerContainerの例の創り方および標準-V選択肢を使用するパイププロセッサのバージョンを決定するための使用法を示す。
TInthandle=runner->PPOpen(aPP,_L
(“--version”));
Info(_L8(“PPOpenreturned%d”),handle);
iVersionBuffer.SetLength(0);
if(handle>0)
{//ファイルの終わりまでPP出力の同期読み取り、
err=KErrNone;
while(lerr)
{
TBuff8<8>buf;
err=runner->PPRead(handle,&buf);
Info(_L8(“PPReaderr=%d,\“%S\” ”),err,&buf);
if(lerr)
iVersionbuffer+=buf;
}
err=runner->PPClose(handle);
Info(_L8(“PPclosereturned%d”),err);
deleterunner:
(5.パイププロセッサ設計パターン)
パイププロセッサ内において起こりうる処理の4つの共通タイプが存在する。
* リスト処理
* 入力処理
* 接続管理
* 状態管理
これら構成上の使用の各場合は特定のパターンを使用して処理することができる。
(mrixコマンドおよびスクリプトガイドライン)
(1.序説)
本節はmrixコマンドの書き方(C++パイププロセッサとスクリプトの両方を含む)および動作のさせ方のガイドラインを記す。これらコマンドの記述者と試験者の両者向きである。
以下のガイドラインはパイププロセッサとスクリプトの両方に適用される。
他のソフトウエアから来る、あるいは他のソフトウエアにより処理されると考えられるコマンドによるデータ入力あるいは出力は少なくとも以下のフォーマットの1つにおいて受理/利用されるべきである。
固定数のフィールドを持つレコードのテキスト/コンマで区切られた値のリスト。第1のレコードはヘッダレコードである。
text/x-mrix-versit 恐らく可変数のフィールドを持つレコードの木またはフラット構造リスト
mrcontacts-1,mragenda-1,mrmessage-1
text/x-mrix-tagged 「ラベル:値」の対の静的リストであり、単一の静的レコードが出力される度に使用される。 mrsim-1
application/octet-stream コマンドに特定のフォーマットの一般のバイナリデータ
mrfile-r,mrimage,mrtcp
(2.2 誤り、警告および情報)
全ての誤り、警告および情報メッセージは標準的誤りについて出力され、補助的情報はパイプについて出力される。そのフォーマットは次の1つである。
ERROR:誤りメッセージ。コマンドの動作を継続できないことを意味する致命的誤り。誤りメッセージを出力後、コマンドは直ちに停止しなければならない。
WARN:警告メッセージ。ユーザが警告を受けるべき何かが生じたことを意味する診断誤りであるが、コマンドの動作は継続することができる。控えめに使用のこと。
INFO:情報メッセージ。クライアントが彼等自身のソフトウエアをデバッグ中にコマンドのクライアントを助ける診断メッセージである。コマンド自体のデバッグに使用されるメッセージは公開前に削除されるべきである。ユーザがVERBOSEコマンド選択肢を選んだ場合にのみ、INFOメッセージは出力されるべきである。控えめに使用のこと。
コマンドが成功する場合の動作は零のリターン値となる。誤りが生じると、リターン値は適切な(負の)誤りコードに設定される。
コマンドは次のパターンの1つに従わなければならない。
出力のみ。 実行すると、コマンドはコマンドラインに基づいて何かしら処理を行い、何らかのデータを出力する。
出力すると、全てのコマンドは\r\n文字対により行を終了する。テキストフォーマットで入力を受理する全てのコマンドは\r\nまたは\nで終了する行が分かる。
コマンドが他の装置の指定を要求されると、その場合その実行のためにコマンドは幾つかの異なる方法を許容する。方法は装置を参照して、SCHEME:NAMEとして適用される。装置参照に方法が付されていない場合、デフォールトの方法はANYである。
N コマンドが1から番号を付された装置リストを出力すると、その場合N方法により、クライアントはリストの番号によりリストの特定の装置を参照することが許容される。
IMEI IMEI番号による装置参照。
ANY 上記の任意の方法による整合する装置検出の試み。
全てのコマンドは長い(posix)および短い形式の選択肢をサポートし、かつ少なくとも以下の選択肢をサポートしなければならない。
-h,--help コマンド選択肢をリストする短い方を使用するテキストおよび余裕があれば極めて短い説明を表示。-hにより出力されるテキストは1024バイトを超えない。
-V,-version 以下のフォーマットでバージョン情報を表示:a,b,c(d)(e)。a,b,c,dはバージョンであり、構成されたコマンドに対するmrixの番号を構成する。eはコマンドに特定のバージョン番号であり、コマンド改版の度に増える。
コマンド自体並びに開発者はコマンドの目的と動作を詳細に説明するためにhtmlフォーマットのマンページを供給すべきである。また、開発者は(コマンドの各バージョンで変化したものを記録するために)histiry.textファイルと(次バージョンの考え方を記録するために)todo.textファイルを維持すべきである。
他のコマンドへの依存性は最小に保たれねばならない。核mrixコマンドのみが他の核mrixコマンドに依存することができる。再使用するように設計されたコマンドのみが核mrixコマンドに依存すべきである。
以下のガイドラインはパイププロセッサのみに適用される。
(3.1 メモリの使用)
全てのパイププロセッサはメモリの使用を最小にする観点で書かれるべきである。
パイププロセッサは単一のバッファにおいてその出力すべきデータを構成し、次いで出力すべきであり、何度もWritePipeLをコールしてはならない。
パイププロセッサは全てのユニコードデータをUTF8に変換し、その後プラットフォームの埋め込み文字変換設備を使用して出力すべきである。
以下のガイドラインはスクリプトのみに適用される。
全ての変数をローカルにする。
コールするパイププロセッサの誤りコードを常に確実に調べる。
可能であれば、連ねるよりむしろ一度に1行のデータを処理する。
他のコマンドから動作させるように設計されたものであっても、全てのスクリプトはデバッグを許容する観点からローカルに動作可能であるべきである。
(mrixおよびスマートフォン試験環境)
(1.要約)
本節はmrixを使用してシンビアンOSスマートフォンの製造会社が製品試験の品質と数量を改善する手助けをする幾つかの機会を概説する。この試験は製品搬出の前に生じるシンビアンOSスマートフォンの長い開発期間中に行われる。機会が現れるのは今日行われる試験の大半が明らかに手動的性格だからである。
(2.概要)
(2.1 今日のスマートフォン試験の課題)
今日、長い開発期間中のシンビアンOSスマートフォンの試験は経費がかかり、困難な課題である。プロセスはアドホックで、手動の、繰り返しのできない試験に強く係わる。
(装置応用試験の課題)
* 試験の大半は手動で行われる。
* 長い動作試験と強制試験は自動方式で行うことがほぼ不可能である。
* 装置に関するデータ作成は困難で、単調な課題である。
* 試験は難なく繰り返しができない。
* 開発サイクルの間ROMを常にリフレッシュするのはより困難な、あるいは長い動作試験の多くを「割れ目に落とす」ことになる。
(接続性ソフトウエアの試験の課題)
上記の全ての課題はスマートフォンの接続性ソフトウエアの試験に等しく当てはまる。なお、接続性はPCとスマートフォンの間のリンク確立を含むので、PC/サーバとスマートフォンの同時制御が現在不可能であるという複雑さがさらに加わる。
製品試験に関するスマートフォン装置製造会社に重要なことは以下の通りである。
* スモーク試験-基本的なUI機能を試験する。
* 寿命システム試験-数千回の追加/削除/変更入力。
* ローカル化試験-試験実行。
* 運用会社の試験-電話ネットワークの相互運用試験。
上記のリストに関して、mrixは試験の場に重要な付加的エレメント、即ち可能性を秘めた複数のシンビアンOS装置の遠隔制御能力をもたらす。遠隔制御は自動試験の余地を劇的に増し、シンビアンOSスマートフォン製造会社に試験の品質と量の両方の改善を可能にすると同時に経費を削減するので、これがまたシンビアンOSスマートフォンの製造会社にとって魅力的である。
以下にシンビアンOSスマートフォンの装置試験の基本としてmrixを使用する利点を説明する手助けとなるプロトタイプの具体的な示唆を行う。示唆を実装の困難性に関して評価する。
シンビアンOSスマートフォンのアプリケーションの試験は骨の折れる、困難なプロセスである。さらに、スマートフォンの製造会社の中には既に開発者許可プログラムの導入を通じてスマートフォンの試験過程の標準化を模索するものもある。第3パーティのシンビアンOS開発者が全ての許可の経費に圧倒されることのある危険が存在する。理想的には、廉価で、容易なアプリケーションの健全なチェック方法が望まれる。
スモーク試験は試験フェーズでは他の何よりも多く恐らく繰り返される。スモーク試験は構成の次のベータ試験への適性を判断するために使用される主たる道標であるので、厳しい活動である。換言すれば、スモーク試験は後戻りへの早期警告として重要な役割を担う。今日、スモーク試験は殆ど専ら手動である。通常、スモーク試験は電子メールの送信あるいはウエブのブラウジングのようなスマートフォン上での適切な使用事例の範囲を制定するテスタの形を取る。
大部分のスマートフォン試験が手動で行われることを前提にすると、寿命試験は特に実行が困難である。試験は長い時間を経たスマートフォンの使用シミュレーションを含む。スマートフォン製造会社が寿命試験による品質改善の助けになることに非常な関心を持つのは、それが非常に高くつく製品リコールの回避の手助けになるからである。
シンビアンOSコンポーネントの試験コードは通常屡々自動化される試験装置の形式で書かれる。このように、そのような試験コードのテンプレート化のために実行可能なかなりの量が存在する。さらに、コンポーネントインタフェースの試験コードのパイププロセッサへの移動により完全にスクリプト記述によるシンビアンOSコンポーネントの試験の可能性が高まる。
スマートフォンに関するサンプルデータの生成は今日徒労の感を催す限界のある、主として手動の手順である。特に、変化のあるデータの組を生成するのは困難である。
スマートフォンの接続性試験は今日非効率的で、主として手動の手順である。シンビアンOSスマートフォンの製造会社は実際従来からこの分野と戦ってきた。
ネットワーク運用会社の認可を得るために、スマートフォンは広範な相互運用試験を受ける必要がある。シンビアンOSスマートフォンの製造会社は従来から運用会社の受理を得ることと戦ってきたと考えられる。
シンビアンOSスマートフォン製造会社がmrix技術を展開する幾つかの良い機会を提供する試験に緊密に関係する幾つかの分野がある。特に、現場試験、診断およびデバッグは最も可能性があるように見える。関心が持てる更なる分野はIDEの組み込みと製品開発自体の活動である。
現場試験中に、ユーザが欠陥のある商品格付けとデバッグを支援するために試験中のスマートフォンから実際に包括的な診断を行う手段を持つことは極めて有益である。
現場診断ダンパーはパイププロセッサであり、小型の付属設備であり、試験中の装置から素早く、包括的な診断を行うのに使用することができる。
パイププロセッサの開発中に、mrixが製品開発をかなり加速する能力を持つことが明らかになった。putpp設備は素早くパイププロセッサを更新するのに極めて便利であることを単独で証明した。IDEのツールベンダとパートナーを組み、mrixを内部に持つ結合IDEを開発し、現在の状況よりもっと進んだ開発環境を提供することには可能性が潜んでいる。この分野にはかなりの開発の可能性が潜んでいるが、その実現以前に時間と努力に関してもっと多くの投資が恐らく必要であることに注目すべきである。
Claims (34)
- 無線モバイル機器のための迅速なソフトウエアアプリケーション開発の方法であって、モジュール化ソフトウエアエレメントをコールするステップを含み、エレメントのそれぞれが、(a)前記無線モバイル機器により要求される機能をカプセル化し、(b)標準インタフェース構造を共有し、(c)コマンドラインインタフェースの制御の下に前記装置上で動作することを特徴とする方法。
- 1または複数のモジュール化ソフトウエアエレメントが装置のネットワーク化機能をカプセル化することを特徴とする請求項1に記載の方法。
- 前記装置のネットワーク化機能が以下のGPRS、2Gセルラー、CDMA、WCDMA、ブルートゥース、802.11、赤外線、IPネットワーク化、ダイアルアップ、HSCSDおよびEDGEのモーデムの1または複数を介する接続性に関係することを特徴とする請求項2に記載の方法。
- 1または複数の前記モジュール化ソフトウエアエレメントが一般的なモバイル機器の機能をカプセル化することを特徴とする請求項1に記載の方法。
- 前記一般的なモバイル機器の機能が以下の呼制御および処理、PIM機能、SIM機能、画面を磨く、キー押下のふりをすることを含む遠隔制御、処理、スレッド、メモリおよび設定を含む監視、前記画面エレメントがスクリプトで規定されるアプリケーションを創ることを含むUI、監視と呼び出しを含む電話、ファイルとフォルダの読み書き、変更の監視を含むファイルシステム、構造化された格納、抽出、任意のアプリケーションデータの検索と監視を含むデータベース、リングトーン、壁紙および設定を含む装置の個性化の1または複数に関係することを特徴とする請求項4に記載の方法。
- コマンドラインインタフェースの前記制御下にある前記エレメントがTCPIPインタフェースであり、該インタフェースが前記装置の他のプログラムが入り接続を受けて動作する、あるいは他の装置ベースのプログラムの制御下にある前記装置から出接続を行うことを許容することを特徴とする請求項1に記載の方法。
- コマンドラインインタフェースの前記制御下にある前記エレメントが遠隔コマンド実行プロトコルを実装することを特徴とする請求項1に記載の方法。
- コマンドラインインタフェースの前記制御下にある前記エレメントがスクリプト記述言語を実装し、該言語がコマンドラインインタフェースによりまた制御される前記装置の他のプログラムを使用するスクリプトの記述を許容することを特徴とする請求項1に記載の方法。
- 高水準言語プログラムが指示を送信することができる前記装置から遠隔にあるアプリケーション開発コンピュータ上で動作する、あるいは各エレメントがコマンドラインインタフェースにより制御される前記装置上で動作することを特徴とする請求項1に記載の方法。
- 前記高水準言語プログラムがコマンドラインプログラムであり、該プログラムが前記モバイル機器と該装置と同じ前記遠隔コマンド実行プロトコルを実装する前記アプリケーション開発コンピュータ上の更なるプログラムとの間のIP接続を可能にすることを特徴とする請求項9に記載の方法。
- 迅速なアプリケーション開発が、前記遠隔コマンド実行プロトコルを使用して前記アプリケーション開発コンピュータのコマンド指示によるコマンドラインインタフェースにより制御される、前記装置ベースのエレメントの実行により装置能力の調査を可能にすることにより達成されることを特徴とする請求項10に記載の方法。
- 各コマンドの出力が前記アプリケーション開発コンピュータの前記コマンド指示に示されることを特徴とする請求項11に記載の方法。
- 迅速なアプリケーション開発が、前記装置上に書かれた前記スクリプト記述言語のコマンドラインインタフェースにより制御される、幾つかの装置ベースのエレメントの前記結果を結合するスクリプトを使用することにより達成されることを特徴とする請求項10に記載の方法。
- 前記スクリプトが前記アプリケーション開発コンピュータ上で動作するテキストエディタにおいて構成されることを特徴とする請求項13に記載の方法。
- 迅速なアプリケーション開発が、前記スクリプトを前記装置に転送し、前記コンピュータのコマンド指示を再び使用して前記スクリプトを実行することにより達成されることを特徴とする請求項13または14に記載の方法。
- モジュール化ソフトウエアエレメントの前記標準インタフェース構造が前記エレメントの前記名称、コマンドライン選択肢の組、2つの入力ストリームおよび2つの出力ストリームであることを特徴とする請求項1に記載の方法。
- 前記高水準言語が単一のタイプの高水準言語に制限されず、前記ソフトウエアアプリケーション開発者の前記要件に応じて以下の、
(a)コマンドラインインタフェース、
(b)スクリプト記述言語、
(c)コンパイルされた言語
の何れでもあり得ることを特徴とする請求項9に記載の方法。 - 前記アプリケーション開発コンピュータがデスクトップPCであることを特徴とする請求項17に記載の方法。
- 前記高水準言語プログラムがさらに前記装置上で動作し、別のアプリケーション開発コンピュータの使用を必要とすることなく前記装置の再プログラミングを可能にすることを特徴とする請求項1に記載の方法。
- 前記モジュール化ソフトウエアエレメントによって前記オペレーティングシステムを使用して機能を実装するのに必要な特殊コードを動作させる特殊事項ではなく、使用する機能の前記タイプを前記アプリケーション開発者が理解することを求めることにより、前記装置の前記オペレーティングシステムの前記特殊事項に前記アプリケーション開発者が係わらないようにすることを特徴とする請求項1に記載の方法。
- 前記装置がコマンドインタプリータを動作させ、前記アプリケーション開発コンピュータがコマンド実行シェルを動作させることを特徴とする請求項9に記載の方法。
- 前記アプリケーション開発コンピュータがローカルポイントツーポイントIR、ブルートゥース、USB、WAN、LAN、SMSあるいはGPRS、あるいは以上の任意の組み合わせを介して前記装置に接続されることを特徴とする請求項9に記載の方法。
- モジュール化ソフトウエアエレメントが互いに連鎖され、複合機能を構築できることを特徴とする請求項1に記載の方法。
- 前記モジュール化ソフトウエアエレメントがアイデンティおよび関連する許可に関して前記装置上で動作することを特徴とする請求項1乃至23のいずれかに記載の方法。
- 前記アイデンティおよび関連する許可を提供し、制御する安全な許可を持つアイデンティサーバが存在することを特徴とする請求項24に記載の方法。
- 前記アイデンティサーバが前記装置に位置することを特徴とする請求項25に記載の方法。
- 請求項1から26の何れかに記載の方法を使用して開発されることを特徴とするソフトウエアアプリケーションプログラム。
- 遠隔アプリケーション開発コンピュータから起動あるいは制御されることを特徴とする請求項27に記載のソフトウエアアプリケーションプログラム。
- 安全な方法で前記遠隔アプリケーション開発コンピュータによりアクセスあるいは制御されることを特徴とする請求項28に記載のソフトウエアアプリケーションプログラム。
- 遠隔アプリケーション開発コンピュータからの開始あるいは制御がなくとも前記装置上で独立に動作することを特徴とする請求項27に記載のソフトウエアアプリケーションプログラム。
- 無線モバイル機器のための迅速なソフトウエアアプリケーション開発の方法であって、モジュール化ソフトウエアエレメントをコールするステップを含み、エレメントのそれぞれが高水準言語プログラムを使用して、(a)前記無線モバイル機器により要求されるネットワーク化機能をカプセル化し、(b)標準インタフェース構造を共有し、(c)装置上で動作することを特徴とする方法。
- 前記高水準言語が、
(a)コマンドラインインタフェースあるいは、
(b)記述言語あるいは
(c)コンパイル化言語
であることを特徴とする請求項31に記載の方法。 - 請求項1から26の何れかに記載により特定される内容を更に含むことを特徴とする請求項31または32に記載の方法。
- 前記モジュール化ソフトウエアエレメントが前記モバイル機器のCPU上で動作することを特徴とする請求項1乃至33の何れかに記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0325882A GB0325882D0 (en) | 2003-11-06 | 2003-11-06 | Rapid networked-application development for mobile devices |
GB0329520A GB0329520D0 (en) | 2003-11-06 | 2003-12-19 | A method and framework of rapid software application development on wireless mobile devices |
PCT/GB2004/004702 WO2005045667A2 (en) | 2003-11-06 | 2004-11-08 | A method of rapid software application development for a wireless mobile device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007510979A true JP2007510979A (ja) | 2007-04-26 |
Family
ID=33542692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006537444A Withdrawn JP2007510979A (ja) | 2003-11-06 | 2004-11-08 | 無線モバイル機器のための迅速なソフトウエアアプリケーション開発の方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20070220494A1 (ja) |
EP (1) | EP1692614A2 (ja) |
JP (1) | JP2007510979A (ja) |
GB (1) | GB2407893B (ja) |
WO (1) | WO2005045667A2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011028985A2 (en) * | 2009-09-03 | 2011-03-10 | Moggle Inc. | Parent playback |
US8650621B2 (en) | 2009-09-03 | 2014-02-11 | Virtual Piggy, Inc. | System and method for verifying the age of an internet user |
US8762230B2 (en) | 2011-11-02 | 2014-06-24 | Virtual Piggy, Inc. | System and method for virtual piggy bank wish-list |
US8812395B2 (en) | 2009-09-03 | 2014-08-19 | Virtual Piggy, Inc. | System and method for virtual piggybank |
US9203845B2 (en) | 2009-09-03 | 2015-12-01 | Virtual Piggy, Inc. | Parent match |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI122213B (fi) * | 2004-09-28 | 2011-10-14 | Capricode Oy | Menetelmä ja laitejärjestely päätelaitteen käyttöprofiilin hallitsemiseksi |
US8823636B2 (en) | 2005-03-18 | 2014-09-02 | The Invention Science Fund I, Llc | Including environmental information in a manual expression |
US8232979B2 (en) | 2005-05-25 | 2012-07-31 | The Invention Science Fund I, Llc | Performing an action with respect to hand-formed expression |
US7809215B2 (en) | 2006-10-11 | 2010-10-05 | The Invention Science Fund I, Llc | Contextual information encoded in a formed expression |
US8640959B2 (en) | 2005-03-18 | 2014-02-04 | The Invention Science Fund I, Llc | Acquisition of a user expression and a context of the expression |
US8340476B2 (en) | 2005-03-18 | 2012-12-25 | The Invention Science Fund I, Llc | Electronic acquisition of a hand formed expression and a context of the expression |
US8749480B2 (en) | 2005-03-18 | 2014-06-10 | The Invention Science Fund I, Llc | Article having a writing portion and preformed identifiers |
US8290313B2 (en) | 2005-03-18 | 2012-10-16 | The Invention Science Fund I, Llc | Electronic acquisition of a hand formed expression and a context of the expression |
US20060212430A1 (en) | 2005-03-18 | 2006-09-21 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Outputting a saved hand-formed expression |
US7826687B2 (en) | 2005-03-18 | 2010-11-02 | The Invention Science Fund I, Llc | Including contextual information with a formed expression |
US8229252B2 (en) | 2005-03-18 | 2012-07-24 | The Invention Science Fund I, Llc | Electronic association of a user expression and a context of the expression |
US8559987B1 (en) * | 2005-12-31 | 2013-10-15 | Blaze Mobile, Inc. | Wireless bidirectional communications between a mobile device and associated secure element |
WO2008012738A2 (en) * | 2006-07-25 | 2008-01-31 | Nxp B.V. | Mobile device comprising an operating system emulator |
US9451009B2 (en) * | 2007-02-19 | 2016-09-20 | Appcentral, Inc. | Methods and system to create applications and distribute applications to a remote device |
US8813041B2 (en) * | 2008-02-14 | 2014-08-19 | Yahoo! Inc. | Efficient compression of applications |
US11182175B2 (en) * | 2008-09-18 | 2021-11-23 | International Business Machines Corporation | Apparatus and methods for workflow capture and display |
US20100087214A1 (en) * | 2008-10-07 | 2010-04-08 | International Business Machines Corporation | Asynchronous url notification |
US8676942B2 (en) * | 2008-11-21 | 2014-03-18 | Microsoft Corporation | Common configuration application programming interface |
US8751612B2 (en) * | 2008-11-21 | 2014-06-10 | Microsoft Corporation | Creating cross-technology configuration settings |
US8615570B2 (en) * | 2008-11-21 | 2013-12-24 | Microsoft Corporation | Unified storage for configuring multiple networking technologies |
US8683046B2 (en) * | 2008-11-21 | 2014-03-25 | Microsoft Corporation | Unified interface for configuring multiple networking technologies |
BR112012004974A2 (pt) * | 2009-09-03 | 2016-05-03 | Virtual Piggy Inc | sistema e método para cofrinho virtual |
TWI402763B (zh) * | 2010-01-20 | 2013-07-21 | Mitake Information Corp | 金融看盤軟體之價量統計價位標記顯示之裝置與方法 |
US20110191787A1 (en) * | 2010-02-02 | 2011-08-04 | Sun Microsystems, Inc. | System and method for providing sensor data from embedded device to software development environment |
US8996667B2 (en) | 2010-04-27 | 2015-03-31 | International Business Machines Corporation | Deploying an operating system |
US8479154B1 (en) | 2010-08-20 | 2013-07-02 | Google Inc. | Interaction with partially constructed mobile device applications |
WO2012048257A2 (en) | 2010-10-08 | 2012-04-12 | Lumi Technologies, Inc. | Scalable synchronization of events among server and clients with varying lag-times |
US20120117181A1 (en) * | 2010-11-05 | 2012-05-10 | Verizon Patent And Licensing, Inc. | System for and method of providing mobile applications management |
DE112011103880T5 (de) | 2010-11-23 | 2013-08-22 | International Business Machines Corporation | Direktes Migrieren von Software-Abbildern mit Streaming-Technik |
US8694954B2 (en) * | 2010-11-29 | 2014-04-08 | Norman Ortiz | System and methods for mobile application development using mobile devices |
JP5904505B2 (ja) | 2010-12-09 | 2016-04-13 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 仮想ディスクを暗号化及び復号するためのコンピュータ可読ストレージ媒体 |
DE112011104356B4 (de) * | 2010-12-13 | 2014-05-15 | International Business Machines Corporation | Aktualisieren von Software-Images auf der Grundlage von Streaming-Technik |
JP5767565B2 (ja) | 2010-12-14 | 2015-08-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ソフトウェア・イメージの管理方法、コンピュータ・プログラム、およびシステム(共有メモリ・ブロックを用いた複数のソフトウェア・イメージの管理) |
US8898629B2 (en) | 2011-04-06 | 2014-11-25 | Media Direct, Inc. | Systems and methods for a mobile application development and deployment platform |
US8898630B2 (en) | 2011-04-06 | 2014-11-25 | Media Direct, Inc. | Systems and methods for a voice- and gesture-controlled mobile application development and deployment platform |
US8978006B2 (en) | 2011-04-06 | 2015-03-10 | Media Direct, Inc. | Systems and methods for a mobile business application development and deployment platform |
US9134964B2 (en) | 2011-04-06 | 2015-09-15 | Media Direct, Inc. | Systems and methods for a specialized application development and deployment platform |
WO2012142263A2 (en) | 2011-04-12 | 2012-10-18 | Applied Science, Inc. | Systems and methods for managing blood donations |
US10496824B2 (en) | 2011-06-24 | 2019-12-03 | Microsoft Licensing Technology, LLC | Trusted language runtime on a mobile platform |
US9218164B2 (en) * | 2011-09-26 | 2015-12-22 | Norman Ortiz | System and method for mobile application development using mobile devices |
US20130091444A1 (en) * | 2011-10-11 | 2013-04-11 | Microsoft Corporation | Automatic rendering of interactive user interface elements |
JP5357340B1 (ja) * | 2011-11-04 | 2013-12-04 | 株式会社メディアシーク | アプリケーションソフトウェアを生成するシステム |
US20130132933A1 (en) * | 2011-11-17 | 2013-05-23 | Microsoft Corporation | Automated compliance testing during application development |
CN103049275B (zh) * | 2013-01-05 | 2016-04-27 | 小米科技有限责任公司 | 一种处理操作指令的方法、装置和设备 |
US20140281886A1 (en) | 2013-03-14 | 2014-09-18 | Media Direct, Inc. | Systems and methods for creating or updating an application using website content |
US9349365B2 (en) * | 2013-03-14 | 2016-05-24 | Accenture Global Services Limited | Voice based automation testing for hands free module |
US9772919B2 (en) * | 2013-03-14 | 2017-09-26 | Accenture Global Services Limited | Automation of D-bus communication testing for bluetooth profiles |
US9507609B2 (en) | 2013-09-29 | 2016-11-29 | Taplytics Inc. | System and method for developing an application |
CN103744787A (zh) * | 2014-01-21 | 2014-04-23 | 上海斐讯数据通信技术有限公司 | 一种手机自动化测试方法 |
US9665473B2 (en) | 2014-03-25 | 2017-05-30 | Accenture Global Services Limited | Smart tester application for testing other applications |
KR102594025B1 (ko) | 2014-05-30 | 2023-10-24 | 어플라이드 사이언스, 인코포레이티드 | 헌혈을 관리하기 위한 시스템들 및 방법들 |
FR3037686B1 (fr) * | 2015-06-17 | 2017-06-02 | Morpho | Procede de deploiement d'une application dans un element securise |
CN106250113A (zh) * | 2016-07-18 | 2016-12-21 | 百富计算机技术(深圳)有限公司 | 一种应用开发平台 |
US10608889B2 (en) * | 2018-06-29 | 2020-03-31 | Hewlett Packard Enterprise Development Lp | High-level interface to analytics engine |
CN112988029B (zh) * | 2019-12-17 | 2023-05-30 | 中标软件有限公司 | 一种登录界面启动软键盘的实现方法 |
CN111897526B (zh) * | 2020-07-16 | 2024-02-13 | 重庆长安汽车股份有限公司 | 一种基于Polyworks的工件特征遥控检测方法 |
WO2023058027A1 (en) * | 2021-10-10 | 2023-04-13 | B.G. Negev Technologies And Applications Ltd., At Ben-Gurion University | A computerized charging/interface device with application marketplace and ecosystem capabilities |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0888585A1 (en) * | 1996-03-19 | 1999-01-07 | Massachusetts Institute Of Technology | Computer system and computer implemented process for representing software system descriptions and for generating executable computer programs and computer system configurations from software system descriptions |
US6249886B1 (en) * | 1997-10-17 | 2001-06-19 | Ramsesh S. Kalkunte | Computer system and computer implemented process for performing user-defined tests of a client-server system with run time compilation of test results |
US6799320B1 (en) * | 1998-12-16 | 2004-09-28 | Microsoft Corporation | Providing binding options for component interfaces |
US7017116B2 (en) * | 1999-01-06 | 2006-03-21 | Iconics, Inc. | Graphical human-machine interface on a portable device |
US6389560B1 (en) * | 1999-01-19 | 2002-05-14 | Sun Microsystems, Inc. | Universal serial bus interpreter |
WO2001065364A1 (en) * | 2000-03-02 | 2001-09-07 | Wind River Systems, Inc. | System and method for common code generation |
US6658653B1 (en) * | 2000-06-08 | 2003-12-02 | International Business Machines Corporation | Debugging methods for heap misuse |
US7418254B2 (en) * | 2001-02-20 | 2008-08-26 | Microsoft Corporation | Mobile communication device dynamic service application and dynamic service application scripting |
KR100422069B1 (ko) * | 2001-07-25 | 2004-03-12 | 한국전자통신연구원 | 무선통신을 이용한 교차 개발 장치 및 그 방법 |
JP2005506631A (ja) * | 2001-10-22 | 2005-03-03 | インテュウェーブ リミテッド | 資源が制約されたモバイル計算装置のソフトウェアプログラムを開発する方法。 |
WO2003065654A1 (en) * | 2002-01-29 | 2003-08-07 | Koninklijke Philips Electronics N.V. | Internet protocol based wireless communication arrangements |
US7536181B2 (en) * | 2002-02-15 | 2009-05-19 | Telefonaktiebolaget L M Ericsson (Publ) | Platform system for mobile terminals |
US7669197B1 (en) * | 2002-09-12 | 2010-02-23 | Hewlett-Packard Development Company, L.P. | Embedded system employing component architecture platform |
US8775649B2 (en) * | 2002-11-26 | 2014-07-08 | Oracle America, Inc. | Optimizing client code through automated server specialization |
DE10255474A1 (de) * | 2002-11-28 | 2004-06-09 | Philips Intellectual Property & Standards Gmbh | Aufbau eines mobilen Endgeräts für unterschiedliche Kommunikationssysteme |
GB0307805D0 (en) * | 2003-04-04 | 2003-05-07 | Intuwave Ltd | A method of enabling source code to be used to generate a first and a second software application,each compatible with a different operating system |
-
2004
- 2004-11-08 GB GB0424655A patent/GB2407893B/en not_active Expired - Fee Related
- 2004-11-08 JP JP2006537444A patent/JP2007510979A/ja not_active Withdrawn
- 2004-11-08 EP EP04798425A patent/EP1692614A2/en not_active Withdrawn
- 2004-11-08 US US10/578,388 patent/US20070220494A1/en not_active Abandoned
- 2004-11-08 WO PCT/GB2004/004702 patent/WO2005045667A2/en active Application Filing
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011028985A2 (en) * | 2009-09-03 | 2011-03-10 | Moggle Inc. | Parent playback |
WO2011028985A3 (en) * | 2009-09-03 | 2011-06-30 | Moggle Inc. | Parent playback |
US8650621B2 (en) | 2009-09-03 | 2014-02-11 | Virtual Piggy, Inc. | System and method for verifying the age of an internet user |
US8812395B2 (en) | 2009-09-03 | 2014-08-19 | Virtual Piggy, Inc. | System and method for virtual piggybank |
US9203845B2 (en) | 2009-09-03 | 2015-12-01 | Virtual Piggy, Inc. | Parent match |
US8762230B2 (en) | 2011-11-02 | 2014-06-24 | Virtual Piggy, Inc. | System and method for virtual piggy bank wish-list |
Also Published As
Publication number | Publication date |
---|---|
US20070220494A1 (en) | 2007-09-20 |
EP1692614A2 (en) | 2006-08-23 |
WO2005045667A2 (en) | 2005-05-19 |
GB2407893B (en) | 2010-01-20 |
WO2005045667A3 (en) | 2005-07-28 |
GB2407893A (en) | 2005-05-11 |
GB0424655D0 (en) | 2004-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007510979A (ja) | 無線モバイル機器のための迅速なソフトウエアアプリケーション開発の方法 | |
US7152229B2 (en) | Workflow code generator | |
US11762634B2 (en) | Systems and methods for seamlessly integrating multiple products by using a common visual modeler | |
CA2604108C (en) | System and method of representing data entities of standard device applications as built-in components | |
US6173438B1 (en) | Embedded graphical programming system | |
CN102160037B (zh) | 只需设计一次就能在任何平台应用的移动应用开发框架 | |
US20050177816A1 (en) | Automatic generation of graphical program code for a graphical program based on the target platform of the graphical program | |
US20050268285A1 (en) | Object oriented GUI test automation | |
CN112162753A (zh) | 软件部署方法、装置、计算机设备和存储介质 | |
KR20030036736A (ko) | 내장형 오퍼레이팅 시스템을 가진 디바이스를 위한 기능및 사용자 인터페이스를 형성하기 위한 방법 및 장치 | |
CN111913889A (zh) | 一种测试系统搭建方法及测试系统 | |
Liu | Platform-independent and tool-neutral test descriptions for automated software testing | |
CA2341114C (en) | Data definition language | |
CN115113850A (zh) | 一种跨平台应用的构建、运行方法、服务器、终端和系统 | |
GB2400211A (en) | A method of creating software that is portable across different operating systems | |
US20060205399A1 (en) | Method for simulating communication functions of a mobile phone according to a markup language and related device thereof | |
Jaber et al. | A high-level modeling language for the efficient design, implementation, and testing of Android applications | |
Fertitta et al. | The state of interchangeability in ATE | |
Harty | A Practical Guide to Testing Wireless Smartphone Applications | |
Adelmann et al. | SPARK rapid prototyping environment–mobile phone development made easy | |
Kelly et al. | Domain-specific modelling for cross-platform product families | |
Oliver | First Steps in Retrofitting a Versatile Software Testing Infrastructure to Android | |
Botella et al. | Achieving SCA Conformance Testing with Model-Based Testing | |
Hammond | Specification and design of database client application for use on Java-based Symbian smartphones and PDA devices | |
EP4004659A1 (en) | Abstraction of plc communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20070517 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20070802 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071101 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090309 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090319 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090319 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20101124 |