The ReMoDeL Home Page
ReMoDeL, an acronym for
is an international research project, coordinated by the University of Sheffield,
UK that aims to realise Model-Driven Engineering (MDE). This is a general
strategy in software engineering that seeks to generate executable software
systems directly from design models, rather than by writing programs in specific
ReMoDeL is inspired by, and shares some
of the goals of, the
Object Management Group's
specific initiative to develop a
framework known as
(MDA), but is not unduly constrained
by any requirement to replicate all the richness and detail of OMG standard
languages (UML, MOF, QVT, OCL). Instead, the aim of
is to realise a simpler proof-of-concept using minimalist techniques and to
develop a reference implementation.
The context for the
Project is an attempt to tackle some of the outstanding Grand Challenges
in software engineering. These include the following themes:
- Model-Driven Engineering (MDE):
is the idea that, in future,
software systems will not be constructed by writing lines of program code,
but at a higher level of abstraction, using appropriate design models.
- Program-It-Yourself (PIY):
is the idea that, in future, business
end-users should be able to specify the kinds of systems that they need, using
domain-specific languages tailored to express their requirements directly.
- Scrap-Heap Challenge (SHC):
is the idea that, in future, software
will be cannibalised from existing systems, but not at the code-level, rather
at the model-level, from which new systems will be automatically generated.
- Self-Verification and Test (SVT):
is the idea that, in future, models
will be correct-by-construction, and generated code will be automatically tested
against the models, and be self-monitoring for correct runtime behaviour.
- Hit the Moving Target (HMT):
is the idea that the software tools and
methods used to assemble systems will be agile and flexible enough to achieve
all the above, while the system's requirements are constantly changing.
- Business as Usual (BAU):
is the idea that, no matter what changes are
made to the system, business data will be kept safe and there will be no
interruptions to normal service.
The approach taken by the
Project is to design a series of models and languages at different levels of
abstraction, ranging from high-level languages representing data and processes,
to low-level languages representing programming language instructions. A number
of core technologies are deployed:
- XML is used as the core technology for representing models; and various
model languages are defined in XML, later specified using XML schemas.
- A generic framework, currently written in Java, is deployed both to
transform and also to translate models into other models,
or programming languages.
- The layered modelling approach is intended to allow
design constraints and standard solutions to be applied at
the correct level of abstraction.
The results and products of this research will be published as they
emerge. Please refer to links in the margin, or at the head of each page,
to find out more about specific model specifications and software tools.
Project is a collaborative effort, involving partners at a number of sites
in Europe. The links below are restricted to the project partners.