An important area of research is a technique for End User Programming, that of allowing visual modeling of information. This corresponds to the type of work typically undertaken using spreadsheets. This research involves using Semantic Web technologies to enable end user programming.
The work involves preventing 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 converted, 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 tree representation and other styles of representation eg 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 visualization. The intent 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 representations. 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 expends 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 'fregeon' 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: 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, DC 1977.
Smith, DC (1977) A Computer Program to Model and Stimulate Creative Thought. Basel: Birkhauser. 187p.