User driven modelling: Visualisation and systematic interaction for end user programming
04-Jan-10
Peter Hale explores to what extent it is possible to improve user-driven collaborative software development through interaction with diagrams and without requiring people to learn computer languages.

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 people as they often do not have the time, experience, or access to software development tools necessary to model their problems; the research focus is mainly on engineers. Using a combination of modelling via use of formulae (equations) and visualisation of the way these formulae interact, it’s possible to construct modelling software without requiring code.
This can make possible creation of systems to enable more collaborative approaches to modelling by domain expert end users; this combined with visualisation would allow engineers to model problems accurately. This technique of user driven modelling/programming (UDM/P) could be widely applicable to any problem that requires linked equations to be represented and tracked, and results from these calculated. While it can be argued that end user programming is an insurmountable problem, this 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.
Diagrammatic software creation
The question asked here is ‘To what extent is it possible to improve user-driven collaborative software development through the interaction with diagrams and without requiring people to learn computer languages?’ The problem examined is whether 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) proclaimed 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".
Perhaps use of new technologies can solve this old problem. 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). Others can expand it for different domains and users. So the research is applied first where it can have the most immediate use. This simplifies computing for computer literate non-programmers, which includes many engineers. This enables 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. Collaborative tools were created to allow users to develop software in a way familiar to them from their use of spreadsheets.
Implementing translation based modelling
My research involves a step by step translation from a visualised ontology (structured information source), through a modelling tool, and output to interactive visualisations. This is represented by a tree/graph, spreadsheet, or CAD type view, depending on what is most appropriate. A further alternative is provision of translations into computer languages and Meta languages as appropriate. The translation and output uses Semantic Web standards to ensure the widest possible applicability. This translation approach is the core aspect of User Driven Modelling/Programming and is intended to ease problems of software development and so enable wider participation in modelling and programming. The research eases problems of maintenance, extensibility, ease of use, and sharing of information.
Enabling Better and more Adaptable Modelling
Maintenance
Maintenance of models and modelling systems is improved by:
- A stepped translation process consisting of step one - Ontology/Taxonomy creation, step two Translation and Modelling, step three - Translation and Visualisation (there is some overlap e.g. modelling is possible at all stages).
- Use of open standards to represent information in a format available to the maximum range of maintainers without being dependent on the computer system or software used.
- 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 all connections can be seen.
Extensibility
Extensibility is also 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). This is achieved by enabling model builders and users to modify the ontology, and to provide and use translation/modelling capabilities, and visualisation. This is the three-step translation process developed for user driven programming/modelling. A person could make changes to whichever step is most appropriate depending on the task they are performing and their interests and preferences.
Ease of Use
Maximising accessibility is important to ease of use and vice versa, 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 is facilitated by improving model 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 enables collaboration. Ontologies are used as a way of representing explicit and implicit knowledge. This is visualised as a taxonomy type view of the ontology information.
Translation Steps
Translation capabilities are provided to enable better communication between computer systems, and between humans and computer systems. This allows visualisation of chains of equations, which are common in modelling. This visualisation makes it easier for people to add and manage information in large models, and identify information. To model complex problems a structured approach is needed for representing explicit and implicit knowledge. A translation is provided in three steps:
- Step one - Ontology
- Step two - Modelling Tool
- Step three - Interactive Visualisation
Step three visualises the results and allows interaction with the information to establish the meaning of the results. The translation is based on semantic web standards to enable widespread applicability and help ensure this is a generic solution. The translation, visualisation and interactions close the gap between human representations of problems, and the representations that are possible using computer languages.
Conclusion
In effect this involved production of a system to create systems. This approach can widen programming participation by including computer literate non-programmers. This is necessary because of the increased complexity of real world problems and software systems, which makes development of some types 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, especially for modelling of complex engineering, science, and business problems.
Visit Peter Hale's blog - User Driven Modelling.
Details
- Author:
- Neil Davey
- Publisher:
- KnowledgeBoard
- Date:
- 04-Jan-10
- Sections:
- Home , News
This article has been read 2184 times.
