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/.
Monday, March 02, 2009
Barriers to enabling end user programming
Now I'm out, I've been thinking about what the barriers are that hinder research into end user programming.
I think the essence of the problem is that organisations and individuals have many problems resulting from the lack of facilities to allow users to program. This causes many issues, which need to be urgently tackled in the short term. This creates an ironic dilemma, that the problems caused by lack of end user programming facilities cause there to be a need to tackle these problems via quick fixes because they are so urgent. This makes it difficult to secure funding for longer term end user programming research.
As an example - many people use Excel for financial modelling, and engineering, business, and science models. As these models become large, the short term solution is to use Excel Visual Basic to aid navigation through the model. However, though this helps with the immediate problem, in the longer term it can be difficult to reuse the model, as the Excel spreadsheet creator has to go through his or her code and remember what they have done, this problem is worse if a different user is trying to reuse the spreadsheet.
A longer term solution would be to provide a visual programming environment where the structure of the code is visualised, to make it easier to track the formulae, and so navigation is a central part of the program design, this also minimises the need for code.
The problem with this is that when organisations have urgent needs to produce models for a particular deadline, all their effort goes into this. Once a deadline is met or missed, there will be a new deadline for something else. So all the effort goes into meeting these deadlines, and there are little or no resources for providing a better solution that makes it easier in the long run to meet the deadlines.
Home Page - http://www.cems.uwe.ac.uk/~phale/
Google Home Page - http://sites.google.com/site/userdrivenmodellingprogramming/index
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, October 18, 2007
User Surveys - I would like advice please
If anyone has advice about how to construct a user survey, both on what questions to ask, and what technology to use to construct it, this would be very helpful. This is for my PhD research to help me with my conclusion.
I want to measure how people might use software such as this -
Flash Taxonomy - http://www.cems.uwe.ac.uk/~phale/ELearning/ELearningDemonstration1.htm.
SVG Diagrammatic Viewer -
http://www.cems.uwe.ac.uk/~phale/ELearning/ELearningDemonstration2.htm.
I also want to establish and how developers might reuse the code (I want to encoureage this).
If anyone has any advice on this matter or, survey tools to recommend, or survey examples I can look at and link to, I would greatly appreciate advice.
I would like comments to this post or emails to peter2.hale@uwe.ac.uk.
Thank you
I'm developing a survey on usability, I don't think it's quite right yet, but I would still welcome anyone using it to leave feedback on my research topic (or about the survey) - Click Here to take part in a usability survey, and support my PhD research, for anyone who does not want to remain anonymous, I would be pleased to take an interest in their research.
Wednesday, August 08, 2007
E-Learning Provision using Semantic Web Technologies
It would be useful to build a Semantic Web system for modelling and education mainly in the engineering and science fields. This would involve enabling a Semantic Web modelling infrastructure that could be the basis of future research in learning systems. In order to achieve these aims applications could be invesitgated and reviewed that assist in model building. The system created would also be used to promote engineering to a skeptical public who see the profession as poorly paid and dirty, (House of Lords Select Committee on Science and Technology report science and society), and remote from the public (Canavan et al).
E-Learning Research Area - The aim of this research is to try to bring together the areas of E-Learning, End-User Programming and the Semantic Web. So to achieve this, the area marked in yellow is examined.
With the development of technologies under the broad terms of Semantic Web and Web 2.0 there are opportunities to establish a highly interactive web based learning environment. The constructionist approach to understanding problems is to learn about them by modelling them. This approach can be used in combination with research into enabling end user programming techniques for modelling in order to provide an environment for non programmers to model their problems. Visualisation and interaction will provide rapid feedback that gives a powerful representation of the environment to be modelled.
Many people would like to make greater use of computer technology but are hampered by the need to learn programming languages if they are to fully interact with software. Instead they are limited to the use of certain features that are provided for them. A further constraint is the cost of software, and for this project we will develop free software and encourage a community of end-user developers, and modellers.
The aim is to create a software development environment that enables people to customise their own software solution. This is an alternative to provision of software as a finished article that can't be changed. It is intended that the learning software can be customised without requiring programming expertise.
This research will be part of our co-ordinated efforts to enable end-user programming for knowledge management (including e-learning), modelling and decision support, and simulation. Therefore the research proposed in this bid will concentrate mainly on translation for knowledge management and enabling academics and students to create e-learning systems. This is illustrated in the figure below.
The intention is to create an online community that can provide free software for modelling and education. The advantages of open source collaboration are that as well as allowing researchers to co-operate and work together where they share an interest; it will also allow the untapped potential to be developed of those who do not have an official research position. This includes students, people employed outside the academic environment, retired people and amateurs who have useful expertise. Astronomy, for example, has harnessed skills of this very diverse range of people to make new discoveries (Mutchler and Schenk). The expertise provided by anyone involved would be in providing feedback on usefulness, or ease of use of software, as well as actual involvement in software development. This means feedback would be sought from users of software even if they were not software experts. Meetings and forums could be arranged, both for web based and real world participation. Researchers would benefit the community by providing modelling and education tools online and for libraries. This is different from other open source communities in that the software could be easier to use and develop, and so involve those who have not previously been capable of participating in software development.
It is important to provide an alternative way of representing models, which does not require the user to write code. The tool created must make it easy to interact with and change the models, and easy to share information with others. This can also involve use of editing tools such as wikis (Protégé Community Wiki),(Vanguard Software Modelling Wiki), (Visual Knowledge), blogs, and semantic web editors (Amaya),(Quint, V., Vatton, 2004 and 2005) to allow discussion and explanation of the models.
There is an urgent need for Semantic Web tools to illustrate the benefits this technology can provide for education, this paper (EASE: The European Association Semantic Web Education) (Diederich et al) explains this need. There is also a need for education in the use of Semantic Web technologies for industry. Some Semantic Web tools are available, explained by EASE and in the (Jena User Conference) or being developed at present, but they are still difficult for people to make use of as they take a good deal of development expertise. REASE (the repository of EASE for learning units) provides a way to find and create learning materials for industrial applications of Semantic Web technologies.
References
Select Committee on Science and Technology Third Report Chapter 2: Public Attitudes and Values - Attitudes to engineering 2.39 - http://www.publications.parliament.uk/pa/ld199900/ldselect/ldsctech/38/3804.htm.
Canavan B, Magill J, Love D, A Study of the Factors Affecting Perception of Science, Engineering and Technology (SET) in Young People (2002), International Conference on Engineering Education, August 18-21, 2002, Manchester, U.K.
Amaya, 2007. Welcome to Amaya - W3C's Editor/Browser http://www.w3.org/Amaya/.
Diederich, J, Nejdl, W, Tolksdorf R, 2006, EASE: The European Association for SemanticWeb Education, SWET2006 Beijing, China.
Jena User Conference, 2006, Bristol, UK - http://blog.myspace.com/UK%20http://jena.hpl.hp.com/juc2006/proceedings.html - Proceedings (2006).
Mutchler M, Schenk H, Amateur Astronomers and the Hubble Space Telescope - http://www-int.stsci.edu/~mutchler/amateur.html.
Protégé Community Wiki - User Driven Progamming - http://protege.cim3.net/cgi-bin/wiki.pl?UserDrivenProgramming.
Quint, V., Vatton, I., 2004. Techniques for Authoring Complex XML Documents, In: DocEng 2004 - ACM Symposium on Document Engineering Milwaukee October 28-30 http://wam.inrialpes.fr/publications/2004/DocEng2004VQIV.html.
Quint, V., Vatton, I., 2005. Towards Active Web Clients, In: DocEng 2005 - ACM Symposium on Document Engineering Bristol United Kingdom 2-4 November 2005 - http://wam.inrialpes.fr/publications/2004/DocEng2004VQIV.html.
REASE the repository of EASE for learning units http://ubp.l3s.uni-hannover.de/ubp.
Vanguard Software Modelling Wiki - http://wiki.vanguardsw.com/bin/browse.dsb?dir/Engineering/Aerospace/ - Engineering - Aerospace
Visual Knowledge - http://www.visualknowledge.com/ - Semantic Wiki.
My pages on this subject
My Home Page is - http://www.cems.uwe.ac.uk/~phale/.
My E-Learning Page is - http://www.cems.uwe.ac.uk/~phale/ELearning.htm.
My Semantic Web Page is - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm.
Saturday, July 28, 2007
Dagstuhl Seminar End-User Software Engineering - Part 4 - Final Part
End-User Software Engineering - Dagstuhl Seminar - Summary - http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=2007081 - PDF Abstracts and links to papers - http://eusesconsortium.org/docs/dagstuhl_2007.pdf - Margaret M. Burnett, Gregor Engels, Brad A. Myers and Gregg Rothermel - From 18.01.07 to 23.02.07
In 'Meta-User Interfaces for Ambient Spaces: Can Model-Driven-Engineering Help?' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1082 Joëlle Coutaz explains how Model Driven Engineering and Service Oriented Architecture can be combined -
"Our approach to UI plasticity brings together MDE (Model Driven Engineering) and SOA (Service Oriented Architecture) within a unified framework that covers both the development stage and the runtime phase of interactive systems."
Coutaz also explains that -
"An interactive system is a graph of models related by mappings and transformations."
This would fit in well with the structure of RDF (Resource Description Framework) a Semantic Web standard which is also a graph structure.
In 'Model-Driven Development for End-Users, too!?' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1085 Gregor Engels of University of Paderborn explains that UML (Unified Modeling Language) should be extended to allow development of user interfaces in order to assist end-users to program -
"The UML is strong in modelling the internal functionality of a software system, but weak in modelling user interface aspects of a system. Thus, with respect to the well-known MVC (Model-View-Controller) pattern, the UML supports the Model aspect, while neglecting the View and Controller aspect."
In 'Position Paper for Dagstuhl 2007 EUSE Workshop' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1094 Mary Beth Rosson of Pennsylvania State University explains their development of a drag and drop interface for web based visual programming.
In 'Rethinking the Software Life Cycle: About the Interlace of Different Design and Development Activities' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1084 Yvonne Dittrich of University of Copenhagen argues that more research is needed into the software lifecycle and methods and tools needed for end-user developers, especially when they are collaborating. These end-users often need to adjust old software for new purposes.
In 'Software environments for supporting End-User Development' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1081 Maria Francesca Costabile, Antonio Piccinno also explain that new methodologies and environments are required for supporting end-user collaborative development.
In 'What is an End-User Software Engineer?' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1080 Steven Clarke of Microsoft examines the characteristics of end-user developers in order to assist with meeting their needs.
My home page is http://www.cems.uwe.ac.uk/~phale/.
I have a page on End-User Programming at http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.
Friday, July 27, 2007
Dagstuhl Seminar End-User Software Engineering - Part 3
End-User Software Engineering - Dagstuhl Seminar - Summary - http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=2007081 - PDF Abstracts and links to papers - http://eusesconsortium.org/docs/dagstuhl_2007.pdf - Margaret M. Burnett, Gregor Engels, Brad A. Myers and Gregg Rothermel - From 18.01.07 to 23.02.07
In 'Exploiting Domain-Specific Structures For End-User Programming Support Tools' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1086 Robin Abraham and Martin Erwig of Oregon State University integrate spreadsheet modelling into the UML modelling process.
In 'Interdisciplinary Design Research for End-User Software Engineering' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1078 Alan Blackwell explains the need for interdisciplinary research on the end-user programming problem to identify techniques within software engineering that can assist with this problem.
In 'Meta-Design: A Conceptual Framework for End-User Software Engineering' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1087 Gerhard Fischer of University of Colorado, Center for LifeLong Learning and Design (L3D) explains the concept of Meta-Design -
"Meta-design is an emerging conceptual framework aimed at defining and creating social and technical infrastructures in which new forms of collaborative design can take place. It extends the traditional notion of system design beyond the original development of a system. It is grounded in the basic assumption that future uses and problems cannot be completely anticipated at design time, when a system is developed."
Fischer also explains that it is the mismatches between their needs and the software support that enables new understandings.
Fischer argues the need for allowing end-users to design software -
"A great amount of new media is designed to see humans only as consumers. The importance of meta-design rests on the fundamental belief that humans (not all of them, not at all times, not in all contexts) want to be and act as designers in personally meaningful activities. Meta-design encourages users to be actively engaged in generating creative extensions to the artifacts given to them and has the potential to break down the strict counterproductive barriers between consumers and designers."
Fischer also argues that software development can never be completely delegated to software professionals because domain experts are the only people that fully understand the domain specific tasks that must be performed.
He puts forward a hypothesis that this emphasis on end-user development also changes the emphasis on testing -
"Software testing is conducted differently. Because domain expert developers themselves are the primary users, complete testing is not as important as in the case when the developers are not the users."
He also argues for an approach to enabling end-user programming possible that makes it interesting to end-users -
"Many times the problem is not that programming is difficult, but that it is boring (as we were told by an artist). Highly creative owners of problems struggle and learn tools that are useful to them, rather than believing in the alternative of "ease-of-use," which limits them to preprogrammed features."
My home page is http://www.cems.uwe.ac.uk/~phale/.
I have a page on End-User Programming at http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.
Thursday, July 26, 2007
Dagstuhl Seminar End-User Software Engineering - Part 2
End-User Software Engineering - Dagstuhl Seminar - Summary - http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=2007081 - PDF Abstracts and links to papers - http://eusesconsortium.org/docs/dagstuhl_2007.pdf - Margaret M. Burnett, Gregor Engels, Brad A. Myers and Gregg Rothermel - From 18.01.07 to 23.02.07, the Dagstuhl Seminar 07081 End-User Software Engineering was held in the International Conference and Research Center (IBFI), Schloss Dagstuhl. During the seminar, several participants presented their current research, and ongoing work and open problems were discussed.
I have been reading this abstracts paper from the Dagstuhl Seminar End-User Software Engineering and it has lots of interesting points to make.
In 'End-User Design' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1099 Professor Alexander Repenning of University of Lugano explains the need for enhancements to UML (Unified Modeling Language) to aid end-user programming.
He makes the point that
"Visual programming languages using drag and drop mechanisms as programming approach make it virtually impossible to create syntactic errors."
So -
"With the syntactic challenge being – more or less – out of the way we can focus on the semantic level of end-user programming."
In 'End-User Development Techniques for Enterprise Resource Planning Software Systems' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1097 Michael Spahn, Stefan Scheidl, and Todor Stoitsev explain SAP research into End-User Programming, they explain -
"End-users of ERP systems are domain experts but not necessarily IT professionals, limiting their ability to adapt the software by themselves to their own needs and forcing them to indirectly influence the adaptation processes by communicating their needs to IT professionals. Empowering the end-users to adapt the software by themselves is an important step in reducing customization costs and enabling high-quality tailoring of software and working environments to the needs of modern information and knowledge workers."
They explain that users must be empowered to explore, process, and analyse information in a user friendly way, and create and adapt reports and queries. An abstraction layer should ease this by hiding technical details to allow for concentrating on business needs.
In 'End-User Software Engineering and Professional End-User Developers' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1095 Judith Segal of the Open University examines issues and problems in Professional end-user development, the author explains -
"These developers are distinguished from other end-user developers in two ways. The first is that, consistent with their being familiar with formal notations and logical scientific reasoning, they tend to have few problems with coding per se. The second is that, as a class, they have a history of developing their own software which long predates the advent of the PC."
In 'End-User Software Engineering Position Paper' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1092 by Henry Lieberman of MIT Media Laboratory he asks -
"Why is it so much harder to program a computer than simply to use a computer application? I can't think of any good reason why this is so; we just happen to have a tradition of arcane programming languages and mystically complex software development techniques. We can do much better."
He goes on to explain -
"HCI has amassed an enormous body of knowledge about what makes interfaces easy to use, and this has been applied widely to many computer applications for end users. Oddly, little of this has been applied to making interfaces for programming easier to use. Non-experts tend to believe that programmers practice a kind of voodoo, perceived to be naturally arcane and mysterious. Since they can handle it so well, programmers aren't perceived as needing ease of use. But we all pay the price for this misconception."
Lieberman explains the goal of this research -
"Finally, as much as is possible, we should make this process as automatic as we can, though the use of program transformation, dependency maintenance, automated reasoning, mixed-initiative interfaces, visualization, and machine learning. Otherwise, I think it will be too much overhead for a non-expert user themselves to keep track of the myriad facets that software development entails. If we succeed in this, people will become End-User Software Engineers without their even realizing it."
My home page is http://www.cems.uwe.ac.uk/~phale/.
I have a page on End-User Programming at http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.
Wednesday, July 25, 2007
Dagstuhl Seminar End-User Software Engineering - Part 1
End-User Software Engineering - Dagstuhl Seminar - Summary - http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=2007081 - PDF Abstracts and links to papers - http://eusesconsortium.org/docs/dagstuhl_2007.pdf - Margaret M. Burnett, Gregor Engels, Brad A. Myers and Gregg Rothermel - From 18.01.07 to 23.02.07, the Dagstuhl Seminar 07081 End-User Software Engineering was held in the International Conference and Research Center (IBFI), Schloss Dagstuhl. During the seminar, several participants presented their current research, and ongoing work and open problems were discussed.
I have been reading this abstracts paper from the Dagstuhl Seminar End-User Software Engineering and it has lots of interesting points to make.
In the introduction the report http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1098 states - "The number of end users creating software is far larger than the number of professional programmers. These end users are using various languages and programming systems to create software in forms such as spreadsheets, dynamic web applications, and scientific simulations. This software needs to be sufficiently dependable, but substantial evidence suggests that it is not."
This is a good point, and can be related to a point in 'Barriers to Successful End-User Programming' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1091 by Andrew Ko http://www.cs.cmu.edu/~ajko Carnegie Mellon University about end-user programmers
"Some of them are scientists, some are artists, others are educators and other types of professionals. One thing that all of these people have in common is that their goals are entirely unrelated to producing code."
Andrew Ko explains how this causes a problem -
"the fact that end-user programmers are motivated by their domain and not by the merits of producing high-quality, dependable code, means that most of the barriers that end users encounter in the process of writing a program are perceived as distractions. This is despite the fact that such barriers can represent fundamental problems in end-users' program's or their understanding of how to use a programming language effectively."
the problem is -
"how can tools help end-user programmers' improve their programs' dependability, while allowing them to remain focused on their goals, rather than their code?"
An important part of the solution is to visualise the whole program execution not just the output. Andrew Ko states -
"when a user was trying to diagnose their program's failure, they had to base their hypothesis of what caused the failure just on what they could see in the program's output, rather than on information about the program's execution. In many of these situations, users premature decisions led to errors."
A further problem is that of programs which were intended to be temporary and owned by a particular person becoming central to a company, this often happens with spreadsheets. Ko explains -
"We frequently hear anecdotes about how a one-off excel spreadsheet meant to be temporary became the centerpiece of some accounting logic. How often do such organizational dependencies occur, and how important do such program's become? What can tools do to help the future owners of these programs learn about the program's history and design?"
Mark D Gross explains Carnegie Mellon University work involving end-user programming by designers using diagrams and scratchpads in "Designers Need End User Software Engineering" http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1090.
In "End User Programming for Scientists: Modelling Complex Systems" http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1077 Andrew Begel of Microsoft Research explains -
"Model creation cannot be turned over to a programmer-for-hire without causing the model to become a black box. In order to ensure the validity of the model and stand behind its experimental results, the scientist must be intimately knowledgeable about its innards as well as its outward behaviors."
Text based Computer languages are often too obscure for end-user programmers, Bagel explains -
"Learning a text-based programming language is difficult for novices who want to be programmers. In the first few weeks of learning a language, syntax rules are often the most difficult to comprehend, with semantics interleaved. Non-programmers face these problems, in addition to lacking an engineering mindset to help form mental models of how they want to make the computer do what they want."
In 'End-user (further) development: A case for negotiated semiotic engineering' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1083 Clarisse Sieckenius de Souza of Departamento de Informática, PUC-Rio makes the Quote Liberman et al -
"We think that over the next few years, the goal of human-computer interaction (HCI) will evolve from just making system easy to use (even though that goal has not yet been completely achieved) to making systems that are easy to develop"
From
Lieberman, H.; Parternò, F.; Klann, M.; Wulf, V. (2006) End-user development: An emerging paradigm. In End-User Development (Lieberman, Paternò and Wulf, Eds.). Springer. p. 1.
My home page is http://www.cems.uwe.ac.uk/~phale/.
I have a page on End-User Programming at http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.
Sunday, April 15, 2007
Collaborative Software Creation
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
Thursday, March 22, 2007
Creating Software Systems For End User Modelling
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
Thursday, March 01, 2007
Research in Modelling Simulation and Collaboration Over the Web
Transformation from a model building environment to program code has been investigated by Gray et al [5]. MathML [6] can assist in this process by providing an open representation of functions as XML (eXtensible Markup Language). Functions entered by the model developer can then be translated to this open representation and translated to programming languages and/or read by programming languages. The representation of functions and information can sometimes be illustrated diagrammatically. Guibert et al [7] explain and expands on Smiths work with an example demonstrating how numbers fail to reveal the concept behind them. The example is a numerical representation of a triangle. This representation is 'fregean' because it does not show the concept of a triangle. Next to this is a diagram of the triangle that does show the concept. This is the theory behind our conversions to interactive SVG (Scalable Vector Graphics) and and tree based representations of information and functions [8][9].
An open standards web driven method of collaboration is required to make it possible for organisations and individuals to become more deeply involved in projects that are well coordinated using web technologies. Morris et al. [10] examine Interactivity and collaboration on the web. Aziz et al. [11] examine how open standards software can assist in an organisation's collaborative product development. This approach is outlined in Ciancarini et al. [12] that explains ways of designing a document-centric coordination application over the Internet. Nidamarthi et al. [13] explain how web based collaboration can aid the design process. Huang and Mak [14] evaluate issues in the development and implementation of web applications for product design and manufacture. Reed et al. [15] show how web based modelling and simulation can be used in the aircraft design process. Kim et al. [16] explain their approach to modelling and simulation. Zhang et al. [17] review Internet-based product information sharing and visualisation. Li [18] examines the role of web based services for distributed process planning optimization.
The intention is to further the research of others into the approach of web based collaboration, and use semantic web software and techniques to achieve this. The above research reinforced our view that this is a robust approach. Modelling collaborations based on these techniques would bring together experts in engineering, systems modelling, computing, and Human Computer Interaction.
References
[1] Huhns, M. (2001) Interaction-Oriented Software Development. International Journal of Software Engineering and Knowledge Engineering, 11 259-279. [2] Paternò, F. (2005) Model-based tools for pervasive usability. Interacting with Computers 17 (3), 291-315. [3] Alloy http://alloy.mit.edu/ [4] Wallace C. (2003) Using Alloy in process modelling. Information and Software Technology, Vol. 45 (15), 1031-1043. [5] W3C Math Home - http://www.w3.org/Math/Overview.html - What is MathML? [6] Gray J, Zhang J, Lin Y, Roychoudhury S, Wu H, Sudarsan R, Gokhale A, Neema S, Shi F, and Bapty T, Model-Driven Program Transformation of a Large Avionics Framework, 2004, Third International Conference on Generative Programming and Component Engineering GPCE. [7] Guibert N, Girard P, Guittet L, (2004), Example-based Programming: a pertinent visual approach for learning to program, University of Poitiers, Proceedings of the working conference on Advanced visual interfaces - Pages: 358 - 361 - ISBN:1-58113-867-9. [8] Spar - Tree based representation http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm [9] Interactive Examples http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm [10] Morris, S., Neilson, I., Charlton, C., Little, J. (2001) Interactivity and collaboration on the WWW - is the 'WWW shell' sufficient?. Interacting with Computers, 13, 717-730. [11] Aziz, H., Gao, J., Maropoulos, P., Chewing, W. M. (2005) Open standard, open source and peer-to-peer tools and methods for collaborative product development. Computers in Industry, 56, 260-271. [12] Ciancarini, P. & Rossi, D. & Vitali, F. (2001) Designing a document-centric coordination application over the Internet. Interacting with Computers, 13 677-693. [13] Nidamarthi S., Allen R. H., Ram D. S. (2001) Observations from supplementing the traditional design process via Internet-based collaboration tools, Computer Integrated Manufacturing, 14 (1), 95-107. [14] Huang, G. Q., Mak, K. L. (2001) Issues in the development and implementation of web applications for product design and manufacture. Computer Integrated Manufacturing, 14 (1), 125-135. [15] Reed, J. A., Follen, G. J., Afjeh A. A. (2000) Improving the Aircraft Design Process Using Web-Based Modeling and Simulation. ACM Transactions on Modeling and Computer Simulation, 10 (1), 58-83. [16] Kim Y., Choi Y., Bong Yoo S. (2001) Brokering and 3D collaborative viewing of mechanical part models on the Web, Computer Integrated Manufacturing, 14 (1), 28-41. [17] Zhang, S., Weimen, S., Hamada, G. (2004) A review of Internet-based product information sharing and visualization. Computers in Industry, 54, 1-15. [18] Li, W. D. (2005) A Web-based service for distributed process planning optimization. Computers in Industry, 56, 272-288.
Links
http://www.cems.uwe.ac.uk/amrc/seeds/Modelling.htm
http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm
Wednesday, February 21, 2007
Modelling Tools for Education
This post is about the possibility of creating free online modelling tools for use in education. This would allow people to learn about a subject by modelling it. The semantic web makes it possible to provide tools and applications to allow modelling and collaboration at low cost. This could also aid engineers and scientists in communication with the public.
Many people who are experts in their field have insufficient time to learn programming, but still want to model the problems they need to tackle in their main occupation or learning. They try to achieve this aim on an ad hoc basis by piecing together information they hold in documents, sketches, spreadsheets, and that's available in systems provided for them by their IT supplier. Holding information in assorted documents is not conductive to efficient sharing and reuse of information. Dependence on information systems that are supplied and customised only by an IT department removes control from the domain expert.
The problems that have developed as a result of the above situations are -
• The skill set of engineers in the UK does not match what is required by industry. Industry wants engineers who can solve problems as a team but most modelling tools are complex, they are all different from each other, and so need specific training. These tools don't share information easily or encourage enough collaboration.
• Because of the problem above, universities are torn between teaching the theoretical underpinning of engineering, and the practical skills of modelling problems. If easy to use collaborative modelling tools become available, universities can teach theory and allow students to apply it in case studies, thereby incorporating both research and practice in their projects.
• Researchers become isolated from lecturers and vice versa as there are insufficient cheap and easy to use collaboration tools that can be used for both research and teaching. There is a need for new modelling tools for teaching that researchers can develop, and lecturers can then also be involved in an interesting research project.
• There are too few tools available for early stage modelling of engineering problems such as a new product design, when there is insufficient information for tools such as CAD (Computer Aided Design) and Finite Element Analysis.
• There is a large tools gap between those an engineer or student might use for simpler problems (such as spreadsheets) and the high end expensive tools such as CAD. This leaves no path for students and engineers to improve their modelling skills systematically and cheaply.
• The public do not understand science and engineering sufficiently, partly because there are too few modelling tools that can readily be accessed to act as a communication aid to the public using interactive technologies.
A solution to these problems is to supply people with the open source tools they need to become end user modellers. This can be part of an overall aim to enable and encourage end user programming and so release the capabilities possessed by domain experts in modelling their problems. This can enable a much faster iterative process of model development, visualisation and rework to enable better product design. To enable this it is important to provide a modelling environment that will cost nothing to use and that will have examples, explanations and instructions together with a high level user interface to maximise ease of use, and minimise the need for programming skills. Then this would be ready for widespread use in teaching and for student projects, the first step is to prototype the modelling technologies.
Such a project should begin by creating web based models for problem solving in partnership with industry. This learning materials should be made available for widespread use. At present there are not enough educational materials provided by universities (other than the Open University) as open access rather than in internal university E-Learning environments. The modelling project could begin with a single university or a small group and particular subjects and broaden by promoting the use of the modelling system in other universities, colleges and companies through national educational and business associations. To achieve these aims lecturers and students should be involved in the creation of the modelling system and use of this system (depending on the course and the skills of those involved in it). A useful aim would be to use the modelling system to promote engineering, and engineering solutions to problems (environmental problems for example) to a sceptical public who see the profession as poorly paid and dirty, 'House of Lords Select Committee on Science and Technology report science and society' [1], and remote from the public [2]. This dissemination could include schools libraries, and media.
These aims are influenced by the theory of constructionism explained in [3], this involves understanding problems by modelling them.
References
[1] Select Committee on Science and Technology Third Report Ch 2:Public Attitudes and Values-Attitudes to engineering 2.39.
[2] Canavan B, Magill J, Love D, 2002, A Study of the Factors Affecting Perception of Science, Engineering and Technology (SET) in Young People, International Conference on Engineering Education, August 18-21, 2002, Manchester, U.K.
[3] Resnick, M., 1996, Distributed Constructionism, Proceedings of the International Conference on the Learning Sciences Association for the Advancement of Computing in Education, Northwestern University - http://llk.media.mit.edu/papers/Distrib-Construc.html.
I have a home page at http://www.cems.uwe.ac.uk/~phale/ that explains my PhD research related to this subject and has examples.
I also have a Modelling page at http://www.cems.uwe.ac.uk/amrc/seeds/Modelling.htm
Friday, January 19, 2007
User Generated Content
How to help users help themselves - http://news.bbc.co.uk/1/hi/technology/6270593.stm
A very important recommendation Professor Geist makes on actions Government can take relating to improving access to public research is this - "the introduction of open access requirements for publicly-funded research".
I agree with this point he makes.
Other content of the article is -
"Internet law professor Michael Geist describes how governments can help their citizens make the most of the web.
Time Magazine's choice late last month of "You" (by which it meant all the users generating content on the web) as the person of the year was mocked by critics as a poor choice that by-passed several notable political leaders.
Yet the choice may ultimately be viewed as the tipping point when the remarkable outbreak of internet participation that encompasses millions of bloggers, music remixers, amateur video creators, citizen journalists, wikipedians, and Flickr photographers broke into the mainstream."
Professor Geist explains "the role of government will be to support the enormous economic and cultural potential of user-generated content, while avoiding steps that might impede its growth."
How to help users help themselves - http://news.bbc.co.uk/1/hi/technology/6270593.stm 17 January 2007
BBC Technology news - Web users driving change in 2007 - http://news.bbc.co.uk/1/hi/technology/6198125.stm - Mark Ward Technology Correspondent - 1st January 2007.
'You' named Time's person of 2006 - http://news.bbc.co.uk/1/hi/technology/6187113.stm 17 December 2006
Below is a very good BBC Radio 4 program (downloadable - listen again) that explains how the new approaches to open source and web software allowing user-generated content is likely to affect business -
BBC Radio 4 - New Wave Computing - http://www.bbc.co.uk/radio4/news/inbusiness/inbusiness_20070111.shtml - Peter Day talks to some of the rising stars of the new revolution and finds out how the computer industry is changing yet again 11th January 2007.
This report makes the case for increased use of open-source software -
BBC Technology news - Open source gets European boost - http://news.bbc.co.uk/1/hi/technology/6270657.stm - The European Commission has added its voice to the debate about the use of open source software. - 17 January 2007.
http://news.bbc.co.uk/1/hi/technology/4849402.stm - BBC Podcast - 23 January 2007 - Open Source Software.
I have a web 2.0 and AJAX page at http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm.