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:

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:

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:

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.
  1. Introduction What's the potential for improvement in the current situation?
  2. The XMI technology (BREAK)
  3. Putting it together: using XMI to solve problems
  4. 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/