Tuesday, December 04, 2007

SWIG-UK Powerpoint Presentation - at Hewlett-Packard

I gave a SWIG-UK Powerpoint Presentation - at Hewlett-Packard Bristol UK - semantic web interest group - http://www.cems.uwe.ac.uk/~phale/InteractiveModellingandVisualisationofInformation.ppt or http://cems.uwe.ac.uk/~phale/InteractiveModellingandVisualisationofInformation.ppt - November 23rd 2007.

This was on Interactive Modelling of Information, Visualisation and Translation Between different software and ontology representations.

There were many interesting presentations and links to all the talks are at - http://swig.networkedplanet.com/special.html.

More information about my research can be found at http://www.cems.uwe.ac.uk/~phale/ or http://cems.uwe.ac.uk/~phale/.

I had a comment saying Links don't work unless I remove www from the url. I'm not sure why the link seems OK as it is from my computer but not others so have put both options.

Friday, November 02, 2007

CII - Wiki Useful Survey Advice and Tools site

A comment from Tonya on my previous post requesting advice for my creation of a Usability Survey pointed me to this very useful resource -

http://cii.wikispaces.com - The Cii Wiki was created to provide a resource for those considering computer interactive interviewing (Cii), that is, using computers for conducting online surveys and polls.

I would recommend people who are creating online surveys to look at this site, and would welcome any other ideas for sites that can help me, or any general advice.

My survey is available at the top of my home page - http://www.cems.uwe.ac.uk/~phale/. I would welcome any participation.

Thank You




Monday, October 22, 2007

Usability Survey - I would welcome any participation

I'm developing a survey on usability, I don't think it's quite right yet, but I would still welcome anyone using it to leave feedback on my research topic (or about the survey) - Click Here to take part in a usability survey, and support my PhD research, for anyone who does not want to remain anonymous, I would be pleased to take an interest in their research.


The survey compares these interfaces -


Taxonomy - http://www.cems.uwe.ac.uk/~phale/ELearning/ELearningDemonstration1.htm.


Diagrammatic - http://www.cems.uwe.ac.uk/~phale/ELearning/ELearningDemonstration2.htm.


And asks for further advice on end-user programming.


I'm interested in feedback from anyone, whatever their level of IT skills.


Survey - Seeking feedback on software usability.

Thank You

Thursday, October 18, 2007

User Surveys - I would like advice please

I'm interested if anyone has any advice about using and building a survey tool, to measure user satisfaction with software. I'm mainly interested in this being online and browser independant.

If anyone has advice about how to construct a user survey, both on what questions to ask, and what technology to use to construct it, this would be very helpful. This is for my PhD research to help me with my conclusion.

I want to measure how people might use software such as this -

Flash Taxonomy - http://www.cems.uwe.ac.uk/~phale/ELearning/ELearningDemonstration1.htm.

SVG Diagrammatic Viewer -
http://www.cems.uwe.ac.uk/~phale/ELearning/ELearningDemonstration2.htm.

I also want to establish and how developers might reuse the code (I want to encoureage this).

If anyone has any advice on this matter or, survey tools to recommend, or survey examples I can look at and link to, I would greatly appreciate advice.

I would like comments to this post or emails to peter2.hale@uwe.ac.uk.

Thank you

I'm developing a survey on usability, I don't think it's quite right yet, but I would still welcome anyone using it to leave feedback on my research topic (or about the survey) - Click Here to take part in a usability survey, and support my PhD research, for anyone who does not want to remain anonymous, I would be pleased to take an interest in their research.

Thursday, October 11, 2007

PhD Objectives - User Driven Modelling

These are my PhD objectives, in order to make it clear what my research is about.

This research will examine creation of models and modelling systems, and how this can be eased so that a wider range of the population can achieve this. It will also identify ways that creation of models and modelling systems is similar to other types of programming, and how the research can be applied more generally. The main users of the system will be engineers; possibilities for wider application will be explored.

The purpose of user driven modelling/programming is to enable non programmers to crate and adjust models in order to maximise the maintenance, extensibility, ease of use, and sharing of information in models and modelling systems. The research will investigate the following areas in order to ease the process of model creation.

Maintenance
Maintenance of models and modelling systems will be improved by:-

* Use of open standards to represent information in a format available to the maximum range of maintainers without being dependant on the computer system or software they use.

* Ensuring the structure of the modelling/programming system and all its related information is visualised clearly.

* Minimising the amount of code necessary to create a model, and structuring the model so that all connections can be seen.

Extensibility
Extensibility will also be improved by the above means; this enables understanding of a model and so allows for easier re-use. A clear structure and visualisation can be edited with fewer worries about unintended consequences (side effects).

Ease of Use
* Maximising accessibility is important to this, use of open standards helps achieve this, together with enabling models to run on software and systems that people are widely familiar with. Ease of use should be facilitated without compromising structure.

Clear structuring and visualisation of information also assists in making a modelling system easier to use.

Sharing of Information
Maintenance, extensibility and ease of use are the key drivers for sharing of information. Achievement of the objectives in these areas would enable collaboration.

Methodology for Achievement of Objectives
Achievement of the above objectives can make possible creation of manageable, maintainable, and flexible models. To enable these objectives, a diagrammatic representation of models will be used as well as a taxonomy based visualisation. This will make it possible for engineers to use an interface that many of them are familiar with. Translation capabilities will be provided to enable better communication between computer systems, and between humans and computer systems. This will allow visualisation of chains of equations which are common in cost modelling. This visualisation will make it easier for people to add and manage information in large models, and identify cost information. A cost modelling example will be used throughout the thesis, but this work is relevant to modelling in general.

Information management and Interaction
This work will be based on information held in an Ontology, accessed using Semantic Web technology. Cost models will be constructed from information chosen by users through an interface that interacts with the user to establish what information is required, how it should be processed, what calculations should be made, and how should it be displayed, e.g. as a diagram or taxonomy.

More Information is available at http://www.cems.uwe.ac.uk/~phale/.

Tuesday, October 02, 2007

Public Understanding of Science and Engineering

The necessary efforts of organisations dealing with cimate and space to reach out to the public can be assisted by interactive online visualisation that encourages public involvement, and this can be further linked to events where the public is involved. An example of such events is the Hewlett-Packard Science Lectures.

Online media can assist in this role and the new Semantic Web and Web 2.0 technologies enable production of software for explanation, visualisation and modelling of scientific and engineering problems. Also this enables development of online software which can be used by non-programmers to developer further software, so generating a cycle of development that could generate a large community of users and new programmers. This encourages communication and collaboration amongst the public as well as scientist and engineers. This involves creation of Semantic Wikis, modelling and visualisation tools that could be linked to scientific models such as climate models, and interactive forums.

An example application could be a link from climate models that allow members of the public to adjust parameters and see the results of such changes (even though the results are generated on high powered computers at the Met Office). This could be made to work in a similar way to the link between personal PCs and servers, where the client does not have to be aware of which servers are performing background tasks. This is similar to other projects such as the BBC Climate experiment, SETI@home and Stardust@home, but would involve the users active involvement in its development.

As an example - Astronomy, has harnessed skills of this very diverse range of people to make new discoveries (Mutchler and Schenk). The SETI@home project encouraged computer owners to use spare capacity for analyzing radio telescope data. The Open University Climate Modelling experiment used a similar approach. Stardust@home asks for volunteers to search for intersteller dust particles and tracks through photos on their computer. The GalaxyZoo project combines the computer and internet technology and human skills, and asks people to identify galaxy types.

NASA and public understanding

This extract from the article - NASA's new outreach plan explains NASA's plans to promote public undersanding of their organisation.

NASA's new outreach plan - The Space Review - by Jeff Foust - Monday, July 2, 2007 - It has long been a central tenet of the space advocacy community that the public would be more willing to support NASA—and, in turn, press the White House and Congress to give NASA more money—if the general public simply knew more about what NASA did and how it was relevant to them.

Web 2.0 and NASA's big five-oh

The document NASA's new outreach plan describes how NASA plans to implement the plan and communicate those messages to the public. That effort will be linked with NASA’s year-long celebration, starting this October, of its 50th anniversary (the agency was officially created on October 1, 1958.) The core message and related themes will be used in a variety of 50th anniversary events, including a series of "NASA Future Forums" around the country: one-day conferences about the role of innovation in economic development, in particular the role NASA plays. Also in the works are a lecture series, new public service announcements, and targeted outreach to state and local leaders linked to upcoming shuttle missions.

Online media will also play a role in this outreach effort. According to the document, NASA is in the process of redesigning its web site to leverage a suite of technologies and techniques collectively known as "Web 2.0" that emphasize communication and collaboration among users. The new web site will include dynamic, customizable content; "social bookmarks" akin to web sites like Digg and del.icio.us; and the ability for the public to comment on NASA content. The document also mentions the creation of a "NASATube" and "NASApedia", presumably similar to the video-sharing site YouTube and editable encyclopedia Wikipedia, respectively.

References
BBC Climate change - http://news.bbc.co.uk/1/hi/sci/tech/portal/climate_change/default.stm - news, opinion & explanation from around the BBC.

GalaxyZoo - http://galaxyzoo.org/ - Welcome to GalaxyZoo , the project which harnesses the power of the internet - and your brain - to classify a million galaxies. By taking part, you'll not only be contributing to scientific research, but you'll view parts of the Universe that literally no-one has ever seen before and get a sense of the glorious diversity of galaxies that pepper the sky.

HP Science Lectures - Bristol, UK - http://www.hpl.hp.com/news/lectures/ - The Hewlett-Packard Science Lectures were established in 1996 as a forum for improving the public understanding of science. Held at Hewlett-Packard Laboratories, Bristol, they provide an opportunity for the public to hear distinguished lecturers discuss a broad range of scientific topics, from current research to the interaction between science, technology, art and society.

Mutchler M, Schenk H, Amateur Astronomers and the Hubble Space Telescope - http://www-int.stsci.edu/~mutchler/amateur.html.

Open University Climate Modelling - http://www.open2.net/sciencetechnologynature/worldaroundus/grassroots.html - The development of the climateprediction.net climate model was almost as involved and intricate as the climate it sought to map - here, Bob Spicer recalls the inspirations and frustrations of getting the model created; on the next page, he reveals exactly what the number crunching is for.

SETI@home - http://setiathome.berkeley.edu/ - SETI@home is a scientific experiment that uses Internet-connected computers in the Search for Extraterrestrial Intelligence (SETI). You can participate by running a free program that downloads and analyzes radio telescope data.

Stardust@home - http://stardustathome.ssl.berkeley.edu/ - August 10, 2007 - Stardust Phase 2 Begins - Today marks the beginning of a new and exciting chapter in the story of Stardust@home. With the launch of the new and improved Stardust@home Phase 2 volunteers ("dusters") will be able to search for interstellar dust particles at an unprecedented level of sensitivity. Even the subtlest tracks and particles, which may have eluded detection in the first phase of the project, now stand an excellent chance of being found by ever-vigilant dusters.


More Information is available at - http://www.cems.uwe.ac.uk/amrc/seeds/PublicScience.htm.

Wednesday, September 26, 2007

Simulation and Discrete-Event Modelling

A future task to be undertaken would be the inclusion of uncertainty in automatically produced models, for situations where accurate information cannot be provided for the model. This would require provision of a way of handling uncertainty for parameters within the ontology, e.g. as 3 values describing a triangular distribution rather than a unique absolute value. The decision support meta-program could be expanded to write out the code to run Monte-Carlo sampling, hence making use of the statistical uncertainty capability. Miller and Baramidze (2005) examine efforts to develop mathematical semantic representations above the syntactical representations of MathML. this effort should make it possible for standardisation of the representation of mathematical expressions that relate nodes, and their values and expressions, to each other. The next stage in the research surrounding this thesis will be provision of constraints to prevent invalid mathematical expressions. Miller and Baramidze also explain their research in Discrete-Event Modelling Ontology (DeMO) for simulation and modelling. This uses OWL to define a simulation and modelling class hierarchy. It would be very useful to create an example to demonstrate this with a practical model to test the use of this ontology.


References


MathML - http://www.w3.org/Math/.

Miller, J. A., Baramidze, G., 2005. Simulation and the Semantic Web. In. Proceedings of the 2005 Winter Simulation Conference. - http://www.informs-cs.org/wsc05papers/297.pdf.

More Information is available at -

Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/Modelling.htm.

Semantic Web Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm.



Thursday, September 20, 2007

Metaplace - Online Virtual World Builder

I found this article on the BBC website - Virtual worlds opened up to all - 19 September 2007 - http://news.bbc.co.uk/1/hi/technology/7002479.stm. This looks very interesting and potentially useful for End-User programming and E-Learning.

The link is Metaplace - http://www.metaplace.com/. I'm looking forward to building a virtual world, and to linking to other peoples' worlds especially if their world is useful for End-User programming and E-Learning and/or has a space or climate modelling theme.

This links with these aims -

Building Developer Communities - http://userdrivenmodelling.blogspot.com/2006_03_01_archive.html.

E-Learning Provision using Semantic Web Technologies - http://userdrivenmodelling.blogspot.com/2007/08/e-learning-provision-using-semantic-web.html.

Drag and Drop Programming - http://userdrivenmodelling.blogspot.com/2007/08/drag-and-drop-programming.html.

In the BBC article Metaplace say -

"We want to see 10,000 virtual worlds so that lots of wild and crazy stuff gets made because that is the only way it will advance as a medium."

So I would like to be part of this effort. If anyone at Metaplace, or who is developing a Metaplace world has something I can link to that would be useful for the above, could they please email me at peter2.hale@uwe.ac.uk.

I am also interested in this from the BBC article -

"As each world is based on standard web technology they can also be embedded in blogs, a facebook profile, myspace page or website."

How can I do this or link to other peoples' worlds.

I think to begin with we register at http://www.metaplace.com/. The release is due for Spring 2008 but perhaps registering will allow for earlier involvement. It's called Alpha Signup.

This looks like the best place to keep up with developments and a community of users/developers - http://www.metaplace.info/.

Monday, September 17, 2007

Ontology Visualisation and Interaction

Protégé has OWL plug-ins available that provide extra capabilities for representing and visualising information, and also reasoning tools for maintaining and analysing the logical constructs (Storey et al, 2004) and (Elenius, 2005). The University of Victoria Computer-Human Interaction and Software Engineering lab (CHISEL) (2006) has developed Jambalaya (Ernst et al, 2003) for visualisation of knowledge and relationships. Ernst et al explain that the "larger ontologies that are being developed quickly exhaust human capacity for conceptualizing them in their entirety", so visualisation tools must assist users to view the information they need. Researchers at the University of Queensland Australia have developed a hyperbolic browser to display RDF files, this is explained in Eklund et al (2002). Cheung et al (2005) provide an ontology editor for knowledge sharing in manufacturing.

It is also important not to stay limited on one ontology development environment but instead explore how ontologies can be developed using a range of development tools and translated between each where necessary (Garcia-Castro and Gomez-Perez, 2006) are testing this. For this reason, a large range of ontology management tools have been investigated for this thesis. SWRL (Semantic Web Rule Language) combining OWL and RuleML and its use in modelling will also be investigated. This could be used for formally specifying the construction of equations and rules in a model and the relationships and constraints between items represented in an equation. Miller and Baramidze (2005), Horrocks et al (2003), and Zhang (2005) explain the SWRL language. Horrocks et al talk of defining properties as general rules over other properties and of defining operations on datatypes, within the thesis this research could assist in providing a visual rule and equation editor. An editing facility to model these equations and constraints, so that errors could be prevented, would improve the usability of future visual modelling systems created. Support for SWRL in Protégé (Miller and Baramidze, 2005) will assist with the construction of a modelling system with sophisticated editing of rules.

My Pages on this subject
Semantic Web - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm.
Semantic Web Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm.
Visualisation - http://www.cems.uwe.ac.uk/amrc/seeds/Visualisation.htm.

References

Cheung, W. M., Maropoulos, P. G., Gao, J. X., Aziz, H., 2005. Ontological Approach for Organisational Knowledge Re-use in Product Developing Environments. In: 11th International Conference on Concurrent Enterprising - ICE 2005, University BW Munich, Germany - http://www.eamber-esilkroad.org/Projects/408/ICE2005/Knowledge%20Management/P13%20Ontological%20Approach%20for%20Organisational%20Knowledge%20Re-use%20in%20Product%20Developing%20Environments.pdf.

Elenius, D., 2005. The OWL-S Editor - A Domain-Specific Extension to Protégé. In: 8th Intl. Protégé Conference - July 18-21, 2005 - Madrid, Spain - http://protege.stanford.edu/conference/2005/submissions/abstracts/accepted-abstract-elenius.pdf.

Eklund, P., Roberts, N., Green, S., 2002. OntoRama: Browsing RDF Ontologies using a Hyperbolic-style Browser. In: The First International Symposium on Cyber Worlds, CW02, Theory and Practices, IEEE Press. (2002) pp 405-411. - http://ieeexplore.ieee.org/iel5/8409/26515/01180907.pdf.

Ernst, N. A., Storey, M., Allen, P., Musen, M., 2003. Addressing cognitive issues in knowledge engineering with Jambalaya http://www.neilernst.net/docs/pubs/ernst-kcap03.pdf.

Garcia-Castro R, Gomez-Perez A, 2006. Interoperability of Protégé using RDF(S) as interchange language. In: 9th Intl. Protégé Conference, July 23-26, 2006 - Stanford, California - http://protege.stanford.edu/conference/2006/submissions/abstracts/3.4_Garcia-Castro_Gomez-Perez_Protege2006.pdf.

Horrocks, I., Patel-Schneider, P. F., van Harmelen, F., 2003. From SHIQ and RDF to OWL: The making of a web ontology language. Journal of Web Semantics, Vol 1(1), pp 7-26 - http://www.cs.man.ac.uk/~horrocks/Publications/download/2003/HoPH03a.pdf.

Miller, J. A., Baramidze, G., 2005. Simulation and the Semantic Web. In. Proceedings of the 2005 Winter Simulation Conference - http://www.informs-cs.org/wsc05papers/297.pdf.

Storey, M., Lintern, R., Ernst, N., Perrin, D., 2004, Visualization and Protégé In: 7th International Protégé Conference - July 2004 - Bethesda, Maryland - http://protege.stanford.edu/conference/2004/abstracts/Storey.pdf.

University of Victoria, 2006. Model Driven Visualization (MDV) http://www.thechiselgroup.org/?q=mdv.

Zhang, Z., 2005. Ontology Query Languages for the Semantic Web: A Performance Evaluation. MSc Thesis, (Under the Direction of John.A.Miller) -http://www.cs.uga.edu/~jam/home/theses/zhijun_thesis/final/zhang_zhijun_200508_ms.pdf

Friday, September 07, 2007

Objectives for future development of Ontologies

My next posts outline future research that is required for the advancement of representation, search, and visualisation of information, and at recent and future developments in the use and representation of taxonomies and ontologies, and visualisation tools that can aid in their use. Berners-Lee et al (2006) explain the importance of visualisation for navigation of information "Despite excitement about the Semantic Web, most of the world's data are locked in large data stores and are not published as an open Web of inter-referring resources. As a result, the reuse of information has been limited. Substantial research challenges arise in changing this situation: how to effectively query an unbounded Web of linked information repositories, how to align and map between different data models, and how to visualise and navigate the huge connected graph of information that results."

Horrocks (2002) explains the advantages of moving towards a more formal ontology. Making use of a more formal ontology is the next major aim for my research. Creation of a formal ontology, while at the same time creating applications that model problems such as early stage design and cost, and interactive modelling environments for students, will widen the applicability of the research. This would enable further testing on ways ontologies can be used to solve problems, and are meaningful to people as well as being searchable by computer software. My intention is to enable tagging of this ontology and eventually editing of it by users, in order to allow users and domain experts to be involved in the ontology construction.

So far the taxonomies used in my thesis include traditional object oriented relationships such as child, parent, sibling, attribute, and instance. There are other types of relationship that would need to be modelled in order to maximise the capabilities of software that would use the taxonomies. Key relationships used within the object oriented programming domain between objects have been modelled. These key relationships depict families and aggregations of objects that may share attributes and methods through inheritance. When physical items are represented, this can be translated to geometric diagrams. Semantic descriptions with more relationship types than the ones modelled so far allow a more expressive depiction of a problem domain, and can aid some forms of search within a model. One of the main advantages of a semantic net description, in terms of automated model generation, is that labelling relationships between objects allows the depiction of a number of aspects of a domain in one model, and with a consistent syntax. Ciocoiu et al (2000) explain how an engineering ontology can be made more rigorous in order to facilitate interoperability. This allows representation of, say, a product structure and its manufacturing processes together. A single node then is the only representation of that node within the model, with all its relationships depicted as arcs emanating/terminating at the node. More expressive semantic descriptions are possible through the use of the standard OWL dialects. These more expressive descriptions require sophisticated visualisation tools which will be the subject of the next post.

My Pages on this subject

Semantic Web - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm.
Semantic Web Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm.

References

Berners-Lee, T., Hall, W., Hendler, J., Shadbolt, N., Weitzner, D. J., 2006. Creating a Science of the Web. Science 11 August 2006:Vol. 313. no. 5788, pp. 769 - 771. - http://www.sciencemag.org/cgi/content/full/313/5788/769?ijkey=o66bodkFqpcCs&keytype=ref&siteid=sci.

Ciocoiu, M., Gruninger, M., Nau, D. S., 2000. Ontologies for Integrating Engineering Applications. Journal of Computing and Information Science in Engineering, 1(1) pp 12-22. - http://www.cs.umd.edu/~nau/papers/ontologies-JCISE-2001.pdf.

Horrocks, I., 2002. DAML+OIL: a Reason-able Web Ontology Language. In: proceedings of the Eighth Conference on Extending Database Technology (EDBT 2002) March 24-28 2002, Prague. - http://www.cs.man.ac.uk/~horrocks/Publications/download/2002/edbt02.pdf.

Friday, August 24, 2007

PIXEL Programming Interaction with XML Environments and Languages

The aim of this research is to enable effective management of information by creation of a visual document, programming, and information management system and interface. The means for this is creation of a visual development environment for programming using XML based technologies. This will enable interactivity with and further development of this system by end-users such as administrative staff. An objective is to investigate use and improve visual environments and create proof of concept software for free distribution between academics, and amongst others, of this interactive environment. This will enable editing of the program structure using a visual representation of the software over the web that can be translated directly into code. Users will be able to change the program without ever needing to see the XML (eXtensible Markup Language) code. This will allow people to create interactive software that is well structured and searchable, and the best options for making this creation as straightforward as possible will evaluated. There are many techniques, tools and languages available for structuring and searching web pages, these will be applied to management of information.

Mayo and Steinberg [1] authored a cabinet office report for the UK Government recommending government partners with other providers to make use of User generated content and enable provision of information that helps achieve public policy objectives. A JISC (Joint Information Systems Committee) report explains the power of networks and how important it is for educational establishments to make proper use of them [2]. The flexibility of information representation languages could enable administrative users to maintain, adapt and extend a system themselves. This goes beyond open source development to enable development of communities of end-user programmers. Users can interact with XML via programs written in interpreted languages such as JavaScript. The user will not require any software except for a web browser as the development environment will be web-based.

XML is used for structuring information so different software systems can interpret it. This language can be used to structure web pages so that they can represent and link to programming objects. XML can be used as a way to manage workflow within and between organisations. XML provides the basis for creation of taxonomies and ontologies. Using Meta-tags defined with XML it is possible to create documents that define their own structure and to provide a consistent and understandable user interface. A further objective of this research is automating the conversion of information between formats, to assist organisations to manage their information.

Mechanisms for this Research
The intention is to prototype the creation an environment based on Semantic Web languages such as OWL (Web Ontology Language), RDF (Resource Description Framework) [3] and XML, not just for search but also combined into a comprehensive application that is usable for end-user programming of a large range of problems. To allow users to create Rich Internet Applications we intend to create a translator using XML or RDF/XML programming so the entire solution would be in XML based languages. This involves programming with Semantic Web languages rather than just using them for information representation. This will make the translation from visualisation to code easier and more reliable, and further improve the maintainability of the software created.

It is essential that new ways of enabling collaboration between all those involved in software creation and use are investigated. An important part of the research will be to investigate the use of Semantic Web languages for programming, rather than just for representation of information, this would expand on languages such as SPARQL (Simple Protocol and RDF Query Language) [3] and XQuery [4]. The use of Semantic Web languages for declarative programming can ease the translation between different representations of information, and ease interoperability between systems.

End-User XML Editing
An XML based drag and drop programming example has been created [5], this example was created with AJAX (Asynchronous JavaScript And XML). XML can be manipulated directly from the browser rather than requiring a specialist XML editor. This allows open standards platform independent end-user programming. The example is based on the Scand dhtmlxTree [6] and this makes it possible to enable many other programming actions such as adding and deleting nodes, and to create other editing controls. It will be possible to make use of XML based meta programming to allow end-user programming, Simkin [7] and Lemos [8] are examples of this approach. We intend to investigate and extend this approach to create meta language tools for programming, including for the display interface. Semantic languages provide a higher level declarative view of the problem to be modelled. We will develop declarative programming with XML based languages. Examples of research into XML as a programming language are AspectXML [9], and the Minimal Imperative Language XIM [10]. Interactive web programs can be created using scripting languages and XML combinations such as AJAX (Asynchronous JavaScript And XML) [11], which is a name for techniques to create highly interactive web pages. Web 2.0 technologies (often making use of Ajax) aim to reproduce on the web the functionality provided by office software and this can be extended to enable users to create their own programs using XML and a visual interface.

Even where documents are represented using XML or other structured languages, it is important to structure the contents and semantics using an ontology, Erdmann and Studer [12] experiment with this.

References
[1] Mayo E, Steinberg T, 2007, The Power of Information, Cabinet Office independent review - http://www.cabinetoffice.gov.uk/publications/reports/power_information/power_information.pdf?id=3965.
[2] JISC (Joint Information Systems Committee) Anderson P, 2007, Technology and Standards Watch What is Web 2.0? Ideas, technologies and implications for education - http://www.jisc.ac.uk/media/documents/techwatch/tsw0701b.pdf.
[3] World Wide Web Consortium (W3C), 2007, SPARQL Query Language for RDF, http://www.w3.org/TR/rdf-sparql-query/.
[4] McGovern J, Cagle K, Bothner P, Nagarajan V, Linn J, 2003, XQuery Kick Start.
[5] Drag and Drop, 2007, http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/samples/components.html.
[6] Scand dhtmlxTree, 2007, http://www.scbr.com/docs/products/dhtmlxTree/index.shtml.
[7] Whiteside S, 2007, Simkin the embeddable scripting language, http://www.simkin.co.uk/.
[8] Lemos M, 2007, MetaL: An XML based Meta-Programming language, http://www.meta-language.net.
[9] Peterson M D, 2005, O'Reilly XML.com - [Part 3] Assets, Atom Feeds, and AspectXML - The Triple Threat of Web Development? - http://www.oreillynet.com/xml/blog/2005/09/part_3_assets_atom_feeds_and_a.html.
[10] Bayram Z, Onder R, 2007, XSL Transformations A delivery medium for executable content over the Internet, http://www.ddj.com/web-development/198800555.
[11] Cagle K, 2006, AJAX on the Enterprise, AJAXWorld conference, October 4, 2006 - http://www.oreillynet.com/xml/blog/2006/10/ajax_on_the_enterprise.html.
[12] Erdmann M, Studer R, 1999, Ontologies as Conceptual Models for XML Documents, Proceedings of the 12th Workshop on Knowledge Acquisition, Modelling and Management.

More Information

Ajax/Web2.0 - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm.

Drag and Drop Programming - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htmDragandDropProgramming.

RDF, OWL, Semantic Web - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm.

XML - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htm.

XML Programming - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htmProgrammingwithXML.

Friday, August 17, 2007

User-Driven Model-Driven Programming

A model-driven approach is important for enabling of user-driven programming. User-Driven Model-Driven Programming is the way to make it possible for a much wider range of people to do their own programming. This combines the approaches of End-User Programming, the Semantic Web and Modelling. The mechanism for this is program transformation, translating from user view to model to code. The diagram below shows this approach.


User Driven Model Driven Programming Diagram

User Driven Model Driven Programming

Ways my research is pursued in order to make User Driven Programming possible are :-

1 Semantic Web and Web 2.0 approach to enabling User Generated Content - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm.
2 User Centric Extensions to UML (Unified Modelling Language) e.g. http://www.himalia.net/ this approach also ventures into 1 and 3).
3 Visual Programming Extensions to spreadsheet type formulae based modelling, an example is http://wiki.vanguardsw.com/ enabled using approach 1.

This research links with the approach of enabling User Generated Content and providing a Visual Programming System. While my thesis concentrates mainly on 1 and 3, 2 is just as important and is referenced.

So there is considerable overlap between these three approaches and they must be integrated within interdisciplinary research to enable user driven programming. One approach to this is a Semantic User Interface, this is explained here -http://www.himalia.net/docs_semanticUI.html. This can enable Drag and Drop programming http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm#DragandDropProgramming that combines the benefits of all three research approaches. The important factor is to connect the user interface with the underlying code, so the two share the same structure and users can properly see how their actions can change the underlying code.

The next step is to make possible collaborative user-driven programming by sharing the visualisation of models across computer networks and between collaborators. In order to make user driven modelling and programming possible, it is essential that a communication mechanism is established, which allows users to generate changes and receive changes generated by the modelling system.

My pages on subjects related to this are -

End-User Programming - http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.

Language and Tool Mapping - http://www.cems.uwe.ac.uk/~phale/#LanguageToolMapping.

Model-Driven Programming -http://www.cems.uwe.ac.uk/amrc/seeds/softwareengineering.htmModelDrivenProgramming.

Modelling and Semantic Web -http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm.

Semantic Web - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm.

Tuesday, August 14, 2007

Systems Enginering and Simulation

The intention of this project is to create a way for non programmers to create software in high level open standards based declarative languages built with Semantic Web technologies. The reasoning behind this is that if Semantic Web languages can represent data, they can also represent programs, as programs are just a specialised kind of data. The non programmer would program with this declarative language by means of a diagrammatic visualisation.


Many people would like to make greater use of computer technology but are hampered by the need to learn programming languages if they are to fully interact with software. Instead they are limited to the use of certain generic features that are provided for them. A further constraint is the cost of software, and for this project we will develop free software and encourage a community of end-user developers, and modellers.


We aim to provide Semantic Web based modelling and simulation tools that are usable and programmable by end-users. This is in order to ease the difficulties involved in translating requirements between software experts and domain experts. Our research will develop, extend, and combine existing research in provision of web page development tools for end-users, meta-programming, and web based modelling and simulation tools. The diagram below explains the research area we intend to explore.


This research will be part of co-ordinated efforts to enable end-user programming for knowledge management (including e-learning), modelling and decision support, and simulation. Therefore the research will concentrate mainly on translation for simulation and enabling non programmers to create web-based simulation systems. This is illustrated in the figure below.


End User Programming Diagram - Research Aim - Illustrating need to translate between human and computer and the increase in amount of calculation between domains of knowledge management, decision support and simulation. The increase in complexity is of calculation in the direction from knowledge management to decision support to simulation, and of information in the other direction from simulation to decision support to knowledge management.


The main research area will be the interface between Meta-Programming, Modelling and Simulation, and Semantic Web Model Creation, shaded in the figure below. This could allow end-users to develop their own Semantic Web based simulation and modelling tools using a graphical visual interface.


End User Programming Diagram - Research Aim - Illustrating need to translate between human and computer and the increase in amount of calculation between domains of knowledge management, decision support and simulation. The increase in complexity is of calculation in the direction from knowledge management to decision support to simulation, and of information in the other direction from simulation to decision support to knowledge management.


A simple illustration of the techniques that can be used to further this research area is a demonstrator we completed for meta-programming of XML (eXtensible Markup Language) based drag and drop trees. Python is used as a translator between the XML representation of the trees and interactive graphical representations of them. This allows open standards platform independent end-user programming. Such techniques could be used with other Semantic Web based information representations based on languages and structures such as XML, RDF (Resource Description Framework), and OWL (Web Ontology Language), and provision of other controls. These could then be used as graphical components of a simulation system made available over the web. This demonstrator furthered the research of Anderson and Krause [1]. Whiteside also used XML based meta programming to allow end user programming of games with Simkin [2]. Semantic languages provide a higher level declarative view of the problem to be modelled.


Standardisation in XML/RDF enables use of declarative rules for web services. Rules play an important role in artificial intelligence, knowledge-based systems, and for intelligent agents. To allow information sharing and reuse, interoperability, and collaboration an ontology centric approach can be used [3]. Ontologies are defined by Gruber in [4], and he also examines how equations and quantities can be represented in an ontology. Extending such work can enable functions and calculations to be represented in OWL and called by a Semantic Web based programming language.


References


[1] Sample code using drag & Drop with a tree - http://lists.wxwidgets.org/archive/wxPython-users/msg11332.html - Drag and Drop contributed by Sam Anderson, reposted by Dirk Krause.


[2] Simkin - http://www.simkin.co.uk/Links.shtml.


[3] COSMOA: An Ontology-Centric Multi-Agent System For Coordinating Medical Responses To Large-Scale Disasters. Bloodsworth, P., Greenwood, S., 2005. AI Communications Vol 18 (3) Agents Applied in Health Care pp 229-240.


[4] Toward Principles for the Design of Ontologies Used for Knowledge Sharing - Gruber T. R. 1993, http://www2.umassd.edu/SWAgents/agentdocs/stanford/onto-design.pdf - In Formal Ontology in Conceptual Analysis and Knowledge Representation, edited by Nicola Guarino and Roberto Poli, Kluwer Academic Publishers, in press. Substantial revision of paper presented at the International Workshop on Formal Ontology, March, 1993, Padova, Italy. Available as Technical Report KSL 93-04, Knowledge Systems Laboratory, Stanford University.


Other Pages on this subject


http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm.


http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm.


http://www.cems.uwe.ac.uk/amrc/seeds/softwareengineering.htm.

Wednesday, August 08, 2007

E-Learning Provision using Semantic Web Technologies

It would be useful to build a Semantic Web system for modelling and education mainly in the engineering and science fields. This would involve enabling a Semantic Web modelling infrastructure that could be the basis of future research in learning systems. In order to achieve these aims applications could be invesitgated and reviewed that assist in model building. The system created would also be used to promote engineering to a skeptical public who see the profession as poorly paid and dirty, (House of Lords Select Committee on Science and Technology report science and society), and remote from the public (Canavan et al).


E-Learning Research Area - The aim of this research is to try to bring together the areas of E-Learning, End-User Programming and the Semantic Web. So to achieve this, the area marked in yellow is examined.


E-Learning Research Area - This aim of this research is to try to bring together the areas of E-Learning, End-User Programming and the Semantic Web. So to achieve this, the area marked in yellow is examined.



With the development of technologies under the broad terms of Semantic Web and Web 2.0 there are opportunities to establish a highly interactive web based learning environment. The constructionist approach to understanding problems is to learn about them by modelling them. This approach can be used in combination with research into enabling end user programming techniques for modelling in order to provide an environment for non programmers to model their problems. Visualisation and interaction will provide rapid feedback that gives a powerful representation of the environment to be modelled.


Many people would like to make greater use of computer technology but are hampered by the need to learn programming languages if they are to fully interact with software. Instead they are limited to the use of certain features that are provided for them. A further constraint is the cost of software, and for this project we will develop free software and encourage a community of end-user developers, and modellers.


The aim is to create a software development environment that enables people to customise their own software solution. This is an alternative to provision of software as a finished article that can't be changed. It is intended that the learning software can be customised without requiring programming expertise.


This research will be part of our co-ordinated efforts to enable end-user programming for knowledge management (including e-learning), modelling and decision support, and simulation. Therefore the research proposed in this bid will concentrate mainly on translation for knowledge management and enabling academics and students to create e-learning systems. This is illustrated in the figure below.


End User Programming Diagram - Research Aim - Illustrating need to translate between human and computer and the increase in amount of calculation between domains of knowledge management, decision support and simulation. The increase in complexity is of calculation in the direction from knowledge management to decision support to simulation, and of information in the other direction from simulation to decision support to knowledge management.


The intention is to create an online community that can provide free software for modelling and education. The advantages of open source collaboration are that as well as allowing researchers to co-operate and work together where they share an interest; it will also allow the untapped potential to be developed of those who do not have an official research position. This includes students, people employed outside the academic environment, retired people and amateurs who have useful expertise. Astronomy, for example, has harnessed skills of this very diverse range of people to make new discoveries (Mutchler and Schenk). The expertise provided by anyone involved would be in providing feedback on usefulness, or ease of use of software, as well as actual involvement in software development. This means feedback would be sought from users of software even if they were not software experts. Meetings and forums could be arranged, both for web based and real world participation. Researchers would benefit the community by providing modelling and education tools online and for libraries. This is different from other open source communities in that the software could be easier to use and develop, and so involve those who have not previously been capable of participating in software development.


It is important to provide an alternative way of representing models, which does not require the user to write code. The tool created must make it easy to interact with and change the models, and easy to share information with others. This can also involve use of editing tools such as wikis (Protégé Community Wiki),(Vanguard Software Modelling Wiki), (Visual Knowledge), blogs, and semantic web editors (Amaya),(Quint, V., Vatton, 2004 and 2005) to allow discussion and explanation of the models.


There is an urgent need for Semantic Web tools to illustrate the benefits this technology can provide for education, this paper (EASE: The European Association Semantic Web Education) (Diederich et al) explains this need. There is also a need for education in the use of Semantic Web technologies for industry. Some Semantic Web tools are available, explained by EASE and in the (Jena User Conference) or being developed at present, but they are still difficult for people to make use of as they take a good deal of development expertise. REASE (the repository of EASE for learning units) provides a way to find and create learning materials for industrial applications of Semantic Web technologies.


References


Select Committee on Science and Technology Third Report Chapter 2: Public Attitudes and Values - Attitudes to engineering 2.39 - http://www.publications.parliament.uk/pa/ld199900/ldselect/ldsctech/38/3804.htm.


Canavan B, Magill J, Love D, A Study of the Factors Affecting Perception of Science, Engineering and Technology (SET) in Young People (2002), International Conference on Engineering Education, August 18-21, 2002, Manchester, U.K.


Amaya, 2007. Welcome to Amaya - W3C's Editor/Browser http://www.w3.org/Amaya/.


Diederich, J, Nejdl, W, Tolksdorf R, 2006, EASE: The European Association for SemanticWeb Education, SWET2006 Beijing, China.


Jena User Conference, 2006, Bristol, UK - http://blog.myspace.com/UK%20http://jena.hpl.hp.com/juc2006/proceedings.html - Proceedings (2006).


Mutchler M, Schenk H, Amateur Astronomers and the Hubble Space Telescope - http://www-int.stsci.edu/~mutchler/amateur.html.


Protégé Community Wiki - User Driven Progamming - http://protege.cim3.net/cgi-bin/wiki.pl?UserDrivenProgramming.


Quint, V., Vatton, I., 2004. Techniques for Authoring Complex XML Documents, In: DocEng 2004 - ACM Symposium on Document Engineering Milwaukee October 28-30 http://wam.inrialpes.fr/publications/2004/DocEng2004VQIV.html.


Quint, V., Vatton, I., 2005. Towards Active Web Clients, In: DocEng 2005 - ACM Symposium on Document Engineering Bristol United Kingdom 2-4 November 2005 - http://wam.inrialpes.fr/publications/2004/DocEng2004VQIV.html.


REASE the repository of EASE for learning units http://ubp.l3s.uni-hannover.de/ubp.


Vanguard Software Modelling Wiki - http://wiki.vanguardsw.com/bin/browse.dsb?dir/Engineering/Aerospace/ - Engineering - Aerospace


Visual Knowledge - http://www.visualknowledge.com/ - Semantic Wiki.


My pages on this subject


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


My E-Learning Page is - http://www.cems.uwe.ac.uk/~phale/ELearning.htm.


My Semantic Web Page is - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm.

Friday, August 03, 2007

Drag and Drop Programming

This post examines how drag and drop programming and other forms of interactive software development can assist end-users to program via the web. AJAX (Asynchronous JavaScript And XML) software is used to provide a Web 2.0 style interactive interface. This can be linked to applications and to Semantic Web information.

Lieberman [1] blames end user programming difficulties on hard to understand programming languages and techniques and argues for visualisation and translation to code to enable end-user programming. To make end-user programming easier it is possible to develop high level visualised templates and translate these into program code. The Dagstuhl report [2] argues that existing programming languages are not sufficiently dependable for end-users to reliably use. De Souza [3] argues that the goal of human-computer interaction (HCI) will evolve from making systems easy to use to making systems that are easy to develop. A template system will assist in this. Ko [4] explains that end-user programmers must be allowed to focus on their goals, and an important part of the solution is to visualise the whole program execution not just the output, so it is necessary to show the user the whole program flow not just text based bug reports. A simple illustration of the techniques that can be used to further this research area is a demonstrator for meta-programming of XML (eXtensible Markup Language) based drag and drop trees [5], this example was created with AJAX (Asynchronous JavaScript And XML), a Java applet or Python were other options investigated. The code acts as a translator between the XML representation of the trees and interactive graphical representations. This allows open standards platform independent end-user programming. The example is based on the Scand dhtmlxTree [6] and this makes it possible to enable many other programming actions such as adding and deleting nodes, and to create other controls. Repenning [7] argues that visual programming languages using drag and drop mechanisms as a programming approach make it virtually impossible to create syntactic errors, allowing for concentration on the semantics", and Rosson [8] also advocates this technique. Such techniques could be used with other Semantic Web-based information representations implemented with languages and structures such as XML, RDF (Resource Description Framework), and OWL (Web Ontology Language), and provision of other controls. These controls could then be used as graphical components of a simulation system made available over the web. As well as being used for web-based visual programming an environment such as this could also be employed as an interface to PC based software, or as a translator between systems. Semantic languages provide a higher level declarative view of the problem to be modelled. Coutaz [9] explains that "An interactive system is a graph of models related by mappings and transformations." This would fit in well with the structure of RDF, which is also a graph structure.

It is important to investigate new ways of enabling collaboration between all those involved in software creation and use. The use of Semantic Web languages for declarative programming can ease the translation between different representations of information, and ease interoperability between systems. This translation or 'Program Transformation' allows for writing in one representation or language, and translating to another. This is particularly useful for language independent programming, or for high level and end-user translation to a language more easily interpreted by computer systems. The solution to many interoperability and software problems involves programming with Semantic Web languages rather than just using them for information representation. This will make translation for interoperability easier and more reliable, and further improve the maintainability of software systems. The research will involve using and building a visualised Semantic programming layer on languages such as AspectXML, XForms, SPARQL, and XQuery all explained in [10] and Meta languages [11][12] to create software and to build an environment for high level end-user programming. This programming environment can be used for creating programs and an environment for end-user programming. The environment can be computer language and system independent as one representation can be translated into many computer languages or Meta languages. Tools such as Amaya [13] can be used for creating and editing Semantic Web applications and documents. This research is a test case for an approach of collaborative end-user programming by domain experts. The end-user programmers can use a visual interface where the visualisation of the software exactly matches the structure of the software itself, making translation between user and computer, and vice versa, much more practical.

To enable generic end-user programming functionality it is important to develop ‘information representation languages’ based on Semantic Web declarative programming languages. Standardisation in XML/RDF enables use of declarative rules for web services. This environment also has to provide a visual development interface for end-users in a similar way to that of Unified Modeling Language (UML) for professional developers. Repenning [7] and Engels [14] argue this.

References

1] Lieberman, H., 2007. End-User Software Engineering Position Paper. In: End-User Software Engineering Dagstuhl Seminar - http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1092.
[2] Burnett M M, Engels G, Myers B A, Rothermel G, 2007, End-User Software Engineering Dagstuhl Seminar, http://eusesconsortium.org/docs/dagstuhl_2007.pdf.
[3] De Souza, C., 2007. Designers Need End-User Software Engineering. In: End-User Software Engineering Dagstuhl Seminar.[4] Ko, A. J., 2007. Barriers to Successful End-User Programming. In: End-User Software Engineering Dagstuhl Seminar - http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1083.
[5] Drag and Drop, 2007, http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/components.html.
[6] Scand dhtmlxTree, 2007, http://www.scbr.com/docs/products/dhtmlxTree/index.shtml.
[7] Repenning, A., 2007. End-User Design. In: End-User Software Engineering Dagstuhl Seminar - http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1099.
[8] Rosson, M. B., A., 2007. Position paper for EUSE 2007 at Dagstuhl. In: End-User Software Engineering Dagstuhl Seminar. - http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1094.
[9] Coutaz, J., 2007. Meta-User Interfaces for Ambient Spaces: Can Model-Driven-Engineering Help?. In: End-User Software Engineering Dagstuhl Seminar - http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1082.
[10] Programming with XML, 2007, http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htm#ProgrammingwithXML.
[11] Dmitriev S, 2007, Language Oriented Programming: The Next Programming Paradigm - http://www.onboard.jetbrains.com/is1/articles/04/10/lop/.
[12] Mens K, Michiels I, Wuyts R, 2002, Supporting Software Development through Declaratively Codified Programming Patterns, Expert Systems with Applications Vol 23.
[13] Quint V, Vatton I, 2005, Towards Active Web Clients, DocEng Bristol United - http://wam.inrialpes.fr/publications/2005/DocEng05-Quint.html.
[14] Engels, G., 2007. Model-Driven Development for End-Users, too!? In: End-User Software Engineering Dagstuhl Seminar http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1085.

Other Information -
Drag and Drop Programming - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm#DragandDropProgramming.
Example Interfaces - http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm#ExampleInterfaces.

Saturday, July 28, 2007

Dagstuhl Seminar End-User Software Engineering - Part 4 - Final Part

End-User Software Engineering - Dagstuhl Seminar - Summary - http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=2007081 - PDF Abstracts and links to papers - http://eusesconsortium.org/docs/dagstuhl_2007.pdf - Margaret M. Burnett, Gregor Engels, Brad A. Myers and Gregg Rothermel - From 18.01.07 to 23.02.07

In 'Meta-User Interfaces for Ambient Spaces: Can Model-Driven-Engineering Help?' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1082 Joëlle Coutaz explains how Model Driven Engineering and Service Oriented Architecture can be combined -

"Our approach to UI plasticity brings together MDE (Model Driven Engineering) and SOA (Service Oriented Architecture) within a unified framework that covers both the development stage and the runtime phase of interactive systems."

Coutaz also explains that -

"An interactive system is a graph of models related by mappings and transformations."

This would fit in well with the structure of RDF (Resource Description Framework) a Semantic Web standard which is also a graph structure.

In 'Model-Driven Development for End-Users, too!?' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1085 Gregor Engels of University of Paderborn explains that UML (Unified Modeling Language) should be extended to allow development of user interfaces in order to assist end-users to program -

"The UML is strong in modelling the internal functionality of a software system, but weak in modelling user interface aspects of a system. Thus, with respect to the well-known MVC (Model-View-Controller) pattern, the UML supports the Model aspect, while neglecting the View and Controller aspect."

In 'Position Paper for Dagstuhl 2007 EUSE Workshop' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1094 Mary Beth Rosson of Pennsylvania State University explains their development of a drag and drop interface for web based visual programming.

In 'Rethinking the Software Life Cycle: About the Interlace of Different Design and Development Activities' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1084 Yvonne Dittrich of University of Copenhagen argues that more research is needed into the software lifecycle and methods and tools needed for end-user developers, especially when they are collaborating. These end-users often need to adjust old software for new purposes.

In 'Software environments for supporting End-User Development' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1081 Maria Francesca Costabile, Antonio Piccinno also explain that new methodologies and environments are required for supporting end-user collaborative development.

In 'What is an End-User Software Engineer?' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1080 Steven Clarke of Microsoft examines the characteristics of end-user developers in order to assist with meeting their needs.


My home page is http://www.cems.uwe.ac.uk/~phale/.

I have a page on End-User Programming at http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.

Friday, July 27, 2007

Dagstuhl Seminar End-User Software Engineering - Part 3

End-User Software Engineering - Dagstuhl Seminar - Summary - http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=2007081 - PDF Abstracts and links to papers - http://eusesconsortium.org/docs/dagstuhl_2007.pdf - Margaret M. Burnett, Gregor Engels, Brad A. Myers and Gregg Rothermel - From 18.01.07 to 23.02.07

In 'Exploiting Domain-Specific Structures For End-User Programming Support Tools' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1086 Robin Abraham and Martin Erwig of Oregon State University integrate spreadsheet modelling into the UML modelling process.

In 'Interdisciplinary Design Research for End-User Software Engineering' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1078 Alan Blackwell explains the need for interdisciplinary research on the end-user programming problem to identify techniques within software engineering that can assist with this problem.

In 'Meta-Design: A Conceptual Framework for End-User Software Engineering' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1087 Gerhard Fischer of University of Colorado, Center for LifeLong Learning and Design (L3D) explains the concept of Meta-Design -

"Meta-design is an emerging conceptual framework aimed at defining and creating social and technical infrastructures in which new forms of collaborative design can take place. It extends the traditional notion of system design beyond the original development of a system. It is grounded in the basic assumption that future uses and problems cannot be completely anticipated at design time, when a system is developed."

Fischer also explains that it is the mismatches between their needs and the software support that enables new understandings.

Fischer argues the need for allowing end-users to design software -

"A great amount of new media is designed to see humans only as consumers. The importance of meta-design rests on the fundamental belief that humans (not all of them, not at all times, not in all contexts) want to be and act as designers in personally meaningful activities. Meta-design encourages users to be actively engaged in generating creative extensions to the artifacts given to them and has the potential to break down the strict counterproductive barriers between consumers and designers."

Fischer also argues that software development can never be completely delegated to software professionals because domain experts are the only people that fully understand the domain specific tasks that must be performed.

He puts forward a hypothesis that this emphasis on end-user development also changes the emphasis on testing -

"Software testing is conducted differently. Because domain expert developers themselves are the primary users, complete testing is not as important as in the case when the developers are not the users."

He also argues for an approach to enabling end-user programming possible that makes it interesting to end-users -

"Many times the problem is not that programming is difficult, but that it is boring (as we were told by an artist). Highly creative owners of problems struggle and learn tools that are useful to them, rather than believing in the alternative of "ease-of-use," which limits them to preprogrammed features."


My home page is http://www.cems.uwe.ac.uk/~phale/.

I have a page on End-User Programming at http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.

Thursday, July 26, 2007

Dagstuhl Seminar End-User Software Engineering - Part 2

End-User Software Engineering - Dagstuhl Seminar - Summary - http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=2007081 - PDF Abstracts and links to papers - http://eusesconsortium.org/docs/dagstuhl_2007.pdf - Margaret M. Burnett, Gregor Engels, Brad A. Myers and Gregg Rothermel - From 18.01.07 to 23.02.07, the Dagstuhl Seminar 07081 End-User Software Engineering was held in the International Conference and Research Center (IBFI), Schloss Dagstuhl. During the seminar, several participants presented their current research, and ongoing work and open problems were discussed.

I have been reading this abstracts paper from the Dagstuhl Seminar End-User Software Engineering and it has lots of interesting points to make.

In 'End-User Design' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1099 Professor Alexander Repenning of University of Lugano explains the need for enhancements to UML (Unified Modeling Language) to aid end-user programming.

He makes the point that

"Visual programming languages using drag and drop mechanisms as programming approach make it virtually impossible to create syntactic errors."

So -

"With the syntactic challenge being – more or less – out of the way we can focus on the semantic level of end-user programming."

In 'End-User Development Techniques for Enterprise Resource Planning Software Systems' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1097 Michael Spahn, Stefan Scheidl, and Todor Stoitsev explain SAP research into End-User Programming, they explain -

"End-users of ERP systems are domain experts but not necessarily IT professionals, limiting their ability to adapt the software by themselves to their own needs and forcing them to indirectly influence the adaptation processes by communicating their needs to IT professionals. Empowering the end-users to adapt the software by themselves is an important step in reducing customization costs and enabling high-quality tailoring of software and working environments to the needs of modern information and knowledge workers."

They explain that users must be empowered to explore, process, and analyse information in a user friendly way, and create and adapt reports and queries. An abstraction layer should ease this by hiding technical details to allow for concentrating on business needs.

In 'End-User Software Engineering and Professional End-User Developers' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1095 Judith Segal of the Open University examines issues and problems in Professional end-user development, the author explains -

"These developers are distinguished from other end-user developers in two ways. The first is that, consistent with their being familiar with formal notations and logical scientific reasoning, they tend to have few problems with coding per se. The second is that, as a class, they have a history of developing their own software which long predates the advent of the PC."

In 'End-User Software Engineering Position Paper' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1092 by Henry Lieberman of MIT Media Laboratory he asks -

"Why is it so much harder to program a computer than simply to use a computer application? I can't think of any good reason why this is so; we just happen to have a tradition of arcane programming languages and mystically complex software development techniques. We can do much better."

He goes on to explain -

"HCI has amassed an enormous body of knowledge about what makes interfaces easy to use, and this has been applied widely to many computer applications for end users. Oddly, little of this has been applied to making interfaces for programming easier to use. Non-experts tend to believe that programmers practice a kind of voodoo, perceived to be naturally arcane and mysterious. Since they can handle it so well, programmers aren't perceived as needing ease of use. But we all pay the price for this misconception."

Lieberman explains the goal of this research -

"Finally, as much as is possible, we should make this process as automatic as we can, though the use of program transformation, dependency maintenance, automated reasoning, mixed-initiative interfaces, visualization, and machine learning. Otherwise, I think it will be too much overhead for a non-expert user themselves to keep track of the myriad facets that software development entails. If we succeed in this, people will become End-User Software Engineers without their even realizing it."


My home page is http://www.cems.uwe.ac.uk/~phale/.

I have a page on End-User Programming at http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.

Wednesday, July 25, 2007

Dagstuhl Seminar End-User Software Engineering - Part 1

End-User Software Engineering - Dagstuhl Seminar - Summary - http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=2007081 - PDF Abstracts and links to papers - http://eusesconsortium.org/docs/dagstuhl_2007.pdf - Margaret M. Burnett, Gregor Engels, Brad A. Myers and Gregg Rothermel - From 18.01.07 to 23.02.07, the Dagstuhl Seminar 07081 End-User Software Engineering was held in the International Conference and Research Center (IBFI), Schloss Dagstuhl. During the seminar, several participants presented their current research, and ongoing work and open problems were discussed.

I have been reading this abstracts paper from the Dagstuhl Seminar End-User Software Engineering and it has lots of interesting points to make.

In the introduction the report http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1098 states - "The number of end users creating software is far larger than the number of professional programmers. These end users are using various languages and programming systems to create software in forms such as spreadsheets, dynamic web applications, and scientific simulations. This software needs to be sufficiently dependable, but substantial evidence suggests that it is not."

This is a good point, and can be related to a point in 'Barriers to Successful End-User Programming' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1091 by Andrew Ko http://www.cs.cmu.edu/~ajko Carnegie Mellon University about end-user programmers

"Some of them are scientists, some are artists, others are educators and other types of professionals. One thing that all of these people have in common is that their goals are entirely unrelated to producing code."

Andrew Ko explains how this causes a problem -

"the fact that end-user programmers are motivated by their domain and not by the merits of producing high-quality, dependable code, means that most of the barriers that end users encounter in the process of writing a program are perceived as distractions. This is despite the fact that such barriers can represent fundamental problems in end-users' program's or their understanding of how to use a programming language effectively."

the problem is -

"how can tools help end-user programmers' improve their programs' dependability, while allowing them to remain focused on their goals, rather than their code?"

An important part of the solution is to visualise the whole program execution not just the output. Andrew Ko states -

"when a user was trying to diagnose their program's failure, they had to base their hypothesis of what caused the failure just on what they could see in the program's output, rather than on information about the program's execution. In many of these situations, users premature decisions led to errors."

A further problem is that of programs which were intended to be temporary and owned by a particular person becoming central to a company, this often happens with spreadsheets. Ko explains -

"We frequently hear anecdotes about how a one-off excel spreadsheet meant to be temporary became the centerpiece of some accounting logic. How often do such organizational dependencies occur, and how important do such program's become? What can tools do to help the future owners of these programs learn about the program's history and design?"

Mark D Gross explains Carnegie Mellon University work involving end-user programming by designers using diagrams and scratchpads in "Designers Need End User Software Engineering" http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1090.

In "End User Programming for Scientists: Modelling Complex Systems" http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1077 Andrew Begel of Microsoft Research explains -

"Model creation cannot be turned over to a programmer-for-hire without causing the model to become a black box. In order to ensure the validity of the model and stand behind its experimental results, the scientist must be intimately knowledgeable about its innards as well as its outward behaviors."

Text based Computer languages are often too obscure for end-user programmers, Bagel explains -

"Learning a text-based programming language is difficult for novices who want to be programmers. In the first few weeks of learning a language, syntax rules are often the most difficult to comprehend, with semantics interleaved. Non-programmers face these problems, in addition to lacking an engineering mindset to help form mental models of how they want to make the computer do what they want."

In 'End-user (further) development: A case for negotiated semiotic engineering' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1083 Clarisse Sieckenius de Souza of Departamento de Informática, PUC-Rio makes the Quote Liberman et al -

"We think that over the next few years, the goal of human-computer interaction (HCI) will evolve from just making system easy to use (even though that goal has not yet been completely achieved) to making systems that are easy to develop"

From

Lieberman, H.; Parternò, F.; Klann, M.; Wulf, V. (2006) End-user development: An emerging paradigm. In End-User Development (Lieberman, Paternò and Wulf, Eds.). Springer. p. 1.

My home page is http://www.cems.uwe.ac.uk/~phale/.

I have a page on End-User Programming at http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.

Monday, July 23, 2007

User Driven Modelling - Detailed Explanation - Part 5 - Conclusion

Comparison of the approach of developing decision support models using a spreadsheet, to the approach of User Driven Modelling, with open standards languages.

I compared the approach of developing decision support models using a spreadsheet, for design and costing, to the approach of User Driven Modelling, with open standards languages, and a web interface for this purpose. I conclude that the use of spreadsheets for this purpose is beset by problems. These relate to Maintenance, Extensibility, Ease of Use, and Sharing of Information.

But an alternative is required so modellers can continue their work without having to rely on software developers. The alternative approach involves development of a system, where a model builder, via visual editing of library taxonomies can undertake maintenance and extension of information. As yet a prototype only has been created for this, and a great deal more work is required to finalise the structure for the holding of this information, and agree standards for terminology. Also I need to provide more validation of user input.
However dealing with this proof of concept has indicated to us that it is far easier to maintain, search and share information using this approach than it is using spreadsheets. The ability to visualise, search and share the information using structured languages and web-pages, is a huge advantage, and allows us to create dynamic image views and decision support models over the web.

Home Page - http://www.cems.uwe.ac.uk/~phale/.
End User Programming - http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.
Semantic Web Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm.

Friday, July 20, 2007

User Driven Modelling - Detailed Explanation - Part 4 - Translation

For this research the focus is on combining the development of dynamic software created in response to user actions, with object oriented, rule based and semantic web techniques. This helps solve problems of mismatch of data between object oriented and relational database systems identified by Ambler [1]. The information is highly structured. Visualisation of this structure in order to represent the relationship between things clarifies the semantics. The meaning can be seen not just by the name of each item but also by the relationship of other items to it. It is envisaged that this taxonomy will provide a design costing capability, but the taxonomy and the techniques used to put it together could be re-used for other purposes. Eventually this taxonomy could become part of an overall ontology. At first this would be a light-weight ontology and this could be evaluated for usefulness before deciding on whether it would need to be more structured. Hunter [2] evaluates engineering ontologies and gives examples. Issues involved in visualisation of light weight ontologies are examined by Fluit et al. [3]. An important reason for creation of an open standards central ontology is that it can be accessed by many different applications. The open standard OWL (Web Ontology Language) is explained by Bechhofer and Carroll [4]. Research of others in this field have been investigated Corcho and Gómez-Pérez [5] and Corcho et al. [6], Noy [7].

The approach involves adapting or creating software systems to provide the visual editor for the source tree, and model builders would create a model by editing this. By doing so they would create a generic model for a particular modelling subject. This is enabled by provision of translation software to translate the taxonomy into a decision support and modelling system. The model users could then use this decision support and modelling system to create their models. These models are a more specific subset of the generic model, and could be applied for their own analyses. Current research is on provision of a translation mechanism to convert information or models into other languages (primarily web based), and to visualise this information. This mechanism has been used in projects with two major aerospace companies. Examples of this are shown later in the article.

The alternative approach involves creation of an elaborator that can output code, in various computer languages or a Meta-programming syntax such as metaL [8] or Simkin [9]. The elaborator needs only a few pieces of information. All information other than that dependant on user interaction, including the names of each node and its relationships to other nodes, needs to be held in a standardised data structure, e.g. a database or structured text file(s). A visual interface to this ontology is required so that model builders can maintain and extend it.
Each node (elaborator) needs to be provided with the following pieces of information -

1) A trigger sent as a result of user action. This is a variable containing a list of value(s) dependant on decisions or requests made by the user the last time the user took action. Each time the user makes a request or a decision, this causes the production of a tree or branch to represent this. This trigger variable is passed around the tree or branch as it is created. The interface to enable this is connected to and reads from the ontology.

2) Knowledge of the relationship between this node and its' immediate siblings e.g. parents, children, attributes. So the elaborator knows which other elaborators to send information to, or receive from.

3) Ability to read equations. These would be mathematical descriptions of a calculation that contains terms that are items in the ontology. The equation would be contained within an attribute of a class, e.g. The class Material Cost would have an attribute Material Cost Calculation that holds an equation.

4) Basic rules of syntax for the language of the code to be output.
The way the elaborator finds the information held in 2 and 3 is dependent on the action that is taken in 1. Thus, if a suitable ontology is created the basis of the rules of construction of the code to be created are defined 4, and the user has made choices, the user needs to take no further action and just wait for the necessary code to be output.

The translation mechanism is illustrated on my web site http://www.cems.uwe.ac.uk/~phale/ using a simple example - http://www.cems.uwe.ac.uk/~phale/RectangleDemo/RectangleDemo.viewlet/RectangleDemo_launcher.html.

References

1 Ambler, S. W. (2003). The Object-Relational Impedance Mismatch, http://www.agiledata.org/essays/impedanceMismatch.html.
2 Hunter, A. (2002). Engineering Ontologies, http://www.cs.ucl.ac.uk/staff/a.hunter/tradepress/eng.html.
3 Fluit, C., Marta S., Harmelen F. V. (2003). Supporting User Tasks through Visualisation of Light-weight Ontologies, http://www.cs.vu.nl/~frankh/abstracts/OntoHandbook03Viz.html.
4 Bechhofer, S. and Carrol, J. (2004). Parsing owl dl: trees or triples?, Proceedings of the 13th international conference on World Wide Web, NY, USA: 266 - 275.
5 Corcho, O. and Gómez-Pérez, A. (2000). A Roadmap to Ontology Specification Languages, Proceedings of the 12th International Conference on Knowledge Engineering and Knowledge Management, Chicago, USA.
6 Corcho, O., Fernández-López, M., Gómez-Pérez, A. (2003). Methodologies, Tools and Languages For Building Ontologies. Where is their Meeting Point?, Data and Knowledge Engineering, 46: 41-64.
7 Noy, N.F. (2004). Semantic Integration: A Survey Of Ontology-Based Approaches. SIGMOD Record, Special Issue on Semantic Integration, 33 (4).
8 Lemos, M. (2006). MetaL: An XML based Meta-Programming language, http://www.meta-language.net/.
9 Simkin. (2006). A high-level lightweight embeddable scripting language which works with Java or C++ and XML, http://www.simkin.co.uk/.