Skip to content

julianGoh17/DistributedBlackboxOperations

Repository files navigation

README

This file provides a quick overview of the project, and the requirements to get the project working.

Distributed Algorithm Simulation

This project allows a user to easily create, simulate, and test a distributed system by providing them with a platform to simulate their system in various situations and obtain metrics about the simulation's algorithm performance. The simulation emulates the situation where a client sends and receives messages from a system of servers. When a client message to one of the servers, that server must coordinate with other servers to fulfill the client's request.

To create the distributed system, the user must create a class which extends AbstractDistributedAlgorithm, which will then get loaded in each server. Thus, the user will write a single program that controls how a server acts, which will include:

  • what does the server do when a client sends a message in
  • what does the server receives a message from another client,
  • what does the server do to coordinate with other servers

Requirements

Development Environment

IntelliJ is the recommended development environment. The developer can give limited support to any other IDEs.

Suppose you have chosen to use IntelliJ as your development environment. In that case, the IntelliJ Lombok plugin will make the development experience easier and fix the errors that will occur without it installed. Lombok can create Getters and Setters for a Java class without the need for the user to create the actual methods. Without this Lombok plugin, IntelliJ will error as it thinks the user has not created the Getters and Setters because it doesn't know Lombok created it.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published