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, June 23, 2011
PCCAT Exeter University Conference Paper June 8th 2011
The paper is titled - Requirements and software engineering for tree-based visualisation and modelling: A user driven approach
This is the link where I placed it in the University of the West of England Research Repository. The PowerPoint presentation I gave is also there. There are Word and PowerPoint 2007 files and also PDF versions. These are all available from this link - https://eprints.uwe.ac.uk/15077/.
This is the abstract -
Abstract
This paper is about potential to provide an interactive visual ontology/taxonomy based modelling system. The research is part of efforts to structure, manage, and enable understanding of complex engineering, business and/or scientific information to enable those involved to collaborate using a systems approach. The aim and objectives are to provide a taxonomy management system to close the link between requirements gathering and end-user modellers. The research is into modelling of product data structures. This research could be adapted to business process modelling, and biology taxonomy visualisation/representation. The modelling system was developed to assist decision support for problems such as wing and engine design. The methodology involves modelling using tree structured ontology based modelling. It is argued that visualising this structure enables improved Maintenance, Extensibility, Ease of Use, and Sharing of Information, and so enables better and more accessible modelling. This is achieved by uniting the software taxonomy structure with the structure of the domain to be modelled and visualised, and using Semantic Web technologies to link this with ontologies and to end-users for visualisation. This research assists with management of development, use, and re-use of software in order to make this an integrated process. The research brings together related fields of Semantic Web, End-User Programming, and Modelling, to assist domain expert end users.
Further information -
I've published my more general thoughts about the benefits of Postgraduate Conferences and Research Repositories to students, in the UK Vitae (organisation for research students and staff) - What's Up Doc Blog - http://www.vitae.ac.uk/researchers/346441/Whats-up-doc-blog-for-postgraduate-researchers.html. I publish my thoughts that are more general to all researchers rather than my specific research to there -this is my post to that blog - http://www.vitae.ac.uk/researchers/346441-406701/Getting-your-Research-Published---PostGraduate-Conferences.html.
Saturday, May 15, 2010
User Driven Modelling/Programming - Overall Aims
- Changes in the strategy of the organisation or the environment in which it operates.
- Changes in the software environment, e.g. what software the IT services will allow.
- Problems in having time and skills for learning and using computer languages.
- Difficulties in visualising and representing the software created.
- Difficulties in enabling collaboration.
- Inaccessibility of software created, caused by use of proprietary, department only, or specialist software.
- Maintenance problems.
- Mistakes in reuse, caused by lack of visualisation and representation of previous use.
The means for this is development of diagrammatic visualised software over the web as far as possible, where the visualisation matches the structure and therefore enables the collaborion by cutting through uneccessary barriers.
The main possible uses so far are models/problems that suit a tree/network based structure, such as process modelling, business modelling, and scientific taxonomies, and family trees.
Tuesday, February 02, 2010
User Driven Modelling and Systematic Interaction for End-User Programming
http://www.bristol.ac.uk/engineering/systemscentre/news/2010/incoseblg.html.
This talk discusses PhD research (just submitted) into building a systematic infrastructure and capability, and how to solve problems which could hamper this. This approach is based on creation of systems that can be customised to produce other systems and models, and translation from abstract diagrammatic representations to computer representations.The conclusion explains how this approach to modelling and end-user programming enables interoperability, and collaboration, and that this assists with Maintenance, Extensibility, Ease of Use, and Sharing of Information.
Systems Engineering is involved in the analysis of the relating of interdisciplinary research requirements, in both engineering and computing, for this research. Systems engineering is also important in that the application area of modelling, for aerospace (Airbus and Rolls-Royce) has been one where complex engineering products are created, and a systematic approach is needed. Further to this the research has required systematic production of systems that in tern must be usuable by a wide range of users to produce and share their customised engineering models.
Wednesday, October 07, 2009
PhD Thesis Submitted
Thursday, September 03, 2009
User Driven Modelling/Programming Definition
A particular research area I want and need to research is that of developing a modelling/programming user interface further in order to simplify tasks enough that non-programmer engineers can begin to program/model.
My research is described on my Google Sites pages - http://sites.google.com/site/userdrivenmodellingprogramming/.
Friday, June 12, 2009
PhD Student Conference UWE 2009
University of the West of England, Bristol
Enabling diagrammatic de-abstraction and modelling of engineering problems
Abstract
Problem -
* Enable de-abstraction of engineering problems from engineers' representation to computer models and code
* To what extent can diagrammatic representations of problems can be used in order to provide modelling solutions
Solutions -
* A source tree is created, then translated to computer code, then represented as a result tree
Benefits -
* Enables engineers to visualise problems such as representation of a product data structure in a familiar way
* Gives a visual and colour coded representation of equations
* Visualisation is easier to navigate and understand than that in spreadsheets, and more maintainable
Wider Implications -
* This research could also be used for business modelling, process modelling, and workflow
Research Student Conference Paper UWE (University of the West of England) June 2009, Research Conference Presentation June 2009,
Wednesday, May 20, 2009
Enabling diagrammatic de-abstraction and modelling of engineering problems
This paper discusses efforts to enable de-abstraction of engineering problems from a representation suitable for engineers to that suitable for computer models and code. The key question is to what extent diagrammatic representations of problems can be used in order to provide modelling solutions. To achieve this, a source tree is created, this is translated to computer code, then represented as a result tree. This enables engineers to visualise problems such as representation of a product data structure in a way familiar to them, and this also gives a visual and colour coded representation of equations. This visualisation is easier to navigate and understand than that which can be provided by spreadsheets, and more maintainable. This research could also be used for business modelling, process modelling, and workflow.
Introduction
C.S. Peirce (1906) stated in 'Prolegomena to an Apology for Pragmaticism' "Come on, my Reader, and let us construct a diagram to illustrate the general course of thought; I mean a system of diagrammatization by means of which any course of thought can be represented with exactitude". That is the purpose of this research, but to limit the scope and so make application of this theory testable the research is restricted mainly to engineers (because they often think in terms of diagrams) and to the domain of modelling (which often requires diagrams). So the aim is to apply the research first where it can have the most use and encourage others to expand it for other domains and other users. This research is intended to simplify computing for computer literate non-programmers, this includes many engineers. The main research area is enabling users such as engineers to model the problems they encounter in manufacturing and design. However, the wider aim is to prototype research for enabling a larger range of software users to model their problems. The intention is to create collaborative tools that allow users to develop software in a way they will be familiar with from their use of spreadsheets. This research brings together approaches of object orientation, the Semantic Web, relational databases, and Model-Driven and Event-Driven programming. Frankel et al. (2004) explain the opportunities for, and importance of this kind of research.
Figure 1 shows the way iterative development is used both in this research and in the implementation to ensure that changes can be made systematically as necessary and without disrupting the project.
Methodology
A common factor in these various types of modelling is the need to transform between a high level abstraction, to a lower level such as a computer model and then code. This is illustrated by examples of semi-automatically produced programs/models (Hale, 2008). The translation process involves translating from a tree/graph representation and for each node this is translated into a code representation of the equation that relates this node to any others, and this code is then presented in the interface as a result tree/graph. This can be achieved for programs and/or web pages. Kraus et al. (2007) examine and implement this transformation problem and also produce code and/or web pages. Uschold (2003) defines the Semantic Web as being machine usable and associated with more meaning. So this is a good way to convey the abstractions represented in a source and result tree to the end user.
The intention is to demonstrate a way to construct diagrammatic representations of cost using the example of an aircraft wingbox. The wingbox is the structure or skeleton of the wing. These diagrammatic representations are achieved by visual representation of items and equations that make up wingbox cost. These items and equations can be represented in standardised categories used in engineering - ‘materials’, ‘processes’, ‘cost rates’ etc. These categories are standard for engineering and the methods for representing items and equations that relate the items can be expressed in standard mathematical form. Therefore using the same methodology and same categories it would be possible to represent other items and equations in the same way. So this methodology is reusable for costing other engineering components including those outside aerospace. The costing method is also recursive because components and sub components can be costed separately or together and top down or from bottom up. This methodology has the potential to be applied to any calculation based modelling problem.
Solutions to this transformation problem can be found by adapting current tools and techniques using a systematic approach. Such tools and techniques involve use of modelling tools, spreadsheets, ontology management tools, and Semantic Web Web 2.0 tools. 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.
The User Driven Modelling/Programming approach advocated in this thesis has the advantage that it is using a modelling approach for creating modelling solutions and involves creating systems to create systems. This makes it possible to solve the problem by breaking it down into stages and allowing software developers to concentrate on the most complex software problems and domain experts to be able to concentrate on their domain problem. The standardisation possible in this approach can allow software developers to create modelling systems for generic purposes that can be customised and developed by domain experts to model their domain. This methodology can be facilitated by :-
· 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.
Figure 2 shows the solutions, and how these make User Driven Modelling/Programming possible :-

Figure 2. Methodology Diagram - Enabling User Driven Modelling/Programming
It is possible to create an extra layer of visualised semantics to enable users to specify commands in structured language. This approach of adding extra layers is the way this visual programming works. Users provide the information the program needs at the visual interface layer, and program code is created automatically. The layers provide the bridge between abstract ideas and computer code. If this approach is taken to its logical conclusion, it would be possible to allow the user to specify what the computer should do. Then each layer would communicate this to the layer below until the computer performs the action required. A simple example of this approach is the use of spreadsheets. Users can specify a calculation in mathematical terms using a formula. The spreadsheet then calculates the result of the formula. Users can change the formula if it is incorrect without any need to write code or re-compile. This accounts for the popularity of spreadsheets. However, spreadsheets do not provide the centralised and structured data-store required for a distributed collaborative system. Therefore, the research concentrates on combining the wide applicability of generic spreadsheet modelling with structured and adaptable modelling and visualisation.
It is important to enable changes to the design of the information source and its structure as necessary, even when it contains information. This makes possible continuous improvement of the information and its representation together. Clear visualisation of the structure makes out of date and duplicate information obvious, so it can be changed by the end-users of the information. This provides for maintenance of information quality without necessitating end-users to understand relational database design; though relational databases can still be accessed by software specialists for more in depth and less frequent structural changes.
Program transformation allows for writing in one representation or language, and translating to another. This is particularly useful for language independent programming, or for high level and end user programming that can then be translated to a language more easily interpreted by computer systems.
A taxonomy representation is translated into a computer model. Relationships can be conveyed to a software model that evaluates them. Information is translated from the taxonomy and is visualised in tree form in a decision support tool with the example of spar manufacture information. The visualisation of the information in a tree can be further translated into visualisation as an interactive diagram. The representation can be translated into different languages, to allow for language independence.
Figure 3 explains the transformation process.

Figure 3. Translation Process
Related Research
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. Huhns (2001) and Paternò, (2005) both explain that alternatives to the current approach to software development are required. Modelling languages such as Alloy explained by Wallace (2003) can be used as an interface to an End-User Programming environment. Transformation from a model building environment to program code has been investigated by Gray et al. (2004).
Conclusion
Experienced programmers can build a modelling environment that can then be used by non programmers to create models or solve other software problems. This was achieved for the DATUM (Design Analysis Tool for Unit-cost Modelling) project with Rolls-Royce, and the modelling environment created was used by their engineers. This is described by Scanlan et al. (2006). Collaboration, simulation and modelling have been investigated to determine the requirements for future research in modelling of problems. This should allow translation from a model-based representation of software to the actual software. This can involve automatically producing software for a Semantic website from visual representations of the problem. The core of this modelling infrastructure is automated generation of models created with World Wide Web Consortium (W3C) standards based languages, and the visualisation of information represented in such W3C standard ways. This research investigated alternative approaches to software development, which give users greater involvement. This partially automates the process of software creation via a collaborative process and equation tree that maps the problem structure, and user interface creation by providing a means to manage a hypermedia concept map.
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.
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.
Gray, J., Zhang, J., Lin, Y., Roychoudhury, S., Wu, H., Sudarsan, R., Gokhale, A., Neema, S., Shi, F., Bapty, T., 2004. Model-Driven Program Transformation of a Large Avionics Framework. In: Third International Conference on Generative Programming and Component Engineering GPCE, pp 361-378.
Hale, P. 2008. http://www.cems.uwe.ac.uk/~phale/EconomicModels/ModelsVisualised.htm.
Huhns, M., 2001. Interaction-Oriented Software Development. International Journal of Software Engineering and Knowledge Engineering, 11, pp 259-279.
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.
Kraus, A., Knapp A., Koch, N., 2007. Model-Driven Generation of Web Applications in UWE. http://ftp.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-261/paper03.pdf In Proc. MDWE 2007 - 3rd International Workshop on Model-Driven Web Engineering, CEUR-WS/, Vol 261, July 2007.
Paternò, F., 2005. Model-based tools for pervasive usability. Interacting with Computers, 17(3), pp 291-315.
Peirce, C.S. - 1906. Prolegomena to an Apology for Pragmaticism - http://www.existentialgraphs.com/peirceoneg/prolegomena.htm.
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).
Uschold, M., 2003. Where are the semantics in the semantic web? AI Magazine Vol 24 (3) pp 25-36.
Wallace, C., 2003. Using Alloy in process modelling. Information and Software Technology, 45(15), pp 1031-1043.
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 :-
Saturday, October 11, 2008
User Driven Programming/Modelling, and wider participation
For User Driven Programming, 'user' can mean individual and/or organisation. The technique can be applied soonest to modelling/programming problems that require calculation. E.g. scientific, engineering, and business problems. The basis of the technique is enabling the information to be represented in a structured format e.g. XML (eXtensible Markup Language), RDF (Resourece Description Framework), RSS (this can stand for 3 different things - http://en.wikipedia.org/wiki/RSS_(file_format), and OWL (Web Ontology Language). Visualisation and interaction with the information can be enabled in a standardised way because the information is structured. This enables diagrammatic editing for modelling/programming. Careful structuring of the information and models/programs simplifies the modelling/programming process. A translation process from abstract/domain models to code can then be provided using recursive techniques.
As the structure and design and editing process for these models/programs can be standardised this enables a common meta-programming based methodology. Visualisation of this methodology to allow User Driven participation could enable wider participation than is currently possible for open source development, which is limited to more technical users. Visualisation at different levels of abstraction from domain to software could enable end-users, designers, and software developers to communicate in a semi-structured way in order to establish procedures for ensuring software is produced that end-users want to use.
Monday, June 16, 2008
User Driven Modelling - Intermediate Benefits
The techniques used helped with progress towards improved interoperability that can aid in all the above areas. These uses and improved interoperability to support them needed to be developed together in an iterative way.
Experienced programmers/software engineers may have many of the problems of end-user programmers whenever they need to use a language/system they are unfamiliar with, or when the language/system they use is updated to a new version. So this means the techniques and approach developed can aid experienced software developers in such circumstances, as well as end-user programmers.
Sunday, March 23, 2008
PhD Findings and Conclusion
Findings
The thesis covered the following areas :-
- Enabling people to create software visually.
- Creating design abstractions familiar to domain experts e.g. diagrams for engineers.
- Ensuring interoperability using open standards.
- Automating user to computer translation process.
This post explains how the alternative approach of User Driven Modelling/Programming used for this thesis to develop models and modelling capabilities compared to that of spreadsheet development, used within other projects. The alternative approach was outlined in this thesis, of using open standards ontologies/taxonomies and a web interface for developing decision support models for design and costing. The stepped translation approach designed and implemented in this thesis enabled structured modelling, and visualisation using interactive technologies.
- Step 1 - Ontology
- Step 2 - Modelling Tool
- Step 3 - Interactive Visualisation
This stepped translation solved problems of the spreadsheet approach as indicated in the table below, and then in more detail in following sections -
Improvement - Achieved By
Maintenance - Structuring and Translation
Extensibility - Structuring and Visualisation
Ease of Use - Visualisation, Interaction, and Translation
Sharing of Information - Shared Ontology and Interoperability
The 3 step translation process created ensures translation of domain level modelling into open standard representation and software and vice versa.
Maintenance
The use of a centralised information source makes these models more reliable than the standalone spreadsheet. This centralised structure was easier to manage than updating multiple instances of the spreadsheets used by different people and ensuring they all contain the same information. So the first task was to build a system for collaborative model building. As a piece of information can then only belong to a unique location, the problems arising from duplicate pieces of information are eliminated. The models have only the functionality that is added by the model builder so there are not other side effects to keep track of, as there are with generic functionality within spreadsheets. Enabling people to create software visually makes it easier for model builders and model users to keep track of any information they are responsible for. Translation from the ontology to models and visualisations ensures one change will affect all stages, so this makes maintenance easier.
Extensibility
Creating the infrastructure for the collaborative model building system took much more time than it did for the spreadsheet system, but having done so it is quicker and easier to create further models. This is because of the facilities provided for model builders and end-users to customise the software in any one of the three step translation process. This means progress has been made in making it possible for non-programmers to build models. It also indicates that the extra research and development time taken was worth it in the long term, most of this time involved productive research and this can be used in future projects. The use of open standards in this thesis for information and models ensures there should be a development path, whatever changes there may be in the software market. This use of open standards also ensures that the system can link with most environments used by others. The translation and visualisation approach ensures that new models can be added using the existing ontology, and that design changes in the ontology and translation can enable modelling of different problems. So if there is a new problem to be modelled there are two ways to achieve this.
Ease of Use
Many people now are familiar with web pages and at least the basics of how to navigate them, and by creating such an environment, and standardising the navigation to those ways commonly used over the web, it is possible to ease usability. The models contain only the functionality that is added by the model builder unlike the spreadsheets which had generic functionality that was not required and led to user’s confusion. New Web 2.0 interaction technologies have allowed production of a rich user interface for web programs in a similar way to single computer applications. This means information held in an ontology and translated through modelling tools can be made available as interactive applications for many users. Translation allowed the same user interface to be provided in multiple tools and computer languages. Also this research showed that it was possible to provide user interfaces and visualisation differently as appropriate according to the type of user, the situation, or the kind of information to be shown.
Sharing of Information
The use of open standards languages for representing information makes it much easier to represent information in a way that makes it accessible both to people and software. Ontology based modelling tools use these open standards and so ensure dependable translation, interoperability, and sharing of information. Web browsers make it possible to share information with many users at once, and so this enables collaboration. Structuring of the information using standardised languages makes it easier to search and visualise the information. This ensuring of interoperability is important for long term use of the overall modelling system.
Conclusion
Within this thesis it is argued that there is a need for software developers to create programs that enable users to solve problems themselves. In effect this involves production of a system to create systems. This approach can widen programming participation by including computer literate non-programmers. This is a reaction to the increased complexity of real world problems and software systems, which makes development of software solutions impractical without greater involvement from end-users. It is difficult for developers to foresee every need of users and use of the software produced, so it makes sense to enable more end-user customisation. It is also argued that the research for this thesis has been a step towards making end-user programming possible. The research ideas look complex at first glance but this research is all about simplifying software development.
The approach of developing decision support models for design and costing using a spreadsheet was compared to the alternative approach of using open standards taxonomies and a web interface for this purpose. The conclusion is that although use of spreadsheets allows for the creation of models relatively quickly they are beset by problems. These relate to Maintenance, Extensibility, Ease of Use, and Sharing of Information. The spreadsheet example and the explanation in the thesis represent problems currently experienced throughout software and computer use.
The alternative approach for this thesis of User Driven Modelling/Programming involves the development of a system, where a model builder, via visual editing of library taxonomies can undertake maintenance and extension of information. Dealing with this proof of concept has indicated that it is easier to maintain, search and share information using this approach than it was using spreadsheets. This also enables much more of the maintenance task to be left to users, who can also customise the system. Creating the infrastructure has taken much more time than it did for the spreadsheet system, but having done so it is much quicker and easier to create further models. This indicates that the extra research and development time taken though far exceeding what would have been required for a spreadsheet modelling project is well worth it in the long term. Also the use of a centralised information source makes these models more reliable than the standalone spreadsheet, standalone decision support models created individually may contain out of date information. In addition, since a well constructed ontology implies that a piece of information can only belong to a unique location, the problems arising from duplicate pieces of information are eliminated. It is also much easier to create models once the infrastructure is in place; this can enable users to develop models. The ability to visualise, search and share information using structured languages and web pages is a huge advantage for creation of dynamic structured views and decision support models over the web.
This research was a test case for a whole new approach that could be possible, of collaborative end-user programming by domain experts. The end-user programmers can use a visual interface where the visualisation of the software exactly matches the structure of the software itself, making translation between user and computer, and vice versa, much more practical. For this reason highly structured visualisations were preferred over web spreadsheets. Semantic Web languages are ideal for representing graphs and trees in an open standard way. The spatial, and tree/graph visualisations used both have the same underlying semantics, and therefore can both be translated to computer languages. In fact it would be much better in the long run to use the Semantic Web languages as standardised programming languages for such problems as this would avoid the need to further translate into other programming languages, and systems. The advantage to this is that of using Semantic Web languages for representation of information, meta-programming, and translation to a visual display for users. The use of Semantic Web languages as a connectivity environment for connecting information, and for connecting users to the information held in Semantic Web data sources enables an environment that could be made easier to use, install and maintain.
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 an out of the box system is not practical considering both increases in complexity of manufactured products, and of software systems themselves. Feedback from publishing the research examples behind this thesis and working with industrial partners indicates that 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. Research cited in this thesis from others involved in end-user programming confirms this.
For proving the hypothesis that it is possible to create an end-user programming environment, usable by non programmers, it has been found that structuring and relating of information is all important in this solution. To achieve this, it was only necessary to link the information visually via equations, and store these results for reuse and collaboration. If users can understand and navigate relationships, and add new relationships they can model most problems. It was important to design a visual interface that is intuitive to use, and allows for proper interpretation of the results. Feedback has indicated that users can navigate this structure and manipulate it. This is preferable to ’black box’ solutions that hide information. There are no dead ends or blocks to expanding and improving this approach. To make the system easier to use it is only necessary to trial continually better interfaces, and to assist by providing guidance to the user. There was not sufficient time and resources to expand this research much to areas outside engineering modelling, but there is scope for researchers to improve end-user programming for engineering modelling systems, and to expand the research into other areas.
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/.
Friday, February 01, 2008
PhD Summary - User Driven Programming
The research question to be answered in this thesis is - To what extent is it possible to improve collaborative software development through the use of diagrams without requiring people to learn computer languages?
My research involves enabling computer literate people who aren't programmers to create software. The means for this is construction of visual diagrams that represent the task, in a similar way to how family trees and taxonomies can be represented as diagrams. The visual interface is available from a website and the research involves translating this to code. The aim is to enable programming without requiring people to learn computer languages. I am particularly interested in making it possible for a wider range of people to collaborate on software development.
The methodology for this is automation by translation from a human level of abstraction to software.
The theory behind this thesis is that it is possible to create a systematic diagrammatic representation of logical thought to enable representation of user's wishes to a computer.
C.S. Peirce (1906) stated in 'Prolegomena to an Apology for Pragmaticism' "Come on, my Reader, and let us construct a diagram to illustrate the general course of thought; I mean a system of diagrammatization by means of which any course of thought can be represented with exactitude". That is the purpose of this research, but to limit the scope and so make application of this theory testable the research is restricted mainly to engineers (because they often think in terms of diagrams) and to the domain of modelling (which often requires diagrams). So the aim is to apply the research first where it can have the most use and encourage others to expand it for other domains and other users. This research is intended to simplify computing for computer literate non-programmers, this includes many engineers. The main research area is enabling users such as engineers to model the problems they encounter in manufacturing and design. However, the wider aim is to prototype research for enabling a larger range of software users to model their problems. The intention is to create collaborative tools that allow users to develop software in a way they will be familiar with from their use of spreadsheets.
The hypothesis is that it is possible to create an end-user programming environment, usable by non-programmers, which can have a wide variety of uses. The aim of this research is to create a modelling system that can be edited by computer literate non-programmers, and so demonstrate an application of end-user programming that could be used in a more generic way. The possibilities for a generic user-driven programming environment will be explained. It is possible to create an end-user visual programming environment using Semantic Web technologies, especially for modelling of information, where this approach is well suited. All that is necessary is to link the information visually via equations, and store these results for reuse and collaboration. This can make translation from humans to computers easier and more reliable than current software systems and languages. The use of Semantic Web languages as programming languages would assist greatly with interoperability as these languages are standardised for use in a wide range of computer systems.
The problem examined in this thesis is that of allowing domain experts to create decision support software. This is a way of testing the assumption that these domain expert's thoughts can be represented in a systematic diagrammatic way, and then translated to computer code. The main emphasis is on engineers, who experience problems in creating and sharing their software. The alternatives they have for creation of software are spreadsheets, which do not have collaboration and information modelling abilities sufficiently built in, or complex software that needs considerable expertise to use, and often still has insufficient collaboration or information modelling capabilities.
Peirce, C.S. - 1906. Prolegomena to an Apology for Pragmaticism http://www.existentialgraphs.com/peirceoneg/prolegomena.htm
Friday, August 17, 2007
User-Driven Model-Driven Programming
User Driven Model Driven Programming
Ways my research is pursued in order to make User Driven Programming possible are :-
1 Semantic Web and Web 2.0 approach to enabling User Generated Content - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm.
2 User Centric Extensions to UML (Unified Modelling Language) e.g. http://www.himalia.net/ this approach also ventures into 1 and 3).
3 Visual Programming Extensions to spreadsheet type formulae based modelling, an example is http://wiki.vanguardsw.com/ enabled using approach 1.
This research links with the approach of enabling User Generated Content and providing a Visual Programming System. While my thesis concentrates mainly on 1 and 3, 2 is just as important and is referenced.
So there is considerable overlap between these three approaches and they must be integrated within interdisciplinary research to enable user driven programming. One approach to this is a Semantic User Interface, this is explained here -http://www.himalia.net/docs_semanticUI.html. This can enable Drag and Drop programming http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm#DragandDropProgramming that combines the benefits of all three research approaches. The important factor is to connect the user interface with the underlying code, so the two share the same structure and users can properly see how their actions can change the underlying code.
The next step is to make possible collaborative user-driven programming by sharing the visualisation of models across computer networks and between collaborators. In order to make user driven modelling and programming possible, it is essential that a communication mechanism is established, which allows users to generate changes and receive changes generated by the modelling system.
My pages on subjects related to this are -
End-User Programming - http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.
Language and Tool Mapping - http://www.cems.uwe.ac.uk/~phale/#LanguageToolMapping.
Model-Driven Programming -http://www.cems.uwe.ac.uk/amrc/seeds/softwareengineering.htmModelDrivenProgramming.
Modelling and Semantic Web -http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm.
Semantic Web - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm.
Friday, July 13, 2007
User Driven Modelling - Detailed Explanation - Part 2 - Research Approach
The research applies this User Driven technique to aerospace engineering but it should be applicable to any subject. The basis of the research is the need to provide better ways for people to specify what they require from computer software using techniques that they understand, instead of needing to take the intermediate steps of either learning a computer language(s) or explaining their requirements to a software expert. These intermediate steps are expensive in terms of time, cost, and level of misunderstanding. If users can communicate intentions directly to the computer, they can receive quick feedback, and be able to adapt their techniques in a quick and agile way in response to this feedback.
A modelling environment needs to be created by software developers in order to allow users/model builders/domain experts to create their own models. This modelling environment could be created using an open standard language such as XML (eXtensible Markup Language). As the high level translation though this would depend on tools developed using lower level languages, this is why tools such as Protege and DecisioPro http://www.vanguardsw.com/are used. Vanguard are creating a modelling network where universities can share decision support models over a network [Vanguard 2006]. This tool was used because it was selected during a project to evaluate, and then use software to solve costing problems. We are creating a modelling network that will link to that of Vanguard http://www.cems.uwe.ac.uk/amrc/seeds/models.htm.
Until recently XML has been used to represent information but languages such as Java, C++, and Visual Basic have been used for the actual code. Semantic languages such as XML could be used in future for software development as well as information representation, as they provide a higher level declarative view of the problem.
A requirement of this research is that open standard semantic languages are used to represent information, to be used both as input and output of the model. These languages are based on XML. These same open standard languages can be used for developing the program code of models. It is proposed that software and information represented by the software, be separated but represented in the same open standard searchable way. Software and the information it manipulates are just information that has different uses, there is no reason why software must be represented differently represented differently from other information. So XML can be used both as the information input and output by the application, and for the definition of the model itself. The model can read or write information it represents, and the information can read from or write to the model. This recursion makes 'meta-programming' possible. Meta programming is writing of programs by other programs. The purpose of this is to provide a cascading series of layers that translate a relatively easy to use visual representation of a problem to be modelled, into code that can be run by present day compilers and interpreters. This is to make it easier for computer literate non-programmers to specify instructions to a computer, without learning and writing code in computer languages. To achieve this, any layer of software or information must be able to read the code or the information represented in any other. Code and information are only separated out as a matter of design choice to aid human comprehension, they can be represented in the same way using the same kinds of open standard languages.
Dynamic software systems such as outlined by Huhns [1]. Huhns explained that current techniques are inadequate, and outlines a technique called Interaction-Oriented Software Development, concluding that there should be a direct association between users and software, so that they can create programs, in the same way as web pages are created today. Paternò [2] explains research that identifies abstraction levels for a software system. These levels are task and object model, abstract user interface, concrete user interface, and final user interface. Stages take development through to a user interface that consists of interaction objects. This approach can be used for automating the design of the user interface and the production of the underlying software. Paternò states that 'One fundamental challenge for the coming years is to develop environments that allow people without a particular background in programming to develop their own applications'. Paternò goes on to explain that 'Natural development implies that people should be able to work through familiar and immediately understandable representations that allow them to easily express relevant concepts'.
The methods used for this representation and translation will be explained in the rest of this document.
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.
My Home Page is www.cems.uwe.ac.uk/~phale/.
Thursday, July 05, 2007
User Driven Modelling - Detailed Explanation - Part 1 - Research Aim
User Driven Programming (UDP) and User Driven Modelling (UDM) are techniques of End-User Programming, http://www.cs.cmu.edu/~bam/papers/EUPchi2006overviewColor.pdf explains End User Programming. A diagram from this presentation illustrates how small a proportion of development is carried out by professional developers.
Categories of User
It is important to distinguish between the two different types of users for the system, as they would work on different parts of the overall system. However a person may be represented in either or both categories.
Model Builders
Model builders create or edit the semantic representation of the model in an ontology editor in order to create models. Model builders do not need knowledge of a programming language, but do need training in how to use the ontology interface to create a model, and some knowledge of the domain to which it is to be applied.
Model Users
Model users make decisions based on their domain knowledge. This type of user manipulates the tree representation to obtain a result based on the input values they know, or otherwise based on default values. They will want to be able to use a model to evaluate a problem in order to help in decision making.
Expertise of Users
Within this paper the terms user, and domain expert are used interchangeably. The user is a domain expert who wants a problem represented and modelled using software. The domain is engineering but our research could be applied to other domains. The users/domain experts may well be computer literate and able to model certain problems using a software tool such as a spreadsheet. For reasons that will be explained later, this is only sufficient for simpler problems. The reasons that spreadsheets should not be used to represent complex models are connected with difficulties in maintaining, extending, and reusing spreadsheet models. This might not be such a problem in future if research such as that of Oregon State and Houston Universities can succeed in automatically generating correct spreadsheets, and solving errors of meaning (semantic errors) [2].
For now, to be able to model a complex problem, the users/domain experts currently must specify their requirements to other software experts, who may or may not have domain knowledge themselves. It is difficult to find and afford those who have sufficient expertise in both the software and the domain. Someone without the domain knowledge may not understand the requirements. Putting the right team together is a difficult balancing act, and sometimes may be difficult or impossible.
Software development is time consuming and error prone because of the need to learn computer languages. If people could instruct a computer without this requirement they could concentrate all their effort on the problem to be solved. This is termed User Driven Programming (UDP) within this paper, and for the examples demonstrated the term User Driven Modelling (UDM) is used to explain the application of User Driven Programming to model development. This research aims to create software that enables people to program using visual metaphors. Users enter information in a diagram, which for these examples is tree based. Tree based visualisation is often a good way of representing information structures and/or program code structures. The software developed as part of this research translates this human readable representation into computer languages. The tree also shows the flow of information. This technique is a kind of End User Programming, research in this area is undertaken by the EUSES (End Users Shaping Effective Software) research collaboration [3].
Our research is explained with examples at www.cems.uwe.ac.uk/~phale/.
References
1 Olsson, E. (2004). What active users and designers contribute in the design process, Interacting with Computers, 16: 377-401.
2 Stanford University. (2006). Stanford University - Welcome to protégé, protege.stanford.edu/.
3 EUSES. (2006). End Users Shaping Effective
Wednesday, June 27, 2007
E-Learning using Semantic Web and End-User Programming Techniques
Introduction Although there are web modelling tools available it still needs considerable effort to adapt these tools for educational use. Research is needed into creation of Semantic Web models for educators to use in order to create learning objects and models. This educational modelling research should focus on the creation of a web based knowledge management system, and migration of simple models that are normally created in spreadsheets to a shared learning environment.
With the development of technologies under the broad terms of Semantic Web and Web 2.0 there are opportunities to establish a highly interactive web based learning environment. The constructionist approach to understanding problems is to learn about them by modelling them. This approach can be used in combination with research into enabling end-user programming techniques in order to provide an environment for non programmers to model their problems. Visualisation and interaction provide rapid feedback that gives a powerful representation of the environment to be modelled.
Many people would like to make greater use of computer technology but are hampered by the need to learn programming languages if they are to fully interact with software. Instead they are limited to the use of certain features that are provided for them. A further constraint is the cost of software, and it is important to develop free software and encourage a community of end-user developers, and modellers. The aim should be to create a software development environment that enables people to customise their own software solution. This is an alternative to provision of software as a finished article that can't be changed. The e-learning software can be customised without requiring programming expertise.
Methodology A Semantic Web modelling infrastructure could be created to be the basis of future research in learning systems. In order to achieve these aims it is important to examine applications that assist in model building and critically review them. The system we could be used to promote engineering to a skeptical public who see the profession as poorly paid and dirty, 'House of Lords Select Committee on Science and Technology report science and society' [1], and remote from the public [2]. The aim of this research is to try to bring together the areas of E-Learning, End-User Programming and the Semantic Web.
Since Engelbart's Augment [3] there have been attempts to create systems to aid learning. Papert [4] and Smith [5] built on the Augment research to develop a method of Human Computer Interaction (HCI) that can be applied to e-learning. These systems were defined prior to the Semantic Web. It is important now to re-examine and apply this research using Semantic Web/Web 2.0 tools and techniques. Some examples are available [6], more information about the history of end-user programming is available [7].
Mechanisms of Web 2.0 [8] applications include Google web spreadsheets [9]. These applications are increasing in popularity, and can provide modelling capability over the Web, the use of Web 2.0 for public policy is examined in [10]. The advantages of open source collaboration are that as well as allowing researchers to co-operate and work together where they share an interest; it also allows the untapped potential to be developed of those who do not have an official research position. This includes students, people employed outside the academic environment, retired people and amateurs who have useful expertise. Astronomy, for example, has harnessed skills of this very diverse range of people to make new discoveries. The expertise provided by anyone involved can be applied to feedback on usefulness, or ease of use of software, as well as actual involvement in software development. This means feedback would be sought from users of software even if they were not software experts. Researchers would benefit the community by providing education tools online and for libraries. This is different from other open source communities in that the intention is to make the software easier to use and develop, and so involve those who have not previously been capable of participating in software development.
An E-Learning and Modelling tool could bring together experts in science, engineering, systems modelling, computing, web development, and Human Computer Interaction. In any location there are likely to be several researchers examining a different part of a related overall subject, such as web based systems. This means there is a need to co-ordinate researchers, in computing and engineering in a project to link together work on information management and visualisation for modelling and decision support.
Many people who are experts in their domain want to create software models. Scaffidi et al [11] show that most people who develop software are end users not professional programmers. End-user programming is particularly important in this research to make it possible for people who do not have a programming background to create their own educational tools. Semantic Web tools and techniques can be used to create a web based end-user programming environment, these aims are also explained in [12]. People can then use this to create their own software. This software could allow interactive visual modelling of information. This corresponds to the type of work normally undertaken using spreadsheets for modelling, and web editors for knowledge management.
Semantic/Web 2.0 Web Tools The need is for an alternative way of representing these models, which does not require the user to write code. The tool created must make it practical to interact with and change educational models and to share information with others. Such a project can involve use of editing tools such as wikis [13][14][15], blogs, and semantic web editors [16][17][18] to allow discussion and explanation of the models.
There is an urgent need for Semantic Web tools to illustrate the benefits this technology can provide for education, 'EASE: The European Association Semantic Web Education' [19] explains this need. Some Semantic Web tools are available, explained by EASE and in the Jena User Conference [20] or being developed at present, but they are still difficult for people to make use of as they require a good deal of development expertise. REASE (the repository of EASE for learning units) [21] provides a way to find and create learning materials for industrial applications of Semantic Web technologies.
The key problem is enabling a Semantic Web infrastructure that will be the basis for future research in learning systems. To achieve this, a modelling environment needs to be created in order to allow people to customise their own models. This environment can be created using an open standard language such as XML (eXtensible Markup Language). As the high level translation this infrastructure would depend on tools developed in order to assist the user, provide an interface and manage the user interface. This is why tools should be used such as Protégé [13], Amaya [16][17][18]. Until recently XML has been used to represent information, and programming languages used for actual code. Semantic languages such as XML can be applied to software development as well as information representation, as they provide a higher level declarative view of the problem. Semantic Web techniques should be used because they can facilitate computer based communication. Berners-Lee defined the Semantic Web as 'a web of data that can be processed directly or indirectly by machines' [22]. Flexibility is essential when different people are not all using the same systems. To achieve this flexibility ontology languages such as the open standard OWL (Web Ontology Language) [23] can be used. OWL can be searched using SPARQL [24] because it is based on RDF (Resource Description Framework)/XML, and can be searched and accessed using XQuery [25] and XForms [26].
End-User Programming An end-user programming project could involve co-operation with the Institute for End User Computing (IEUC) [27]. Other End-User Programming Consortiums are End-Users Shaping Effective Software (EUSES) [28] and Network of Excellence on End User Development (EUD.Net) [29]. An end-user programming environment can make use of 'Program Transformation'. Program Transformation allows for writing in one representation or language, and translating to another. This is particularly useful for language independent programming, or for high level end-user programming that can then be translated to a language more easily understood by computer systems. This research is influenced by the theory of constructionism explained in [30] and the use of Logo for teaching [31] and [32]. This research could be particularly focused on the web environment, as this is cheap to support and allows for distributed modelling, and learning [30].
Human Computer Interaction Use of the Semantic Web is to be a means for open standard representation of learning material, transformation into different representations as required, and for provision of a high level interface as a tool for model creation, and translation to educational objects. To achieve this is necessary to create a translator that converts the diagrammatic representation of a problem into e-learning objects. Translations could be performed into any programming or meta-programming language or open standard information representation language, the visualisation of the model created could be displayed on the web. A two way translation is needed between human and computer, and between different software environments. This definition used by Simons and Parmee [33] explains the aim "a kind of action that occurs as two or more objects have an effect on each other. The idea of a two-way effect is essential to the concept of interaction, as opposed to a one way causal effect".
This communication strategy improves opportunities for end-user programming, sharing of information, and education of both users and computer software. The analogy of educating computer software to do what the user intends is called programming by demonstration in 'Watch What I Do: Programming by Demonstration' [34]. The user has the role of an educator of the software which acts as an apprentice to learn what is required. Learners are thus able to instruct the software and so program solutions, using an adaptive modelling tool. The education is then a two way process of the user learning from computer based software, and the software learning to do what the user requires. In order to enable understanding of the models and e-learning objects it is essential to visualise them and allow interaction. The visualisation can be depicted in various ways. Two examples are: as a tree (that can be colour coded to represent different types of information) and as an interactive SVG (Scalable Vector Graphics) diagram of a component to be modelled. SVG is an XML based syntax so can be searched and modelled as such. Examples show a tree based representation of engineering components [35], and how a tree based representation is converted into an interactive diagrammatic representation [36]. Transformations are performed between a taxonomy representation of information into many different visualisations and software representations. This process converts an abstract representation of a problem to a concrete model created with the aid of two way communication between the user and the modelling tool.
Highly interactive web pages that act like programs to provide a user interface can be used to provide an interactive User Driven Programming environment. These interactive web pages can be based on visual programming languages such as Alice [37]. Interactive web programs can also be created using scripting languages and XML combinations such as AJAX (Asynchronous JavaScript And XML), which is an overall name for techniques to create highly interactive web pages. Ajax techniques for creation of interactive web models will assist computer literate end-users in programming tasks on the web [38].
Collaborative Modelling Huhns [39] and Paternò [40] both explain that alternatives to current software development approach are required. The need is to translate from a model-based visual representation understood by users to software. Johnson [41] explains that successful interaction requires mapping between levels of abstractions and that translation between these abstraction levels required by users and computers is difficult. He explains that this problem often means systems are created that make the user cope with the problems of mis-translation. The representation of rules and information can be illustrated diagrammatically. It is possible to describe algorithms through concrete examples rather than abstractly. Models must be designed and visualised so that they convey to users a representation of a problem that assists with their vision of it. This subject is explored in [42] and is the basis of our visualisation techniques that enable users to create and understand models, which are translated into software representations.
Conclusion Advantages of this research are : -
- Creation of an open standard online e-learning environment that is usable by non-programmers. - Enabling of creation of e-learning objects by non programmers. - Enabling widespread dissemination and sharing of models over the web. - Provision of an educational resource for students, scientists, engineers, software developers, arts, and business. - Increased user involvement in e-learning development to allow savings in cost and time taken for this development, and enable greater creation and use of educational tools. - Availability of e-learning models and interactive visualisation of educational objects much more widely using browser based software. - Enabling many more people to program. - Opening up opportunities to people currently outside formal education.
This research can bridge the gap between computer literate people and e-learning software creation. This can give a practical illustration of the benefits end-user programming and Semantic Web techniques could provide for e-learning.
References [1] Select Committee on Science and Technology Third Report Chapter 2: Public Attitudes and Values - Attitudes to engineering 2.39 - http://www.publications.parliament.uk/pa/ld199900/ldselect/ldsctech/38/3804.htm.
[2] Canavan B, Magill J, Love D, A Study of the Factors Affecting Perception of Science, Engineering and Technology (SET) in Young People (2002), International Conference on Engineering Education, August 18-21, 2002, Manchester, U.K.
[3] Augment - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory/Augment.htm.
[4] Seymour Papert - Logo - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory/Logo.htm.
[5] Smith, D. C., 1977. A Computer Program to Model and Stimulate Creative Thought. Basel: Birkhauser.
[6] Examples Page - http://www.cems.uwe.ac.uk/amrc/seeds/models.htm.
[7] History of End User Programming - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory.htm.
[8] Mayo, E., Steinberg, T., The Power of Information, 2007 http://www.cabinetoffice.gov.uk/publications/reports/power_information/power_information.pdf?id=3965 Cabinet Office - An independent review.
[9] Google, 2007. Create and share your work online https://www.google.com/accounts/ManageAccount.
[10] JISC (Joint Information Systems Committee) Technology and Standards Watch. 2007. What is Web 2.0? Ideas, technologies and implications for education.
[11] Scaffidi, C., Shaw, M., Myers, B. (2005). Estimating the Numbers of End Users and End User Programmers, IEEE Symposium on Visual Languages and Human-Centric Computing, (VL/HCC'05): 207-214 Dallas, Texas.
[12] Stutt, A., Motta, E., 2004. Semantic Learning Webs. Journal of Interactive Media in Education, 2004 (10). Special Issue on the Educational Semantic Web. ISSN:1365-893X - http://www-jime.open.ac.uk/2004/10.
[13] Protégé Community Wiki - User Driven Progamming - http://protege.cim3.net/cgi-bin/wiki.pl?UserDrivenProgramming.
[14] Vanguard Software Modelling Wiki - http://wiki.vanguardsw.com/bin/browse.dsb?dir/Engineering/Aerospace/.
[15] Visual Knowledge http://www.visualknowledge.com - Semantic Wiki.
[16] Quint, V., Vatton, I., 2004. Techniques for Authoring Complex XML Documents, DocEng 2004 - ACM Symposium on Document Engineering Milwaukee October 28-30 - http://wam.inrialpes.fr/publications/2004/DocEng2004VQIV.html.
[17] Quint, V., Vatton, I., 2005. Towards Active Web Clients, DocEng 2005 - ACM Symposium on Document Engineering Bristol United Kingdom 2-4 November - http://wam.inrialpes.fr/publications/2004/DocEng2004VQIV.html.
[18] Amaya, 2007. Welcome to Amaya - W3C's Editor/Browser http://www.w3.org/Amaya/.
[19] Diederich, J, Nejdl, W, Tolksdorf R, 2006, EASE: The European Association for SemanticWeb Education, SWET2006 Beijing, China.
[20] Jena User Conference, 2006, Bristol, UK http://jena.hpl.hp.com/juc2006/proceedings.html - Proceedings (2006).
[21] REASE the repository of EASE for learning units http://ubp.l3s.uni-hannover.de/ubp.
[22] Berners-Lee, T, 1999, Weaving the Web, Harper San Francisco, ISBN 0062515861.
[23] Bechhofer, S., Carrol, J., 2004. Parsing owl dl: trees or triples?. Proceedings of the 13th international conference on World Wide Web, NY, USA, pp 266-275.
[24] SPARQL http://dret.net/glossary/sparql - Simple Protocol and RDF Query Language
[25] World Wide Web Consortium (W3C), 2006. XQuery 1.0: An XML Query Language http://www.w3.org/TR/xquery/.
[26] Bruchez, E, 2006. XForms: an Alternative to Ajax?. XTech 2006: Building Web 2.0 16-19 May 2006, Amsterdam, The Netherlands.
[27] Institute for End User Computing http://www.ieuc.org/home.html.
[28] Network of Excellence on End User Development EUD.Net http://giove.cnuce.cnr.it/eud-net.htm.
[29] End-Users Shaping Effective Software (EUSES) http://eusesconsortium.org/.
[30] Resnick, M., 1996. Distributed Constructionism. In: Proceedings of the International Conference on the Learning Sciences Association for the Advancement of Computing in Education, Northwestern University - http://llk.media.mit.edu/papers/Distrib-Construc.html.
[31] Papert, S., 1999. What is Logo? And Who Needs it? An essay. LCSI's book, Logo Philosophy and Implementation. http://www.microworlds.com/company/philosophy.pdf.
[32] MIT Logo Foundation, 2006. What is Logo? http://el.media.mit.edu/Logo-foundation/logo/index.html.
[33] Simons, C. L. Parmee, I. C., 2006, A manifesto for cooperative human / machine interaction, object-oriented conceptual software design, Advanced Computation in Design and Decision Making group Technical Report TR091006 - http://www.cems.uwe.ac.uk/~clsimons/Publications/CooperativeInteraction.pdf.
[34] Cypher, A, 1993, Watch What I Do Programming by Demonstration, MIT Press, ISBN:0262032139.
[35] Hale P, http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm - Spar - Tree based representation.
[36] Hale P, http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm - Interactive Examples.
[37] Alice http://www.alice.org/ - Alice v2.0 - Learn to Program Interactive 3D Graphics.
[38] Cagle K, AJAX on the Enterprise, AJAXWorld conference, October 4, 2006 - http://www.oreillynet.com/xml/blog/2006/10/ajax_on_the_enterprise.html.
[39] Huhns M, 2001, Interaction-Oriented Software Development, Journal of Software Engineering and Knowledge Engineering.
[40] Paternò F, 2005, Model-based tools for pervasive usability, Interacting with Computers Vol 17(3), pp 291-315.
[41] Johnson, P., 2004. Interactions, Collaborations and breakdowns. ACM International Conference Proceeding Series; Proceedings of the 3rd annual conference on Task models and diagrams Vol 86.
[42] Crapo A W, Waisel L B, Wallace W A, Willemain T R, 2002, Visualization and Modelling for Intelligent Systems, Intelligent Systems: Technology and Applications, Vol I Implementation Techniques pp 53-85.
E-Learning - http://www.cems.uwe.ac.uk/~phale/ELearning.htm
End-User History - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory.htm
Models - http://www.cems.uwe.ac.uk/amrc/seeds/models.htm
I am a Researcher in the final year of my PhD. I specialise in applying Semantic Web techniques. My current research is on a technique of 'User Driven Modelling/Programming'. My intention is to enable non-programmers to create software from a user interface that allows them to model a particular problem or scenario. This involves a user entering information visually as a tree diagram. I am attempting to develop ways of automatically translating this information into program code in a variety of computer languages. This is very useful for many employees that have insufficient time to learn programming languages.
Thursday, June 21, 2007
User Driven Programming - Research Areas
The main focus of my research is that something is a class until it is used. So all the things in an ontology, taxonomy or any database that is the source of the information I think of as a class. When a user does something that gets this information and uses it for their own purpose, e.g. for a calculation, or to create their own web page I think of that as an instance for that person. So it always follows this sequence -
Ontology - Model - Interface (e.g. web page) - User Output
So this way many users can share use of the ontology and modelling system to produce their own output with the shared information. So the model takes classes and converts them to instances for use by the user e.g. a generic wing component cost and all its classes becomes a specific wing component cost and all its objects.
I am keen to represent rules as equations not as software code, so the user enters equations, these are visualised and linked together, and they are then translated to code for the computer but the user can read them without having to know a computer language. I'm interested in XForms and Web Forms as they are a way of visualising information while maintaining the structure. I have been looking at XForms, I think the quickest way to get into that is to go to http://www.formfaces.com/faces/Examples/index.html because code can be downloaded for these examples and run without having to install anything, it just works from a formfaces.js JavaScript file that you put in the folder with your XForms pages. For background I would recommend reading anything by Kurt Cagle and this book http://xformsinstitute.com/essentials/ downloadable from that site or can be bought. I have it all linked from http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm#XForms. It is also worth looking at combining this with XQuery http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htm#XQuery but this involves installing something such as eXist http://exist.sourceforge.net/ and learning to use that.
This is an area of research that I think is lacking sufficient research effort as yet - http://www.cems.uwe.ac.uk/~phale/#LanguageToolMapping. I call this User Driven Modelling or User Driven Programming. This is the area marked in yellow on the diagram, and below that is a map of tools, that links to a description of each tool that can be used for this subject area. Even this is a large research area. The idea of this is to add ease of use and freedom to develop user driven content to model driven programming, and make the needs of the ordinary end-user central to research. The aim also is to take the Web 2.0 approach to creation of dynamic highly interactive user interfaces, and use the structured language approaches of Semantic Web research combined as technologies to enable the User Driven Modelling.
These references http://www.jisc.ac.uk/media/documents/techwatch/tsw0701b.pdf and http://www.cabinetoffice.gov.uk/publications/reports/power_information/power_information.pdf?id=3965 ask universities and the UK Government to get more involved in the enabling and use of user driven content. The model driven programming approach can be used to enable this, read an ontology and drive technologies such as XForms for the user interface.
Thursday, March 29, 2007
My PhD Research - Collaborative Web Based Modelling
For my PhD research in User Driven Programming, I have been investigating ways of making it possible for people to program software without having to write code. This is especially useful when collaborative problem solving is required. My research relies on visualisation of the problem in order to model possible solutions. So to make this approach possible, I'm developing free models and modelling tools for use over the Web. These can be used for teaching, collaborative problem solving, management decision making, early stage product and process design, and environmental modelling. I'm intending to prototype this on collaborative student projects such as the early stage design of aircraft and spacecraft. The techniques used to build these models are often called Semantic Web or Web 2.0. This involves providing the kind of software over the Web that is already available on individual computers, and using this for sharing of information worldwide. I'm publishing models online and linking Vanguard Studio with my own software to produce interactive models. These models change in response to the user, perform calculations, and range from dynamic computer aided design (CAD) type representations to hierarchical information explorers. Vanguard Software has donated UWE a free server version of their decision support tool Vanguard Studio. This makes UWE part of a collaborative network of universities and industry that can create models and link them via a Wiki (editable website). This enables companies to co-ordinate their design work both internally and with their suppliers.
My research could also be applied to e-learning; the technologies could provide an interactive learning experience for students to collaborate in constructing solutions.
Example models are at :-
http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm
http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm
http://wiki.vanguardsw.com/bin/browse.dsb?dir/Engineering/Aerospace/
Friday, March 16, 2007
Collaborative Web Based Modelling
The SEEDS (Systems Engineering Estimation and Decision Support) team within AMRC (Aerospace Manufacturing Research Centre) is involved in modelling problems and visualising solutions in order to help with decision support. Vanguard Software has donated UWE (University of the West of England) a free server version of their decision support tool Vanguard Studio. This makes UWE part of a collaborative network of universities and industry that can create models and link them via a Wiki (editable website).
For my PhD research in User Driven Programming, I have been investigating ways of making it possible for users to program software without having to write code. This relies on visualisation of the problem in a similar way to modelling. So to make this approach possible I'm looking to develop free models and modelling tools for use over the Web. These can be used for teaching, collaborative problem solving, management decision making, and environmental modelling. The techniques used to build these models are often called Semantic Web or Web 2.0. This involves providing the kind of software over the Web that is already available on individual computers, and using this for sharing of information worldwide. I'm publishing these models online and linking Vanguard Studio with my own software to produce interactive models. These models change in response to the user, perform calculations, and range from dynamic computer aided design (CAD) type representations to hierarchical information explorers.
Example models are at :-
http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm
http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm
http://wiki.vanguardsw.com/bin/browse.dsb?dir/Engineering/Aerospace/