Welcome to my the thesis homepage!! **Title**: Shellhive: Towards a Collaborative Visual Programming Language for UNIX Workflows **Author**: Omar Castro, MIEIC finalist **Supervisor**: Hugo Sereno Ferreira, PhD. , Assistant Professor **Second Supervisor**: Tiago Boldt Sousa, Assistant Lecturer ===== Abstract ===== UNIX-based operative systems provides tools that allows users to create workflows that can be used to process data. Howeve, not only they are difficult to learn, it is very difficult to maintain long workflows using such tools. In this thesis, we propose a solution to leverage such UNIX tools, to empower users with little experience in programming with the ability to create workflows that are easier to understand and to modify. The application itself allows the user to design workflows collaboratively in order for people who are comfortable in UNIX environment to help each other and potentially learn from the more experient users. We also create various concepts that allows the reusability of multiple workflows, increasing the maintainability of the workflows. The purpose of the application is to leverage a standardized command-line language provided by UNIX operative systems, the “UNIX Shell”, using a visual programming language. It uses visual representations of workflows to be interacted by users, which they are automatically translated to UNIX Shell compatible code. We start with the background related to the work, explaining some of the paradigms, including basic knowledge about some of the concepts of Unix Shell. We then analyze commercial solutions already deployed as well as a scientific approach of creating visual dataflows, in order to under- stand their strengths and weaknesses, so that they could be used in our solution. Next, we describe the problems that the application ought to solve and the contributions that this thesis expects to cre- ate. Next, we describe the solutions created, explaining the logic and reasoning behind each of the features implemented in the application. We also created tests to validade our hypothesis. Testing a visual programming language is similar as testing an user interface, it’s difficult to test, except by collecting direct feedback from end-users, using the results from a set of quasi-experiments, it will be possible to proceed with incremental improvements in the final solution. Finally we close the content of this dissertation with a conclusion of this document, the contributions that were made, including the publication of an article to the CDVE conference, and as well the future of the created application. ===== Links ===== [[https://www.bit.ly/shellhivethesisdoc|Thesis document]] [[http://paginas.fe.up.pt/~ei08158/thesis/public_demo.php|Demo]]