Student Projects

This year I am offering 8 software engineering final projects, of which I will supervise at least 6. I'm also happy to consider student-defined projects in the areas of Model-Driven Engineering, Mobile Application Development, Service Oriented Architectures and Object Oriented Design and Development.

Please feel free to contact me for any questions, clarifications, or to arrange a meeting and discuss the project(s) of your interest in person.

Please note that the projects below are available to current York CS students. If you are looking for a PhD project, please click here.

Models on the Cloud: Modelling with EMF on the Google Drive platform

Suitable for MSc, MEng

The Eclipse Modelling Framework (EMF) is one of the most widely-used modelling frameworks both in the academia and the industry. The Google Drive platform is an extensible platform for collaborative browser-based editing of a wide range of documents including spreadsheets, rich-text documents, and drawings.

The aim of this project is to enable online collaborative modelling by integrating EMF with the Google Drive platform.  (more...)

Auto-generation of Electron-based Graphical Modelling Tools

Suitable for MSc, MEng

Several frameworks, such as GMF and Sirius , have been proposed for the development of graphical (diagram-based) editors for domain-specific modelling languages in the Eclipse ecosystem. The aim of this project is to investigate techniques for auto-generation of standalone graphical modelling editors on an alternative implementation stack, based on modern web-oriented technologies such as GitHub's Electron and's mxGraph .  (more...)

YAML as a Textual Modelling Language

Suitable for MSc, MEng

Textual languages for modelling, such as HUTN and ESON , allow models to be represented using text instead of diagrams. YAML is a human friendly (and widely used) data serialization format. The aim of this project is to investigate how EMF models can be represented in YAML and to implement an advanced editor for YAML-based models, that provides features such as content assistance, code completion, reference navigation and an outline view. (more...)

Domain Specific 3D Modelling

Suitable for MSc, MEng

In the field of 2D graphical editor development, frameworks such as MetaEdit+, GMF/Eugenia , Graphiti and more recently Sirius have drastically reduced the effort and expertise required to develop and maintain diagram-based editors for domain-specific languages. Conversely, there is virtually no support for developing domain-specific 3D editors. (more...)

A Domain Specific Language for Model Visualisation

Suitable for MSc, MEng

Understanding and reasoning about complex models (e.g. UML models) without proper tool support can be a particularly challenging task . To address this challenge, research and development efforts have been focused mainly on automating the development of diagram-based editors with frameworks such as GMF and Graphiti . While graph-based diagrams are certainly a useful visualisation for complex models, other visualisations can also be useful in some scenarios.

The aim of this project is to design and develop a domain-specific language for common visualisations (e.g tree maps, pie charts, bar charts, radar diagrams etc.) using the Eclipse Modelling Framework , and an Eclipse-based viewer for rendering models that conform to this language.  (more...)

A Polyglot Big Data Persistence Modelling Language

Suitable for MSc, MEng

Up until recently, relational databases were considered as the de-facto technology for persisting and managing large volumes of data across the academia and industry. This came to change with the emergence of multi-user systems such as Google, Twitter, Facebook, Amazon etc. which were faced with unprecedentedly high availability requirements. The need for levels of availability beyond those supported by general-purpose relational databases lead to the emergence of a new generation of purpose-specific databases grouped under the term NoSQL, standing for Not Only SQL. In general, NoSQL databases deliver increased availability and fault-tolerance at a cost of temporary inconsistency and reduced durability of data, which makes them unsuitable for storing critical data. (more...)

Graphical Viewers for Epsilon Programs

Suitable for BSc

Epsilon provides a set of textual languages for model management tasks such as model validation, model-to-model and model-to-text transformation and model merging. As Epsilon programs grow in size, navigating them becomes an increasingly challenging task. The aim of this project is to explore visualisation techniques (e.g. graph-based views using Zest or city-like views ) that can be used to highlight interesting structural/behavioural properties of Epsilon programs, and to implement (some of) these as extensions to Epsilon's Eclipse-based development tools.  (more...)

Extracting EMF Models from GraphML diagrams

Suitable for BSc

The Eclipse Modelling Framework (EMF) is a widely used state-of-the-art modelling framework that enables the development of domain-specific software engineering languages and models. GraphML is an XML-based representation format for node-edge diagrams with built-in support for recording graphical information (colours, borders, edge decorations, bend points etc.). Previous work has demonstrated how GraphML drawings can be parsed into structured models that can support software validation and simulation activities . (more...)