Thursday, May 17, 2007

History of End User Programming

1960s

In the 1960s Dartmouth BASIC programming language [7] was designed and implemented at Dartmouth College by John Kemeny and Thomas Kurtz. Over time BASIC became a popular language for home users, and business use, it introduced many people to programming as a hobby or career. Many of the modern concepts of computer graphics, dynamic objects and object oriented programming were prototyped by Ivan Sutherland in 1963 in Sketchpad [13][14]. 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 [25] in 1967. In the late sixties Alan Kay [2][3][17] used the term 'personal computer' and created a concept prototype, the FLEX Machine, he also envisaged a 'Dynabook' machine, the sketches for this look very similar to the laptop computers of recent years. The Simula [28] language was developed by Ole-Johan Dahl and Kristen Nygaard and this included Object-Oriented concepts. Douglas Engelbert's worked on a project to augment the human intellect, as part of the Augment [8] project he demonstrate Hypertext and video conferencing.

1970s

Alan Kay joined the Xerox Palo Alto Research Center (PARC) [17][19] California in 1971. Throughout the seventies the group at PARC led by Dr. Kay developed an integrated programming language and programming environment called Smalltalk [10]. In the early seventies the Alto personal computer was created at the PARC. The Alto eventually featured the world's first What-You-See-Is-What-You-Get (WYSIWYG) editor, a commercial mouse for input, a graphical user interface (GUI), and bit-mapped display, and offered menus and icons, and linked to a local area network. The Alto provided the foundation for Xerox's STAR 8010 Information System. There was still a need to find a common use for a personal computer that would increase the demand for it. In 1978, Harvard Business School student, Daniel Bricklin, came up with the idea for an interactive visible calculator. Bricklin and Bob Frankston then co-invented the software program VisiCalc [1]. VisiCalc was a spreadsheet, and the first 'killer' application for personal computers as this application provided a justification for using personal computers as a productive tool.

1980s

During the 1980s ownership of personal computers became increasingly popular and many home users programmed using BASIC. In the early eighties IBM developed the first personal computer built from off the shelf parts (called open architecture) [15]. This included a command line operating system written by Microsoft and the Microsoft BASIC programming language. Apple developed the GUI further for the Lisa [5] that later became the Macintosh (Mac). The IBM style PC became most popular for business applications, while the Apple Mac was often used for Desktop publishing.

1990s

End User Programming research has continued to the present day. Research has continued in techniques of Visual Programming [9] e.g. Alice [4], Programming by Example [2][21], programming with automated assistance [20], and Natural Language Programming [27]. Squeak and Croquet[6] have developed from the early work in Smalltalk.

Tim Berners-Lee [23] developed HyperText Markup Language (HTML), and has been involved with the World Wide Web Consortium (W3C) [29] in developing standards base languages for the Web. This has encouraged the growth of the 'Semantic Web' [11] which allows both humans and computers to search and interact with pages more and so encouraged the development of interactive web pages and communities.

2000s

Recent, present and future research can enable the use of semantic web technologies, (developed from HTML by Tim Berners-Lee [23] and others), to enable End User Programming. This fusion of research and technologies is illustrated by Henry Lieberman's home page [12] which has explanations of both areas of research. Examples of this fusion include Protégé [22], Jena [16], TopBraid Composer [24], and OpenCyc [18]. Information about these technologies is available in my semantic web page - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm. A related development is that of web 2.0. Visual development environments based on AJAX (Asynchronous JavaScript And XML) [26] aim to reproduce on the web, the functionality provided by office tools such as Excel (which is often used as an End User Programming Environment). Information about Ajax and Web 2.0 is available in my Ajax/web2.0 page - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm.

References

1. A Brief History of Spreadsheets - http://dssresources.com/history/sshistory.html - Decision Support System Resources - by D. J. Power, Editor, DSSResources.COM.

2. Alan Kay - http://www.acypher.com/wwid/FrontMatter/index.html - Watch What I Do - Programming by Example.

3. Alan Kay ETech 2003 presentation - http://www.lisarein.com/alankay/tour.html - Lisa Rein's Tour Of Alan Kay's Etech 2003 Presentation.

4. Alice v2.0 - http://www.alice.org/ - Learn to Program Interactive 3D Graphics.

5. Apple Lisa - http://fp3.antelecom.net/gcifu/applemuseum/lisa2.html - The First Affordable GUI - Lisa 1 Jan-83 Jan-84, Lisa 2 Jan-84 Apr-85.

6. Croquet - http://www.opencroquet.org/ - a new open source software platform for creating deeply collaborative multi-user online applications.

7. Dartmouth BASIC - http://en.wikipedia.org/wiki/Dartmouth_BASIC - Wikipedia.

8. The Demo - http://sloan.stanford.edu/mousesite/1968Demo.html - Stanford University.

9. Dmoz Open Directory Project - http://dmoz.org/Computers/Programming/Languages/Visual/ - Visual Languages - Programming Languages Reference - Visual Languages.

10. The Early History Of Smalltalk by Alan Kay - http://www.smalltalk.org/smalltalk/TheEarlyHistoryOfSmalltalk_II.html - 1967-69--The FLEX Machine, a first attempt at an OOP-based personal computer - Alan Kay - Smalltalk.org.

11. Fifteen Years of the Web - http://news.bbc.co.uk/1/hi/technology/5243862.stm - Internet Timeline - BBC Technology.

12. Henry Lieberman - http://web.media.mit.edu/~lieber/ - Research Scientist - MIT Media Laboratory.

13. History of HCI - http://www.idemployee.id.tue.nl/g.w.m.rauterberg/presentations/HCI-history - Key systems, people and ideas - Presentation by Matthias Rauterberg.

14. History of HCI - Sketchpad (1963) - http://www.idemployee.id.tue.nl/g.w.m.rauterberg/presentations/HCI-history/sld020.htm - Ivan Sutherland - MIT Lab - Presentation by Matthias Rauterberg.

15. Inventors of the Modern Computer - http://inventors.about.com/library/weekly/aa031599.htm -The History of the IBM PC - International Business Machines.

16. Jena - http://jena.hpl.hp.com/juc2006/proceedings.html - First Jena User Conference - Proceedings.

17. Kyoto Prize Laureates 2004 - http://www.kyotoprize.org/commentary_kay.htm - 2004 Kyoto Prize Laureates - Dr. Alan Curtis Kay (U.S.A., b. 1940) - Computer Scientist, President, Viewpoints Research Institute.

18. OpenCyc - http://www.opencyc.org/ - OpenCyc.org - General knowledge base and commonsense reasoning engine.

19. Palo Alto Research Center (PARC) - History - http://www.parc.xerox.com/about/history/default.html - PARC History.

20. The Programmer's Apprentice - http://portal.acm.org/citation.cfm?id=87912&dl=ACM&coll=GUIDE - The ACM Digital Library.

21. Programming by Example - http://web.media.mit.edu/~lieber/PBE/index.html.

22. Protege - http://protege.stanford.edu/ - Protégé Home - Ontology Development Environment.

23. Tim Berners - http://www.w3.org/People/Berners-Lee/Lee - Tim Berners-Lee.

24. TopBraid - http://www.topbraidcomposer.com/ - Semantic Modeling Toolset - Visual modeling environment.

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

26. Wikipedia - http://en.wikipedia.org/wiki/Ajax_(programming) - Ajax (programming).

27. Wikipedia - http://en.wikipedia.org/wiki/Natural_language_and_computation - Natural language processing.

28. Simula - http://en.wikipedia.org/wiki/Simula - Simula.

29. World Wide Web Consortium (W3C) - http://www.w3.org/ - Leading the Web to Its Full Potential....

Useful End User Programming Links

"A History of Haskell: being lazy with class", Paul Hudak (Yale University), John Hughes (Chalmers University), Simon Peyton Jones (Microsoft Research), Philip Wadler (Edinburgh University), http://research.microsoft.com/~simonpj/papers/history-of-haskell/index.htm - The Third ACM SIGPLAN History of Programming Languages Conference (HOPL-III) San Diego, California, June 9-10, 2007.

Alan Blackwell - University of Cambridge - Human Computer Interaction - End User Programming.

BBC Technology news - Free tool offers 'easy' coding - http://news.bbc.co.uk/1/hi/technology/6647011.stm - A free programming tool that allows anyone to create their own animated stories, video games and interactive artworks has been developed - Jonathan Fildes - 14 May 2007.

Celebrating the creator of Cobol - http://news.bbc.co.uk/1/hi/technology/6168489.stm - BBC News - Mark Ward December 11th 2006.

The Centre for Advanced Learning Technologies - The Centre for Advanced Learning Technologies - studying the impact of new media and technologies on the business environment.

Computer History Museum - Exhibits - Timeline.

Computer Languages History - http://www.levenez.com/lang/ - Computer Languages Timeline - Éric Lévénez. - O'Reilly Poster based on Éric Lévénez diagram.

Constructivist Computer Assisted Learning: Theory and Techniques - http://www.ascilite.org.au/conferences/adelaide96/papers/21.html - Barney Dalgarno - Information Services Division - University of Canberra - The changes that have occurred in accepted approaches to teaching and learning in recent years have been underpinned by shifts in psychological and pedagogical theory, culminating in moves towards a constructivist view of learning.

Dmoz Open Directory Project - Programming Languages - Programming Languages Reference - Alphabetic List of Programming Languages - Definitions and Links.

DSpace - http://www.dspace.org/ - The DSpace digital repository system captures, stores, indexes, preserves, and distributes digital research material.

Euses End Users Shaping Effective Software research collaboration - Welcome to EUSES - Research Collaboration.

Euses Presentation - End User Programming - Invited Research Overview - Brad Myers, Andrew Co, Margaret Burnett - Carnegie Mellon, Oregon State Universities.

Generative Programming - Generative Programming - Methods, Tools, and Applications - Krzysztof Czarnecki and Ulrich W. Eisenecker - Addison-Wesley, June 2000.

Hackety Hack - http://hacketyhack.net/ - In this century, you may have dozens of programming languages lurking on your machine. But how to use them?? A fundamental secret! Well, no more. We cannot stand for that. Hackety Hack will not stand to have you in the dark!!

History of Computing - http://www.ieuc.org/end-user-computing/references/notes/HistoryofComputing.html - One of the best works in this regard can be found in the volumes devoted to The History of Programming Languages. - The Insititute for End User Computing.

History of End User Programming - Article - Peter Hale.

History of Haskell - http://haskell.org/haskellwiki/History_of_Haskell.

How the internet transformed business - BBC Business - By Steve Schifferes Business editor, BBC News website.

How the Spectrum began a revolution - http://news.bbc.co.uk/1/hi/technology/6572711.stm - In April 1982 a small British company, lead by Sir Clive Sinclair, launched the ZX Spectrum computer and sparked a revolution. - 23 April 2007 - BBC News Technology.

How the web went world wide - BBC Technology - Mark Ward Technology Correspondent, BBC News website.

IBM developerWorks Interviews: Rod Smith - http://www-128.ibm.com/developerworks/podcast/dwi/cm-int062806.html - IBM vice president of Emerging Internet Technologies on the business of watching, encouraging, and leveraging new technologies.

IBM QED Wiki - IBM eyes programming for the masses - By Martin LaMonica - CNET News.com.

I think, therefore I Woz - http://news.bbc.co.uk/1/hi/technology/6077374.stm - BBC News - Technology - Steve Wozniak,Apple - 25th October 2006.

In pictures: Commodore computers - http://news.bbc.co.uk/1/hi/in_pictures/6454113.stm - The rise, fall and rise again of gaming icon Commodore - 15 March 2007.

ISTI-CNR, Pisa, Italy - Model-based Tools for Pervasive Usability - Fabio Paternò.

John Backus (1924-2007) - John W. Backus, who built and led the IBM team that created Fortran, the first widely used programming language, which helped to open the door to modern computing, died on 17 March at his home in Ashland, Oregon, USA. He was 82.

Journal of Visual Languages and Computing - Journal Home Page - Elsevier.

Network of Excellence on End User Development - Network of Excellence on End User Development - EUD-Net

Oregan State and Houston University - Automatic Generation and Maintenance of Correct Spreadsheets - Martin Erwig, Robin Abraham, Irene Cooperstein, Steve Kollmansberger.

Palo Alto Research Center (PARC) - http://www.parc.com/ - Palo Alto.

Raskin Center - http://rchi.raskincenter.org/index.php?title=Home - Exploting New Interface Directions.

Science Museum - http://www.sciencemuseum.org.uk/collections/subject_themes/computing.asp - Computing and Information Technology.

Semantic Information Processing - Semantic Information ProcessingMarvin L. Minsky - The MIT Press.

Software Abstractions - Resources and Additional Materials - Book with sample chapters online - Daniel Jackson.

Socratic Arts - http://www.socraticarts.com/ - Online learning services.

Software componentry - http://en.wikipedia.org/wiki/Software_componentry - Wikipedia - Software componentry.

The beauty of software - British Computer Society Turing Lecture March 2007 Grady Booch - Full write up - http://www.bcs.org/server.php?show=ConWebDoc.10367 - This year's Turing Lecture was given by Grady Booch under the title 'The promise, the limits, the beauty of software.' - 13 March 2007

The Dangers of End-User Programming - Portland State University - Warren Harrison.

The Geometer's Sketchpad:Programming by Geometry - http://www.acypher.com/wwid/Chapters/13Sketchpad.html - R. Nicholas Jackiw and William F. Finzer - from Watch What I Do: Programming by Demonstration - edited by Allen Cypher co-edited by Daniel C. Halbert, David Kurlander, Henry Lieberman, David Maulsby, Brad A. Myers, and Alan Turransky.

The History of Computer Programming Languages - http://www.princeton.edu/~ferguson/adw/programming_languages.shtml - Stephen Ferguson - Princeton University Library.

The History of Computing Project - http://www.thocp.net/.

The Institute for End User Computing, Inc. The Chronicles of End User Computing... http://www.ieuc.org/home/chronicles.html as edited on Saturday, January 22, 2005.

The Institute for End User Computing, Inc. The IEUC Homepage - http://www.ieuc.org/home.html - as edited on Wednesday, May 17, 2006.

The Institute for End User Computing - The Market's Failure to Meet End User Needs - http://www.ieuc.org/home/market-failure.html.

The Magic of the 80's - http://www.ieuc.org/end-user-computing/references/notes/themagicofthe80s.html - For a wonderful cultural history of the early days of the PC revolution, see S. Levy, Hackers : heroes of the computer revolution - The Insititute for End User Computing.

Twenty five years of the IBM PC - BBC News - Technology.

UK home computer pioneer honoured - http://news.bbc.co.uk/1/hi/technology/6217447.stm - BBC News - British technology pioneer Andrew Hopper becomes a CBE in the New Year Honours list.

Universidad Autónoma de Madrid - Dr José A. Macías - publications - Research - End User Development (EUD).

University of the West of England - UWE Student Project - http://www.cems.uwe.ac.uk/amrc/seeds/Web%20Semantic/Index.html - Investigating and implement the idea of 'ModConsWest' (Modelling and Constructionism with Web based E-Learning Semantic Tools)" - Lee Ediagbonya and Awaab Eltahir.

Where does the web go from here? - BBC Technology - Bill Thompson.


Useful Publications

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

A History of Haskell: being lazy with class, Paul Hudak (Yale University), John Hughes (Chalmers University), Simon Peyton Jones (Microsoft Research), Philip Wadler (Edinburgh University), http://research.microsoft.com/~simonpj/papers/history-of-haskell/index.htm - The Third ACM SIGPLAN History of Programming Languages Conference (HOPL-III) San Diego, California, June 9-10, 2007.

Estimating the Numbers of End Users and End User Programmers, Scaffidi, C., Shaw, M., Myers, B. (2005). IEEE Symposium on Visual Languages and Human-Centric Computing, (VL/HCC'05): 207-214 Dallas, Texas.

Example-based Programming: a pertinent visual approach for learning to program (2004) - University of Poitiers - Nicolas Guibert - Patrick Girard - Laurent Guittet - Proceedings of the working conference on Advanced visual interfaces - Pages: 358 - 361 - ISBN:1-58113-867-9.

History of Programming Languages, Bergin T J, Gibson R G, 1996, Volume 2, ISBN-10: 0-201-89502-1; ISBN-13: 978-0-201-89502-5.

Interaction-Oriented Software Development (2001) Huhns M N, International Journal of Software Engineering and Knowledge Engineering 11 3 259-277.

Model-based tools for pervasive usability, 2005, Paterno Fabio, Interacting with Computers 17, 291-315.

The Programmer's Apprentice, 1990, Rich C, Waters R C, The ACM Digital Library - ISBN:0-201-52425-2.

Watch What I Do: Programming by Demonstration - Cypher, A, 1993, MIT Press, ISBN:0262032139.

http://www.acypher.com/wwid/ - Watch What I Do: Programming by Demonstration - The entire text of this book is included on this web site. Access it through the Table of Contents.

http://www.acypher.com/wwid/FrontMatter/index.html.

Your Wish is My Command: Giving Users the Power to Instruct their Software - http://web.media.mit.edu/~lieber/Your-Wish/ - Henry Lieberman, editor.


I am a Researcher in the final year of my PhD. I specialise in applying Semantic Web techniques. My current research is on a technique of 'User Driven Modelling/Programming'. My intention is to enable non-programmers to create software from a user interface that allows them to model a particular problem or scenario. This involves a user entering information visually in the form of a tree diagram. I am attempting to develop ways of automatically translating this information into program code in a variety of computer languages. This is very important and useful for many employees that have insufficient time to learn programming languages. I am looking to research visualisation, and visualisation techniques to create a human computer interface that allows non experts to create software.


I am a member of the Institute for End User Computing - http://www.ieuc.org/home.html.


My Home Page is http://www.cems.uwe.ac.uk/~phale/.


A web page for this article is at http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory.htm.

Sunday, May 13, 2007

Programming with Semantic Web Languages

For my PhD thesis in User Driven Programming I've been experimenting with using Semantic Web Languages as programming languages. The two approaches I've used are:-

Option 1 - To put all the data in Semantic Web languages e.g XML, SVG, RDF/XML, OWL, and then display them using a programming language such as Flash, or Java (applets) -http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm

http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/JavaTree/AutomaticaOutputSpar/classes/TreeOutput.html.

Option 2 - To use the above languages as meta languages for actual programming -

http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/SparMenu.xml

http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/SparMenu.html

Some of these solutions have used aspects of both approaches. These examples use SVG and JavaScript -http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm.

It is becoming increasingly practical to program completely in the Semantic Web languages. These languages enable declarative programming where we tell the computer what we want to do, and a translation is performed either using languages such as JavaScript or Java, or into JavaScript or Java.

The advantages of this form of declarative programming are that we can use a language that is at a much higher level of abstraction, closer to the way people think. I have been creating these programs by editing them in Protege (ontology editor) and using a translator to convert them to whatever code is needed. This makes it possible to perform visual programming in a meta language (OWL) Web Ontology Language (option 2), without needing to worry about how it's implemented. The possibilities for this are that it becomes sufficiently intuitive, so that people can eventually create their own software for a wide variety of tasks, in a point and click way and using similar tools to web page editors. This would enable anyone who is computer literate to program the computer themselves to do their tasks, and if this is of interest to others, they can release their solution over the web.

Technologies such as XForms - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm#XForms, XQuery - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htm#XQuery, and SPARQL - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm#SPARQL

make it possible to provide the sort of collaborative interactivity that Tim Berners-Lee calls 'Intercreativity' in Weaving the Web - http://www.w3.org/People/Berners-Lee/Weaving/. In this book he also discussed the use of Semantic Web Languages as programming languages. He makes the point that it isn't the power of the language that is important in providing this intercreativity. The simplicity of a language such as RDF makes it easier to provide interconnected solutions to complex problems, without becoming bogged down with the complexity of the language itself, and interoperability problems. Tim Berners-Lee sums up the advantage of a Semantic Web program over programs in other languages. He writes "The advantage of putting the rules in RDF is that in doing so, all the reasoning is exposed, whereas a program is a black box: you don't see what happens inside it." If these rules are also visualised, they are exposed to everyone, including non-programmers.

These advances make it practical to develop a high level visual interface that can allow people to develop open source, open standard, interoperable programs and share them. This can allow the development of open source communities similar to those developing software currently, but only requiring the level of skill it takes to get started in visual collaboration tools such as MySpace.

In Weaving the Web Tim Berners-Lee writes "The Semantic Web, like the Web already, will make many things previously imposible just obvious". I think visual Semantic Web programming is one of those obvious things.

Semantic Web Languages could also be a useful programming tool for creation and editing of E-Learning objects (Stutt and Motta, 2004).

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., Fischetti, M., 1999. Weaving the Web. Harper San Francisco; Paperback: ISBN:006251587X - http://www.w3.org/People/Berners-Lee/Weaving/.

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.

World Wide Web Consortium (W3C), 2007. Extensible Markup Language (XML) http://www.w3.org/XML/.

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

World Wide Web Consortium (W3C), 2007. Scalable Vector Graphics (SVG) XML Graphics for the Web http://www.w3.org/Graphics/SVG/.

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

World Wide Web Consortium (W3C), 2006. XQuery 1.0: An XML Query Language http://www.w3.org/TR/xquery/.

Monday, May 07, 2007

Translation for Visual End User Programming

Research Theory influencing this Translation Mechanism


The use of the Semantic Web in my thesis is to be a means for open standard representation of information (built on XML), transformation into different representations as required, and for provision of a high level interface as a tool for model creation, and translation to program code. An 'elaborator', is used, this is a translator that converts the diagrammatic representation of the problem into software code. Translations can be performed into any programming or meta-programming language or open standard information representation language, the visualisation of the model created can be displayed on the web. This translation builds on research in program and model transformation. The translation software performs transformations as required between different programming languages and visual model views. This has been prototyped, but it is important to further this research in order to establish a user base, and make the translation generic. Figure 1 shows the process.



Figure 1 - Translation Process


Implementation


Translation Process


This research involves finding alternative ways of representing models, which do not require the user to write code. The intention is to make it easier to interact with and change the models, and to share information with colleagues. The information used in the models resides in an ontology, and from this ontology models can be automatically produced via a recursive translation tool that has been prototyped.



The research for my thesis uses a technique of interpreting information in order to create decision support programs automatically in response to user choices. This technique is then extended for use in the automatic creation of programs in other computer languages and systems. This can be achieved by automated translation of the Vanguard Studio information into other languages. The basis of this is that elaborators are nodes in the tree, which are automatically created and dynamically write objects. This allows the wing box definition to be translated to the decision support system for costing and then to other software such as web pages for further processing or visualization. An open standard semantic editor Protégé created by Stanford University (2007) was used to structure this information into related taxonomies. This ontology holds the definitions of nodes representing information, and calculations to be performed. Taxonomies are created in Protégé for 'Parts', 'Materials', 'Consumables', 'Processes', 'Rates', and 'Tooling' for a prototype costing system. 'Parts' is the core taxonomy. New categories can be produced as required. Domain experts would edit the taxonomies; these experts can specify the relationships of classes and the equations to be used via a visual user interface in Protégé. These relationships are evaluated and translated to produce computer code. Figure 2 illustrates how code is produced from the semantic relationships.



Figure 2 - Translation Process Implementation


This model can be used as it is, or be a template for the generation of a further model(s). An example interface, a section from a model produced automatically, is shown in figure 3. This information is saved using a generic structure based on keys that define all relationships, into a relational database. This enables storage of hierarchical data in a relational database and also allows for separation of information into tables according to category, and the use of SQL (Structured Query Language) to automatically query and structure the information as required. Vanguards' tree based decision support tool Vanguard Studio (2007) reads this information and represents it as colour-coded nodes. The code written for this thesis automatically queries the taxonomies that make up the ontology and links the information as required for the model. The code builds in all the links required for the equations and thus links up information from different taxonomies, the information is colour coded according to which taxonomy it is from. This same code can be reused for any modelling problem, it builds the equations and follows the links to build each equation tree, and attach this to the rest of the tree. The decision support tool can perform calculations and so output results. Figure 3 shows how the decision support tool can automatically construct and represent a branch in the tree, visualize an equation and calculate a result. Red nodes represent processes, green nodes represent the part definition and magenta nodes represent resources. This illustrates how 3 taxonomies have been automatically linked because they are needed in this calculation. In this prototype hundreds of calculations have been related to each other, this example illustrates that 'Area' was also calculated, and that this forms part of the tree for the 'Hand Layup Tool Cleaning Cost', which in turn is passed into other calculations. Hundreds of calculations using information from all the taxonomies are linked as required in this costing example. The time taken to perform the translation from the ontology and to perform all the calculations is a less than a second.




Figure 3 Ontology to Model Conversion



References


Stanford University, 2007. Welcome to protégé - http://protege.stanford.edu/.


Vanguard Studio, 2007. 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


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


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

Tuesday, May 01, 2007

End User Programming Implementation Using Semantic Web Technologies

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

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

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

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

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

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

Tuesday, April 24, 2007

End-User Programming Using the Semantic Web

This article outlines future research that is required for the advancement of representation, search, and visualization of information, and at recent and future developments in the use and representation of taxonomies and ontologies, and visualization tools that can aid in their use. Berners-Lee et al (2006) explain the importance of visualization for navigation of information "Despite excitement about the Semantic Web, most of the world's data are locked in large data stores and are not published as an open Web of inter-referring resources. As a result, the reuse of information has been limited. Substantial research challenges arise in changing this situation: how to effectively query an unbounded Web of linked information repositories, how to align and map between different data models, and how to visualize and navigate the huge connected graph of information that results."

A new approach is required to software creation. This approach should involve developers creating software systems that enable users to perform high level programming, and model the problem for which they are the experts. This is an alternative to the provision by developers of modelling solutions that try to provide an out of the box solution that just needs 'tweaking'. Such an out of the box system is impractical considering both increases in complexity of manufactured products, and of software systems themselves. Cheung (2005) writes "there is no single management tool or data exchange format that can satisfy all requirements and overcome all the obstacles involved within a collaborative product development environment". People like to work on their own solutions providing they are computer literate and confident they have domain knowledge that the developers do not possess. Research cited here from others involved in end-user programming seems to confirm this.

Research in the use and visualization of Semantic Web information provides the tools that end-user programmers have been lacking until recently. Cheung (2005) explains that "With the development of user-friendly ontology editing software and automatic data exchange functions, the application of ontological approaches to exchange information across the WWW is most likely to be an essential aspect of the next generation of global knowledge management tools.

Horrocks (2002) explains the advantages of moving towards a more formal ontology. This can provide for a new way of enabling end-user programming - with the user editing interactive diagrams. In terms of automated model generation, labelling relationships between objects allows the depiction of a number of aspects of a domain in one model, and with a consistent syntax. Ciocoiu et al (2000) explain how an engineering ontology can be made more rigorous in order to facilitate interoperability. This allows representation of, say, a product structure and its manufacturing processes together. A single node then is the only representation of that node within the model, with all its relationships depicted as arcs emanating/terminating at the node. More expressive semantic descriptions are possible through the use of one of the standard OWL dialects. Protégé has OWL plug-ins available that provide this functionality, together with links to reasoning tools for maintaining and analysing the logical constructs (Storey et al, 2004) and (Elenius, 2005). The University of Victoria Computer-Human Interaction and Software Engineering lab (CHISEL) (2006) has developed Jambalaya (Ernst et al, 2003) for visualization of knowledge and relationships. Ernst et al explain that the "larger ontologies that are being developed quickly exhaust human capacity for conceptualizing them in their entirety", so the visualization tools must assist the user to view the information they need. Researchers at the University of Queensland Australia have developed a hyperbolic browser to display RDF files, this is explained in Eklund et al (2002). Cheung et al (2005) provide an ontology editor for knowledge sharing in manufacturing.

It is also important not to stay limited on one ontology development environment but instead explore how ontologies can be developed using a range of development tools and translated between each where necessary (Garcia-Castro and Gomez-Perez, 2006) are testing this. An important new development is SWRL a Semantic Web Rule Language Combining OWL and RuleML and its use in modelling. This could be of use for formally specifying the construction of equations and rules in a model and the relationships and constraints between items represented in an equation. Miller and Baramidze (2005), Horrocks et al (2003), and Zhang (2005) explain the SWRL language. Horrocks et al talk of defining properties as general rules over other properties and of defining operations on datatypes, this research could assist in providing a visual rule and equation editor. An editing facility to model these equations and constraints, so that errors could be prevented, would improve the usability of future visual modelling systems. Support for SWRL in Protégé (Miller and Baramidze, 2005) will assist with the construction of a modelling system with sophisticated editing of rules.

A future task to be undertaken would be the inclusion of uncertainty in the automatically produced models, for situations where accurate information cannot be provided for the model. This would require provision of a way of handling uncertainty for parameters within the ontology, e.g. as 3 values describing a triangular distribution rather than a unique absolute value. The decision support meta-program could be expanded to write out the code to run Monte-Carlo sampling, hence making use of the statistical uncertainty capability. Miller and Baramidze (2005) examine efforts to develop mathematical semantic representations above the syntactical representations of MathML. this effort should make it possible for standardisation of representation of mathematical expressions that relate nodes, and their values and expressions, to each other. Constraints could then be added to prevent invalid mathematical expressions. Miller and Baramidze also explain their research in Discrete-Event Modelling Ontology (DeMO) for simulation and modelling. This uses OWL to define a simulation and modelling class hierarchy. It would be very useful to create an example to demonstrate this with a practical model to test the use of this ontology.

It would be interesting and useful to create an environment where people could use example models and evaluate their usability and usefulness. This could follow a similar model to that used for the development of open source software or collaborations such as Wikipedia (2007), and the Semantic Web Environmental directory SWED (2006). Testing of usability for collaboration is complex and (Johnson et al, 2003) explain how this requires interdisciplinary expertise from several fields. Semantic Web research also requires an interdisciplinary approach as explained by Berners-Lee et al "Understanding and fostering the growth of the World Wide Web, both in engineering and societal terms, will require the development of a new interdisciplinary field." A project such as this can bring together people with diverse backgrounds, interests and expertise. Cheung et al (2007) make the point that open source development can avoid vendor lock-in, eliminate unnecessary complexity, give freedom to modify applications, and provide platform and application independence. Johnson (2004) has developed more sophisticated ways of understanding and providing for complex human activity and testing the success of this.

It could be possible to extend the semantics used in the specification of models to allow the creation of a framework for simulations. Lacy and Gerber (2004) examine how OWL can be used to aid modelling and simulation. Because the ontology uses open standards, these simulations could be made broadly available on the web. It is important that the necessary infrastructure is created to allow this facility to be added. The approaches of others to this problem have been examined. Page (1998), Page et al (2000) and Page and Opper (2000) examine the nature of web-based simulations. Miller et al (2001) explain the technology behind web-based simulations, and argue the need for demonstrating the application of web-based simulations for major projects. Fishwick and Miller (2004) examine the use of ontologies for modelling and simulation. The authors were involved in the RUBE project that developed a system for battle simulations, illustrated in Fishwick and Miller (2004). The RUBE project uses open standards and Protégé for the ontology, and outputs some code automatically. Kuljis and Paul (2001) evaluate progress in this field of web simulation. They argue the need for web-based simulations to be focussed on solving real-world problems in order to be successful. Kim et al (2002) explain how techniques of generating executable code from documents specified in standardised XML can be used to create simulations.

Reed et al (2000) examine possibilities for improving the aircraft design process with web-based modelling and simulation. Simulations could also be used for optimization and Chen and Yücesan (2001) investigate this. So web based simulation is an area of research worth exploring. The use of process models can allow accurate manufacturing times to be generated. This requires dynamic models of factories, cells and processes. Also it is necessary for users of a system to be able to gather information from various computer systems such as databases and spreadsheets. There is a conflict between the aim to develop an ideal representation of knowledge using an ontology editor, and the practical need to edit the data in the database or application it is currently held in. The research examined has undertaken so far, prototypes ways of creating information and of finding it. Other researchers such as Aragones et al, (2006) and Crapo et al (2000) and (2002) have also investigated this problem.

Shim et al (2006) discuss user interface issues for this kind of problem, they investigate techniques for "powerful, yet simple user interface designs that enable interactive queries, reporting, and graphing functions". They also examine end user computing history - "The evolution of the human–computer interface is the evolution of computing. The graphical user interface (GUI) that was refined at Xerox, popularized by Macintosh, and later incorporated into Windows". Recent developments in the use of Meta languages for platform independence should make the development of end-user programming quicker and easier. Bishop (2006) explains current problems "The current practice is for GUIs to be specified by creating objects, calling methods to place them in the correct places in a window, and then linking them to code that will process any actions required. If hand-coded, such a process is tedious and error-prone; if a builder or designer program is used, hundreds of lines of code are generated and incorporated into one's program, often labeled 'do not touch'. Either approach violates the software engineering principles of efficiency and maintainability." The author investigates, evaluates and advocates the use of platform independent programming languages.

The solution to these problems involves programming with Semantic Web languages rather than just using them for information representation. This will make translation for interoperability easier and more reliable, and further improve the maintainability of software systems.

References

Aragones, A., Bruno, J., Crapo, A., Garbiras M., 2006. An Ontology-Based Architecture for Adaptive Work-Centered User Interface Technology. In: Jena User Conference, 2006, Bristol, UK http://jena.hpl.hp.com/juc2006/proceedings/crapo/paper.pdf.

Berners-Lee, T., Hall, W., Hendler, J., Shadbolt, N., Weitzner, D. J., 2006. Creating a Science of the Web. Science 11 August 2006:Vol. 313. no. 5788, pp. 769 - 771 - http://www.webscience.org/publications/ - Enhanced - http://www.sciencemag.org/cgi/content/full/313/5788/769?ijkey=o66bodkFqpcCs&keytype=ref&siteid=sci..

Bishop, J., 2006. Multi-platform user interface construction: a challenge for software engineering-in-the-small. In: International Conference on Software Engineering, Proceeding of the 28th international conference on Software engineering pp 751-760.

Chen, C.-H., Yücesan, E., 2001. Distributed Web-Based Simulation Experiments For Optimization. Journal of Simulation Practice and Theory, 9, pp 73-90.

Cheung, W. M., Maropoulos, P. G., Gao, J. X., Aziz, H., 2005. Ontological Approach for Organisational Knowledge Re-use in Product Developing Environments. In: 11th International Conference on Concurrent Enterprising - ICE 2005, University BW Munich, Germany.

Cheung, W. M., Matthews, P. C., Gao, J. X., Maropoulos, P. G., 2007. Advanced product development integration architecture: an out-of-box solution to support distributed production networks. International Journal of Production Research March 2007.

Ciocoiu, M., Gruninger, M., Nau, D. S., 2000. Ontologies for Integrating Engineering Applications. Journal of Computing and Information Science in Engineering, 1(1) pp 12-22.

Crapo, A. W., Waisel, L. B., Wallace, W. A., Willemain, T. R., 2002. Visualization and Modelling for Intelligent Systems. In: C. T. Leondes, ed. Intelligent Systems: Technology and Applications, Volume I Implementation Techniques, 2002 pp 53-85.

Crapo, A. W., Waisel, L. B., Wallace, W. A., Willemain, T. R., 2000. Visualization and the process of modeling: a cognitive-theoretic view. In: Conference on Knowledge Discovery in Data - Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining pp 218-226.

Eklund, P., Roberts, N., Green, S., 2002. OntoRama: Browsing RDF Ontologies using a Hyperbolic-style Browser. In: The First International Symposium on Cyber Worlds, CW02, Theory and Practices, IEEE Press. (2002) pp 405-411.

Elenius, D., 2005. The OWL-S Editor - A Domain-Specific Extension to Protégé. In: 8th Intl. Protégé Conference - July 18-21, 2005 - Madrid, Spain.

Ernst, N. A., Storey, M., Allen, P., Musen, M., 2003. Addressing cognitive issues in knowledge engineering with Jambalaya. In: Workshop on Visualization in Knowledge Engineering at KCAP http://www.neilernst.net/docs/pubs/ernst-kcap03.pdf.

Fishwick, P. A., Miller, J. A., 2004. Ontologies for Modeling and Simulation: Issues and Approaches. In: Proceedings of the 2004 Winter Simulation Conference, Orlando, Fla, pp 259-264.

Garcia-Castro R, Gomez-Perez A, 2006. Interoperability of Protégé using RDF(S) as interchange language. In: 9th Intl. Protégé Conference, July 23-26, 2006 - Stanford, California.

Horrocks, I., 2002. DAML+OIL: a Reason-able Web Ontology Language. In: proceedings of the Eighth Conference on Extending Database Technology (EDBT 2002) March 24-28 2002, Prague.

Horrocks, I., Patel-Schneider, P. F., van Harmelen, F., 2003. From SHIQ and RDF to OWL: The making of a web ontology language. Journal of Web Semantics, Vol 1(1), pp 7-26.

Johnson, P., 2004. Interactions, Collaborations and breakdowns. In: ACM International Conference Proceeding Series; Proceedings of the 3rd annual conference on Task models and diagrams Vol 86 Prague, Czech Republic.

Johnson, P., May, J., Johnson, H., 2003. Introduction to Multiple Collaborative Tasks. In: ACM Transactions on Computer-Human Interaction (TOCHI), Volume 10 (4) December 2003 pp 277-280.

Kim, T., Lee, T., Fishwick, P., 2002. A Two Stage Modeling and Simulation Process for Web-Based Modeling and Simulation. ACM Transactions on Modeling and Computer Simulation, 12(3), 230-248.

Kuljis, J., Paul, R. J., 2001. An appraisal of web-based simulation: whither we wander?. Simulation Practice and Theory, 9, pp 37-54.

Lacy, L., Gerber, W., 2004, Potential Modeling and Simulation Applications of the Web Ontology Language - OWL. Proceedings of the 2004 Winter Simulation Conference pp265-270.

Miller, J. A., Baramidze, G., 2005. Simulation and the Semantic Web. In. Proceedings of the 2005 Winter Simulation Conference.

Miller, J., Fishwick, P. A., Taylor, S. J. E., Benjamin, P., Szymanski, B., 2001. Research and commercial opportunities in Web-Based Simulation. Simulation Practice and Theory, 9, pp 55-72.

Page, E. H., Buss, A., Fishwick, P. A., Healy, K. J., Nance, R. E., Paul, R. J., 2000. Web-Based Simulation: Revolution or Evolution?. ACM Transactions on Modeling and Computer Simulation, 10(1), pp 3-17.

Page, E. H., Opper, J. M., 2000. Investigating the application of web-based simulation principles within the architecture for a next-generation computer generated forces model. Future Generation Computer Systems Volume 17(2) pp 159-169.

Reed, J. A., Follen, G. J., Afjeh, A. A., 2000. Improving the Aircraft Design Process Using Web-Based Modeling and Simulation. ACM Transactions on Modeling and Computer Simulation, 10(1), pp 58-83.

Semantic Web Environmental directory SWED, 2006. Summary http://www.swed.org.uk/swed/about/.

Shim, J.P., Warkentin, M., Courtney, J. F., Power, D J., 2002, Past, present, and future of decision support technology. Decision Support Systems 33 pp 111-126.

Storey, M., Lintern, R., Ernst, N., Perrin, D., 2004, Visualization and Protégé In: 7th International Protégé Conference - July 2004 - Bethesda, Maryland.

University of Victoria, 2006. Model Driven Visualization (MDV) http://www.thechiselgroup.org/?q=mdv.

Wikipedia, 2007. Welcome to Wikipedia http://en.wikipedia.org/wiki/Main_Page.

Zhang, Z., 2005. Ontology Query Languages for the Semantic Web: A Performance Evaluation. MSc Thesis, (Under the Direction of John.A.Miller).


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

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

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

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/