Monday, September 25, 2006

ACUITy application - General Electric

'Adaptive Work-Centered User Interface Technology (ACUITy) is now available on the SourceForge open source repository'

Release information - http://acuity.sourceforge.net/

I'm very interested in this semantic web application. I've seen this presented at the The Hewlett-Packard Jena conference Bristol UK. The paper is at http://jena.hpl.hp.com/juc2006/proceedings/crapo/paper.pdf and the presentation is at http://jena.hpl.hp.com/juc2006/proceedings/crapo/slides.ppt. The reasons that I'm interested in ACUITy are that it's a practical tool based on semantic web technology, such as Protégé and Jena, that can be used with minimal programming effort. This means it's relevant to my PhD research of using semantic web techniques to enable end-user programming. Also it looks particularly useful as a way of allowing engineers who create models using spreadsheets, to create shared models on a semantic web network.

Friday, September 22, 2006

OneWebDay

This OneWebDay celebration is something worth being part of because it's a small part of the history of the web. I hope this event happens every year, as the organisers plan.

I've just read on the BBC news web site that it's OneWebDay http://news.bbc.co.uk/1/hi/technology/5368190.stm, and bloggers are being encouraged to talk about this in their posts. This is important to me because most of the research I've undertaken for my PhD would not have been possible without the web, and particularly others research in the Semantic Web and Web 2.0. Particularly Tim Berners Lee's http://www.w3.org/People/Berners-Lee/ work has been a big influence.

Research into End User Programming using web technologies would have been difficult without the underlying technologies based on XML (eXtensible Markup Language), developed as part of the semantic web. Tim Berners Lee's work has been a big influence. Particularly important is research to take technologies from the Semantic Web, and apply this to web applications. Web 2.0 - Now people are also creating Rich Internet Applications using Ajax (Asynchronous JavaScript and XML) the whole area of world wide web research is so interesting and fast moving.

In the BBC article it says

'Susan Crawford, the founder of OneWebDay, said she wanted people to reflect on how the web had changed their lives.'

'The organisers are also encouraging people to post entries to their blogs on Friday which reflect on how the web has changed their lives.'

'This is the first OneWebDay, and the organisers plan for it to become an annual event.'


OneWebDay - http://www.onewebday.org/

OneWebDay - BBC article - http://news.bbc.co.uk/1/hi/technology/5368190.stm

Tuesday, September 19, 2006

PhD summary

I thought it would be useful to put a summary of my PhD on my blog, and this can help anyone visiting to know whether this research is of interest to them. As well as looking at my blog, anyone who is interested can look at the explanations, examples, and publications I have on my web site at http://www.cems.uwe.ac.uk/~phale/.

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.

I explore research into the semantic web which 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. I also examine how the semantic web technology could be applied more widely to modelling, and end user programming.

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).

The examples are applied to the problem of assessing cost at an early stage in the design. To achieve this I examined the problems that prevented software products being effectively used to reduce cost at this early stage. These problems were lack of interoperability of software models created, and lack of structure for sharing and re-using models. A further problem was the difficulty found by engineers in attempting to understand and interpret models (mainly spreadsheets) created by their colleagues. The solution explored was to build into the software capabilities to save in neutral formats, to share and re-use models, and visualisation and interactivity, to ease model building and understanding.

It is very important to be able to establish an estimate of the cost of early designs, as failure to do so results in most of the cost being designed into the product at an early stage. By the later stages most of the costs are built in and it is too late to make major cost reductions. When engineering organisations design and manufacture products they categorise this process into stages. From the early concept stage to the final design stage and manufacture, software is used to aid and record the process. It is common for different software to be used at different stages. If the software applications do not use open standards languages to communicate between these stages and between the various teams involved, information gets lost and not re-used as the chain of information breaks. An open standard language is a language whose structure and syntax has been agreed by the World Wide Web consortium (W3C), http://www.w3.org/. The detail and accuracy of the information that can be provided to define the product varies along this chain. The best opportunities for cost reduction are early in the product life cycle, so it is important to gather together any information that is available on that component and any similar products. It is important that users who enter information about a design concept be guided by historical values where possible, and guidance information such as explanations, diagrams, and examples. The use of statistical modelling is necessary to ensure a cost can be calculated at this early stage when there is a high level of uncertainty.

The User-Driven Programming approach and its application to the problem above is explained using examples ranging from the visualisation and calculation of the area of a rectangle, to the modelling and costing of complex processes, and the visualisation of component design.

Monday, September 04, 2006

Squidoo Lens

I've been creating this Squidoo lens on User Driven Programming at http://www.squidoo.com/userdrivenprogramming/. This is an editable profile, and lets me create a central site to link web sites, blogs, RSS files and whatever else I might have published on the web. This is explained on the Squidoo blog at http://www.squidoo.com/blog/. It looks a very interesting tool.

It's of particular interest to me because it's both a good tool for me to link together my research, and an example of User Driven Prgramming itself.