user-guide:additional_interfaces
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| user-guide:additional_interfaces [2025/01/16 11:39] – [GroIMP Server] Tim | user-guide:additional_interfaces [2025/06/04 12:40] (current) – tim2 | ||
|---|---|---|---|
| Line 13: | Line 13: | ||
| For example with the graphical user interface windows and panels are used for this communication: | For example with the graphical user interface windows and panels are used for this communication: | ||
| - | < | + | <uml> |
| + | !pragma teoz true | ||
| + | @startuml | ||
| hide footbox | hide footbox | ||
| + | title GUI | ||
| participant User | participant User | ||
| participant " | participant " | ||
| Line 23: | Line 25: | ||
| User -> GroIMP: Start GroIMP | User -> GroIMP: Start GroIMP | ||
| gui< | gui< | ||
| - | User <-> gui | + | & User <-> gui |
| @enduml</ | @enduml</ | ||
| - | ====== Headless mode ====== | + | If you are not sure what interface |
| - | + | ||
| - | GroIMP can be started without its graphical | + | |
| - | + | ||
| - | < | + | |
| - | @startuml | + | |
| - | hide footbox | + | |
| - | title Headless | + | |
| - | + | ||
| - | User -> GroIMP: Start GroIMP with model | + | |
| - | GroIMP -> User: Print log & close GroIMP | + | |
| - | @enduml | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | More information on the headless mode: | + | |
| - | * [[: | + | |
| - | * [[: | + | |
| - | + | ||
| - | A tutorial: | + | |
| - | * [[: | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | ====== Command Line Interface ====== | + | |
| - | + | ||
| - | GroIMP can be started without its graphical interface, with a CLI. Unlike the Headless mode, the CLI enables interaction with the model during run time including opening and closing models, running simulations, | + | |
| - | + | ||
| - | < | + | |
| - | hide footbox | + | |
| - | + | ||
| - | participant User | + | |
| - | participant " | + | |
| - | participant GroIMP | + | |
| - | + | ||
| - | + | ||
| - | User -> GroIMP: Start GroIMP | + | |
| - | cli< | + | |
| - | User <-> cli | + | |
| - | + | ||
| - | @enduml</ | + | |
| - | + | ||
| - | More documentation on the CLI: | + | |
| - | * [[: | + | |
| - | * [[: | + | |
| - | + | ||
| - | A tutorial: | + | |
| - | * [[: | + | |
| - | + | ||
| - | ====== HTTP Server ====== | + | |
| - | + | ||
| - | It is possible to start GroIMP as a HTTP server to then send model paths via HTTP for GroIMP to execute. | + | |
| - | After GroIMP executed the model values | + | |
| - | + | ||
| - | < | + | |
| - | hide footbox | + | |
| - | title HTTP server | + | |
| - | + | ||
| - | User -> GroIMP: Start GroIMP | + | |
| - | User -> GroIMP: Send Model-path | + | |
| - | GroIMP -> User: Return result | + | |
| - | User -> GroIMP: Close GroIMP | + | |
| - | + | ||
| - | @enduml</ | + | |
| - | + | ||
| - | + | ||
| - | More information: | + | |
| - | * [[: | + | |
| - | * [[: | + | |
| - | Tutorial: | + | |
| - | * [[: | + | |
| - | + | ||
| - | ====== Application Programming Interface ====== | + | |
| - | + | ||
| - | GroIMP can be started as an HTTP API that provides a generalized set of commands that allows the interaction with other software. Currently a Python and a R library are provided but any software capable of http requests could interact with GroIMP. | + | |
| - | + | ||
| - | + | ||
| - | < | + | |
| - | @startuml | + | |
| - | hide footbox | + | |
| - | title API | + | |
| - | + | ||
| - | participant User | + | |
| - | participant ClientScript | + | |
| - | participant API | + | |
| - | participant GroIMP | + | |
| - | + | ||
| - | + | ||
| - | User -> GroIMP: Start GroIMP | + | |
| - | User -> ClientScript | + | |
| - | ClientScript < | + | |
| - | API< | + | |
| - | User <- ClientScript | + | |
| - | User -> GroIMP: Stop GroIMP | + | |
| - | + | ||
| - | + | ||
| - | @enduml | + | |
| - | </ | + | |
| - | More information on the API: | + | |
| - | * [[: | + | |
| - | * [[https:// | + | |
| - | * [[:dev-guide:create-new-api-function|How to create new API commands]] | + | |
| - | * [[https:// | + | |
| - | + | ||
| - | Tutorials: | + | |
| - | * [[: | + | |
| - | * [[: | + | |
| - | * [[: | + | |
| - | * [[: | + | |
| - | * [[: | + | |
| - | + | ||
| - | Existing examples: | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | + | ||
| + | ====== | ||
| + | {{namespace> | ||
| ====== GroIMP Server ====== | ====== GroIMP Server ====== | ||
| - | <color # | + | **<color # |
| GroIMP can be started as a server. Then, other instances of GroIMP can connect to the GroIMP server. This enables multiple user concurrently accessing a single model from different devices | GroIMP can be started as a server. Then, other instances of GroIMP can connect to the GroIMP server. This enables multiple user concurrently accessing a single model from different devices | ||
| Line 156: | Line 44: | ||
| <uml> | <uml> | ||
| @startuml | @startuml | ||
| + | !pragma teoz true | ||
| hide footbox | hide footbox | ||
| - | title API | + | title GroIMP server |
| participant User | participant User | ||
| participant " | participant " | ||
| Line 167: | Line 55: | ||
| User -> g1: starts client GroIMP | User -> g1: starts client GroIMP | ||
| User <->g1 | User <->g1 | ||
| - | g1< | + | & g1< |
| - | User <->g1 | + | |
| User -> g1: stops client GroIMP | User -> g1: stops client GroIMP | ||
| User -> g2: stops server side GroIMP | User -> g2: stops server side GroIMP | ||
| Line 183: | Line 70: | ||
| - | Parts of the GreenLab model were reimplemented in the language XL. As the basis, the implementation of the GreenLab model in the software [[http:// | + | Parts of the GreenLab model were reimplemented in the language XL with additional panels in the GUI. |
| + | As the basis, the implementation of the GreenLab model in the software [[http:// | ||
| More information on the Greenlab plugin: | More information on the Greenlab plugin: | ||
| Line 190: | Line 78: | ||
| A tutorial: | A tutorial: | ||
| * [[: | * [[: | ||
| + | * [[https:// | ||
user-guide/additional_interfaces.1737023983.txt.gz · Last modified: 2025/01/16 11:39 by Tim
