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/.
Wednesday, July 07, 2010
Ways of providing openness in a web age
Further it is important then to be able to visualise complex data and uncertainty in combination with text, so that it is understandable and conveys the true meaning. This is a problem that in itself needs research.
CRU climate scientists 'did not withold data' - http://news.bbc.co.uk/1/hi/science_and_environment/10538198.stm
By Richard Black
Environment correspondent, BBC News
Climate e-mails review condemns lack of openness - http://www.bbc.co.uk/blogs/opensecrets/2010/07/climate_emails_review_condemns.html
Martin Rosenbaum
Tuesday, September 09, 2008
SWRL (Semantic Web Rule Language) and Protege
So far in creating ontologies for modelling for my thesis, if-then-else structures were edited using simplified english language. Elenius et al. explain that Protege now supports SWRL. This makes it possible to use SWRL expressions within Protege. So if-then-else and other control structures could be specified using SWRL. Protege provides an expression builder for this purpose. This also opens up the possibility of translating between an english representation of such structures and an SWRL structure or vice versa, so would be useful future research.
Protege support for SWRL is through the SWRLTab, and has been available since 2004 - http://protege.cim3.net/cgi-bin/wiki.pl?SWRLTab.
This paper by Elenius et al. is available online - The OWL-S Editor - A Development Tool for Semantic Web Services - http://owlseditor.semwebcentral.org/documents/paper.pdf - Daniel Elenius, Grit Denker, David Martin, Fred Gilham, John Khouri, Shahin Sadaati, and Rukman Senanayake - SRI International, Menlo Park, California, USA.
This is the relevant paragraph - Refering to their own research - "One aspect of OWL-S services not covered in this paper is the editing of preconditions and effects of processes, and conditions associated with control constructs such as If-Then-Else. In OWL-S, these are normally described in the SWRL language. Currently, we simply provide a text box where users can enter these SWRL expressions. However, we plan to provide more user-friendly editing capabilities. Protege has recently" ... (2004)... "been enhanced with native support for SWRL, including a SWRL expression-builder, which will serve as the basis of this work."
One possible application of this would be using OWL-S, and UML type diagrams to produce interoperable process models diagrammatically.
More information on OWL is at http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm#OWL.
More information on SWRL is at http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm#SWRLRuleML
The Protege homepage is - http://protege.stanford.edu/.
Tuesday, August 12, 2008
Meta-Programming as a Model Creation Technique
The idea behind use of meta-programming in this thesis is that instead of writing programs to do a task a domain expert needs the program for, the meta program developer creates an environment which all domain experts, in this and similar fields can use to create their own solutions. The developer then only needs to maintain and improve this programming environment, and can concentrate on this task; the domain expert can concentrate on solving the problem at hand without having to ask the developer to create the code on his or her behalf. Dmitriev (2006) advocates reducing dependency on languages and environments by enabling programmers to develop their own specific languages for solving each domain problem:
"If we are going to make creating languages easy, we need to separate the representation and storage of the program from the program itself. We should store programs directly as a structured graph, since this allows us to make any extensions we like to the language. Sometimes, we wouldn't even need to consider text storage at all. A good example of this today is an Excel spreadsheet. Ninety-nine percent of people don't need to deal with the stored format at all, and there are always import and export features when the issue comes up. The only real reason we use text today is because we don't have any better editors than text editors. But we can change this... Text editors... don't know how to work with the underlying graph structure of programs. But with the right tools, the editor could work directly with the graph structure, and give us freedom to use any visual representation we like in the editor. We could render the program as text, tables, diagrams, trees, or anything else. We could even use different representations for different purposes, e.g. a graphical representation for viewing, and a textual representation for editing. We could use domain specific representations for different parts of the code, e.g. graphical math symbols for math formulas, graphic charts for charts, rows and columns for spreadsheets, etc. We could use the most appropriate representation for the problem domain, which might be text, but is not limited to text. The best representation depends on how we think about the problem domain. This flexibility of representation would also enable us to make our editors more powerful than ever, since different representations could have specialized ways to edit them."
This provides a way to create programs that create programs so enabling the 3 step translation process used in this thesis, and this enables translations between people, between systems, and between languages. This could enable those who are not currently programmers to create models at their domain level using domain specific systems created for them by programmers. The mechanisms for this are recursive translation of the tree/graph code representation to multiple models and languages, where necessary aided by user/modeller choices.
References
Dmitriev, S., 2007. Language Oriented Programming: The Next Programming Paradigm - http://www.onboard.jetbrains.com/is1/articles/04/10/lop/.
Fischer, G., 2007. 'Meta-Design: A Conceptual Framework for End-User Software Engineering' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1087 - Dagstuhl Seminar Proceedings.
Wikipedia (2008) Metaprogramming - http://en.wikipedia.org/wiki/Metaprogramming.
More information is available at - http://www.cems.uwe.ac.uk/amrc/seeds/softwareengineering.htm#MetaProgramming.
Saturday, March 01, 2008
PhD Thesis Summary
There are many computer literate people who are experts in a particular domain. This research examines enabling computer literate engineers to model problems in software by minimising the code writing they need to undertake. Software development is difficult for many engineers as they often do not have the time, experience, or access to software development tools necessary to model their problems. Using a combination of modelling via use of formulae (equations) and visualisation of the way these formulae interact it is possible to construct modelling software without requiring code. 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, and that this combined with visualisation would allow engineers to model problems accurately. This technique of User Driven Modelling/Programming could be widely applicable to any problem that requires linked equations to be represented and tracked, and results from these calculated. While some argue that end-user programming is an insurmountable problem, this problem could be tackled by many researchers co-operating to create specific solutions to different kinds of end user programming problems while also sharing findings, to assist with progress towards a more generic solution.
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.
More Information is available on my Home Page at - http://www.cems.uwe.ac.uk/~phale/.
Saturday, January 19, 2008
Web Taxonomy Creation 2
To achieve the aims of Web Taxonomy Creation examined in my last post, a collaborative modelling approach is required. The literature on collaborative modelling is extensive. Huhns [1] and Paternò [2] both explain that alternatives to current software development approaches are required for ease of model creation. The need is to translate from a model-based visual representation understood by users to software. This makes it possible to engage with end-users and non-specialists in general. Johnson [3] explains that successful interaction requires mapping between levels of abstractions and that translation between these abstraction levels required by people and computers is difficult. Johnson explains that this problem often means systems are created that make users cope with the problems of mis-translation. The representation of rules and information can be illustrated diagrammatically and it is possible to describe algorithms through concrete examples rather than abstractly. Models must be designed and visualised so that they convey to users a representation of a problem that assists with their vision of it. This modelling approach is explored by Crapo et al [4] and is the basis of our visualisation techniques allowing the creation and understanding of taxonomies and models.
Scaffidi et al [5] show that most people who develop software are de-facto programmers lacking a formal computing background, this will often be the case for scientists and the public contributing to taxonomies. End-user programming is particularly important in this research as we are making software development accessible to non-experts. Research by Ko [6] explains the need for engagement of end-users, including non-specialists by providing them with the capability to interact and amend software. An e-science interactive environment is ideal for involving anyone interested in science to amend or produce personal content. The environment will benefit from an interactive e-learning approach influenced by 'Semantic Learning Webs' [7]. The capabilities we will provide over the web are similar, but more collaborative and advanced than provided by spreadsheets for modelling, and web editors for knowledge sharing. We will produce an alternative methodology for scientific modelling that hides the complexity of low-level programming code from users. This is a kind of meta-design, as explained by Fischer [8] that can be standardised to create a collaborative environment for sharing information among scientists. This builds on research we have undertaken to enable end-user programming. We will visualise scientific information and make this editable online. The system created must be judged accessible and user friendly by users. In addition, it must share information successfully with other software and people. So interoperability is extremely important, examples of interoperability research we will make use of are INTEROP [9] and MOMOCS [10], and combine this with a model driven approach. In order to achieve interoperability, the utilisation of open formats should be favoured in order to maximise chances of forward compatibility with evolving scientific models. We will also create or customise editing tools such as wikis [11][12], blogs, and Semantic Web editors [13] to document the models and collect user's feedback. We will visualise scientific information and make this available online.
Web Taxonomy Creation -
http://userdrivenmodelling.blogspot.com/2008/01/web-taxonomy-creation.html.
References
[1] Huhns M, 2001, Interaction-Oriented Software Development, Journal of Software Engineering and Knowledge Engineering.
[2] Paternò F, 2005, Model-based tools for pervasive usability, Interacting with Computers Vol 17(3), pp 291-315.
[3] Johnson P, 2004, Interactions, Collaborations and breakdowns, ACM International Conference Proceeding Series, 3rd annual conference on Task models and diagrams Vol 86.
[4] Crapo A W, Waisel L B, Wallace W A, Willemain T R, 2002, Visualization and Modelling for Intelligent Systems, Intelligent Systems: Technology and Applications, 1, pp 53-85.
[5] 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, 21-24 September, Dallas, USA.
[6] Ko A J, 2007. Barriers to Successful End-User Programming. End-User Software Engineering Dagstuhl Seminar.
[7] Stutt A, Motta E, 2004. Semantic Learning Webs. Journal of Interactive Media in Education, 2004(10), Special Issue on the Educational Semantic Web.
[8] Fischer G, 2007. Meta-Design: A Conceptual Framework for End-User Software Engineering. End-User Software Engineering Dagstuhl Seminar.
[9] INTEROP -
http://interop-vlab.eu/newsletter/newsletter-nb02/[10] MOMOCS - MOdel driven MOdernisation of Complex Systems -
http://www.viewzone.org/momocs/index.php?option=com_content&task=blogcategory&id=20&Itemid=17[11] Hale P, 2007. Protégé Wiki
http://protege.cim3.net/cgi-bin/wiki.pl?UserDrivenProgramming[Accessed 29 Nov 2007].
[12] Visual Knowledge, 2007. Semantic Wiki
http://www.visualknowledge.com [Accessed 29 Nov 2007].[13] Quint V, Vatton I, 2005. Towards Active Web Clients. DocEng Bristol United.
Thursday, October 11, 2007
PhD Objectives - User Driven Modelling
This research will examine creation of models and modelling systems, and how this can be eased so that a wider range of the population can achieve this. It will also identify ways that creation of models and modelling systems is similar to other types of programming, and how the research can be applied more generally. The main users of the system will be engineers; possibilities for wider application will be explored.
The purpose of user driven modelling/programming is to enable non programmers to crate and adjust models in order to maximise the maintenance, extensibility, ease of use, and sharing of information in models and modelling systems. The research will investigate the following areas in order to ease the process of model creation.
Maintenance
Maintenance of models and modelling systems will be improved by:-
* Use of open standards to represent information in a format available to the maximum range of maintainers without being dependant on the computer system or software they use.
* Ensuring the structure of the modelling/programming system and all its related information is visualised clearly.
* Minimising the amount of code necessary to create a model, and structuring the model so that all connections can be seen.
Extensibility
Extensibility will also be improved by the above means; this enables understanding of a model and so allows for easier re-use. A clear structure and visualisation can be edited with fewer worries about unintended consequences (side effects).
Ease of Use
* Maximising accessibility is important to this, use of open standards helps achieve this, together with enabling models to run on software and systems that people are widely familiar with. Ease of use should be facilitated without compromising structure.
Clear structuring and visualisation of information also assists in making a modelling system easier to use.
Sharing of Information
Maintenance, extensibility and ease of use are the key drivers for sharing of information. Achievement of the objectives in these areas would enable collaboration.
Methodology for Achievement of Objectives
Achievement of the above objectives can make possible creation of manageable, maintainable, and flexible models. To enable these objectives, a diagrammatic representation of models will be used as well as a taxonomy based visualisation. This will make it possible for engineers to use an interface that many of them are familiar with. Translation capabilities will be provided to enable better communication between computer systems, and between humans and computer systems. This will allow visualisation of chains of equations which are common in cost modelling. This visualisation will make it easier for people to add and manage information in large models, and identify cost information. A cost modelling example will be used throughout the thesis, but this work is relevant to modelling in general.
Information management and Interaction
This work will be based on information held in an Ontology, accessed using Semantic Web technology. Cost models will be constructed from information chosen by users through an interface that interacts with the user to establish what information is required, how it should be processed, what calculations should be made, and how should it be displayed, e.g. as a diagram or taxonomy.
More Information is available at http://www.cems.uwe.ac.uk/~phale/.
Thursday, September 20, 2007
Metaplace - Online Virtual World Builder
The link is Metaplace - http://www.metaplace.com/. I'm looking forward to building a virtual world, and to linking to other peoples' worlds especially if their world is useful for End-User programming and E-Learning and/or has a space or climate modelling theme.
This links with these aims -
Building Developer Communities - http://userdrivenmodelling.blogspot.com/2006_03_01_archive.html.
E-Learning Provision using Semantic Web Technologies - http://userdrivenmodelling.blogspot.com/2007/08/e-learning-provision-using-semantic-web.html.
Drag and Drop Programming - http://userdrivenmodelling.blogspot.com/2007/08/drag-and-drop-programming.html.
In the BBC article Metaplace say -
"We want to see 10,000 virtual worlds so that lots of wild and crazy stuff gets made because that is the only way it will advance as a medium."
So I would like to be part of this effort. If anyone at Metaplace, or who is developing a Metaplace world has something I can link to that would be useful for the above, could they please email me at peter2.hale@uwe.ac.uk.
I am also interested in this from the BBC article -
"As each world is based on standard web technology they can also be embedded in blogs, a facebook profile, myspace page or website."
How can I do this or link to other peoples' worlds.
I think to begin with we register at http://www.metaplace.com/. The release is due for Spring 2008 but perhaps registering will allow for earlier involvement. It's called Alpha Signup.
This looks like the best place to keep up with developments and a community of users/developers - http://www.metaplace.info/.