Related Projects

Logic for UML

UML is the standard language used to model systems. It includes a semi-formal.constraint language', OCL, which, other things, allows designers to specify 'contracts' that components of a system must satisfy: this allows 'design by contract', a widely adopted approach to achieve effective re-use and independent development at the same time as dependability of the systems. OCL is a limited language, and many natural contracts cannot be written in it. Our aim is to extend the contract language in several ways: by allowing temporal properties; by allowing some concurrency; and by allowing explicit statements about the independence of design decisions.

The programme combines our work on concurrency, logic, object-oriented systems and design, and will result in richer contract languages that can be formally supported by design tools. We will produce prototype tools to demonstrate this, and to promote the acceptance of the languages. We will investigate the feasibility of providing a visual syntax for our extensions. We will throughout maintain close contact with the UML development and user communities, such as the Object Management Group.

This project is funded by an EPSRC grant, and the Principal Investigator is Julian Bradfield at Edinburgh University.

Page Maintainer: Credits      Project Members only Last Modified: 10 August, 2005