Domain-Specific Software Tools

 

Supported by the Foundation for Research,Science and Technology via the

New Economy Research Fund

Abstract

 

The aim of this project is to develop a novel enabling technology that allows software development organisations to much more effectively and efficiently develop Domain-Specific Software Tools.  Demonstrate the feasibility of this technology through the development of selected proof-of-concept domain-specific tools in conjunction with industry partners.

 

Domain-Specific Software Tools are software applications assisting in the development of other software or that are end-user-focused tool applications. These tools come in three main flavours: (1) in-house software construction productivity enhancement tools; (2) software construction tools for resale; and (3) end-user software tool applications. Examples include (1) a wide range of software design and project management tools; (2) architecture measurement and reuse tools; and (3) workflow, business modelling and information visualisation tools. The enabling technology will be evaluated with respect to the usability of the resultant tools provided and research and development work will be validated via two supporting objectives using the technology. One will focus on proof-of-concept, in-house, software and end-user application tools, the other on reuse processes, tools and technologies.

 

This research programme includes a mix of targeted basic and applied research. It contributes primarily to creating wealth from new knowledge-based enterprises and developing an infrastructure for a knowledge society. These will be achieved in this research programme by the development of a proof-of-concept technology for domain-specific tool construction that is (1) commercially valuable; (2) enables production of commercially valuable software applications; and (3) enables production of other commercially valuable software applications. An IP management plan focuses on maximising value of the research for New Zealand and New Zealand software companies.

 

Key partnerships with end-users are expressed in this programme by close collaboration with software industry end-users and tool application developers. User group linkages are strong and include collaborative project work with XSol Ltd, Whitecloud Systems Ltd, Peace Software Ltd, Okki Software Ltd and potentially with members of the Health IT cluster. The programme fosters advanced human capital development by (1) retaining key domain-specific software tools construction expertise in New Zealand; (2) developing domain-specific software tool expertise via student projects with industrial emphasis and collaboration; and (3) developing the academic researchers' ability to commercialise their research in this area.

 

Projects

 

Pounamu Meta-tool

 

Pounamu is a domain-specific software tool construction tool, or “meta-tool”. Pounamu is used to interactively define new domain-specific tools and to provide a framework for realizing these tools.

 

More information and recent publications can be found:

 

A recent short paper can be found:

 

Several extensions to Pounamu have been developed, including thin-client diagramming plug-ins, collaborative work plug-ins and notation converter support. Information on the first two can be found below. Information on notation mapping, including 3D user interface explorations, can be found:

 

An experiment with Zoomable User Interfaces and Pounamu views can be found:

 

We have been exploring component-based and service-oriented approaches to integrating other tools and services with Pounamu and other software tools. Information on these can be found in:

 

Argo/MTE Performance Test-bed Generator

 

Argo/MTE is a performance engineering tool that allows software architects to generate large amounts of real system code from a high-level architecture description. This code is then performance tested and the results summarized and presented, giving an indication of the likely performance of an application using the architecture description. Incremental evolution of the architecture informed by repeated performance analysis is supported.

 

Further details can be obtained from:

 

Some recent publications include:

 

Sketching-based CASE tools

 

We have developed experimental CASE tools using a sketching (pen)-based interface. We have also deployed this on an E-whiteboard technology, producing a face-to-face collaborative E-whiteboard application for UML diagramming.

 

Further details and recent publications can be obtained from:

 

Collaborative Work Plug-ins

 

We have been developing infrastructures and prototype service-oriented components to support plug-and-play dynamic extension of software tools to incorporate collaborative editing support services.

 

Further details and recent publications can be obtained from:

Web-based Diagramming Tools

 

 

We are working with Auckland companies  to explore thin-client diagramming applications.

 

Further details and recent publications can be obtained from:

 

Software Measurement tools

 

We have been investigating the addition of software metrics techniques to a commercial project management tool, in conjunction with an Auckland software company.

Data Mapping tools and Information Portals

 

We have developed two very novel approaches to supporting complex data mapping specification domain-specific tools. These provide new mechanisms which allow non-technical users to express complex data mapping problems and support the generation of target data mapping implementations. Much of this work has been investigated with motivating examples from Auckland software companies.

 

Further details and recent publications can be obtained from:

 

We are also looking to apply this work to information portal specification with a European research organization.

 

Software Tool Usability

 

We have applied two key approaches to evaluating the usability of software tools: the Cognitive Dimensions framework and representative user surveys.

 

Examples of these approaches being used for software tools can be found in the papers below:

 

Reuse Support tools

 

We have been developing infrastructure to better support the description of reuse in software tool applications and to provide software tool applications with improved reuse libraries and frameworks.