JP2017199359A - モデル駆動開発を使用するモバイルベースアプリケーションを開発するシステムおよび方法 - Google Patents

モデル駆動開発を使用するモバイルベースアプリケーションを開発するシステムおよび方法 Download PDF

Info

Publication number
JP2017199359A
JP2017199359A JP2017046670A JP2017046670A JP2017199359A JP 2017199359 A JP2017199359 A JP 2017199359A JP 2017046670 A JP2017046670 A JP 2017046670A JP 2017046670 A JP2017046670 A JP 2017046670A JP 2017199359 A JP2017199359 A JP 2017199359A
Authority
JP
Japan
Prior art keywords
mobile
application
based application
code
module
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.)
Pending
Application number
JP2017046670A
Other languages
English (en)
Inventor
ガネサン,ナタラジャン
ganesan Natarajan
エム,スプリヤ
M Supriya
シーラム,スバラオ
Siram Subbarao
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.)
Tata Consultancy Services Ltd
Original Assignee
Tata Consultancy Services Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tata Consultancy Services Ltd filed Critical Tata Consultancy Services Ltd
Publication of JP2017199359A publication Critical patent/JP2017199359A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Abstract

【課題】モデル駆動開発アプローチを使用して、時間とコストのかかるマルチプラットフォームのモバイルベースアプリケーションを開発する方法を提供する。【解決手段】システム100は、ユーザから複数の要件を収集するためのメタモデリングモジュールを含む。収集された要件に基づいて、ユーザインターフェイスモデラは、モバイルベースアプリケーションのための少なくとも1つのスクリーンを設計する。そして、スクリーンフローモデラは、スクリーン間のナビゲーションを設計する。ユーザによって選択されたテクノロジプラットフォームに基づいて、システムは、コード生成器モジュールを使用して、その特定のテクノロジプラットフォームのためのコードを生成する。そして最終的に、生成されたコードは、多重テクノロジプラットフォームのために、モバイルアプリケーションバンドリングモジュールを使用してバンドリングされる。【選択図】図2

Description

本出願は、一般的には、モバイルベースアプリケーション開発の分野に関する。より具体的には、本出願は、モデル駆動開発アプローチを使用する、モバイルベースアプリケーションを開発するための方法およびシステムを提供する。
関係出願の相互参照と優先権
本出願は、2016年3月11日出願のインド特許出願第201621008617号の優先権を主張するものであり、その全開示の全文が参照により本明細書に組み込まれている。
モバイルデバイスは、人が必要とする最も不可欠なコンピューティングデバイスとなりつつある。スマートフォンの登場によって、携帯電話は、それが実行するできるアプリケーションおよびそのコンピューティングパワーにおいて、いかなる通常のデスクトップコンピュータとも同程度に強力になっている。人々は、今日では、通話やメッセージの送信だけでなく、インターネットをブラウズしたり、ゲームで遊んだり、音楽を聞いたり、他の様々なアプリケーションにも携帯電話を使用している。これらのアプリケーションは、通常、市場に存在しており、ユーザは、アプリケーションを選択して、それを携帯電話またはコンピュータに実装することができる。毎日、多数のモバイルベースアプリケーションが開発されて、市場に多く存在している。
しかし、これについての1つの問題は、いかなるタイプのコンピュータアプリケーションを開発するのも、それがデスクトップコンピュータ用であってもモバイルデバイス用であっても、極めて困難であることである。人が単純なアプリケーション用の相応の量のコードを作成できる前に、豊富なスキルとともに、そのフレームワークの使用方法について精通することが必要である。APIの使い方を理解し、実際のデバイス上でアプリケーションをコンパイルし、実行して、展開することはもちろんのこと、プログラミング環境を設定することさえも、複雑なタスクである。デスクトップアプリケーションと比較して、モバイルデバイス用のアプリケーションの開発を困難にする他のこととしては、デバイス制限(例えば、スクリーンサイズ、コンピューティングパワー、パワー消費)、モバイルデバイス用の異なるオペレーティングシステム、異なるデータ表現、および追加のデバイス能力(例えば、Bluetooth(登録商標)、Wifi、GPS、Cameraenabled)などの要因があり、これらは、すべてのデバイスに対して標準ではなく、したがって、異なるモバイルデバイス上で実行することのできる、一様なアプリケーションを開発するときに、考慮しなくてはならない。ウェブアプリケーションを開発するために収集されたアーチファクトは再使用が不可能であり、したがって、同じ要件を収集するために、モバイルアプリケーションを開発するためのフレームワーク中に、多大な労力を投入しなくてはならない。モバイルテクノロジプラットフォームにおいては、これらのテクノロジに対する定期的な更新が行われる。そのために、ターゲットプラットフォームにおける更新に応じて、ツールまたはフレームワークを変更しなくてはならず、したがって、ツール/フレームワークにおいてそのような変更を維持することは困難である。そのようなツール/フレームワークは、コーディング標準に反した、大きくなりすぎた、または非効率なコードを発生することがある。また、そのようなツール/フレームワークは、モバイルアプリケーション開発者がそのようなツールプラットフォームに精通してから、煩わしい、実質的な学習曲線を必要とする。
さらに、モバイルアプリケーションのほとんどは、異なるプラットフォーム上でサポートされなくてはならない。多重プラットフォームをサポートするための開発プロセスは、より多くの労力と時間を必要とする。増加する要件のために、異なるプラットフォームにわたって、同一のモバイルアプリケーションに対する管理が変化する。さらに、市場は、アプリ(app)供給を単一プラットフォームに制約する戦略を許容しない。したがって、マルチプラットフォームアプリ開発は、非常に時間とコストのかかる必須事項である。それには、すべての注目すべきターゲットプラットフォーム毎に、多かれ少なかれ無からアプリを構築しなければならないという要求がある。
いくつかのプラットフォームに対してアプリケーションを開発しなくてはならないとき、様々なクロスプラットフォームアプローチが使用される。クロスプラットフォームアプリ開発のための人気のあるフレームワークは、現在は、ウェブテクノロジに基づくか、またはインタプリテーション環境(interpreting environment)におけるネイティブコンポーネント(native component)を使用する。ウェブベースアプローチは、多かれ少なかれ、ウェブサイトのような見かけと挙動を有するアプリをもたらす。それらは、成熟しているが、ネイティブのlook&feelを欠いている。2番目のアプローチは、(ほとんど)ネイティブのlook&feelを達成するが、すべてのそのようなアプローチは、抽象化レベル、性能、機能完成度(feature completeness)、またはバグについて、重大な欠点がある。
この分野において使用されている、最近のアプローチの1つは、モデル駆動開発(MDD:Model-driven development)アプローチである。MDDは、最初に、システムのプラットフォーム独立型モデルを作成し、次いでターゲットプラットフォームに対してそのモデルに基づいて特定のコードを生成することによって、複雑なソフトウェアシステムを作成するのに使用されるアプローチである。MDDは、いくつかのプラットフォーム上で実行されるアプリケーションを開発する際のタスクの冗長性の問題に対処するので、モバイルプラットフォーム用のアプリケーション開発の開発プロセスの容易化を大いに助けることになる。
ソフトウェア開発を容易化するためにMDDを応用する、いくつかの他の研究は、MDDをモバイルサービスの作成に応用する、Simple Mobile Serviceプロジェクト、MDDのアプリケーションを介して普及システムを作成することをねらう、PervML、対話型マルチメディアアプリケーション用に設計された、Multimedia Modeling Language(MML)があり、その他の研究は、プラットフォーム独立ユーザインターフェイスを作成するためのモデリング概念を適用する。
どの方法も、モデル駆動開発アプローチを使用する、モバイルベースアプリケーションの開発のために使用するのに十分に確信を与えるものではなかった。
本方法、システム、およびハードウェア実施可能性を記述する前に、本開示においては明示的に示されていない、本発明の複数の可能な実施態様があり得るために、本発明は、記載された特定のシステムおよび方法に限定されるものではないことを理解されたい。また、本明細書において使用される用語は、特定の版または実施態様だけを記述する目的のものであって、本発明の範囲を限定することを意図するものではなく、本発明は添付の特許請求の範囲のみによって限定されるものであることを理解されたい。
本開示は、モバイルベースアプリケーションを開発するためのシステムを提供する。このシステムは、メタモデリングモジュール、ユーザインターフェイスモデラ、スクリーンフローモデラ、入力デバイス、コード生成器モジュール、およびモバイルアプリケーションバンドリング(bundling)モジュールを含む。メタモデリングモジュールは、モバイルベースアプリケーションのための複数の要件を収集する。ユーザインターフェイスは、モバイルベースアプリケーションの複数のスクリーンを設計する。複数のスクリーンは、複数の要件に基づいて設計される。スクリーンフローモデラは、モバイルベースアプリケーションの複数のスクリーン間のナビゲーションを設計する。入力デバイスは、テクノロジプラットフォームを選択する。コード生成器モジュールは、選択されたテクノロジプラットフォームに応じてコードを生成する。モバイルアプリケーションバンドリングモジュールは、コードをバンドリングすることによって、モバイルベースアプリケーションを開発する。
本開示はまた、モバイルベースアプリケーションを開発する方法を提供する。最初に、メタモデリングモジュールを使用して、モバイルベースアプリケーションを開発するために、複数の要件が収集される。次のステップにおいて、ユーザインターフェイスモデラを使用して、モバイルベースアプリケーションの少なくとも1つのスクリーンが設計される。スクリーンは、複数の要件に基づいて設計される。さらに、スクリーンフローモデラを使用して、モバイルベースアプリケーションのスクリーン間のナビゲーションが設計される。次のステップにおいて、入力デバイスを使用して、テクノロジプラットフォームが選択される。その後に、コード生成器モジュールを使用して、選択されたテクノロジプラットフォームに依存するコードが生成される。最終的に、モバイルアプリケーションバンドリングモジュールを使用して、コードをバンドリングすることによって、モバイルベースアプリケーションが開発される。
別の実施態様において、モバイルベースアプリケーションを開発するためのコンピュータプログラムをその上に具現化している、非一時的コンピュータ可読媒体が提供される。最初に、メタモデリングモジュールを使用して、モバイルベースアプリケーションを開発するために、複数の要件が収集される。次のステップにおいて、ユーザインターフェイスモデラを使用して、モバイルベースアプリケーションの少なくとも1つのスクリーンが設計される。スクリーンは、複数の要件に基づいて設計される。さらに、スクリーンフローモデラを使用して、モバイルベースアプリケーションのスクリーン間のナビゲーションが設計される。次のステップにおいて、入力デバイスを使用して、テクノロジプラットフォームが選択される。その後に、コード生成器モジュールを使用して、選択されたテクノロジプラットフォームに依存するコードが生成される。最終的に、モバイルアプリケーションバンドリングモジュールを使用して、コードをバンドリングすることによって、モバイルベースアプリケーションが開発される。
前述の要約に加えて、以下の好ましい実施態様の詳細な説明は、添付の図面と合わせて読まれると、さらに良く理解される。本発明を説明する目的で、図面には、本発明の例示的な構築を示してあるが、本発明は、開示された特定の方法およびシステムに限定されるものではない。
図1は、本開示の一実施態様による、モデル駆動開発を使用する、モバイルベースアプリケーションを開発するためのシステムのネットワーク実装を示す図である。 図2は、本開示の一実施態様による、モデル駆動開発を使用する、モバイルベースアプリケーションを開発するためのシステムのブロック図である。 図3は、本開示の一実施態様による、モデル駆動開発を使用する、モバイルベースアプリケーションを開発するためのシステムの概略表現を示す図である。 図4は、本開示の一実施態様による、モデル駆動開発を使用する、モバイルベースアプリケーションを開発するための方法を説明するフローチャートである。
次に、本発明のすべての特徴を示す、そのいくつかの実施態様について詳細に考察する。
「備える(comprising)」、「有する(having)」、「包含する(containing)」、および「含む(including)」、ならびにそれらの他の形態は、意味において等価であるとともに、これらの語のいずれか1つに続く項目(1つまたは複数)がそのような項目(1つまたは複数)の網羅的なリストであることを意味しない、またはリストされた項目(1つまたは複数)だけに限定されることを意味しないことにおいて、オープンエンドであることを意図するものである。
また、本明細書および添付の特許請求の範囲において使用されるときには、単数形「a」、「an」および「the」は、文脈が明確にそうでないことを言明しない限り、複数を参照することを含むことを注記しなくてはならない。本明細書において記載されたものと類似の、または等価な、任意のシステムおよび方法を、本発明の実施態様の実施または試験に使用することができるが、次に、好ましいシステムおよび方法について記述する。
開示された実施態様は、本発明の例示にすぎず、本発明は様々な形態で具現化してもよい。
図に示された要素は、以下にさらに詳細に説明するように、相互動作する。しかしながら、詳細な説明を記載する前に、以下の考察のすべては、記述されている特定の実現形態にかかわらず、限定ではなく、本質的に例示であることを注記する。例えば、この実現形態の選択された観点、特徴、または構成要素は、メモリに記憶されているものと記述されているが、消耗警報(attrition warning)システムおよび方法と整合性のある、システムおよび方法の全部または一部を、その他の機械可読媒体に記憶するか、それらに分散させるか、またはそれらから読み出してもよい。
上記の技法は、次のもの:プロセッサ、プロセッサ(例えば、揮発性および不揮発性メモリおよび/または記憶要素を含む)によって読出し可能および/または書込み可能な記憶媒体、複数の入力ユニット、および複数の出力デバイス、のいずれかの任意の組合せを含む、プログラマブルコンピュータ上で実行される(またはそれで実行可能な)、1つまたは2つ以上のコンピュータプログラムに実装してもよい。プログラムコードを、複数の入力ユニットのいずれかを使用して、入力された入力に適用して、記述された機能を実行し、複数の出力デバイスのいずれかに表示された出力を生成してもよい。
以下の本特許請求の範囲に記載の範囲内の各コンピュータプログラムは、アセンブリ言語、マシン言語、高レベル手続き型プログラミング言語、またはオブジェクト指向プログラミング言語などの、任意のプログラミング言語に実装してもよい。プログラミング言語は、例えば、コンパイラ型またはインタープリタ型のプログラミング言語としてもよい。それぞれのそのようなコンピュータプログラムは、コンピュータプロセッサによって実行するために機械可読記憶装置に実体的に具現化された、コンピュータプログラムプロダクトに実装してもよい。
本発明の方法ステップは、コンピュータ可読媒体上に実体的に具現化されたプログラムを実行する1つまたは2つ以上のコンピュータプロセッサによって実施して、入力に作用して出力を生成することによって、本発明の機能を実施してもよい。好適なプロセッサとしては、例示として、汎用および専用のマイクロプロセッサが挙げられる。一般的に、プロセッサは、(読取り専用メモリおよび/またはランダムアスクセスメモリなどの)メモリから命令およびデータを受け取り(読み込み)、メモリに命令およびデータを書き込む(記憶する)。コンピュータプログラム命令およびデータを実体的に具現化するのに適する記憶デバイスとしては、例えば、EPROM、EEPROM、およびフラッシュメモリデバイスを含む、半導体メモリデバイス;内部ハードディスクおよびリムーバブルディスクなどの、磁気ディスク;磁気光学ディスク;およびCD‐ROMなどの、すべての形態の不揮発性メモリが挙げられる。前述のいずれも、特殊設計ASIC(特定用途向け集積回路)またはFPGA(フィールドプログラマブルゲートアレイ)によって補完されるか、またはそれに組み込まれてもよい。また、コンピュータは、一般的に、内部ディスク(図示せず)またはリムーバブルディスクなどの、非一時コンピュータ可読記憶媒体からプログラムおよびデータを受け取り(読み取り)、プログラムおよびデータをそれに書き込む(記憶する)ことができる。
モバイル駆動開発(MDD)方法を使用して、モバイルベースアプリケーションを開発するためのシステム100のネットワーク実装が、本開示の実施態様に準拠して、図1および2に示されている。システム100は、プラットフォームに関係なくモバイルアプリケーションを構築するのに使用することのできる、フレームワークを提供する。このシステムは、モバイルベースアプリケーションに対する要件を収集するのを支援する、モデル駆動開発を使用する。このアプローチにおいて開発されたモデルは、それらの要件に応じて、構成可能で、スケーラブルである。システム100は、必要とされるテクノロジプラットフォームに従って構成することのできる、コード生成器フレームワークを使用するモデルにおけるいかなる変更もなく、異なるテクノロジプラットフォームに対するモバイルアプリケーションを生成するのに使用することができる。本開示の別の実施態様において、モバイルベースアプリケーションはまた、ウェブテクノロジ上で使用することもできる。
本開示は、システム100はサーバ上に実装されることを考慮して説明されるが、システム100は、ラップトップコンピュータ、デスクトップコンピュータ、ノートブック、ワークステーション、メインフレームコンピュータ、サーバ、ネットワークサーバ、図1に示されるような、クラウドベースコンピューティング環境などの、様々なコンピューティングシステムに実装してもよいことが理解されるであろう。システム100は、多数のユーザが、集合的に以下ではユーザ102と呼ぶ、1つまたは2つ以上のユーザデバイス102−1、102−2、...、102−N、またはユーザデバイス102上に常駐するアプリケーション、を介してアクセスすることができることが理解されるであろう。一実現形態において、システム100は、ユーザがリモートに位置するアプリケーションを実行できるように構成された、個々のコンピューティングシステムを動作させてもよい、クラウドベースコンピューティング環境を含んでもよい。ユーザデバイス102の例としては、それに限定はされないが、携帯用コンピュータ、パーソナルディジタルアシスタンツ、ハンドヘルドデバイス、およびワークステーションが挙げられる。ユーザデバイス102同士は、ネットワークを介してシステム100に通信可能に結合される。
図2を参照すると、本開示の実施態様によれば、システム100は、プロセッサ104、メモリ106、およびユーザインターフェイス108または入力デバイス110を含む。プロセッサ104は、様々な機能を実行するための、複数のモジュールをさらに含む。複数のモジュールは、メモリ106に記憶されたアルゴリズムにアクセスして、プログラムを実行する。複数のモジュールは、さらに、メタモデリングモジュール110、ユーザインターフェイスモデラ112、スクリーンフローモデラ114、コード生成器モジュール116およびモバイルアプリケーションバンドリングモジュール118などのモジュールをさらに含む。
本開示の一実施態様によれば、ユーザインターフェイス108は、多様なソフトウェアインターフェイスおよびハードウェアインターフェイス、例えば、ウェブインターフェイス、グラフィカルユーザインターフェイス、その他を備えてもよい。I/Oインターフェイスユーザは、システム100が、直接的に、またはクライアントデバイス102を介して、ユーザと対話することを可能にしてもよい。さらに、ユーザインターフェイス108は、システム100が、ウェブサーバや外部データサーバ(図示せず)などの、その他のコンピューティングデバイスと通信することを可能にしてもよい。ユーザインターフェイス108は、例えば、LAN、ケーブルなどの有線ネットワーク、およびWLAN、セルラー、またはサテライトなどのワイヤレスネットワークを含む、多種多様なネットワークおよびプロトコルタイプ内での多重通信を容易化することができる。ユーザインターフェイス108は、障害を有する人々によって使用される、ある数の支援テクノロジデイバスまたは適合製品を相互に、または別のサーバに接続するための、1つまたは2つ以上のポートを備えてもよい。
本開示の一実施態様によれば、モバイルベースアプリケーションのための複数の要件が、メタモデリングモジュール110を使用して収集される。一例において、複数の要件は、それが、テクノロジニーズの代わりにユーザのビジネスニーズを表わすように、選択される。ビジネスニーズを提供することによって、その他のツールまたはフレームワークと比較して、適用することが容易となる。なお、モバイルベースアプリケーションのための複数の要件は、同一のモデルを、ウェブベースアプリケーションに加えて、モバイルベースアプリケーションに使用できるように選択されることを理解すべきである。別の例においては、開発者およびマネージャとの追加のインタビューを行って、本開示の文脈におけるアプリケーションに典型的に要求される、複数の要件を列挙することができる。トップダウンアプローチにおいて、このリストから、最も頻繁に見られる要件を優先順位付けすることによって、MDDの特徴を取得することができる。そのようなときにだけ、これらの特徴は、今日のモバイルデバイスによって提供されるものと調和し、このアプローチの実用性を保証する。
本開示の一実施態様によれば、ユーザインターフェイスモデラ112は、モバイルベースアプリケーションの複数のスクリーンを設計する。複数のスクリーンが、収集された複数の要件に基づいて設計される。このことによって、ユーザに対して、制御器(controls)をモデル化して、それらをビジネス要件に応じて構成する能力が与えられる。ユーザインターフェイスモデラ112は、スクリーン、スクリーンフロー、イベントなどの様々な構造を設計する。
本開示の一実施態様によれば、スクリーンフローモデラ114は、モバイルベースアプリケーションのスクリーン間のナビゲーションを設計する。複数のスクリーンのナビゲーションもまた、収集された複数の要件に応じて行われる。一実施態様において、複数のスクリーンは、図3に示すように、サービスアダプタ120またはサービスマッパ(service mapper)120を使用して、1組のバックエンドスタブ(backend stub)でマッピングすることができる。サービスアダプタ120は、さらなる使用のためにバックエンドデータを自動的に検索する。サービスアダプタ120は、ユーザインターフェイスモデラ112とコンポーネントモデラとから、入力を受け取る。コンポーネントモデラ120は、モバイルのユーザインターフェイスのためのデータを供給するためのバックエンドスタブの組を作成するように構成されている。
本開示の一実施態様によれば、テクノロジプラットフォームが、ユーザインターフェイス108を使用して選択される。一例において、テクノロジプラットフォームは、Android(登録商標)、iOS、Windows(登録商標)、Symbian(登録商標)、Blackberryプラットフォームなどの1つから選択することができる。さらに、これらの例としては、Symbian(登録商標)オペレーティングシステムC++API2、Sun Microsystems社のJava(登録商標)プラットフォームマイクロエディション(Java ME)API3、Open Handset AllianceのAndroid(登録商標) API4、およびAppleのiPhone(登録商標) APIがある。
本開示の一実施態様によれば、コード生成器モジュール116は、選択されたテクノロジプラットフォームに応じて、コードを生成する。このシステムは、モデル駆動開発に基づいているので、コード生成器モジュールによって生成されたコードは、コードがコード慣行に適合するように、生成されたコードにおける適正なアーキテクチャと標準を保証する。コード生成器モジュール116の役割は、前処理されたモデルからアプリケーションのソースコードを作成することである。
本開示の一実施態様によれば、システム100はまた、開発レポジトリ124を含む。開発レポジトリ124は、複数のソースコードを記憶するための1種のデータベースである。複数のソースコードは、プラットフォームに独立な方法で記憶される。開発レポジトリ124は、ユーザが、バックエンドスタブまたは構造の組を作成するのを助ける。一実施態様においては、バックエンドスタブの組は、コンポーネントモデラ122によって作成することができる。開発レポジトリ124は、複数の要件に基づいて、バックエンドスタブの組の完全な実装をもたらすように構成することができる。なお、開発レポジトリ124は、バックエンドデータベースと接続することもできることに留意すべきである。
本開示の一実施態様によれば、次いで、生成されたコードが、モバイルベースアプリケーションを開発するために、モバイルアプリケーションバンドリングモジュール118を使用してバンドリングされる。コードのバンドリングの結果として、クロスプラットフォームの実装可能なモバイルアプリケーションが生成される。このように設計されたモデルは、いかなるテクノロジプラットフォームからも独立しており、したがって、システム100のプラットフォームリターゲット能力(platform retarget ability)を保証する。生成されたコードは、修正なしにネイティブアプリケーションと互換性がなくてはならず、そのようなパッケージされたアプリケーションは、それぞれのモバイルプラットフォームに直接的に実装可能であり、かつ実行可能でなくてはならない。このことは、MDD言語で書かれた宣言モデルを、ターゲットSDKによる、ソースコードに変換することを必要とする。なお、モバイルアプリケーションバンドリングモジュール118は、応答性のあるスクリーンレイアウトを有するモバイルベースアプリケーションを開発するように、さらに構成されることに留意すべきである。
動作において、モバイルベースアプリケーションを開発するのに伴うステップを示すフローチャート200が、本開示の一実施態様に従って、図4に示されている。最初にステップ202において、モバイルベースアプリケーションを開発するための複数の要件が、メタモデリングモジュール110を使用して収集される。複数の要件は、ユーザのビジネス要件について収集される。次のステップ204において、モバイルベースアプリケーションの少なくとも1つのスクリーンが、ユーザインターフェイスモデラ112を使用して設計される。スクリーンは、先のステップにおいて収集された複数の要件に基づいて設計される。ステップ206において、モバイルベースアプリケーションのスクリーン間のナビゲーションが、スクリーンフローモデラ114を使用して設計される。ステップ208において、テクノロジプラットフォームが、入力デバイス108またはユーザインターフェイス108を使用して選択される。テクノロジプラットフォームは、Symbian(登録商標)、iOS、Windows(登録商標)、Android(登録商標)、またはBlackberryプラットフォームの1つとすることができる。ステップ210において、コード生成器モジュール116を使用して、選択されたテクノロジプラットフォームに応じてコードが生成される。最終的にステップ212において、モバイルベースアプリケーションが、モバイルアプリケーションバンドリングモジュール118を使用して、コードをバンドリングすることによって開発される。
本開示の様々な実施態様によれば、システムはまた、以下のように様々な利点をもたらす:システムは、モバイルベースアプリケーションを生成するのに、技術的熟練に依存しない。さらに、MDDアプローチの結果として、必要とされる全体コストが減少する。さらに、従来技術方法と比較して、コードの改善もされる。それに加えて、モバイルベースアプリケーションは、既存の方法と比較して、より少ないターンアラウンド時間で開発が可能である。
前述の観点から、本開示は、モデル駆動開発アプローチを用いてモバイルベースアプリケーションを開発するための方法およびシステムを提供することが理解されるであろう。先の記述は、様々な実施態様を参照して提示された。それでもなお、前述のことは、本発明の例示的実施態様にのみに関係すること、および多数の変更を、以下の特許請求の範囲に定義されるような、本発明の趣旨と範囲から逸脱することなく、それに加えてもよいことを理解すべきである。

Claims (11)

  1. モバイルベースアプリケーションを開発するためのシステム(100)であって、
    前記モバイルベースアプリケーションのための複数の要件を収集するための、メタモデリングモジュール(110);
    前記モバイルベースアプリケーションの複数のスクリーンを設計するためのユーザインターフェイスモデラ(112)であって、前記複数のスクリーンは、前記複数の要件に基づいて設計されている、前記ユーザインターフェイスモデラ(112);
    前記モバイルベースアプリケーションの前記複数のスクリーン間のナビゲーションを設計するための、スクリーンフローモデラ(114);
    テクノロジプラットフォームを選択するための、入力デバイス(108);
    前記選択されたテクノロジプラットフォームに応じてコードを生成する、コード生成器モジュール(116);および
    前記コードをバンドリングすることによって、前記モバイルベースアプリケーションを開発するための、モバイルアプリケーションバンドリングモジュール(118)
    を含む、前記システム。
  2. アプリケーションが、ウェブベースプラットフォームまたはモバイルベースプラットフォームの一方で使用されるように構成されている、請求項1に記載のシステム。
  3. バンドリングの結果として、クロスプラットフォームの実装可能なモバイルアプリケーションが生成される、請求項1に記載のシステム。
  4. モバイルアプリケーションバンドリングモジュール(118)が、応答性のあるスクリーンレイアウトを有するモバイルベースアプリケーションを開発するようにさらに構成されている、請求項1に記載のシステム。
  5. プラットフォームに独立の方法で複数のコードを記憶するための、開発レポジトリ(124)をさらに含む、請求項1に記載のシステム。
  6. ユーザインターフェイスのためのデータを供給するための、バックエンドスタブの組を作成するためのコンポーネントモデラ(122)をさらに含む、請求項1に記載のシステム。
  7. バックエンドスタブで複数のスクリーンをマッピングするためのサービスアダプタ(120)をさらに含む、請求項1に記載のシステム。
  8. 複数のモバイルテクノロジのためのコードを生成するようにさらに構成されている、請求項1に記載のシステム。
  9. コード生成器モジュール(116)によって生成されたコードワードが、所定のコード慣行に適合する、請求項1に記載のシステム。
  10. モバイルベースアプリケーションを開発する方法であって、
    メタモデリングモジュール(110)を使用して、前記モバイルベースアプリケーションを開発するための、複数の要件を収集するステップ;
    ユーザインターフェイスモデラ(112)を使用して、前記モバイルベースアプリケーションの少なくとも1つのスクリーンを設計するステップであって、前記スクリーンは前記複数の要件に基づいて設計されるステップ;
    スクリーンフローモデラ(114)を使用して、前記モバイルベースアプリケーションのスクリーン間のナビゲーションを設計するステップ;
    入力デバイス(108)を使用して、テクノロジプラットフォームを選択するステップ;
    コード生成器モジュール(116)を使用して、前記選択されたテクノロジプラットフォームに依存するコードを生成するステップ;および
    モバイルアプリケーションバンドリングモジュール(118)を使用して、前記コードをバンドリングすることによって、前記モバイルベースアプリケーションを開発するステップ
    を含む、前記方法。
  11. モバイルベースアプリケーションを開発するためのコンピュータプログラムをその上に具現化している、非一時的コンピュータ可読媒体であって、前記方法は、
    メタモデリングモジュール(110)を使用して、前記モバイルベースアプリケーションを開発するための、複数の要件を収集するステップ;
    ユーザインターフェイスモデラ(112)を使用して、前記モバイルベースアプリケーションの少なくとも1つのスクリーンを設計するステップであって、前記スクリーンは前記複数の要件に基づいて設計されるステップ;
    スクリーンフローモデラ(114)を使用して、前記モバイルベースアプリケーションのスクリーン間のナビゲーションを設計するステップ;
    入力デバイス(108)を使用して、テクノロジプラットフォームを選択するステップ;
    コード生成器モジュール(116)を使用して、前記選択されたテクノロジプラットフォームに依存するコードを生成するステップ;および
    モバイルアプリケーションバンドリングモジュール(118)を使用して、前記コードをバンドリングすることによって、前記モバイルベースアプリケーションを開発するステップ
    を含む、前記非一時的コンピュータ可読媒体。
JP2017046670A 2016-03-11 2017-03-10 モデル駆動開発を使用するモバイルベースアプリケーションを開発するシステムおよび方法 Pending JP2017199359A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN201621008617 2016-03-11
IN201621008617 2016-03-11

Publications (1)

Publication Number Publication Date
JP2017199359A true JP2017199359A (ja) 2017-11-02

Family

ID=59382533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017046670A Pending JP2017199359A (ja) 2016-03-11 2017-03-10 モデル駆動開発を使用するモバイルベースアプリケーションを開発するシステムおよび方法

Country Status (5)

Country Link
US (1) US10521199B2 (ja)
JP (1) JP2017199359A (ja)
CN (1) CN107179903B (ja)
DE (1) DE202017101371U1 (ja)
SG (1) SG10201701962TA (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11720330B2 (en) 2016-10-17 2023-08-08 Engineer.ai Corp. Application development involving instant protoyping
US10768952B1 (en) 2019-08-12 2020-09-08 Capital One Services, Llc Systems and methods for generating interfaces based on user proficiency
US11354105B2 (en) 2019-12-13 2022-06-07 Tata Consultancy Services Limited Model driven system and method for development of micro service applications
CN112433701A (zh) * 2020-12-01 2021-03-02 上海数设科技有限公司 工业软件开发项目实施流程、内容及代码生成方法及装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047518B2 (en) * 2000-10-04 2006-05-16 Bea Systems, Inc. System for software application development and modeling
US7657868B2 (en) * 2005-03-14 2010-02-02 Research In Motion Limited System and method for applying development patterns for component based applications
US7761844B2 (en) * 2005-04-22 2010-07-20 Ubs Ag Technique for platform-independent service modeling
US20060253830A1 (en) * 2005-05-06 2006-11-09 Rajanala Arun K Guiding application building using business constraint metadata
CN1928816A (zh) * 2006-09-26 2007-03-14 武汉大学 嵌入式系统软件的模型驱动与构件化开发方法
US20090031226A1 (en) * 2007-07-27 2009-01-29 Honeywell International Inc. Method and System for Extending Task Models for Use In User-Interface Design
CN100520716C (zh) * 2007-08-28 2009-07-29 北京中企开源信息技术有限公司 一种基于模型组件的代码自动生成装置、系统及方法
US20090083697A1 (en) * 2007-09-21 2009-03-26 Honeywell International Inc. Integration of User Interface Design and Model Driven Development
US20090313599A1 (en) * 2008-01-07 2009-12-17 Infosys Technologies Limited Method for handling cross-cutting concerns at business level
US8589955B2 (en) * 2008-02-12 2013-11-19 Nuance Communications, Inc. System and method for building applications, such as customized applications for mobile devices
CN101403968B (zh) * 2008-11-20 2011-10-26 用友软件股份有限公司 一种基于模板的模型驱动软件开发方法和系统
US8448132B2 (en) * 2009-05-07 2013-05-21 Sap Ag Systems and methods for modifying code generation templates
CN102473097B (zh) * 2010-01-13 2015-06-17 塔塔咨询服务有限公司 利用模型驱动技术开发可配置可扩展的业务应用产品线的高效计算系统
US8898629B2 (en) 2011-04-06 2014-11-25 Media Direct, Inc. Systems and methods for a mobile application development and deployment platform
US8813028B2 (en) * 2012-07-19 2014-08-19 Arshad Farooqi Mobile application creation system
US9038017B2 (en) * 2012-08-23 2015-05-19 Cognizant Technology Solutions India Pvt. Ltd. Method and system for facilitating rapid development of end-to-end software applications
CN102968306B (zh) * 2012-11-29 2016-01-20 广东全通教育股份有限公司 一种基于数据模型驱动的代码自动生成方法和系统
KR20150092880A (ko) * 2014-02-06 2015-08-17 한국전자통신연구원 그래픽 사용자 인터페이스 개발의 가변 설정 기반 후설계 방법 및 장치
US20160139888A1 (en) * 2014-11-14 2016-05-19 Appsfreedom, Inc. Automated app generation system
CN105260189A (zh) * 2015-11-02 2016-01-20 江苏马上游科技股份有限公司 基于模型驱动生成代码的方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"目指せスピード10倍増! 超高速開発・リノベーションフォーラム2013 Review", 日経コンピュータ, vol. 第837号, JPN6018030847, 27 June 2013 (2013-06-27), JP, pages 96 - 97 *
井上 尚紀: "GUIを考慮したMDA開発手法の提案", 情報処理学会研究報告 2011(平成23)年度(1) [CD−ROM], JPN6018030844, 15 June 2011 (2011-06-15), JP, pages 1 - 8 *
赤瀬 智也: "画面遷移モデルと整合性を保つGUI設計支援手法", 電子情報通信学会技術研究報告, vol. 第115巻,第487号, JPN6018030846, 25 February 2016 (2016-02-25), JP, pages 131 - 136 *

Also Published As

Publication number Publication date
SG10201701962TA (en) 2017-10-30
CN107179903B (zh) 2021-05-07
CN107179903A (zh) 2017-09-19
US10521199B2 (en) 2019-12-31
US20170262264A1 (en) 2017-09-14
DE202017101371U1 (de) 2017-06-29

Similar Documents

Publication Publication Date Title
Vithani et al. Modeling the mobile application development lifecycle
JP2017199359A (ja) モデル駆動開発を使用するモバイルベースアプリケーションを開発するシステムおよび方法
US20120233589A1 (en) Software development kit for blended services
US9678723B2 (en) Application programming interface (API) engine
US11030079B2 (en) Service virtualization platform
CN102449598A (zh) 程序包设计和生成
US10956257B2 (en) Dynamic failure-resolution computing engine
US20140068551A1 (en) Configuring Assembly of a System using Supplied Architectural Artifacts
Soukaras et al. IoTSuite: a ToolSuite for prototyping internet of things applications
WO2013018204A1 (ja) 画像処理ソフトウェア開発方法、画像処理ソフトウェア開発装置、および、画像処理ソフトウェア開発プログラム
Shiraz et al. An extendable simulation framework for modeling application processing potentials of smart mobile devices for mobile cloud computing
Benouda et al. MDA approach to automate code generation for mobile applications
CN106201466B (zh) 一种基于heat的模板管理方法
Nüst et al. The rockerverse: packages and applications for containerization with r
KR101409528B1 (ko) Mda 기반 스마트 크로스 플랫폼 어플리케이션 저작 방법 및 장치
Thang et al. Model driven development for data-centric sensor network applications
US9513878B2 (en) Component integration by distribution of schema definition on heterogenous platforms
CN104142824A (zh) 一种基于类库的代码生成器及其实现方法
Mahmud et al. Mobile application development feasibility studies: A case study in Universiti Teknologi MARA
Schuler et al. Rule-based generation of mobile user interfaces
CN115934180A (zh) 一种工作流引擎实现方法、系统、设备和介质
Francese et al. Management, sharing and reuse of service-based mobile applications
US20150227305A1 (en) Deploying multi-channel or device agnostic applications
US9477492B2 (en) Deploying multi-channel or device agnostic applications
CN105930431A (zh) 访问数据库的方法、装置以及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170706

AA79 Non-delivery of priority document

Free format text: JAPANESE INTERMEDIATE CODE: A24379

Effective date: 20170713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180807

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181221

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190529

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20190927

C11 Written invitation by the commissioner to file amendments

Free format text: JAPANESE INTERMEDIATE CODE: C11

Effective date: 20191007

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20200608

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20200702

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20200730

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20200730