End-User Programming Using the Semantic Web
By Peter Hale
This article outlines future research that is required for the advancement of representation, search, and visualization of information, and at recent and future developments in the use and representation of taxonomies and ontologies, and visualization tools that can aid in their use. Berners-Lee et al (2006) explain the importance of visualization 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 visualize and navigate the huge connected graph of information that results."
A new approach is required to software creation. This approach should involve developers creating software systems that enable users to perform high level programming, and model the problem for which they are the experts. This is an alternative to the provision by developers of modelling solutions that try to provide an out of the box solution that just needs 'tweaking'. Such an out of the box system is impractical considering both increases in complexity of manufactured products, and of software systems themselves. Cheung (2005) writes "there is no single management tool or data exchange format that can satisfy all requirements and overcome all the obstacles involved within a collaborative product development environment". People like to work on their own solutions providing they are computer literate and confident they have domain knowledge that the developers do not possess. Research cited here from others involved in end-user programming seems to confirm this.
Research in the use and visualization of Semantic Web information provides the tools that end-user programmers have been lacking until recently. Cheung (2005) explains that "With the development of user-friendly ontology editing software and automatic data exchange functions, the application of ontological approaches to exchange information across the WWW is most likely to be an essential aspect of the next generation of global knowledge management tools.
Horrocks (2002) explains the advantages of moving towards a more formal ontology. This can provide for a new way of enabling end-user programming - with the user editing interactive diagrams. In terms of automated model generation, 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 one of the standard OWL dialects. Protégé has OWL plug-ins available that provide this functionality, together with links to 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 visualization 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 the visualization tools must assist the user 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. An important new development is SWRL a Semantic Web Rule Language Combining OWL and RuleML and its use in modelling. This could be of use 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, 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. Support for SWRL in Protégé (Miller and Baramidze, 2005) will assist with the construction of a modelling system with sophisticated editing of rules.
A future task to be undertaken would be the inclusion of uncertainty in the 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 representation of mathematical expressions that relate nodes, and their values and expressions, to each other. Constraints could then be added 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.
It would be interesting and useful to create an environment where people could use example models and evaluate their usability and usefulness. This could follow a similar model to that used for the development of open source software or collaborations such as Wikipedia (2007), and the Semantic Web Environmental directory SWED (2006). Testing of usability for collaboration is complex and (Johnson et al, 2003) explain how this requires interdisciplinary expertise from several fields. Semantic Web research also requires an interdisciplinary approach as explained by Berners-Lee et al "Understanding and fostering the growth of the World Wide Web, both in engineering and societal terms, will require the development of a new interdisciplinary field." A project such as this can bring together people with diverse backgrounds, interests and expertise. Cheung et al (2007) make the point that open source development can avoid vendor lock-in, eliminate unnecessary complexity, give freedom to modify applications, and provide platform and application independence. Johnson (2004) has developed more sophisticated ways of understanding and providing for complex human activity and testing the success of this.
It could be possible to extend the semantics used in the specification of models to allow the creation of a framework for simulations. Lacy and Gerber (2004) examine how OWL can be used to aid modelling and simulation. Because the ontology uses open standards, these simulations could be made broadly available on the web. It is important that the necessary infrastructure is created to allow this facility to be added. The approaches of others to this problem have been examined. Page (1998), Page et al (2000) and Page and Opper (2000) examine the nature of web-based simulations. Miller et al (2001) explain the technology behind web-based simulations, and argue the need for demonstrating the application of web-based simulations for major projects. Fishwick and Miller (2004) examine the use of ontologies for modelling and simulation. The authors were involved in the RUBE project that developed a system for battle simulations, illustrated in Fishwick and Miller (2004). The RUBE project uses open standards and Protégé for the ontology, and outputs some code automatically. Kuljis and Paul (2001) evaluate progress in this field of web simulation. They argue the need for web-based simulations to be focussed on solving real-world problems in order to be successful. Kim et al (2002) explain how techniques of generating executable code from documents specified in standardised XML can be used to create simulations.
Reed et al (2000) examine possibilities for improving the aircraft design process with web-based modelling and simulation. Simulations could also be used for optimization and Chen and Yücesan (2001) investigate this. So web based simulation is an area of research worth exploring. The use of process models can allow accurate manufacturing times to be generated. This requires dynamic models of factories, cells and processes. Also it is necessary for users of a system to be able to gather information from various computer systems such as databases and spreadsheets. There is a conflict between the aim to develop an ideal representation of knowledge using an ontology editor, and the practical need to edit the data in the database or application it is currently held in. The research examined has undertaken so far, prototypes ways of creating information and of finding it. Other researchers such as Aragones et al, (2006) and Crapo et al (2000) and (2002) have also investigated this problem.
Shim et al (2006) discuss user interface issues for this kind of problem, they investigate techniques for "powerful, yet simple user interface designs that enable interactive queries, reporting, and graphing functions". They also examine end user computing history - "The evolution of the human–computer interface is the evolution of computing. The graphical user interface (GUI) that was refined at Xerox, popularized by Macintosh, and later incorporated into Windows". Recent developments in the use of Meta languages for platform independence should make the development of end-user programming quicker and easier. Bishop (2006) explains current problems "The current practice is for GUIs to be specified by creating objects, calling methods to place them in the correct places in a window, and then linking them to code that will process any actions required. If hand-coded, such a process is tedious and error-prone; if a builder or designer program is used, hundreds of lines of code are generated and incorporated into one's program, often labeled 'do not touch'. Either approach violates the software engineering principles of efficiency and maintainability." The author investigates, evaluates and advocates the use of platform independent programming languages.
The solution to these 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.
Aragones, A., Bruno, J., Crapo, A., Garbiras M., 2006. An Ontology-Based Architecture for Adaptive Work-Centered User Interface Technology. In: Jena User Conference, 2006, Bristol, UK.
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.
Bishop, J., 2006. Multi-platform user interface construction: a challenge for software engineering-in-the-small. In: International Conference on Software Engineering, Proceeding of the 28th international conference on Software engineering pp 751-760.
Chen, C.-H., Yücesan, E., 2001. Distributed Web-Based Simulation Experiments For Optimization. Journal of Simulation Practice and Theory, 9, pp 73-90.
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.
Cheung, W. M., Matthews, P. C., Gao, J. X., Maropoulos, P. G., 2007. Advanced product development integration architecture: an out-of-box solution to support distributed production networks. International Journal of Production Research March 2007.
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.
Crapo, A. W., Waisel, L. B., Wallace, W. A., Willemain, T. R., 2002. Visualization and Modelling for Intelligent Systems. In: C. T. Leondes, ed. Intelligent Systems: Technology and Applications, Volume I Implementation Techniques, 2002 pp 53-85.
Crapo, A. W., Waisel, L. B., Wallace, W. A., Willemain, T. R., 2000. Visualization and the process of modeling: a cognitive-theoretic view. In: Conference on Knowledge Discovery in Data - Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining pp 218-226.
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.
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.
Ernst, N. A., Storey, M., Allen, P., Musen, M., 2003. Addressing cognitive issues in knowledge engineering with Jambalaya. In: Workshop on Visualization in Knowledge Engineering at KCAP http://www.neilernst.net/docs/pubs/ernst-kcap03.pdf.
Fishwick, P. A., Miller, J. A., 2004. Ontologies for Modeling and Simulation: Issues and Approaches. In: Proceedings of the 2004 Winter Simulation Conference, Orlando, Fla, pp 259-264.
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.
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.
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.
Johnson, P., 2004. Interactions, Collaborations and breakdowns. In: ACM International Conference Proceeding Series; Proceedings of the 3rd annual conference on Task models and diagrams Vol 86 Prague, Czech Republic.
Johnson, P., May, J., Johnson, H., 2003. Introduction to Multiple Collaborative Tasks. In: ACM Transactions on Computer-Human Interaction (TOCHI), Volume 10 (4) December 2003 pp 277-280.
Kim, T., Lee, T., Fishwick, P., 2002. A Two Stage Modeling and Simulation Process for Web-Based Modeling and Simulation. ACM Transactions on Modeling and Computer Simulation, 12(3), 230-248.
Kuljis, J., Paul, R. J., 2001. An appraisal of web-based simulation: whither we wander?. Simulation Practice and Theory, 9, pp 37-54.
Lacy, L., Gerber, W., 2004, Potential Modeling and Simulation Applications of the Web Ontology Language - OWL. Proceedings of the 2004 Winter Simulation Conference pp265-270.
Miller, J. A., Baramidze, G., 2005. Simulation and the Semantic Web. In. Proceedings of the 2005 Winter Simulation Conference.
Miller, J., Fishwick, P. A., Taylor, S. J. E., Benjamin, P., Szymanski, B., 2001. Research and commercial opportunities in Web-Based Simulation. Simulation Practice and Theory, 9, pp 55-72.
Page, E. H., Buss, A., Fishwick, P. A., Healy, K. J., Nance, R. E., Paul, R. J., 2000. Web-Based Simulation: Revolution or Evolution?. ACM Transactions on Modeling and Computer Simulation, 10(1), pp 3-17.
Page, E. H., Opper, J. M., 2000. Investigating the application of web-based simulation principles within the architecture for a next-generation computer generated forces model. Future Generation Computer Systems Volume 17(2) pp 159-169.
Reed, J. A., Follen, G. J., Afjeh, A. A., 2000. Improving the Aircraft Design Process Using Web-Based Modeling and Simulation. ACM Transactions on Modeling and Computer Simulation, 10(1), pp 58-83.
Semantic Web Environmental directory SWED, 2006. Summary http://www.swed.org.uk/swed/about/.
Shim, J.P., Warkentin, M., Courtney, J. F., Power, D J., 2002, Past, present, and future of decision support technology. Decision Support Systems 33 pp 111-126.
Storey, M., Lintern, R., Ernst, N., Perrin, D., 2004, Visualization and Protégé In: 7th International Protégé Conference - July 2004 - Bethesda, Maryland.
University of Victoria, 2006. Model Driven Visualization (MDV) http://www.thechiselgroup.org/?q=mdv
Wikipedia, 2007. Welcome to Wikipedia http://en.wikipedia.org/wiki/Main_Page
Zhang, Z., 2005. Ontology Query Languages for the Semantic Web: A Performance Evaluation. MSc Thesis, (Under the Direction of John.A.Miller).
My Research - http://www.cems.uwe.ac.uk/~phale/.
Semantic Web Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm
I am a Researcher in the final year of my PhD. I specialise in applying Semantic Web techniques. My current research is on a technique of 'User Driven Modelling/Programming'. My intention is to enable non-programmers to create software from a user interface that allows them to model a particular problem or scenario. This involves a user entering information visually in the form of a tree diagram. I am attempting to develop ways of automatically translating this information into program code in a variety of computer languages. This is very important and useful for many employees that have insufficient time to learn programming languages. I am looking to research visualisation, and visualisation techniques to create a human computer interface that allows non experts to create software.
I am interested in End User Programming through the Semantic Web and Visualization.
Name: Peter Hale