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/.
Saturday, March 19, 2011
Postgraduate Conference for Computing: Applications and Theory (PCCAT 2011)
"Home Page
Welcome to the website of the second Postgraduate Conference for Computing: Applications and Theory (PCCAT 2011). Following the great success of PCCAT 2010, we are pleased to announce that the University of Exeter will host PCCAT on 8th June 2011.
PCCAT 2010 proved a great success, both in terms of networking and introducing the vital world of conferencing to postgraduate students.
We are inviting the submission of abstracts, which if accepted will be extended into either a short paper or a poster for presentation on the day. More details can be found on the Submissions Page
In the new year, we will be inviting interested parties to join the paper review panel, which will be responsible for reviewing and providing feedback for short papers. If this is something you feel you would be interested in, please contact us (details of how to contact the committee are here
We hope to see you at PCCAT 2011, and look forward to hearing from you.
Max Dupenois and David Walker
(PCCAT 2011 Programme Chairs)"
This is my Abstract for the paper -
"Abstract: This paper is about potential to provide an interactive visual taxonomy management system. It has been and 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 close the link between requirements gathering and end-user modellers. The main subject will be editing and display of product data structures (already implemented), business process modelling, and discussion of possible application to phylogenic/phylogenetic (biology taxonomy) knowledge. Modelling in all these areas could make possible new insights. This approach could also be used for public understanding work and visualisation, e-science, and information management. The aim is to apply novel end-user programming research to enable the editing, management, and representation of anything tree/taxonomy based by uniting the software taxonomy structure with the taxonomy structure of the domain to be modelled and visualised, and using Semantic Web technologies to link this with overall ontologies then to end-users for visualisation.
The purpose of this work is to ease management of development use, and re-use of software and make this a continuous integrated process.
To achieve the above aim what is necessary is to establish or link to a computing infrastructure for representation of complex, engineering, business, and scientific information. This kind of Computer Science/Software Engineering research allows for bringing together related fields of Semantic Web and ontology/taxonomy management, end-user programming, and visualisation and interaction with complex information. Then management of software development with and for such professionals can be eased and all be involved via the web.
Further, the structure and accessibility of Semantic Web technologies may also assist with broadening this approach to accessibility for people with various disabilities, and also for environmental modelling."
Tuesday, February 22, 2011
Resources for Programming Languages
This resource is very useful containing a history of programming and programming languages with appropriate links to good articles.
Then there is a section on popular programming languages of the modern day, and another section on uses of programming languages, again with useful links.
This is the description of the site :-
"Computer science is no longer a burgeoning field in education -- it is one of the more popular. With steadily growing job markets due to increased reliance on computers and the internet, learning programming languages may one day be a secondary-school requirement like taking Spanish or French.
For those interested in staying ahead of the curve or just pursuing their interests in programming, there are lots of resources out there available for students and teachers alike. Novices need not be lost, especially because the first language is always the hardest -- after that, they come much more easily. For background information on how programming languages have evolved, and how you can use them, check out the links below to some of the top sites around."
Tuesday, January 04, 2011
PhD Viva Presentation
This is my PhD Viva presentaion and it's a PowerPoint 2007 file - https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0Bx_KguSfl6vSYTY4NDhiN2YtNDc3Yy00MmJkLTlkOTUtNjQ0ZGI5ZGZkNDQ1&hl=en- PowerPoint 2003 version - https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0Bx_KguSfl6vSMTdiYjdiMWItMmRmNC00YTJkLThkYmYtYmIwM2VkM2IzZjRm&hl=en.
User Driven Modelling: Visualisation and Systematic Interaction for End-User Programming
Peter Hale
Director of Studies – Tony Solomonides
Supervisor – Ian Beeson
Tuesday, March 09, 2010
My INCOSE/Bristol University presentation for 24th March
http://docs.google.com/leaf?id=0Bx_KguSfl6vSYTg5NTVhYTAtODFkOS00Njc0LTkzZWYtYjQ0NmE4YmRmNTI3.
Downloadable PowerPoint 1997-2003 version -
http://docs.google.com/fileview?id=0Bx_KguSfl6vSZjg5ZGYzOTUtZTc0Ny00OGQ5LWE4NzUtN2YwZWY3M2Q3NTg4&hl=en
Abstract
User Driven Modelling and Systematic Interaction for End-User Programming
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 turn must be usable by a wide range of users to produce and share their customised engineering models.
24/03/2010 - 24/03/201018:30
Bristol Local GroupUniversity of Bristol, venue is TBA.
Systems Research Showcase Following on from last year’s popular event, this event will provide another chance to see some of the latest postgraduate research in the systems arena being conducted in the south west. This event will take place at the University of Bristol.
There is 1 Document for this event, click here to view
To book for this event, please click here.
Thursday, December 31, 2009
Methodology for creation of modelling systems
This methodology can be seen as an attempt to semi-automate knowledge acquisition and representation approaches such as the SEPA Funnel (Systems Engineering Process Activities) . This methodology was prototyped in the research that led to the User Driven Modelling/Programming Approach. This provides a translation process from Knowledge Acquisition to modelling (User Driven Modelling), and automated translation of model to software (User Driven Programming), and so takes this SEPA Funnel to a further stage of translation/transformation of the model/system design specification. This can be facilitated by using XML (eXtensible Markup Language) as a programming language, for the representation of data and formulae, and of the user interface e.g. XAML (eXtensible Application Markup Language).
The methodology suits top-down ontology and model creation e.g. from those responsible for the root item in a product data structure downwards, and bottom-up ontology development, e.g. alternative solutions, tagging of items to allow discussion and enable disambiguation, and agreement on terminology, and mapping of alternative names to each other. This dual approach is facilitated by the translation being provided in both directions.
This model-driven approach examines how links between engineers and modellers/modelling tools can be improved, by visualising a modelling structure that mirrors the structure of the engineering product design. This provides traceability for calculation and decision making in a more clear, structured and visualised way than the audit trail in spreadsheets. This work concentrates mainly on requirements (Airbus, Rolls-Royce), software, and HCI aspects of systems. The main method for this is diagrammatic modelling which was used in gathering requirements, and is also implemented within the modelling system developed.
Making the structure of a model be the same as the structure of the engineering component modelled, and visualising both turns two problems into one. This speeds up co-operation in prototyping of both the software model and the component. Both rapid prototyping and rapid application design/development involve iterative fast development with prototypes communicated for feedback and refinement.
Requirements emerge gradually as part of this process, so early stage design can begin, in co-operation with life-cycle management, marketing, accounts etc. To get full benefit from this all staff who are part of this design process, manufacturing, management, and life-cycle management need to be able to access the models. The longer term aim is to enable direct modelling/prototyping of this by customers of the modelling tool e.g. engineers/end-user programmers. Such a system documents itself as the structure of the engineering product and software model are displayed/visualised. This would make it possible for emergent properties of a system to become known.
Despite object-oriented programming techniques being heavily influenced by the approach used by engineers for Bill of Materials/Product Data Structure modelling this link is difficult. Much of object-oriented programming was developed before graphical user interfaces became practical and common. So objects/classes are often represented mainly by text with visualisation/representation being added as an afterthought. This is not useful for engineers who are used to objects being physical things, or at least diagrams. A further problem has been an over-emphasis on encapsulation (hiding an objects' details, while creating an interface for its use, and re-use). This can lead to errors due to re-use of objects not fully understood. So the classes/objects must be visualised, even if the user does not intend to change their contents, then the user of objects has sufficient understanding of how to use them. This would improve the link and co-operation between engineers and modellers/models. The advantage is that engineers can iterate back and forth between problem and solution, this avoids two risks - going straight to a solution too early, or the problem being so abstract that no solution is achieved. Rapid iteration that semi-automating of the system provides enables an improved chance for finding a good solution. This approach is particularly suitable to taxonomy tree structures, so is best applied for process modelling (business and engineering), product data and work breakdown structures, and scientific taxonomies/phylogenies.
A requirement for use of such a system by engineers (or business and science) is to eliminate or minimise the need for code writing. This then would enable engineers to create models by linking of formulae, as they do when using spreadsheets, but provide a more structured (tree based) representation and visualisation of model(s). To find alternative ways of representing models that do not require the user to write code it must be easier to interact with and change the models, and to share and develop information with colleagues. It would also be useful to more closely align and link UML, and code development environments. Too much need for coding leads engineers to lose influence on the system to be developed, as the model needs to be created by software experts who have less understanding of the engineering problem.
Conclusion
This work involved development of a system for creating systems. Advantages of this approach are Maintenance, Extensibility, Ease of Use, and Sharing of Information. The use of open standards and representation enables this system to interact and interoperate with other systems and enable collaboration. This makes this system a ‘white box’ which can interact with and be viewable to other systems rather than a proprietary ‘black box’. This systematic design and representation of engineering modelling systems, enables semi-automated translation. This enables rapid iteration around a cycle of knowledge acquisition, specification of the problem, prototypes, and alternate potential solutions. This assists with deciding when to adapt and re-use existing solutions and when to innovate.
Such a system could be used to rebuild the system engineering for aerospace capabilities at UWE, and is being developed further at Bath University. A further advantage of the approach outlined here is that it shows promise for use in the SALT (Sharing Approaches to Learning and Teaching) project and for the Tearfund disaster relief project, so the flexibility built into it makes the process applicable to problems for which it was not envisaged and designed. Although these tools can be regarded as software related, they are also and more importantly a way of empowering computer literate end-users (e.g. engineers) with the autonomy to collaboratively model problems more free of constraints of software development. This enables better collaboration across disciplines and more independent of management structure and hierarchy.
SEPA Funnel - http://www.umcs.maine.edu/~ftp/wisr/wisr9/final-papers/Barber.html - K. Suzanne Barber, Thomas J. Graser, and Stephen R. Jernigan.
Systems Engineering MSc Module Assignment - Main part - http://docs.google.com/View?id=dgp7zcg6_344cxn8sxhs - Appendix - http://docs.google.com/View?id=dgp7zcg6_352c8j2w5cg.
Wednesday, December 30, 2009
Systems Engineering MSc Assignment
Peter Hale, University of the West of England, Bristol (UWE)
Continuing Professional Development in Aerospace - Systems Engineering
28th - 30th October & 16th - 17th November
Executive Summary
This assignment examines the systems engineering work at the University of the West of England, Bristol (my employer 2000-2008, and 2009-10). The particular focus is on application of this towards aerospace and modelling for Airbus and Rolls-Royce. It is argued in part a) that poor decision making by UWE led to this work being restricted, and that it needs rebuilding. Section 1 explains the reasons behind the problems, and ideas for recreating this system capability.
Section 2 part a) examines how change can be brought about to repair this damaged capability and a plan for rebuilding this, taking into account the problems already faced. Part b) describes the approach used to try to rebuild this capability and how to avoid 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 MSc Module Assignment - Main part - http://docs.google.com/View?id=dgp7zcg6_344cxn8sxhs - Appendix - http://docs.google.com/View?id=dgp7zcg6_352c8j2w5cg.
Wednesday, June 24, 2009
Collaborative Modelling and Visualisation For Complex Systems
The aim of the research described in this article is to apply the research first where it can have the most use,and then encourage others to expand it for other domains and other users. This is in order to simplify modelling and computing for computer literate non programmers, this includes many engineers, and so enable users such as engineers to model the manufacturing and design.
The problem to be tested her is enabling de-abstraction of engineering problems from engineers' representation to computer models and code. This is order to find out to what extent diagrammatic representations of problems can be used in order to provide modelling solutions. So to test this a source tree is created, then translated to computer code, then represented as a result tree.
To test this problem - the research examines a part of C.S. Peirce's (1906) - 'Prolegomena to an Apology for Pragmaticism' call to action"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".
It isn't possible to solve this problem and do this all at once so to limit the scope this research is restricted mainly to engineers (who often use diagrams). Engineers often model problems using computer systems, so to make this research effective these areas are prioritised -
- To domain of modelling (which often requires diagrams)
- Management of ontologies and related models is essential for management and understanding of complex systems.
Breaking both the research and the modelling system into testable steps improves the chances of project success. Breaking a complex systems engineering problem or project into modular steps and stages ensures that if failure looks likely it is possible to go back a step, rather than restart or abandon the project. This also informs, teaches and enables systems thinking and design. This can be achieved by transforming engineering knowledge into code in collaborative computer systems, and visualising the structure of the resultant system to all domain experts. This enables translation (both in human communication and computing model and program transformation) from the business and/or engineering focus of the domain expert end-users, to the software developers and help desk and vice versa.
Enabling, providing and supporting staff to use Semantic Web and Web 2.0 technologies can lower costs, improve collaboration, and improve staff satisfaction and retention. This is an important technology for Semantic Web collaboration. Visualisation of every stage in collaborative model creation and every part of the model enables determination of whether the model and view(s) of it are useful and correct, and so aids this sharing of human knowledge to solve problems.
A problem can be represented and shared as visual diagrams, and then translated from this abstract view to models and code. Gross (2007) argues the need for end user programming by designers using diagrams and scratchpads. Tufte (1990) explains how diagrams can be more effective than words for representing geometry. This links with the theme through our research of translating from an abstract to a concrete representation; Green et al. (2007) explain this distinction between abstract and concrete models. This distinction is more gradual than the distinction between classes and objects for object oriented programming. To achieve this it is necessary to enable translation from ontologies and Semantic Web information to diagrammatic representations and vice versa. Green et al. (2007) discuss terminology problems, and how ontologies and models and collaboration can be used to help solve this problem. A classification scheme or ontology is necessary in order to make communication precise. Ontology/ies can be used to define terms and higher level relationships and these extended for application to particular modes. Such ontology/ies can also be used to help non-specialists understand the terminology of a particular domain.
Sternemann and Zelm (1999) explain that it has become necessary to research collaborative modelling and visualisation tools, because of the business trend towards global markets and decentralised organisation structures; Green et al. (2007) also explain this.
The benefits of this research are - enabling engineers to visualise problems such as representation of a product data structure in a familiar way. This gives a visual and colour coded representation of equations. Visualisation is easier to navigate and understand than that in spreadsheets, and more maintainable. The translation, visualisation and interactions close the gap between human representations of problems, and the representations that are possible using computer languages.
The Wider Implications of this research is that this research could also be used for business modelling, process modelling, and workflow.
References
Green, S., Beeson, I., Kamm, R., 2007. Process architectures and process models: opportunities for reuse. In: 8th Workshop on Business Process Modeling, Development, and Support BPMDS07 and CAiSE'07 11-15 June 2007, Trondheim, Norway.
Gross, M. D., 2007. Designers Need End-User Software Engineering. In: End-User Software Engineering Dagstuhl Seminar February 2007.
Peirce, C.S. - 1906. Prolegomena to an Apology for Pragmaticism - http://www.existentialgraphs.com/peirceoneg/prolegomena.htm.
Sternemann, K. H., Zelm, M., 1999. Context sensitive provision and visualisation of enterprise information with a hypermedia based system, Computers in Industry Vol 40 (2) pp 173-184.
Tufte, E., R., 1990. Envisioning Information. Graphics Press.
Saturday, May 30, 2009
Collaboration in Engineering using Semantic Web techniques
This article describes how software developers could enable domain experts such as engineers to collaborate on problem solving. The means for this is development using Semantic Web and Web 2.0 techniques to enable end-user programming. This could enable domain experts such as engineers to be involved in the modelling of a problem such as product design, and so understand, assess, and develop possible solutions.
Introduction
Visualisation is necessary to provide traceability for decision making, as an audit trail for information, to justify a decision and/or cost, or to understand a process, or a product data structure. It is necessary to navigate a database in order to validate it, the structure of the visual interface needs to show the structure of the data, and the model. The best way to do this is to relate them all so that any change to the database, changes the structure of the model and this changes the structure of the visualisation, or vice versa . Semantic search allows someone to see results or individual items but enables going straight to this, that doesn’t show the context and the model is still a ‘black box’, unless the Semantic search actually returns the relevant portion of the structure so that the context of the returned information is displayed.
Methodology
The example below illustrates how it is possible to enable refining a search by visualising all the items present in sub-categories of the main category found in the search. McGuinness (2003) explains how ontologies support this functionality and calls this ‘generalization/specialization’ of information. Uschold and Gruninger (2004) describe ‘ontology-based search’ as “Ontology used for concept-based structuring of information in a repository”; and describe the benefit of this as “better information access” This aids the research objectives of ease of use and sharing of information. The use of open standards for representing information makes it possible to enable searches that understand the semantics of the information and so can track all of the relationships between items. This example illustrates the interface for making a search. In this example the user wants to retrieve all the information related to a spar (aircraft wing component).

Semantic Search interface
The result is shown as a series of trees for each item that contains the word spar. Each keyword match is the root of a tree. Each tree shows the item found and all its children and attributes. The example below shows an image of the top part of the results, this is part of the branch for the first item returned.

Results from semantic search
The information is held in linked and related taxonomies/sub ontologies so it is not HTML that is being searched but the taxonomy itself. Because the information is held in a structured way, it is much more likely that searchers will find what they are looking for, because the search can follow the relationships represented in the taxonomy. One of the key objectives of Semantic Web research and Web 2.0 is to make this kind of search possible over the web as a whole. The Semantic Web is a longer-term vision for managing information over the web and Web 2.0 is the shorter-term practical implementation of techniques, which can ease current information search and management problems. A web interface has been developed for Protégé An example of the use of this is the illustration below where a search is made for information on the cure cycle for composites manufacturing. This search is possible as WebProtege[1] has succeeded in providing a web based interface for displaying and searching ontologies, so providing an additional way to enable web access to the test ontologies created for this research.

Web Protégé Interface
The next stage of this problem is to enable interaction and modelling with the returned information. A project was created called Bitriple by Leaver (2008), to enable end-user functionality for this kind of web-based ontology construction and search. The application provides a facility to edit an ontology/ies and instances, and provides tree-based visualisation of the ontology (as shown in the example below). This example illustrates creation of an online aircraft wing ontology. Wing component sub/ontologies created using Protégé can be translated for the Bitriple application to be represented as RDF/XML. An application could be built as an extension to Bitriple to perform calculations and modelling using the information stored. This could assist in allowing domain expert end-user programmers/modellers to create models. Such web applications provide an alternative to spreadsheets, and to single computer based programs; and if installed on a network server, such applications can provide a collaborative model development environment. This would fit in well with both Semantic Web, and Web 2.0 approaches to knowledge creation, allowing structured representation and navigation of information, and end-user interaction, collaboration, customisation and programming via the web. Collaboration can aid people to agree on terminology, and standardisation of calculations used such as for cost rates and currencies. RDF information can be searched with SPARQL[2] (SPARQL Protocol And RDF Query Language), which is used to search the Bitriple application.
A screenshot from the Bitriple application, of ontology creation for an aircraft wing, is shown below :-

Bitriple Ontology Creation Screenshot
Conclusion
Breaking complex mathematics into modularised traceable steps eases management of it, and visualisation, and allows modelling of different scenarios, and these scenarios demonstrate the emergent properties of the model, enabling decision support. BiDirectional Traceability is needed, traceability between nodes/submodels, and between models, and between suppliers and buyers.
Existing ontologies can be extended for modelling of software systems and engineering systems e.g. PSL, STEPML, UML, SysML can be extended.This research can enable collaborative modelling and interaction, via applying end-user programming techniques to enable domain experts such as engineers and business people to create and interact with the knowledge representation themselves, and co-operate to ensure the representations are useful for addressing their problems, with less software creation barriers. Software developers need to enable such systems to make this all possible.
[Accessed 27 June 2008].
[2] WebProtege (2008) Wiki Page [online]. Available from: http://protege.cim3.net/cgi-bin/wiki.pl?WebProtege [Accessed 27 June 2008].
McGuinness, D. L., 2003. Ontologies Come of Age. In: Dieter Fensel, Jim Hendler, Henry Lieberman, and Wolfgang Wahlster, ed. Spinning the Semantic Web: Bringing the World Wide Web to Its Full Potential. MIT Press, 2003.
Uschold, M., Gruninger, M., 2004. Ontologies and Semantics for Seamless Connectivity. In: Association for Computer Machinery - Special Interest Group on Management of Data - SIGMOD Record December, 33(4).
Saturday, December 13, 2008
Automation of knowledge representation and modelling
So my research area is as in the shaded ares of the diagram below -

Wednesday, July 30, 2008
End User Programming, Modelling and the Semantic Web
- End-user programming for modelling. Research began with examining programming needs of users (mainly engineers at Airbus and later Rolls-Royce aerospace companies).
- Modelling – Next, models were created to cater for the engineers needs for prediction and decision support; so the concentration was mainly on modelling.
- Semantic Web for modelling. Once the models became more complex and numerous, the collaboration necessary required a more systematic infrastructure, so Semantic Web and ontology research assisted with this.
- Semantic Web for end-user programming. Once an infrastructure was prototyped it was possible to research how this could enable construction of programs based on the Semantic Web/ontology infrastructure.
- Programs created using the semantic web infrastructure and visual diagrammatic programming were tested for modelling capability.

Research Direction Spiral
By the end of this research it was perceived that this particular combination as indicated by the mid point of the yellow section was currently under researched by the wider community.
More information is available at - http://www.cems.uwe.ac.uk/~phale/#ResearchAim.
Tuesday, July 15, 2008
Semantic Web and End-User Programming
My research area is explained here http://www.cems.uwe.ac.uk/~phale/#LanguageToolMapping :-
The representation of program structure also needs to be visualised to End-User Programmers so they can create and edit content.
In order to increase the use of Semantic Web technologies it is necessary to create applications that make use of the Semantic Web for practical applications. Enabling modelling with Semantic Web technologies could encourage domain experts to fill ontologies with useful information, so generating more benefit from their use.
Monday, June 30, 2008
Visualisation and Interaction for Modelling

Layered Architecture, sourced from McGuinness (2003) and Berners-Lee (2000)
This improves translatation between the layers to enable human/computer translation. This approach is intended to improve interaction rather than enable computing decision making through artificial intelligence; the emphasis is on decision support for design and manufacture. The detail of this approach and the methodology for automating translation for users is explained in here - http://www.cems.uwe.ac.uk/~phale/#ResearchMethodology. Such techniques as genetic algorithms are outside the scope of this thesis. Instead the emphasis is on clear visualisation, interaction and translation.
This translation code reproduces a taxonomy/ontology and makes it available for modelling/programming systems. This taxonomy/ontology is a copied subset of the main ontology produced as an instance of the main ontology according to model builder choices and for the modelling/programming purposes of that model builder.

Recursive Translation - Automated Copying from ontology to modelling system
Also the translation can link different ontologies/taxonomies together when they are required in order to solve a problem. So the approach is to gather information from ontologies/taxonomies as required for solving a problem as specified by the model builder. This is tested and applied to engineering modelling. An open source approach can be combined with use of open standards ontologies as was advocated by Cheung (2005).
References
Berners-Lee, T., (2000) Semantic Web on XML – Slide 10 [online]. Available from: http://www.w3.org/2000/Talks/1206-xml2k-tbl/slide1-0.html [Accessed 26 June 2008].
Cheung, W. M., Maropoulos, P. G., Gao, J. X., Aziz, H., 2005. Ontological Approach for Organisational Knowledge Re-use in Product Developing Environments. In: 11th International Conference on Concurrent Enterprising - ICE 2005, University BW Munich, Germany.
Eng, N., Salustri, F. A., 2006. "Rugplot" Visualization for Preliminary Design. In: CDEN 2006 3rd CDEN/RCCI International Design Conference University of Toronto, Ontario, Canada.
McGuinness D. L., 2003. Ontologies Come of Age. In: Dieter Fensel, Jim Hendler, Henry Lieberman, and Wolfgang Wahlster, ed. Spinning the Semantic Web: Bringing the World Wide Web to Its Full Potential. MIT Press, 2003 [online]. Available from: http://www-ksl.stanford.edu/people/dlm/papers/ontologies-come-of-age-mit-press-(with-citation).htm [Accessed 26 June 2008].
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.
Friday, May 30, 2008
Visual Diagrammatic Programming
With visual diagrammatic modelling it was possible to include one model within another as a software component, and demarcate responsibility for building, maintenance, and updating of each model. This was difficult using spreadsheets, and possible with non-visual programming though the link between individual responsibilities and code produce was not as clearly identified, because non-programmers cannot participate in code production. As an example, for cost modelling of an aircraft wing, different experts might build software models for wing spars, wing skins etc, and another expert might be responsible for the overall wing cost model. The wing spar and skins model would then be inserted into the overall wing cost model.
The techniques demonstrated in this thesis can aid progress towards accessing of data held using Semantic Web standards, and also other information that might be locked into particular systems such as databases, spreadsheets and enterprise systems. The translation and de-abstraction approach assists with enabling high level diagrammatic visualisations to be used and translated to computer queries. Programming using Semantic Web technologies can :-
* Assist with translating non-Semantic Web information into Semantic Web information.
* Assist in production of Semantic Web information by end-users by.
* Assist end-users to query non-Semantic Web information.
Further Visualisation Information is at - http://www.cems.uwe.ac.uk/amrc/seeds/Visualisation.htm
End User Programming Information is at - http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm
Thursday, May 22, 2008
Drag and Drop Visual Programming
2 main conclusions resulted from examining the history of end-user computing :-
• Research that created prototype systems for specialist users, school children, and other researchers and programmers, but failed to take make headway in the mass market can be reused with more up to date technology to assist development.
• More pragmatic research that involved creation of tools for the mass market, but which avoided more long term research issues can now be extended.
One mechanism for applying new technologies for use in end-user programming is drag and drop programming.
Repenning (2007) explains the need for enhancements to UML to aid end-user programming. Repenning also argues that "Visual programming languages using drag and drop mechanisms as the programming approach makes it virtually impossible to create syntactic errors." So "With the syntactic challenge being - more or less - out of the way we can focus on the semantic level of End-User Programming." This can make a high level model driven approach to production of better models possible. Rosson (2007) also explains about creation of a web-based drag and drop interface.
Ways that research is pursued in this thesis in order to make User Driven Programming possible are:-
1. Semantic Web and Web 2.0 approach to enabling User Generated Content.
2. User Centric Extensions to UML (Unified Modelling Language) e.g. (Vernazza, 2007) this approach also ventures into 1 and 3).
3. Visual Programming Extensions to spreadsheet type formulae based modelling enabled using approach 1.
Approach 1 is illustrated by Yahoo Pipes (2008) which provides for drag and drop editing of visual components that can combine, sort, and filter RSS data sources in order to automate web application development. This enables modelling of information, and using such diagrammatic programming combined with enabling of calculations would combine these three ways of producing applications. Yahoo Pipes enables creation of modelling applications with Semantic Web information, so this could assist in providing more incentive for provision of Semantic Web information and applications to use it.
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 in Vernazza (2007). This can enable Drag and Drop programming 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 actual code. This enables collaborative User-Driven programming.
References
Pipes and Filters for the Internet - http://radar.oreilly.com/archives/2007/02/pipes-and-filters-for-the-inte.html - O'Reilly - Feb 7 2007 - Yahoo!'s new Pipes service is a milestone in the history of the internet. It's a service that generalizes the idea of the mashup, providing a drag and drop editor that allows you to connect internet data sources, process them, and redirect the output.
Repenning, A., 2007. End-User Design. In: End-User Software Engineering Dagstuhl Seminar.
Rosson, M. B., 2007. Position paper for EUSE 2007 at Dagstuhl. In: End-User Software Engineering Dagstuhl Seminar.
Vernazza, L., 2007. Himalia: Model-Driven User Interfaces Using Hypermedia, Controls and Patterns In: IFAC/IFIP/IFORS IEA Symposium - Analysis, Design, and Evaluation of Human-Machine Systems Seoul, Korea - September 4-6th 2007 - International Federation of Automatic Control.
Yahoo Pipes [online]. Available from: http://pipes.yahoo.com/pipes/ [Accessed May 22nd 2008].
This is a Yahoo Pipes example created for the subject of Web 2.0/AJAX -
Yahoo Pipes RSS Feed for Web 2.0 - http://pipes.yahoo.com/pipes/pipe.info?_id=3e30625ebd44f24ff969ae5eef724425
An explanation of how to access and use the pipe created from a web page is at - Code Explanataion/Tutorial Freshblog - Blogger Hacks, Categories, Tips & Tricks - http://blogfresh.blogspot.com/2007/03/pipes-json-and-code-for-your-website.html.
Another article I wrote on Drag and Drop programming is at http://ezinearticles.com/?Drag-and-Drop-Programming&id=671578 and information and examples at http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm#DragandDropProgramming
Tuesday, May 13, 2008
Semantic Web Collaboration
Research in the use and visualisation of Semantic Web information can provide the tools that end-user programmers have been lacking until recently, and these tools can be used for modelling. A modelling environment needs to be created by software developers in order to allow users/model builders/domain experts to create collaborative and interoperable models. This modelling environment could be created using an open standard language such as XML (eXtensible Markup Language). Cheung et al. (2005) demonstrate the importance of XML for interoperability and knowledge re-use. As the high (user) level translation, this would depend on tools developed in order to assist the user, provide an interface and manage the user interface. These tools are written by developers using lower level languages, in order to enable modelling by end-user modellers.
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 (as explained by Berners-Lee and Fischetti (1999). Anderson's (2007) Joint Information Systems Committee (JISC) report explains that as an application becomes more popular, more people use it in order to communicate with others who use it. This enables exposing information using web technology, for re-use.
Anderson (2007) in a Joint Information Systems Committee (JISC) report explains how Semantic Web and Web 2.0 are related as Berners-Lee's intention in the early development of Semantic Web technologies was for pages to be interactive. Anderson's JISC report talks of Web 2.0 trends towards the "End of the software release cycle, Lightweight programming models, Software above the level of a single device, and Rich user experiences". The ontology development problem should be aided by publishing the ontology and allowing tagging of content by users, the advantages of this in creating a shared understanding of what things mean is explained by Anderson. Anderson explains that tagging by web users can generate some understanding and agreement about terms and an improved search facility, even without a formal ontology, or as a way to assist in the development and improvement of an ontology. Anderson's JISC report explains how the technologies used are enabling user-centred web applications, and the use of the web as a development platform. It explains "As a Web 2.0 concept, this idea of opening up goes beyond the open source software idea of opening up code to developers, to opening up content production to all users and exposing data for re-use and combination". Anderson (2007) establishes the need for communities to build ontologies. Software applications are needed that allow users with little software knowledge to edit and update ontologies themselves. Anderson talks of 'harnessing collective intelligence' by means of interactive collaborative software, he calls this 'distributed human intelligence'. Cayzer (2004) argues for provision of mechanisms to allow web page creators to tag their pages easily and as a natural part of the page creation. Al-Khalifa and Davis (2006) and Schmitz (2006) use this approach of user tagging combined with centralised ontology development.
Sternemann and Zelm (1999) explained that it has become necessary to research collaborative modelling and visualisation tools, because of the business trend towards global markets and decentralised organisation structures. Green et al. (2007), and Cheung et al. (2007) also explain this. So it is important to demonstrate a system that could be used to solve this problem by means of accessible, interoperable collaborative software to enable visual modelling/programming.
References
Al-Khalifa, H. S., Davis, H. C., 2006. Harnessing the Wisdom of Crowds: How To Semantically Annotate Web Resource Using Folksonomies. In: Proceedings of IADIS Web Applications and Research (WAR2006).
Anderson, P. Technology and Standards Watch. 2007. JISC (Joint Information Systems Committee) What is Web 2.0? Ideas, technologies and implications for education.
Berners-Lee, T., Fischetti, M., 1999. Weaving the Web. Harper San Francisco; Paperback: ISBN:006251587X
Cayzer, S., 2004. Semantic Blogging and Decentralized knowledge Management. Communications of the ACM. Vol. 47, No. 12, Dec 2004, pp. 47-52. ACM Press.
Cheung, W. M., Maropoulos, P. G., Gao, J. X., Aziz, H., 2005. Ontological Approach for Organisational Knowledge Re-use in Product Developing Environments. In: 11th International Conference on Concurrent Enterprising - ICE 2005, University BW Munich, Germany.
Cheung, W. M., Matthews, P. C., Gao, J. X., Maropoulos, P. G., 2007. Advanced product development integration architecture: an out-of-box solution to support distributed production networks. International Journal of Production Research March 2007.
Green, S., Beeson, I., Kamm, R., 2007. Process architectures and process models: opportunities for reuse. In: 8th Workshop on Business Process Modeling, Development, and Support BPMDS07 and CAiSE'07 11-15 June 2007, Trondheim, Norway.
Schmitz, P., 2006. Inducing ontology from Flickr tags. In: WWW2006 Conference, Edinburgh, UK. May 22-26, 2006.
Sternemann, K. H., Zelm, M., 1999. Context sensitive provision and visualisation of enterprise information with a hypermedia based system, Computers in Industry Vol 40 (2) pp 173-184.
More Information on this subject is available at - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm.
My Research - http://www.cems.uwe.ac.uk/~phale/.
Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/Modelling.htm.
Tuesday, May 06, 2008
Semantic Web Applications
The use of Semantic Web languages as information representation and even as programming languages would assist greatly with interoperability as these modelling languages are standardised for use in a wide range of computer systems.
Research can bring together End-User Programming, Modelling and the Semantic Web approaches, so the shaded area is examined.

A methodology that involves structuring of information through Ontology and Semantic Web techniques and enabling end-user programming through visualisation and interaction aims to achieve effective production of generic models. Horrocks (2002) explains Semantic Web technologies and the use of agents and ontologies, and ontology representation languages. This demonstrates the linked nature of Ontology and Semantic Web research.
Berners-Lee and Fischetti (1999) sum up the advantage of a Semantic Web program over programs in other languages. They write, "The advantage of putting the rules in RDF is that in doing so, all the reasoning is exposed, whereas a program is a black box: you don't see what happens inside it." They discuss the use of Semantic Web languages as programming languages and explain the benefits declaring "The Semantic Web, like the Web already, will make many things previously impossible just obvious. Visual Semantic Web programming is one of those obvious things".
Berners-Lee et al. (2006) explain the importance of visualisation for navigation of information "Despite excitement about the Semantic Web, most of the world's data are locked in large data stores and are not published as an open Web of inter-referring resources. As a result, the reuse of information has been limited. Substantial research challenges arise in changing this situation: how to effectively query an unbounded Web of linked information repositories, how to align and map between different data models, and how to visualise and navigate the huge connected graph of information that results." The use of Semantic Web languages as programming languages would assist greatly with interoperability as these languages are standardised for use in a wide range of computer systems
The main advantage of open standard representation of information provided by the Semantic Web is that information can be transferred from one application to another. Additionally it provides a layered architecture that allows for a stepped translation from users to computer and back for conveying results of a modelling run. The program transformation approach argued for by Lieberman (2007) can be used to translate from a domain expert End-User Programmer abstraction to models represented by Semantic Web languages, ontologies and code.
Use of Semantic Web technologies is a means for open standard representation of collaborative models, transformation into different representations as required, and for provision of a high-level interface as a tool for model visualisation and system creation. Structuring of information through Ontology and Semantic Web techniques and enabling End-User Programming through visualisation and interaction can achieve effective production of generic models. Semantic Web technologies could assist greatly with Web based Simulation and Modelling. Kuljis and Paul (2001) evaluate progress in the field of web simulation. They argue the need for web-based simulations to be focussed on solving real-world problems in order to be successful. Miller and Baramidze (2005) establish that for a "simulation study that includes model building, scenario creation, model execution, output analysis and saving/interpreting results. Ontologies can be useful during all of these phases." Model-Driven Programming and the Semantic Web are explained by Frankel et al. (2004).
Research in the use and visualisation of Semantic Web information can provide the tools that end-user programmers have been lacking until recently, and these tools can be used for modelling. Crapo et al. (2002) assert the need for a methodology for creation of systems to enable more collaborative approaches to modelling by domain expert end-users, and that this combined with visualisation would allow engineers to model problems accurately.
Many organisations produce text based reports from their IT systems. But text based reports do not always show information well enough for good decision making. Automated conversion of these reports into Semantic Web languages could assist greatly with this. So a translation process is required and can be implemented as part of an overall User-Driven Modelling/Programming Approach. Once reports are converted to a standardised representation, hierarchical information can be represented as clickable trees and numerical representation as charts. This makes it possible to customise outputs from existing IT systems and so allows an improvement in readability of information without major changes to the way it's produced. This could provide a large gain at little cost.
References
Berners-Lee, T., Fischetti, M., 1999. Weaving the Web. Harper San Francisco; Paperback: ISBN:006251587X
Berners-Lee, T., Hall, W., Hendler, J., Shadbolt, N., Weitzner, D. J., 2006. Creating a Science of the Web. Science 11 August 2006:Vol. 313. no. 5788, pp. 769 - 771.
Crapo, A. W., Waisel, L. B., Wallace, W. A., Willemain, T. R., 2002. Visualization and Modelling for Intelligent Systems. In: C. T. Leondes, ed. Intelligent Systems: Technology and Applications, Volume I Implementation Techniques, 2002 pp 53-85.
Frankel, D., Hayes, P., Kendall, E., McGuinness, D., 2004. The Model Driven Semantic Web. In: 1st International Workshop on the Model-Driven Semantic Web (MDSW2004) Enabling Knowledge Representation and MDA® Technologies to Work Together.
Horrocks, I., 2002. DAML+OIL: a Reason-able Web Ontology Language. In: proceedings of the Eighth Conference on Extending Database Technology (EDBT 2002) March 24-28 2002, Prague.
Kuljis, J., Paul, R. J., 2001. An appraisal of web-based simulation: whither we wander?. Simulation Practice and Theory, 9, pp 37-54.
Lieberman, H., 2007. End-User Software Engineering Position Paper. End-User Software Engineering Dagstuhl Seminar.
Miller, J. A., Baramidze, G., 2005. Simulation and the Semantic Web. In. Proceedings of the 2005 Winter Simulation Conference.
Further Information on this research is at -
Semantic Web - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm.
End-User Programming - http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.
Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/Modelling.htm.
Semantic Web Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm.
Friday, April 04, 2008
Who will write tomorrow's code?
This is at - http://news.bbc.co.uk/1/hi/technology/7324556.stm.
"Bill Thompson describes the history of "personal computers like the IBM PC, home systems like the Spectrum and of course to the BBC Microcomputer," - "characterised by programmability, by the ability of users to write their own code".
"Just like EDSAC the BBC Micro was open to developers to work on, coming with the BASIC programming language and even a schematic showing the circuitry inside for those more interested in hardware than software."
"Along with the Spectrum and even the ZX81 it was a computer that encouraged those using it to learn to program for themselves."
"The BBC offered support with television programs, magazines with long BASIC programs to be typed in and improved upon were published, and there was a sense that understanding computers meant being able to do more than just run applications.
"Today, with over two billion PCs, three billion mobile phones and well over a billion internet users the ways in which information and communications technologies shape the modern world are obvious."
"The revolution succeeded, and we now live in the wired world of digital data, fast networks and computerised systems."
Bill Thompson argues "we need good programmers for the UK's software industry and at the moment we do not have enough of them."
Since the eighties and computers like the BBC Micro the emphasis on programming computers has reduced and use of applications is the main aim of most people. Although with Web 2.0 there is more User Generated Content created there are still limits to the customisation and development of applications by end-users. If the ease of use/programming of early BBC micros was brought to current applications and an easier transition from using to programming, this would be a powerful end-user programming environment. Then greater numbers of computer literate users would take on programming.
More information from my website on these subjects is available at - http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm and http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory.htm.
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/.