131 lines
4.8 KiB
Markdown
131 lines
4.8 KiB
Markdown
|
# Génie Logiciel 1 - Team gl-2024-bleu
|
||
|
|
||
|
- Group BLEU:
|
||
|
- Gomes
|
||
|
- Pereira
|
||
|
- Julmy
|
||
|
- Bugnon
|
||
|
- Hertling
|
||
|
- Rossi
|
||
|
- Visvarajah
|
||
|
- [Repository](https://gitlab.forge.hefr.ch/genie-logiciel-1/2024/enonce-final/gl1-2024-bleu)
|
||
|
- [Repo énoncé](https://gitlab.forge.hefr.ch/genie-logiciel-1/2024/enonce-miniprojet-id/-/blob/main/Enonce_final.md?ref_type=heads)
|
||
|
- Latest Doc Update : 22.06.2024
|
||
|
- Latest Version : 1.0-SNAPSHOT
|
||
|
|
||
|
This project is a Java application built with Maven for the project
|
||
|
GL1-2024-BLEU.
|
||
|
|
||
|
It integrates one board, one simulator, and various analyzers and views coming the historical group of each
|
||
|
member. It also implements the `Experiment` API from the cockpit project from the DevOps course. This experiment is then
|
||
|
used by the cockpit experiment configurator, launched in this application.
|
||
|
See the component diagram in the [Components and structure](#Components-and-Structure) section for a visual
|
||
|
representation of this integration.
|
||
|
|
||
|
## Prerequisites
|
||
|
|
||
|
- Java jdk 17
|
||
|
- Maven 3.8.7+
|
||
|
|
||
|
## Dependencies
|
||
|
|
||
|
This project implements the IL and the ID interfaces/packages:
|
||
|
|
||
|
- [ch.fr.hes.il.simulife2024 v1.6.2](https://simulife.isc.heia-fr.ch/v1.6.2/site/apidocs/ch/fr/hes/il/simulife2024/package-summary.html)
|
||
|
- [ch.fr.hes.id.simulife2024 v1.6.2](https://simulife.isc.heia-fr.ch/v1.6.2/site/apidocs/ch/fr/hes/id/simulife2024/package-summary.html)
|
||
|
- [Vue](https://gitlab.forge.hefr.ch/genie-logiciel-1/2024/simulife-views)
|
||
|
- [Analysis](https://gitlab.forge.hefr.ch/genie-logiciel-1/2024/simulife-analyzers)
|
||
|
- [Simulation](https://gitlab.forge.hefr.ch/genie-logiciel-1/2024/simulife-simulators)
|
||
|
- [Model](https://gitlab.forge.hefr.ch/genie-logiciel-1/2024/simulate-models)
|
||
|
- [Elements](https://gitlab.forge.hefr.ch/genie-logiciel-1/2024/simulife-elements)
|
||
|
|
||
|
## Project structure and behaviour
|
||
|
|
||
|
### Components and structure
|
||
|
|
||
|
The documentation for the different components of the project can be found in the `docs` folder:
|
||
|
|
||
|
* [Composant and-juz-per](./docs/Composant%20and-juz-per): View and Model (even if not used here) components
|
||
|
documentation from the `And-Juz-Per` team
|
||
|
* [Composant bed-her-run](./docs/Composant%20bed-her-ruf): Analyzer and Simulation components documentation from
|
||
|
the `Bed-Her-Ruf` team
|
||
|
* [Composant bug-ros-oli](./docs/Composant%20bug-oli-ros): View component documentation from the `Bug-Oli-Ros` team
|
||
|
* [Composant dem-kul-gom](./docs/Composant%20dem-kul-gom): Element component documentation from the `Dem-Kul-Gom` team
|
||
|
* [Composant gl12024ros](./docs/Composant%20gl12024ros): Analyzer and Simulation components documentation from
|
||
|
the `gl12024ros` team
|
||
|
* [Composant jul-mic-rol](./docs/Composant%20jul-mic-rol): View and Model components documentation from
|
||
|
the `Jul-Mic-Rol` team
|
||
|
* [Composant wae-vis-bog](./docs/Composant%20wae-vis-bog): Analyzer and Simulation components documentation from
|
||
|
the `Wae-Vis-Bog` team
|
||
|
|
||
|
The component diagram below shows how the project integrates these components:
|
||
|
|
||
|

|
||
|
|
||
|
## Behaviour
|
||
|
|
||
|
The following use case diagram enumerates the use cases of our project and how they are related:
|
||
|
|
||
|

|
||
|
|
||
|
Below we describe, using an activity diagram, the process of configuring and launching an experiment and viewing its
|
||
|
results on a graph. According to the IView API, the user is also able to change the representation of the different
|
||
|
elements of the board on each view.
|
||
|
|
||
|

|
||
|
|
||
|
## Installing
|
||
|
|
||
|
Clone the repository
|
||
|
|
||
|
```bash
|
||
|
git clone git@gitlab.forge.hefr.ch:genie-logiciel-1/2024/enonce-final/gl1-2024-bleu.git
|
||
|
cd gl1-2024-bleu
|
||
|
mvn clean install -s ci_settings.xml
|
||
|
```
|
||
|
|
||
|
## Running the application
|
||
|
|
||
|
To run the application, execute the following command:
|
||
|
|
||
|
```bash
|
||
|
mvn exec:java "-Dexec.mainClass=ch.fr.heia.isc.gl1.App"
|
||
|
```
|
||
|
|
||
|
## Launch the simulation interface
|
||
|
|
||
|
### 1. Create a New Tree
|
||
|
|
||
|
A pop-up window titled "New tree" appears. Click on Create New to create a new tree.
|
||
|
|
||
|
### 2. Select the Java Interface
|
||
|
|
||
|
The Java interface appears. Right-click on the text ch.epfl.general_librairies.experiment_aut.Experiment.
|
||
|
|
||
|
### 3. Select the Simulife Experiment
|
||
|
|
||
|
In the context menu, select ch.fr.heia.isc.gl1.SimulifeExperiment, then navigate to SimulifeExperiment and select
|
||
|
default.
|
||
|
|
||
|
### 4. Insert Simulation Parameters or display default values
|
||
|
|
||
|
Click on each parameter to display its default value (default is 10 for each). Alternatively, enter a value for one or
|
||
|
more parameters and click Add.
|
||
|
|
||
|
- BoardSize: Enter the size of the board.
|
||
|
- Simulation steps: Enter the number of simulation steps.
|
||
|
- Number of elements: Enter the number of elements. Click Add after entering each parameter.
|
||
|
|
||
|
### 5. Run the Simulation
|
||
|
|
||
|
Once all parameters are added, click on Run to start the simulation.
|
||
|
|
||
|
## Running the tests
|
||
|
|
||
|
To run the tests, execute the following command:
|
||
|
|
||
|
```bash
|
||
|
mvn test
|
||
|
```
|
||
|
|