International software modelling standards [SMS]
Submitting Institution
King's College LondonUnit of Assessment
Computer Science and InformaticsSummary Impact Type
TechnologicalResearch Subject Area(s)
Information and Computing Sciences: Computer Software, Information Systems
Language, Communication and Culture: Linguistics
Summary of the impact
KCL researchers made fundamental contributions to software modelling
standards that have
changed how people define software modelling languages and, through that
process, the software
modelling languages used by real software developers. Software modelling
is a widely used
technique to help design and comprehend large systems. Software developers
use the
international standard language UML, and its daughter languages OCL (for
data queries) and QVT
(for model transformations) for modelling purposes. KCL researchers played
a pivotal part in
transferring research into impact on practitioners, in the form of
UML2, OCL2, and QVT
standards which are used internationally in many tools and by software
developers world-wide.
Underpinning research
KCL has had an active software modelling team since 1999, with a wide
ranging scope and an
outstanding international reputation. On average the team has comprised 3
academic staff, 3 RAs,
and 3 PhD students at any given time.
The KCL team's main specialities lie in the definition and formalisation
of modelling languages. The
team were founders of the Precise Unified Modelling Language (pUML) group,
which was the first
to recognise the need and potential for formalising software modelling
languages. The pUML
group's flagship publication (reference [1]) won an award for most
influential paper in the first ten
years of the premier software modelling conference (UML/MoDELS). pUML also
laid the
intellectual and organisational foundations for academic research from KCL
to be transferred to
modelling standards having direct impact on practitioners (software
developers).
In the early 2000s, KCL researchers were involved in developing the
technique which changed the
way that software modelling languages are defined: meta-modelling. This
technique allows
modelling languages to be defined in a natural way, while still having a
rigorous definition, and is
now used universally. Reference [2] was one of the defining papers in this
area and led to
opportunities to work with the Object Management Group (OMG), the body
responsible for
managing international modelling standards such as UML. Further work
concentrated on
developing and formalising new language features (e.g. package extension),
many of which have
also seen wide uptake.
In the early to mid 2000s, the team produced a mix of traditionally
academic and more practitioner-oriented
work on modelling languages, including research showing how extremely
restricted
modelling language subsets could be used to provide strong safety
guarantees about models.
Reference [3] was the first to demonstrate this possibility.
Subsequently, the team focused attention on model transformation:
techniques that transform one
model into another. The need for model transformations had been known for
several years, but few
realistic ideas had been put forward. The team explored the underlying
concepts of this area as
well as producing concrete language implementations which explored
different possible use cases.
As a result, the team largely mapped out the overall space in which all
subsequent research has
been carried out. Reference [4] was the first to describe this landscape,
and remains one of the
most highly cited in the field.
Key researchers:
Laurence Tratt (KCL Research Fellow 2001-2007; KCL Academic Staff 2011-)
Kevin Lano (KCL Academic Staff 2000-)
Tony Clark (KCL Academic Staff 2001-2003)
References to the research
*[1] Andy Evans, Robert France, Kevin Lano, Bernhard Rumpe, The
UML as a Formal Modeling
Notation, Computer Standards & Interfaces, UML `98, p. 336-348.
DOI: 10.1007/978-3-540-48480-6_26
[2] Tony Clark, Andy Evans, Stuart Kent, "The metamodelling
language calculus: foundation
semantics for UML", Fundamental Approaches to Software Engineering,
Lecture Notes in
Computer Science Volume 2029, 2001, pp 17-31. DOI: 10.1007/3-540-45314-8_3
*[3] Kevin Lano, David Clark, Kelly Androutsopoulos, "RSDS, a
subset of UML with Precise
Semantics", L'Objet, Vol. 9, No. 4, 2003, p. 3-73. DOI:
10.3166/objet.9.4.53-73
*[4] Laurence Tratt, "Model transformations and tool
integration", Journal of Software and Systems
Modelling, 4(2):112-122, May 2005, DOI: 10.1007/s10270-004-0070-1
Funding:
1999-2003: "Objects, associations and subsystems (OAS)" £156,041. CI:
Kevin Lano. Funding
body EPSRC (GR/N00814/01)
2001-2004: "Precise UML for Real Time Applications" £151,865 PI: Tony
Clark. Funding source:
Tata Consultancy Services
2004-2005: "MDA Workbench" £45,300. PI: Laurence Tratt. Funding source:
Tata Consultancy
Services
2005-2006: "MDA and DSLs" £75,000. PI: Laurence Tratt. Funding source:
Tata Consultancy
Services
* Publications indicating quality of underpinning research.
Details of the impact
By engaging with the Object Management Group (OMG), the international
standards body in
charge of software modelling standards, KCL researchers were able to
change how people defined
software modelling languages and, through that process, the software
modelling languages used
by real software developers. All subsequent standards [A,B,C], Object
Constraint Language (OCL),
UML, and Queries/Views/Transformations (QVT), have more rigorous
definitions and all use the
metamodelling framework (MMF) concept defined and developed at KCL. Along
with researchers
at York, the team was invited to join the standardisation process in the
early 2000s, following their
pioneering work in the area. Over the next 5 years, Clark and Tratt
attended over 20 OMG
meetings around the world, working with an organisation which had
previously had little input from
academic researchers. Clark subsequently co-founded spin-out company,
Xactium Software, in
2003, based on the tools and expertise he had generated while working on
UML at KCL [D].
The team's initial input was to the OCL2 (Object Constraint Language) and
UML2 (Unified
Modelling Language) standards. UML is the de facto standard for
software modelling, used by
hundreds of thousands of software developers around the world. OCL is a
sister language which
allows UML models to be augmented with fine-grained statements expressing
valid models. The
KCL input to both standards was given in conjunction with major
international companies such as
IBM, as well as smaller UK companies such as Artisan Software.
OCL1 was a simple functional language used for expressing constraints on
UML models,
frequently frustrating users who needed greater expressivity than it could
deliver and marginalising
its use. The submission for the OCL2 standard, co-authored by the KCL
team, became the core of
the OCL standard. This turned OCL into a powerful, rigorously defined
language that has become
far more widely used than its predecessor.
UML1 was, in contrast, a large and monolithic language with vague
semantics that made using it
difficult for anything beyond the proverbial "sketch on the back of an
envelope". Through the "2U"
group (a subset of pUML), concepts such as package extension which were
developed at King's,
became part of the eventual UML2 standard. Most fundamentally, the MMF
framework developed
at King's was used as the basis of UML2's definition.
After the completion of the OCL2 and UML2 standards, the software
modelling community turned
its attention to model transformations. While the need for these had been
known for some time,
few realistic ideas had been put forward. The KCL team partnered with Tata
Consultancy Services
(TCS) to tackle this vital new area. Having provided much of the
intellectual thought leadership in
this evolving area, and having created several prototype model
transformation languages, the KCL
team became major contributors to the Queries/Views/Transformation (QVT)
standard (released in
2011), authoring the document that formed the core of the eventual
standard. QVT concepts such
as separate declarative specifications ("QVT relations") and imperative
implementations ("QVT
operational"), as well as the graphical notation, were created at KCL.
UML2 and OCL2 were adopted by all leading tool companies (e.g. IBM,
Borland; and open-source
tooling such as Eclipse), and are now widely used by software developers
across the world.
Amazon lists double digit numbers of books specifically about UML2, and
many other books
include a treatment of UML2.
The QVT standard has been implemented in at least 12 commercial software
development tools.
Industrial examples include Borland's Together tool [E] and Tata
Consultancy Service's ModelMorf
[F]; open-source examples include Eclipses's MMT project [G]; and Inria's
ATL. This wide-spread
implementation has meant that QVT is used daily, often unknowingly, by
tens of thousands of
software developers who take its presence as a fundamental platform for
their development work.
Industrial users of QVT include the NASA Jet Propulsion Laboratory and
IBM.
Sources to corroborate the impact
Acknowledgements of the King's College contribution is included in the
current OMG standards:
[A] "Object Constraint Language version 2.3", OMG document
ptc/2010-11-42 Standard document
URL: http://www.omg.org/spec/OCL/2.3
[B] "MOF 2.0 Query/View/Transformation Specification Version 1.1",
OMG Document Number:
formal/2011-01-01 Standard document URL: http://www.omg.org/spec/QVT/1.1
[C] "UML 2.4.1", OMG document formal/2011-08-05
http://www.omg.org/spec/UML/2.4.1/Infrastructure/PDF/
The following corroborates the role of KCL researchers in the standard
development:
[D] Code Generation Network interview with Tony Clark, 2007:
http://www.codegeneration.net/cg2007/interviews/TonyClarkInterview.pdf
The following materials offer corroboration of the adoption of the
standards by industrial users:
[E] Borland's Together tool page states clearly "Support for
industry standards. Including UML,
XMI, QVT, OCL, conforming to MDA standards ensures maintainability and
portability"
http://www.borland.com/products/together/#features
[F] Tata Consultancy Service's ModelMorf tool page states clearly
that "ModelMorf supports
specification and execution of model transformations in the QVT-relations
language." http://tcs-trddc.com/trddc_website/ModelMorf/ModelMorf.htm
[G] The Eclipse MMT project is now an umbrella for 3 QVT
implementations
http://www.eclipse.org/mmt/
A wider list of QVT implementations can be seen at
http://en.wikipedia.org/wiki/QVT#Implementations