# 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: ![Component_ProjetIntegre.jpg](docs/diagrams/Component_ProjetIntegre.jpg) ## Behaviour The following use case diagram enumerates the use cases of our project and how they are related: ![UseCase_ProjetIntegre.jpg](docs/diagrams/UseCase_ProjetIntegre.jpg) 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. ![Activity_ProjetIntegre.jpg](docs/diagrams/Activity_ProjetIntegre.jpg) ## 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 ```