An important area of research is a technique for End User Programming, that of allowing visual modelling of information. This corresponds to the type of work normally undertaken using spreadsheets. This research involves using Semantic Web technologies to enable end user programming.
The work involves allowing non-programmers to model complex problems visually and without having to use programming languages. Information is created in a visual tree using an Ontology editor, the information is then transformed, and all calculations performed. Further transformations can be performed into any programming language or open standard information representation language, and this can be displayed on the web. Also transformations can be performed between a tree representation and other styles of representation e. g. an interactive CAD style representation, using SVG.
A related area of research is that of Semantic Web and Web 2.0 techniques to enable online interaction with the results visualisation. The intention of this is to enable end user programming, by always allowing the person to see the context of the information and to get immediate feedback on any changes.
The theory behind this is that of showing examples of a program in whatever way most puts across the information in an understandable way. This must illustrate the concept that the information represents. This allows a user to manipulate the information and get immediate feedback on what has changed. This is related to Programming by Example, which is explained below.
In the mid 1970s Smith introduced the technique of Programming by Example with a program called Pygmalion. This demonstrated the need to describe algorithms through concrete examples rather than abstractly. ‘Example-based Programming: a pertinent visual approach for learning to program’ University of Poitiers explains and expands on Smiths work with an example demonstrating how numbers fail to reveal the concept behind them. The example is a numerical representation of a triangle. This representation is ‘fregean’ because it does not show the concept of a triangle. Next to this is a diagram of the triangle that does show the concept.
Programming by Example - Links
Alan Kay, Allen Cypher - http://www.acypher.com/wwid/FrontMatter/index.html - Watch What I Do - Programming by Example.
Cypher A. (1993) Watch What I Do: Programming by Demonstration, The MIT Press
Example-based Programming: a pertinent visual approach for learning to program (2004) - University of Poitiers - Nicolas Guibert - Patrick Girard - Laurent Guittet - Proceedings of the working conference on Advanced visual interfaces - Pages: 358 - 361 - ISBN:1-58113-867-9.
Programming by Example - http://web.media.mit.edu/~lieber/PBE/index.html - Massachusetts Institute of Technology - MIT Lab.
Pygmalion: A Computer Program to Model and Stimulate Creative Thought. Stuttgart, Basel - http://sern.ucalgary.ca/courses/SENG/611/F99/ConceptMaps/slides/tsld004.htm - University of Calgary Summary - Smith, D. C. 1977.
Smith, D. C. (1977) A Computer Program to Model and Stimulate Creative Thought. Basel: Birkhauser. 187p.
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 - http://www.ieuc.org/home.html.
My Home Page is http://www.cems.uwe.ac.uk/~phale/.