Skip to content

User Guide

This tutorial explains how to use the SkyProto prototype to perform.

Prerequisites

  • Git
  • Gradle
  • Java JDK-19

To install the correct version of Gradle and Java, you can use the bash script ./java_gradle_installer.sh. We do not guarantee the functionality of this script.

Getting started

To launch the prototype, you need to follow these steps:

  • compile the skyDSoft project:
# Compile
cd ~/SkyDSoft/skd
gradle build deploy
  • create a JAR:
# Create a jar
cd ~/SkyDSoft/skd/build/classes/java/main
jar cvf skydata_internal_agents_SKD.jar skydata/*
  • copy it in the folder jarManager:
# Copy jar
cd ~/SkyDSoft/skd
mkdir jarManager
mv build/classes/java/main/skydata_internal_agents_SKD.jar jarManager/
  • launch the central server ~/SkyDSoft/skd/build/libs/centralized.jar and ensure that it is accessible from the other servers:
cd ~/SkyDSoft/skd
java -jar build/libs/centralized.jar
  • Then launch as many harbours as you like ~/SkyDSoft/skd/build/libs/platform.jar:
java -jar platform.jar <configuration file> <delay between announce to central and fetch in millisecond>
# Example:
java -jar build/libs/platform.jar tests/Harbour1.yml 10000
# Example:
java -jar build/libs/platform.jar tests/Harbour2.yml 10000

Two Jade GUI will be opened, one for each Harbour. Uncollapse and look at Harbour0's agent (LULU):

An picture representing initial config

Now, LULU starts replicating itself:

image

Then replicas starting to move from Harbour0 to Harbour1:

image

Customization

To launch your own agents, you need to follow these steps:

  • Write an agent in the src/main/java/skydata/agents.
  • Write a behaviour or use those available in the src/main/java/skydata/behaviour folder.
  • Write a YAML configuration file according to the behaviours and agents defined.
  • Compile and execute as described here.

Note: To write these files, refer to the following pages: