(57)【要約】      （修正有）【課題】モデル駆動開発アプローチを使用して、時間とコストのかかるマルチプラットフォームのモバイルベースアプリケーションを開発する方法を提供する。【解決手段】システム１００は、ユーザから複数の要件を収集するためのメタモデリングモジュールを含む。収集された要件に基づいて、ユーザインターフェイスモデラは、モバイルベースアプリケーションのための少なくとも１つのスクリーンを設計する。そして、スクリーンフローモデラは、スクリーン間のナビゲーションを設計する。ユーザによって選択されたテクノロジプラットフォームに基づいて、システムは、コード生成器モジュールを使用して、その特定のテクノロジプラットフォームのためのコードを生成する。そして最終的に、生成されたコードは、多重テクノロジプラットフォームのために、モバイルアプリケーションバンドリングモジュールを使用してバンドリングされる。【選択図】図２
2017199359.tif 000002
【特許請求の範囲】
【請求項１】
モバイルベースアプリケーションを開発するためのシステム（１００）であって、
前記モバイルベースアプリケーションのための複数の要件を収集するための、メタモデリングモジュール（１１０）；
前記モバイルベースアプリケーションの複数のスクリーンを設計するためのユーザインターフェイスモデラ（１１２）であって、前記複数のスクリーンは、前記複数の要件に基づいて設計されている、前記ユーザインターフェイスモデラ（１１２）；
前記モバイルベースアプリケーションの前記複数のスクリーン間のナビゲーションを設計するための、スクリーンフローモデラ（１１４）；
テクノロジプラットフォームを選択するための、入力デバイス（１０８）；
前記選択されたテクノロジプラットフォームに応じてコードを生成する、コード生成器モジュール（１１６）；および
前記コードをバンドリングすることによって、前記モバイルベースアプリケーションを開発するための、モバイルアプリケーションバンドリングモジュール（１１８）
を含む、前記システム。
【請求項２】
アプリケーションが、ウェブベースプラットフォームまたはモバイルベースプラットフォームの一方で使用されるように構成されている、請求項１に記載のシステム。
【請求項３】
バンドリングの結果として、クロスプラットフォームの実装可能なモバイルアプリケーションが生成される、請求項１に記載のシステム。
【請求項４】
モバイルアプリケーションバンドリングモジュール（１１８）が、応答性のあるスクリーンレイアウトを有するモバイルベースアプリケーションを開発するようにさらに構成されている、請求項１に記載のシステム。
【請求項５】
プラットフォームに独立の方法で複数のコードを記憶するための、開発レポジトリ（１２４）をさらに含む、請求項１に記載のシステム。
【請求項６】
ユーザインターフェイスのためのデータを供給するための、バックエンドスタブの組を作成するためのコンポーネントモデラ（１２２）をさらに含む、請求項１に記載のシステム。
【請求項７】
バックエンドスタブで複数のスクリーンをマッピングするためのサービスアダプタ（１２０）をさらに含む、請求項１に記載のシステム。
【請求項８】
複数のモバイルテクノロジのためのコードを生成するようにさらに構成されている、請求項１に記載のシステム。
【請求項９】
コード生成器モジュール（１１６）によって生成されたコードワードが、所定のコード慣行に適合する、請求項１に記載のシステム。
【請求項１０】
モバイルベースアプリケーションを開発する方法であって、
メタモデリングモジュール（１１０）を使用して、前記モバイルベースアプリケーションを開発するための、複数の要件を収集するステップ；
ユーザインターフェイスモデラ（１１２）を使用して、前記モバイルベースアプリケーションの少なくとも１つのスクリーンを設計するステップであって、前記スクリーンは前記複数の要件に基づいて設計されるステップ；
スクリーンフローモデラ（１１４）を使用して、前記モバイルベースアプリケーションのスクリーン間のナビゲーションを設計するステップ；
入力デバイス（１０８）を使用して、テクノロジプラットフォームを選択するステップ；
コード生成器モジュール（１１６）を使用して、前記選択されたテクノロジプラットフォームに依存するコードを生成するステップ；および
モバイルアプリケーションバンドリングモジュール（１１８）を使用して、前記コードをバンドリングすることによって、前記モバイルベースアプリケーションを開発するステップ
を含む、前記方法。
【請求項１１】
モバイルベースアプリケーションを開発するためのコンピュータプログラムをその上に具現化している、非一時的コンピュータ可読媒体であって、前記方法は、
メタモデリングモジュール（１１０）を使用して、前記モバイルベースアプリケーションを開発するための、複数の要件を収集するステップ；
ユーザインターフェイスモデラ（１１２）を使用して、前記モバイルベースアプリケーションの少なくとも１つのスクリーンを設計するステップであって、前記スクリーンは前記複数の要件に基づいて設計されるステップ；
スクリーンフローモデラ（１１４）を使用して、前記モバイルベースアプリケーションのスクリーン間のナビゲーションを設計するステップ；
入力デバイス（１０８）を使用して、テクノロジプラットフォームを選択するステップ；
コード生成器モジュール（１１６）を使用して、前記選択されたテクノロジプラットフォームに依存するコードを生成するステップ；および
モバイルアプリケーションバンドリングモジュール（１１８）を使用して、前記コードをバンドリングすることによって、前記モバイルベースアプリケーションを開発するステップ
を含む、前記非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、一般的には、モバイルベースアプリケーション開発の分野に関する。より具体的には、本出願は、モデル駆動開発アプローチを使用する、モバイルベースアプリケーションを開発するための方法およびシステムを提供する。
【背景技術】
【０００２】
関係出願の相互参照と優先権
本出願は、２０１６年３月１１日出願のインド特許出願第２０１６２１００８６１７号の優先権を主張するものであり、その全開示の全文が参照により本明細書に組み込まれている。
【０００３】
モバイルデバイスは、人が必要とする最も不可欠なコンピューティングデバイスとなりつつある。スマートフォンの登場によって、携帯電話は、それが実行するできるアプリケーションおよびそのコンピューティングパワーにおいて、いかなる通常のデスクトップコンピュータとも同程度に強力になっている。人々は、今日では、通話やメッセージの送信だけでなく、インターネットをブラウズしたり、ゲームで遊んだり、音楽を聞いたり、他の様々なアプリケーションにも携帯電話を使用している。これらのアプリケーションは、通常、市場に存在しており、ユーザは、アプリケーションを選択して、それを携帯電話またはコンピュータに実装することができる。毎日、多数のモバイルベースアプリケーションが開発されて、市場に多く存在している。
【０００４】
しかし、これについての１つの問題は、いかなるタイプのコンピュータアプリケーションを開発するのも、それがデスクトップコンピュータ用であってもモバイルデバイス用であっても、極めて困難であることである。人が単純なアプリケーション用の相応の量のコードを作成できる前に、豊富なスキルとともに、そのフレームワークの使用方法について精通することが必要である。ＡＰＩの使い方を理解し、実際のデバイス上でアプリケーションをコンパイルし、実行して、展開することはもちろんのこと、プログラミング環境を設定することさえも、複雑なタスクである。デスクトップアプリケーションと比較して、モバイルデバイス用のアプリケーションの開発を困難にする他のこととしては、デバイス制限（例えば、スクリーンサイズ、コンピューティングパワー、パワー消費）、モバイルデバイス用の異なるオペレーティングシステム、異なるデータ表現、および追加のデバイス能力（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉｆｉ、ＧＰＳ、Ｃａｍｅｒａｅｎａｂｌｅｄ）などの要因があり、これらは、すべてのデバイスに対して標準ではなく、したがって、異なるモバイルデバイス上で実行することのできる、一様なアプリケーションを開発するときに、考慮しなくてはならない。ウェブアプリケーションを開発するために収集されたアーチファクトは再使用が不可能であり、したがって、同じ要件を収集するために、モバイルアプリケーションを開発するためのフレームワーク中に、多大な労力を投入しなくてはならない。モバイルテクノロジプラットフォームにおいては、これらのテクノロジに対する定期的な更新が行われる。そのために、ターゲットプラットフォームにおける更新に応じて、ツールまたはフレームワークを変更しなくてはならず、したがって、ツール／フレームワークにおいてそのような変更を維持することは困難である。そのようなツール／フレームワークは、コーディング標準に反した、大きくなりすぎた、または非効率なコードを発生することがある。また、そのようなツール／フレームワークは、モバイルアプリケーション開発者がそのようなツールプラットフォームに精通してから、煩わしい、実質的な学習曲線を必要とする。
【０００５】
さらに、モバイルアプリケーションのほとんどは、異なるプラットフォーム上でサポートされなくてはならない。多重プラットフォームをサポートするための開発プロセスは、より多くの労力と時間を必要とする。増加する要件のために、異なるプラットフォームにわたって、同一のモバイルアプリケーションに対する管理が変化する。さらに、市場は、アプリ（ａｐｐ）供給を単一プラットフォームに制約する戦略を許容しない。したがって、マルチプラットフォームアプリ開発は、非常に時間とコストのかかる必須事項である。それには、すべての注目すべきターゲットプラットフォーム毎に、多かれ少なかれ無からアプリを構築しなければならないという要求がある。
【０００６】
いくつかのプラットフォームに対してアプリケーションを開発しなくてはならないとき、様々なクロスプラットフォームアプローチが使用される。クロスプラットフォームアプリ開発のための人気のあるフレームワークは、現在は、ウェブテクノロジに基づくか、またはインタプリテーション環境（interpreting environment）におけるネイティブコンポーネント（native component）を使用する。ウェブベースアプローチは、多かれ少なかれ、ウェブサイトのような見かけと挙動を有するアプリをもたらす。それらは、成熟しているが、ネイティブのｌｏｏｋ＆ｆｅｅｌを欠いている。２番目のアプローチは、（ほとんど）ネイティブのｌｏｏｋ＆ｆｅｅｌを達成するが、すべてのそのようなアプローチは、抽象化レベル、性能、機能完成度（feature completeness）、またはバグについて、重大な欠点がある。
【０００７】
この分野において使用されている、最近のアプローチの１つは、モデル駆動開発（ＭＤＤ：Model-driven development）アプローチである。ＭＤＤは、最初に、システムのプラットフォーム独立型モデルを作成し、次いでターゲットプラットフォームに対してそのモデルに基づいて特定のコードを生成することによって、複雑なソフトウェアシステムを作成するのに使用されるアプローチである。ＭＤＤは、いくつかのプラットフォーム上で実行されるアプリケーションを開発する際のタスクの冗長性の問題に対処するので、モバイルプラットフォーム用のアプリケーション開発の開発プロセスの容易化を大いに助けることになる。
【０００８】
ソフトウェア開発を容易化するためにＭＤＤを応用する、いくつかの他の研究は、ＭＤＤをモバイルサービスの作成に応用する、Ｓｉｍｐｌｅ  Ｍｏｂｉｌｅ  Ｓｅｒｖｉｃｅプロジェクト、ＭＤＤのアプリケーションを介して普及システムを作成することをねらう、ＰｅｒｖＭＬ、対話型マルチメディアアプリケーション用に設計された、Ｍｕｌｔｉｍｅｄｉａ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ（ＭＭＬ）があり、その他の研究は、プラットフォーム独立ユーザインターフェイスを作成するためのモデリング概念を適用する。
【０００９】
どの方法も、モデル駆動開発アプローチを使用する、モバイルベースアプリケーションの開発のために使用するのに十分に確信を与えるものではなかった。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本方法、システム、およびハードウェア実施可能性を記述する前に、本開示においては明示的に示されていない、本発明の複数の可能な実施態様があり得るために、本発明は、記載された特定のシステムおよび方法に限定されるものではないことを理解されたい。また、本明細書において使用される用語は、特定の版または実施態様だけを記述する目的のものであって、本発明の範囲を限定することを意図するものではなく、本発明は添付の特許請求の範囲のみによって限定されるものであることを理解されたい。
【課題を解決するための手段】
【００１１】
本開示は、モバイルベースアプリケーションを開発するためのシステムを提供する。このシステムは、メタモデリングモジュール、ユーザインターフェイスモデラ、スクリーンフローモデラ、入力デバイス、コード生成器モジュール、およびモバイルアプリケーションバンドリング（bundling）モジュールを含む。メタモデリングモジュールは、モバイルベースアプリケーションのための複数の要件を収集する。ユーザインターフェイスは、モバイルベースアプリケーションの複数のスクリーンを設計する。複数のスクリーンは、複数の要件に基づいて設計される。スクリーンフローモデラは、モバイルベースアプリケーションの複数のスクリーン間のナビゲーションを設計する。入力デバイスは、テクノロジプラットフォームを選択する。コード生成器モジュールは、選択されたテクノロジプラットフォームに応じてコードを生成する。モバイルアプリケーションバンドリングモジュールは、コードをバンドリングすることによって、モバイルベースアプリケーションを開発する。
【００１２】
本開示はまた、モバイルベースアプリケーションを開発する方法を提供する。最初に、メタモデリングモジュールを使用して、モバイルベースアプリケーションを開発するために、複数の要件が収集される。次のステップにおいて、ユーザインターフェイスモデラを使用して、モバイルベースアプリケーションの少なくとも１つのスクリーンが設計される。スクリーンは、複数の要件に基づいて設計される。さらに、スクリーンフローモデラを使用して、モバイルベースアプリケーションのスクリーン間のナビゲーションが設計される。次のステップにおいて、入力デバイスを使用して、テクノロジプラットフォームが選択される。その後に、コード生成器モジュールを使用して、選択されたテクノロジプラットフォームに依存するコードが生成される。最終的に、モバイルアプリケーションバンドリングモジュールを使用して、コードをバンドリングすることによって、モバイルベースアプリケーションが開発される。
【００１３】
別の実施態様において、モバイルベースアプリケーションを開発するためのコンピュータプログラムをその上に具現化している、非一時的コンピュータ可読媒体が提供される。最初に、メタモデリングモジュールを使用して、モバイルベースアプリケーションを開発するために、複数の要件が収集される。次のステップにおいて、ユーザインターフェイスモデラを使用して、モバイルベースアプリケーションの少なくとも１つのスクリーンが設計される。スクリーンは、複数の要件に基づいて設計される。さらに、スクリーンフローモデラを使用して、モバイルベースアプリケーションのスクリーン間のナビゲーションが設計される。次のステップにおいて、入力デバイスを使用して、テクノロジプラットフォームが選択される。その後に、コード生成器モジュールを使用して、選択されたテクノロジプラットフォームに依存するコードが生成される。最終的に、モバイルアプリケーションバンドリングモジュールを使用して、コードをバンドリングすることによって、モバイルベースアプリケーションが開発される。
【００１４】
前述の要約に加えて、以下の好ましい実施態様の詳細な説明は、添付の図面と合わせて読まれると、さらに良く理解される。本発明を説明する目的で、図面には、本発明の例示的な構築を示してあるが、本発明は、開示された特定の方法およびシステムに限定されるものではない。
【図面の簡単な説明】
【００１５】
【図１】図１は、本開示の一実施態様による、モデル駆動開発を使用する、モバイルベースアプリケーションを開発するためのシステムのネットワーク実装を示す図である。
【図２】図２は、本開示の一実施態様による、モデル駆動開発を使用する、モバイルベースアプリケーションを開発するためのシステムのブロック図である。
【図３】図３は、本開示の一実施態様による、モデル駆動開発を使用する、モバイルベースアプリケーションを開発するためのシステムの概略表現を示す図である。
【図４】図４は、本開示の一実施態様による、モデル駆動開発を使用する、モバイルベースアプリケーションを開発するための方法を説明するフローチャートである。
【発明を実施するための形態】
【００１６】
次に、本発明のすべての特徴を示す、そのいくつかの実施態様について詳細に考察する。
【００１７】
「備える（comprising）」、「有する（having）」、「包含する（containing）」、および「含む（including）」、ならびにそれらの他の形態は、意味において等価であるとともに、これらの語のいずれか１つに続く項目（１つまたは複数）がそのような項目（１つまたは複数）の網羅的なリストであることを意味しない、またはリストされた項目（１つまたは複数）だけに限定されることを意味しないことにおいて、オープンエンドであることを意図するものである。
【００１８】
また、本明細書および添付の特許請求の範囲において使用されるときには、単数形「ａ」、「ａｎ」および「ｔｈｅ」は、文脈が明確にそうでないことを言明しない限り、複数を参照することを含むことを注記しなくてはならない。本明細書において記載されたものと類似の、または等価な、任意のシステムおよび方法を、本発明の実施態様の実施または試験に使用することができるが、次に、好ましいシステムおよび方法について記述する。
【００１９】
開示された実施態様は、本発明の例示にすぎず、本発明は様々な形態で具現化してもよい。
【００２０】
図に示された要素は、以下にさらに詳細に説明するように、相互動作する。しかしながら、詳細な説明を記載する前に、以下の考察のすべては、記述されている特定の実現形態にかかわらず、限定ではなく、本質的に例示であることを注記する。例えば、この実現形態の選択された観点、特徴、または構成要素は、メモリに記憶されているものと記述されているが、消耗警報（attrition warning）システムおよび方法と整合性のある、システムおよび方法の全部または一部を、その他の機械可読媒体に記憶するか、それらに分散させるか、またはそれらから読み出してもよい。
【００２１】
上記の技法は、次のもの：プロセッサ、プロセッサ（例えば、揮発性および不揮発性メモリおよび／または記憶要素を含む）によって読出し可能および／または書込み可能な記憶媒体、複数の入力ユニット、および複数の出力デバイス、のいずれかの任意の組合せを含む、プログラマブルコンピュータ上で実行される（またはそれで実行可能な）、１つまたは２つ以上のコンピュータプログラムに実装してもよい。プログラムコードを、複数の入力ユニットのいずれかを使用して、入力された入力に適用して、記述された機能を実行し、複数の出力デバイスのいずれかに表示された出力を生成してもよい。
【００２２】
以下の本特許請求の範囲に記載の範囲内の各コンピュータプログラムは、アセンブリ言語、マシン言語、高レベル手続き型プログラミング言語、またはオブジェクト指向プログラミング言語などの、任意のプログラミング言語に実装してもよい。プログラミング言語は、例えば、コンパイラ型またはインタープリタ型のプログラミング言語としてもよい。それぞれのそのようなコンピュータプログラムは、コンピュータプロセッサによって実行するために機械可読記憶装置に実体的に具現化された、コンピュータプログラムプロダクトに実装してもよい。
【００２３】
本発明の方法ステップは、コンピュータ可読媒体上に実体的に具現化されたプログラムを実行する１つまたは２つ以上のコンピュータプロセッサによって実施して、入力に作用して出力を生成することによって、本発明の機能を実施してもよい。好適なプロセッサとしては、例示として、汎用および専用のマイクロプロセッサが挙げられる。一般的に、プロセッサは、（読取り専用メモリおよび／またはランダムアスクセスメモリなどの）メモリから命令およびデータを受け取り（読み込み）、メモリに命令およびデータを書き込む（記憶する）。コンピュータプログラム命令およびデータを実体的に具現化するのに適する記憶デバイスとしては、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイスを含む、半導体メモリデバイス；内部ハードディスクおよびリムーバブルディスクなどの、磁気ディスク；磁気光学ディスク；およびＣＤ‐ＲＯＭなどの、すべての形態の不揮発性メモリが挙げられる。前述のいずれも、特殊設計ＡＳＩＣ（特定用途向け集積回路）またはＦＰＧＡ（フィールドプログラマブルゲートアレイ）によって補完されるか、またはそれに組み込まれてもよい。また、コンピュータは、一般的に、内部ディスク（図示せず）またはリムーバブルディスクなどの、非一時コンピュータ可読記憶媒体からプログラムおよびデータを受け取り（読み取り）、プログラムおよびデータをそれに書き込む（記憶する）ことができる。
【００２４】
モバイル駆動開発（ＭＤＤ）方法を使用して、モバイルベースアプリケーションを開発するためのシステム１００のネットワーク実装が、本開示の実施態様に準拠して、図１および２に示されている。システム１００は、プラットフォームに関係なくモバイルアプリケーションを構築するのに使用することのできる、フレームワークを提供する。このシステムは、モバイルベースアプリケーションに対する要件を収集するのを支援する、モデル駆動開発を使用する。このアプローチにおいて開発されたモデルは、それらの要件に応じて、構成可能で、スケーラブルである。システム１００は、必要とされるテクノロジプラットフォームに従って構成することのできる、コード生成器フレームワークを使用するモデルにおけるいかなる変更もなく、異なるテクノロジプラットフォームに対するモバイルアプリケーションを生成するのに使用することができる。本開示の別の実施態様において、モバイルベースアプリケーションはまた、ウェブテクノロジ上で使用することもできる。
【００２５】
本開示は、システム１００はサーバ上に実装されることを考慮して説明されるが、システム１００は、ラップトップコンピュータ、デスクトップコンピュータ、ノートブック、ワークステーション、メインフレームコンピュータ、サーバ、ネットワークサーバ、図１に示されるような、クラウドベースコンピューティング環境などの、様々なコンピューティングシステムに実装してもよいことが理解されるであろう。システム１００は、多数のユーザが、集合的に以下ではユーザ１０２と呼ぶ、１つまたは２つ以上のユーザデバイス１０２−１、１０２−２、..．、１０２−Ｎ、またはユーザデバイス１０２上に常駐するアプリケーション、を介してアクセスすることができることが理解されるであろう。一実現形態において、システム１００は、ユーザがリモートに位置するアプリケーションを実行できるように構成された、個々のコンピューティングシステムを動作させてもよい、クラウドベースコンピューティング環境を含んでもよい。ユーザデバイス１０２の例としては、それに限定はされないが、携帯用コンピュータ、パーソナルディジタルアシスタンツ、ハンドヘルドデバイス、およびワークステーションが挙げられる。ユーザデバイス１０２同士は、ネットワークを介してシステム１００に通信可能に結合される。
【００２６】
図２を参照すると、本開示の実施態様によれば、システム１００は、プロセッサ１０４、メモリ１０６、およびユーザインターフェイス１０８または入力デバイス１１０を含む。プロセッサ１０４は、様々な機能を実行するための、複数のモジュールをさらに含む。複数のモジュールは、メモリ１０６に記憶されたアルゴリズムにアクセスして、プログラムを実行する。複数のモジュールは、さらに、メタモデリングモジュール１１０、ユーザインターフェイスモデラ１１２、スクリーンフローモデラ１１４、コード生成器モジュール１１６およびモバイルアプリケーションバンドリングモジュール１１８などのモジュールをさらに含む。
【００２７】
本開示の一実施態様によれば、ユーザインターフェイス１０８は、多様なソフトウェアインターフェイスおよびハードウェアインターフェイス、例えば、ウェブインターフェイス、グラフィカルユーザインターフェイス、その他を備えてもよい。Ｉ／Ｏインターフェイスユーザは、システム１００が、直接的に、またはクライアントデバイス１０２を介して、ユーザと対話することを可能にしてもよい。さらに、ユーザインターフェイス１０８は、システム１００が、ウェブサーバや外部データサーバ（図示せず）などの、その他のコンピューティングデバイスと通信することを可能にしてもよい。ユーザインターフェイス１０８は、例えば、ＬＡＮ、ケーブルなどの有線ネットワーク、およびＷＬＡＮ、セルラー、またはサテライトなどのワイヤレスネットワークを含む、多種多様なネットワークおよびプロトコルタイプ内での多重通信を容易化することができる。ユーザインターフェイス１０８は、障害を有する人々によって使用される、ある数の支援テクノロジデイバスまたは適合製品を相互に、または別のサーバに接続するための、１つまたは２つ以上のポートを備えてもよい。
【００２８】
本開示の一実施態様によれば、モバイルベースアプリケーションのための複数の要件が、メタモデリングモジュール１１０を使用して収集される。一例において、複数の要件は、それが、テクノロジニーズの代わりにユーザのビジネスニーズを表わすように、選択される。ビジネスニーズを提供することによって、その他のツールまたはフレームワークと比較して、適用することが容易となる。なお、モバイルベースアプリケーションのための複数の要件は、同一のモデルを、ウェブベースアプリケーションに加えて、モバイルベースアプリケーションに使用できるように選択されることを理解すべきである。別の例においては、開発者およびマネージャとの追加のインタビューを行って、本開示の文脈におけるアプリケーションに典型的に要求される、複数の要件を列挙することができる。トップダウンアプローチにおいて、このリストから、最も頻繁に見られる要件を優先順位付けすることによって、ＭＤＤの特徴を取得することができる。そのようなときにだけ、これらの特徴は、今日のモバイルデバイスによって提供されるものと調和し、このアプローチの実用性を保証する。
【００２９】
本開示の一実施態様によれば、ユーザインターフェイスモデラ１１２は、モバイルベースアプリケーションの複数のスクリーンを設計する。複数のスクリーンが、収集された複数の要件に基づいて設計される。このことによって、ユーザに対して、制御器（controls）をモデル化して、それらをビジネス要件に応じて構成する能力が与えられる。ユーザインターフェイスモデラ１１２は、スクリーン、スクリーンフロー、イベントなどの様々な構造を設計する。
【００３０】
本開示の一実施態様によれば、スクリーンフローモデラ１１４は、モバイルベースアプリケーションのスクリーン間のナビゲーションを設計する。複数のスクリーンのナビゲーションもまた、収集された複数の要件に応じて行われる。一実施態様において、複数のスクリーンは、図３に示すように、サービスアダプタ１２０またはサービスマッパ（service mapper）１２０を使用して、１組のバックエンドスタブ（backend stub）でマッピングすることができる。サービスアダプタ１２０は、さらなる使用のためにバックエンドデータを自動的に検索する。サービスアダプタ１２０は、ユーザインターフェイスモデラ１１２とコンポーネントモデラとから、入力を受け取る。コンポーネントモデラ１２０は、モバイルのユーザインターフェイスのためのデータを供給するためのバックエンドスタブの組を作成するように構成されている。
【００３１】
本開示の一実施態様によれば、テクノロジプラットフォームが、ユーザインターフェイス１０８を使用して選択される。一例において、テクノロジプラットフォームは、Ａｎｄｒｏｉｄ(登録商標)、ｉＯＳ、Ｗｉｎｄｏｗｓ(登録商標)、Ｓｙｍｂｉａｎ(登録商標)、Ｂｌａｃｋｂｅｒｒｙプラットフォームなどの１つから選択することができる。さらに、これらの例としては、Ｓｙｍｂｉａｎ(登録商標)オペレーティングシステムＣ＋＋ＡＰＩ２、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ社のＪａｖａ（登録商標）プラットフォームマイクロエディション（Ｊａｖａ  ＭＥ）ＡＰＩ３、Ｏｐｅｎ  Ｈａｎｄｓｅｔ  ＡｌｌｉａｎｃｅのＡｎｄｒｏｉｄ(登録商標)  ＡＰＩ４、およびＡｐｐｌｅのｉＰｈｏｎｅ(登録商標)  ＡＰＩがある。
【００３２】
本開示の一実施態様によれば、コード生成器モジュール１１６は、選択されたテクノロジプラットフォームに応じて、コードを生成する。このシステムは、モデル駆動開発に基づいているので、コード生成器モジュールによって生成されたコードは、コードがコード慣行に適合するように、生成されたコードにおける適正なアーキテクチャと標準を保証する。コード生成器モジュール１１６の役割は、前処理されたモデルからアプリケーションのソースコードを作成することである。
【００３３】
本開示の一実施態様によれば、システム１００はまた、開発レポジトリ１２４を含む。開発レポジトリ１２４は、複数のソースコードを記憶するための１種のデータベースである。複数のソースコードは、プラットフォームに独立な方法で記憶される。開発レポジトリ１２４は、ユーザが、バックエンドスタブまたは構造の組を作成するのを助ける。一実施態様においては、バックエンドスタブの組は、コンポーネントモデラ１２２によって作成することができる。開発レポジトリ１２４は、複数の要件に基づいて、バックエンドスタブの組の完全な実装をもたらすように構成することができる。なお、開発レポジトリ１２４は、バックエンドデータベースと接続することもできることに留意すべきである。
【００３４】
本開示の一実施態様によれば、次いで、生成されたコードが、モバイルベースアプリケーションを開発するために、モバイルアプリケーションバンドリングモジュール１１８を使用してバンドリングされる。コードのバンドリングの結果として、クロスプラットフォームの実装可能なモバイルアプリケーションが生成される。このように設計されたモデルは、いかなるテクノロジプラットフォームからも独立しており、したがって、システム１００のプラットフォームリターゲット能力（platform retarget ability）を保証する。生成されたコードは、修正なしにネイティブアプリケーションと互換性がなくてはならず、そのようなパッケージされたアプリケーションは、それぞれのモバイルプラットフォームに直接的に実装可能であり、かつ実行可能でなくてはならない。このことは、ＭＤＤ言語で書かれた宣言モデルを、ターゲットＳＤＫによる、ソースコードに変換することを必要とする。なお、モバイルアプリケーションバンドリングモジュール１１８は、応答性のあるスクリーンレイアウトを有するモバイルベースアプリケーションを開発するように、さらに構成されることに留意すべきである。
【００３５】
動作において、モバイルベースアプリケーションを開発するのに伴うステップを示すフローチャート２００が、本開示の一実施態様に従って、図４に示されている。最初にステップ２０２において、モバイルベースアプリケーションを開発するための複数の要件が、メタモデリングモジュール１１０を使用して収集される。複数の要件は、ユーザのビジネス要件について収集される。次のステップ２０４において、モバイルベースアプリケーションの少なくとも１つのスクリーンが、ユーザインターフェイスモデラ１１２を使用して設計される。スクリーンは、先のステップにおいて収集された複数の要件に基づいて設計される。ステップ２０６において、モバイルベースアプリケーションのスクリーン間のナビゲーションが、スクリーンフローモデラ１１４を使用して設計される。ステップ２０８において、テクノロジプラットフォームが、入力デバイス１０８またはユーザインターフェイス１０８を使用して選択される。テクノロジプラットフォームは、Ｓｙｍｂｉａｎ(登録商標)、ｉＯＳ、Ｗｉｎｄｏｗｓ(登録商標)、Ａｎｄｒｏｉｄ(登録商標)、またはＢｌａｃｋｂｅｒｒｙプラットフォームの１つとすることができる。ステップ２１０において、コード生成器モジュール１１６を使用して、選択されたテクノロジプラットフォームに応じてコードが生成される。最終的にステップ２１２において、モバイルベースアプリケーションが、モバイルアプリケーションバンドリングモジュール１１８を使用して、コードをバンドリングすることによって開発される。
【００３６】
本開示の様々な実施態様によれば、システムはまた、以下のように様々な利点をもたらす：システムは、モバイルベースアプリケーションを生成するのに、技術的熟練に依存しない。さらに、ＭＤＤアプローチの結果として、必要とされる全体コストが減少する。さらに、従来技術方法と比較して、コードの改善もされる。それに加えて、モバイルベースアプリケーションは、既存の方法と比較して、より少ないターンアラウンド時間で開発が可能である。
【００３７】
前述の観点から、本開示は、モデル駆動開発アプローチを用いてモバイルベースアプリケーションを開発するための方法およびシステムを提供することが理解されるであろう。先の記述は、様々な実施態様を参照して提示された。それでもなお、前述のことは、本発明の例示的実施態様にのみに関係すること、および多数の変更を、以下の特許請求の範囲に定義されるような、本発明の趣旨と範囲から逸脱することなく、それに加えてもよいことを理解すべきである。
【図１】
2017199359.tif 000003
【図２】
2017199359.tif 000004
【図３】
2017199359.tif 000005
【図４】
2017199359.tif 000006
【外国語明細書】
2017199359000001.pdf