Introduction Although there are web modelling tools available it still needs considerable effort to adapt these tools for educational use. Research is needed into creation of Semantic Web models for educators to use in order to create learning objects and models. This educational modelling research should focus on the creation of a web based knowledge management system, and migration of simple models that are normally created in spreadsheets to a shared learning environment.
With the development of technologies under the broad terms of Semantic Web and Web 2.0 there are opportunities to establish a highly interactive web based learning environment. The constructionist approach to understanding problems is to learn about them by modelling them. This approach can be used in combination with research into enabling end-user programming techniques in order to provide an environment for non programmers to model their problems. Visualisation and interaction provide rapid feedback that gives a powerful representation of the environment to be modelled.
Many people would like to make greater use of computer technology but are hampered by the need to learn programming languages if they are to fully interact with software. Instead they are limited to the use of certain features that are provided for them. A further constraint is the cost of software, and it is important to develop free software and encourage a community of end-user developers, and modellers. The aim should be to create a software development environment that enables people to customise their own software solution. This is an alternative to provision of software as a finished article that can't be changed. The e-learning software can be customised without requiring programming expertise.
Methodology A Semantic Web modelling infrastructure could be created to be the basis of future research in learning systems. In order to achieve these aims it is important to examine applications that assist in model building and critically review them. The system we could be used to promote engineering to a skeptical public who see the profession as poorly paid and dirty, 'House of Lords Select Committee on Science and Technology report science and society' [1], and remote from the public [2]. The aim of this research is to try to bring together the areas of E-Learning, End-User Programming and the Semantic Web.
Since Engelbart's Augment [3] there have been attempts to create systems to aid learning. Papert [4] and Smith [5] built on the Augment research to develop a method of Human Computer Interaction (HCI) that can be applied to e-learning. These systems were defined prior to the Semantic Web. It is important now to re-examine and apply this research using Semantic Web/Web 2.0 tools and techniques. Some examples are available [6], more information about the history of end-user programming is available [7].
Mechanisms of Web 2.0 [8] applications include Google web spreadsheets [9]. These applications are increasing in popularity, and can provide modelling capability over the Web, the use of Web 2.0 for public policy is examined in [10]. The advantages of open source collaboration are that as well as allowing researchers to co-operate and work together where they share an interest; it also allows the untapped potential to be developed of those who do not have an official research position. This includes students, people employed outside the academic environment, retired people and amateurs who have useful expertise. Astronomy, for example, has harnessed skills of this very diverse range of people to make new discoveries. The expertise provided by anyone involved can be applied to feedback on usefulness, or ease of use of software, as well as actual involvement in software development. This means feedback would be sought from users of software even if they were not software experts. Researchers would benefit the community by providing education tools online and for libraries. This is different from other open source communities in that the intention is to make the software easier to use and develop, and so involve those who have not previously been capable of participating in software development.
An E-Learning and Modelling tool could bring together experts in science, engineering, systems modelling, computing, web development, and Human Computer Interaction. In any location there are likely to be several researchers examining a different part of a related overall subject, such as web based systems. This means there is a need to co-ordinate researchers, in computing and engineering in a project to link together work on information management and visualisation for modelling and decision support.
Many people who are experts in their domain want to create software models. Scaffidi et al [11] show that most people who develop software are end users not professional programmers. End-user programming is particularly important in this research to make it possible for people who do not have a programming background to create their own educational tools. Semantic Web tools and techniques can be used to create a web based end-user programming environment, these aims are also explained in [12]. People can then use this to create their own software. This software could allow interactive visual modelling of information. This corresponds to the type of work normally undertaken using spreadsheets for modelling, and web editors for knowledge management.
Semantic/Web 2.0 Web Tools The need is for an alternative way of representing these models, which does not require the user to write code. The tool created must make it practical to interact with and change educational models and to share information with others. Such a project can involve use of editing tools such as wikis [13][14][15], blogs, and semantic web editors [16][17][18] to allow discussion and explanation of the models.
There is an urgent need for Semantic Web tools to illustrate the benefits this technology can provide for education, 'EASE: The European Association Semantic Web Education' [19] explains this need. Some Semantic Web tools are available, explained by EASE and in the Jena User Conference [20] or being developed at present, but they are still difficult for people to make use of as they require a good deal of development expertise. REASE (the repository of EASE for learning units) [21] provides a way to find and create learning materials for industrial applications of Semantic Web technologies.
The key problem is enabling a Semantic Web infrastructure that will be the basis for future research in learning systems. To achieve this, a modelling environment needs to be created in order to allow people to customise their own models. This environment can be created using an open standard language such as XML (eXtensible Markup Language). As the high level translation this infrastructure would depend on tools developed in order to assist the user, provide an interface and manage the user interface. This is why tools should be used such as Protégé [13], Amaya [16][17][18]. Until recently XML has been used to represent information, and programming languages used for actual code. Semantic languages such as XML can be applied to software development as well as information representation, as they provide a higher level declarative view of the problem. Semantic Web techniques should be used because they can facilitate computer based communication. Berners-Lee defined the Semantic Web as 'a web of data that can be processed directly or indirectly by machines' [22]. Flexibility is essential when different people are not all using the same systems. To achieve this flexibility ontology languages such as the open standard OWL (Web Ontology Language) [23] can be used. OWL can be searched using SPARQL [24] because it is based on RDF (Resource Description Framework)/XML, and can be searched and accessed using XQuery [25] and XForms [26].
End-User Programming An end-user programming project could involve co-operation with the Institute for End User Computing (IEUC) [27]. Other End-User Programming Consortiums are End-Users Shaping Effective Software (EUSES) [28] and Network of Excellence on End User Development (EUD.Net) [29]. An end-user programming environment can make use of 'Program Transformation'. Program Transformation allows for writing in one representation or language, and translating to another. This is particularly useful for language independent programming, or for high level end-user programming that can then be translated to a language more easily understood by computer systems. This research is influenced by the theory of constructionism explained in [30] and the use of Logo for teaching [31] and [32]. This research could be particularly focused on the web environment, as this is cheap to support and allows for distributed modelling, and learning [30].
Human Computer Interaction Use of the Semantic Web is to be a means for open standard representation of learning material, transformation into different representations as required, and for provision of a high level interface as a tool for model creation, and translation to educational objects. To achieve this is necessary to create a translator that converts the diagrammatic representation of a problem into e-learning objects. Translations could be performed into any programming or meta-programming language or open standard information representation language, the visualisation of the model created could be displayed on the web. A two way translation is needed between human and computer, and between different software environments. This definition used by Simons and Parmee [33] explains the aim "a kind of action that occurs as two or more objects have an effect on each other. The idea of a two-way effect is essential to the concept of interaction, as opposed to a one way causal effect".
This communication strategy improves opportunities for end-user programming, sharing of information, and education of both users and computer software. The analogy of educating computer software to do what the user intends is called programming by demonstration in 'Watch What I Do: Programming by Demonstration' [34]. The user has the role of an educator of the software which acts as an apprentice to learn what is required. Learners are thus able to instruct the software and so program solutions, using an adaptive modelling tool. The education is then a two way process of the user learning from computer based software, and the software learning to do what the user requires. In order to enable understanding of the models and e-learning objects it is essential to visualise them and allow interaction. The visualisation can be depicted in various ways. Two examples are: as a tree (that can be colour coded to represent different types of information) and as an interactive SVG (Scalable Vector Graphics) diagram of a component to be modelled. SVG is an XML based syntax so can be searched and modelled as such. Examples show a tree based representation of engineering components [35], and how a tree based representation is converted into an interactive diagrammatic representation [36]. Transformations are performed between a taxonomy representation of information into many different visualisations and software representations. This process converts an abstract representation of a problem to a concrete model created with the aid of two way communication between the user and the modelling tool.
Highly interactive web pages that act like programs to provide a user interface can be used to provide an interactive User Driven Programming environment. These interactive web pages can be based on visual programming languages such as Alice [37]. Interactive web programs can also be created using scripting languages and XML combinations such as AJAX (Asynchronous JavaScript And XML), which is an overall name for techniques to create highly interactive web pages. Ajax techniques for creation of interactive web models will assist computer literate end-users in programming tasks on the web [38].
Collaborative Modelling Huhns [39] and Paternò [40] both explain that alternatives to current software development approach are required. The need is to translate from a model-based visual representation understood by users to software. Johnson [41] explains that successful interaction requires mapping between levels of abstractions and that translation between these abstraction levels 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 mis-translation. The representation of rules and information can be illustrated diagrammatically. It is possible to describe algorithms through concrete examples rather than abstractly. Models must be designed and visualised so that they convey to users a representation of a problem that assists with their vision of it. This subject is explored in [42] and is the basis of our visualisation techniques that enable users to create and understand models, which are translated into software representations.
Conclusion Advantages of this research are : -
- Creation of an open standard online e-learning environment that is usable by non-programmers. - Enabling of creation of e-learning objects by non programmers. - Enabling widespread dissemination and sharing of models over the web. - Provision of an educational resource for students, scientists, engineers, software developers, arts, and business. - Increased user involvement in e-learning development to allow savings in cost and time taken for this development, and enable greater creation and use of educational tools. - Availability of e-learning models and interactive visualisation of educational objects much more widely using browser based software. - Enabling many more people to program. - Opening up opportunities to people currently outside formal education.
This research can bridge the gap between computer literate people and e-learning software creation. This can give a practical illustration of the benefits end-user programming and Semantic Web techniques could provide for e-learning.
References [1] Select Committee on Science and Technology Third Report Chapter 2: Public Attitudes and Values - Attitudes to engineering 2.39 - http://www.publications.parliament.uk/pa/ld199900/ldselect/ldsctech/38/3804.htm.
[2] Canavan B, Magill J, Love D, A Study of the Factors Affecting Perception of Science, Engineering and Technology (SET) in Young People (2002), International Conference on Engineering Education, August 18-21, 2002, Manchester, U.K.
[3] Augment - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory/Augment.htm.
[4] Seymour Papert - Logo - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory/Logo.htm.
[5] Smith, D. C., 1977. A Computer Program to Model and Stimulate Creative Thought. Basel: Birkhauser.
[6] Examples Page - http://www.cems.uwe.ac.uk/amrc/seeds/models.htm.
[7] History of End User Programming - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory.htm.
[8] Mayo, E., Steinberg, T., The Power of Information, 2007 http://www.cabinetoffice.gov.uk/publications/reports/power_information/power_information.pdf?id=3965 Cabinet Office - An independent review.
[9] Google, 2007. Create and share your work online https://www.google.com/accounts/ManageAccount.
[10] JISC (Joint Information Systems Committee) Technology and Standards Watch. 2007. What is Web 2.0? Ideas, technologies and implications for education.
[11] Scaffidi, C., Shaw, M., Myers, B. (2005). Estimating the Numbers of End Users and End User Programmers, IEEE Symposium on Visual Languages and Human-Centric Computing, (VL/HCC'05): 207-214 Dallas, Texas.
[12] Stutt, A., Motta, E., 2004. Semantic Learning Webs. Journal of Interactive Media in Education, 2004 (10). Special Issue on the Educational Semantic Web. ISSN:1365-893X - http://www-jime.open.ac.uk/2004/10.
[13] Protégé Community Wiki - User Driven Progamming - http://protege.cim3.net/cgi-bin/wiki.pl?UserDrivenProgramming.
[14] Vanguard Software Modelling Wiki - http://wiki.vanguardsw.com/bin/browse.dsb?dir/Engineering/Aerospace/.
[15] Visual Knowledge http://www.visualknowledge.com - Semantic Wiki.
[16] Quint, V., Vatton, I., 2004. Techniques for Authoring Complex XML Documents, DocEng 2004 - ACM Symposium on Document Engineering Milwaukee October 28-30 - http://wam.inrialpes.fr/publications/2004/DocEng2004VQIV.html.
[17] Quint, V., Vatton, I., 2005. Towards Active Web Clients, DocEng 2005 - ACM Symposium on Document Engineering Bristol United Kingdom 2-4 November - http://wam.inrialpes.fr/publications/2004/DocEng2004VQIV.html.
[18] Amaya, 2007. Welcome to Amaya - W3C's Editor/Browser http://www.w3.org/Amaya/.
[19] Diederich, J, Nejdl, W, Tolksdorf R, 2006, EASE: The European Association for SemanticWeb Education, SWET2006 Beijing, China.
[20] Jena User Conference, 2006, Bristol, UK http://jena.hpl.hp.com/juc2006/proceedings.html - Proceedings (2006).
[21] REASE the repository of EASE for learning units http://ubp.l3s.uni-hannover.de/ubp.
[22] Berners-Lee, T, 1999, Weaving the Web, Harper San Francisco, ISBN 0062515861.
[23] Bechhofer, S., Carrol, J., 2004. Parsing owl dl: trees or triples?. Proceedings of the 13th international conference on World Wide Web, NY, USA, pp 266-275.
[24] SPARQL http://dret.net/glossary/sparql - Simple Protocol and RDF Query Language
[25] World Wide Web Consortium (W3C), 2006. XQuery 1.0: An XML Query Language http://www.w3.org/TR/xquery/.
[26] Bruchez, E, 2006. XForms: an Alternative to Ajax?. XTech 2006: Building Web 2.0 16-19 May 2006, Amsterdam, The Netherlands.
[27] Institute for End User Computing http://www.ieuc.org/home.html.
[28] Network of Excellence on End User Development EUD.Net http://giove.cnuce.cnr.it/eud-net.htm.
[29] End-Users Shaping Effective Software (EUSES) http://eusesconsortium.org/.
[30] Resnick, M., 1996. Distributed Constructionism. In: 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.
[31] Papert, S., 1999. What is Logo? And Who Needs it? An essay. LCSI's book, Logo Philosophy and Implementation. http://www.microworlds.com/company/philosophy.pdf.
[32] MIT Logo Foundation, 2006. What is Logo? http://el.media.mit.edu/Logo-foundation/logo/index.html.
[33] Simons, C. L. Parmee, I. C., 2006, A manifesto for cooperative human / machine interaction, object-oriented conceptual software design, Advanced Computation in Design and Decision Making group Technical Report TR091006 - http://www.cems.uwe.ac.uk/~clsimons/Publications/CooperativeInteraction.pdf.
[34] Cypher, A, 1993, Watch What I Do Programming by Demonstration, MIT Press, ISBN:0262032139.
[35] Hale P, http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm - Spar - Tree based representation.
[36] Hale P, http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm - Interactive Examples.
[37] Alice http://www.alice.org/ - Alice v2.0 - Learn to Program Interactive 3D Graphics.
[38] Cagle K, AJAX on the Enterprise, AJAXWorld conference, October 4, 2006 - http://www.oreillynet.com/xml/blog/2006/10/ajax_on_the_enterprise.html.
[39] Huhns M, 2001, Interaction-Oriented Software Development, Journal of Software Engineering and Knowledge Engineering.
[40] Paternò F, 2005, Model-based tools for pervasive usability, Interacting with Computers Vol 17(3), pp 291-315.
[41] Johnson, P., 2004. Interactions, Collaborations and breakdowns. ACM International Conference Proceeding Series; Proceedings of the 3rd annual conference on Task models and diagrams Vol 86.
[42] Crapo A W, Waisel L B, Wallace W A, Willemain T R, 2002, Visualization and Modelling for Intelligent Systems, Intelligent Systems: Technology and Applications, Vol I Implementation Techniques pp 53-85.
E-Learning - http://www.cems.uwe.ac.uk/~phale/ELearning.htm
End-User History - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory.htm
Models - http://www.cems.uwe.ac.uk/amrc/seeds/models.htm
I am a Researcher in the final year of my PhD. I specialise in applying Semantic Web techniques. My current research is on a technique of 'User Driven Modelling/Programming'. My intention is to enable non-programmers to create software from a user interface that allows them to model a particular problem or scenario. This involves a user entering information visually as a tree diagram. I am attempting to develop ways of automatically translating this information into program code in a variety of computer languages. This is very useful for many employees that have insufficient time to learn programming languages.