View Proposal


Proposer
Rob Stewart
Title
Increasing usability and correctness of event driven GitLab activities
Goal
Develop a rule-based ontology for GitLab and a web-based GUI for defining server activity
Description
We have developed a system for implementing real-time event driven behaviours on GitLab. We use it to automate tasks on the GitLab Student server. It has worked robustly for several years. Section 3.2 of https://doi.org/10.1145/3639474.3640056 describes its design and implementation. The software is implemented with the Haskell programming language. While this programming language is a joy to use (opinions may vary), there are two downsides to this: (1) users need to know Haskell, (2) once new event-driven rules are implemented, a server administrator needs to deploy the rules as a file hook to the server. This project will involve three components. (1) an OWL ontology describing a subset of GitLab entities and their relationships as ontology properties; (2) a web-based GUI to describe event-driven GitLab rules, which will be inspired by the event-driven rule creation GUI of the "advanced scene switcher" plugin for OBS, the GitLab rules will be statically checked with an ontology reasoner against the OWL GitLab ontology to check for logical inconsistencies in the user-defined rules; (3) if the rules are consistent, they will be interpreted by a file hook on the server, i.e. no recompilation and manual deployment to the server would be needed. Optionally, this project may explore extending the underling gitlab-haskell Haskell library to support the implementation of external web hooks, to extend beyond its existing support for implementing file hooks.
Resources
Background
Url
External Link
Difficulty Level
Challenging
Ethical Approval
None
Number Of Students
1
Supervisor
Rob Stewart
Keywords
Degrees
Bachelor of Science in Computer Science
Bachelor of Science in Computer Systems
Bachelor of Science in Software Development for Business (GA)
Master of Engineering in Software Engineering
Master of Science in Artificial Intelligence
Master of Science in Business Information Management
Master of Science in Computer Science for Cyber Security
Master of Science in Computer Systems Management
Master of Science in Computing (2 Years)
Master of Science in Data Science
Master of Science in Information Technology (Software Systems)
Master of Science in Network Security
Master of Science in Robotics
Master of Science in Software Engineering
Bachelor of Science in Computing Science
Bachelor of Engineering in Robotics
Bachelor of Science in Computer Science (Cyber Security)
Master of Science in Robotics with Industrial Application
Postgraduate Diploma in Artificial Intelligence
BSc Data Sciences
MSc Applied Cyber Security