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.

Friday, April 20, 2007

Connecting Things - Continued

Experience in research and developing the research website has enables Web researchers to model collaboration and connection. The aim of this is to connect all the research that each person has done with research of others. This enables each person to connect with work they would like to have done themselves or can see they should have done, or should get involved in, but haven't had time. This can help business by allowing the business to clarify what it should focus on while knowing who can provide the othre services it needs. The advantages of this understanding of connections are most obvious in software and web development. This idea of connecting research via web links fits in with this quote from Steve Jobs of Apple "Creativity is just connecting things" (Jobs, 1996).

Further research is needed into providing a linking mechanism for 'snippets' of information. People need answers to particular questions they are asking. In order to get the facts they need it is important for the returned information to contain this. Return of the information as factual snippets that can be pieced together into a report with links to the multiple sources would aid this. The work with semantic technologies and languages such as RDF (Resource Description Framework) (World Wide Web Consortium, 2006) and RSS can assist in this. RDF, and Web Ontology Language (OWL) add a layer of standardisation of semantics, above the standardised syntax of XML (extensible Markup Language) (Bechhofer and Carroll, 2004).


RDF

Structuring information makes it easier to export it to different software systems to make his possible. It also makes it possible to provide visual navigation menus with a tree or graph structure. RDF can be searched using SPARQL (SPARQL Protocol And RDF Query Language) (World Wide Web Consortium, 2006). Because a resource can represent anything, knowledge from any domain can theoretically be represented in RDF. This, and its standardised syntax that allows it to be machine understandable, are the reasons why RDF is such a useful and important technology for the Semantic Web. RDF consists of a resource, a property, and a property value. This triple corresponds to subject, predicate, and object in logic. Each RDF triple represents a fact. A Resource is anything that can have a URI (uniform resource identifier). A URI can look like a web address and can actually be a web address, but this is not always the case, it is a way of representing an entity. A URI consists of the name and location of the entity. An RDF Resource is described through a collection of properties and property values called an RDF Description. RDF provides a mechanism for describing collections, which are special kinds of resources, and a sequence is an ordered collection. A collection does not have to possess its own URI but it can. RDF information can link to further RDF information elsewhere, providing connectivity. This allows resources to be linked to each other indefinitely, which is why it is such an important technology for the Semantic Web. Because it is XML based, an RDF Web page can be linked to an XSL stylesheet to produce a visual representation of the structure This is also explained by (Cayzer, 2004) who uses RDF to provide structure for Semantic blogging. Oren et al (2006) also use this approach of combining RDF and Semantic Seb use with ease of editing in a Semantic Wiki.


RSS

RSS allows web users to more easily find information by subscribing to websites that provide the information they are interested in and update this regularly. RSS is explained in (JISC, 2007) and by Cayzer, (2004) who explains its use in semantic blogging. An RSS feed is a list of articles in the website and a short summary of the article with a link to the full information. Software available on the web or downloadable can track the RSS information for sites the web user subscribes to.

RSS has split into different syntaxes and can stand for RDF Site Summary, Rich Site Summary, Really Simple Syndication, and there is a third alternative called Atom. All of the RSS syntaxes are based on XML and some are also based on RDF. The incompatibilities however do not seem to hinder searches using these formats too much, and use of RSS has become a useful method for making information on the web easier to find.

Tools and browsers are available or becoming available for searching RSS feeds. An example of this is the downloadable Flock Browser (2007) that includes an icon by the web address to indicate an RSS feed is available for that page. RSS and Flock projects are also related to the concept of blogging that gives individuals who may not be computer literate the opportunity to put there thoughts onto a web page without needing to edit HTML. This is a similar concept to that of Wikis such as Wikipedia (2006d). RSS allows for a more structured representation of the contents of a web page or a blog.

Berners-Lee et al (2006) explain "The Web is an engineered space created through formally specified languages and protocols. However, because humans are the creators of Web pages and links between them, their interactions form emergent patterns in the Web at a macroscopic scale." As well as connecting research it is necessary to connect information sources, so this work should be taken further by enabling connectivity between open source ontology, modelling, and visualisation tools, with those tools and applications commonly used in industry and organisations. These applications already hold large amounts of information, sometimes they are legacy applications that have been filled with information for many years.

Sims Learning Connections - Ray Sims - AND AND AND AND (PLE) - Related - http://blog.simslearningconnections.com/?p=50 - Useful and Interesting discussion of Personal Learing, and connecting learning and research.

References

Bechhofer, S., Carrol, J., 2004. Parsing owl dl: trees or triples?. In: Proceedings of the 13th international conference on World Wide Web, NY, USA, pp 266-275.

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

Cayzer, S., 2004. Semantic Blogging and Decentralized knowledge Management. Communications of the ACM. Vol. 47, No. 12, Dec 2004, pp. 47-52. ACM Press.

Flock Browser, 2007. the social web browser http://www.flock.com.

JISC (Joint Information Systems Committee). Technology and Standards Watch. 2007. What is Web 2.0? Ideas, technologies and implications for education http://www.jisc.ac.uk/media/documents/techwatch/tsw0701b.pdf.

Oren, E., Breslin, J. G., Decker, S., 2006. How Semantics Make Better Wikis. In: WWW 2006, May 23-26, 2006, Edinburgh, Scotland.

What creativity is for Steve jobs? It is all about experience connectivity - http://fgiasson.com/blog/index.php/2005/07/23/what_creativity_is_for_steve_jobs_it_is - Quote from Steve Jobs - "Creativity is just connecting things" - Originally from - From Wired Magazine February 1996 Gary Wolf - Reproduced Here - http://romain-moisescot.com/steve/more/interviews/PDFs/1996.pdf.

What Is RSS - http://www.xml.com/pub/a/2002/12/18/dive-into-xml.html - O'Reilly XML.com - Mark Pilgrim -December 18, 2002.

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

World Wide Web Consortium (W3C), 2006. SPARQL Query Language for RDF http://www.w3.org/TR/rdf-sparql-query/.



My Research - http://www.cems.uwe.ac.uk/~phale/


Web 2.0 and AJAX page - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm


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

Sunday, April 15, 2007

Collaborative Software Creation

The intention is to create collaborative tools that allow users to develop software in a way they will be familiar with from their use of spreadsheets. Sternemann and Zelm (1999) explained that even then it had become necessary to research collaborative modelling and visualisation tools, because of the business trend towards global markets and decentralised organisation structures. To achieve this, Semantic Web tools would be used that represent the information to be shared in an open standard way. (Cheung et al, 2007) explain the necessity for collaboration tools to support early stage product development within networked enterprises. A system could consist of applications to be combined in order to represent a layered architecture of:-

Database - ontology engine - ontology visualiser - calculation engine - inputs visualiser - results visualiser

The aim is to ensure ease of development and use of the software system by using applications that operate at one or more levels in a conceptual hierarchy, while still being able to communicate with the layers above and below in the hierarchy, and with other applications. McGuinness (2003) writes about how ease of use via conceptual modelling support and graphical browsing tools is essential if systems such are to be usable for mainstream use. To facilitate this, open standard tools will be used and communication tested within the overall system. The communication mechanism should be invisible to the end user who cannot be expected to consider such matters. This communication would involve large amounts of related information being translated and passed on in its entirety rather than just individual objects or messages. The intention for this main prototype is to facilitate full communication between software applications and so make it easier for engineers and others to collaborate and co-ordinate their product design and manufacture.

Such systems would manage software to be used in the following areas - Knowledge Management, Decision support, and Simulation. A translation mechanism could provide automated translation from a model provided by the user, or by other systems into the software, ontology, and database representation. Any required calculations would then be made and translated to provide a model that can be interpreted by users. Johnson (2004) explains that successful interaction requires mapping between levels of abstractions and that translation between the levels of abstraction required by users and computers is difficult. He explains that this problem often means systems are created that make the user cope with the problems of this mis-translation. Research can solve this problem by giving users more involvement in the translation process by letting them interactively model the problem themselves until they are satisfied with the solution. This allows the user to establish "common ground" with the computer, an expression used by Johnson. Nurminen et al (2003) evaluate a system called NICAD that used calculation rules in this manner. Nurminen et al emphasize that successful expert systems have in common that they put user needs at the centre of a fast and agile development process. The authors explain that users prefer usability over automation, and that users should drive the more difficult tasks where they are needed and leave routine tasks to the system.

The Semantic Web has massive potential that is as yet only partially realised. The problem that needs to be solved is that of creating or using Semantic Web applications in large highly complex organisations, or collaborations to pull together information from diverse sources, and enable it to be used for modelling problems. Researchers should examine ways of structuring information, and enabling processing and searching of the information to provide a modelling capability.This work should also investigates increasing user involvement in software, and the possibility of providing templates to enable non-programmers to develop modelling software for the purposes that interest them. It is very important to involve users in software development (Olsson, 2004). To assist in this project, it is essential that new ways of enabling collaboration between all those involved in software creation and use are investigated. Johnson et al (2003) and Johnson (2004) examine how this kind of collaboration can be achieved and tested. The main advantage of the open standard representation of information provided by the Semantic Web is that information can be transferred from one application to another. Additionally it provides a layered architecture that allows for a stepped translation from user to computer and back to the user for conveying results of a modelling run.

References

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.

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.

McGuinness D. L., 2003. Ontologies Come of Age. In: Dieter Fensel, Jim Hendler, Henry Lieberman, and Wolfgang Wahlster, ed. Spinning the Semantic Web: Bringing the World Wide Web to Its Full Potential. MIT Press, 2003.

Nurminen, J. K., Karaonen, O., Hatonen, K., 2003. What makes expert systems survive over 10 years-empirical evaluation of several engineering applications. Expert Systems with Applications 24(2) pp 199-211.

Olsson, E., 2004. What active users and designers contribute in the design process. Interacting with Computers 16, pp 377-401.

Sternemann, K. H., Zelm, M., 1999. Context sensitive provision and visualisation of enterprise information with a hypermedia based system, Computers in Industry Vol 40 (2) pp 173-184.

My Research - http://www.cems.uwe.ac.uk/~phale/

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

Wednesday, April 11, 2007

Future Developments Of Ontologies And Visualization

So far my taxonomies include the 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. Basic key relationships used within the object oriented programming domain between objects are implemented. These key relationships depict families of objects that may share attributes and methods through inheritance. They also describe aggregations of objects that make (usually) some geometric sense.

Semantic descriptions with more relationship types than this 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 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) (University of Victoria, 2006) has developed Jambalaya (Ernst et al, 2003) for visualization of knowledge and relationships. 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 and meta languages. An interesting development is SWRL a Semantic Web Rule Language Combining OWL and RuleML and its use in modelling (Miller and Baramidze, 2005).

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.

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.

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

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.

I am developing a project to provide free online collaborative modelling tools.

My Research - http://www.cems.uwe.ac.uk/~phale/

Examples - http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm

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

Sunday, April 08, 2007

Connecting Things

My experience in PhD research and developing the research website has enabled me to model collaboration and connection in research. The aim of this is to connect all the research that I have done with research of others, and any research I would like to have done myself or can see I should have done, or should get involved in. This idea of connecting research via web links fits in with this quote from Steve Jobs of Apple "Creativity is just connecting things" (Jobs, 1996).



Berners-Lee et al (2006) explain "The Web is an engineered space created through formally specified languages and protocols. However, because humans are the creators of Web pages and links between them, their interactions form emergent patterns in the Web at a macroscopic scale." As well as connecting research it is necessary to connect information sources, so I would like to further this work by enabling connectivity between the open source ontology, modelling, and visualisation tools I've investigated, with those tools and applications commonly used in industry and organisations. These applications already hold large amounts of information.


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



What creativity is for Steve jobs? It is all about experience connectivity - http://fgiasson.com/blog/index.php/2005/07/23/what_creativity_is_for_steve_jobs_it_is - Quote from Steve Jobs - "Creativity is just connecting things" - Originally from - From Wired Magazine February 1996 Gary Wolf - Reproduced Here - http://romain-moisescot.com/steve/more/interviews/PDFs/1996.pdf.


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

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

My Web 2.0 and Ajax Page - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm.


Tuesday, April 03, 2007

Translation And Pipelining Applied To End-User Programming

This research involves using Semantic Web technologies to enable end user programming. This technology is applicable to any problem that involves user interaction, so can be applied in industries and home use for any task or subject area.

The work involves allowing non-programmers to model complex problems visually and without having to use programming languages. Information is created in a visual tree using an Ontology editor, the information is then transformed, and all calculations performed. Further transformations can be performed into any programming language or open standard information representation language, and this can be displayed on the web. This approach can be described as 'pipelining', which is explained by Gropp (2003) using the example of a project to convert Geography Markup Language (GML) to Scalable Vector Graphics (SVG). SVG is explained by McKeown and Grimson (2000). Pipelining is also core to XML (eXtensible Markup Language) (w3C, 2006) and XForms technologies (Bruchez, 2006), which are explained in this thesis. Pipelines are important for translation and Meta Programming techniques I use as they apply one program to the results of another. Also transformations can be performed between a tree representation and other styles of representation e.g. an interactive CAD style representation, using SVG. A major theme of the research is that of prototyping solutions to the problems raised, using web and other software technologies. These are then referenced from the thesis document to illustrate the solutions discussed.

The additional advantage is that of displaying the expressions in the appropriate context. Crapo et al (2002) explain that visualization helps the modeller to maintain a hierarchy of submodels at different stages of development and to navigate effectively between them, this is my reason for breaking down the models into a tree structure.

Semantic Web research has been developed from the work of Tim Berners-Lee (1997). Uschold (2003) defines the Semantic Web as being machine usable and associated with more meaning. Semantic web technologies and the use of agents and ontologies are explained by Hendler (2001) and Uschold who explains that "In order to carry out their required tasks, intelligent agents must communicate and understand meaning".

Meta programming is the writing of programs that write or manipulate other programs (or themselves) as their data. The idea behind this technique is that instead of writing programs to do a task a person needs the program for, the meta program developer creates an environment which all domain experts, in this and similar fields, can use to create their own solutions. The developer then only needs to maintain and improve this programming environment, and can concentrate on this task; the domain expert can concentrate on solving the problem at hand without having to ask the developer to create the code on his or her behalf. This can prevent problems of misunderstanding, delay, and expense that often result from communication of difficult concepts between people who are experts in different areas (domain expert and programming expert).

This is another useful article on sharing RSS feeds via linked up pipes (Yahoo Pipes) -

Pipes and Filters for the Internet-http://radar.oreilly.com/archives/2007/02/pipes_and_filte.html.

This approach could make it easier for web developers to build interacive websites without needing to do in depth coding.

References

Berners-Lee, T., Fischetti, M., 1997. Weaving the Web. Harper San Francisco; Paperback: ISBN:006251587X

Bruchez, E, 2006. XForms: an Alternative to Ajax?. In: XTech 2006: Building Web 2.0 16-19 May 2006, Amsterdam, The Netherlands.

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.

Gropp, E., 2003. Accelerating SVG Transformations with Pipelines. In: SVG Open 2003 - Conference and Exhibition 2nd Annual Conference on Scalable Vector Graphics - Vancouver, Canada.

Hendler, J., 2001. Agents and the Semantic Web. IEEE Intelligent Systems Journal.

McKeown, J., Grimson, J., 2000. SVG: putting XML in the picture In: XML Europe 2000 Paris France.

Uschold, M., 2003. Where are the semantics in the semantic web? AI Magazine Vol 24 (3) pp 25-36.

W3C (World Wide Web Consortium), 2006. http://www.w3.org/TR/xproc/ XProc: An XML Pipeline Language W3C Working Draft 17 November 2006.

I am developing a project to provide free online collaborative modelling tools.

My Research - http://www.cems.uwe.ac.uk/~phale/

My Blog - http://userdrivenmodelling.blogspot.com/

My SVG Page - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/SVG/SVG.htm

Thursday, March 29, 2007

My PhD Research - Collaborative Web Based Modelling

After studying for an Economics degree at Plymouth University, I worked in financial services and then IT. I retrained in IT by means of vocational training, an Open University degree, and an MSc conversion course at UWE. I began my research in AMRC (Aerospace Manufacturing Research Centre) as an MSc project in 2000. The SEEDS (Systems Engineering Estimation and Decision Support) team within AMRC is involved in modelling problems and visualising solutions in order to help with decision support.

For my PhD research in User Driven Programming, I have been investigating ways of making it possible for people to program software without having to write code. This is especially useful when collaborative problem solving is required. My research relies on visualisation of the problem in order to model possible solutions. So to make this approach possible, I'm developing free models and modelling tools for use over the Web. These can be used for teaching, collaborative problem solving, management decision making, early stage product and process design, and environmental modelling. I'm intending to prototype this on collaborative student projects such as the early stage design of aircraft and spacecraft. The techniques used to build these models are often called Semantic Web or Web 2.0. This involves providing the kind of software over the Web that is already available on individual computers, and using this for sharing of information worldwide. I'm publishing models online and linking Vanguard Studio with my own software to produce interactive models. These models change in response to the user, perform calculations, and range from dynamic computer aided design (CAD) type representations to hierarchical information explorers. Vanguard Software has donated UWE a free server version of their decision support tool Vanguard Studio. This makes UWE part of a collaborative network of universities and industry that can create models and link them via a Wiki (editable website). This enables companies to co-ordinate their design work both internally and with their suppliers.

My research could also be applied to e-learning; the technologies could provide an interactive learning experience for students to collaborate in constructing solutions.


Example models are at :-
http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm
http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm
http://wiki.vanguardsw.com/bin/browse.dsb?dir/Engineering/Aerospace/

Thursday, March 22, 2007

Creating Software Systems For End User Modelling

It is important to make it possible for users to program software without having to write code. This relies on visualisation of the problem in a similar way to modelling. So to make this approach possible it's necessary to look to develop free models and modelling tools for use over the Web. These can be used for teaching, collaborative problem solving, management decision making, and environmental modelling. The techniques used to build these models are often called Semantic Web or Web 2.0. This involves providing the kind of software over the Web that is already available on individual computers, and using this for sharing of information worldwide. These kind of models change in response to the user, perform calculations, and range from dynamic computer aided design (CAD) type representations to hierarchical information explorers.

More generally 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 systems are impractical considering both increases in complexity of manufactured products, and of software systems themselves. 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. This is true for software development in general, not just in the domain of engineering.

Example models are at:
http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm
http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm

Friday, March 16, 2007

Collaborative Web Based Modelling

The SEEDS (Systems Engineering Estimation and Decision Support) team within AMRC (Aerospace Manufacturing Research Centre) is involved in modelling problems and visualising solutions in order to help with decision support. Vanguard Software has donated UWE (University of the West of England) a free server version of their decision support tool Vanguard Studio. This makes UWE part of a collaborative network of universities and industry that can create models and link them via a Wiki (editable website).

For my PhD research in User Driven Programming, I have been investigating ways of making it possible for users to program software without having to write code. This relies on visualisation of the problem in a similar way to modelling. So to make this approach possible I'm looking to develop free models and modelling tools for use over the Web. These can be used for teaching, collaborative problem solving, management decision making, and environmental modelling. The techniques used to build these models are often called Semantic Web or Web 2.0. This involves providing the kind of software over the Web that is already available on individual computers, and using this for sharing of information worldwide. I'm publishing these models online and linking Vanguard Studio with my own software to produce interactive models. These models change in response to the user, perform calculations, and range from dynamic computer aided design (CAD) type representations to hierarchical information explorers.

Example models are at :-

http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm

http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm

http://wiki.vanguardsw.com/bin/browse.dsb?dir/Engineering/Aerospace/

Monday, March 12, 2007

Management of Complexity

Cagle (2006) explains that "You can never eliminate complexity from a system, you can only move it from place to place". The purpose of my research is to allow software developers to deal with complexity as far as possible in order to leave the end-user free to model their own problems. My research aims to adapt or create software systems to provide the visual editor for the source tree, and allow model builders to create a model by editing this. By doing so, model builders would create a generic model for a particular modelling subject.

Representing Complexity as Linked Trees

My research aims to adapt or create software systems to provide the visual editor for the source tree, and allow model builders to create a model by editing this. By doing so, the model builders would create a generic model for a particular modelling subject. Vanguard Studio is used to automatically convert the taxonomy into a decision support and modelling system. Vanguard have made their server available for collaborative model development (Vanguard Software, 2006). UK universities are already linking together to use Vanguard Studio on a network for aerospace and construction industry modelling. The model users can then use this decision support and modelling system to create their models. These models would be a more specific subset of the generic model, and could be applied for their own analysis. I have provided a translation mechanism to convert information or models into other representations (primarily web based), and to visualise this information. RDF (Resource Description Framework) allows for linking of peoples' information sources with each other, the structure for this is more of interlinked graphs. "RDF is used to model knowledge, where tree-based representations are not enough" (Nilsson et al, 2002). I used and tested this methodology for linking models using Protégé and then translating to Vanguard Studio which also allows interlinking of models. The translations I have then made to web standard languages such as RDF have been successful but I have found that the semantic web needs more interaction and modelling capability, while Web 2.0 technologies have good user interface and interaction capabilities but lack sufficient structure for complex calculations. Another issue of dealing with complexity is how much you use a top-down approach and how much a bottom-up approach in the collaboration necessary to define information sources.

I have found a clear relationship between my end-user programming techniques that involve meta-programming and Semantic Web techniques that involve use of meta-information. Combining these approaches involves a meta modelling management approach that manages complexity on behalf of end-users. This approach deals with linking and using (reusing) information as required in order to solve the problem the user is interested in. An implication of this research is that there is a strong need for user-friendly tools for non-programmers to edit meta-data and meta-programs that must be human understandable and machine understandable. The Web is evolving from being primarily a place to find things to being a place to do things as well (Uschold, 2003) citing (Smith, 2001). It is important to take advantage of this change to enable end-user programming. This allows model builders and users to seek agreement between individuals and between their models and the software representation by intervening in the model building process. This is a practical solution that can be used until machine processable semantics might in future make more automated solutions possible.

Representing Complexity in Other Ways

Sometimes it is difficult to construct an ontology to represent a model, such as when a potential new design is to be modelled and little is yet known about it, so alternatives must be investigated. This kind of problem is investigated by the Institute for People-Centred Computation IP-CC (2006) collaboration network, where representatives from different universities and manufacturers can collaborate to investigate ways of discovering the information required. Also, techniques of Aspect Oriented Programming (Elrad et al, 2001) and (Murphy et al, 2001) can be used to identify functions that can be used in calculating results without the requirement of a detailed underlying taxonomy. Aspect oriented programming could be used to capture and translate user requirements especially where software functions can not be neatly attached to particular objects or nodes in a hierarchy. These are known as cross-cutting concerns as they may affect several nodes. A diagrammatic representation of the cross-cutting concerns can then be translated into a computer language representation such as AspectJ for Java (Kiczales et al, 2001) and AspectXML for XML (eXtensible Markup Language) (Peterson, 2005). This allows for specification of a program as a model and translation to different languages, beginning with Java, and XML. This also makes use of XML as a programming language not just an information format. Collaborations involving Aspect Oriented Programming can be found at (Aosd.net, 2007) and (AspectXML, 2007).Techniques for representing and visualising uncertainty can also be used to help cope with the problem of a limited specification (Marsh et al, 2002), (Bru et al, 2004).

References

Aosd.net, 2007. Welcome to aosd.net - http://aosd.net/.

AspectXML 2007. Community open-source project - http://www.aspectxml.org/.

Bru, C., Scanlan, J., Hale, P., 2004. Visualization of Cost Information, International Journal of Agile Manufacturing, 7(1), pp 53-59.

Cagle, K, 2006. Thoughts on Complexity - http://www.oreillynet.com/xml/blog/2006/03/thoughts_on_complexity.html.

Elrad,T., Filman, R. E., Bader, A., 2001. Aspect-oriented programming: Introduction. Communications of the ACM, 44(10), pp 28-32.

Institute for People-Centred Computation (IP-CC), 2006. Supporting Discovery in Design and Innovative Decision-making http://www.ip-cc.org.uk/.

Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W. G., 2001. Getting Started with AspectJ. Communications of the ACM, 44(10) pp 59-65.

Marsh, R., Hill, T., Scanlan, J., Dunkley, M., Cleevely, P., 2002. Modelling manufacturing cost uncertainty with input distributions and exemplars. In: 9th ISPE International Conference on Concurrent Engineering: Research and Applications, Cranfield University pp 881-890.

Murphy, G. C., Walker, R. J., Baniassad, E. L. A., Robillard, M. P., Lai, A., Kersten, M. A., 2001. Does aspect-oriented programming work?, Communications of the ACM, Vol 44(10) (October 2001) pp 75 - 77, ISSN:0001-0782.

Nilsson, M., Palmér, M., Naeve, A., 2002. Semantic Web Metadata for e-Learning - Some Architectural Guidelines WWW2002 Hawaii USA.

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.

Smith, R, 2001. What's Required in Knowledge Technologies: A Practical Vie . In Proceedings of Knowledge Technologies 2001.

Uschold, M., 2003. Where are the semantics in the semantic web? AI Magazine Vol 24 (3) pp 25-36.

Vanguard Software, 2006. Global Knowledge Portal http://wiki.vanguardsw.com/.

My Research - http://www.cems.uwe.ac.uk/~phale/

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

Wednesday, March 07, 2007

End User Modelling Tools

This article examines the need for users to be enabled to program, and the tools that could be created to assist this. It also examines how UML (Unified Modeling Language) tools could be adapted to enable developers to provide an environment for users to program, and how new UML tools could be created to help users to develop software themselves.

User involvement is important in the development of software but a domain expert does not necessarily possess expertise in software development, and a software developer cannot have expertise in every domain to which software might apply. So it is important to make it possible for software to be created, using methods that are as close as possible to that which the domain expert normally uses. The proportion of domain experts in a particular domain (aerospace engineering) for example who can develop their own programs is fairly low, but the proportion that are computer literate in the everyday use of computers is much higher. If this computer literacy is harnessed to allow the domain experts to develop and share models, the productivity for software development will be increased and the proportion of misunderstandings between domain experts and developers reduced. The domain experts can then explore a problem they are trying to solve and produce code to solve it. The role of developers would then become more that of a mentor and enabler rather than someone who has to translate all the ideas of experts into code themselves. Other developers may work at providing better translation software for the experts.

In my research I examined the role of UML (Unified Modeling Language). However there are important gaps in the functionality of UML tools for user centred design. Palanque and Bastide (2003) identify these gaps "For the team of methodologists (Rumbaugh, Jacobson, Booch) that shaped the UML, User Centred Design was not a central concern." These gaps are of even greater importance when attempting to make it possible for people who are not programmers to create software. UML tools could assist software developers in creating a modelling environment suitable for domain experts to use to solve their problems. To achieve this would require a major change in UML tools to enable modelling of user interaction as the core concern. Enabling users themselves to create software using UML type tools would require development of a new type of UML tool specifically designed for ordinary users. This would be compact and simple, but provide enough capabilities to ensure users' designs are robust. This would also fill a gap left by engineering and scientific modelling tools which are powerful but do not have collaboration, communication, and ease of use as central concerns.

Palanque, P., Bastide R., 2003. UML for Interactive Systems: What is Missing INTERACT 2003 Closing the Gaps: Software Engineering and Human-Computer Interaction Zürich, Switzerland - http://www.se-hci.org/bridging/interact/p96-99.pdf.

My Research - http://www.cems.uwe.ac.uk/~phale/.

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

Thursday, March 01, 2007

Research in Modelling Simulation and Collaboration Over the Web

Collaboration, simulation and modelling have been investigated to assist us in determining the requirements for future research in modelling of problems. Huhns [1] and Paternò [2] both explain that alternatives to the current approach to software development are required. This should allow translation from a model-based representation of software to the actual software. This could involve automatically producing software for a semantic web site from visual representations of the problem. The core of this modelling infrastructure would be automated generation of models written using World Wide Web Consortium (W3C) standards based languages and the visualisation of information represented in such W3C standard ways. We have examined modelling languages such as Alloy [3] examined by Wallace [4], in order to establish how modelling languages can be used as an interface to an End-User Programming environment.
Transformation from a model building environment to program code has been investigated by Gray et al [5]. MathML [6] can assist in this process by providing an open representation of functions as XML (eXtensible Markup Language). Functions entered by the model developer can then be translated to this open representation and translated to programming languages and/or read by programming languages. The representation of functions and information can sometimes be illustrated diagrammatically. Guibert et al [7] explain and expands on Smiths work with an example demonstrating how numbers fail to reveal the concept behind them. The example is a numerical representation of a triangle. This representation is 'fregean' because it does not show the concept of a triangle. Next to this is a diagram of the triangle that does show the concept. This is the theory behind our conversions to interactive SVG (Scalable Vector Graphics) and and tree based representations of information and functions [8][9].
An open standards web driven method of collaboration is required to make it possible for organisations and individuals to become more deeply involved in projects that are well coordinated using web technologies. Morris et al. [10] examine Interactivity and collaboration on the web. Aziz et al. [11] examine how open standards software can assist in an organisation's collaborative product development. This approach is outlined in Ciancarini et al. [12] that explains ways of designing a document-centric coordination application over the Internet. Nidamarthi et al. [13] explain how web based collaboration can aid the design process. Huang and Mak [14] evaluate issues in the development and implementation of web applications for product design and manufacture. Reed et al. [15] show how web based modelling and simulation can be used in the aircraft design process. Kim et al. [16] explain their approach to modelling and simulation. Zhang et al. [17] review Internet-based product information sharing and visualisation. Li [18] examines the role of web based services for distributed process planning optimization.

The intention is to further the research of others into the approach of web based collaboration, and use semantic web software and techniques to achieve this. The above research reinforced our view that this is a robust approach. Modelling collaborations based on these techniques would bring together experts in engineering, systems modelling, computing, and Human Computer Interaction.

References

[1] Huhns, M. (2001) Interaction-Oriented Software Development. International Journal of Software Engineering and Knowledge Engineering, 11 259-279. [2] Paternò, F. (2005) Model-based tools for pervasive usability. Interacting with Computers 17 (3), 291-315. [3] Alloy http://alloy.mit.edu/ [4] Wallace C. (2003) Using Alloy in process modelling. Information and Software Technology, Vol. 45 (15), 1031-1043. [5] W3C Math Home - http://www.w3.org/Math/Overview.html - What is MathML? [6] Gray J, Zhang J, Lin Y, Roychoudhury S, Wu H, Sudarsan R, Gokhale A, Neema S, Shi F, and Bapty T, Model-Driven Program Transformation of a Large Avionics Framework, 2004, Third International Conference on Generative Programming and Component Engineering GPCE. [7] Guibert N, Girard P, Guittet L, (2004), Example-based Programming: a pertinent visual approach for learning to program, University of Poitiers, Proceedings of the working conference on Advanced visual interfaces - Pages: 358 - 361 - ISBN:1-58113-867-9. [8] Spar - Tree based representation http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm [9] Interactive Examples http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm [10] Morris, S., Neilson, I., Charlton, C., Little, J. (2001) Interactivity and collaboration on the WWW - is the 'WWW shell' sufficient?. Interacting with Computers, 13, 717-730. [11] Aziz, H., Gao, J., Maropoulos, P., Chewing, W. M. (2005) Open standard, open source and peer-to-peer tools and methods for collaborative product development. Computers in Industry, 56, 260-271. [12] Ciancarini, P. & Rossi, D. & Vitali, F. (2001) Designing a document-centric coordination application over the Internet. Interacting with Computers, 13 677-693. [13] Nidamarthi S., Allen R. H., Ram D. S. (2001) Observations from supplementing the traditional design process via Internet-based collaboration tools, Computer Integrated Manufacturing, 14 (1), 95-107. [14] Huang, G. Q., Mak, K. L. (2001) Issues in the development and implementation of web applications for product design and manufacture. Computer Integrated Manufacturing, 14 (1), 125-135. [15] 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), 58-83. [16] Kim Y., Choi Y., Bong Yoo S. (2001) Brokering and 3D collaborative viewing of mechanical part models on the Web, Computer Integrated Manufacturing, 14 (1), 28-41. [17] Zhang, S., Weimen, S., Hamada, G. (2004) A review of Internet-based product information sharing and visualization. Computers in Industry, 54, 1-15. [18] Li, W. D. (2005) A Web-based service for distributed process planning optimization. Computers in Industry, 56, 272-288.

Links

http://www.cems.uwe.ac.uk/amrc/seeds/Modelling.htm
http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm

Wednesday, February 21, 2007

Modelling Tools for Education

This post is about the possibility of creating free online modelling tools for use in education. This would allow people to learn about a subject by modelling it. The semantic web makes it possible to provide tools and applications to allow modelling and collaboration at low cost. This could also aid engineers and scientists in communication with the public.


Many people who are experts in their field have insufficient time to learn programming, but still want to model the problems they need to tackle in their main occupation or learning. They try to achieve this aim on an ad hoc basis by piecing together information they hold in documents, sketches, spreadsheets, and that's available in systems provided for them by their IT supplier. Holding information in assorted documents is not conductive to efficient sharing and reuse of information. Dependence on information systems that are supplied and customised only by an IT department removes control from the domain expert.


The problems that have developed as a result of the above situations are -


• The skill set of engineers in the UK does not match what is required by industry. Industry wants engineers who can solve problems as a team but most modelling tools are complex, they are all different from each other, and so need specific training. These tools don't share information easily or encourage enough collaboration.


• Because of the problem above, universities are torn between teaching the theoretical underpinning of engineering, and the practical skills of modelling problems. If easy to use collaborative modelling tools become available, universities can teach theory and allow students to apply it in case studies, thereby incorporating both research and practice in their projects.


• Researchers become isolated from lecturers and vice versa as there are insufficient cheap and easy to use collaboration tools that can be used for both research and teaching. There is a need for new modelling tools for teaching that researchers can develop, and lecturers can then also be involved in an interesting research project.


• There are too few tools available for early stage modelling of engineering problems such as a new product design, when there is insufficient information for tools such as CAD (Computer Aided Design) and Finite Element Analysis.


• There is a large tools gap between those an engineer or student might use for simpler problems (such as spreadsheets) and the high end expensive tools such as CAD. This leaves no path for students and engineers to improve their modelling skills systematically and cheaply.


• The public do not understand science and engineering sufficiently, partly because there are too few modelling tools that can readily be accessed to act as a communication aid to the public using interactive technologies.


A solution to these problems is to supply people with the open source tools they need to become end user modellers. This can be part of an overall aim to enable and encourage end user programming and so release the capabilities possessed by domain experts in modelling their problems. This can enable a much faster iterative process of model development, visualisation and rework to enable better product design. To enable this it is important to provide a modelling environment that will cost nothing to use and that will have examples, explanations and instructions together with a high level user interface to maximise ease of use, and minimise the need for programming skills. Then this would be ready for widespread use in teaching and for student projects, the first step is to prototype the modelling technologies.


Such a project should begin by creating web based models for problem solving in partnership with industry. This learning materials should be made available for widespread use. At present there are not enough educational materials provided by universities (other than the Open University) as open access rather than in internal university E-Learning environments. The modelling project could begin with a single university or a small group and particular subjects and broaden by promoting the use of the modelling system in other universities, colleges and companies through national educational and business associations. To achieve these aims lecturers and students should be involved in the creation of the modelling system and use of this system (depending on the course and the skills of those involved in it). A useful aim would be to use the modelling system to promote engineering, and engineering solutions to problems (environmental problems for example) to a sceptical public who see the profession as poorly paid and dirty, 'House of Lords Select Committee on Science and Technology report science and society' [1], and remote from the public [2]. This dissemination could include schools libraries, and media.


These aims are influenced by the theory of constructionism explained in [3], this involves understanding problems by modelling them.


References


[1] Select Committee on Science and Technology Third Report Ch 2:Public Attitudes and Values-Attitudes to engineering 2.39.


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


[3] Resnick, M., 1996, Distributed Constructionism, Proceedings of the International Conference on the Learning Sciences Association for the Advancement of Computing in Education, Northwestern University - http://llk.media.mit.edu/papers/Distrib-Construc.html.


I have a home page at http://www.cems.uwe.ac.uk/~phale/ that explains my PhD research related to this subject and has examples.


I also have a Modelling page at http://www.cems.uwe.ac.uk/amrc/seeds/Modelling.htm

Friday, February 16, 2007

Constructionism, Logo, and Seymour Papert

Seymour Papert - Logo


In the mid 1960s Seymour Papert, a mathematician who had been working with Piaget in Geneva, came to the United States where he co-founded the MIT Artificial Intelligence Laboratory with Marvin Minsky. Papert worked with the team from Bolt, Beranek and Newman, led by Wallace Feurzeig that created the first version of Logo in 1967.


The Logo Foundation


'Logo is the name for a philosophy of education and a continually evolving family of programming languages that aid in its realization.' Harold Abelson - Apple Logo, 1982. This philosophy is based on Constructivism (a learning theory). The Logo Programming Language, a dialect of Lisp, was designed as a tool for learning. Its features - modularity, extensibility, interactivity, and flexibility follow from this goal. It is used to develop simulations, and to create multimedia presentations. Logo is designed to have a "low threshold and no ceiling": It is accessible to novices, including young children, and also supports complex explorations and sophisticated projects by experienced users. The most popular Logo environments have involved the Turtle, originally a robotic creature that sat on the floor and could be directed to move around by typing commands at the computer. Soon the Turtle migrated to the computer graphics screen where it is used to draw shapes, designs, and pictures.


Further Information


Alan Kay and Seymour Papert envisioned in the 1960's the computer's role as a tool for the mind an 'idea processor'. They have worked at bringing computers into this role for adults and children through Croquet, and several of Croquet's predecessors like the Logo language and environment by Papert, and Squeak, the open source Smalltalk language and environment, by Kay. Squeak and Croquet have developed from the early work in Smalltalk and provided a tool for end user programming, collaboration, visualisation, and simulation.


Constructionism


The work of Seymour Papert demonstrates the approach of Constructionism (Papert and Harel, 1991) (Resnick, 1996). The Constructionism idea is based on the constructivist theories of Piaget. To this theory constructionism "adds the idea that people construct new knowledge with particular effectiveness when they are engaged in constructing personally-meaningful products" (Resnick, 1996). Resnick goes on to say "This vision puts construction (not information) at the center of the analysis. It views computer networks not as a channel for information distribution, but primarily as a new medium for construction, providing new ways for students to learn through construction activities by embedding the activities within a community." Resnick explains the theory known as Distributed Constructionism. This involves a community gaining an understanding of a problem by interacting with a knowledge building community, the problem to be modelled, and tools to model the problem, and build a solution. An example that Resnick cites is the work of Kimberly (1995) where participants became part of the simulation they constructed in order to understand economic models. The idea of constructionism is related to end user programming, and ontology modelling, and building. Resnick explains his use of interactive web based knowledge building communities to use and test the theory.


References


Distributed Constructionism - http://llk.media.mit.edu/papers/Distrib-Construc.html - Mitchel Resnick, Proceedings of the International Conference on the Learning Sciences Association for the Advancement of Computing in Education, Northwestern University (accepted: March 1996; published: July 1996)


Hamburg University - http://www.erzwiss.uni-hamburg.de/Sonstiges/Logo/logofaqx.htm - LOGO Frequently asked Questions (FAQ).


MIT Logo Foundation, What is Logo? - http://el.media.mit.edu/Logo-foundation/logo/index.html - What is Logo.


Mitchel Resnick - http://web.media.mit.edu/~mres/.


Planet Papert - http://www.stager.org/planetpapert.html - Articles by and About Seymour Papert - Gary S. Stager.


Seymour Papert - http://www.papert.org/ - Works by Papert.


Situating Constructionism - http://www.papert.org/articles/SituatingConstructionism.html - The following essay is the first chapter in Seymour Papert and Idit Harel's book Constructionism (Ablex Publishing Corporation, 1991).


Wikipedia - http://en.wikipedia.org/wiki/Logo_programming_language - Logo programming language.


Wikipedia - http://en.wikipedia.org/wiki/Seymour_Papert - Seymour Papert.



I have a web page on end user computing history at http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory.htm


More information on end user programming can be found at http://www.ieuc.org/home.html

Saturday, February 10, 2007

@Bristol Imax and Wildwalk to shut

I would be interested in any comments about the future of @Bristol and all its attractions.

In Bristol Evening Post 7th February Bristol North West MP Doug Naysmith is quoted as saying "ministers had previously ignored his warnings that science centres require direct funding" and he wrote to ask ministers "why museums receive funding but science centres do not".

I have been to both @Bristol and the London Science Museum and both to very good work in engaging people of all ages in science and engineering via interactive learning. I don't see there's any clear distinction between a museum and a science centre. Both need to preserve past knowledge and educate people to be involved in future developments. I think all such places should have guaranteed funding each year to allow them to continue, this is essential if this country wants to remain a world player in science and technology. Such investment would be repayed by an enthusiastic new batch of scientists and engineers inspired by their experiences at science centres.

Our government talks about tackling the shortage of people in this country interested in science and technology, and the need for schools, colleges, and universities to promote enthusiasm in their students. The attractions such as @Bristol that are an important resource for education must therefore be properly financed. It isn't sufficient to expect the market to provide such attractions because left to itself the market provides a lot of entertainment facilities that have little or no educational content.

I would be glad of any feedback, comments and opinions on this topic, or any further information and sites that I can add as links.

Links

Save Wildwalk - http://savewildwalk.org.uk/

Save @t Bristol - http://bristol.epetitions.net/

IMAX AND WILDWALK TO SHUT - http://www.thisisbristol.com/displayNode.jsp?nodeId=144936&command=displayContent&sourceNode=144919&contentPK=16572964&moduleName=InternalSearch&formname=sidebarsearch -
This is Bristol in association with the Evening Post 6th February 2007.

MPS UNITED IN AIM TO HELP SAVE CENTRE - http://www.thisisbristol.com/displayNode.jsp?nodeId=144936&command=displayContent&sourceNode=144919&contentPK=16577367&moduleName=InternalSearch&formname=sidebarsearch -
This is Bristol in association with the Evening Post 7th February 2007.

WILD, FUTURE IDEAS - http://www.thisisbristol.com/displayNode.jsp?nodeId=144936&command=displayContent&sourceNode=144919&contentPK=16605701&moduleName=InternalSearch&formname=sidebarsearch - This is Bristol in association with the Evening Post 10th February 2007.

ANNIVERSARY TRIBUTES TO THE MASTER OF WILD FILM - http://www.thisisbristol.com/displayNode.jsp?nodeId=144936&command=displayContent&sourceNode=144919&contentPK=16611837&moduleName=InternalSearch&formname=sidebarsearch -
This is Bristol in association with the Evening Post 10th February 2007.

@Bristol - http://www.at-bristol.org.uk/

Wildscreen - http://www.wildscreen.org

Discovering Bristol Science City - http://www.southwestrda.org.uk/news/release.asp?ReleaseID=1839 - 2nd February 2007.

Innovation Initiatives -
http://www.southwestrda.org.uk/what-we-do/innovation/innovationinitiative/inspire-sw-projects.shtm#eef - Inspire SW - Projects.

Thursday, February 08, 2007

Web 2.0 and Microsoft's response, and Educational Web 2.0 tools

Web 2.0 and Microsofts' response

This is an interesting article about how Microsoft might respond to the availability of web 2.0 software such as word processors and spreadsheets over the web.

How Will Microsoft Respond To Online Office Threat - http://www.readwriteweb.com/archives/microsoft_office_online_threat.php - West Suffolk College E-Learning News.

These are interesting links I've found from this course on the subject of e-learning using web 2.0 technologies.


Information from Netskills Course

Web 2.0 Information

DownloadSquad - http://www.downloadsquad.com/category/social-software

Pipes and Filters for the Internet - http://radar.oreilly.com/archives/2007/02/pipes_and_filte.html - Tim O'Reilly on February 07, 2007.

Web 2.0 Tutorials

This is a free internet and web course - TONIC - The Free to Use Internet Course - http://www.netskills.ac.uk/content/products/online/index.html

This is an interesting video presentation about web 2.0 - http://www.youtube.com/watch?v=6gmP4nk0EOE&eurl= - Web 2.0 ... The Machine is Us/ing Us.

E-learning blogs

Bath E-learning team - http://www.bath.ac.uk/dacs/cdntl/pMachine/morriblog.php

EdTechUK - http://fraser.typepad.com/edtechuk/

Suffolk e-learning services - http://suffolkelearning.blogspot.com

West Suffolk College - http://wscelearning.blogspot.com/


Wiki Sites and tools

Netskills - http://netskills.wetpaint.com/
Infoteach - http://www.infoteach.org/wiki/index.php/Main_Page

Communities

Elgg - http://elgg.net/ - Who's interested in e-learning
Digg - http://digg.com/view/technology - Technology

JISC

http://www.jisc.ac.uk/- The mission of the Joint Information Systems Committee (JISC) is to provide world-class leadership in the innovative use of Information and Communications Technology to support education and research.

Sunday, February 04, 2007

Structured Languages

Busy users will not be interested in a system that is difficult to use, but the system must still give reasonable results. So it is necessary to make it as easy as possible for a user to enter the information the software needs. Structured languages can be the solution to this problem because they can be understood by a user, and the language is constructed using mathematical rules. Therefore the structured language presents a mathematical representation to the computer and a natural language or diagrammatic representation to the user. (Borthick et al. 2001) explain however, that ambiguity in natural language can make it difficult to translate natural language into SQL.


It is possible to create an extra layer to enable users to specify commands in structured language. This approach of adding extra layers is the way visual programming works. Users provide the information the program needs at the visual interface layer and program code is created automatically. The layers provide the bridge between abstract ideas and computer code. If this approach is taken to its logical conclusion, we could allow the user to specify what the computer should do. Then each layer would communicate this to the layer below until the computer performs the action required. A simple example of this approach is the use of spreadsheets. A user can specify a calculation in mathematical terms using a formula. The spreadsheet then calculates the result of the formula. The user can change the formula if it is incorrect without any need to write code or re-compile. This accounts for the popularity of spreadsheets. However, spreadsheets do not provide the centralised and structured data-store required for a distributed system. Such systems can be made much more powerful if the information is codified into a relational database structure. Then On-Line Analytical Processing (OLAP) can be used for more sophisticated data collection and analysis. Lau et al. (2001) explain how OLAP displays a multi-dimensional view of aggregated data, and presents a Rule-Based Analytical Processing (RBOLAP) model which can be used for decision support. The use of RBOLAP techniques is demonstrated using a case study on a mould and die information network.


Sutton (2001) and Huber (2001) illustrate how codifying knowledge into a knowledge based system for decision support is likely to be very difficult. Most people 'just do' a task and therefore never write down instructions for others. This highlights the difficulty of getting information into a knowledge base when it may be either only in individuals' minds, or completely unstructured.


Information is scattered within organisations and often not held in such a structured way as to be easily accessed by employees or software. This problem was examined by Lau et al (2005) using the example of McDonnell Douglas (now part of Boeing), that demonstrated how difficult it is to gather unstructured knowledge. Therefore, it is important that research is undertaken into methods of capturing, structuring, distributing, analysing, and visualising information.


I have a web page relevant to this post at http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm.


References


Borthick, A. F., Bowen, P. L., Donald, R. J., Micauel, H. K. T., 2001. The effects of information request ambiguity and construct incongruence on query development. Decision Support Systems Vol 32 pp 3-25.


Huber, G. P., 2001, Transfer of knowledge in knowledge management systems: unexplored issues and suggested studies. European Journal of Information Systems, Vol 10 pp 80-88.


Lau, H. C. W., Bing, J., Lee, W. B., Kau, K. H., 2001. Development of an intelligent data-mining system for a dispersed manufacturing network. Expert Systems Vol 18(4).


Lau, H. C. W., Ning, A., Pun, K. F., Chin, K. S., Ip, W. H., 2005. A knowledge-based system to support procurement decision. Journal of Knowledge Management, 9(1), pp 87-100.


Sutton, D. C., 2001, What is knowledge and can it be managed?. European Journal of Information Systems, Vol 10 pp 72-79.

Thursday, February 01, 2007

Programming by Example - Visual Interfaces

In the mid 1970s Smith introduced the technique of Programming by Example with a program called Pygmalion, Smith elaborated on this in Watch What I Do: Programming by Demonstration (Chapter 1). This demonstrated the need to describe algorithms through concrete examples rather than abstractly. 'Example-based Programming: a pertinent visual approach for learning to program' (Guibert et al, 2004) explain and expands on Smiths work with an example demonstrating how numbers fail to reveal the concept behind them. The example is a numerical representation of a triangle. This representation is 'fregean' because it does not show the concept of a triangle. Next to this is a diagram of the triangle that does show the concept. Next to this is a diagram of the triangle that does show the concept, this is referred to as 'analogical' representation because it includes the context of the information. Including the context of the information allows a person to discover meanings or relationships in the information which would not always be obvious. (Hanna, 2005) and (Elliott, 2006)provide an interface for direct manipulation of shapes in this analogical way by creating an interactive triangle manipulation example using the Haskell functional programming language.


Semantic web languages allow for the context of the information to be represented in documents and so make it possible to represent information in an analogical way, as well as allowing two way interaction, leading to an improvement in information discovery.


The development of visual user interfaces has been a major step forward. The use of pictorial metaphors such as folders to represent a collection of files has greatly aided human computer interaction. Pictorial metaphors give visual feedback so the user knows what the software system is doing. This technique can be used more dynamically in simulations. Simulations represent the real world problem and provide constant feedback to the user on how the system is progressing. In this sense, all software should be regarded as a simulation. Pictorial metaphors are static, while a users' mental model is made up of mental images connected together by a set of rules. The user runs a mental model like a simulation. Static user interfaces rely on a user to string together images into a mental model which correctly represents what the system is doing. A user may generate a mental model in response to user interface metaphors which is inconsistent with the system model.


Simulation can help to ensure that the designers' model, system model and users' model are all the same. This subject is explored in [Crapo et al. 2000 and 2002] and is the basis of the visualisation techniques used to enable the user to create and understand models that are subsequently translated into software representations. This is also explained in chapter one of Watch What I Do: Programming by Demonstration [Cypher, 1993], explains how the Pygmalion language attempts to bridge the gap between the programmer's mental model of a subject and what the computer can accept. The author of this system David Smith went on to develop office oriented icons as part of the Xerox's "Star" computer project.


My research based on these ideas is available at http://www.cems.uwe.ac.uk/amrc/seeds/Visualisation.htm


and my examples at http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm


References


Smith, D. C., 1977. A Computer Program to Model and Stimulate Creative Thought. Basel: Birkhauser.


Smith, D. C., 1993. Pygmalion: An Executable Electronic Blackboard. In: A. Cypher, ed. Watch What I Do: Programming by Demonstration. MIT Press, Chapter 1 http://www.acypher.com/wwid/Chapters/01Pygmalion.html - ISBN:0262032139.


Guibert, N., Girard, P., Guittet, L., 2004. Example-based Programming: a pertinent visual approach for learning to program. Proceedings of the working conference on Advanced visual interfaces. pp 358-361 - ISBN:1-58113-867-9.


Hanna, K., 2005. A document-centered environment for Haskell. 17th International Workshop on Implementation and Application of Functional Languages IFL 2005 Dublin, Ireland - September 19-21 2005.


Elliott C., - Functional Programming by Interacting with Tangible Values - http://conal.net/papers/Eros/ - Conal Elliott - April 8, 2006.


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. Conference on Knowledge Discovery in Data - Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining pp 218-226.


Cypher, A., 1993. Watch What I Do Programming by Demonstration. MIT Press, Chapter 1 http://www.acypher.com/wwid/Chapters/01Pygmalion.html - ISBN:0262032139.