Intelligent OO design in KeyLines

Responsible KEG Investigator:


Project Collaborator(s):

  • Key Traffic Ltd
Type of Project: Knowledge Transfer Partnership

Funder: EPSRC

Date Commissioned: 10/2004
Date Completed: 10/2006

Project Summary

This KTP focussed on the introduction of a structured software development methodology and a complete re-write of two existing Key Traffic Systems (KTS) products: KeyLines and KeySignals. Both products were initially created as enhancements to the AutoCAD, Computer Aided Design (CAD), software, to allow road traffic engineers to more easily design road marking and traffic signal plans. The software has been very successful over the years, with a dominant market share in the UK, but was becoming increasingly difficult to maintain, due to the unstructured coding employed in its creation. Also the way the software was written precluded its adaptation for overseas markets.

In this project we have introduced a more structured development methodology into the company (we ran a training day for company staff as part of the project) and demonstrated the value of this in their KeyLines and KeySignals products. We have introduced several innovative software practices into the products including:
? Object oriented design and implementation, using UML for modelling and design.
? Data driven programming: specifying behaviour through data, not just in the code.
? Programming to interfaces: building a middle layer between the application and AutoCAD to allow the easy use of other CAD packages.

In practice these theoretical developments have added the following innovations to KeyLines and KeySignals:
? Extensibility; the behaviour of the applications is determined from a set of XML files that specify the traffic features, the traffic rules that apply to those features, and the user interface for those features. Thus the product can be readily tailored to UK, US and other markets without any software being changed.
? Flexibility; the creation of a separate interface between AutoCAD and the application means that the application can be ported to other CAD packages without requiring any code changes, other than a creation of an appropriate generic interface with the new CAD package.
? Intelligence; in the previous version of the applications once road marking were put into the CAD drawing, they became a set of lines. In this project the added markings are maintained as features, with associated rules, and so can easily be adjusted, within the regulations, without requiring the engineer to redraw them.
? Maintainability; should the traffic regulations change, or the CAD product be upgraded there will be no changes required to the application code, just the interface and XML rules. This modular design will make a considerable difference in future years.