International software modelling standards [SMS]

Submitting Institution

King's College London

Unit of Assessment

Computer Science and Informatics

Summary Impact Type

Technological

Research Subject Area(s)

Information and Computing Sciences: Computer Software, Information Systems
Language, Communication and Culture: Linguistics


Download original

PDF

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