Showing posts with label Code. Show all posts
Showing posts with label Code. Show all posts

Tuesday, May 01, 2007

End User Programming Implementation Using Semantic Web Technologies

This article is about research to provide an environment for computer literate non-programmers to create software. Technologies that assist with this are Semantic Web languages, visualization, and modeling. Visualization of Semantic Web information can make it possible to use this information as a programming environment to be used without the need to write code.

It is possible to create an end-user programming environment using Semantic Web technologies, especially for modeling of information, where this approach is well suited. This can make translation from humans to computers easier and more reliable than current software systems and languages. The use of Semantic Web languages as programming languages would assist greatly with interoperability as these languages are standardized for use in a wide range of computer systems. To provide this solution, a translator will be created using pure XML or RDF/XML (Resource Description Framework) (World Wide Web Consortium, 2007) programming so the entire solution would be in XML based languages. This needs to be combined into a comprehensive application that is usable for end user programming of a large range of modeling problems. This involves programming with Semantic Web languages rather than just using them for information representation. This will make translation from humans to computers easier and more reliable than current software systems and languages, and further improve the maintainability of the whole system. The use of Semantic Web languages as programming languages would assist greatly with interoperability as these languages are standardized for use in a wide range of computer systems. A flexible interface built with Semantic Web Languages will provide an interactive programming environment for computer literate non-programmers to manipulate information and construct their own solution oriented models.
The metaphor behind the provision of this End-User programming environment is that of visual representation of interlinked information snippets. These snippets will be visualised as nodes or translated to other views. The nodes can be linked via equations. An example of this is an engineering component, which can be viewed as interconnected nodes of information or as a diagram. The same information can be viewed and translated both ways. The information can be further translated into computer languages to make use of compilers and interpreters that can run models that perform calculation. This research is a test case for a whole new approach that could be possible, of collaborative end user programming by domain experts. The end user programmers will be enabled to use a visual interface where the visualization of the software exactly matches the structure of the software itself, making translation between user and computer, and vice versa, much more practical. Berners-Lee and Fischetti (1999) stated "the world can be seen as only connections, nothing else. We think of a dictionary as the repository of meaning, but it defines words only in terms of other words. A piece of information is really defined only by what it's related to and how it's related." He also writes "There is really little else to meaning. The structure is everything." So connectivity and structure are the crucial factors, enabling users to create and follow the information connections that are required for solving a problem and specify this to the computer. These are the main factors in taking this research and enabling end user programming.
This research is a test case for a whole new approach that could be possible, of collaborative end user programming by domain experts. The end user programmers can use a visual interface where the visualization of the software exactly matches the structure of the software itself, making translation between user and computer, and vice versa, much more practical. Jackiw and Finzer (1993) describe an example where a diagram is translated to a graph representation, the authors explain this as 'spatial programming'. Jackiw and Finzer explain that this type of programming removes the distinction between programmers and users, and helps people to 'understand how a geometric construction can be defined by a system of dependencies'. The thesis research has tended to work the opposite way around, translating graph and tree representations to diagrammatic visualisations, but this translation is valid in either direction. Semantic Web languages are ideal for representing graphs and trees in an open standard way. The spatial, and tree/graph forms both have the same underlying semantics, and therefore can both be translated to computer languages. In fact it would be much better in the long run to use the Semantic Web languages as standardised programming languages for such problems as this would avoid the need to further translate into other programming languages, and systems. The advantage to this is in using Semantic Web languages for representation of information, meta programming, and translation to a visual display for users. The use of Semantic Web languages as a connectivity environment for connecting information, and for connecting users to the information held in Semantic Web data sources enables an environment that could be made easy to use, install and maintain.

References
Berners-Lee, T., Fischetti, M., 1999. Weaving the Web. http://www.w3.org/People/Berners-Lee/Weaving/ - Harper San Francisco; Paperback: ISBN:006251587X

Jakiw, R. N., Finzer, W. F., 1993. The Geometer's Sketchpad:Programming by Geometry. In: A. Cypher, ed. Watch What I Do: Programming by Demonstration. MIT Press, Chapter 1 -http://www.acypher.com/wwid/Chapters/13Sketchpad.html - ISBN:0262032139.

World Wide Web Consortium (W3C) Resource Description Framework (RDF) - http://www.w3.org/RDF/

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

Tuesday, April 24, 2007

End-User Programming Using the Semantic Web

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.

References

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 http://jena.hpl.hp.com/juc2006/proceedings/crapo/paper.pdf.

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.webscience.org/publications/ - Enhanced - http://www.sciencemag.org/cgi/content/full/313/5788/769?ijkey=o66bodkFqpcCs&keytype=ref&siteid=sci..

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

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

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