Wednesday, June 4, 2008

Phd Summary User Driven Programming

Writen by Peter Hale

I hope this might be useful for anyone who is thinking of looking at my research, and want to know if it is useful, and applicaple to their problems. I'm particularly interested in applying this research to allow those in business and organisations to solve their modelling problems.

This thesis outlines the technique of user driven modelling. The idea behind this is that software users (in this case engineers) can create models that perform and visualise calculations (cost of manufacture and the reasons behind this cost). The advantage of this is that the engineers can share and adjust models without needing to call upon a software developer to create the model. The time saved can give engineers the chance to cost designs early. This could allow the design to be changed before most of the future costs are incurred.

The thesis explains how the above aims can be achieved, in order to enable decision support during product development, whilst minimising dependence on specialist software and detailed programming effort. The basis of this is an ontology that can be visualised and edited in tree form.

The early part of the PhD covers research of others from the 1960s to present day in End User Computing. This involves making it easier for those who aren't professional programmers to instruct computers. I'm particularly interested in visualisation of information, and allowing people to interact with this visualisation directly. This can allow the person to instruct the computer to perform calculations, and see the result without needing to write computer code.

Research into the semantic web is explored, this research has been developed from the work of Tim Berners-Lee - http://www.w3.org/People/Berners-Lee/. I examine and demonstrate how this can be applied to decision support and modelling for engineers. The use and application of semantic web technology for modelling end user programming is examined.

The examples demonstrate the application of meta-programming to the problem of program development. Meta programming is the writing of programs that write or manipulate other programs (or themselves) as their data. The idea behind my use of this technique is that instead of writing programs to do a task a domain expert needs the program for, the meta program developer creates an environment which all domain experts, in this and similar fields, can use to create their own solutions. The developer then only needs to maintain and improve this programming environment, and can concentrate on this task; the domain expert can concentrate on solving the problem at hand without having to ask the developer to create the code on his or her behalf. This can prevent problems of misunderstanding, delay, and expense that often result from communication of difficult concepts between people who are experts in different areas (domain expert and programming expert).

I am a Researcher in the final year of my PhD. I specialise in applying Semantic Web techniques. My current research is on a technique of 'User Driven Modelling/Programming'. My intention is to enable non-programmers to create software from a user interface that allows them to model a particular problem or scenario. This involves a user entering information visually in the form of a tree diagram. I am attempting to develop ways of automatically translating this information into program code in a variety of computer languages. This is very important and useful for many employees that have insufficient time to learn programming languages. I am looking to research visualisation, and visualisation techniques to create a human computer interface that allows non experts to create software.

I am a member of the Institute for End User Computing - www.ieuc.org/home.html.

My Home Page is www.cems.uwe.ac.uk/~phale/.

A web page for this article is at www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory.htm.

No comments: