WorkFlowMaker allows you to design and execute workflows created from the combination of so-called console applications.
A "console application" is one that does not have a graphical interface and runs in a command window. Typically, these applications interact with the user through parameters passed on the command line, the keyboard (for entering data), and data files (input/output).
It is common for applications of this type to be generated in research and even production environments, since they are not affected by the complexity of developing a graphical user interface.
On certain occasions, it will be necessary to combine several of these applications to achieve more elaborate results. Normally this is done through a manual process. The user executes, one by one, the required applications until obtaining the final result.
This can be a tedious and error-prone process. In cases where it is necessary to combine a specific set of console applications, it would be interesting to have scripts that automate this process. However, not everyone is capable of writing such scripts, so they will depend on other people who are capable of doing so.
WorkFlowMaker tries to solve this problem by allowing users without programming knowledge to combine these console applications using a graphical tool that allows them to add/remove applications to a workflow and connect the inputs and outputs of these applications using connections. With such a tool, a user without programming knowledge but with knowledge of the domain in which they are working will be able to generate scripts that execute their workflows without the need to write a line of code.
To achieve this, WorkFlowMaker imposes a few restrictions that explain how console applications should be programmed. From these restrictions, it is possible to formalize the definition of these applications and, from here, draw these workflows and generate scripts to execute them. Obviously, developers who want to be able to integrate their console applications with WorkFlowMaker will have to respect these restrictions.
Yes.
In the Releases section you can download the WorkFlowMaker installer for Windows, the .deb package for Ubuntu based distributions.
In addition, and for the Windows platform, there are two more installers that include two sets of test applications (the image processing and text file processing toolkits). By installing these two test toolkits, it is possible to start practicing with WorkFlowMaker without having to go through the process of formalizing your own tools. For the Linux platform a .deb package for the image processing toolkit is also included (not for the text processing one).
Furthermore, the test applications include the source code, so developers may see how WorkFlowMaker-compliant applications must be implemented.
The user guides for the WorkFlowMaker suite may be found at the following path of the repository:
/docs/user guide/*.pdf
The information related to the two test sets is also available in the repository;
Read the document /docs/user guide/Building WorkFlowMaker.pdf
Note that step 3 above require the adaptation of the console applications so these comply with the requisites set by WorkFlowMaker.
One of the requisites is that the options controlling the behaviour of the console application as well as the names of the input and output files must be written in the so-called "option files". In the samples code folder, a library named "simple_options_file_parser" has been included. It may be used to parse the said option files. In fact, all the sample programs in the two example (text, image processing) toolkits use this library to read their respective option files.
The MIT License
SPDX short identifier: MIT
Copyright 2024 Centre Tecnològic de Telecomunicacions de Catalunya-CERCA
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.