JP2010534870A - ソフトウェア資産ベースのソリューションを開発する一貫した方法システムおよびコンピュータ・プログラム - Google Patents

ソフトウェア資産ベースのソリューションを開発する一貫した方法システムおよびコンピュータ・プログラム Download PDF

Info

Publication number
JP2010534870A
JP2010534870A JP2010507861A JP2010507861A JP2010534870A JP 2010534870 A JP2010534870 A JP 2010534870A JP 2010507861 A JP2010507861 A JP 2010507861A JP 2010507861 A JP2010507861 A JP 2010507861A JP 2010534870 A JP2010534870 A JP 2010534870A
Authority
JP
Japan
Prior art keywords
asset
decision
variable
user
decision tree
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.)
Granted
Application number
JP2010507861A
Other languages
English (en)
Other versions
JP5166519B2 (ja
JP2010534870A5 (ja
Inventor
コクレ、レジ
ポルティエ、ベルトラン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2010534870A publication Critical patent/JP2010534870A/ja
Publication of JP2010534870A5 publication Critical patent/JP2010534870A5/ja
Application granted granted Critical
Publication of JP5166519B2 publication Critical patent/JP5166519B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals

Abstract

【課題】ソフトウェア資産ベースのソリューションを開発する一貫した方法システムおよびコンピュータ・プログラムを提供する。
【解決手段】再利用可能なソフトウェア資産を消費する方法、コンピュータ・プログラムおよびシステムであって、前記資産は、要素および属性を用いて記述されており、前記資産は、各自が少なくとも1つのバリアントを含む少なくとも1つの可変要素(VP)を含んでいる。ユーザは、まず、消費する資産を選択することによって、コンピュータ上のプログラムを実行する。資産に対応しているデシジョン・ツリーがトラバースされる。各デシジョン・ポイントは、可変要素に対応している。デシジョン・ポイントは、対応している可変要素のバリアントを変更するべくユーザの入力を求めることによって処理される。変更された可変要素は保存される。デシジョン・ポイントの依存状態は、可変要素の依存属性によって示される。プログラムは、ユーザの主導で、あるいはデシジョン・ツリーが完全にトラバースされたら、終了することができる。デシジョン・ツリーが部分的にトラバース済みである場合、プログラムは、対応する部分的に変更された可変要素から開始することによって、処理済みの最後のデシジョン・ポイントの後から再始動することができる。
【選択図】図9

Description

本発明は、全般的に、ソフトウェア・ソリューションの開発に関し、特に、本発明は、ソフトウェア資産ベースのソリューションを開発する方法に適用されるものである。
ソフトウェア資産は、後に続くコンテキストにてその資産を繰り返し適用することを目的として作成あるいは獲得された1つ以上の関連した一連の成果物である。資産のコンシューマは、ソリューション・ビジネスのモデリング、分析(使用される資産はモデル)および設計からアプリケーション開発(使用される資産はコードの断片)に至るまで、任意のタイプのITまたはビジネス・プロセス・ソリューションのアーキテクトまたは設計者である。
IT産業は、ソフトウェア資産のパッケージ化を標準化してきた。オブジェクト管理グループ(OMG:Object Management Group)(OMGは、米国またはその他の国あるいはその両方におけるObject Management Group,Inc.の登録商標または商標である)の再利用可能な資産の仕様(RAS:Reusable Asset Specification)は、再利用可能なソフトウェア資産の構造、内容および記述に関する一連のガイドラインおよび勧告である(2005年11月の第2.2版を参照のこと)。RASは、一貫したパッケージ化を伴った、ソフトウェア資産のカテゴリを特定する。RASは、ソフトウェア資産のコンシューマにとってキー・ポイントとなる資産のカスタマイゼーションをサポートしている。RASでは、資産とは成果物の入れ物であり、可変ポイントとは、成果物中にあって、コンシューマが対象のソリューションに合わせて変化させるものと予想されるポイントのことである。RASの可変性サポートによって、例えば、資産のサブセットのみを消費することなどが可能になる。
2003年3月6日に公開された米国特許出願公開第2003/0046282号は、ユーザによる入力に基づいてソフトウェア資産のサブセットを資産ライブラリから選択的に検索する資産検索モジュールを、開示している。この特許出願は目的として、さらに、カスタマイゼーションに向けたコンシューマのデシジョンに基づいたソフトウェア資産へアクセスするステップを容易化するソリューションの提供にも、照準を当てている。ただし、この特許出願の目的としては、資産のアクセスまたは検索よりはむしろ、資産の作成および消費により重点が置かれている。
ソフトウェア資産のパッケージ化およびアクセスに対するサポートを基にして、再利用可能なソフトウェア資産の消費に対する全面的なサポートを提供する必要性がある。RASは、ソフトウェア資産をインストール、カスタマイズ、および使用するルールを規定するのに用いることができる。RASでは、資産のUsage(使用法)セクションが、資産をインストール、カスタマイズ、および使用するルールを含んでいる。使用法のテキストは、ユーザによって行われるべき作業、または資産を使用するためのツーリングを記述するとはいえ、この自由形式のテキストは、十分に構造化されたガイダンスは提供しない。
資産を消費するためには、ユーザは、自分が実現を望んでいる資産ベースのソリューションを念頭に置いておく必要もある。ノキア・リサーチ・センタ(Nokia Research Center)のAlexandre RanおよびJuha Kuuselaによる、1996年のIEEE,Proceedings of IWSSD−8にて発表された論文「Design Decision Trees」では、これまでのデシジョンによって与えられた設計デシジョン制約の局部的な秩序化である設計デシジョン・ツリーへ、設計パターンの階層的機構を適用することが勧められている。一般にデシジョン・ツリーは、ツリーの1枚の葉(leaf)、すなわち最終目標に達するように、一連のデシジョンでユーザを支援するとよい。ソフトウェア資産のコンシューマは、ソフトウェア資産のセットに対応している設計パターンを適用することによって、デシジョン・ツリーを下ることができるものと考えられる。適切な設計パス、すなわち資産ベースのソリューションが決定されたら、コンシューマは、RASなどのリポジトリを使用して、対象のソリューションのソフトウェア資産各々のカスタマイゼーションを実施しなければならない。
この種の手法の主な欠点は、資産プロバイダが、一方で資産リポジトリを作成し、さらに別個の文書を通例はテキスト・ファイル(編集されたテキスト、HTML、XML、SGMLなどを含む)で作成するので、ソフトウェア資産ベースのソリューションを構築している資産のコンシューマは、2つの別個の情報ソース、すなわち消費対象である資産(単数または複数)と、この消費をガイドするデシジョン・ツリーとに依拠することになり、結局2ステップの手法がもたらされてしまう点である:コンシューマは、デシジョン・ツリーをブラウジングしてどのパスを利用するかを決定すること、言い換えれば目標に至るパスを選択することの次に、資産をカスタマイズするべく上記のパスをたどることが必要である。ソフトウェア資産のコンシューマに、2ステップ(パスの決定、ソフトウェア資産のカスタマイゼーション)のプロセスを行わずとも対象のソフトウェア・ソリューションを構築する方法を提供する必要がある。
本発明の目的は、再利用可能なソフトウェア資産のコンシューマに、自分の資産ベースのソリューションを設計すると同時に再利用可能なソフトウェア資産をカスタマイズする方法を、提供することである。
上記の目的は、請求項1に従い、再利用可能なソフトウェア資産を消費するようにコンピュータ上で実行される方法を用いて達成される。各資産は、デシジョン・ツリーに従ってカスタマイズできるようになっており、前記資産は、要素と属性とを含んだ構造的言語を用いて記述されている。一部の要素は可変要素(可変ポイント)であり、各可変要素は、少なくとも1つのバリアント要素(バリアント)を含んでいる。前記方法には、
−ユーザが、1つの選定された資産を消費したい旨コンピュータへ示すステップと、
−コンピュータが、選定された資産の可変要素として各デシジョン・ポイントが体系化されているデシジョン・ツリーを、選定された資産の記述を読むことによって、さらに、デシジョン・ツリーの各デシジョン・ポイントを以下のこと:
−当該可変要素の少なくとも1つのバリアント要素を含んでいるデシジョン・ポイントに関連する可変要素をユーザへ提示すること;
−ユーザから可変要素の変更を収集すること;
−可変要素を適宜変更すること;
−変更された資産の記述を保存すること、
により処理することによって、トラバースするステップと、
が含まれる。
本発明の目的は、さらに、請求項2乃至12のいずれか1項に従い、再利用可能なソフトウェア資産を消費する方法によって達成される。本発明の目的は、さらに、請求項13に従い、請求項1乃至12のいずれか1項による方法のステップを実行するためのプログラミング・コード命令を含むコンピュータ・プログラム製品によって、前記プログラムがコンピュータ上で実行されると、達成される。本発明の目的は、さらに、請求項14に従い、請求項1乃至12のいずれか1項による方法を実行するようになっている手段を含むシステムによって、達成される。
本発明の方法を用いると、ソフトウェア資産のコンシューマは、資産を消費するのに行われるデシジョン間の階層的関係を実装している根源的なデシジョン・ツリーによってガイドされる。デシジョン・ツリーは、資産に組み込まれており、各デシジョン・ポイントを資産の中の可変ポイントへとマッピングすることによって体系化されている。デシジョン・ツリーの分岐(1つのデシジョン・ポイントから次のデシジョン・ポイントへのつながり)は、可変ポイントの依存状態によって示される。本方法は、ソフトウェア資産ベースのソリューションを1つのステップで構築することを可能にする。
本ソリューションの利点は、従来のツリーとは相違して、根(root)以外の位置にてデシジョン・ツリーへ入ること、あるいはleafではないノードにてデシジョン・ツリーを抜けることが可能な点である。本発明の方法を用いると、デシジョンを記録しながら、leafの段階へ達するより前にストップすることが可能である。これにより、非常に柔軟なツールをサポートする。
本ソリューションのその他の利点を、以下の通り挙げることができる:
−本発明のソリューションを用いると、資産を消費するための規範的なガイダンスと資産自体とが、共に設計上装備され、それにより以下のことが可能になる:
規範的なガイダンスは、矛盾あるいは不一致の生じる余地なく、一貫して資産の構造により決まる:資産とガイダンスとが同調する。
資産プロバイダは、一方のリポジトリへ資産を提供し他方の別のリポジトリへ資産ガイダンス(例えば、テキスト・ファイル)を提供する必要はもはやなくなり、一体化された材料(資産+ガイダンス)をガイド付き資産データベースへ提供する。
可変ポイントの定義(可変ポイントの依存状態を含む)は、資産の消費についてコンシューマをガイドするのに必要なデシジョン・ツリーのレイアウトを反映する。
−ガイダンスは、全ての分野に関し、一貫してロール(role)によって使用可能となる。このことは協働(適切な引き継ぎを含む)を伴ったエンド−エンドのエンゲージメント・モデルをサポートし、それにより以下のことが可能になる:
これにより、部分的に満たされたパラメータのセットを、その時点で行われていたデシジョンを反映させた状態で、資産と一緒に保存することが可能になる。
資産のコンシューマは、カスタマイズ可能な資産を消費するプロセスにおいて、自分のロールおよび関連スキルに関係のあるデシジョンを済ませたら、ストップすることができる。そのとき資産のコンシューマは、結果として生じる資産を、その後のデシジョンを任されているチーム内の次のコンシューマへと引き継ぐことができる。このプロセスにより、元の資産の可変ポイントを様々なロールが協働して決定することが可能になる。例えば、ビジネス・アナリストが、ビジネス・プロセスに関する全てのデシジョンを行い、次いでこの変更済みの資産を、アーキテクチャ上のデシジョンを行うことのできるソフトウェア・アーキテクトへと引き渡すなどである。
さらに、いずれの段階で行われたデシジョンも自動的に記録され、別途登録する必要はない。
−ガイダンスは、全ての分野に関し、一貫してツールによって使用可能となる:なぜならば、各々の可変ポイントの定義は形式上、標準形式(本実装ではRAS)で取り込まれているため、現在のデシジョンにより処理されているのが要求、アーキテクチャ、ビジネス・モデリング、設計あるいはコードのいずれであるかに関わらず、ユーザに対するバリアントの提示ならびにデシジョンを行うプロセスは、ツールによって有効にすることができるからである。
資産の内容と規範的なガイダンスとを同じ標準(好適な実施形態ではRAS)を用いて取り込むことは、ソフトウェア・ベンダにとって、有意な規模の経済につながり得る:単一のツーリング・フレームワークで、ガイダンスおよび資産消費に関して実行者をサポートすることができる。このことは、(各資産タイプ用に専用のツーリングを開発するのとは対照的に)一般的なツーリングからの資産消費を可能にする。
−本発明は、依存状態によってのみ制約されるパラメータの範囲内で複数のパスをもたらす(一般に、依存状態は、ツリーではなくフォレストを生成する)。本発明のツリーは動的であって、消費する方法の各々のコンシューマ工程ごとに、さらにコンシューマの職業上の目的に従って、変更される。
本発明は、再利用可能な資産の仕様v2.2(RAS)を用いて実現することができる。本発明は、特定の標準または仕様(RASなど)に依存するものではなくRASを用いて実現してもよいものであるということに、留意しなければならない。故に本発明は、RASをサポート(理解)する任意のツールまたはフレームワーク、例えばIBM Rational(IBM社の登録商標)ソフトウェア・アーキテクト(RSA:Rational Software Architect)によって活用可能であるということも、同様に示唆されている。RSAは、コンポーネント・ベースの(SOA、J2EEおよびポータルの)アプリケーションを作成するソフトウェア・アーキテクトおよびモデル駆動型開発者向けの、モデル駆動型開発および静的解析用ツールである。
本発明の好適な実施形態による、「ガイド付き資産」のデータベースを作成する論理ブロックを示す図である。 本発明の好適な実施形態による、「ガイド付き資産」を消費する論理ブロックを示す図である。 本発明の好適な実施形態による、「ガイド付き資産」を作成する方法のフロー図である。 本発明の好適な実施形態による、「ガイド付き資産」を消費する方法のフロー図である。 本発明の好適な実施形態による、「ガイド付き資産」の一例のRAS表現を示す図である。 本発明の好適な実施形態による、「ガイド付き資産」の一例のRAS表現を示す図である。 本発明の好適な実施形態による、「ガイド付き資産」の一例のRAS表現を示す図である。 図5乃至7で示されたガイド付き資産のRAS表現により実現されるデシジョン・ツリーのグラフィカルな表現を示す図である。 本発明の別の一実施形態による、複数のエントリ・ポイントを含んでいる「ガイド付き資産」を消費する方法のフロー図である。
好適な実施形態では、本発明を、RAS v2.2を用いて実現する。
図1は、本発明の好適な実施形態による、「ガイド付き資産」のデータベースを作成する論理ブロックを示す。ユーザが資産ベースのソリューションを開発できるようにするために、ガイド付きの再利用可能なソフトウェア資産を含んだデータベースを作成する必要がある。一般に資産データベースは、資産リポジトリと称される、データへの容易なアクセスを提供しているリレーショナル・データベースであることが好ましい。以下の本明細書では、データベースもしくはリポジトリは区別なく使用される。リポジトリにおいて、資産は、属性と(モデル、コードである)ファイル成果物自体への関連付けとによって限定される要素を含むRASなどの構造的言語を用いて、オブジェクトとして記述される。図1は、資産の変更済みの記述を含んだガイド付き資産をリポジトリの中に作成する主要なステップを示す。「ガイド付き資産」の記述には、その資産をどのように消費するかについての情報が含まれており、この情報が、資産のコンシューマに対して段階的なガイダンスを提供することになる。
好適な実施形態では、「ガイド付き資産」データベースを作成する方法は、コンピュータ(160)上で実行される資産消費用のソフトウェア・アプリケーション(120)における初期動作(130、140)である。この動作(130、140)は、資産プロバイダ自身によって実施されてもよいし、あるいはソリューションを開発しガイド付きのソフトウェア資産を自社のITプロフェッショナルへ提供する会社によって実施されてもよい。資産自体(モデル、コード)は、資産リポジトリ(100)に置かれており、入力として使用される。「ガイド付き資産」作成のフロー図を、後に本明細書にて図3の説明に関連して記載する。全体としては、資産リポジトリから読み取られる各々の資産に関して、資産消費情報(110)からデシジョン・ツリーが検索され(130)、次いで体系化されて資産に組み込まれる(140)。結果として生じる「ガイド付き資産」は、「ガイド付き資産」リポジトリ(150)に保存される。
好適な実施形態では、資産消費情報が、「資産消費ガイダンス情報」データベースにテキスト・ファイル(編集されたテキスト、HTML、XML、SGMLなどを含む)として保存されている。こうしたテキスト・ファイルは、プログラムの自動実行によるデータからのデシジョン・ツリーの自動抽出には対処していない。そのため、デシジョン・ツリーの作成(130)は、通例、限定されたオペレータ(138)によって、ユーザ・インターフェース、好ましくはグラフィカル・ユーザ・インターフェース(135)を介して、実施される。ソフトウェア資産消費ガイダンス情報が標準化された方法で保存されていれば、上記の人間の介在はもはや不要である。将来的には、資産プロバイダが資産リポジトリおよび資産情報データベースを維持管理することはもはやなくなり、用意された1つの「ガイド付き資産」リポジトリを直接取り扱うだけになることが分かっている。
さらに、「ガイド付き資産データベース」の作成をもたらす前掲の全てのプログラム(130と135と140)は、別々のコンピュータ上で実施されてもよいことが分かっている。
図2は、本発明の好適な実施形態による、「ガイド付き資産」を消費する論理ブロックを示す。ガイド付き資産リポジトリが構築されたら、ITプロフェッショナル(資産のコンシューマ)は、資産ベースのソリューションを作成するために、同じコンピュータ(160)上あるいは別のコンピュータ上で実行可能な資産を消費するプログラム(120)の一部(230、240)を実行することによって、ガイドされてソフトウェア資産をカスタマイズすることになる。資産のコンシューマは、ガイド付き資産データベース(150)へ、好ましくはグラフィカル・ユーザ・インターフェース(200)を介してアクセスし、カスタマイズされたガイド付き資産(220)を作成することになる。プログラムは、ユーザに対し、各々の資産に関して、デシジョン・ツリーを表示する(230)ことになる。プログラムは、次いで、デシジョン・ツリーの各デシジョン・ポイントにあるユーザの入力を取り込み(240)、適宜、ガイド付き資産をカスタマイズすることになる。なお、資産の消費に当たり、当業者には周知なように最終的なソリューション(さらなる使用に向けて更新されたモデルまたはコード)の蓄積が行われることが分かっているが、ソリューションを仕上げるこのステップは、本発明の範囲外にある。
図3は、本発明の好適な実施形態による、「ガイド付き資産」を作成する方法のフロー図である。ガイド付き資産を作成するプログラム(130、140)は、同じコンピュータ(160)あるいは別のコンピュータ上で資産を消費するプログラム(230、240)が実行されて資産が消費可能になるより前に、コンピュータ(160)上にて実行される。
資産リポジトリ・データベース(100)から第1の資産が読み取られる(300)。好適な実施形態では、資産は、例えばRAS 2.2を使用するなど標準化されたやり方でデータベースに保存されている。資産が検出された場合(検証310に対する回答が、はい)、資産消費ガイダンス情報データベース(110)から、対応するデシジョン・ツリーが抽出される(320)。
rootとなるデシジョン・ポイントが特定される(330)。これは、デシジョン・ツリーの分岐へと向かう、最初の可能な選択肢に相当する。次のステップは、先に特定されたデシジョン・ポイント(330)で入手可能な情報、および資産消費ガイダンス情報データベース(110)から先に抽出されたツリー(320)に含まれている情報を用いることによって、資産の中に可変ポイント(VP:variability point)を作成しさらにこのVPの属性を設定する(340)ことである。上記の情報としては、以下が挙げられる:
デシジョン・ポイントの名称:この名称は、可変ポイント(デシジョン・ポイント)を一意に特定するために、その資産内では一意となっている必要がある;
記述:これは人(ユーザ)に向けたテキスト情報であり、このポイントで行われるべきデシジョンを記述している。
バリアントのセット:デシジョン・ポイントには、もとから資産とパッケージになっている少なくとも1つの可能な選択肢または取り得る手段(以下の本明細書では「バリアント」と称されるもの)のセットが含まれる。さらに、資産のコンシューマによって何も変更がなされない場合、こうしたバリアントのうちの1つが、デフォルトで使用されるバリアントとなることもある。
バリアントのタイプ:デシジョン・ポイントでは、或る特定のタイプのバリアントのみが受け入れ可能となっている。こうしたバリアントは、置き換えることもできる(例えば、モデル、コードなど);
バリアント間の共生のルールを特定するパラメータ(例えばバリアント論理:包含的、排他的、任意的など);
ツール:自動化およびコンテキストをサポートするために、各々の可変(デシジョン)ポイントは、その処理が可能なソフトウェア・ツール(デシジョンを行うのに使用可能なツール)を列挙する必要がある。図5乃至7が、可変ポイントの詳細な事例を示している;
デシジョン・ツリーにおけるデシジョン・ポイントの場所を特定するパラメータ:例えばこれは、ツリーにおいて先行するノードの名称である可能性が考えられる。
ツリーの全てのデシジョン・ポイントが探索済みとなるまで、すなわちデシジョン・ツリーにてそれ以上子がなくなる(検証350に対する回答が、Nとなる)まで、同じステップ(340)が繰り返される(検証350に対する回答が、はい)。その後、ガイド付き資産はガイド付き資産リポジトリ(150)へ保存され、次の資産が、資産リポジトリから読み取られる(300)。
抽出されるデシジョン・ツリー(320)、およびVPの属性を満たす情報(340)は、こうしたデータが資産消費ガイダンス情報データベース(110)に標準的なやり方で保存されている場合に限り、資産を消費するプログラム(120)による自動的な実行が可能であると分かっている。図1の説明に関連して先に述べたように、上記の情報は、現在一般には標準化されておらず、オペレータ(138)が、ユーザ・インターフェース好ましくはグラフィカル・ユーザ・インターフェース(135)を備えたプログラムによって、情報がプログラム(120)によって消費可能となるようなやり方で、資産消費ガイダンス情報データベース(110)の中に情報を作成する最初のステップを実施するとよい。このステップは、ガイド付き資産の作成期に同時に実施することもできる。
図4は、本発明の好適な実施形態による、「ガイド付き資産」を消費するフロー図である。資産を消費するプログラム(120)のこの部分は、ガイド付き資産の作成に使用されたコンピュータと同じであっても別であってもよいコンピュータ(160)上で実行される。資産のコンシューマ(ITプロフェッショナル)は、好ましくはグラフィカル・ユーザ・インターフェース(一般的には、ウィザード)を介して、プログラムの上記の部分と対話する。ユーザは、自分が開発している資産ベースのソリューションに、どの資産を含める必要があるかを認識している。ユーザは、自分の開発しているソリューションの細目に従って資産をカスタマイズするようにガイドされることになる。
最初のステップは、ユーザが資産を選定できるスクリーンをグラフィカル・ユーザ・インターフェースによって表示する(400)ことである。資産が選定されたら(検証410に対する回答が、はい)、プログラムによって、対応するデシジョン・ツリーのrootの可変ポイントの位置を特定する(420)。rootに対応するVP記述が表示され(430)、ユーザが、root VPへ変更をもたらすように入力を行い、VPの内容を変更することによって自分のカスタマイゼーションの選択を反映させる。コンピュータが、ユーザによって提示された通りにVP記述を更新する(440)。この資産の以降のデシジョン・ポイント(検証450に対する回答が、はい)は、デシジョン・ツリーがトラバースされるまで、すなわち全てのノードが訪れられる(検証450に対する回答が、いいえ)まで、ユーザによって選定されれば(検証460に対する回答が、はい)、表示され更新される(430、440)。デシジョン・ツリーは、或る同じデシジョン・ポイントに依存している全てのデシジョン・ポイントを訪ねることによってトラバースすることもできるし、あるいは連続的に各分岐を訪ねることによってトラバースすることもできることが分かっており、あらゆるオプションが可能であって、言い換えれば、デシジョン・ポイント間の依存関係に従っているのであれば、あらゆるツリー・トラバースの戦略およびアルゴリズムが使用可能である。上記は、本方法を1工程で実行することによって資産をカスタマイズする、第1のオプションである。本明細書で後に図7を参照してさらに詳述するもう1つの可能性は、資産を複数の工程でカスタマイズすることである。この場合、第1の工程は、ユーザがストップすると決めたとき(検証460に対する回答が、いいえ)に、終了することができる。このことは、そのカスタマイゼーションの結果が、部分的に消費された資産となることを意味する。図4は、ガイド付き資産を消費する第1の工程を表したものである。
資産のコンシューマは、以下のことが要因となって、資産の消費に向けた自分の選択を入力するようにガイドされる(430):
−デシジョン・ポイントが、ツリーの依存状態に従って連続的に表示される;
−各々のデシジョン・ポイントにて、コンピュータが、VPおよび全てのVPバリアントの記述を表示する。
ステップ440にて、コンシューマの選択を入力することによりガイド付き資産が更新される。コンシューマの選択は、デシジョン・ポイントをマッピングしているVPへ適用される。こうして、コンシューマによる選択を記録する。コンシューマは、VPの記述にあるものは何でも変えることができる:バリアント間の共生のルールに従ってバリアントを削除または追加すること、バリアントの属性を変更することなどである。以下、資産を記述する構造的言語を、本明細書の図5乃至7に関連して説明する。
図5乃至7は、本発明の好適な実施形態による、「ガイド付き資産」のRAS表現であり、完全に記述されたデシジョン・ポイントを示している。これらの詳細は、本発明がどのように機能するか説明することを唯一の目的として提示するものであり、本発明を、ここではRAS v2.2である、いずれかの構造的言語をベースに使ってどのように実現するべきかという限定的な定義ではないことに留意願いたい。さらに、好適な実施形態では、RAS2.2の拡張を提案するのではなく、同じ要素および属性を使用しているが、そのうちの一部は固有のセマンティックスで使用している。本例では、一連のアプリケーション・コンポーネントのソース・コードの実装からなるソフトウェア資産が、電気通信産業において例えばeTOM(電気通信産業における、ビジネス・プロセスを標準化しているEnhanced Telecom Operation Maps:拡張電気通信事業者オペレーション・マップ)などで定義されているサービス構成と起動(Service Configuration and Activation)をサポートするものとみなしている。
より正確には、この資産は、(サービス・オーダー管理システム(Service Order Management System)内部の)サービス構築実装(Service Construction Implementation)がいくつかの可能な選択肢を備えて提案され、さらに(サービス起動管理システム(Service Activation Management System)内部の)重要業績評価指標コンプライアンス・チェック(Key Performance Indicator Compliance Check)もほかの選択可能な実装を装備するやり方で、設計されている。電気通信業界では、ビジネス・プロセスは極めて安定しているが、ビジネス・プロセスのステップの実装は、企業内の機能あるいは外部の機能のいずれを使用するかに応じて異なってくる。本例では、資産プロバイダによってそのように設計されていれば、資産のコンシューマは、サービス構築の特定の選択肢を選ぶと、次に(サービス設計システム(Service Design System)内部の)いくつかの外部オーダー作成(External Order Creation)実装の中から選択することが可能になる。
図5乃至7は、上述のような資産の例として、ガイド付き資産の、RASに基づいた簡略化された定義を示す。この定義は、分かりやすくするために簡略化されている。この定義はRAS2.2に適合しているが、RAS2.2を採り入れたくなければ、資産を記述する他の任意の構文オプションを適応させることも可能と考えられる。このガイド付き資産の定義は、図1および3に記載した方法を実行することによって作成される。RASは、要素(<asset>、<classification>、<VariabilityPoint>、<artifact>など)を用いてオブジェクトを記述する、構造的言語である。各要素は、属性(id、description(記述)、reference(参照)など)を有している。
この記述は、最初に図5の<asset>タグを有し、最後に図7の</asset>タグを有するXMLテキストである。中間では、多様なartifact(成果物)のタグが、本明細書にて図1および3の説明に関連して先に記載したように、資産の様々な可変ポイントならびにそのバリアントを記述している。これらの可変ポイントは、図8で示すように、対応している資産のデシジョン・ツリーのデシジョン・ポイントへとマッピングされる。デシジョン・ツリーのデシジョン・ポイントは、本方法を図2および図4に記載するように実行するに当たり資産のコンシューマが選択しなければならない、資産カスタマイゼーションにおける様々なオプションに相当する。
図6では、2つのartifactにおいて2つの可変ポイントが記述されている。artifact“電気通信業界サービス構成と起動コンポーネント”では、“資産の消費”の“root”可変ポイント(VP)が記述され、artifact“サービス構築”では、“サービス構築実装”の“vp1”可変ポイントが記述されている。
図6では、root VPは、図3で示したような資産のカスタマイゼーションのための通常のエントリとなっており、カスタマイゼーションのための可能な選択肢は存在せず、すなわち「バリアント」がない。属性「reference」は、rootデシジョン・ポイントの、デシジョン・ツリーにおける場所を記述する(rootには先行するものがないため、空になっている)。より一般的には、この「reference」属性は、当該VPの、デシジョン・ツリーにおける依存状態を限定する。VPの記述、バリアントのタイプ、ならびにバリアント間の共生を導くルールがもしあれば、属性「context−id」によって提示される。root VPに関する「context−id」の値は、“ctxt1”である。RAS2.2に適合していることから、図5において、全てのVPの「context−id」の値が、包括的な<classification>タグの内の<context>タグの下に列挙されている。“ctxt1”に関しては、バリアントが何もないため、図5における記述は、名称および記述のみを含んでいる。
図6は、vp1デシジョン・ポイントでは、資産のコンシューマがカスタマイゼーションのための選択を行うことを示している。vp1 VPは、artifact“サービス構築実装オプション1”、“サービス構築実装オプション2”および“サービス構築実装オプション3”でそれぞれ記述される3つのバリアントを有する。vp1は、本デシジョン・ツリーにおいてrootに依存しているので、vp1 VPの属性「reference」は、root(reference=“root”)である。vp1 VPの「context−id」の値は“ctxt2”である。“ctxt2”に関しては、図5における記述は、名称、記述、バリアント・タイプ、および共生ルール(“exclusive(排他的)”)を含んでいる。
図7では、2つのartifactに関して2つの可変ポイントが記述されている。artifact“サービス設計システム”では、“外部オーダー作成実装”の“vp2”可変ポイント(VP)が記述され、artifact“KPIコンプライアンス・チェック”では、“KPIコンプライアンス・チェック実装”の“vp3”可変ポイントが記述されている。
図7では、“vp2”VPは、artifact“外部オーダー作成実装オプション1”および“外部オーダー作成実装オプション2”でそれぞれ記述される2つのバリアントを有する。vp2 VPの属性「reference」は、vp1である(reference=“vp1”、デシジョン・ツリーにおける親ノード)。vp2 VPの「context−id」の値は“ctxt3”である。“ctxt3”に関しては、図5における記述は、名称、記述、バリアント・タイプ、および共生ルール(“exclusive”)を含んでいる。
図7では、vp3 VPは、artifact“KPIコンプライアンス・チェック・オプション1”およびartifact“KPIコンプライアンス・チェック・オプション2”でそれぞれ記述される2つのバリアントを有する。vp3 VPの属性「reference」はrootである(reference=“root”、デシジョン・ツリーにおける親ノード)。vp3 VPの「context−id」の値は”ctxt4”である。”ctxt4”に関しては、図5における記述は、名称、記述、バリアント・タイプ、および共生ルール(“exclusive”)を含んでいる。
上述のように、可変ポイントとそのバリアントとは、同一のコンテキストを示すことによって関連付けられており、コンテキスト定義には、バリアントを組み合わせるあるいは組み合わせないルール(本例では排他的となっている)、ならびに受け入れ可能なバリアントのタイプ(J2EE エンタープライズ・アーカイブ、Java(R)アーカイブ・ファイル、Java(R)ファイル)というような、詳細が含まれる。
可変ポイント“サービス構築実装”および“KPIコンプライアンス・チェック実装”は、本デシジョン・ツリーのrootを表している“資産の消費”可変ポイントを参照する。このことは、本デシジョン・ツリーへのエントリ・ポイントを反映している。
可変ポイント“外部オーダー作成実装”は、可変ポイント“サービス構築実装”を参照する。このことは、本デシジョン・ツリー構造における依存状態を反映している。
この好適な実施形態は、例外はあるものの、RAS v2.2をそのまま使用している。RASでは、VariabilityPointにおけるreference属性を使って、さらなるバックグラウンドならびに説明を備えることもできる;ここでは、<variability−point>XMLタグにて“reference”属性のセマンティックスを変え、本デシジョン・ツリーの構造を反映している可変ポイント間の先行関係、言い換えれば各デシジョン・ポイントを検討するべき順序を、取り込むようにした。
図8は、図5乃至7のRAS表現で示されたガイド付き資産のデシジョン・ツリーが意味する依存状態ツリー(600)のグラフィカルな表現である。デシジョン・ポイントは、root、vp1、vp2、vp3である。以下の依存状態が示されている:vp2は、vp1に依存する;vp1およびvp3は、rootに依存する。好適な実施形態では、依存状態は、ガイド付き資産における、当該VPの「reference」属性の値に対応する。各デシジョン・ポイントに関し、依存状態によってデシジョン・ツリーの可能な分岐が体系化されている。
1つの資産に関連する消費ガイダンス情報(110)が、設計モデルおよび実装モデルを含んでいる場合、その資産には2つの自然発生的な論理デシジョン・ツリーが存在する:設計ツリーおよび実装ツリーである。ガイド付き資産の内部に構築されるデシジョン・ツリーは1つだけであり、言い換えれば、資産につき1つのデシジョン・ツリーがある。或る資産に複数の自然発生的な論理ツリーが存在する場合、冒頭に、rootと称される1つのデシジョン・ポイント(可変ポイント)を追加する。次にroot可変ポイントが、ユーザに対し、どちらの自然発生的な論理ツリーを通過したいか(本例では、ユーザが設計モデルまたは実装モデルのいずれを消費したいか)を単純に尋ねる。このことは、ガイド付き資産の消費をガイドするのに、常に唯一のデシジョン・ツリーが存在することを確実にする。その後、資産を消費する方法により、依存状態によってのみ制約されるパラメータの範囲内で複数のパスがもたらされる。
図8では、ツリー610、620および630が、図5乃至7のガイド付き資産を消費する3つのやり方を説明している。610では、コンシューマは、サービス構築実装vp1デシジョン・ポイントのオプション1を選択し、これは、(“ctxt2”コンテキストの記述によれば)残りのバリアント(オプション2およびオプション3)に対して排他的である。次に、コンシューマは、外部オーダー作成実装vp2デシジョン・ポイントにて、オプション2を選択する。
620の消費対象の資産については、ユーザが、この資産を消費しないと決めたため、ガイド付き資産に何も変化が生じていない。630では、資産のコンシューマは、デシジョン・ツリーの一連のデシジョン・ポイントにて、別のバリアントを選択している。
ガイド付き資産を消費する本方法を、複数の工程を可能にするように拡張したものを、図9のフロー図に記載する。資産を消費する第1の工程は既に実施済み(図4)であるが、ガイド付き資産のデシジョン・ツリーは、完全にはトラバースされていない、すなわちツリーのデシジョン・ポイントの全てが処理(430、440)されてはいないと仮定する:デシジョン・ツリーの処理されていないデシジョン・ポイントに対応する可変ポイントは、更新(440)されていない。第1工程に後続する工程の場合、コンシューマは、1つの「エントリ・ポイント」によって、デシジョン・ツリー探索へ再度入ることができる。このエントリ・ポイントは、前の工程にて既に処理(430、440)されたデシジョン・ポイントであってもよいし、あるいは、既に訪れた最後のデシジョン・ポイントの(依存状態ツリーにおいて)次に続くデシジョン・ポイントであってもよい。この、より一般的な図9のフロー図では、コンシューマは、図4の第1工程のフロー図では唯一のエントリ・ポイントであったデシジョン・ツリーのrootを含んだデシジョン・ツリーの全エントリ・ポイントの中から、1つのエントリ・ポイントを選択するように提案される。
ユーザが選定した(検証410に対する回答が、はい)ガイド付き資産をコンピュータが読み取る(400)と、コンピュータは、資産の、エントリ可変ポイントの位置を特定する(700):前の工程で全てのデシジョン・ポイントが処理されていない場合(検証710に対する回答が、はい)、コンシューマは、そのうちの1つを選定するように求められ、1つが選定されると(検証720に対する回答が、はい)、そのデシジョン・ポイントが処理される。すなわち、ユーザは自分の選択を入力するように求められ(430)、コンピュータが対応する資産の可変ポイントを適宜更新する(440)。今しがた処理されたデシジョン・ポイントの可変ポイントを削除し、さらにこの資産の依存状態ツリーの後続するデシジョン・ポイント(単数または複数)すなわち本デシジョン・ツリーの子を追加することによってエントリ・ポイントのリストを維持管理する、新しいステップ(730)が追加される。上記のリストは、コンピュータによって読み取られて、全てのエントリ・ポイントの位置特定に向けた次のステップ(700)が実行される。
ガイド付き資産を消費するプログラムは、コンシューマが資産の消費を選択しない(検証410に対する回答が、いいえ)ことを理由に終了してもよい。もはや残っているエントリ・ポイントがない(検証710に対する回答が、いいえ)ためにコンピュータによってエントリ・ポイントが検出されない場合、あるいは残っているエントリ・ポイントの処理がコンシューマによって選択されない場合(検証720に対する回答が、いいえ)には、選定された資産の処理は終えられ、コンピュータが、資産を、資産が処理されたままの状態で、すなわちコンシューマによって完全に消費された(検証710に対する回答が、いいえ)資産としてあるいはコンシューマによって部分的に消費された(検証720に対する回答が、いいえ)資産として、保存する(740)。
図9のフロー図で示されたプロセスの変形例は、コンシューマが、ガイド付き資産の一部分のみを消費した場合(検証720に対する回答が、いいえ)に、この部分的に消費されたガイド付き資産を、新しいガイド付き資産として保存する(検証720に対する回答が、いいえ)ものである。そうする理由は、資産の消費のされ方によって決まる。コンシューマは、デシジョン・ポイントを、対応するVPのバリアントを選択することによって、処理(430、440)すればよい。その一方で、デシジョン・ポイントでは、コンシューマは、例えば図6のガイド付き資産の記述に示されるように<reference value=ファイル名.jar>を追加することによって、新しいバリアントの追加および対応するコードの追加を行い、対応するVPを強化(430、440)してもよい。結果として生じる変更されたガイド付き資産は、その後のコンシューマにとって有用となる可能性があり、この場合、強化されたガイド付き資産という結果を新しい「ガイド付き資産」として保存することは、有利となり得る。次の、強化されたガイド付き資産のコンシューマは、まだ処理されていないデシジョン・ポイントを処理することによって、このガイド付き資産をカスタマイズすることになる。プロフェッショナルの能力およびコンシューマの選好に従い、さらには使用されている構造的言語(RAS)に応じて、VPを変更する(430)その他のやり方もあり得る。
デシジョン・ポイントの処理および対応する可変ポイントの変更は、資産の作成時に発生する(デフォルト値)可能性もあり、あるいは別のコンシューマによる資産の消費時に発生する可能性もある。例えば、設計者が資産を入手し設計上のデシジョンを行わねばならないときに、その資産に関するアーキテクチャ上のデシジョンはアーキテクトによって既に行われている場合もある。
一般に、部分的に消費された資産は、同じユーザによるその後の消費、あるいは、資産の消費に関して様々なロール(アーキテクト、設計者、セキュリティに関するスペシャリストのITプロフェッショナルなど)で機能している他のユーザによるその後の消費に向けて、保存される(740)。
図9は、資産のコンシューマが、カスタマイズ可能な資産を消費するプロセスにおいて、自分のロールおよび関連スキルに関係のあるデシジョンを行ったらストップすることができるという、本発明のソリューションの有力な利点を示している。そのとき資産のコンシューマは、結果として生じる資産を、その後のデシジョンを行うことを任されているチーム内の次のコンシューマへと引き継ぐことができる。本明細書にて先に述べたように、この方法により、元の資産の可変ポイントを、様々なプロフェッショナルが協働して決定することが可能になる。様々なプロフェッショナルとは、例えば、ビジネス・アナリスト、設計者としてのソフトウェア・アーキテクト、ならびにセキュリティ実装に関する別の設計スペシャリストなどである。
なお、所与の資産において体系化されたツリーは1つのみとなっているが、ユーザに対して複数のエントリ・ポイントを提供することは、資産の消費をガイドする複数のツリー(サブツリー群)を提供することに極めて類似するということが分かっている。

Claims (14)

  1. 再利用可能なソフトウェア資産を消費するようにコンピュータ上で実行される方法であって、各資産は、デシジョン・ツリーに従ってカスタマイズできるようになっており、前記資産は、要素と属性とを含んだ構造的言語(RAS)を用いて記述されており、一部の要素は、可変要素(可変ポイント)であり、各可変要素は、少なくとも1つのバリアント要素を含み、前記方法は、
    −前記ユーザが、1つの選定された資産を消費したい旨を前記コンピュータへ示す(400)ステップと、
    −前記コンピュータが、前記選定された資産の可変要素として各デシジョン・ポイントが体系化されているデシジョン・ツリーを、前記選択された資産の前記記述を読むことによって、さらに、前記デシジョン・ツリーの各デシジョン・ポイントを以下のこと:
    −前記可変要素の前記少なくとも1つのバリアントを含む前記デシジョン・ポイントに関連する前記可変要素をユーザに提示する(430)こと;
    −前記可変要素の変更を前記ユーザから収集する(430)こと;
    −前記可変要素を適宜変更する(440)こと;および
    −前記変更された資産の記述を保存する(740)こと、
    により処理することによって、トラバースするステップと、
    を含む、方法。
  2. 前記デシジョン・ツリーをトラバースする前記ステップは、1つの工程で実施される、請求項1に記載の方法。
  3. 前記デシジョン・ツリーをトラバースする前記ステップは、前記デシジョン・ツリー全体をトラバースするのに必要なだけの数の工程で、部分的にトラバースする各工程において、前の前記部分的にトラバースする工程にて保存された前記変更された資産の記述を読むことと、前記前の工程の期間中に前記最後に処理されたデシジョン・ポイント(単数または複数)の後から各デシジョン・ポイントの前記処理を開始することと、によって繰り返し部分的に実施される、請求項1に記載の方法。
  4. 前記デシジョン・ツリーをトラバースする前記ステップが、
    −rootの識別属性を有する前記可変要素(420)を読むステップと、
    −rootの依存属性を有する前記可変要素全てを読むステップと、
    −rootに依存している前記可変要素の前記識別属性を読むステップと、
    −既に読まれた前記可変要素の前記識別属性を依存属性として有する前記可変要素を全て連続的に読むステップと、
    をさらに含む、請求項3に記載の方法。
  5. 前記ツリーを部分的にトラバースする各工程は、デシジョン・ポイントを処理した後、前記ユーザの主導でストップされる、請求項1乃至4のいずれか1項に記載の方法。
  6. 前記資産は、構造的言語として前記再利用可能な資産の仕様(RAS)を用いて記述されている、請求項1乃至5のいずれか1項に記載の方法。
  7. 前記依存属性は、前記RASの「reference」属性である、請求項6に記載の方法。
  8. 前記ユーザが提示するステップ、前記コンピュータが前記ユーザに提示するステップ、および前記コンピュータが前記ユーザから収集するステップは、グラフィカル・ユーザ・インターフェースを介して行われる、請求項1乃至7のいずれか1項に記載の方法。
  9. 前記対応する資産デシジョン・ツリーの各デシジョン・ポイントに関して、識別属性と、前記資産デシジョン・ツリーにおいて前記デシジョン・ポイントが依存する要素の前記識別属性を含んだ依存属性(reference)と、を備えた前記要素を含む資産の記述(ガイド付き資産)を作成する初期ステップをさらに含む、請求項1乃至8のいずれか1項に記載の方法。
  10. 前記ユーザから変更を収集する(430)前記ステップが、前記可変要素の前記バリアント要素全ての中から、少なくとも1つのバリアント要素を選択するステップを含む、請求項1乃至9のいずれか1項に記載の方法。
  11. 前記ユーザから変更を収集する(430)前記ステップが、前記ユーザから新しいバリアント要素と付随するコード要素とを収集するステップを含む、請求項1乃至10のいずれか1項に記載の方法。
  12. 前記デシジョン・ツリーの前記トラバースを完了後、カスタマイズされた資産を作成するべく、前記変更された資産の記述を前記資産の前記内容に適用するステップをさらに含む、請求項1乃至11のいずれか1項に記載の方法。
  13. コンピュータ・プログラム製品であって、前記プログラムがコンピュータ上で実行されると請求項1乃至12のいずれか1項による方法の前記ステップを実行するプログラミング・コード命令を含む、コンピュータ・プログラム製品。
  14. 請求項1乃至12のいずれか1項による方法を実行するようになっている手段を含む、システム。
JP2010507861A 2007-05-16 2008-03-04 ソフトウェア資産ベースのソリューションを開発する一貫した方法システムおよびコンピュータ・プログラム Active JP5166519B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP07301047 2007-05-16
EP07301047.2 2007-05-16
PCT/EP2008/052608 WO2008138654A1 (en) 2007-05-16 2008-03-04 A consistent method system and computer program for developing software asset based solutions

Publications (3)

Publication Number Publication Date
JP2010534870A true JP2010534870A (ja) 2010-11-11
JP2010534870A5 JP2010534870A5 (ja) 2010-12-24
JP5166519B2 JP5166519B2 (ja) 2013-03-21

Family

ID=39705202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010507861A Active JP5166519B2 (ja) 2007-05-16 2008-03-04 ソフトウェア資産ベースのソリューションを開発する一貫した方法システムおよびコンピュータ・プログラム

Country Status (6)

Country Link
US (1) US8234634B2 (ja)
EP (1) EP2147370A1 (ja)
JP (1) JP5166519B2 (ja)
KR (1) KR101307711B1 (ja)
CN (1) CN101681263B (ja)
WO (1) WO2008138654A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9721216B2 (en) * 2007-11-26 2017-08-01 International Business Machines Corporation Solution that automatically recommends design assets when making architectural design decisions for information services
US8341155B2 (en) * 2008-02-20 2012-12-25 International Business Machines Corporation Asset advisory intelligence engine for managing reusable software assets
US8719314B2 (en) * 2008-03-13 2014-05-06 International Business Machines Corporation Faceted search on assets packaged according to the reusable asset specification (RAS)
US20100131326A1 (en) * 2008-11-24 2010-05-27 International Business Machines Corporation Identifying a service oriented architecture shared services project
US20100211925A1 (en) * 2009-02-19 2010-08-19 Interational Business Machines Corporation Evaluating a service oriented architecture shared services project
US8392540B2 (en) * 2009-02-24 2013-03-05 International Business Machines Corporation Service specific service oriented architecture shared services solution
US20100217632A1 (en) * 2009-02-24 2010-08-26 International Business Machines Corporation Managing service oriented architecture shared services escalation
US8935655B2 (en) * 2009-02-25 2015-01-13 International Business Machines Corporation Transitioning to management of a service oriented architecture shared service
US9268532B2 (en) * 2009-02-25 2016-02-23 International Business Machines Corporation Constructing a service oriented architecture shared service
US8607190B2 (en) * 2009-10-23 2013-12-10 International Business Machines Corporation Automation of software application engineering using machine learning and reasoning
US9704130B2 (en) * 2009-10-26 2017-07-11 International Business Machines Corporation Standard based mapping of industry vertical model to legacy environments
US8645904B2 (en) * 2009-10-26 2014-02-04 International Business Machines Corporation Cross repository impact analysis using topic maps
US8726236B2 (en) * 2009-10-26 2014-05-13 International Business Machines Corporation Determining context specific content
US8631071B2 (en) * 2009-12-17 2014-01-14 International Business Machines Corporation Recognition of and support for multiple versions of an enterprise canonical message model
US9026412B2 (en) 2009-12-17 2015-05-05 International Business Machines Corporation Managing and maintaining scope in a service oriented architecture industry model repository
US9111004B2 (en) 2009-12-17 2015-08-18 International Business Machines Corporation Temporal scope translation of meta-models using semantic web technologies
US8566358B2 (en) * 2009-12-17 2013-10-22 International Business Machines Corporation Framework to populate and maintain a service oriented architecture industry model repository
US8244768B2 (en) * 2009-12-17 2012-08-14 International Business Machines Corporation Implementing service oriented architecture industry model repository using semantic web technologies
US8775462B2 (en) * 2009-12-17 2014-07-08 International Business Machines Corporation Service oriented architecture industry model repository meta-model component with a standard based index
US9244659B2 (en) * 2010-04-26 2016-01-26 International Business Machines Corporation Extensible meta model for capturing solution patterns
US8572567B2 (en) 2010-06-16 2013-10-29 International Business Machines Corporation Specifying and processing composed patterns
US8607191B2 (en) * 2010-06-30 2013-12-10 International Business Machines Corporation Automated discovery of programmatic resources
US9342809B2 (en) 2010-08-25 2016-05-17 International Business Machines Corporation Method and apparatus to populate asset variant relationships in repositories
US9569445B2 (en) * 2014-06-30 2017-02-14 International Business Machines Corporation Dynamic asset assembly using a rule based methodology
US9678982B2 (en) * 2014-07-09 2017-06-13 International Business Machines Corporation Accessibility advisement system for digital assets
FR3024236B1 (fr) 2014-07-25 2018-10-12 Universite De Bourgogne Capteur et dispositif pour la detection de fongicides en milieu hydro-alcoolique
US10083369B2 (en) 2016-07-01 2018-09-25 Ricoh Company, Ltd. Active view planning by deep learning

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09198242A (ja) * 1996-01-17 1997-07-31 Sumitomo Electric Ind Ltd オブジェクト指向設計支援装置
JP2003091416A (ja) * 2001-09-17 2003-03-28 Toshiba Corp 業務アプリケーションシステムの機能構成定義方法
US20050085937A1 (en) * 2003-10-15 2005-04-21 International Business Machines Corporation Creating customized applications using templates having points of variability
JP2006285313A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd 業務プロセスモデル作成支援システムおよびプログラム,ならびに業務プロセスモデル作成処理方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849879A (en) * 1986-09-02 1989-07-18 Digital Equipment Corp Data processor performance advisor
IL100986A (en) * 1991-02-27 1997-01-10 Digital Equipment Corp Method for compiling code
IL100990A (en) * 1991-02-27 1995-10-31 Digital Equipment Corp Multilingual optimization compiler that uses Gladi in the production of a multi-pass cipher
US5450575A (en) * 1991-03-07 1995-09-12 Digital Equipment Corporation Use of stack depth to identify machine code mistakes
US5854929A (en) * 1996-03-08 1998-12-29 Interuniversitair Micro-Elektronica Centrum (Imec Vzw) Method of generating code for programmable processors, code generator and application thereof
US6405173B1 (en) * 1998-03-05 2002-06-11 American Management Systems, Inc. Decision management system providing qualitative account/customer assessment via point in time simulation
CA2256931A1 (en) * 1998-12-23 2000-06-23 Robert Weisz Source editing in a graphical hierarchical environment
US6665866B1 (en) * 1999-05-28 2003-12-16 Microsoft Corporation Extensible compiler utilizing a plurality of question handlers
US6681383B1 (en) * 2000-04-04 2004-01-20 Sosy, Inc. Automatic software production system
WO2003001343A2 (en) * 2001-06-22 2003-01-03 Wonderware Corporation Supervisory process control and manufacturing information system application having an extensible component model
US7149734B2 (en) * 2001-07-06 2006-12-12 Logic Library, Inc. Managing reusable software assets
US8473922B2 (en) * 2001-09-19 2013-06-25 Hewlett-Packard Development Company, L.P. Runtime monitoring in component-based systems
US7246102B2 (en) * 2001-12-21 2007-07-17 Agere Systems Inc. Method of improving the lookup performance of three-type knowledge base searches
US7296223B2 (en) * 2003-06-27 2007-11-13 Xerox Corporation System and method for structured document authoring
WO2005010727A2 (en) * 2003-07-23 2005-02-03 Praedea Solutions, Inc. Extracting data from semi-structured text documents
US20050229153A1 (en) * 2004-04-07 2005-10-13 International Business Machines Corporation Method, apparatus, and program for application design based on diagram specialization
US20050262489A1 (en) * 2004-05-12 2005-11-24 Streeter Gordon S Knowledge representation language and knowledge processing environment
GB0500150D0 (en) * 2005-01-06 2005-02-16 Ibm Method, and aggregation component for aggregating application components
US7735062B2 (en) * 2005-01-21 2010-06-08 Outsystems—Software Em Rede, S.A. Software development system and method
US20070022106A1 (en) * 2005-07-21 2007-01-25 Caterpillar Inc. System design using a RAS-based database
US7321883B1 (en) * 2005-08-05 2008-01-22 Perceptronics Solutions, Inc. Facilitator used in a group decision process to solve a problem according to data provided by users
US7873946B2 (en) * 2006-03-23 2011-01-18 Oracle America, Inc. Scalable vector graphics, tree and tab as drag and drop objects
US8433667B2 (en) * 2007-08-17 2013-04-30 Juniper Networks, Inc. Embedded reactive and proactive intelligence

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09198242A (ja) * 1996-01-17 1997-07-31 Sumitomo Electric Ind Ltd オブジェクト指向設計支援装置
JP2003091416A (ja) * 2001-09-17 2003-03-28 Toshiba Corp 業務アプリケーションシステムの機能構成定義方法
US20050085937A1 (en) * 2003-10-15 2005-04-21 International Business Machines Corporation Creating customized applications using templates having points of variability
JP2006285313A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd 業務プロセスモデル作成支援システムおよびプログラム,ならびに業務プロセスモデル作成処理方法

Also Published As

Publication number Publication date
CN101681263B (zh) 2013-12-04
US8234634B2 (en) 2012-07-31
CN101681263A (zh) 2010-03-24
KR20090120481A (ko) 2009-11-24
JP5166519B2 (ja) 2013-03-21
KR101307711B1 (ko) 2013-09-11
WO2008138654A1 (en) 2008-11-20
US20080288944A1 (en) 2008-11-20
EP2147370A1 (en) 2010-01-27

Similar Documents

Publication Publication Date Title
JP5166519B2 (ja) ソフトウェア資産ベースのソリューションを開発する一貫した方法システムおよびコンピュータ・プログラム
US8392873B2 (en) Methods and apparatus for implementing model-based software solution development and integrated change management
CA2304020C (en) Method and system for database application software creation requiring minimal programming
KR101517460B1 (ko) 데이터 관계의 그래픽 표현
EP1603034B1 (en) Method and apparatus for generating user interfaces based upon automation with full flexibility
US7644370B2 (en) Method of componentisation of a graphically defined formula
US7761865B2 (en) Upgrading pattern configurations
JP5174468B2 (ja) 自動ビジネスプロセスアプリケーションを設計するための統合システム、ツールおよび方法
US7761786B2 (en) Reusable XPath validation expressions
US8438534B2 (en) Transformation of data between hierarchical data formats
US20110161371A1 (en) Sql generation
US20100153149A1 (en) Software for model-based configuration constraint generation
CA2648471A1 (en) A method and system for generating application data editors
US20050114361A1 (en) Method and apparatus for integrating data repositories and frameworks
JP2013518321A (ja) パターンベースのユーザインターフェース
US20110252400A1 (en) Adding inheritance support to a computer programming language
WO2002021314A2 (en) Integrated design environment for a commerce server system
JP2004310279A (ja) 業務処理システムおよびその構築支援装置、業務処理システム用プログラム、業務処理システムの構築支援用プログラム
Kavaldjian et al. Generating content presentation according to purpose
Hauptmann et al. Supporting derivation and customization of user interfaces in software product lines using the example of web applications
Garrigós et al. Personalizing the interface in rich Internet applications
Caires et al. Rapid REST API Management in a DEMO Based Low Code Platform

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101015

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121109

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: 20121204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121220

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5166519

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150