JP6725535B2 - 設計仕様書に基づきソフトウェアタイプアプリケーションを表示するコンピュータに実装された方法 - Google Patents

設計仕様書に基づきソフトウェアタイプアプリケーションを表示するコンピュータに実装された方法 Download PDF

Info

Publication number
JP6725535B2
JP6725535B2 JP2017559053A JP2017559053A JP6725535B2 JP 6725535 B2 JP6725535 B2 JP 6725535B2 JP 2017559053 A JP2017559053 A JP 2017559053A JP 2017559053 A JP2017559053 A JP 2017559053A JP 6725535 B2 JP6725535 B2 JP 6725535B2
Authority
JP
Japan
Prior art keywords
model
functional
visual
design
protocol
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.)
Active
Application number
JP2017559053A
Other languages
English (en)
Other versions
JP2018514878A (ja
Inventor
ナディア アナリア ウェブラ,
ナディア アナリア ウェブラ,
マリアーノ ウェブラ,
マリアーノ ウェブラ,
Original Assignee
ナディア アナリア ウェブラ,
ナディア アナリア ウェブラ,
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 ナディア アナリア ウェブラ,, ナディア アナリア ウェブラ, filed Critical ナディア アナリア ウェブラ,
Publication of JP2018514878A publication Critical patent/JP2018514878A/ja
Application granted granted Critical
Publication of JP6725535B2 publication Critical patent/JP6725535B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • 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
    • 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
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

この発明は、ソフトウェア設計仕様書に基づいて完全に操作可能なソフトウェアタイプアプリケーションを自動的に生成するためコンピュータにより実行されるシステム及び方法である。
このシステムは、ユーザが入力/出力デバイスを介してクラス設計値及び画面設計値(ソフトウェア設計仕様書)を入力することを可能にする。プロセッサは、メモリデータベースに記憶される機能モデル及び視覚モデルを自動的に作成するために2つのプロトコルを適用する。次いで、プロセッサは、グラフィック構成要素とこれらのモデルを結合し、コンパイル可能なコードを発生することなくソフトウェアタイプアプリケーションをインスタンス化する。これらのアプリケーションは、操作しようとしているユーザに提示され、結果として情報を生成する。
関連出願の相互参照
本出願は、本出願と同じ発明者により2015年5月13日に出願された米国特許仮出願第62/161,216号、名称「Metodo implementado por computador que expone las aplicaciones tipo software apartir de especificacion de diseno」(Method employed by a computer for exposing software−type applications based on design specifications(設計仕様書に基づきソフトウェアタイプアプリケーションを公開する(expose)ためにコンピュータにより採用された方法))」の優先権を主張する。前述の仮出願の内容は、本文献において開示されているかのように、参照によりその全体が組み込まれている。
ソフトウェア産業は、解決策をもたらす機構として、データベースの構築及びコンピュータプログラムのコーディングがその中に見られ得る一連の動作を提案する。これらの動作は、得られるソフトウェアが複数のユーザ環境で操作されることを可能にするアーキテクチャの枠組み内で働く。このようなタスクは、ソフトウェア設計を理解することで認定された人及びプログラムを開発した者から認定された人により実行される。これらのタスクの性質は、下記の専門化したプロフィールが傑出しているチームによりソフトウェアを作ることが実行されることを決定する。
企画者:エンドユーザ環境を考慮した上でアプリケーションレイヤアーキテクチャを規定する。アーキテクチャの例は、SOA(サービス指向アーキテクチャ)、クライアントサーバ、等である。
データベースプログラマ:アプリケーションを使用しながらユーザ発生データが記憶される構造を構築する。様々な技術に基づくが一般的で既に確立された標準の下で現在働いているデータベースエンジンと呼ばれるツールがある。
アプリケーションプログラマ:具体的な言語(Java(登録商標)、C#、Vbnet、等)でプログラムのコードを記述し、このコードは、次いでコンパイルされて、コンピュータが実行するオブジェクトのコードを取得し、ユーザがアクセスする最終アプリケーションを生成する。
ユーザインターフェース設計者:画面、視覚構成要素、及びコンピュータプログラムがユーザフレンドリに見え、且つ容易に使用することが可能であるグラフィックスタイルテンプレートを設計する。
ソフトウェアを作成するために、通常ソフトウェアを作成することを必要としているある人は、数年の勉強を必要とする前述のスキルを持たないので、上に述べたような専門家チームを頼りにすることが必要である。
ソフトウェア産業において生じる問題は、下記のような様々な次元を有する:
i.解決策に対する要求が、この分野の専門家を養成するために必要な速度よりも早い速度で世界中で増大している。そのため、大きな未対処の開発要求が見受けられることがある。
ii.ソフトウェアを記述するプロセスは、費用が掛かり、多くの時間を要する、これは、上記プロセスを要求している部門が効率的に利便性良くすべてのニーズを満足させることができないことを暗に意味している。
iii.速いペースで進展している様々な技術(データベース、プログラミング言語、アーキテクチャ、ユーザインターフェース)が、既に開発されたアプリケーションにおいて技術的な陳腐化の問題を引き起こしている。これは、ソフトウェアが操作可能であると、通常は、産業の専門家により採用される新しい技術が生じることを意味している。このようなソフトウェアのアップグレードは、ソフトウェアが最初に作成されたときと同様に重要なリエンジニアリング努力を暗に意味している。
iv.不安定な世界経済におけるビジネス運用規則の定常的な変化は、金銭/時間要因が技術的な陳腐化と相まって一般に実行不可能である、ソフトウェアアプリケーションへの適応及び改善を必要とする。この理由のために、ソフトウェアアプリケーションは、タイムリーで柔軟な発展を提供できていない。
先行技術は、ソフトウェアアプリケーション開発ライフサイクルにおける時間及びコストを削減するためにソフトウェアを自動的に発生するための無数のシステム及び方法を明らかにしている。米国特許出願公開第2006/0015839号は、2つの可能なソースに基づくJ2EEコンパイル可能なソースコード、開発しようとするシステムのすべてのパラメータ、チャート及びアーキテクチャが明確に特定されており、技術設計の詳細な知識が入力として要求されることを意味しているデータベースを発生するシステム及び方法を開示している。この詳細な規定に基づき、XMLファイルが記述され、このXMLファイルは設計を調節するためにユーザにより変更されることが可能である。最終的なXMLドキュメントは、J2EEコード及びシステムアーキテクチャを自動的に発生するフレームワークツールにより処理される。フォームツールは、XMLソースドキュメント内に明確に規定されている構造にやはり基づいて、ユーザインターフェースフォームを自動的に生成する。システム展開ツールは、ソースデータベースとプログラムコードとをコンパイル可能な構造へと統合し、ソフトウェアアプリケーションを結果としてもたらす。
本発明とは異なり、米国特許出願公開第2006/00115839号は、J2EEコンパイル可能なコードを発生し、プログラムの計算アーキテクチャ並びにそのデータベース構造、オブジェクトパラメータ及びテーブルフィールドの前の知識を必要とする。また、XMLの詳細な知識及びいくつかのケースでは直接コードインジェクションが、記述した構成及び編集プログラムにより実行されなかったいくつかのタスクを実行するために要求される。
同様に、米国特許出願公開第2002/0077823号は、入力データとして解釈するための音声認識法を暗に意味する音声操作型プラットフォームを特に含め、多数のクライアントプラットフォームでランできるソフトウェアアプリケーションを作成する方法及びシステムを開示している。例えば、限られた画面又はキーボードアクセスを用いてセル電話機ユーザは、オーディオフォーマットでウェブページ上の情報を入手でき、そして記述されるよりはむしろ話された言葉及び文章を介してウェブサイトと返信で対話できる。前述のドキュメントは、会話認識に、テキストへの翻訳にそれ自体を限定し、このテキストは任意の他のアプリケーション入力データとしてその後処理される。本発明とは異なり、このようなドキュメントは、ソフトウェアモデルを構築することを提示していないし、また自動的にアーキテクチャドキュメント又は仕様書を構築することも提示していない。このようなドキュメントは、VoiceXML、音声構成要素仕様に関する標準言語、に基づいている。受信したコマンドを解釈するために、VoiceXMLは、手作業で修正されることがある音声会話テンプレートを使用し、上記テンプレートは、受信したコマンド及びアプリケーションが提供すべき回答の流れをマッピングするためにプログラマにより使用される手動スクリプトである。ユーザにより発せられたときにアプリケーションが認識できるスピーチ認識動詞句を定義するために、開発者は、「文法」を作成するべきであり、文法は予期され話されたコマンドの明示的な特徴付けであり、少数の認められた語系列であるこのようなコマンドに入力を制限するように働く。
この特許で設計されたシステムは、プログラマ用の機構をやはり含み、「自然言語文法(natural language grammar)」を定義し、上記文法は、それ自体の句を有するテンプレートに基づいて、予期される回答のタイプについてアプリケーションの平易な訓練を可能にする。その後で、引き続いて処理されるように、アプリケーション変数を用いて識別された会話成分を手作業でマッピングすることがプログラマにとって必要である。最後に、このような口述成分が適正に識別されることを確かめるために、音響パターン及び発音のデータベースを持つことが必要である。このような文書は、音声コマンドを取得するため、そして音声コマンドをアプリケーションの入力変数へと変換するための機構を提供し、自己発生型音声コマンドの形式で出力変数を公開する反対のケースを結果として提供する。そうするために、アプリケーションは、「自然言語文法」及び「言語モデル」の仕様を頼りにするが、この発明とは異なり、ソフトウェアモデル、又はアプリケーションの機能構成要素若しくは設計構成要素を自動的に推論するために、自由で網羅的な方法で自然言語入力を直接解析する能力を開示していない。
同様に、米国特許出願公開第2012/0210296号は、BPMタイプ(ビジネスプロセス管理)のソフトウェアアプリケーションを作成するための方法を開示している。これは、様々なプロセスに関係する機能を表している予め構築されたソフトウェアモジュールを使用している。これらは、ユーザ選択に基づき、メタデータ中のモジュールに関係する所定の自然言語の言葉を使用して得られるソフトウェアアプリケーションを生成するために組み立てられる。ユーザは、システムにより提示され、制御され、利用可能なモジュールにリンクされた用語のリストからプロセスを選択することができる。ユーザは、リストに初めは利用可能ではないだけでなく、存在するモジュールの組み合わせとして規定され、用語のリストに追加されることが可能な機能をやはり実装することができる。
本発明は、米国特許出願公開第2012/0210296号とは異なり、予め構築されたプロセス機能を使用しない。本発明は、自由な自然言語の使用を可能にし、この自然言語から、単にBPM解のためだけでなく、自然言語で記述されることが可能なすべての種類の解に対してもソフトウェアアプリケーションとしてインスタンス化されるモデルを作成することにより機能を構築する。この発明は、コンパイル可能なコード発生のための方法を暗に示さないし、特徴の有限なリストに結果を限定もしない。米国特許出願公開第2012/0210296号は、言語の構造から操作せず;むしろ、上記特許は、機能プログラムの技術構成要素のユーザ選択を容易にするために言語を使用する。
何が上に述べられているかに則して、そして自動開発動作を包含する既に存在する先行技術にも拘わらず、特にエラーデバッグのため、開発ライフサイクル専門家を包含する必要性が依然としてある。このようにして、本発明は、プログラミングプロセスを装置により置き換え、上記装置は、プロセス入力として与えられ、記述されようとしているソフトウェアタイプのアプリケーションのケースを表しているクラス及び画面の設計に基づいて自動的にソフトウェアを生成する。この発明は、下記のように産業問題の主な態様を解決する:
データベースを構築すること、コンパイル可能なコードをプログラミングすること、及び具体的なアーキテクチャを作ることなどの典型的な産業上のタスクを実行せずにソフトウェアアプリケーションの作成を可能にし、上記タスクのすべてが、いずれか、手作業で又は仕様書からプログラムコードを発生するこれらのツールにより自動的に現在実行されている。この発明は、データベースメモリに記憶され、ユーザにより入力として提供されたクラス設計値及び画面設計値にこの発明のプロトコルを適用することにより得られた機能モデル及び視覚モデルからプログラムコードを発生しないで自動的に結果を生成する。
時間及び金銭に関する高コスト、技術的陳腐化、需要不足を削減し、製品が柔軟性及び利便性を発達させることを可能にする。
先行技術は、インタープリッタである発明を報告している。ソフトウェア産業では、コンパイラ又はアセンブラはプログラミング言語の記述からシステムのマシンコードへと翻訳する、ところがインタープリッタは必要な時に、典型的にはインストラクションによるインストラクション及び通常はコードとしてこのような翻訳の結果を記憶せずに翻訳するだけであるということで、インタープリッタはコンパイラ又はアセンブラとは異なる。本発明が個別のプログラムインストラクションのリアルタイムコンパイルからソフトウェアを解かないという理由で、本発明はモデルインスタンシエータである。この発明では、インストラクションが、モデルインスタンシエータエンジンにより求められたときに、エンジンの一部としてコンパイルされた様々なプログラムインストラクションの実行を介してこれらのモデルにより表された機能をメモリ内に作成するデータベースに記憶されたモデルにより置き換えられるという理由で、インストラクションをプログラムする必要がない。プログラムの流れは、ユーザの制御下に、並びにエンジンへとコンパイルされたインストラクションに基づいて生じる他とのモデルの再発する呼び出し下にある。
この発明のモデルインスタンシエンジンは、いずれかのケースを解決することに限定されないので、特に、関係するモデルの任意のセットから任意の機能をインスタンス化することができる。このような機能を修正することは、いずれかのコンパイルしたプログラムを修正することを必要とせずに、データベースにモデルを追加すること又はデータベースからモデルを削除することにより行われる。これは、新しい機能に対して新しいプログラムを作成することよりも容易且つ早く、プログラムをテストすることを必要としない。機能性を解決するためにインタープリッタ又はコンパイラを使用すると、高品質のソフトウェアを生成するまで、各繰り返しで、この動作が有する強い影響力をともなうプログラムをテストする必要である。
[用語集]
この特許出願において開示した概念の理解を容易にするために、下記は、本発明において使用したこのような概念のうちのいくつかの範囲を示している用語のリストである。
最終ユーザ:提供されたユーザインターフェースを介して解決策を最終的に使用する当事者。
ユーザのインターフェース:ユーザがこれを介して装置、デバイス又はコンピュータと通信できる媒体。これは、ユーザとシステムとの間のすべての接触点を包含する。
ソフトウェアアプリケーション:これは、2つの部分から構成される:ビジネスを記述し、解決策の機能的行動ルールを決定する概念モデルのグループ、及びユーザが対話するユーザのインターフェースにおいてこのような機能を具体化することを可能にする表示モデルのグループ。
プログラミング:コンピュータプログラミングは、コンピュータプログラムソースコードをコーディングする、デバッグする及び維持管理するプロセスとして理解されるべきである。ソースコードは、プログラミング言語で記述される。プログラミングの目的は、所望の行動を示すプログラムを作成することである。コードを記述するプロセスは、使用しようする言語の習熟度、特殊用途アルゴリズム及び形式論理の他に、様々な領域の知識を通常必要とする。プログラミングは、アプリケーション解析及び設計(とはいえ、コード設計を本当に含む)などの他のタスクが小さなアプリケーションの開発において通常一緒に融合される場合でさえ、これらの他のタスクを必ずしも含む必要がない。
オブジェクト指向プログラミング(OOP)パラダイム:これは、現在のところ最も多く使用されているプログラミングパラダイムである。その中心コアは、「オブジェクト」と呼ばれる単一のエンティティへのデータ及び処理の結合であり、その結果として、他の「オブジェクト」エンティティと関係付けられる。慣例的に、データ及び処理は、設計及びソフトウェア実装とは離れた領域に分類されてきている。これが、大きな開発に信頼性、維持管理、変化適応及びスケーラビリティの点で問題を生じさせている。オブジェクト指向及びカプセル化、多態性又は継承などの特徴を用いると、顕著な進歩が、いずれの製造規模においてもソフトウェア開発の点で達成された。
メタクラス:OOPパラダイムでは、メタクラスは、そのインスタンスがクラスであるクラスである。この概念は、いくつかの特殊性とともにこの発明では機能仕様プロトコルに適用される。
プログラムコード:コンピュータが解釈でき実行できる言語で記述され、コンピュータにより処理されるべきインストラクション及びデータのグループである。計算コードは、バイナリコードであっても上位レベル言語で記述されたソースコードであってもよい。
手続き型言語:これは、構造化されたプログラミングフォーマットで発生されたプログラムコードの名前である。このフォーマットは、手続き、サブルーチン又は機能の名前を受け取る構成要素の構造化プログラムコードに基づいている。
インタープリッタ:コンピュータ科学では、インタープリッタは、他のプログラムを解析し実行することができる計算プログラムである。コンパイラ又はアセンブラがプログラミング言語でのプログラムの記述からシステムのマシンコードへとプログラムを翻訳する一方で、インタープリッタは必要なときに、典型的にはインストラクションによるインストラクションで翻訳するだけであり、通常は、インタープリッタはこのような翻訳を記憶しないという理由で、インタープリッタは、コンパイラ又はアセンブラとは異なる。
コンパイラ:コンパイラは、プログラミング言語で記述されたプログラムをマシン言語へと翻訳する計算プログラムである。この翻訳処理はコンパイルとして知られている。
システム:本発明では、設計仕様書に基づいて視覚デバイスソフトウェアアプリケーションに公開するために相互間で対話する電子素子又はオプトエレクトロニック素子のグループとして理解されるべきである。
UI構成要素:これらは、画面タイプのデバイス又は類似のデバイス上への情報の提示に視覚的形態を与えるために使用されるコード部分(HTML、等)である。これらの構成要素は、サードパーティー構成要素セットとして知られており、ソフトウェアアプリケーション開発における補集合としてソフトウェア産業では使用される。
この発明は、メモリ及びプロセッサを備えている電子デバイスへの論理情報構造の入力に基づいて視覚デバイスにおいて出力を自動的に生成するシステム及び方法を開示している。上記システム及び方法は、ビジネスプロセス情報を作成するように運用されることがあり、ソフトウェア産業において知られているような慣例的なプログラミングを介して通常開発されているソフトウェアアプリケーションを置き換える。
コンピュータにより使用される方法は、下記の段階:
a.入力/出力デバイス120を介して、機能仕様プロトコル(PEF)、視覚仕様プロトコル(PEV)及びUIリソースをロードし、機能仕様プロトコル(PEF)、視覚仕様プロトコル(PEV)及びUIリソースをデータベースメモリ130に記憶する段階と;
b.段階aのプロトコルに対して識別し、検証し、ソフトウェア設計仕様書に基づいて機能設計構成要素及び視覚設計構成要素をデータベースメモリ140に記憶する段階と;
c.段階bからの上記機能設計構成要素及び視覚設計構成要素に基づいて機能モデル及び視覚モデルを自動的に作成し、上記モデルをそれぞれ上記データベースメモリ130、モデルMF135、及びモデルMV134論理構造に記憶する段階と、
d.モデルインスタンシエータ153として構成されたプロセッサ150を介して、段階Aにおいて記憶したプロトコルの規範(norm)に従ってUIリソースと結合された、段階cにおいて作成された機能モデル及び視覚モデルを読み取り、インスタンス化し、入力/出力デバイス120のアプリケーションインターフェース123に自動的に公開する段階と
を含む設計仕様に基づいてソフトウェアタイプアプリケーションを解釈し、表示する。
加えて、この発明は、ソフトウェア設計仕様書に基づいて操作可能なソフトウェアアプリケーションをインスタンス化し、公開するシステムであって:
a.ソフトウェア設計仕様書を入力し、得られるソフトウェアタイプアプリケーションを提示するための、CDFインターフェース121、CDVインターフェース122、アプリケーションインターフェース123として構成された入力/出力デバイス120と、
b.入力/出力デバイス120に接続された中央処理装置(CPU)110であり、
上記入力/出力デバイス120とペアリングされ、プロセッサ150と対話し、機能構成要素、視覚構成要素及びUI構成要素を揮発的に記憶するように構成された汎用メモリ140と、
上記入力/出力デバイス120を介して少なくとも1つのソフトウェア設計仕様を受け取るように構成されたプロセッサ150で、上記プロセッサが、段階Aのプロトコルに対してソフトウェア仕様を検証し、上記得られたソフトウェアタイプアプリケーションを識別するモデルバリデータ151として構成され、上記機能モデル及び視覚モデル、並びに上記UIリソースを統合し、
上記プロセッサが上記アプリケーションインターフェース123に上記得られたソフトウェアタイプアプリケーションを表示するためにモデルインスタンシエータ153として構成される、
プロセッサ150と
を含む、中央処理装置(CPU)110と、
c.CPU110に接続され、プロセッサ150とペアリングされ、仕様視覚PEVの上記プロトコルを論理構造PEV131へと、機能仕様PEFの上記プロトコルを論理構造PEF132へと及び上記UIリソースをUIリソース133の論理構造へと静的に記憶するように構成され、並びに視覚モデルを論理構造モデルMV134へと、機能モデルを論理構造モデルMF135へと及びオブジェクトを論理構造オブジェクト136へと動的に記憶するようにやはり構成されたデータベースメモリ130と
を含む、システムを備える。
この発明のシステムの構造を示す図である。 機能仕様PEFプロトコルを示す図である。 視覚仕様PEVプロトコルを示す図である。 モデルMFのデータベースメモリの論理構造を示す図である。 モデルMVのデータベースメモリの論理構造を示す図である。 オブジェクトのデータベースメモリの論理構造を示す図である。 この発明の方法の段階を示す図である。 段階Aの下位段階を詳細に示す図である。 段階Bの下位段階を詳細に示す図である。 機能構成要素及びOOタイプ識別の例を示す図である。 段階Cの下位段階を詳細に示す図である。 クラス図でのプロトコルPEFのアプリケーションの例を示す図である。 画面図でのプロトコルPEVのアプリケーションの例を示す図である。 段階Dの下位段階を詳細に示す図である。 この発明の方法の段階の追加モードを示す図である。 この発明の方法の段階の追加モードを示す図である。
この発明は、ソフトウェアアプリケーションの詳細な設計を表しているクラスモデルをデータベースメモリに記憶することを可能にし、このようなモデルをインスタンス化することにより得られるソフトウェアタイプアプリケーションを公開するシステム及びコンピュータ適用方法である。図2に説明したように、プロセスは、ソフトウェア設計値をデータベースメモリに記憶することにより始まり、次いで、ソフトウェアタイプアプリケーションを最終的に構成するモデルインスタンス化を解決するためにシステムに以前に記憶したプロトコル定義を使用してこのような設計の構成要素を識別する。この発明では、モデルは、データベースメモリに具体化された機能設計構成要素又は視覚設計構成要素を表している。
この方法をランさせるために、図1に記述したもののようなシステムが、入力/出力デバイス120にクラス設計値及び画面を入力するために使用される。入力された設計値は、汎用メモリへ転送され、次いでプロセッサ150により処理される。このプロセッサは、データベースメモリ134及び135の存在するモデルを検証し、結合し、インスタンス化するように構成される。各処理機能の結果は、入力/出力デバイス120の画面に表示される。
システム100図1の構成要素は、下記のように記述される:
1.入力/出力デバイス120:これは、ソフトウェア設計値がこれにより入力されるデバイスである。入力/出力デバイス120は、ユーザが(図2Bに表示されたものなどの)クラス及び画面設計値を入力できる構造を、プロセッサが視覚媒体(数ある中で、画面、プロジェクタ、TV受信機、プリンタ、モニタ、移動デバイス)上に表示すること、及び下記の構成により得られるソフトウェアタイプアプリケーションを見ることを可能にする:
a.インターフェース121:これは、データベースメモリ130におけるモデルMF135の論理構成に記憶されているクラス図に基づいてソフトウェアアプリケーションの機能設計構成要素をユーザが入力することを可能にする視覚構造である。
b.CDVインターフェース122:これは、データベースメモリ130におけるモデルMV134の論理構成に記憶されるクラス図に関係する画面図に基づいてソフトウェアアプリケーションの視覚設計構成要素をユーザがロードすることを可能にする視覚構造である。
c.アプリケーションインターフェース123:このインターフェースは、一旦、プロセッサ150がデータベースメモリ130内の利用可能な機能モデル及び視覚モデルをインスタンス化してしまうと、得られるソフトウェアアプリケーションの視覚構造をユーザに示す。
2.CPU110:これは、システム100を処理するデバイスである。このデバイスは、対応するプロトコルに対して機能モデル及び視覚モデルを検証し、UIリソースを結合し、前のステップに基づいてソフトウェアタイプアプリケーションをインスタンス化するように構造化される。CPU110は、システムの機能と他の構成要素との間の交換を認める汎用メモリを備える。
a.汎用メモリ140:これは、データベースメモリと、プロセッサと、入力/出力デバイスとの間の交換デバイスの手段として使用される揮発性記憶システムである。汎用メモリ140は、その構成に応じて下記の機能を実行する:
i.MFマトリックス142:これは、モデルインスタンシエータ153として構成され、データベースメモリ131及び132に記憶されたプロトコルと提携するプロセッサ150を介してデータベースメモリ135内に存在する機能モデルの処理を可能にする汎用メモリの構成である。
ii.MV143マトリックス:これは、モデルインスタンシエータ153として構成され、データベースメモリ131及び132に記憶されたプロトコルと提携するプロセッサ150を介してデータベースメモリ134内に存在する視覚モデルの処理を可能にする汎用メモリの構成である。
b.プロセッサ150:これは、すべての処理タスク及び交換タスクが実行されるデバイスである。プロセッサ150は、その構成に応じて下記の機能を実行する:
i.モデルバリデータ151:これは、データベースメモリ131及び132内に存在するプロトコルに対してユーザにより入力された機能モデルを検証することを主に担当するプロセッサの構成であり、一旦検証すると、それぞれデータベースメモリ134及び135に記憶する。
ii.UIコンバイナ152:これは、インスタンス化プロセスの前に、データベースメモリ133内に存在するUIリソースをデータベースメモリ130に記憶された視覚モデルと結合することを主に担当するプロセッサの構成である。
iii.モデルインスタンシエータ153:これは、アプリケーションのインターフェース123に得られたソフトウェアタイプアプリケーションを自動的に公開するために、汎用メモリ142及び143の論理構成内に存在するUIリソースを既に結合された機能モデル及び視覚モデルをインスタンス化することを主に担当するプロセッサの構成である。
3.データベースメモリ130:これは、ユーザにより入力され、その異なる構成へとプロセッサ150により発生されたデータを記憶する永久メモリである。このメモリは、2つのストレージ構成、スタティック構成及びダイナミック構成を含む。スタティック構成は、処理のために一旦入力され「ケース」に属さない必要なデータを記憶する。ダイナミック構成は、ケース毎に入力される「ケース」に関係するデータを記憶する。
a.スタティックメモリ:
i.PEF131:視覚仕様プロトコル(PEV)に基づいて規定され、このメモリに入力された機能モデルをプロセッサ150が検証し、インスタンス化するために使用するルールを含むデータベースメモリ130構成。
ii.PEV132:視覚仕様プロトコル(PEV)に基づいて規定され、データベースメモリ130に入力された機能モデルを検証し、インスタンス化するためにプロセッサ150が使用するルールを含むデータベースメモリ130構成。
iii.UIリソース133:プロセッサ150がユーザにより制御された画面上にアプリケーションのインターフェース123内のモデルを表示することを可能にするソフトウェア構成要素を含むデータベースメモリ130構成。
b.ダイナミックメモリ:
i.モデルMV134:CDVインターフェース122を用いてユーザにより入力され、視覚仕様プロトコル(PEV)に対してプロセッサ150により検証された機能モデルを含むデータベースメモリ130構成。このメモリは、図1Bに示した視覚仕様プロトコルの概念に関連付けられた下記の論理構造から構成される:
1.概念ActionLinkに関連付けられた構成
a.論理構造RenderAction
b.論理構造RenderActionEditor
c.論理構造RenderAttributeBaseAction
d.論理構造RenderBaseViewAction
2.Applicationの概念に関連付けられた構成
a.論理構造Application
3.AttributeRenderInfoの概念に関連付けられた構成
a.論理構造RenderAttribute
b.論理構造RenderAttributeBase
c.論理構造RenderDiagramView
d.論理構造RenderMapView
e.論理構造RenderNavBarView
f.論理構造RenderObjectReferenceAttribute
g.論理構造RenderPivotView
h.論理構造RenderReportView
i.論理構造RenderWidgetAttribute
4.概念ColumnViewModelに関連付けられた構成
a.論理構造RenderColumn
5.概念Containerに関連付けられた構成
a.論理構造RenderContainer
6.概念ListViewModelに関連付けられた構成
a.論理構造RenderFindView
b.論理構造RenderGridAggregateColumn
c.論理構造RenderGridAttribute
d.論理構造RenderGridColumn
e.論理構造RenderGridColumnAction
f.論理構造RenderGridView
7.概念Menuに関連付けられた構成
a.論理構造Menu
8.概念MenuGroupに関連付けられた構成
a.論理構造MenuGroup
9.概念TreeViewModelに関連付けられた構成
a.論理構造RenderRelationView
b.論理構造RenderRelationViewAction
c.論理構造RenderTreeView
10.概念ViewModelに関連付けられた構成
a.論理構造PopUpEditor
b.論理構造PrintConfiguration
c.論理構造RenderBaseView
d.論理構造RenderBaseViewInheritance
ii.MFモデル135:機能仕様プロトコル(PEF)に対してプロセッサ150により検証されたインターフェースCDF121を用いてユーザにより入力された機能モデルを含むデータベースメモリ130構成。このメモリは、図1Aに示したような、機能仕様プロトコル概念、More−Class象限図に関連付けられた下記の論理構造から構成される:
1.概念Domainに関連付けられた構成
a.論理構造Domain
2.概念Formulaに関連付けられた構成
a.論理構造Fx
b.論理構造MatchAttribute
c.論理構造MatchFieldStrategy
d.論理構造MatchInfo
e.論理構造MatchValue
f.論理構造MatchValueStrategy
3.概念FxCallArgumentに関連付けられた構成
a.論理構造FxCall
4.概念ModelAttributeに関連付けられた構成
a.論理構造MoreClassAttribute
5.概念ModelClassに関連付けられた構成
a.論理構造MoreClass
b.論理構造MoreClassInheritance
6.概念ModelRelationClassに関連付けられた構成
a.論理構造ModelRelationClass
iii.オブジェクト136:モデルインスタンシエータ153として構成されたプロセッサ150により、ユーザがソフトウェアタイプアプリケーションを介してインスタンス化されたモデルに基づいて発生するオブジェクトを含むデータベースメモリ130構成。このメモリは、図1Aに示したように、機能仕様プロトコル、Object−Class象限図の概念に関連付けられた下記の論理構造から構成される:
1.概念AttributeValueに関連付けられた構成
a.論理構造MoreObjectAttributeValue
b.論理構造MoreObjectAttributeValueFileExtended
c.論理構造MoreRelationObjectMoreObjectAttributeRelation
2.Objectの概念に関連付けられた構成
a.論理構造MoreObject
3.RelationObjectの概念に関連付けられた構成
a.論理構造MoreRelationObject
この発明は、説明したシステム、及び設計仕様書に基づいてソフトウェアタイプアプリケーションを解釈し、公開するコンピュータ適用方法を含む。図2を参照すると、この発明の方法は、下記の段階を含む:
段階A.入力/出力デバイス120を介して、データベースメモリ130から、論理構造PEF132内の機能仕様プロトコル(PEF)並びに論理構造PEV131内の対応するUIリソース及びUIリソース133とともに視覚仕様プロトコル(PEV)をロードする。
段階B.クラス設計に基づき、インターフェースCDF121を介してクラス図に詳細に述べられた機能設計の構成要素を識別し、記憶し、汎用メモリ140に、論理構造MFマトリックス142にこれらを一時的に記憶する。クラス設計に関連付けられた画面設計に基づいて、インターフェースCDV122を介して詳細に述べられた視覚設計構成要素を識別し、ロードし、汎用メモリ140に、論理構造MVマトリックス143にこれらの構成要素を一時的に記憶する。
段階C.段階Aにおいて記憶したデータベースメモリ130内に存在するプロトコルPEF及びPEVと互換性のあるモデルを、汎用メモリ140に記憶した各モデルから作成するためにモデルバリデータ151のようなプロセッサの構成でプロセッサ150を使用して、段階Bにおいて作成した機能モデル及び視覚モデルを検証する。データベースメモリ130に、それぞれその論理構成モデルMF134及びモデルMV133に得られた機能モデルを記憶する。
段階D.データベースメモリ130から、段階Cにおいて作成した機能モデル及び視覚モデル並びに段階Aにおいて記憶したUIリソースを復元し、UIコンバイナ152として構成されたプロセッサ150を使用して汎用メモリ140にこれらを記憶する。モデルインスタンシエータ153として構成されたプロセッサ150を使用して、汎用メモリ140に記憶された視覚構成要素及び機能構成要素をUIリソースと結合し、結合されたモデルをインスタンス化し、入力/出力デバイス120のアプリケーションインターフェース123にソフトウェアタイプアプリケーションの画面を表示する。アプリケーションインターフェース123を介してユーザ要求を取得し、データベースメモリ140、オブジェクト論理構造136内のアプリケーションの操作にプロセッサ150の回答から得られたオブジェクトを追加する。
プロセスの段階は、下記のように詳細に説明される:
段階A.メモリへとプロトコルをロードする
この段階では、図2Aが示すように、1回だけデータベースメモリ130へとロードされる2つの規範が規定され、プロトコルと呼ばれる。プロセッサ150は、すべてのプロセス中に異なる構成でこれらのプロトコル:i)機能仕様プロトコル(PEF);及びii)視覚仕様プロトコル(PEV)を使用する。
これらのプロトコルは、プロセッサ150が、自動的に操作可能なソフトウェアアプリケーションを得るために、ソフトウェアクラス設計図(OO)及び画面設計図のすべての機能構成要素を結合するモードを確立する。
この発明では、対応する画面設計図を有するクラス図は、「ケース」として考えられる。クラス設計図は、(機能構成要素のセットから作られる)ソフトウェアアプリケーション機能を表し、画面図は、ユーザにソフトウェアタイプアプリケーションを表示する(視覚構成要素のセットから作成される)視覚構造を表している。両方のプロトコルは、下記のように説明される:
下位段階A1. 機能仕様プロトコル(PEF)をロードする
このプロトコルは、行動を規定するルールであり、プロセッサ150は、システム100の操作のための論理構造を決定するクラス設計図、以降PEF構成要素、に基づいてユーザがロードした機能構成要素を割り当てる。このプロトコルの機能を規定するアーキテクチャが、図1Aに観察され得る。
PEFプロトコルは、OOに従って、そのインスタンスがクラスであるクラスを呼ぶメタクラスを規定する。このプロトコルでは、メタクラスのインスタンスであるクラスは、モデル(Instance−Class象限図図1A)として知られている。
PEFプロトコルを使用することにより、得られるソフトウェアタイプアプリケーションの機能は、一方ではクラス設計における非明示的な言語の意味を、他方では数学的論理の意味をインスタンス化することにより取得される。「ケース」のセマンティック部分では、クラス図において識別された方法(OO)は、プロトコルを介してクラスになり、数学では、数学的機能を意味する方法(OO)は、数式になる。機能仕様プロトコルPEFでは、図1A象限図Model−Classに示されたように、セマンティックスを解くための3つの構成要素(ModelClass、ModelRelationClass、及びModelAttribute)、並びに数学を解くための4つの構成要素(Domain、external Domain、Formula及びFxCall)がある。
このプロトコルは、オブジェクトクラス(図1Aの象限図Object−Class)をやはり規定する。オブジェクトModelObject及びModelAttributeValueのこれらのクラスは、システム100がInstance−Object象限図からモデルのインスタンスを記憶するために使用する構成要素である。
PEF構成要素は、象限図Model−Class及びObject−Classに属するものである。象限図Model−Class内には:ModelClass、ModelRelationClass、ModelAttribute、Formula、Domain、及びFxCallがある。これらは、データベースメモリ130に、論理構造モデルMF135に記憶される機能モデルを発するメタクラスのセットである。象限図Object−Class内には:ModelObject及びModelAttributeValueがある。これらは、データベースメモリ130、オブジェクト136の論理構造に記憶されるシステムオブジェクトを生成するクラスのセットである。下記は、PEF構成要素の説明である:
i.ソフトウェアアプリケーション機能モデル(象限図Model−Class)を発するメタクラス
ModelClass
これは、そのインスタンスがモデルであるという理由でメタクラス構成要素である。この構成要素は、OO設計図のクラスである設計構造をモデル化する。ModelClassが、もう1つのModelClassからもたらされることがある。
例:メタクラスHuman Entity(ModelClass)、もう1つのメタクラスPerson(ModelClass Human EntityからもたらされるModelClass)を作成することができる。Personインスタンスは、自然人であっても法人であってもよい。自然人及び法人の両者は、メタクラスPersonのインスタンスを構成するモデルである。
ModelRelationClass
これは、ModelClassから継承するメタクラス構成要素である。ModelClassを拡張する機能は、OOにより規定されるような2つのタイプ:アソシエーション(association)又はコンポジション(composition)であってもよい2つのModelClassを関連付ける能力をこのメタクラスに与える。
例えば:ModelClass Physical Person及びModelClass Legal Personを取り上げる場合には、自然人(Physical Person)インスタンス(Juan Perez)が法人(Legal Person)インスタンス(グーグル社)の従業員であってもよいと考えられる。このケースでは、メタモデルのレベルでModelClass Personをそれ自体とリンクする「関連付けられる(is related with)」と呼ばれるModelRelationClassがある。このリンクは、自然人と法人との間の雇用関係を表すために使用されることがある、又はこのリンクは、ModelRelationClassが「関連付けられる」から継承する特殊性ModelRelationClassが「従業員である」をそのときには作成するために、ModelClass Physical Person及びLegal PersonのModelClass Personをやはり特殊化させることができる。
ModelAttribute
これは、ModelClassを構成するメタクラス構成要素である。ModelClassは、ModelAttributeのリストを有する。ModelAttributeは、ModelClassのインスタンスとして作成されたモデルに含まれる属性の公開である。
ModelAttributeは、数ある中で、生成している属性データのタイプを規定する。
プロトコルは、ModelAttributeについて3つのタイプのデータを規定する。
単純ModelAttribute:単純なタイプは、その値インスタンスがModelObjectインスタンスを伴わないものである。例えば:数字データ、テキストデータ、画像データ。
ModelAttribute RelationObject:これらの属性は、ModelRelationClassに関与のModelClass製品内に存在する。このタイプの属性は、その値インスタンスで及び関係に応じて、関係オブジェクトの1つ又は複数のインスタンスを有することができる。これは、関係の基数を決定する。例:ModelClass「Person」とModelClass「Article」との間にModelRelationClassがある場合には、Articleに関連付けられている当事者をインスタンスとして有するModelClass PersonにタイプRelationObjectのModelAttributeがあり;その逆も言え:ModelClass Personは、インスタンスとしてPersonに関係するアーティクルを有するRelationObjectタイプModelAttributeを有する。
ModelAttribute ObjectReference:このタイプのデータは、前のデータに類似しているが、関係に参加することに属するModelClassの製品として現れない。属性それ自体は、それ自体のための値のインスタンスを折よく構成するオブジェクトの性質をどちらが知るかである。例:ModelClassの一部としてModelAttributeを作成するときに、ObjectReferenceを宣言される。
Formula
数式(formula)は、数式を呼び出すモデルから情報を受け取るために表現式及びパラメータのセットを有する独立したモデルである。数式は、実行されると、数式を呼び出しているモデルに値を常に返す。得られる値は、配列又は多次元配列の一部として1つのインスタンス又は多数のインスタンスであってもよい。
機能仕様プロトコルは、引数としてモデルインスタンスを使用する数学演算の実行を機能的に必要とするこのような論理を解くために使用される数式構成要素を規定する。数式は、代数演算、行列演算、及び集合演算のためのすべての数学演算を定め、図1AのModel−Instance象限図からモデルのインスタンスとして存在する引数を使用する表現式を規定することを可能にする。数学的解を暗に示す機能は、このタイプの機能がOOモデルからのクラスの方法として実装される慣例的なソフトウェア設計とは異なり、Metaclass Formulaを使用して実装される。例えば、売買取引の合計値を計算する数式は、販売した単位数を加算する代数表現式を有し、販売した単位数がModelAttributeインスタンスの集合であるModelAttributeインスタンス内の1つの値を返す。
Domain
ドメイン(domain)は、モデルインスタンスのサブセット(セットの中の演算(operation))を選択することを可能にする条件を宣言する構成要素である。モデルインスタンスは、PEFプロトコルに基づいてプロセッサ150により既に検証され構造化されているデータベースメモリ130内に、オブジェクト論理構造136内に、又はプロトコルに従っては構造化されていない外部メモリ内に見つけられることがある。結果として、ドメインは、下記のように分類される:
Internal Domains
これらのドメインは、データベースメモリ130の上で、数式を介して他のモデルにより処理されることがあるインスタンスの集合を求めるオブジェクト136論理構造で解かれる。例えば:データベースに記憶したインスタンスを取得しようとするModelClass Clientである場合には、Internal Domainは、ModelClass名及び取得しようとするインスタンスが満足すべきであるいずれかの条件でのみ使用され、呼び出されなければならない。
External Domains
これらは、PEFプロトコルに従って構造化されたメモリNOT(外部ファイルのデータ)の上で解かれるドメインである。これらのケースでは、外部ドメイン構成要素は、オブジェクトインスタンスをアクセスし、プロセッサ150は、プロトコルに基づいてオブジェクトインスタンスを構造化し、それで、オブジェクトインスタンスが内部ドメインによりアクセス可能な空間の一部を作る。例えば、データを含む3つの列:名前、年齢、及び会社を有する外部ファイルがある場合には、データを回復するために、外部ドメインが作成されなければならず、このようなフィールドがクライアントに属すること及び列と対応するModelAttribute(Name列:ModelAttribute Name、年齢列:ModelAttribute年齢、会社列:ModelAttribute Company)の間の一致を特定する。ModelAttribute会社は、クライアントが会社に関連付けられるRelationObjectのタイプのである。
FxCall
この構成要素は、ModelAttributeインスタンスの値がFormulaからのものであるときに、いずれかのModelAttributeインスタンスをFormulaインスタンスと関係付けることを担当する。これは、数式表現式の評価を解き、数式表現式を呼び出すモデルに結果を返すモデルであり、処理すべき数学演算子及び引数をプロセッサ150へ送る。FxCallは、インスタンスの引数の値を更新し、それで呼び出された数式は、プロセッサ150からの解を要求する。
ii.ソフトウェアアプリケーションObjectsを発するクラス(象限図Object−Class)
ModelObject
ModelClassからインスタンス化されたクラスのインスタンスは、ModelObjectとして知られている。ModelObjectは、ModelClassでモデル化されたオブジェクトのインスタンスを具体化する具体的なクラスである。例えば:ModelClassインスタンスであるModel Articleは、順に具体的なインスタンスModelObject「ミルク」を有する。このオブジェクトは、同時にModelObjectインスタンスの具体化である。
ModelAttributeValue
ModelAttributeでモデル化されたモデルのインスタンスは、ModelAttributeValueとして知られている。ModelAttributeValueは、そのインスタンスがModelObject Instanceの値を表す具体的なクラスである。例えば:ModelObject「ミルク」であり、ModelAttribute名に関するそのModelAttributeValueが「ミルク」である。
下位段階A2. 視覚仕様プロトコル(PEV)をロードする
このプロトコルは、図1Bに示したように、ユーザが画面設計図に基づいてロードする視覚構成要素、以降PEV構成要素、に、プロセッサ150が与える行動を規定する。これらの構成要素は、システム100を操作するために入力/出力デバイス120のアプリケーションインターフェース123に表示される視覚構造を決定する。このプロトコルの視覚提示を規定するアーキテクチャが、図1Bに示されている。
視覚仕様プロトコルPEVは、PEF構成要素及びPEV構成要素が関係付けられる方法を規定する。PEV構成要素は、入力/出力デバイス120のアプリケーションインターフェース123を介して1つ又は複数のPEF構成要素の機能を表示する。
このプロトコルの規定は、アーキテクチャがPEF構成要素内に埋め込まれているという理由で、各ケースに特有の層アーキテクチャの設計を行わずにビジネスプロセス情報を生成するために操作されることがある視覚デバイス上に表示を生じさせることが可能であることを決定する。
この発明のもう1つの実施形態では、PEF構成要素に関係しないPEV構成要素が作成される。例えば:ウェブサイトリンクを含む視覚モデル。PEV構成要素は:Application、ActionLink、AbmViewModel、ListViewModel、TreeViewModel、ReportViewModelである。
Application
Application構成要素は、ソフトウェアアプリケーションを視覚的に構造化する。プロトコルは、アプリケーションを特定するModelとしてApplication構成要素を規定する。アプリケーションは、ユーザが提示された機能にアクセスすることを可能にする最も重要な態様としてMenuを規定する。Menuは、ツリーのMenuGroupモデル及びMenuItemモデルの集合であり、ここでは、MenuGroupは、他のMenuGroup又はMenuItemを同時に含むことができる。MenuItemは、ユーザがMenuItemをクリックするときに取られるべき行動をリンクするものである。アイテムは、下記の可視化モデル(ViwModel):AbmViewModel、ListViewModel、TreeViewModelのうちのいずれかと関係付けられる。ユーザがMenuItemを実行すると、システム100のプロセッサ150は、アプリケーションインターフェース123を介してこのような要求を受け取り、MenuItemに関係付けられたPEV構成要素により呼び出された構成要素PEFの機能をユーザが実行することを可能にする同じインターフェース内の構造を返す。
ViewModel
ViewModel構成要素は、視覚デバイス上にModelObjectインスタンスを公開するのに役立つ。ViewModel構成要素は、ViewModelがModelClassモデルにしたがった動作を実行することを可能にするActionLink構成要素から作られており、ModelClassモデルから、インスタンス及びViewModel構成要素が参照するViewModelのクラスである。
PEV構成要素は、ViewModel及びその特性に基づいて入力/出力デバイス120のアプリケーションインターフェース123に表示されるレイアウト(テンプレート又は視覚レイアウト構造)を規定する。
モデルインスタンスを表示するために、ViewModelの3つのクラス:異なる特性及びレイアウト設定値を有するAbmViewModel、ListViewModel、及びTreeViewModelがある。
(1)AbmViewModel
プロトコルは、ModelObject Modelを作成すること、消去すること又は更新することを可能にする画面の表現を指定するMethodとしてAbmViewModel構成要素を規定する。画面表現は、対応するModelClassモデルに従ってModelobjectインスタンスのModelAttributeValueのすべて又はいくつかを表示する。
AbmViewModelがViewModelであり、ControlViewType構成要素を介してその機能を及びAbmViewModelの特殊な特性を拡張するという理由で、AbmViewModelは、ActionLink構成要素から作られる。
ControlViewType構成要素は、属性データのタイプに従ってModelAttributeValuesを公開する。ここで、ControlViewTypeは、発明の実施形態に関する属性のタイプのリストである。
TextEditor:テキストタイプModelAttributeValuesを公開する。
NumericEditor:数値タイプModelAttributeValuesを公開する。
DataTimeEditor:データタイプModelAttributeValuesを公開する。
ObjectReferenceComboEditor:ModelObjectsセレクタタイプModelAttributeValuesを公開する。
ObjectReferenceListEditor:ModelObjectsセレクタタイプModelAttributeValuesを公開する。
AbmViewModelを構成するActionLink構成要素は:
Save:ModelObjectインスタンスをトランザクションデータベースの内部に保存する。
Cancel:AbmViewModelにより表示された視覚構造を閉じ、modelObjectのインスタンスにユーザにより行われた変更を破棄する。
Save and New:ModelObjectインスタンスを保存し、ユーザが属性の値を埋めるように新しいインスタンスを作成し、AbmViewModelの視覚構造に新しいインスタンスを提示する。
Print:修正されようとしているインスタンスから属性値をプリントする。
発明のある実施形態では、他のViewModelsを呼び出す追加された動作がある。
AbmViewModelの特殊な特性:
AttributeRenderInfo:このモデルは、ModelObjectのある種のインスタンス属性の値を表す制御の表現特殊性を表すために使用される。
ControlTemplate:ModelAttributeを表現するためにセレクタを制御する。属性データタイプに応じて、これは、タイプの性質に従って様々な方法で表されることがある。ControlTemplateは、可能な選択肢のどれが属性を効果的に表現するかの指示を可能にする概念である。
Container:AbmViewModel内には、視覚デバイス内の制御レイアウトを管理するためにコンテナの構造がある。属性を視覚的に表示する構成要素の各々は、コントロールとして知られている。コンテナのこの構造は、ツリーの形式である、言い換えると、コンテナは、他を含むことができる。
ColumnViewModel:コンテナ内では、コントロールは、列の下に設定され、列が含むコントロールのための内部順序を有する。
(2)ListViewModel
プロトコルは、ModelObjectインスタンスの集合を列挙する画面の表現を特定するモデルとしてListViewModel構成要素を規定する。この画面の表現は、表に示されているModelObjectインスタンスの集合のためのインスタンスであるModelClassモデルに従ってこのようなModelObjectが有するModelAttributeValueを表し、表では、各ModelAttributeValueがセルに当てはめられ、ここで、行はインスタンスに対応し、列はModelAttributeに対応する。
ListViewModel構成要素は、これがViewModelであり、構成要素SearchViewModel、ColumnViewModel、ObjectReferenceListGridEditor及びListViewModelの特殊な特性を介してその機能を拡張するのでActionLink構成要素から作られる。
ListViewModelに適合するActionLink構成要素は:New;Cut;Edit;Print;Execute Formulaである。
加えて、RelationObjectリストに関して、下記の動作が生じる:
NewMTarget:関係ターゲットとして指定されたモデルの新たなModelObjectの作成を呼び出す。
NewMTarget&Associate:関係ターゲットとして指定されたモデルの新たなModelObjectの作成を呼び出し、関係の属性のModelObject所有者と関係を実現する。
DeleteMTarget:関係のインスタンスにおいて、関係するModelObject並びに関係のインスタンスを削除する。
EditMtarget:関係するModelObjectの編集画面を呼び出す。
ListViewModelの特別な特性:
Hierarchical view:これは、ModelRelationClassモデルにより関係付けられたオブジェクトのグラフの階層構造表示を指す。
InLine Edition:リストの同じ行内のオブジェクトの属性を修正することをサポートする。
(1)TreeViewModel
プロトコルは、RelationObjectsにより関係付けられたModelObjectsツリーの表現を特定するモデルとしてTreeViewModel構成要素を規定する。この画面の表現は、基本的に、このようなRelationObjectsが関係するModelClassから呼び出すModelAttributeValuesのすべて又はいくつかの公開である。
TreeNodeModel構成要素に表されたツリーノードは、ModelObjectのインスタンス及び問題のノードとその親との間の存在する関係であるRelationObjectのインスタンスを表す。このように、ツリーの第1のレベルノードは、これらがいずれの親ノードにも関係しないので、RelationObjectのいずれのインスタンスによっても公開されない。
TreeViewModel構成要素がViewModelであり、TreeViewModelの特殊な特性を介してその機能を拡張するので、TreeViewModel構成要素は、ActionLink構成要素から作られる。
TreeViewModelに適合するActionLink構成要素は:
New:これは、行動が呼び出されようとしているノードについてのツリーの表示モデルにしたがった対応するModelRelationClassに基づいて新たなRelationObjectインスタンスを作成する。
Delete:これは、現在のノードをその親ノードとリンクするRelationObjectインスタンスを削除する。
Edit:これは、現在のノードをその親ノードとリンクするRelationObjectインスタンスを編集する。
NewMTarget:これは、行動が呼び出されようとしているノードについてのツリーの表示モデルにしたがった対応するModelRelationClassモデルについての関係のターゲットに対応する新たなModelObjectインスタンスの作成を呼び出す。
NewMTarget&Associate:NewMTargeと同じく、行動が呼び出されたノードによって表されたModelObjectと新たなModelObjectとをリンクさせるためにRelationObjectインスタンスを次いで作成することを追加される。
EliminateMTarget:これは、現在のノードによって表されたModelObjectインスタンスを削除する。
EditMtarget:現在のノードによって表されたModelObjectインスタンスを編集する。
TreeViewModelの特殊な特性:
LoadOnDemand:これは、ユーザがツリーを拡張することと対話する一方で、ツリーがそのノードに気付き、ロードすべきかどうかを指示する。
ShowExpanded:これは、ツリーを可視化するときに、ツリーが拡張したノードのすべてとともに表示されるべきであることを指示する。
EditOnClick:これは、ユーザがクリックすると、ノードによって表されたオブジェクトの編集が呼び出されるべきであることを指示する。
(4)ActionLink
ActionLink構成要素は、ModelObjectのインスタンスに実行するためにViewModelにおいて利用可能である動作を規定する。
各ViewModelサブクラスは、視覚デバイスに公開された機能に関してActionLinkの異なるリストを有する。
(5)ReportViewModel
ReportViewModelは、モデルインスタンシエータ153として構成されたプロセッサ150が、例えば、Reporting Servicesのような任意のレポート配送サービスと対話することができるように、必要な仕様を含む。
ModelObjectインスタンスレポジトリがクエリ方法と矛盾しないので、これらのサービスが、レポートを容易に発生し、埋め込むことが可能であるこれらの技術を備え、すべての必要なレポート用の構成を有する表示構成要素を使用させるような方法で実装することが可能である。
下位段階A3. UIリソースをロードする
視覚仕様プロトコルPEVは、プロセッサ150が視覚構成要素をUIリソースと結合することができるような方法で設計される。この結合の目的は、プロセッサがユーザインターフェースをモデル化するためにこれらの構成要素を迅速に利用可能させることができることである。これは、UIリソースとそしてViewModelから直接リンクされる下位段階A2においてロードしたPEVプロトコルのControlViewTypeの概念を通して可能であり、どのUIリソースが、入力/出力デバイス、アプリケーションインターフェース123上のユーザインターフェースのある種の部分を表すかを示している。
UIリソースは、任意のUI言語(例えば、HTML5)で宣言された一部分であり、その外観は、階層式スタイルシート(css)で調節されることが可能である。これらのリソースは、データベースメモリ130、論理構造UIリソース133に記憶される。次いで、UIコンバイナ152として設定されたプロセッサ150が、その機能を実行すると、プロセッサは、これらのUIリソースをデータベースメモリ130、論理構造モデルMV134に存在する論理構造ControlViewTypeのインスタンスとリンクし、これらの融合させたモデルをソフトウェアタイプアプリケーションの提示において使用されるように利用可能なままにする。
段階B. 設計構成要素を識別し、記憶する
設計がこの発明により包含されるプロセスへの入力として重要であるという理由で、設計が記述される。
設計ドキュメントは、図2Bに示したように、2つのタイプの知られている図を特に参照して、ソフトウェアタイプアプリケーションを規定する機能及び視覚構造を規定する。
機能設計を表すクラス図(220)。これらの設計値は、機能モデルの作成において使用される。
要求される視覚設計を表す画面図(221)。これらの設計値は、視覚モデルを作成するために使用される。
機能設計及び画面設計のこの段階の時点では、下記の下位段階が行われる:
下位段階B1. 機能設計構成要素を識別する
解決されるべき論理を表すクラス設計(220)に基づいて、図に存在するクラスを列挙する。クラス図に基づき、構成要素のタイプがOOパラダイムに従って規定されることを考慮してクラスの構成要素を識別し、下位段階A1においてロードしたPEFプロトコルにより何が確立されたかに従って、ModelClass構成要素に対応させる。図2B1の例に示されているように、識別した各構成要素の名前を識別し、図2C1の例に認められ得る通りに、対応するPEF構成要素を決定し、このようである:
図がクラスを表す場合には、機能構成要素タイプOO Classを識別し、PEF ModelClass構成要素がこれに対応することを判断する。
図がクラス内の属性を表す場合には、機能構成要素タイプOO Attributeを識別し、PEF ModelAttributeがこれに対応することを判断する。
図が関係を表す場合には、機能構成要素タイプOO Relationshipを識別し、PEF ModelRelationClassがこれに対応することを判断する。
図がクラス内の方法を表す場合には、機能構成要素タイプOO Methodを識別し、下記を決定する:
方法が代数数学計算に言及する場合には、これはPEF Formula構成要素に対応する。
方法が集合理論に等価な数学機能に言及する場合には、システムの外部のデータを参照するケースでは外部にあるはずのPEF Domain構成要素に対応する。
図が継承を公開する場合には、機能構成要素タイプOO Inheritanceを識別し、象限図Model−ClassのPEFプロトコルに規定されるように、2つのModelClass間の継承関係がこれに対応することを判断する。
ユーザは、入力/出力デバイス120、CDインターフェース121を介して、識別したPEF構成要素をロードし、モデルバリデータ151として構成されたプロセッサ150は、汎用メモリ140、論理構造MFマトリックス142にPEF構成要素を記憶させる。
下位段階B2. 視覚設計構成要素を識別する
モデルインスタンシエータ153として構成されたプロセッサ150により自動的に構築されるソフトウェアタイプアプリケーションを見ること及び対話することを人が望む方法を表している画面設計を参照すると、「ケース」のためのソフトウェアタイプアプリケーションを公開するように作成されるはずの視覚モデルを決定するために実行されるべきステップが、下記のように説明される。
PEF構成要素リストに基づいて、視覚仕様プロトコルが段階Aにおいてロードされ、ModelClassタイプの概念を識別し、下記のようにプロトコルPEV(Application、AbmViewModel、ListViewModel、TreeViewModel)を規定する視覚モデルを作成する:
a.各ModelClassに対して、下記のViewModelが作成されるはずである:AbmViewModel、ListViewModel。
b.各モデルRelationClassに対して、下記のViewModelが作成されるはずである:ListViewModel、TreeViewModel。
c.すべてのPEF構成要素を表示するために、下記が作成されるはずである:ApplicationModel、MenuViewModelモデル、MenuGroupモデル及び前のステップにおいて作成された各ViewModelに関するItemGroupモデル。
この発明のもう1つの実施形態では、システム100は、プロセス入力として利用可能な「ケース」に対応する画面設計値とおそらく最も近い類似性を実現するために作成された視覚モデルを編集することを可能にする。
ユーザは、入力/出力デバイス120、インターフェースCDV122を介して、識別したPEF構成要素をロードし、モデルバリデータ151として構成されたプロセッサ150は、汎用メモリ140、論理構造MVマトリックス143にPEF構成要素を記憶する。
段階B’. 自然言語からCF及びCDを発生する
この発明の実施形態では、図3Aに示したように、段階B’が段階Bを置き換える。
この段階では、ユーザは、自然言語からCF及びCDを発生する。例えば、その全体を参考文献として提出した、「PROCESS AND SYSTEM FOR AUTOMATIC GENERATION OF FUNCTIONAL ARCHITECTURE DOCUMENETS AND SOFTWARE DESIGN AND ANALYSIS SPECIFICATION DOCUMENTS FROM NATURAL LANGUAGE」という名称の米国特許出願公開第15/141,748号に記載されているように使用する。
この実施形態では、次の下位段階が続く:
下位段階B’1. 機能構成要素を取得する
プロセッサ150は、米国特許出願公開第15/141,748号で識別されたデータベースメモリ、論理構造172に接続し、「ケース」から機能構成要素を取得し、MFマトリックス142に機能構成要素を記憶する。
下位段階B’2 視覚構成要素を識別する
プロセッサ150は、下位段階B’1中に取得した機能構成要素のリストを通読し、下位段階A2において規定した視覚仕様プロトコルPEFを適用する。図2C2に示されているように、各機能構成要素から1つ又は複数の視覚構成要素を取得し、MVマトリックス143に視覚構成要素を記憶する。
段階C. 機能モデル及び視覚モデルを作成する
この段階では、プロセッサ150は、汎用メモリ140、論理構造MFマトリックス142から下位段階B1において作成されたPEF構成要素を引き出し、次の下位段階が続く:
下位段階C1. PEF構成要素を識別し、機能モデルを作成する
この下位段階では、図2Cに示されているように、プロセッサ150は、下位段階B1において作成され、汎用メモリ140内の利用可能なPEF構成要素を識別し、下位段階A1においてロードしたプロトコルに従ってPEF構成要素を特定する。次いで、プロセッサ150が「ケース」のためのソフトウェアタイプアプリケーションをインスタンス化するために使用する機能を特定する機能モデルを作成する。プロセッサ150は、これらのステップにしたがう:
1.下位段階B1において決定されたように、どんなPEF概念が設計構成要素の各OOタイプに関する仕様プロトコルに基づいて作成されなければならないかを識別するためにリストを通読する。
2.関係付けられたPEF概念が数式であるこれらの設計構成要素に関して、下記の追加のPEF構成要素を作成する:
a.これは、PEF構成要素FxCallタイプを作成し、これを同じクラス内の数式を使用するModelAttributeにリンクする。
b.数式論理が方法の設計構成要素所有者に属さない属性の使用を暗に示す場合には、数式論理は、数式の引数として作用するデータを設置するPEF概念Domainタイプを作成する。
プロセッサ150は、データベースメモリ130、論理構造モデルMF135に記憶された機能モデルを記憶する。
プロセスのクラス設計入力の変換は、機能仕様プロトコルPEFを適用すると、その時にはプロセッサ150により解釈され、モデルインスタンシエータ153として構成されるモデルのセットに由来する。
下位段階C2. PEF構成要素を識別し、視覚モデルを作成する
この下位段階では、図2C2に示されているように、プロセッサ150は、下位段階B2において作成され、汎用メモリ140内の利用可能なPEF構成要素を識別し、下位段階A2においてロードしたプロトコルにしたがうPEV概念を特定する。その後、プロセッサ150が入力/出力デバイス120のアプリケーションインターフェース123内の情報構造を表している「ケース」についてのソフトウェアタイプアプリケーションを表示するために使用する機能を特定する視覚モデルを作成する。プロセッサ150は、これらの次のステップにしたがう:
1.視覚仕様プロトコル(PEV)において何が確立されているかに基づいて下位段階B2において作成されたPEF概念のリストを通読する。
2.前の段階で識別された各PEV概念に対して、PEVプロトコルにおいて何が確立されているかに従って視覚モデルを作成する。
3.「ケース」を表している名前を有する視覚モデルApplicationタイプを作成する。
4.代表する名前を有する視覚モデルMenuタイプ及び設計構成要素の各々毎にMenu Groupを作成し、設計構成要素名をグループに割り当てる。
5.設計構成要素により作成された各視覚モデル当たり1つ、各Menuグループ内に2つのMenu項目を作成する。例えば:クラス構成要素1について、「Class」と名付けたMenuグループそして次いで2つのMenu項目:1つは「ABM Class1」と呼ばれ、もう1つは「List Class1」と呼ばれる、を作成する。各Menu項目をその名前に対応する視覚モデルとリンクする。
視覚モデルは、視覚モデルと機能モデルとの間のリンクを修正せずに編集される。視覚モデルを編集するときに、段階Aにおいてロードされたプロトコルにおいて何が確立されているかに従って、それぞれの視覚モデルと機能モデルとの間に存在するリンクを変えずに入力/出力デバイス120内のレイアウト構成要素について、大きさ及び位置が変更される。
プロセッサ150は、データベースメモリ130、論理構造MVモデル134に視覚モデルを記憶する。
段階C’. 機能モデル及び視覚モデルを組み込む
この発明の実施形態では、図3Bに示されているように、段階C’は段階Cの置き換えである。
この段階では、ユーザにより作成された機能モデル及び視覚モデルが、下位段階A1及びA2において規定したプロトコルの基準を手作業で適用して組み込まれる。
入力/出力デバイス120により、ユーザは、手作業で作った機能モデルをデータベースメモリ130、論理構造モデルMF135へとロードする。
入力/出力デバイス120により、ユーザは、手作業で作った機能モデルをデータベースメモリ130、論理構造モデルMV134へとロードする。
段階D. 操作可能なソフトウェアタイプアプリケーションとして機能モデル及び視覚モデルを読み取り、インスタンス化する
この段階では、モデルインスタンシエータ153として構成されたプロセッサ150は、汎用メモリ140が記憶する結合型モデルを構築する目的でデータベースメモリ130にアクセスする。結合型モデルは、機能モデルMF(PEFプロトコルに基づいて規定される)を視覚モデルMV(プロトコル毎に基づいて規定される)と結合するモデルである。これゆえ、結合型モデルは、ユーザによってアクセス可能であり、操作可能であるソフトウェアタイプアプリケーションとして、アプリケーションインターフェース123に表示される単一のモデルに結合され、任意のUIリソース133に関係付けられた視覚モデルの機能及び定義を表す。
モデルインスタンシエータ153として構成されたプロセッサ150により生成された結果は、ソフトウェアタイプアプリケーションに関する解釈及び配送サービスにより表示される。ユーザがこのサービスを認証すると、見る最初のものは、対話することを開始するために用いるアプリケーションのインターフェースである。
この発明では、解釈は、サービスとしてそして結合型モデル(Model MF+Model MV+UIリソース)を読むことにより実行されるプロセスであり、解釈は、入力/出力デバイス120のアプリケーションインターフェース123に表示されたソフトウェアタイプアプリケーションにおいてユーザにより実行された動作を解決する。
システム100を実行することの主な結果として、下記を取得することが可能である:
アプリケーションインターフェース123に表示されたソフトウェアタイプアプリケーション。
ソフトウェアタイプアプリケーションと対話することにより作成されたユーザが発生した情報のセット、一般に「ユーザデータ」と呼ばれ、プロセッサ150がデータベースメモリ130、論理構造オブジェクト136に記憶する。
この結果を満足させるために、モデルインスタンシエータ153として構成されたプロセッサ150は、これらの下位段階にしたがう:
下位段階D1. 視覚モデルMVを読み取り、解釈する
モデル(機能及び視覚の両者)は、段階Aでロードされ、それぞれデータベースメモリ130、論理構造PEF132及びPEV131に記憶されたプロトコルを尊重する構造である。
この下位段階では、モデルインスタンシエータ153として構成されたプロセッサ150は、下位段階A2においてロードしたPEVプロトコルからの定義に従って記憶され、検証される視覚モデルをデータベースメモリ130、論理構造モデルMV134から再生する。
一旦、視覚モデルが読み取られると、システム100は、レイアウト内にModelObject及びActionLinkインスタンスの配置を配列するレイアウト構造を構成し、このような構造を汎用メモリ140、論理構造UI構成要素マトリックス141に記憶する。
下位段階D2. 機能モデルMFを読み取り、解釈する
この下位段階では、モデルインスタンシエータ153としてのプロセッサ150は、下位段階A1中にロードしたPEFプロトコルの定義に従って記憶され、検証されているデータベースメモリ130、論理構造モデルMF135の機能モデルを読み取る。
システム100のプロセッサ150は、3つのタイプの機能モデル:計算モデル、データ持続性モデル及び対話型データモデルを処理する:
計算モデル:表現式を解くサービスへ表現式を運ぶMFリポジトリに見つけられた数式クラスからの表現式を処理し、FxCallを介してModelAttributeのインスタンスの形式で結果を返す。
データ持続性モデル:Objectリポジトリ136内で動作するDomainクラスにより提供されるデータベースメモリ130へのアクセス表現式を処理し、リポジトリMFで見つけられたものを実行する。
対話型データモデル:ユーザが対話する各ViewModel毎のActionLinkにより対話式に、アプリケーションインターフェース123からユーザが入力したデータを処理する。
一旦、機能モデルが読み取られると、システム100プロセッサ150は、ビジネスタイプ構造を解釈し、インスタンス化し、これを下位段階D1において作成された視覚構造にリンクされた汎用メモリ140、論理構造UI構成要素マトリックスに記憶し、ここで、インスタンス化された視覚モデルと機能モデルとの間のリンクが段階Aにおいてロードしたプロトコルから論理に応答する。
下位段階D3. UIリソースを選択し、結合する
UIリソースは、データベースメモリ130、UIリソース論理構造に予め記憶されたソフトウェア構成要素であり、UIリソース論理構造は、視覚モデルに基づいて実行されると、アプリケーションインターフェース123内の画面上に図を表現する。これらは、視覚モデルを処理するための定義である。ソフトウェア産業では、異なるUIリソースセットが利用可能であり、これらは、得られたソフトウェアタイプアプリケーション用に異なる視覚化モードを提案するために、下位段階A3に示されているようなシステムに組み込まれることがある。
各融合モデルを完成させるために、システム100は、マトリックスMF142から構成要素、マトリックスMV143からその対応する構成要素、及び選択したMVのタイプと互換性のあるUIリソース133を選択する。UIコンバイナ152として構成されたプロセッサ150は、選択した構成要素を結合し、UIリソースの機能のための引数、構成要素が機能することを必要とする結合型モデル(Model MF+関係するModel MV)の部品として配送する。
このようにして、プロセッサ150は、入力/出力デバイス120に結合型構成要素を提示し、「ケース」に対して作成された構成要素の各々について手順を繰り返す。表示された構成要素は、動作ボタン、データ取り込みセル及び結合型モデルに含まれる他の構成を表示するソフトウェアタイプアプリケーションの操作画面を構成する。例えば:ModelAttribute名を有するModelClass Articleが、ModelAttribute Nameのインスタンスを編集するTextEditorで画面を規定するAbmViewModelに表示される。この画面は、ModelViewから各ActionLink毎に機能を規定する。
ビューモデルは、名前を示すために「コントロールTextBox 3d」と呼ばれるUI構成要素を使用することを指定し、この理由で、プロセッサ150は、結合型モデルを完成させるためにUIリソースメモリ133に記憶されている既に述べた構成要素を結合する。このような結合は、「コントロールTextBox 3d」構成要素の特性に従って、ネームテキストフィールドが3d及び色外観で入力/出力デバイス120に表示されることを可能にする。構成要素タイプTextEditorは、UIリソーステキストボックス3Dと結合され、プロセッサ150用のModelAttribute機能にリンクされて、ボックスをアプリケーションインターフェース123上でインスタンス化し、ボックスではユーザが三次元外観でテキストを追加することができ、データがデータベースメモリ130、論理構造オブジェクト136へと持続され得るようにテキスト取り込みをサポートする。
下位段階D4. 呼び出したModelClassインスタンスを解く
一旦、結合することが下位段階D3において行われると、得られるソフトウェアタイプアプリケーションを形成する結合型モデルを汎用メモリ140、論理構造UI構成要素マトリックスに見つけることが可能である。モデルインスタンシエータ153として構成されたプロセッサ150は、ユーザに提示される結合型モデル(ModelClass−ViewModel−UIリソース)に関連付けられたModelObjectからインスタンスを取得する。選択したインスタンスに対応するAttributeValuesは、結合型モデルに規定されたレイアウトに従って入力/出力デバイス120のアプリケーションインターフェース123へ送られ、このようにしてソフトウェアタイプアプリケーションの操作可能な画面がユーザに提示される。
下位段階D5. ユーザの要求を受け取り、解決する
一旦、入力/出力デバイス120のアプリケーションインターフェース123上に表示があると、ユーザは、いずれかのボタンを押すこと、セルのうちの1つに何らかのデータを入力すること、若しくはいずれかの選択肢リストを開くこと、又は利用可能な視覚構造のどれかにアクセスすることにより対話する。これが生じると、モデルインスタンシエータ153として構成されたプロセッサ150は、下位段階A1においてロードしたプロトコルPEFに何が規定されているかに従って、ActionLink又は存在する機能のうちのいずれかを介して、ユーザが操作している結合型モデルを形成する機能モデルに対応する機能を実行する。
下位段階D6. 更新したModelClass Instancesを表示する
一旦、結合型モデルが解決されると、モデルインスタンシエータ153として設定されたプロセッサ150は、入力/出力デバイス120のアプリケーションインターフェース123に公開された結合型モデルのインスタンス更新を生じさせる。プロセッサ150は新しいインスタンスを取出し、生成された変更で入力/出力デバイス120を更新する。
方法適用例:
図2C1に示したもののようなクラス図及び図2Dに示したもののような画面図から構成されるケースが与えられると、方法の段階は下記のように実行される:
段階A.メモリへとプロトコルをロードする
この段階は、プロトコルがロードされ、最終的にはUIリソースがシステムに追加される時点だけであるので、システムの開始と考えられる。
段階B.設計構成要素を識別し、記憶する
この段階では、「ケース」についてのクラス設計及び画面設計が行われ、下記の下位段階が生じる:
(i)下位段階B1. 機能設計構成要素を識別する
クラス図内の各構成要素に関して、対応するPEF構成要素が、下位段階A1においてロードした機能仕様プロトコルPEFを適用して識別され、このようである:
ユーザは、入力/出力デバイス120、インターフェースCDF121を介してこのリスト、表1の列1、2、及び3(設計構成要素、OOタイプ、及び名前)を入力し、プロセッサ150は、これを汎用メモリ140、論理構造MFマトリックス142に記憶する。次いで、モデルバリデータ151として設定されたプロセッサ150は、下位段階A1においてロードした機能仕様プロトコルPEFを読み取り、表1の列3及び4(PEF概念及び作成されるモデルの名前)を完成し、これらのデータで汎用メモリ140、論理構造MFマトリックス142を更新する。
(ii)下位段階B2.視覚設計構成要素を識別する
画面設計値の各々毎に、対応するPEV構成要素は、下位段階A2においてロードした視覚仕様プロトコルPEVを適用して識別され、次の通りである:
モデルバリデータ151として設定されたプロセッサ150は、汎用メモリ140、論理構造マトリックスMF142に存在する機能構成要素のリストを取り出し、表2の列1及び2(機能構成要素、概念PEF)に正に示されているかのように、これを入力/出力デバイス120、CDVインターフェース122に公開する。プロセッサ150は、下位段階A2においてロードした視覚仕様プロトコルPEVを読み取り、列3及び4(PEF概念、作成されるVisual Model)を完成し、これらのデータで汎用メモリ140、論理構造MVマトリックス143を更新する。
段階C. 機能モデル及び視覚モデルを作成する
この例から段階Bにおいて識別した機能構成要素及び視覚構成要素に関して、下記の下位段階が生じる:
(iii)下位段階C1. PEF構成要素を識別し、機能モデルを作成する
プロセッサ150は、表1の列3及び4(PEF概念及び作成されるモデルの名前)に対応し、汎用メモリ140、MFマトリックス142上の利用可能なPEF構成要素を識別し、下位段階A1においてロードしたプロトコルに従ってPEF概念を特定する。リストを通読し、PEF概念を識別し、PEFプロトコル定義に従ってPEF概念を必要とするこれらの方法において数学用に規定された構成要素を作成する。この仕様は、機能モデルを作成し、機能モデルを論理構造モデルMF135に記憶するために、PEF概念及びデータベースメモリ130内の対応する論理構造を識別するように暗に示している。
この例では、データベースメモリ130、論理構造モデルMF135に記憶された機能モデルの下記のリストが、この段階の結果として得られる:
機能モデル作成の技術的構造は、図2C1に認められることがあり、表3の各構成要素が、対応するPEFプロトコル概念に関連して表されている。
(iv)下位段階C2.PEV構成要素を識別し、視覚モデルを作成する
プロセッサ150は、表2の列3及び4(PEF概念、作成される視覚モデル)に対応する汎用メモリ140、MFマトリックス142で利用可能なPEV構成要素を識別し、下位段階A2においてロードしたプロトコルに従ってPEV概念を特定する。
この例では、データベースメモリ130、論理構造モデルMV134に記憶された視覚モデルの下記のリストが、この段階の結果として得られる:
段階D. 操作可能なソフトウェアタイプアプリケーションとして機能モデル及び視覚モデルを読み取り、インスタンス化する
下位段階D1.視覚モデルMVを読み取り、解釈する
下位段階D1において指し示された発明のプロセスは、表4の例からのリストに基づいて実行される。
下位段階D2.機能モデルMFを読み取り、解釈する
下位段階D2おいて指し示された発明のプロセスは、表3の例からのリストに基づいて実行される。
下位段階D3.UIリソースを選択し、結合する。
選択したUIリソースは、図2Dに示したもののような視覚設計を実現するまで、画面設計から要求される画面を表示するために結合される。
下位段階D4.呼び出したModelClassインスタンスを解決する
ユーザがアプリケーションインターフェースを操作するので、システムは、この発明の下位段階D4において列挙した動作を実行することにより応答する。
下記の下位段階は、ユーザが例の得られるアプリケーションと対話しながら生成される。
下位段階D5.ユーザの要求を受け取り、解決する
下位段階D6.更新したModelClass Instancesを公開する
当業者には明白ので、別記の特許請求の範囲によってのみ規定される発明の本質から離れては求められない様々な変形形態及び可能な修正形態があるという理由で、この発明は、説明し、図示した実施形態に限定されないことが、理解されなければならない。

Claims (8)

  1. ソフトウェア設計仕様書に基づいてソフトウェアタイプアプリケーションを自動的にインスタンス化し、表示するコンピュータ実装方法であって、
    a.中央処理装置(CPU)に接続された入力/出力デバイス120を介して、機能仕様プロトコル(PEF)、視覚仕様プロトコル(PEV)、及びUIリソースをロードし、前記機能仕様プロトコル(PEF)、前記視覚仕様プロトコル(PEV)及び前記UIリソースを前記CPUに接続されたデータベースメモリ130に記憶する段階と、
    b.段階aのプロトコルに対して識別し、検証し、前記ソフトウェア設計仕様書に基づいて機能設計構成要素及び視覚設計構成要素を汎用メモリ140に記憶する段階であって、前記識別する段階及び前記記憶する段階は、
    メモリ又は前記入力/出力デバイスからロードしたクラス設計に基づいて前記機能設計構成要素を識別する下位段階と、
    メモリ又は前記入力/出力デバイスからロードした画面設計に基づいて前記視覚設計構成要素を識別する下位段階と、を含み、
    c.段階bにおいて識別した前記機能設計構成要素及び前記視覚設計構成要素に基づいて機能モデル及び視覚モデルを自動的に作成し、前記機能モデル及び前記視覚モデルを前記データベースメモリ130の論理構造モデルMF135及びモデルMV134それぞれに記憶する段階であって、前記機能モデル及び前記視覚モデルを作成する段階は、
    前記中央処理装置を介して、前記機能仕様プロトコル(PEF)を処理して機能構成要素を識別し、識別された前記機能構成要素に基づいて機能オブジェクトと共に前記機能モデルを作成する下位段階と、
    中央処理装置を介して、前記視覚仕様プロトコル(PEV)を処理して視覚構成要素を識別し、識別された前記視覚構成要素に基づいて機能コンテンツと共に前記視覚モデルを作成する下位段階と、を含み、
    d.モデルインスタンシエータ153として設定されたプロセッサ150を使用して段階aにおいて記憶されたプロトコルからの規範に従ってUIリソースと結合された、段階cにおいて作成された前記機能モデル及び前記視覚モデルを共に読み取り、インスタンス化し、前記入力/出力デバイス120のアプリケーションインターフェース123に自動的に表示する段階と
    を含む、方法。
  2. 段階dが、
    a.前記中央処理装置を介して、前記視覚モデルを読み取り、処理する下位段階と、
    b.前記中央処理装置を介して、前記機能モデルを読み取り、処理する下位段階と、
    c.前記中央処理装置を介して、前記機能モデルを処理して、ユーザインターフェース(UI)構成要素を選択し、結合する下位段階と、
    d.前記中央処理装置を介して、前記機能モデルの構成要素を処理して、前記入力/出力デバイスと対話することを介して前記ユーザにより呼び出されたメタクラスのインスタンスを解決する下位段階と、
    e.前記入力/出力デバイスを介して送られたユーザ要求を受け取り、解決し、前記中央処理装置により前記ユーザ要求を処理する下位段階と、
    f.表示デバイスに更新したメタクラスインスタンスを示す下位段階と、
    を含む、請求項1に記載の方法。
  3. 段階aが、
    a.前記中央処理装置を介して、前記データベースメモリ130に記憶した機能図を処理して、前記機能図に含まれているクラスを識別するステップと、
    b.各クラスの名前を識別し、前記各クラスの前記名前を前記データベースメモリ130に記憶するステップと
    を含む、請求項に記載の方法。
  4. 段階bが、
    a.前記視覚仕様プロトコルを適用し、前記視覚仕様プロトコルを前記データベースメモリ130に記憶して識別したクラスに基づいて視覚モデルを作成するステップと、
    b.前記作成された視覚モデルの外観を編集し、必要とされるケースでは前記入力/出力デバイス120を使用して前記データベースメモリ130に前記外観を記憶するステップと
    を含む、請求項に記載の方法。
  5. 段階aが、
    a.前記機能モデルのリストを前記中央処理装置を介して処理して、前記機能構成要素及び前記視覚構成要素の各々についてデータベースメモリ130へとロードした前記機能仕様プロトコルに従って、前記機能モデルに含まれているオブジェクトを作成するステップと、
    b.前記中央処理装置を介して、数式に関連付けられた機能図の構成要素を処理して、前記数式の実行を可能にする追加の構成要素を作成し、前記追加の構成要素を前記データベースメモリに記憶するステップと、
    を含む、請求項に記載の方法。
  6. 段階bが、
    a.前記中央処理装置を介して、各機能概念に対して、前記視覚仕様プロトコル(PEV)からの概念を規定するために、前記データベースメモリ130に記憶した機能仕様プロトコル概念(PEF Concepts)のリストを処理するステップと、
    b.各機能概念に対して視覚モデルを作成し、前記視覚モデルを前記データベースメモリ130に記憶するステップと、
    c.代表ケース名を使用し、前記ケース名を前記データベースメモリ130に記憶して、アプリケーションのための視覚モデルを作成するステップと、
    d.前記視覚設計構成要素の各々についての代表名及びメニューグループを使用し、前記グループに視覚設計構成要素名を割り当て、前記グループを前記データベースメモリ130に記憶してメニュータイプ視覚モデルを作成するステップと
    を含む、請求項に記載の方法。
  7. ソフトウェア設計仕様書に基づいて、操作可能なソフトウェアタイプアプリケーションをインスタンス化し、公開するシステムであって、
    a.機能設計構成要素(CDF)インターフェース121、視覚設計構成要素(CDV)インターフェース122、及びアプリケーションインターフェース123を含み、ソフトウェア設計仕様書を入力し、得られるソフトウェアタイプアプリケーションを表示するための、入力/出力デバイス120と、
    b.前記入力/出力デバイス120に接続された中央処理装置(CPU)110であり、
    プロセッサ150と対話する前記入力/出力デバイス120と通信し、機能設計構成要素及び視覚設計構成要素、並びにUI構成要素を揮発的に記憶するように設定された汎用メモリ140と、
    前記入力/出力デバイス120から少なくとも1つの前記ソフトウェア設計仕様書を受け取るように設定されたプロセッサ150であり、
    前記プロセッサ150が、データベースメモリ130に記憶されているプロトコルに対して前記少なくとも1つのソフトウェア設計仕様書を検証し、前記得られるソフトウェアタイプアプリケーション、統合される機能モデル及び視覚モデルを識別する、モデルバリデータ151として設定され、
    前記プロセッサ150が、前記機能モデル及び前記視覚モデル、並びにUIリソースを結合して、前記得られるソフトウェアタイプアプリケーションを得るためのユーザインターフェース(UI)コンバイナ152として設定され、
    前記プロセッサ150が、前記アプリケーションインターフェース123に前記得られるソフトウェアタイプアプリケーションを表示するモデルインスタンシエータ153として設定された、プロセッサ150と
    を含む、中央処理装置(CPU)110と、
    c.CPU110に接続され、プロセッサ150とペアリングされ、論理構造PEV131に視覚仕様プロトコルPEVを、論理構造PEF132に機能仕様プロトコルPEFを、及び、UIリソース133の論理構造にユーザインターフェースUIリソースを、静的に記憶するように構成されるとともに、論理構造視覚モデルMV134の内部に視覚モデルを、論理構造機能モデルMF135に機能モデルを、及び、論理構造オブジェクト136の内部にオブジェクトを、動的に記憶するように設定されたデータベースメモリ130と
    を備え
    前記中央処理装置は、
    前記入力/出力デバイスに記憶したすべての設計モデルを復元し、前記データベースメモリにロードした機能検証プロトコル(PEF)に対する全ての前記設計モデルの検証を処理し、
    前記入力/出力デバイスに記憶したユーザインターフェースの前記設計モデルを復元し、前記データベースメモリにロードした視覚検証プロトコル(PEV)に対するユーザインターフェースの前記設計モデルの検証を処理し、
    前記機能モデルの解釈を処理し、前記機能モデルの解釈を前記データベースメモリに記憶し、
    前記視覚モデルの解釈を処理し、前記視覚モデルの解釈を前記データベースメモリに記憶し、
    前記データベースメモリから前記機能モデル及び前記視覚モデルを復元し、前記機能モデルと前記視覚モデルとの間の結合及び対話処理の実行に基づいてユーザインターフェースを作成し、前記データベースメモリに前記インターフェースを記憶し、前記入力/出力デバイスに前記得られるソフトウェアタイプアプリケーションを表示する、
    システム。
  8. 前記入力/出力デバイスが、
    a.前記機能モデルを作成するために前記中央処理装置により復元される機能図を汎用メモリ140へと入力することを可能にし、
    b.前記視覚モデルを作成するために前記中央処理装置により復元される画面設計を汎用メモリ140へと入力することを可能にする
    ことを特徴とする、請求項に記載のシステム。
JP2017559053A 2015-05-13 2016-05-13 設計仕様書に基づきソフトウェアタイプアプリケーションを表示するコンピュータに実装された方法 Active JP6725535B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562161216P 2015-05-13 2015-05-13
US62/161,216 2015-05-13
PCT/IB2016/052806 WO2016181368A1 (es) 2015-05-13 2016-05-13 Método implementado por computador que expone aplicaciones tipo software a partir de especificaciones de diseño

Publications (2)

Publication Number Publication Date
JP2018514878A JP2018514878A (ja) 2018-06-07
JP6725535B2 true JP6725535B2 (ja) 2020-07-22

Family

ID=57247885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017559053A Active JP6725535B2 (ja) 2015-05-13 2016-05-13 設計仕様書に基づきソフトウェアタイプアプリケーションを表示するコンピュータに実装された方法

Country Status (14)

Country Link
US (1) US10379817B2 (ja)
EP (1) EP3296866B1 (ja)
JP (1) JP6725535B2 (ja)
CN (1) CN107851001B (ja)
BR (1) BR112017024159B1 (ja)
CA (1) CA2985954A1 (ja)
CO (1) CO2017011542A2 (ja)
DK (1) DK3296866T3 (ja)
ES (1) ES2936090T3 (ja)
FI (1) FI3296866T3 (ja)
IL (1) IL255563B (ja)
MX (1) MX2017014472A (ja)
PT (1) PT3296866T (ja)
WO (1) WO2016181368A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10831449B2 (en) 2015-04-28 2020-11-10 Lexica S.A.S. Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language
US10303441B2 (en) 2015-04-28 2019-05-28 Nadia Analía Huebra Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language
US10956681B2 (en) 2018-01-30 2021-03-23 Google Llc Creating apps from natural language descriptions
CN109343849A (zh) * 2018-09-25 2019-02-15 珠海格力电器股份有限公司 一种系统、系统ui的设计方法及工业触摸屏
CN109814480B (zh) * 2019-01-18 2021-10-08 广州宁基智能系统有限公司 Plc与线控程序之间的可视化交互方法及系统
US11762634B2 (en) 2019-06-28 2023-09-19 Asg Technologies Group, Inc. Systems and methods for seamlessly integrating multiple products by using a common visual modeler
CN110428223A (zh) * 2019-07-23 2019-11-08 中国建筑第八工程局有限公司 建筑施工安全交底的方法、系统及bim+vr管理平台
JP6847382B1 (ja) * 2019-09-23 2021-03-24 株式会社デンソークリエイト 設計支援ツール
CN112000318B (zh) * 2020-08-31 2022-02-08 中国科学院长春光学精密机械与物理研究所 光电对抗装备教学训练系统通用架构方法、设备及介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08320784A (ja) * 1995-05-26 1996-12-03 Nec Corp プログラム作成方法
US6289513B1 (en) * 1999-06-01 2001-09-11 Isaac Bentwich Interactive application generation and text processing
US6681383B1 (en) * 2000-04-04 2004-01-20 Sosy, Inc. Automatic software production system
US20020077823A1 (en) 2000-10-13 2002-06-20 Andrew Fox Software development systems and methods
US20030028579A1 (en) 2001-08-06 2003-02-06 Kulkarni Vinay Vasant Process for component-based application development
US7694272B2 (en) * 2002-10-21 2010-04-06 Sungard (Israel) Ltd Method, a language and a system for the definition and implementation of software solutions by using a visualizable computer executable modeling language
WO2004086222A2 (en) 2003-03-26 2004-10-07 Bizplus Limited Development of software systems
US8156469B2 (en) * 2005-12-29 2012-04-10 Sap Ag Single composition of pattern modules
CN100451954C (zh) * 2005-12-29 2009-01-14 吉林大学 框架定制的模型驱动软件生成方法
US20080016176A1 (en) * 2006-07-13 2008-01-17 Ofir Leitner System for development of games for mobile devices and distribution thereof
JP2008052356A (ja) * 2006-08-22 2008-03-06 Hitachi Software Eng Co Ltd ソースコード自動生成装置
US7734560B2 (en) * 2006-08-23 2010-06-08 Sap Ag Loose coupling of pattern components with interface regeneration and propagation
CN101004680B (zh) * 2006-11-23 2011-06-22 福建顶点软件股份有限公司 一种以直接对象模型定义为核心的灵活快捷的软件开发方法及支持系统
AU2008229743A1 (en) * 2007-10-03 2009-04-23 Britesoft Solutions (M) Sdn Bhd Cutomizable Application System
US8255869B2 (en) * 2008-06-30 2012-08-28 Rockwell Automation Technologies, Inc. Industry template customization and transclusion for use in industrial automation and information solutions
US20100160039A1 (en) * 2008-12-18 2010-06-24 Microsoft Corporation Object model and api for game creation
US20110088011A1 (en) * 2009-10-14 2011-04-14 Vermeg Sarl Automated Enterprise Software Development
US8701080B2 (en) * 2010-04-05 2014-04-15 Accenture Global Services Limited Template components having constraints representative of best practices in integration software development
US20120110558A1 (en) 2010-10-29 2012-05-03 Microsoft Corporation Customized binaries on-the-fly
US20120210296A1 (en) 2011-02-14 2012-08-16 Microsoft Corporation Automatically creating business applications from description of business processes
JP2015026139A (ja) * 2013-07-24 2015-02-05 富士電機株式会社 プログラム生成装置、プログラム生成方法、およびプログラム生成用プログラム
US10303441B2 (en) 2015-04-28 2019-05-28 Nadia Analía Huebra Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language

Also Published As

Publication number Publication date
WO2016181368A1 (es) 2016-11-17
IL255563B (en) 2020-03-31
FI3296866T3 (fi) 2023-01-13
BR112017024159B1 (pt) 2024-02-20
EP3296866A1 (en) 2018-03-21
EP3296866B1 (en) 2022-09-14
CO2017011542A2 (es) 2018-01-31
IL255563A (en) 2018-01-31
CN107851001A (zh) 2018-03-27
US10379817B2 (en) 2019-08-13
CA2985954A1 (en) 2016-11-17
EP3296866A4 (en) 2019-01-16
MX2017014472A (es) 2018-07-06
BR112017024159A2 (pt) 2018-07-17
CN107851001B (zh) 2021-11-23
JP2018514878A (ja) 2018-06-07
PT3296866T (pt) 2023-01-17
ES2936090T3 (es) 2023-03-14
DK3296866T3 (da) 2022-12-19
US20170068519A1 (en) 2017-03-09

Similar Documents

Publication Publication Date Title
JP6725535B2 (ja) 設計仕様書に基づきソフトウェアタイプアプリケーションを表示するコンピュータに実装された方法
KR101120815B1 (ko) 완전한 유연성을 가진 자동화에 기초하여 사용자인터페이스를 생성하는 방법 및 장치
US20070220035A1 (en) Generating user interface using metadata
US7007266B1 (en) Method and software system for modularizing software components for business transaction applications
US20030074648A1 (en) System and method for managing architectural layers within a software model
US20080126409A1 (en) Systems and methods for providing a decoupled simulation for business objects
GB2345356A (en) Generating a client/server data processing system
WO2007050110A2 (en) Method and model for enterprise system development and execution
JP2008506162A (ja) オブジェクト・プロセス・グラフ・システム
US20020066074A1 (en) Method and system for developing and executing software applications at an abstract design level
Mane et al. The spring framework: An open source java platform for developing robust java applications
Barzdins et al. Domain specific languages for business process management: a case study
WO2020240482A1 (en) Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language
Goldschmidt et al. Evaluating domain-specific languages for the development of OPC UA based applications
Wanderley et al. MBA: A system of systems architecture model for supporting collaborative work
Design et al. MIT Architecture
Schaefer A survey on transformation tools for model based user interface development
Reinhartz-Berger et al. Object-process methodology (OPM) vs. UML: A code generation perspective
Mbarki et al. Toward automatic generation of mvc2 web applications
Zweihoff Aligned and collaborative language-driven engineering
Caires et al. Rapid REST API Management in a DEMO Based Low Code Platform
Hermida et al. XANUI: a textual platform-independent model for rich user interfaces
Wiriyakul et al. A visual editor for language-independent scripting for BPMN modeling
Kostis Web-based Decision Policy Definition and Simulation Application for the Gorgias Argumentation Framework
Khwaja Towards Design Patterns Definition Language (DPDL)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190911

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200131

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200526

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200625

R150 Certificate of patent or registration of utility model

Ref document number: 6725535

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250