The workflow composer automates the process to create a workflow plan for mode-to-model integration.
The current version exposes one enpoint that consumes an abstract workflow request and model catalog. The composer will
generate a workflow plan serialized in JSON format.
This microservice forms part of the SWIM model orchestration pool, for more information view:
https://water.cybershare.utep.edu/resources/docs/en2/backend/swim-broker/
Environment Requirements: Docker and Docker Compose
The public image of the Workflow Composer can be pulled from the Dockerhub repo:
lagarnicachavira/workflow-composer-public
https://hub.docker.com/r/lagarnicachavira/workflow-composer-public
You can directly run the application using the docker-compose.yml in this repo.
- Modify the file docker-compose.yml if necesary.
- Run the container: > docker-compose up (linux) | docker compose up (windows)
- Once running, the OpenAPI documentation will be locally available at http://localhost:8091/swagger
Environment Requirements: Docker
The Workflow Composer can be deployed as a docker container using Docker Build or Compose.
- Download this repository into a folder on your machine.
- Install Docker and Docker composer on your target machine.
- Setup your docker account at: https://www.docker.com/get-started
- Using a command line or terminal navigate to the base path of the project.
- Build the image: > docker build -t workflow-composer-public:latest .
- Run the container: > docker run -p 8080:8080 workflow-composer-public:latest .
- Once running, the OpenAPI documentation will be locally available at http://localhost:8080/swagger
Environment Requirements: Java (JDK) & MAVEN
- Clone or download this repo to your target machine.
- Open a terminal and run the command > mvn install
- Run jar command: > java -jar target/workflow-composer-0.1.jar server settings.yml
- Admin tools (dropwizard) at: http://localhost:8081 and OpenAPI Docs at http://localhost:8080/swagger
Potential Build Issues
- Make sure to set the POM file to a compatible java version on the target machine.
- Ports 8080 and 8081 must be available
The tests folder in this repository contains input and output files used as an abstract test case and the SWIM (http://purl.org/swim) case study. You may use the abstract sample files for quick demo purposes.
Raul Alejandro Vargas Acosta
Luis Garnica Chavira
Natalia Villanueva-Rosales
Deana D. Pennington
This material is based upon work supported by the National Science Foundation (NSF) under Grant No. 1835897. This work used resources from Cyber-ShARE Center of Excellence, which is supported by NSF Grant number HRD-1242122.
Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the NSF.
If you create products such as publications using SWIM products, it would be great if you add the following acknowledgement:
"This work used the Sustainable Water for Integrated Modeling (SWIM) 2.0, which was supported by the National Science Foundation under Grant No. 1835897."
Please use the following citation for this product:
Automating Multivariable Workflow Composition for Model-to-Model Integration
Vargas Acosta R. A., Garnica Chavira L., Villanueva-Rosales N., Pennington D.
2022 IEEE 18th International Conference on e-Science, Salt Lake City, USA. October 11-14, 2022.
DOI 10.1109/eScience55777.2022.00030
This software code is licensed under the GNU GENERAL PUBLIC LICENSE v3.0 and uses third party libraries that are distributed under their own terms (see LICENSE-3RD-PARTY.md).
© 2019-2022 - University of Texas at El Paso (SWIM Project).