ACE(編集者)

エース
開発者ピロン、ラス、ズビンデン
安定版リリース
M4 [1]  / 2006年3月7日
オペレーティング·システムWindowsMac OS XLinux
プラットフォームジャワ
タイプテキストエディタ
ライセンスGPL-2.0以降
Webサイトsourceforge.net/projects/ace/

ACEACE – 共同エディタ)は、プラットフォームに依存しない共同リアルタイムエディタです。地理的に離れた複数のユーザーが同時に 共有テキスト文書を閲覧・編集できる、リアルタイム協調編集システムです。

導入

ACEは、コピー/ペーストや読み込み/保存などの標準機能を備えたシンプルなテキストエディタです。複数のドキュメントを同時に編集できます。さらに、ACEは通信ネットワーク(LANインターネット)で接続された異なるコンピュータ上の他のユーザーとドキュメントを共有できます。ACEはローカルエリアネットワーク(LAN)内のユーザーと共有ドキュメントを自動的に検出します。ユーザーは、検出された共有ドキュメントに参加できます。ACEはゼロ構成ネットワークに基づいているため、設定は一切不要です

ユーザーが共有ドキュメントに参加すると、仮想チームとして参加者全員と同時にドキュメントを自由に編集できます。いわゆる「認識情報」は、不要な競合(2人のユーザーが同時に編集している場合やテキストの位置が一致していない場合など)を回避するのに役立ちます。認識情報には、他のユーザーが現在選択しているカーソルとテキストが、それぞれのユーザーの色でマークされて表示されます。

このアプリケーションの中核となるのは、革新的なオペレーション変換コンセプトに基づく同時実行制御アルゴリズムです。このアルゴリズムにより、複数のユーザーによるロックフリーなドキュメント編集が可能になります。編集上の制約は一切なく、すべての競合を自動的に解決します。このアルゴリズムは、リアルタイム共同編集システムの設計と実装における最も重要な課題の一つである一貫性の維持を克服します。つまり、静止時(つまり、メッセージが送信されていない時)に、共有ドキュメントがすべての参加者にとって同一であることを保証するのです。

ACEは、 BEEP (RFC 3080)やゼロコンフィグレーション・ネットワーキングなどのオープンテクノロジーを基盤としています。これにより、ACEのパブリックプロトコルを理解する異なるアプリケーションとの通信が可能になります。

ACEはWindowsMac OS XLinuxなどの主要なオペレーティングシステムで動作し、フリーソフトウェアです[2]

使用例

図に示すように、Bill、Steve、Scottという3人の参加者による共同編集セッションを考えてみましょう。セッションには参加していないSamという4人目のユーザーもいます。ユーザーが共同編集するドキュメントはCollaboration.txtです。ユーザーScottがその所有者兼発行者です。ユーザーSteveとBillはMicrosoft Windows OSで作業しているのに対し、ScottはMac OS Xを、SamはLinux OSを使用していることに注意してください。青色は常にACEインスタンスのローカルユーザーが書き込んだテキストを示すことに注意してください。参加者に対応する色は、GUIの参加者ビューに表示されます

使用法

ACE の使用方法の例をいくつか示したリストを以下に示します。

  • グループブレインストーミング
  • ソースコード開発(XP
  • 集団メモ
  • 一緒にテキストを書きます(電子メール、手紙、日記など)
  • 教育目的

最後の点は、協調編集システムのさらなる可能性を示しています。2~3人の生徒がグループで一緒にエッセイを書くことができます。一方では、互いに書き言葉の使い方を教え合い、他方では、コンピュータ上の実践的なアプリケーションを使って一緒に楽しみながら学ぶことができます。こうすることで、今日の教育に不可欠なコンピュータとの接触に対する恐怖心を払拭することができます。

技術的背景

ACEのようなリアルタイム協調編集システムでは、地理的に離れた複数の拠点から複数のユーザーが同時に同じ文書を閲覧・編集できます。拠点は通信ネットワークで接続されています。このようなシステムには、以下の要件が求められます。

  • リアルタイム: ローカル ユーザーの操作に対する応答は迅速である必要があり、理想的には単一のユーザー エディターと同じくらい速く、リモート ユーザーの操作を反映するための遅延は低い必要があります (外部通信の遅延のみによって決まります)。
  • 分散型: 協力するユーザーは、非決定論的な遅延を持つ通信ネットワークによって接続された異なるマシン上に存在する場合があります。
  • 制約なし: 複数のユーザー間での自由で自然な情報の流れを促進するために、複数のユーザーがいつでもドキュメントの任意の部分を同時に独立して編集できます。

リアルタイム協調編集システムはn個のインスタンスで構成され、各インスタンスは異なるユーザーによって実行されます。すべてのインスタンスはネットワークで接続されています。リアルタイム協調編集システムの設計と実装における最も重要な課題の一つは、異なるドキュメントレプリカ(各サイトに1つずつ)間の一貫性の維持です。協調編集システムが一貫性を持つとされるのは、以下の特性が常に維持されている場合です。

  • 収束性:すべてのサイトで同じ操作セット(例えば、文字の挿入/削除など)が実行された場合、共有ドキュメントのすべてのコピー(レプリカとも呼ばれる)が同一であることを保証します。つまり、この特性により、共同編集セッションの終了時に最終結果の一貫性が確保されます。
  • 因果関係の保存:任意の操作OaObのペアについてOa -> Ob(つまり、 ObがOaに依存している)の場合、すべてのサイトにおいてOa がObより先に実行されます。つまり、この特性により、協調編集セッション中、依存する操作のすべてのサイトにおける実行順序の一貫性が保証されます。
  • 意図保存性:任意の操作Oについて、すべてのサイトでO を実行した場合の効果はOの意図と同じでありOの実行効果は独立した操作の効果に影響を与えません。つまり、この特性は、ある操作をリモートサイトで実行した場合、その操作が生成された時点でローカルサイトで実行した場合と同じ効果が得られ、独立した操作の実行効果が互いに干渉しないことを保証します。

一貫性制御を実現するソリューションの一つとして、オペレーショナル・トランスフォーメーション(OT)アルゴリズムが挙げられます。OTアルゴリズムは、主に以下の2つの要素から構成されます。

  • 受信、ブロードキャスト、および操作の実行を担う統合アルゴリズム。ドキュメントレプリカの種類やアプリケーションに依存しません。
  • 変換関数は、2つの同時操作をマージする役割を担います。これはアプリケーションに依存します。例えば、テキストエディタとホワイトボードアプリケーションでは操作が異なります。

一貫性維持に関する理論は、 Computer Supported Cooperative Work (略してCSCW)と呼ばれる研究分野に由来しています。

参照

参考文献

  1. ^ 「ACE - 共同エディタコード」。
  2. ^ 「Windows vs MacOS vs Linux – オペレーティングシステムハンドブック」. freeCodeCamp.org . 2022年4月12日. 2023年1月25日閲覧
Retrieved from "https://en.wikipedia.org/w/index.php?title=ACE_(editor)&oldid=1331404448"