Sunday, January 27, 2008

Usability and Reuse in software design

This is a very useful and informative extract from a usability conference presentation and examines how reusability can be provided in systems, the reference for this is below the post.

Degler (2006) asks the Questions –

"Have you had insights and observations that go beyond the scope of a particular system or site you are working on?

Have you seen the same user needs and challenges cropping up on three or four projects, and realized that you are seeing a pattern?

Have you worked on standards for design and development of web sites or information that need to be applied across many different projects and services?

Have you become involved in conversations with managers where you have the opportunity to share how "things could be better" for users overall, beyond the boundaries of a single site?"

This illustrates how to create and test a User Driven Modelling approach, the intention of this approach is to create a high level abstraction that can be reused to solve many problems with a common pattern.

Degler, D., 2006. The Usability Professional as Visionary / Strategist. In: UPA DC usability conference, October 2006. http://www.ipgems.com/present/degler_visiontalk_upadc2006.pdf.

Saturday, January 19, 2008

Web Taxonomy Creation 2


To achieve the aims of Web Taxonomy Creation examined in my last post, a collaborative modelling approach is required. The literature on collaborative modelling is extensive. Huhns [1] and Paternò [2] both explain that alternatives to current software development approaches are required for ease of model creation. The need is to translate from a model-based visual representation understood by users to software. This makes it possible to engage with end-users and non-specialists in general. Johnson [3] explains that successful interaction requires mapping between levels of abstractions and that translation between these abstraction levels required by people and computers is difficult. Johnson explains that this problem often means systems are created that make users cope with the problems of mis-translation. The representation of rules and information can be illustrated diagrammatically and it is possible to describe algorithms through concrete examples rather than abstractly. Models must be designed and visualised so that they convey to users a representation of a problem that assists with their vision of it. This modelling approach is explored by Crapo et al [4] and is the basis of our visualisation techniques allowing the creation and understanding of taxonomies and models.

Scaffidi et al [5] show that most people who develop software are de-facto programmers lacking a formal computing background, this will often be the case for scientists and the public contributing to taxonomies. End-user programming is particularly important in this research as we are making software development accessible to non-experts. Research by Ko [6] explains the need for engagement of end-users, including non-specialists by providing them with the capability to interact and amend software. An e-science interactive environment is ideal for involving anyone interested in science to amend or produce personal content. The environment will benefit from an interactive e-learning approach influenced by 'Semantic Learning Webs' [7]. The capabilities we will provide over the web are similar, but more collaborative and advanced than provided by spreadsheets for modelling, and web editors for knowledge sharing. We will produce an alternative methodology for scientific modelling that hides the complexity of low-level programming code from users. This is a kind of meta-design, as explained by Fischer [8] that can be standardised to create a collaborative environment for sharing information among scientists. This builds on research we have undertaken to enable end-user programming. We will visualise scientific information and make this editable online. The system created must be judged accessible and user friendly by users. In addition, it must share information successfully with other software and people. So interoperability is extremely important, examples of interoperability research we will make use of are INTEROP [9] and MOMOCS [10], and combine this with a model driven approach. In order to achieve interoperability, the utilisation of open formats should be favoured in order to maximise chances of forward compatibility with evolving scientific models. We will also create or customise editing tools such as wikis [11][12], blogs, and Semantic Web editors [13] to document the models and collect user's feedback. We will visualise scientific information and make this available online.

Web Taxonomy Creation -

http://userdrivenmodelling.blogspot.com/2008/01/web-taxonomy-creation.html.


References


[1] Huhns M, 2001, Interaction-Oriented Software Development, Journal of Software Engineering and Knowledge Engineering.


[2] Paternò F, 2005, Model-based tools for pervasive usability, Interacting with Computers Vol 17(3), pp 291-315.


[3] Johnson P, 2004, Interactions, Collaborations and breakdowns, ACM International Conference Proceeding Series, 3rd annual conference on Task models and diagrams Vol 86.


[4] Crapo A W, Waisel L B, Wallace W A, Willemain T R, 2002, Visualization and Modelling for Intelligent Systems, Intelligent Systems: Technology and Applications, 1, pp 53-85.


[5] Scaffidi C, Shaw M, Myers B, 2005. Estimating the Numbers of End Users and End User Programmers. IEEE Symposium on Visual Languages and Human-Centric Computing, 21-24 September, Dallas, USA.


[6] Ko A J, 2007. Barriers to Successful End-User Programming. End-User Software Engineering Dagstuhl Seminar.


[7] Stutt A, Motta E, 2004. Semantic Learning Webs. Journal of Interactive Media in Education, 2004(10), Special Issue on the Educational Semantic Web.


[8] Fischer G, 2007. Meta-Design: A Conceptual Framework for End-User Software Engineering. End-User Software Engineering Dagstuhl Seminar.


[9] INTEROP -

http://interop-vlab.eu/newsletter/newsletter-nb02/

[10] MOMOCS - MOdel driven MOdernisation of Complex Systems -

http://www.viewzone.org/momocs/index.php?option=com_content&task=blogcategory&id=20&Itemid=17

[11] Hale P, 2007. Protégé Wiki

http://protege.cim3.net/cgi-bin/wiki.pl?UserDrivenProgramming

[Accessed 29 Nov 2007].


[12] Visual Knowledge, 2007. Semantic Wiki

http://www.visualknowledge.com [Accessed 29 Nov 2007].

[13] Quint V, Vatton I, 2005. Towards Active Web Clients. DocEng Bristol United.

Sunday, January 13, 2008

Web Taxonomy Creation

An important contribution to Public Understanding of Science and for enabling of new insights would be creation of an online systematic representation of scientific information that gives a holistic view of related knowledge. This would reuse information and ideas provided by other researchers. These systems organise and visualise information. Letondal [1] of the Pasteur Institute provides a tool to generate web interfaces for molecular biology programs using an end-user programming approach. TreeBASE [2] is a relational database of phylogenetic information hosted by the Yale Peabody museum. Hughes [3] of the Computational Biology Unit (CBU) University of Bergen has investigated visualisation of phylogenetic trees and written an application that converts the NCBI (National Center for Biotechnology Information) [4] taxonomic data into a format that makes it possible to visualise the whole of the NCBI tree of life. Klyne [5] of the Image Bioinformatics Research Group, Zoology Department, Oxford University makes use of Semantic Web technology to build an image publication repository. UK Moths [6] online guide to the moths of Great Britain and Ireland illustrates the role of amateurs who send in pictures to be categorised. Mammals Family tree [7] provides an innovative way of visualising complex trees as a taxonomy on a wheel, this is a technique which could be developed as an interactive visualization. Fishbase [8] is a web accessible and searchable resource for accessing fish information by various categories. IHOP (Information hyperlinked over Proteins) by Hoffman [9] provides a gene network for navigating more than ten million abstracts in PubMed [4]. By using genes and proteins as hyperlinks between sentences and abstracts, this converts the information in PubMed into one navigable resource. Proviision of 3D hyperbolic representations of trees is investigates by Hughes et al [10]. This capability could be provided on the web using Semantic Web Technologies [11] [12] and this would enable others to edit and interact with these represenatations.

Web Taxonomy Creation - http://userdrivenmodelling.blogspot.com/2008/01/web-taxonomy-creation.html


References

[1] Letondal C. - http://www.pasteur.fr/~letondal/ - Pasteur Institute, Computing Center.
[2] TreeBASE - http://www.treebase.org/treebase/index.html - a Database of Phylogenetic Knowledge.
[3] Hughes T. Phylogenetic tree visualisation - Tim's Home Page - http://www.ii.uib.no/~tim/frontPages/treesPage.shtml.
[4] Wheeler DL, Chappey C, Lash AE, Leipe DD, Madden TL, Schuler GD, Tatusova TA, Rapp BA (2000). Database resources of the National Center for Biotechnology Information. Nucleic Acids Res 2000 Jan 1;28(1):10-4
[5] Klyne G, 2007, Building a Semantic Web accessible image publication repository - http://imageweb.zoo.ox.ac.uk/drupal/files/20071002-SWeb-applications.pdf - Image Bioinformatics Research Group - Zoology Department - Oxford University.
[6] UKMoths - http://www.ukmoths.org.uk/ - Welcome to UKMoths, your online guide to the moths of Great Britain and Ireland.
[7] Mammals family tree - Use zoom tool to see mammal details on the circle's edge - http://news.bbc.co.uk/1/hi/sci/tech/6503045.stm - BBC News Science - Mammal rise 'not linked' to dinos - PDF Family tree visualisation.
[8] Fishbase - http://www.fishbase.org/search.php.
[9] Hoffman R, Information hyperlinked over Proteins - http://www.ihop-net.org/UniPub/iHOP/ - A gene network for navigating the literature.
[10] Hughes T, Hyun Y and Liberles, 2004. Visualising very large phylogenetic trees in three dimensional hyperbolic space. DA. BMC Bioinformatics. BMC Bioinformatics Apr 29;5:48.
[11] Eklund P, Roberts N, Green S, 2002. OntoRama: Browsing RDF Ontologies using a Hyperbolic-style Browser, The First International Symposium on Cyber Worlds, CW02, Theory and Practices, IEEE Press. (2002) pp 405-411.
[12] Talis Engage - http://www.talis.com/engage/ - Community information at your fingertips - an online community information solution that allows citizens to organise, create and publish details of their events, organisations and groups.

Wednesday, January 09, 2008

Code Generation 2008 conference

Code Generation 2008 - http://www.codegeneration.net/conference/index.php - 25th-28th June 2008 - Cambridge, UK - A growing number of developers are using or planning to use model-based code generation - are you ready for the next evolutionary step in software? - WHO'S CG2008 FOR? - CG2008 is for software practitioners and those with a stake in the future of their development organisation.

Final Call for Speakers:
Submission Deadline: Friday January 18th 2008

We are seeking high-quality session proposals covering topics on
model-driven software development (including Software Factories,
Model-Driven Architecture (MDA), Domain-Specific Languages (DSLs),
Generative Programming, Software Product Lines and related areas).

Sessions could cover topics such as:
- Code Generation and Model Transformation tools and approaches
- Defining and implementing modelling languages
- Domain Analysis and Domain Engineering
- Language evolution and modularization
- Meta Modelling
- Runtime virtual machines versus direct code generation
- Tool and technology adoption

Real-world case studies based on any aspect of these and related
approaches are particularly encouraged although more theoretical
sessions are also welcome.

Accepted speakers have their conference fees waived. We will also be
offering a discount on conference fees to non-speaking academic
participants. More information will be available when the programme goes
online on 25th February.

Visit
http://www.codegeneration.net/conference/index.php for more
details on the event or contact me for more information.

What people said about our previous conference - Code Generation 2007:

"I've been working in domain-specific modelling for a dozen years ...
and in this time this has been the highest-quality conference on this
topic that I've been to - and I've been to a few."

"The combined-for that matter, individual-expertise present was
remarkable, and presented a tremendous opportunity for knowledge exchange."

"The presentations were all top quality, making it often difficult to
decide between the concurrently running sessions. The wealth of MDD
knowledge present and the event was impressive, not only from the
presenters, but from the other delegates as well."

Best wishes for a happy and successful 2008.


I have an Events page at which has mainly computing and aerospace events listed and linked to - http://www.cems.uwe.ac.uk/~phale/Events.htm.

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.