Interface for Design by Annotation

Project Proposal by Martin Stacey


Interface for Design by Annotation

Software

Java or C++ or Smalltalk or another object oriented language with good GUI facilities

Covers

GUI building, object oriented knowledge representation

Skills Required

Programming, some interest in engineering

Challenge

Conceptual ??? Technical ???? Programming ?????

Brief Description

Providing useful computer support for conceptual design in engineering is a hard problem. Much of the work that has been done in this area has been on systems that require designers to follow structured design methodologies, and work with abstract representations of machine functions based on theoretical analyses of the structure of mechatronic systems. But engineers think about how machines work using rich, messy concepts that cut across the neat conceptual categories of the Theory of Mechatronics; moreover they find the discipline imposed by structured methodologies on the order in which they perform tasks is too restrictive - design is a combination of systematic methodical thinking with opportunistic digressions. An alternative approach to providing computer support for design is to allow designers, as far as possible, to supply whatever information they want to the system whenever they want. This information is then manipulated by AI reasoning mechanisms (probably implemented as agents) to create whatever consistent formal structures are required.

The objective of this project is to build a prototype interface to a design support tool, to support unstructured design by annotation. The interface should include a window to display a visual representation of the design using bitmap graphics. This window should show information on different layers of bitmap, that can be added or subtracted from the displayed image. It should allow users to add information to some of the layers, including text, icons, and graphical objects drawn with a simple drawing package. It should also allow the user to label parts of the displayed image with names, and to associate different types of information with each name using other windows. This information should include attributes and their values, relationships to other named objects, and more complex information like tables and equations. The interface should construct an object oriented representation of each named object, comprising representations of all the different types of information that can be entered using the interface. The interface should include facilities to support system-driven dialogues, and system-driven switching on and off of annotation options, such as particular attributes and types of tables.

If the project is done in VisualWorks I can (probably) supply source code to a simple drawing package that could be incorporated. But Visual Basic and Delphi are probably easier languages in which to lash up interface widgets.

Variant

A design by annotation system for architecture.


Back to