In the field of 2D graphical editor development, frameworks such as MetaEdit+, GMF/Eugenia [1, 2], 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.The aim of this project is to define a set of notations for specifying the 3D graphical syntax of a domain-specific language at a high level of abstraction and a set of automated facilities for realising a fully- functional 3D editor for the language. To avoid unnecessary duplication of effort, the project should explore existing extensible 3D modelling environments such as Unity, Blender and Three.js  as potential hosts/infrastructure for domain-specific 3D editors.
A suitable candidate for this project should have good knowledge of the Java programming language and good object-oriented design skills. Experience with Eclipse would be helpful but is not required.
This project meets the project specifications of the following courses: