Tutorial proposal for UML2001.
A revolution in UML tool use? Tool adaptation, extension and
integration using XMI
Contact details:
Perdita Stevens
Division of Informatics
University of Edinburgh
JCMB, King's Buildings
Mayfield Road
EDINBURGH EH9 3JZ
Tel: +44 131 650 5195
Fax: +44 131 667 7209
Email: Perdita.Stevens@dcs.ed.ac.uk
Web: http://www.dcs.ed.ac.uk/home/pxs
Intended audience and prerequisites:
UML tool users, potential users (including those who have decided not to
use current tools because of problems discussed here), and their managers.
Researchers interested in UML tools, tool integration and customisation.
The only prerequisite is a basic understanding of UML, though some exposure
to XML would be useful.
Used teaching styles:
Lecturing with interruptions encouraged; discussion (plenary and/or small
group, depending on tutorial size).
Requested audio visual equipment:
- data projector and screen for use with (my) laptop
- something to write on (blackboard, whiteboard, or several flipcharts)
Abstract
Definition
Define the technical problem addressed, together with examples of where
the problem occurs, and reasons why it is important.
The problem is how to get better value out of a UML design tool by easily:
- keeping UML models in sync with other artefacts of the software
development lifecycle, including documentation and code;
- automating tasks on the UML model that are not supported by the UML
design tool itself;
- integrating the UML tool with other, in house or third-party, tools.
The problem occurs in any organisation that uses a UML tool, and indirectly
in organisations that do not currently use UML tools because they do not
see doing so as worthwhile. It is important because it impacts the cost of
software development and software quality.
This tutorial principally addresses the ways in which XMI, the OMG's XML
Metadata Interchange standard, can help address this problem (though the
problem will also be discussed more broadly). XMI has been around for a few
years now and is (currently in various versions!) an available output
format for several tools, but it has been surprisingly little noticed. In
particular, the potential for it to be used directly by mainstream
developers, rather than by tool vendors, does not seem to have been
widely appreciated.
Context
What existing work do you use a basis for the current work? Where does
this topic fit into the larger scheme of things?
One of the main benefits of a unified modeling language is that it
enables competition between tool vendors and allows users a wide choice of
tools. Getting the most out of a tool - which is often a significant
investment - means using it as more than a fancy drawing tool. It needs to
fit productively into the user's software development lifecycle and indeed
lifestyle.
This tutorial will discuss easy and cost-effective ways for developers to
make better use of modeling tools using XMI. XMI is well known as a
vendor-independent format for saving and loading UML models. What's less
well known is that this technology can also make it easier than might be
imagined to integrate a UML tool with other in-house or third-party tools,
and even to write quick add-ons for particular tasks. We'll consider the
possibilities and limitations and discuss the effect this may have on the
uses of UML tools in future.
In developing the tutorial, I will make use of all available material on
XMI and its use (standards, white papers, tool descriptions and academic
papers), and of the relevant broader literature, for example on CASE tool
integration. I will also draw on a range of material on programming using
XML.
Objectives
What are the teaching objectives? How will the audience know you met your
objectives? What can the audience take away with them?
At the end of this tutorial, participants will:
- have gained a clear overview understanding of the OMG technologies
XMI, MOF and UML, including how they fit together and their relevance for
tool adaptation and integration
- be able to develop effective small-scale tools making use of XMI
- have considered, with help from me and other participants, the broader
issues of tool integration and adaptation, and be better placed to make
good decisions about these issues in their own work contexts.
Contents
A table of contents, with short explanations of the contexts of
individuzal sections
(Flexible) assumption: tutorial is 3 hours long, in two 1.5 hour
sections.
- Introduction What's the potential for improvement in the current
situation?
- Why might we want to be able to easily customise, extend, adapt and
integrate tools? Comparison of the situation for code and for models.
- State of the art in tool integration: what's available now and what's known
about the problems and how to solve them.
- The XMI technology
- Overview of XMI, MOF and the UML metamodel: what they are and how they
fit together
- The state of XMI support in each of a variety of UML tools
- XMI in more detail, supported by examples
- How can we manipulate XMI? Choice of languages, programming styles,
libraries.
(BREAK)
- Putting it together: using XMI to solve problems
- Making easy things easy: very simple extraction of information from
XMI and manipulation of XMI
- Integrating tools 1: getting information out of a UML tool into
another tool
- Integrating tools 2: what about going back the other way, getting
information from another tool into the UML tool?
- Looking forward: which things are still hard even given XMI, and how
may they be addressed in future?
- Beyond the technical: issues in fitting with good software development
processes. Quality, configuration management, maintenance, verification
validation and testing, benefits and trade-offs.
Participants will be encouraged to explore and discuss their own ideas.
Organiser
Short biography
Perdita Stevens is a lecturer in software engineering in the Division
of Informatics at the University of Edinburgh. Her background
includes working as a professional software engineer, consultancy in
UML and object orientation, and research in such diverse areas as
knowledge transfer for legacy systems and verification tools for
infinite state systems using games.
She currently holds an EPSRC Advanced Research Fellowship to investigate
"Supporting Software Design", especially the ways in which formal
techniques can underlie a future generation of powerful, usable and
soundly-based UML tools.
Her textbook "Using UML: software engineering with objects and components"
(Dec 1998, Addison-Wesley Object Technology Series) has been widely
adopted and translated. She is currently working on a new book, whose
subject is closely related to this tutorial.
References for similar tutorials
This tutorial follows on from my well-attended tutorial at UML2000, "Advanced Tools for UML,
now and in the future" (Not in the sense that attendance at that is
prerequisite for attendance at this one! But certainly in that I will
attempt to ensure that it makes sense to have attended both, and that this
tutorial reflects some more recent developments in my interests.) I will be
giving a 90-minute class "Getting value from UML tools" at UMLWorld2001
(the web page will be http://www.dcs.ed.ac.uk/home/pxs/UMLWorld2001).
This tutorial is also more distantly related to my invited tutorial at
ETAPS2000, the Joint European Conferences on Theory and Practice of
Software. This full-day tutorial was called "The Unified Modelling
Language" and had the twin aims of (1) introducing participants to UML and
(2) exposing the research agenda surrounding UML, especially the issues
with tools, which were of particular relevance to one of the ETAPS
conferences, TACAS (Tools and Algorithms for Construction and Analysis of
Systems). It attracted over 40 participants (many more than any other ETAPS
tutorial in that year).
URL
Will be:
http://www.dcs.ed.ac.uk/home/pxs/UML2001/