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.

Efficient Querying of Large Model Repositories

Suitable for MEng

Languages such as OCL and EOL provide support for expressing concise queries over EMF-based models at a high level of absraction. However, performance typically suffers when such languages are used to query large collections of models. For example, evaluating the query Class.allInstances().size() on an EMF-based model will cause the standard EOL runtime to load all instances of Class in memory so that it can count them.  (more...)

Incremental Validation of Large Model Repositories

Suitable for MEng

Software development is an inherently iterative process. As such, in a model-driven engineering lifecycle, models typically undergo several steps of refinement before reaching their final form. After each refinement/modification step, automated model processing operations such as model validation and transformation need to be carried out to ensure correctness and synchronise downstream artefacts.  (more...)

Fault-Tolerant Model Parsing

Suitable for BSc

Model-Driven Engineering is a software engineering approach that promotes the use and automated processing of models throughout the software project lifecycle. The Eclipse Modelling Framework (EMF) is a widely used state-of-the-art modelling framework that enables the development of domain-specific languages and models. In EMF, models are serialised by default in a strict and unambiguous XML-based format (XML Metadata Interchange - XMI ).  (more...)

Advanced Editing Support for the Human Usable Textual Notation (HUTN) in Eclipse

Suitable for MEng

The Human Usable Textual Notation is an OMG standard for representing models in the OMG metamodelling architecture (e.g. UML models) using text instead of diagrams. In the context of the Epsilon Eclipse GMT project, basic tool support for HUTN has already been implemented.

The aim of this project is to contribute advanced editing support for HUTN, such as content assistance, code completion, and reference navigation.  (more...)

Domain Specific 3D Modelling

Suitable for 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...)

Semantic Analysis of Docker Compose configurations

Suitable for BSc

Compose is a configuration language that enables the definition of multi-container Docker applications. Using Compose, engineers can define the operation environment of distributed applications at a high level of abstraction.  (more...)

Hardening Clients for Remote APIs

Suitable for MSc SWE (student-defined)

When interacting with remote APIs (e.g. GitHub, Bugzilla) sometimes well-formed requests throw faults or return incomplete responses due to server-side policies such as restriction on the number of results, limited number of queries per account, etc . The aim of this project is to explore ways to harden clients for such APIs by making them more resilient against this type of exceptions. (more...)

Extracting Structured Models from Images

Suitable for MEng

While graphical modelling tools (e.g. UML, BPMN) provide support for exporting models to standard formats (e.g. XML, XMI), exported models usually exclude the layout information contained in diagrams. Re-drawing complex diagrams manually can require a lot of effort and hinder migration (e.g. from proprietary to open-source modelling tools). (more...)