Thursday, June 21, 2007

User Driven Programming - Research Areas

The main focus of my research is that something is a class until it is used. So all the things in an ontology, taxonomy or any database that is the source of the information I think of as a class. When a user does something that gets this information and uses it for their own purpose, e.g. for a calculation, or to create their own web page I think of that as an instance for that person. So it always follows this sequence -

Ontology - Model - Interface (e.g. web page) - User Output


So this way many users can share use of the ontology and modelling system to produce their own output with the shared information. So the model takes classes and converts them to instances for use by the user e.g. a generic wing component cost and all its classes becomes a specific wing component cost and all its objects.

I am keen to represent rules as equations not as software code, so the user enters equations, these are visualised and linked together, and they are then translated to code for the computer but the user can read them without having to know a computer language. I'm interested in XForms and Web Forms as they are a way of visualising information while maintaining the structure. I have been looking at XForms, I think the quickest way to get into that is to go to http://www.formfaces.com/faces/Examples/index.html because code can be downloaded for these examples and run without having to install anything, it just works from a formfaces.js JavaScript file that you put in the folder with your XForms pages. For background I would recommend reading anything by Kurt Cagle and this book http://xformsinstitute.com/essentials/ downloadable from that site or can be bought. I have it all linked from http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm#XForms. It is also worth looking at combining this with XQuery http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htm#XQuery but this involves installing something such as eXist http://exist.sourceforge.net/ and learning to use that.

This is an area of research that I think is lacking sufficient research effort as yet - http://www.cems.uwe.ac.uk/~phale/#LanguageToolMapping. I call this User Driven Modelling or User Driven Programming. This is the area marked in yellow on the diagram, and below that is a map of tools, that links to a description of each tool that can be used for this subject area. Even this is a large research area. The idea of this is to add ease of use and freedom to develop user driven content to model driven programming, and make the needs of the ordinary end-user central to research. The aim also is to take the Web 2.0 approach to creation of dynamic highly interactive user interfaces, and use the structured language approaches of Semantic Web research combined as technologies to enable the User Driven Modelling.

These references http://www.jisc.ac.uk/media/documents/techwatch/tsw0701b.pdf and http://www.cabinetoffice.gov.uk/publications/reports/power_information/power_information.pdf?id=3965 ask universities and the UK Government to get more involved in the enabling and use of user driven content. The model driven programming approach can be used to enable this, read an ontology and drive technologies such as XForms for the user interface.

No comments: