University of Sheffield

Reusable Model Design Languages

Model specification, model transformation and code generation

ReMoDeL Publications

Publications relating to the ReMoDeL Project appear below. ReMoDeL has gone through three distinct iterations. Historically, ReMoDeL was conceived as a set of high-level languages for expressing designs and programs. The core concepts of these languages were defined in a set of related metamodels.

Reusable pieces of design

Grand Vision

The following is where we issued a Grand Challenge for Software Engineering, describing the serious problems still to be solved in this discipline. We see Model-Driven Engineering as playing a key part in the solution. Alas, we have now passed the 2020 deadline for the original challenge!

Grand Challenge for Software Engineering
A. J. H. Simons and W. M. L. Holcombe, Remodelling software systems - the 2020 grand challenge for software engineering, Technical Report, (University of Sheffield, 2011), 1-15. Open Access Version.

Code Generation

The following papers describe how the OOP metamodel from ReMoDeL v1 could be used as the basis for generating semantically-equivalent software systems across multiple programming languages as different as Eiffel, C++, C# and Java. The semantic equivalence was a big deal, given the memory issues of C++.

Multi-language code generation and assertion monitoring
A. J. H. Simons, A. F. Subahi and S. M. T. Eyre, Practical model-to-code transformation in four object-oriented programming languages, Technical Report, (University of Sheffield, 2011), 1-25. Open Access Version.
A. J. H. Simons, Self-monitoring software: folding assertions into model-generated code, Technical Report, (University of Sheffield, 2011), 1-15. Open Access Version.

Multi-Level Transformations

The following papers describe how the OOP and DBQ metamodels from ReMoDeL v1 were used to generate executable database systems. This was further elaborated as the BUILD (Business User Information-Led Development) method for the automatic generation of information systems from high-level requirements. This had nine separate μML metamodels (Task, Impact, Information, Dataflow, Data, State, GUI, DBQuery and Code models), with over a hundred ReMoDeL v2 transformation steps folding these views together, and then generating executable code.

Multi-level transformations and information system generation
A. F. Subahi and A. J. H. Simons: A multi-level transformation from conceptual data models to database scripts using Java agents, Proc 2nd. Int. Workshop on Composition and Evolution of Model Transformations, eds. K Lano and S Zschaler, 30 September, (London: Kings College, 2011), 7.1-7.8. Open Access Version, Powerpoint Presentation.
A. F. Subahi and A. J. H. Simons Multi-level transformation from conceptual models to databases in ReMoDeL, in Composition and Evolution of Model Transformations, eds. K Lano and S Zschaler, (London: Bentham Science, 2011). Public Draft Version.
A. F. Subahi and A. J. H. Simons, A model transformation approach for translating conceptual database schemas into executable database systems, Technical Report, (University of Sheffield, 2011), 1-10. Open Access Version.
A. F. Subahi: A Business User Model-Driven Engineering Method for Developing Information Systems. PhD Thesis, University of Sheffield (2015). Open Access Version.

Requirements Engineering

The following papers describe an industrial application of ReMoDeL v2 for automatic requirements analysis, validation and verification. Natural language requirements for aerospace engines were parsed using an Early-style Chart Parser, and the resulting syntax-trees were converted by transformation rules into logical predicate models, expressing executable test conditions for any conforming engine. The transformation rules captured explicit and implicit requirements, checked for consistency and either repaired faulty requirements, or flagged these for human validation.

Future Engineering System: automated requirements analysis
A. J. H. Simons, Automatic requirements analysis, validation and verification, Future Engineering System Dissemination Event, 25 June (Bristol: CFMS, 2018), presentation. Powerpoint Presentation.