JP2010522397A - チーム環境におけるコラボレーション開発情報の使用 - Google Patents

チーム環境におけるコラボレーション開発情報の使用 Download PDF

Info

Publication number
JP2010522397A
JP2010522397A JP2010501032A JP2010501032A JP2010522397A JP 2010522397 A JP2010522397 A JP 2010522397A JP 2010501032 A JP2010501032 A JP 2010501032A JP 2010501032 A JP2010501032 A JP 2010501032A JP 2010522397 A JP2010522397 A JP 2010522397A
Authority
JP
Japan
Prior art keywords
computer
metamodel
active
readable medium
operable
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
JP2010501032A
Other languages
English (en)
Other versions
JP5256280B2 (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2010522397A publication Critical patent/JP2010522397A/ja
Application granted granted Critical
Publication of JP5256280B2 publication Critical patent/JP5256280B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Stored Programmes (AREA)

Abstract

チームソフトウェア開発環境においてコラボレーション開発情報ストアを提供し、そのストアとやりとりする種々のテクノロジおよび手法が開示されている。サブミッションサービスは、複数ユーザによって使用される中央情報ストアに置かれているアプリケーションのアクティブメタモデルを更新する。ある特定ソフトウェア開発環境で動作している通知サービスはアクティブメタモデルに変更が行なわれたとの通知を受信する。通知サービスから受信した情報は、そのあと、その特定ソフトウェア開発環境においてディスプレイを更新するために使用される。データベースサーバ側には、複数ユーザによって開発中のアプリケーションのアクティブメタモデル情報を、その情報が変更されると受信する受信サービスが提供されている。受信したメタモデル情報を特定リレーショナルデータベース構造にストアするストレージサービスが提供されており、特定リレーショナルデータベース構造は、特定リレーショナルデータベース構造に変更を行なわなくてもアーティファクトの追加を可能にするように動作可能になっている。

Description

ソフトウェアアプリケーションが実行されるためにはそのアプリケーションはソースコードからマシン命令に変換されていなければならない。この変換プロセスは「コンパイル」と呼ばれている。コンパイル期間、最初にソースコードは言語にとらわれない(language-agnostic) およびマシンにとらわれない(machine-agnostic)命令セットに変換され、この命令セットは「中間コード」と呼ばれることもある。次に、この中間コードは、特定アプリケーションがそこで実行される特定コンピュータプラットフォームに固有のマシン命令に変換される。コンパイルはシングルコンピュータ上で行なわれるのが一般的であり、コンパイルが完了した時点で、コンパイルプロセスによって生成された中間コードは破棄される。従って、その後の開発プロセスでこの中間コードから得られた有用な情報はすべて失われている。
多くの場合、ソフトウェアアプリケーションはチームベースの環境で開発されている。これらのチームは、複数の役割をもち、全体的プロジェクト目標をサポートしているチームメンバで構成されている。各チームメンバは、ソフトウェア開発アプリケーションを各自のローカルコンピュータ上で実行しているのが一般的である。ある特定チームメンバがプログラムをコンパイルし、コードアナライザ(code analyzer)を実行してパフォーマンスを分析し、デバッギングまたはその他の開発関連タスクを実行するとき、これらのプロセスの結果として得られた詳細はそのチームメンバのローカルコンピュータにストアされているのが一般的である。チーム全体がアクセスできるソースコード制御サーバにそのチームメンバがソースコードをサブミットしている間に、開発プロセスの結果として得られ、サーバにチェックインされるバージョンとなった種々のシステム生成アーティクラフト(system generated artifact)は失われるか、容易に配信できないのが一般的である。このことは、これらの結果にアクセスすると得られるどのような恩恵も他のチームメンバが得られないことを意味している。例えば、チームメンバのある開発者が与えられたアプリケーションで作業しているとき、その開発者はコードプロファイラ(code profiler)を使用して、そのアプリケーションのパフォーマンスを分析することがある。このようにして、開発者はアプリケーションのパフォーマンスに関する具体的知識を得ている。アプリケーションをプロファイリングすることからアーティファクトを作成することによって得られたアーティファクトと知識はその開発者独自のものであり、共有が容易になっていない。
さらに、自分に割り当てられた役割を実行している過程で、チームメンバは、ソースコード自体のほかに、モデル、ダイヤグラム、ワークアイテムなどの、プロジェクトに関係する他のアーティファクトを作成することがよくある。システム生成アーティファクトとまったく同じように、多くの場合、これらのユーザ作成アーティファクトも特定のチームメンバのコンピュータにだけストアされるか、失われるか、あるいは他のチームメンバへの配信が容易になっていない。従って、チーム環境で開発中の特定のソフトウェア開発プロジェクトに関係する大量の有用な開発データとアーティファクトは、種々のチームメンバのコンピュータ間に分散されており、そのためにチーム全体によるアクセスが不可能であるか、あるいは永久に失われている。
チームソフトウェア環境においてコラボレーション開発情報ストアを提供し、そのストアとやりとりする種々のテクノロジおよび手法が開示されている。サブミッションサービスは、複数のユーザによって使用される中央情報ストア内のアプリケーションのアクティブメタモデルを更新する。特定のソフトウェア開発環境で動作している通知サービスは、アクティブメタモデルに変更が行なわれたとの通知を受信する。通知サービスから受信した情報は、そのあと、特定のユーザによって使用中の特定ソフトウェア開発環境においてディスプレイを更新するために使用される。一例(この例に限定されない)として、情報は、別のチームメンバのアクションの結果として発生した、その特定コードに関連するなんらかのものを注記するコードを特定ユーザがタイプしているとき表示することができる。
データベースサーバ側には、複数のユーザによって開発中のアプリケーションのアクティブメタモデル情報を、その情報が変更されたとき受信する受信サービスが提供されている。ストレージサービスは受信したアクティブメタモデル情報を特定のリレーショナルデータベース構造にストアするために提供され、特定リレーショナルデータベースは、その特定リレーショナルデータベースに変更を行なわなくてもアーティファクトが追加されるのを可能にするように動作可能になっている。
この概要説明は、「詳細説明」に詳しく下述されている概念のいくつかを選んで簡単に紹介したものである。この概要説明は、請求項に記載した主題のキーとなる特徴または基本的特徴を特定するものでも、請求項に記載した主題の範囲を判断するときの一助として使用されるものでもない。
コラボレーション開発情報ストアを使用したコンピュータシステムを示す概略図である。 図1のシステムの一実施形態のサブミッションおよび通知アプリケーションを示す概略図である。 図1のシステム上で動作する一実施形態のメタモデルストレージアプリケーションを示す概略図である。 図1のシステムのハイレベルステージを示す一実施形態のプロセスフロー図である。 中央情報ストアに置かれたアプリケーションのアクティブメタモデルとやりとりする際に関係するステージを示す一実施形態のプロセスフロー図である。 図1のシステムの一実施形態における中央情報ストアに収められたエレメント固有フィールドを示す図である。 図6に図示のエレメント固有フィールドを使用して定義された例示のエレメント定義を示す図である。 図1のシステムの一実施形態において中央情報ストアに収められたコネクション固有フィールドを示す図である。 図8に図示のコネクション固有フィールドを使用して定義された例示のコネクション定義を示す図である。 図1のシステムの一実施形態においてコネクション定義と共に使用できる特殊なプロパティを示す図である。 図1のシステムの一実施形態のコンピュータシステムを示す概略図である。
本発明の原理の理解を深めるために、以下では、図面および図面を説明するために使用される特有の表現で図示した実施形態を参照して説明する。なお、当然に理解されるように、本発明の範囲はこれによって限定されるものではない。下述する実施形態のいかなる改変およびさらなる変更も、および本明細書に記載されている原理をより詳細に適用することも、この分野の精通者ならば普通に行なうように、本発明の意図とするものである。
システムは、広い意味でソフトウェア開発アプリケーションとして説明することができる。本明細書に記載されている手法の1つまたは2つ以上は、MICROSOFT(登録商標)VISUAL STUDIO(登録商標)などのソフトウェア開発プログラム内のフィーチャとして実現することも、チーム環境においてソフトウェア開発プロセスにかかわりのある他のタイプのプログラムまたはサービスからのフィーチャとして実現することもできる。
一実施形態において、開発者および/または他のユーザのチームによって開発中の特定のソフトウェアアプリケーションに関するリアルタイムのアクティブメタモデル情報をストアするために中央データベースまたは他の情報ストアを使用するシステムが提供されている。本明細書の中で用いられている「アクティブメタモデル(active meta-model)」という用語は、アプリケーションのカレントステート、アプリケーションの構造、およびアプリケーションがどのように展開したかのヒストリを反映しているシステム生成アーティファクト(system-generated artifact)およびユーザ生成アーティファクト(user-generated artifact)を意味している。システム生成アーティファクトには、アプリケーション構造、中間コード、注釈、およびシステムが生成するその他の解析データが含まれている。ユーザ生成アーティファクトには、基礎となるアプリケーション構造と潜在的に関連づけられる可能性のあるワークアイテム、プロジェクトプラン、ダイヤグラム、ある種のコードを説明した注釈などが含まれている。そのあと、中央データベースは開発者のチームによって使用中のソフトウェア開発アプリケーションによってアクセスされ、チームが亜アクティブメタモデル情報にアクセスできるようにする。この情報にアクセスできるようにすると、開発者は、他の人々のチームによって開発中のアプリケーションのアクティブステートに関するリアルタイムの関連情報を得ることができる。一例(この例に限定されない)として、この情報には、開発者Aが自分のコードからコールしようとしているコードのある部分が、開発者Bによって実行中のコードプロファイリングプロセス(code profiling process)によって「遅速(slow)」とマークされたことを開発者Aに通知することを含めることができる。一実施形態では、これは、あるコードモジュール、タイプ、メソッドなどのパフォーマンス特性をメタ表現(meta representation)と関連付けることによって行なわれる。従って、開発者Bが問題のメソッドへのコールを追加すると、Aによって追加された関連のパフォーマンスデータを見つけることができ、アクションをとることができる。
図1に示すように、システムの1または2以上の部分を実現するために使用する例示のコンピュータシステムは、中央情報ストア10、ネットワーク12、および開発マシン14a、14b、および14cのような1または2以上の開発マシンを備えている。開発マシンは、ソフトウェアアプリケーションを書く目的でソフトウェア開発者によって使用されるコンピュータである。中央情報ストア12は、データをストアし、他のネットワークリソースがそのデータにアクセスするのを可能にする1または2以上のコンピュータを含んでいる。一実施形態では、中央情報ストア12は、チーム環境において複数のユーザによって開発中のアプリケーションのアクティブメタモデル情報(active meta-model information)をストアしている。一実施形態では、より大規模なプロジェクトでより多くのピアツーピアレベルの共有に参加するのを可能にし、および/または中央ストアを使用しない実施形態を可能にする、といった目的のために、代替的にまたは付加的に、ローカル中央情報ストア12を開発マシン14a、14b、および14cの1または2以上にストアしておくことができる。ネットワーク12は、開発マシン14a、14b、14cと中央情報ストア10との間のコミュニケーションを提供するために使用される。ネットワーク12は、ワイヤードまたはワイヤレスコネクションを使用してローカルエリアネットワーク、ワイドエリアネットワーク、インターネット上のネットワークとして実現することも、および/またはコンピュータソフトウェア分野の通常知識者ならば行うように他の変種ネットワークにおいて実現することも可能である。
次に、図1に引き続き図2を参照して説明すると、コンピューティングデバイス600上で稼動するサブミッションおよび通知アプリケーション200(submission and notification application)が示されている。このサブミッションおよび通知アプリケーション200は、コンピューティングデバイス600(図11)に置かれているアプリケーションプログラムの1つである。一実施形態では、サブミッションおよび通知アプリケーション200は開発ワークステーション14A、14B、または14C(図1)の1つまたは2つ以上に置かれている。なお、当然に理解されるように、サブミッションおよび通知アプリケーション200は、代替的にまたは付加的に、1または2以上のコンピュータ上にコンピュータ実行可能命令として具現化することも、および/または図1に図示のものとは異なる変種で実現することも可能である。代替的にまたは付加的に、サブミッションおよび通知アプリケーション200の1または2以上の部分は、システムメモリ604(図11)の部分にすることも、他のコンピュータおよび/またはアプリケーション615(図11)上のものにすることも、コンピュータソフトウェア分野の知識者ならば行なうような他の変種にすることも可能である。サブミッションおよび通知アプリケーション200は、本明細書に記載した手法の一部または全部の実行を担当するプログラムロジック204を含んでいる。プログラムロジック204には、アプリケーションのアクティブメタモデル(例:中間コード、注釈、ユーザ生成アーティファクトなど)の少なくとも一部を、複数のユーザによる使用のために中央情報ストアにサブミットするように動作可能であるサブミッションサービスを提供するためのロジック206、アクティブメタモデルの変更(プロセスによる、ユーザによる、など)に関する通知を受信するように動作可能である通知サービスを提供するためのロジック208、メタモデル情報をユーザに表示するように通知サービスをさらに動作可能にするためのロジック210、通知サービスを開発環境に組み入れてメタモデル情報がその環境で表示されるようにするためのロジック212、およびアプリケーションを動作させるためのその他のロジック220が含まれている。一実施形態では、プログラムロジック204は、プログラムロジック204の中でプロシージャへのシングルコールを使用するといったように、別のプログラムからプログラムでコールされるように動作可能になっている。
次に、図1に引き続き図3を参照して説明すると、コンピューティングデバイス600(図11)上で稼動するメタモデルストレージアプリケーション240が示されている。メタモデルストレージアプリケーション240は、コンピューティングデバイス600上に置かれているアプリケーションプログラムの1つである。なお、当然に理解されるように、メタモデルストレージアプリケーション240は、代替的にまたは付加的に、1または2以上のコンピュータ上のコンピュータ実行可能命令として具現化することも、および/または図11に図示のものとは異なる変種で具現化することも可能である。代替的にまたは付加的に、メタモデルストレージアプリケーション240の1または2以上の部分は、システムメモリ604(図11)の部分にすることも、他のコンピュータおよび/またはアプリケーション615(図11)上のものにすることも、コンピュータソフトウェア分野の知識者ならば行なうような他の変種にすることも可能である。
タモデルストレージアプリケーション240は、本明細書に記載した手法の一部または全部の実行を担当するプログラムロジック244を含んでいる。プログラムロジック244には、複数のユーザによって開発中のアプリケーションのアクティブメタモデル情報を受信する受信サービスを提供するためのロジック246、特定リレーショナルデータベース構造に変更を行なわなくてもアーティファクトが追加されるのを可能にするように動作可能である特定リレーショナルデータベース構造内に受信したアクティブメタモデル情報をストアするように動作可能であるストレージサービスを提供するためのロジック248、アクティブメタモデル情報をリトリーブするリクエストを、アクティブメタモデルに対する変更を1または2以上のクライアントデバイスに通知するように動作可能である通知サービスから受信するためのロジック250、特定エレメントを識別する名前およびそのエレメントを記述したデータを特定リレーショナルデータベース構造にストアすることを可能にするためのロジック252、特定のコネクションを識別する名前、その特定コネクションを記述したデータ、その特定コネクションのソース、およびその特定コネクションのデスティネーションを特定リレーショナルデータベース構造にストアすることを可能にするためのロジック254、特定コネクションに関する関連性情報を収めているフィールドを特定リレーショナルデータベース構造にストアすることを可能にするためのロジック256、およびアプリケーションを動作させるための他のロジック260が含まれている。一実施形態では、プログラムロジック244は、プログラムロジック244の中でプロシージャへのシングルコールを使用するといったように、別のプログラムからプログラミングによってコールされるように動作可能になっている。
次に、図1に引き続き図4−5を参照して、図1のシステムの1または2以上の実施形態を実現するためのステージについて詳しく説明する。図4は、図1のシステムの1実施形態のハイレベルステージを示すプロセスフロー図である。一形態では、図4のプロセスは、少なくともその一部がコンピューティングデバイス600の動作ロジックに実現されている。図4に示すステップはある順序で記載されているが、当然に理解されるように、これらのステップはどの順序で実行されるとも、および/または相互に同時に実行されることも、まったく実行されないことも可能である。このプロセスはスタートポイント270からスタートし、チーム環境において複数のユーザが開発中のシステム生成アーティファクトとユーザ生成アーティファクトを表すために使用されるエレメントおよび関連性(relevancy)のダイナミック定義用のフレームワークを提供する(ステージ272)。システム生成アーティファクトおよびユーザ生成アーティファクトは、各チームメンバがアーティファクトを作成および/または変更すると中央情報ストアにアクティブメタモデルとしてストアされる(ステージ274)。各チームメンバによって使用されるソフトウェア開発アプリケーションは中央情報ストアと定期的にやりとりして、アクティブメタモデルに行なわれた関連の更新を特定する(ステージ276)。更新された情報は、問題や特定のチームメンバが現在行なっているなんらかのものに役立つような情報をその特定チームメンバに通知するといった目的のために使用される(ステージ278)。このプロセスはエンドポイント280で終了する。
図5は、中央情報ストアに置かれたアプリケーションのアクティブメタモデルとやりとりする際にかかわりのあるステージを示す一実施形態のプロセスフロー図である。一形態において、図5のプロセスは、少なくともその一部がコンピューティングデバイス600(図11)の動作ロジックに実装されている。図5に示すステップはある順序で記載されているが、当然に理解されるようにこれらのステップはどの順序で実行されるとも、および/または相互に同時に実行されることも、まったく実行されないことも可能である。このプロセスはスタートポイント290からスタートし、ソフトウェア開発アプリケーションのコンポーネントなどのサブミッションサービスと通信して、中央情報ストアに置かれたアプリケーションのアクティブメタモデルを更新する(ステージ292)。一実施形態では、これらの更新は、それぞれの各チームメンバが特定のソフトウェアアプリケーションをさらに開発するたびにそのチームメンバのワークステーションによって送信される。任意のどの瞬時においても、それぞれのチームメンバのワークステーションの1または2以上は、アクティブメタモデルに対する変更の通知を通知サービスから受信することができる(ステージ294)。これらの変更は、特定チームメンバ自身によって、または別のチームメンバによって行なわれた作業がきっかけになることがある。通知は変更だけに限らず、その変更を越えて構成可能にできるので、さまざまな理由で特定のイベントが発生したことをその基礎となる情報と一緒に示すことができる。例えば、対応する通知および人々を特定するために使用されるロジックは、ポリシに基づいて限定することも、および/または拡張することもできる。これの例として、一年前にあるコードセクションで作業していた開発者は、行なわれたばかりの仕様の変更の更新通知を受信しないことがあるが、2週間前にソースコードで作業していた開発者は、だれに、そしていつ通知すべきかを示すシステムワイドのセッティングに基づいて更新通知を受信することになる。
通知サービスは、それぞれのチームメンバによって使用されるソフトウェア開発アプリケーションにおけるディスプレイを、変更を記述した該当の情報で更新するために使用される(ステージ296)。一実施形態では、ソフトウェア開発アプリケーションはアクティブメタモデルに対する変更をインターセプトして分析したあと、いつ、どのような方法でユーザに通知するかを判断する。別の実施形態では、ソフトウェア開発アプリケーションは通知を受信するが、その通知をフィルタリングおよび/または解釈することなく表示するだけである。ユーザに表示できるタイプの情報のいくつかの例(これらの例に限定されない)として、ポリシ違反アラート(policy violation alert)、従属関係アラート(dependency alert)、パフォーマンスアラート(performance alert)、修正アラート(modification alert)などがある(ステージ296)。ポリシ違反アラートは、システムに対してセットされたポリシに違反するような形でアクティブメタモデルに影響する変更をユーザが行なったことを示すことができる。従属関係アラートは、いま変更しようとしているあるコードが使用可能でなくなったなんらかのもの、「遅速」とマークされたなんらかのもの、別のユーザによって現在編集中であるなんらかのもの、などに従属していることをユーザに知らせることができる。パフォーマンスアラートは、同じコードが、そのコードで以前に作業していた別のユーザによって実行が遅速とマークされたことをユーザに知らせることができる。これらは、中央情報ストアに置かれたアクティブメタモデルを分析したときシステムから出されるタイプの情報の例をいくつか挙げたものにすぎず、これらの例に限定されない。このプロセスはエンドポイント298で終了する。
次に、図6−10を参照して説明すると、中央情報ストアに置かれていて、チーム開発環境で使用されるアクティブメタモデルを実現するために使用できる例示のデータベース構造を示すためにいつかの図が使用されている。図6は、図1のシステムの一実施形態において中央情報ストアに置かれたエレメント固有フィールド(element-specific field)350を示す図である。一実施形態において、抽象ストレージ定義(abstract storage definition)が必要であるのは、プログラムと注釈が幅広く変化するからである。しかし、一実施形態に関して本明細書に記載されているスキーマの全体構造に限定されず、本明細書に記載されている手法の一部または全部を実現するためにその他の種々データベーススキーマを使用することも可能である。一実施形態において、エレメントは、中央情報ストアにおいて名詞として使用される総称アイテム(generic item)である。エレメントの例をいくつか挙げると、メソッド、タイプ、アセンブリ、メタデータ属性などがあるが、これらの例に限定されない。個々のエレメントは、その一般的定義において必要とされるだけプロパティをいくつでももつことができる。各ツール、ベンダ、および/またはシステムはエレメントをダイナミックに定義して、必要に応じてデータを提供することができる。各エレメントは、名前フィールド352をデータフィールド354と共に収めている。名前フィールド352は、システム内のエレメントを記述したストリングである。データフィールド354は、エレメントに関する詳細をストアするバイナリパケットである。
図7は、一実施形態においてアセンブリを定義するために使用されているエレメントの例を示す図である。プログラム構造は、一般的システム提供情報の一部である。アセンブリは、データストアによってエレメントとして参照されないが、ベンダおよび/またはシステムからのツールは、必要に応じてこれらのアセンブリエレメントに注釈を付けることができる。これにより、この特定アセンブリの低レベル部分で作業している開発者のほうは、関連情報を得ることができる。システムに共有エレメントがないと、ローカルデスクトップ上でアセンブリから作業しているツール間の関連性は、そのアセンブリに対してたまたま起っている小さなアーティファクトおよび/または作業と相関付けることが困難になる。例えば、開発者Xがメソッド1に対するテストケースで作業しており、そのメソッドはクラスの一部であり、クラスは名前空間の一部であり、名前空間はアセンブリZの一部であり、アセンブリZはテストカバレッジ(test coverage)をまったく必要としないとマークされていると想定する。システムは、アセンブリZで要求条件を定義しているユーザに、開発者Xのデスクトップでなにが起こっていたかの具体的知識がなくても、書かれているテストケースが必須でないことを開発者Xに通知することが可能になる。
次に、図8を参照して説明すると、図8は、一実施形態において中央情報ストアに置かれているコネクション特定フィールド(connection-specific field)400を示す図である。一実施形態において、コネクションは中央情報ストアにおいて動詞として使用される総称アイテムである。コネクションの例をいつか挙げると、depends(従属)、contains(収容)、authored(作成)などがあるが、これらの例に限定されない。コネクションは2またはそれ以上のエレメントを関係付けるために使用される。各コネクションはソースフィールド402とデスティネーションフィールド404を収めている。図9は、“depends”コネクションタイプを定義するために使用されているコネクションの例を示す図である。中央情報ストアは、定義したタイプ間の関連性の表現に依存している。これらの関連性は、名詞間のダイナミック作業リンク(dynamic working link)の働きをし、付加的関係ディメンション(additional dimension of relation)を提供する。例えば、アセンブリAをエレメントとしてもち、クラスZをエレメントとして持っていると想定する。両方とも、システムがツールからの注釈を共有ストア内に反映したあと、その注釈をアセンブリAおよびクラスZと関連付けることができる。しかし、タイプ“contains”のコネクションは、さらに、アセンブリAがクラスZを収容していることを表すので、コネクションがないと、この関連性が不可能になることがある場合に関連性ルックアップ(associative lookups)を行なうことができる。一実施形態では、ダイナミック関係は、それ自体ダイナミックに定義される。
図10は、図1のシステムの一実施形態においてコネクション定義と共に使用できる特殊関連性プロパティ(special relevancy property)を示す図500である。一実施形態では、関連性はすべてのコネクションと関連付けられた特殊なプロパティである。一般的には、関連性は2エレメント間の関係がエレメント間の関係に対してどれだけ重要であるかを表している。2エレメント間の関係に対する関連性値はエレメント間のコネクションに割り当てられる。関連性単位(relevancy unit)は、コネクションに注目する個々のベンダによって定義することも、および/またはシステムによって定義することもできる。中央情報ストアに対して変更が行なわれると、データとその効果の総合的使用はストアによって反映される。関連性は、アーティファクト間の動詞の重み付けを可能にするメカニズムを提供する。このようにすると、システムは種々の形態の関係について異なる使い方をすることができる。一実施形態では、関連性がシステムの重要な部分となっているのは、アイテム間の関連付けが数10万の数になることがあるからである。その他の実施形態では、関連性はそれほど重要でなく、および/または使用されないことさえある。
一実施形態において、トラスト(trust)は、システムによってユーザ、ベンダおよび/またはベンダ提供ツールに与えられる付加的特殊プロパティである。システムのデータが展開されると共に、ツールとユーザの発見(finding)は経時的に変化していく。ツールが不正確であると判明した場合は、特定のベンダ、ツールまたはユーザに関連付けられたデフォルトのトラストウェイトが変更されることがある。そのようにすることは、関連性計算が変更され、トラストファクタの倍率に応じてその計算を正または負に重み付けすることを意味している。例えば、コードのスタティック分析を使用すると、テストケースと開発メソッドとのコール関係を調べることによってテストケースとコードの間のリンクを見つけることができる。この例では、ツールXはこれらの関係を調べ、スタティック関係に基づいてテストコードと開発メソッドの間のリンクを追加する。デフォルトでは、システムはこれらの関係を調べ、これらのリンクによって接続されたモジュールに対する変更をユーザに通知する。テストAが開発メソッドBをコールし、メソッドBが変化したときは、Aの作成者に通知されるはずである。しかし、開発サイクルが進捗するのに伴い、変更が通知されるユーザは、気にしていないときになん度も、通知されることがある。これは、コネクションがより重要であるか、より重要でないかを意味する可能性のある追加のファクタ(コード複雑性、コール数など)をツールXが考慮しないためである。ユーザからのネガティブフィードバックのすべてに起因して、アドミニストレータまたはシステムはツールXのトラストレーティングを低くすることができる。直接的結果として、ユーザに変更が通知される対象となる計算が行なわれるとき、ツールXのリンクからの2ユーザ間のコネクションはツールYについては異なったレーティングがされ、その場合には、ツールXの情報はトラストが低下することになる。
図11に示すように、システムの1または2以上の部分を実現するために使用する例示のコンピュータシステムは、コンピューティングデバイス600のようなコンピューティングデバイスを含んでいる。その最も基本的な構成では、コンピューティングデバイス600は、少なくとも1つの処理ユニット602とメモリ604を装備しているのが代表的である。コンピューティングデバイスの正確な構成とタイプに応じて、メモリ604は揮発性(RAMなど)、不揮発性(ROM、フラッシュメモリなど)またはこれらの2つを組み合わせたものにすることができる。この最も基本的な構成は図1に破線606で示されている。
さらに、デバイス600は、追加の特徴/機能を備えていることもある。例えば、デバイス600は、追加のストレージ(取り外し可能および/または取り外し不能)を装備していることもあり、その中には磁気または光学ディスクまたはテープが含まれているが、これらに限定されない。このような追加ストレージは図11に取り外し可能ストレージ608と取り外し不能ストレージ610で示されている。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータなどの情報をストアするためのなんらかの方法またはテクノロジで実現された揮発性および不揮発性の取り外し可能および取り外し不能の媒体が含まれている。メモリ604、取り外し可能ストレージ608および取り外し不能ストレージ610は、いずれもコンピュータ記憶媒体の一例である。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリテクノロジ、CD−ROM、DVD(digital versatile disk)またはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたはその他の磁気ストレージデバイス、または望みの情報をストアするために使用可能で、デバイス600によってアクセス可能であるその他のいずれかの媒体が含まれているが、これらに限定されない。このようなコンピュータ記憶媒体は、いずれもデバイス660の一部になっていることがある。
コンピューティングデバイス600は、コンピューティングデバイス600が他のコンピュータ/アプリケーション615と通信するのを可能にする1または2以上の通信コネクションを備えている。デバイス600は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの入力デバイス612を備えていることもある。ディスプレイ、スピーカ、プリンタなどの出力デバイスが装備されていることもある。これらのデバイスはこの分野では周知であるので、ここで詳細に説明することは省略する。一実施形態では、コンピューティングデバイス600は、サブミッションおよび通知アプリケーション200およびメタモデルストレージアプリケーション240を備えている。
以上、構造上の特徴および/または方法上のアクトに特有の表現で主題を説明してきたが、当然に理解されるように、請求項に記載した主題は上述した特定の特徴またはアクトに限定されない。むしろ、上述した特定の特徴およびアクトは、請求項を実現する形態の例として開示されたものである。本明細書および/または請求項に記載されている実施形態の精神の範囲内に属する等価物、変更および改良は、すべて保護の対象となるものである。
例えば、コンピュータソフトウェア分野の通常知識者ならば認識されるように、本明細書に説明されている例の中で記載されているクライアントおよび/またはサーバ構成、ユーザインタフェーススクリーンコンテンツ、および/またはデータレイアウトは、1または2以上のコンピュータ上で異なる編成にして、例に示したものとは少ない、または付加的オプションまたは特徴を含めることが可能である。
10 中央情報ストア
12 ネットワーク
14a、14b、14c 開発マシン
14A、14B、14C 開発者マシン
200 サブミッションおよび通知アプリケーション
204、244 プログラムロジック
206、246 ユーザ
208、250 アクティブメタモデル
210、212、220 ロジック
240 メタモデルストレージアプリケーション
248 特定リレーショナルデータベース構造
252 エレメント
254、256 特定コネクション
260 アプリケーション
350 エレメント固有フィールド
352 名前フィールド
354 データフィールド
402 ソースフィールド
404 デスティネーションフィールド
600 コンピューティングデバイス
604 システムメモリ
608 取り外し可能ストレージ
610 取り外し不能ストレージ
611 出力デバイス
612 入力デバイス
615 コンピュータおよび/またはアプリケーション

Claims (20)

  1. コンピュータ実行可能命令を収めたコンピュータ可読媒体であって、前記コンピュータ実行命令は、
    アプリケーションのアクティブメタモデルの少なくとも一部を、複数のユーザによる使用のためにサブミットするように動作可能であるサブミッションサービスを提供するステップと、
    アクティブメタモデルの変更に関する通知を受信するように動作可能である通知サービスを提供するステップと、
    をコンピュータに実行させるためのものであることを特徴とするコンピュータ可読媒体。
  2. 通知サービスは、プロセスによって行なわれた変更を受信するように動作可能であることを特徴とする請求項1に記載のコンピュータ可読媒体。
  3. 通知サービスは、ユーザの操作によって行なわれた変更を受信するように動作可能であることを特徴とする請求項1に記載のコンピュータ可読媒体。
  4. アクティブメタモデルは中間コードを収めていることを特徴とする請求項1に記載のコンピュータ可読媒体。
  5. アクティブメタモデルは注釈を収めていることを特徴とする請求項1に記載のコンピュータ可読媒体。
  6. アクティブメタモデルはユーザ生成アーティファクトを収めていることを特徴とする請求項1に記載のコンピュータ可読媒体。
  7. 通知サービスは、さらに、複数のユーザのうちの特定ユーザにメタモデル情報を表示するように動作可能であることを特徴とする請求項1に記載のコンピュータ可読媒体。
  8. 通知サービスは、開発環境に組み込まれてメタモデル情報が開発環境において表示されるように動作可能であることを特徴とする請求項1に記載のコンピュータ可読媒体。
  9. コンピュータ実行可能命令を収めたコンピュータ可読媒体であって、前記コンピュータ実行命令は、
    複数のユーザによって開発中のアプリケーションのアクティブメタモデル情報を受信するように動作可能である受信サービスを提供するステップと、
    特定のリレーショナルデータベース構造に変更を行なわなくてもアーティファクトの追加を可能にするように動作可能である特定のリレーショナルデータベース構造内に、受信したアクティブメタモデル情報をストアするように動作可能であるストレージサービスを提供するステップと、
    をコンピュータに実行させるためのものであることを特徴とするコンピュータ可読媒体。
  10. アクティブメタモデル情報をリトリーブするリクエストを通知サーバから受信するステップを、コンピュータに実行させるためのコンピュータ実行可能命令をさらに収めており、前記通知サービスは、アクティブメタモデルに対する変更を1または2以上のクライアントデバイスに通知するように動作可能であることを特徴とする請求項9に記載のコンピュータ可読媒体。
  11. 特定リレーショナルデータベース構造は、特定エレメントを識別する名前およびそのエレメントを記述したデータをストアするように動作可能であることを特徴とする請求項9に記載のコンピュータ可読媒体。
  12. 特定リレーショナルデータベース構造は、特定コネクションを識別する名前、特定コネクションを記述したデータ、特定コネクションのソース、および特定コネクションのデスティネーションをストアするように動作可能であることを特徴とする請求項9に記載のコンピュータ可読媒体。
  13. 特定リレーショナルデータベース構造は、特定コネクションに関する関連性情報をストアするように動作可能であることを特徴とする請求項12に記載のコンピュータ可読媒体。
  14. ソフトウェア開発アプリケーションを提供するための方法であって、
    複数のユーザによって使用される中央情報ストアに置かれたアプリケーションのアクティブメタモデルを更新するためにサブミッションサービスと通信するステップと、
    アクティブメタモデルに対する変更の通知を通知サービスから受信するステップと、
    ソフトウェア開発アプリケーションにおいてディスプレイを更新するために通知サービスを使用するステップと、
    を含むことを特徴とする方法。
  15. サブミッションサービスは、ソフトウェア開発アプリケーションのコンポーネントであることを特徴とする請求項14に記載の方法。
  16. 通知サービスは、ポリシ違反アラートを提供することを特徴とする請求項14に記載の方法。
  17. 通知サービスは、従属関係アラートを提供することを特徴とする請求項14に記載の方法。
  18. 通知サービスは、パフォーマンスアラートを提供することを特徴とする請求項14に記載の方法。
  19. 通知サービスは、アプリケーションコードが別のユーザによって現在修正中であることを知らせるアラートを提供することを特徴とする請求項14に記載の方法。
  20. 請求項14に記載のステップをコンピュータに実行させるためのコンピュータ実行可能命令を収めていることを特徴とするコンピュータ可読媒体。
JP2010501032A 2007-03-19 2008-02-19 チーム環境におけるコラボレーション開発情報の使用 Active JP5256280B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/725,258 US8464209B2 (en) 2007-03-19 2007-03-19 Using collaborative development information in a team environment
US11/725,258 2007-03-19
PCT/US2008/054319 WO2008115644A1 (en) 2007-03-19 2008-02-19 Using collaborative development information in a team environment

Publications (2)

Publication Number Publication Date
JP2010522397A true JP2010522397A (ja) 2010-07-01
JP5256280B2 JP5256280B2 (ja) 2013-08-07

Family

ID=39766312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010501032A Active JP5256280B2 (ja) 2007-03-19 2008-02-19 チーム環境におけるコラボレーション開発情報の使用

Country Status (6)

Country Link
US (1) US8464209B2 (ja)
EP (1) EP2137631A4 (ja)
JP (1) JP5256280B2 (ja)
CN (1) CN101647009B (ja)
TW (1) TWI453666B (ja)
WO (1) WO2008115644A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10659522B2 (en) 2010-11-30 2020-05-19 International Business Machines Corporation Sharing application local environment

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9015198D0 (en) 1990-07-10 1990-08-29 Brien Caroline J O Binding substance
US6916605B1 (en) 1990-07-10 2005-07-12 Medical Research Council Methods for producing members of specific binding pairs
US7809703B2 (en) * 2006-12-22 2010-10-05 International Business Machines Corporation Usage of development context in search operations
TWI467481B (zh) * 2010-05-31 2015-01-01 Ibm 層級式程式源碼管理方法、系統及電腦程式產品
CN102346977B (zh) * 2010-08-06 2014-10-22 上海睿亚训软件技术服务有限公司 软件开发实践能力培训与评估系统
WO2012145151A1 (en) * 2011-04-20 2012-10-26 Sony Computer Entertainment America Llc Social interactive code development
US20120272207A1 (en) * 2011-04-20 2012-10-25 Sony Computer Entertainment America Llc Social interactive code development
KR102009928B1 (ko) * 2012-08-20 2019-08-12 삼성전자 주식회사 협업 구현 방법 및 장치
US20140156547A1 (en) * 2012-11-30 2014-06-05 The Children's Hospital Of Philadelphia Methods and systems for assessing computer applications
US10459717B2 (en) 2013-08-07 2019-10-29 Sap Se Observing evolution of software development artifacts
US9507609B2 (en) 2013-09-29 2016-11-29 Taplytics Inc. System and method for developing an application
US9830148B1 (en) 2017-01-27 2017-11-28 Semmle Limited Providing user-specific source code alert information
WO2019040543A1 (en) * 2017-08-22 2019-02-28 Codestream, Inc. SYSTEMS AND METHODS FOR PROVIDING AN INSTANT COMMUNICATION CHANNEL IN INTEGRATED DEVELOPMENT ENVIRONMENTS
US10795671B2 (en) * 2017-11-21 2020-10-06 International Business Machines Corporation Audiovisual source code documentation
CN109885690A (zh) * 2018-12-14 2019-06-14 中国平安人寿保险股份有限公司 一种数据变化的侦测方法、装置、电子设备及存储介质
US11048483B2 (en) 2019-09-24 2021-06-29 Rockwell Automation Technologies, Inc. Industrial programming development with an extensible integrated development environment (IDE) platform
US10942710B1 (en) 2019-09-24 2021-03-09 Rockwell Automation Technologies, Inc. Industrial automation domain-specific language programming paradigm
US11733687B2 (en) * 2019-09-26 2023-08-22 Rockwell Automation Technologies, Inc. Collaboration tools
US11163536B2 (en) 2019-09-26 2021-11-02 Rockwell Automation Technologies, Inc. Maintenance and commissioning
US11392112B2 (en) 2019-09-26 2022-07-19 Rockwell Automation Technologies, Inc. Virtual design environment
US11080176B2 (en) 2019-09-26 2021-08-03 Rockwell Automation Technologies, Inc. Testing framework for automation objects
US11042362B2 (en) 2019-09-26 2021-06-22 Rockwell Automation Technologies, Inc. Industrial programming development with a trained analytic model
US11308447B2 (en) 2020-04-02 2022-04-19 Rockwell Automation Technologies, Inc. Cloud-based collaborative industrial automation design environment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01292529A (ja) * 1988-05-20 1989-11-24 Fujitsu Ltd ソフトウエア設計情報保守支援方式
JPH096605A (ja) * 1995-06-23 1997-01-10 Hitachi Ltd 機能オブジェクト間通信装置
JPH0916392A (ja) * 1995-06-27 1997-01-17 Mitsubishi Electric Corp ソフトウェア開発支援方式
JPH1083420A (ja) * 1996-06-28 1998-03-31 Fujitsu Ltd モデルベースの業務支援システムおよび方法
JP2000148458A (ja) * 1998-08-31 2000-05-30 Mitsubishi Materials Corp プログラム開発支援装置及び記録媒体
JP2000235496A (ja) * 1999-02-12 2000-08-29 Ntt Communicationware Corp コンパイル処理方法、コンパイル処理装置、記録媒体およびクライアントサーバシステム
US20070143735A1 (en) * 2005-12-15 2007-06-21 International Business Machines Corporation Activity-based software traceability management method and apparatus

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848274A (en) * 1996-02-29 1998-12-08 Supercede, Inc. Incremental byte code compilation system
US6233600B1 (en) * 1997-07-15 2001-05-15 Eroom Technology, Inc. Method and system for providing a networked collaborative work environment
US5911073A (en) * 1997-12-23 1999-06-08 Hewlett-Packard Company Method and apparatus for dynamic process monitoring through an ancillary control code system
US7043529B1 (en) * 1999-04-23 2006-05-09 The United States Of America As Represented By The Secretary Of The Navy Collaborative development network for widely dispersed users and methods therefor
WO2000067118A2 (en) 1999-05-03 2000-11-09 Nucom Integrated Technologies Intelligent collaboration across network system
JP2001092650A (ja) 1999-09-24 2001-04-06 Hitachi Information Systems Ltd ソフトウェア開発管理支援システムと方法およびその処理プログラムを記録した記録媒体
US6874141B1 (en) * 2000-06-29 2005-03-29 Microsoft Corporation Method of compiling schema mapping
US6732364B1 (en) * 2000-07-14 2004-05-04 International Business Machines Corporation Mechanism for developing and dynamically deploying awarelets
US20030014513A1 (en) * 2000-12-27 2003-01-16 Ruths Derek Augustus Samuel System and method for collaborative data resource representation
US7000220B1 (en) * 2001-02-15 2006-02-14 Booth Thomas W Networked software development environment allowing simultaneous clients with combined run mode and design mode
US6741904B1 (en) * 2001-02-16 2004-05-25 Benjamin C. Gage Real time design, development and delivery collaborative apparel solution digital platform
US7146355B2 (en) * 2001-03-15 2006-12-05 International Business Machines Corporation Method and structure for efficiently retrieving artifacts in a fine grained software configuration management repository
US20030009740A1 (en) * 2001-06-11 2003-01-09 Esoftbank (Beijing) Software Systems Co., Ltd. Dual & parallel software development model
US7149734B2 (en) * 2001-07-06 2006-12-12 Logic Library, Inc. Managing reusable software assets
US7028225B2 (en) * 2001-09-25 2006-04-11 Path Communications, Inc. Application manager for monitoring and recovery of software based application processes
US7069547B2 (en) * 2001-10-30 2006-06-27 International Business Machines Corporation Method, system, and program for utilizing impact analysis metadata of program statements in a development environment
US7194475B2 (en) * 2001-10-30 2007-03-20 International Business Machines Corporation Method, system, and program for performing an impact analysis of program statements in at least one source code file
US7065746B2 (en) * 2002-01-11 2006-06-20 Stone Bond Technologies, L.P. Integration integrity manager
US20030135565A1 (en) * 2002-01-14 2003-07-17 Julio Estrada Electronic mail application with integrated collaborative space management
CN1679034A (zh) * 2002-04-08 2005-10-05 托普科德公司 用于对软件开发服务征求建议的系统以及方法
US7076764B2 (en) * 2002-09-05 2006-07-11 Bea Systems, Inc. System and method for software module architecture language and compliance checking
US7818678B2 (en) * 2002-10-31 2010-10-19 Litera Technology Llc Collaborative document development and review system
US20040117454A1 (en) * 2002-12-13 2004-06-17 Koont Eren S. Collaboration cube for a portable computer device
WO2004055641A2 (en) * 2002-12-13 2004-07-01 Business Performance Group, Llc Collaboration framework
CN1809829A (zh) * 2003-04-25 2006-07-26 惠普开发有限公司 数据库装置和作成方法、数据库检索装置及检索方法
US7788711B1 (en) * 2003-10-09 2010-08-31 Oracle America, Inc. Method and system for transferring identity assertion information between trusted partner sites in a network using artifacts
US7805702B2 (en) * 2003-10-29 2010-09-28 International Business Machines Corporation Collaborative development environments for software
US20050227218A1 (en) * 2004-03-06 2005-10-13 Dinesh Mehta Learning system based on metadata framework and indexed, distributed and fragmented content
US7533369B2 (en) * 2004-03-15 2009-05-12 Ramco Systems Limited Method and system for providing documentation and training in a software development activity
US7734685B2 (en) * 2004-07-27 2010-06-08 International Business Machines Corporation Method, system and program product for annotating a development artifact
US20060041440A1 (en) * 2004-08-20 2006-02-23 International Business Machines Corporation Method, system and program product for managing a project
US20060080432A1 (en) * 2004-09-03 2006-04-13 Spataro Jared M Systems and methods for collaboration
US7882492B2 (en) * 2004-09-17 2011-02-01 Oracle America, Inc. Intelligent computer program debugger, and system and method for implementing the same
US20060150150A1 (en) * 2005-01-06 2006-07-06 International Business Machines Corporation Editor support for modifying generated source code
US7853961B2 (en) 2005-02-28 2010-12-14 Microsoft Corporation Platform for data services across disparate application frameworks
US8010946B2 (en) * 2005-03-18 2011-08-30 Oracle International Corporation Apparatus for analysing and organizing artifacts in a software application
US7937753B2 (en) * 2005-03-25 2011-05-03 Microsoft Corporation Method and apparatus for distributed information management
US8359571B2 (en) * 2005-12-19 2013-01-22 International Business Machines Corporation Computer method and apparatus for activity-based version selection in a configuration management system
US8812556B2 (en) * 2006-04-06 2014-08-19 International Business Machines Corporation Storing modification data for recreating modifications
US7509416B1 (en) * 2006-11-03 2009-03-24 Unisys Corporation Dynamically updating subcomponents in a tiered remote monitoring system
US8028271B2 (en) * 2007-03-12 2011-09-27 Wind River Systems, Inc. Patch-aware editor
US7837753B2 (en) * 2007-11-30 2010-11-23 Honeywell International Inc. Systems for filtering particles from an airflow

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01292529A (ja) * 1988-05-20 1989-11-24 Fujitsu Ltd ソフトウエア設計情報保守支援方式
JPH096605A (ja) * 1995-06-23 1997-01-10 Hitachi Ltd 機能オブジェクト間通信装置
JPH0916392A (ja) * 1995-06-27 1997-01-17 Mitsubishi Electric Corp ソフトウェア開発支援方式
JPH1083420A (ja) * 1996-06-28 1998-03-31 Fujitsu Ltd モデルベースの業務支援システムおよび方法
JP2000148458A (ja) * 1998-08-31 2000-05-30 Mitsubishi Materials Corp プログラム開発支援装置及び記録媒体
JP2000235496A (ja) * 1999-02-12 2000-08-29 Ntt Communicationware Corp コンパイル処理方法、コンパイル処理装置、記録媒体およびクライアントサーバシステム
US20070143735A1 (en) * 2005-12-15 2007-06-21 International Business Machines Corporation Activity-based software traceability management method and apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10659522B2 (en) 2010-11-30 2020-05-19 International Business Machines Corporation Sharing application local environment

Also Published As

Publication number Publication date
CN101647009A (zh) 2010-02-10
US20080235654A1 (en) 2008-09-25
WO2008115644A1 (en) 2008-09-25
EP2137631A1 (en) 2009-12-30
JP5256280B2 (ja) 2013-08-07
EP2137631A4 (en) 2012-01-25
CN101647009B (zh) 2015-05-13
US8464209B2 (en) 2013-06-11
TWI453666B (zh) 2014-09-21
TW200844855A (en) 2008-11-16

Similar Documents

Publication Publication Date Title
JP5256280B2 (ja) チーム環境におけるコラボレーション開発情報の使用
US9864672B2 (en) Module specific tracing in a shared module environment
US9298588B2 (en) Tracing system for application and module tracing
US8775946B2 (en) Resolving information in a multitenant database environment
US9020830B2 (en) Hierarchy based dependent object relationships
US10503707B2 (en) Field types defined via custom metadata types
US9311213B2 (en) Module database with tracing options
US8433687B1 (en) Off-line indexing for client-based software development tools
US8412716B2 (en) System and method of presenting relevant application components to a user
US8458159B2 (en) Automatic role determination for search configuration
US7984115B2 (en) Extensible application platform
US20210096825A1 (en) Systems, methods, and apparatuses for local web components development within a cloud based computing environment
US20130054627A1 (en) Systems And Methods For Providing A Data Glossary Management System
US11394604B2 (en) Closed-loop automation of a managed network
US20090254538A1 (en) Methods, systems, and computer program products for social based assistance in a source code control system
Manousis et al. Impact analysis and policy-conforming rewriting of evolving data-intensive ecosystems
US20140100840A1 (en) Systems and Methods for Creating Context Sensitive Graph Topologies Based on Multidimensional Context Information
US7827567B2 (en) System and method for defining and dynamically invoking polymorphic call flows
US11700177B2 (en) Cloud computing infrastructure pipelines with run triggers
Karus XML development with plug‐ins as a service
US20120144367A1 (en) Events fired pre- and post-method execution
CN116894577A (zh) 数据处理方法、装置、设备及存储介质
Baum C/S apps without the heavy lifting.
Awad et al. Interoperable Distributed Data Warehouse Components
Zhiqiang et al. Development of a lab instrument management system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130422

R150 Certificate of patent or registration of utility model

Ref document number: 5256280

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250