This blog is about my PhD research (now finished) at University of the West of England into User Driven Modelling. This is to make it possible for people who are not programmers to create software. I create software that converts visual trees into computer code. My web site is http://www.cems.uwe.ac.uk/~phale/. I'm continuing this research and the blog. My PhD is at http://eprints.uwe.ac.uk/17918/ and a journal paper at http://eprints.uwe.ac.uk/17817/.
Thursday, April 21, 2011
How Ontology and Modelling Tools were chosen for my PhD
There was a need for the DATUM project and for the PhD to minimise programming, so Jena was not used, but Leavers' (2008) MSc project used this effectively, and there was regular contact with the developers of ACUITy (Aragones et. al., 2006), to examine how that more software centred approach was used. Given more time that approach could have been used. Metatomix M3t4 was also used effectively as a high level tool to interact with Jena. So results of research with Jena and/or ACUITy and m3t4 would have shown similar results to the approach of using Protégé and Vanguard System.
These types of tools improve with research and development each year so reproducing this research is becoming easier. New ways of modelling at high level with involvement of end-users is thus practical.
References
Jena - A Semantic Web Framework for Java [online]. Available from: http://jena.sourceforge.net/ [Accessed 21 April 2011].
Leaver, N. (2008) Using RDF as an Enabling Technology. MSc. Dissertation, University of the West of England, Bristol.
Metatomix M3t4 Dashboard [online]. Available from: http://wiki.m3t4.com/homepage.action [Accessed 21 April 2011].
Protégé Welcome to Protégé [online]. Available from: http://protege.stanford.edu/
[Accessed 21 April 2011].
Scanlan, J., Rao, A., Bru, C., Hale, P., Marsh, R., 2006. DATUM Project: Cost Estimating Environment for Support of Aerospace Design Decision Making. Journal of Aircraft, 43(4).
TopBraid Composer, The Complete Semantic Modeling Toolset [online]. Available from: http://www.topquadrant.com/products/TB_Composer.html [Accessed 21 April 2011].
Vanguard System [online]. Available from: http://www.vanguardsw.com/solutions/application/modeling-and-simulation/
[Accessed 21 April 2011].
Saturday, April 10, 2010
Empowering engineers and others to create software
So even in engineering, an industry that by its nature has to be conservative, due to safety needs, it is realised that empowerment is necessary in software development. So there was a need to empower the engineers by provision of collaborative software that could be installed and used as easily as possible and be adaptable. Empowering the engineers to be fully involved in the creation and maintenance of such software, because they're interested in the software and what it can do, was essential to make the use, re-use and maintenance of the software practical. This is necessary because it would not be possible to achieve application of useful software by any top down strategy, with limited involvement of higher managers and software suppliers. Visualisation and modelling of the software by a large range of people can be achieved by use of diagrams to show the problem and software structure, as part of the software and how it is used.
Further feedback was obtained from others via an online survey of a greater cross section of others rather than only engineers. This bore out that people want more control and involvement in software development and use, and that visual editing of the software over the web is the best way to achieve this.
Wednesday, April 01, 2009
More Customisable Software Systems
A solution is to produce highly customisable software, so that the software team don't have to anticipate every problem the users will want to solve. Then many users with more advanced needs and computing abilities could customise software for their needs.
Wednesday, March 18, 2009
Modelling Methodology - User Driven Modelling
* Modelling Tools - Building an end-user interface and extending the translation capabilities of UML (Unified Modelling Language) and/or other modelling tools (Johnson, 2004).
* Spreadsheets - Improving the structuring and collaboration capabilities of spreadsheets, and enabling customisation of spreadsheet templates for particular domains and users.
*Ontology Tools - Extending the modelling capabilities and equation calculations in ontology tools and providing an end-user interface.
Semantic Web/Web 2.0 - Extending the capabilities of Semantic Web and Web 2.0 style web-based development tools to allow collaborative modelling.
* These possible solutions are not mutually exclusive and their combination could be the best way of providing usable collaborative modelling tools for computer literate end-users and domain experts. The link between these alternative ways of advancing current research is translation and User Driven Modelling/Programming.
This diagram shows the solutions, and how these could make User Driven Modelling/Programming possible :-
Tuesday, May 06, 2008
Semantic Web Applications
The use of Semantic Web languages as information representation and even as programming languages would assist greatly with interoperability as these modelling languages are standardised for use in a wide range of computer systems.
Research can bring together End-User Programming, Modelling and the Semantic Web approaches, so the shaded area is examined.
A methodology that involves structuring of information through Ontology and Semantic Web techniques and enabling end-user programming through visualisation and interaction aims to achieve effective production of generic models. Horrocks (2002) explains Semantic Web technologies and the use of agents and ontologies, and ontology representation languages. This demonstrates the linked nature of Ontology and Semantic Web research.
Berners-Lee and Fischetti (1999) sum up the advantage of a Semantic Web program over programs in other languages. They write, "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." They discuss the use of Semantic Web languages as programming languages and explain the benefits declaring "The Semantic Web, like the Web already, will make many things previously impossible just obvious. Visual Semantic Web programming is one of those obvious things".
Berners-Lee et al. (2006) explain the importance of visualisation 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 visualise and navigate the huge connected graph of information that results." The use of Semantic Web languages as programming languages would assist greatly with interoperability as these languages are standardised for use in a wide range of computer systems
The main advantage of 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 users to computer and back for conveying results of a modelling run. The program transformation approach argued for by Lieberman (2007) can be used to translate from a domain expert End-User Programmer abstraction to models represented by Semantic Web languages, ontologies and code.
Use of Semantic Web technologies is a means for open standard representation of collaborative models, transformation into different representations as required, and for provision of a high-level interface as a tool for model visualisation and system creation. Structuring of information through Ontology and Semantic Web techniques and enabling End-User Programming through visualisation and interaction can achieve effective production of generic models. Semantic Web technologies could assist greatly with Web based Simulation and Modelling. Kuljis and Paul (2001) evaluate progress in the 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. Miller and Baramidze (2005) establish that for a "simulation study that includes model building, scenario creation, model execution, output analysis and saving/interpreting results. Ontologies can be useful during all of these phases." Model-Driven Programming and the Semantic Web are explained by Frankel et al. (2004).
Research in the use and visualisation of Semantic Web information can provide the tools that end-user programmers have been lacking until recently, and these tools can be used for modelling. Crapo et al. (2002) assert the need for a methodology for creation of systems to enable more collaborative approaches to modelling by domain expert end-users, and that this combined with visualisation would allow engineers to model problems accurately.
Many organisations produce text based reports from their IT systems. But text based reports do not always show information well enough for good decision making. Automated conversion of these reports into Semantic Web languages could assist greatly with this. So a translation process is required and can be implemented as part of an overall User-Driven Modelling/Programming Approach. Once reports are converted to a standardised representation, hierarchical information can be represented as clickable trees and numerical representation as charts. This makes it possible to customise outputs from existing IT systems and so allows an improvement in readability of information without major changes to the way it's produced. This could provide a large gain at little cost.
References
Berners-Lee, T., Fischetti, M., 1999. Weaving the Web. Harper San Francisco; Paperback: ISBN:006251587X
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.
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.
Frankel, D., Hayes, P., Kendall, E., McGuinness, D., 2004. The Model Driven Semantic Web. In: 1st International Workshop on the Model-Driven Semantic Web (MDSW2004) Enabling Knowledge Representation and MDA® Technologies to Work Together.
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.
Kuljis, J., Paul, R. J., 2001. An appraisal of web-based simulation: whither we wander?. Simulation Practice and Theory, 9, pp 37-54.
Lieberman, H., 2007. End-User Software Engineering Position Paper. End-User Software Engineering Dagstuhl Seminar.
Miller, J. A., Baramidze, G., 2005. Simulation and the Semantic Web. In. Proceedings of the 2005 Winter Simulation Conference.
Further Information on this research is at -
Semantic Web - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm.
End-User Programming - http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.
Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/Modelling.htm.
Semantic Web Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm.
Sunday, February 17, 2008
User Driven Modelling Justification
There are many computer literate people who are experts in a particular domain. Given the opportunity they will develop their own software (Scaffidi, 2005). There is a need in many domains for people to create software such as engineering models, scientific taxonomies, business systems, and in the arts. Examples of software systems that enable creation of models without necessitating code writing are spreadsheets, visual web development systems, and database management systems. Crapo et al (2002) explain the need for a methodology for creation of systems to enable more collaborative approaches to modelling by domain expert end-users that make use of structured and visualised information. Peirce (1904) explained that systems can be represented logically by humans, and this applies to software development and information representation on computers. Thus it could be made possible to represent systems with natural and visual languages. Though Nurminen et al (2003) argue that people prefer usability over automation, it is possible to achieve both by providing a stepped translation capability that ensures users are constantly kept informed of the steps taken. This approach is advocated by (Johnson, 2004). Automated translation from a people-centred view of information to software for computers can aid in software development by domain expert end-users and help ensure they can communicate models directly to computers. Software developers can then concentrate mainly on creating systems that enable domain experts to develop software, rather than developing individual software models on behalf of domain experts, which is difficult and prone to communication problems.
References
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.
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. - http://portal.acm.org/citation.cfm?id=1045448&coll=GUIDE&dl=GUIDE&CFID=17319495&CFTOKEN=29205382&ret=1Fulltext [Accessed 17th February 2008].
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. - http://citeseer.ist.psu.edu/630566.html [Accessed 17th February 2008].
Peirce, C.S., 1906. Prolegomena to an Apology for Pragmaticism [online]. Available from:
http://www.existentialgraphs.com/peirceoneg/prolegomena.htm [Accessed 17th February 2008].Scaffidi, C., Shaw, M., Myers, B., 2005. Estimating the Numbers of End-users and End-user Programmers. In: IEEE Symposium on Visual Languages and Human-Centric Computing, (VL/HCC'05): 207-214 Dallas, Texas. - http://www.cs.cmu.edu/~cscaffid/papers/eu_20050923_vlhcc.pdf [Accessed 17th February 2008].
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.
Wednesday, March 07, 2007
End User Modelling Tools
User involvement is important in the development of software but a domain expert does not necessarily possess expertise in software development, and a software developer cannot have expertise in every domain to which software might apply. So it is important to make it possible for software to be created, using methods that are as close as possible to that which the domain expert normally uses. The proportion of domain experts in a particular domain (aerospace engineering) for example who can develop their own programs is fairly low, but the proportion that are computer literate in the everyday use of computers is much higher. If this computer literacy is harnessed to allow the domain experts to develop and share models, the productivity for software development will be increased and the proportion of misunderstandings between domain experts and developers reduced. The domain experts can then explore a problem they are trying to solve and produce code to solve it. The role of developers would then become more that of a mentor and enabler rather than someone who has to translate all the ideas of experts into code themselves. Other developers may work at providing better translation software for the experts.
In my research I examined the role of UML (Unified Modeling Language). However there are important gaps in the functionality of UML tools for user centred design. Palanque and Bastide (2003) identify these gaps "For the team of methodologists (Rumbaugh, Jacobson, Booch) that shaped the UML, User Centred Design was not a central concern." These gaps are of even greater importance when attempting to make it possible for people who are not programmers to create software. UML tools could assist software developers in creating a modelling environment suitable for domain experts to use to solve their problems. To achieve this would require a major change in UML tools to enable modelling of user interaction as the core concern. Enabling users themselves to create software using UML type tools would require development of a new type of UML tool specifically designed for ordinary users. This would be compact and simple, but provide enough capabilities to ensure users' designs are robust. This would also fill a gap left by engineering and scientific modelling tools which are powerful but do not have collaboration, communication, and ease of use as central concerns.
Palanque, P., Bastide R., 2003. UML for Interactive Systems: What is Missing INTERACT 2003 Closing the Gaps: Software Engineering and Human-Computer Interaction Zürich, Switzerland - http://www.se-hci.org/bridging/interact/p96-99.pdf.
My Research - http://www.cems.uwe.ac.uk/~phale/.
End User Programming - http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.
Wednesday, January 24, 2007
User Driven Programming - UWE Graduate School Poster Presentation 2007
User Driven Programming
Poster I presentated on my research for the Graduate School http://www.uwe.ac.uk/cems/graduateschool/index.html - Graduate School Poster Events http://www.uwe.ac.uk/cems/graduateschool/news/poster.html.
PhD Poster
Peter Hale
Home page http://www.cems.uwe.ac.uk/~phale/
Introduction
SEEDS (Systems Engineering Estimation and Decision Support) team - involved in cost modelling solutions.
End User Programming
Why do we need to make it easier for end users to program?
Figure 1 - End User Programming
Based on data from US bureau of Labour Statistics. Sources - http://www.cs.cmu.edu/~bam/papers/EUPchi2006overviewColor.pdf - Myers et al. 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.
User Driven Programming
Software development is time consuming and error prone because of the need to learn computer languages.
Mitigating this allows users to devote full effort to the problem to be solved.
User Driven Programming creates software that enables people to program with visual representation of a tree diagram.
Applied to aerospace engineering but should be applicable to any subject.
Figure 2 - Source to Result TreeTranslation
Translation
The Ontology representation is translated into a computer model.
An Ontology defines relationships between things.
Relationships can be conveyed to a software model that evaluates them.
To achieve this the translator requires -
1Search trigger(s) resulting from user actions.
2Knowledge of the relationships between nodes in the tree.
3Ability to read a equations held in a standardised mathematical form.
4Rules of syntax for the language of the code to be output.
Figure 3 - Visualisation and Interaction Mechanism
Semantic Web Modelling system
1. Connections are established between the ontology system and any
databases, spreadsheets, or other systems that hold relevant information for
that modelling problem.
2. The ontology is created using RDF/OWL [2], and an interface built to
allow domain experts to edit the ontology.
3. Libraries are created in a partnership between ourselves and domain
experts.
4. Taxonomies are populated by model builders who want to use them for
their modelling problem. These are based on the libraries created in step 3.
5. Taxonomies are colour coded for ease of understanding, this part of
the diagram was built with Vanguard system (explained below). We have created a
link between the ontology tool and this decision support and calculation tool.
Vanguard system reads information from the ontology tool.
6. There are 2 sorts of constraints that can be used in order to make it
easier for users to build and adapt models. These are constraints on the way
the ontology, and models are built, and user interface constraints to reduce
the scope for error.
7. The colour coding makes calculation clearer because all taxonomies
can be used in any calculation, this results in a multicoloured result tree
that represents the entire calculation history. User choices affect how items
are related for the calculation; choices could be made manually or via a
search. Colour can also be used to represent cost, time, or uncertainty.
8. Each node can also represent uncertainty, and we have prototyped
including uncertainty expressions in the calculations.
9. The result tree can be represented on the web and in other programs,
this allows for further searching, processing and evaluation of results.
Visualisation techniques and the use of searchable languages such as XML, and
SVG can assist in this.
10. and 11. Experts such as designers can interact with the
ontology, the model, and results, it's intended that there will be a two way
feedback mechanism where the expert can make changes at any stage, and this
filter into changed results. This can then support a cycle of results and rework.
Figure 4 - Vanguard Studio Representation and Calculation
Visualisation
Figure 5 shows how the program visualises information for the spar and its' part definition, material, manufacturing processes etc.
Figure 5 - Vanguard Studio Visualisation
- This is an interactive view of the Vanguard Studio model that was read from Protégé.
- Changing the figures and pressing recalc results in a new calculation.
This tree is translated into SVG (Scalable Vector Graphics) and JavaScript for an interactive CAD view.
Translations from Tree Based View to Component Diagram
Figure 6 shows the spar translated to XML and visualised using Flash multimedia. The spar is then translated and visualised in an SVG based interactive diagram.
Figure 6 - Tree View - XML - Flash - SVG Representation
Others in this kind of research
Kurt Cagle -Understanding XML - http://www.understandingxml.com/
General Electric - ACUITy enterprise modelling tool -Jena Conference Paper - http://jena.hpl.hp.com/juc2006/proceedings/crapo/paper.pdf - An Ontology-Based Architecture for Adaptive Work-Centered User Interface Technology - A Aragones, J Bruno, A Crapo, M Garbias.
Jena Conference Proceedings - http://jena.hpl.hp.com/juc2006/proceedings.html
Orbeon - http://www.orbeon.com/ - Orbeon XForms Presentation Server.
Protégé- Conference and Project Information - http://protege.stanford.edu/community/conferences.html
UWE - Christophe Bru - http://www.cems.uwe.ac.uk/~cbru/
Vanguard Global Knowledge Portal - http://wiki.vanguardsw.com/
Chris Wallace - http://www.cems.uwe.ac.uk/~cjwallac/
