Набір інструментів моделювання розподілених алгоритмів в Java


Ми описуємо набір інструментів для проектування, реалізації, тестування, моделювання та візуалізації розподілених алгоритмів Java. Інструментарій складається з бібліотеки класів Java з простим інтерфейсом програмування, що дозволяє розробляти розподілені алгоритми, засновані на моделі передачі повідомлень. Отримані програми можна виконати в автономному режимі з використанням інтерпретатора Java або в якості вбудованих аплетів в HTML сторінки і виконуватися веб-браузерами. Мета інструментарія - забезпечити загальнодоступною платформою наукові дослідження та освіту в галузі розподілених алгоритмів. Інструментарій знаходиться у вільному доступі в Інтернеті.

 

Приклади

Розподілені програми у вигляді аплетів в веб-браузері.

 

3 вузла в кільці

Тривіально поширювана програма

 

Distributed Snapshots

Застосування алгоритму Chandy-Lamport для знаходження послідовних глобальних знімків в мережі.

Паралельна конструкція выпуклої оболонки множинності  

Виконання паралельного алгоритму для обчислення опуклої оболонки множинності набору точок.

Реєстрація завершення роботи  

Реалізація розподіленого алгоритму реєстрації завершення роботи, описаного Дейкстром.

Ширина першого пошуку (Інше рішення)

Будівництво сполучного дерева мінімальної висоти.

Алгоритм  запрошення

Алгоритм запрошення на вибори лідера.

Maekawa алгоритм взаємного виключення

Підхід голосування до проблеми взаємного виключення.

LyHudak взаємне виключення

Взаємне виключення за допомогою маркера із стисненням шляху.

 

RicartAgrawala взаємне виключення (Інше рішення)

Взаємне виключення за допомогою логічного часу для синхронізації доступу до критичної області.

 

Dijkstra Scholten реєстрація завершення роботи  

Реєстрація завершення роботи з підтримкою дерева активних процесів.

 

Цілком впорядкована трансляція (Джерела | Презентація)

Цілком упорядкована трансляція на базі прямого зв'язку

ПЗ (Допомога) (Проблеми) (Копіювання) (Установка) (Реліз)

Інтернет допомога для інтерфейсу візуалізації; відомі проблеми; Умови авторського права; як встановити інструментарій; інформація про реліз.

 

Документація (Онлайн) (Друк) (Unix) (Windows) (Переклад французькою)

Документація для перегляду онлайн (HTML), для друку (GNU архів PostScript), і для локальної установки онлайн-версії в Unix (GNU архів файл) або Windows (PKZIP).

 

Завантаження набору інструментів для JDK 6.0

 

Переміщено з імпортованого джерела від Вейдліха (дякую!).

1.     assert() перейменовано в test().

2.     Клас Main має виконувати  resetStatistics().

База инструментарія

(Java формат архіву)

Набір инструментів з AWT привязкою

(Java формат архіву)

Вихідний код

(Вихідний код, вільно використовуйте в своїх цілях, але, будь ласка, вказуйте оригінальне джерело).

 

Завантажуйте Інструментарій 1.0.2 для JDK 1.1

Використовуйте цю версію, якщо у вас JDK 1.1.x.

База інструментарія

Завантажте один з наступних файлів.

·       daj.zip (PKZIP формат)

·       daj.tar.gz (GNU архів)

·       daj.jar (Java архів)

Набір інструментів с прив’язкою AWT

Завантажте один з наступних файлів.

·       awt.zip (PKZIP формат)

·       awt.tar.gz (GNU архів)

·       awt.jar (Java архів)

Завантажуйте Інструментарій 1.0.2 для JDK 1.0

Використовуйте цю версію для JDK 1.0.x та / або якщо ви хочете писати аплети для застарілих браузерів.

 

База інструментарія

Завантажте один з наступних файлів.

·       daj.zip (PKZIP формат)

·       daj.tar.gz (GNU архів)

 

Набір інструментів с прив’язкою AWT

Завантажте один з наступних файлів.

·       awt.zip (PKZIP формат)

·       awt.tar.gz (GNU формат архів)

Установка в RISC-Linz


З підтримкою від: Wolfgang Schreiner 
Останні зміни: 11 квітня 2013