The Darwin Project is a year-long group project module, designed to give students the experience of working in a real research environment. This website describes one project offered during 2024-25 in the area of Model-Driven Engineering.
In the future, software systems will not be created by writing lines of code, but by teams of designers creating abstract models, from which the code is automatically generated. This project has an ambitious goal to create simple, fully-working information systems in Java, from initial abstract models. The model transformation framework ReMoDeL (Reusable Model Design Languages) will be used. This provides a pure functional and object-oriented language for expressing metamodels, models and model transformations, and cross-compiles to Java in Eclipse. The software models will be adapted from μML (the Micro-Modelling Language), a lightweight notation that is well suited to simple views and transformations. The research method will work backwards, starting from a working Java GUI implementation of an information system, from which a Code Model will be abstracted. A code generator will be created to generate the Java system from this model. Transformations will be created in ReMoDeL, to map from upstream Process and State Models in μML to the downstream Code Model. Two example information system designs will be used to test this transformation chain: a lending library, and a training agency.