Showing posts with label User Driven Modelling. Show all posts
Showing posts with label User Driven Modelling. Show all posts

Thursday, June 23, 2011

PCCAT Exeter University Conference Paper June 8th 2011

This is the paper and presentation I gave for Postgraduate Conference for Computing: Applications and Theory (PCCAT 2011) - June 8th 2011 - http://www.pccat.ex.ac.uk/index.php?pid=1

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, March 19, 2011

Postgraduate Conference for Computing: Applications and Theory (PCCAT 2011)

I have submitted a paper to this conference at Exeter University in June. These are the details of the conference - http://www.pccat.ex.ac.uk/ -

"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, January 04, 2011

PhD Viva Presentation

I've put online the presentation I gave at my Viva recently. I'm also putting it on my blog one or 2 slides at a time with an explanation of the research in each area, so will keep doing this roughly once a week, with some posts in between about workshops and events that are happening early this year that look interesting.


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

Saturday, May 15, 2010

User Driven Modelling/Programming - Overall Aims

The aim for this research has for some time been to enable empowerment and indepedence of people creating models/programs within their team from :-

  • 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.

Friday, April 02, 2010

Unified Computing For Engineering, Business and Science

The research undertaken and described here crosses the boundary between engineering and computing. This is achieved by reusing the same approach for computer modelling and engineering modelling, thus applying computing use case and tree based node and object design. This approach is usable for any kind of tree and network based modelling e.g. engineering process modelling, workflow, business process modelling. The approach makes use of nodes linked by equations, or pure taxonomies if equations aren't required, thus making this useful for taxonomies, and useful for representing computing structures, biology, and engineering structure. When these taxonomies are linked up, they can then be used for a colour coded visualised ontology super taxonomy, of sub taxonomies e.g. processes, materials, components (engineering or computer software), resources, and cost rates.

The visualisation represents the structure of the model, and the structure of the problem, creating a unified approach for systematic program and model, computing and engineering, business, and biology structure representation. This makes structured representation much clearer than it can be in a flat structure such as a spreadsheet, and makes auditing and keeping track of changes easier.

This unified approach then enables representation of the problem at a high level of abstraction and if the optional equations are included aids process modelling and decision support. This high level of abstraction and structured representation and visualisation makes errors more obvious and findable, aiding auditing. Semantic Web and Web 2.0/3.0 technologies make this approach feasible for moving this approach from more complex to simple low end computing and networking the approach where useful or necessary.

Tuesday, March 09, 2010

My INCOSE/Bristol University presentation for 24th March

Downloadable PowerPoint newest version -
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.

Tuesday, February 02, 2010

User Driven Modelling and Systematic Interaction for End-User Programming

This is the abstract of a talk I'll give to - Systems Research Showcase, INCOSE UK, Bristol Local Group, Wednesday 24th March 2010 - at Bristol University -

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.

Friday, January 08, 2010

User driven modelling: Visualisation and systematic interaction for end user programming - SiftMedia

SiftMedia have published online this article of mine.

Article for Knowledge Board - SiftMedia - User driven modelling: Visualisation and systematic interaction for end user programming - http://www.knowledgeboard.com/item/3053/23/5/3.

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.

Wednesday, October 07, 2009

PhD Thesis Submitted

I've submitted my PhD in User Driven Programming, and continued this while my work environment changed. Previously I retrained from clerical work to engineering and computing, and developed advanced skills and experience in this through vocational and higher education. I worked for 10 years as a researcher at University of the West of England. I researched difficult problems, and helped gain funding for such research, and have written funding proposals. I'm very thorough and consistent, resolute, determined, am diplomatic, and have relevant skills for analysing research questions, and presenting findings. My home page is http://sites.google.com/site/userdrivenmodellingprogramming/Home. I devise ways for users to create software, to achieve this I apply Semantic Web techniques. I enable non-programmers to create software from a user interface that allows them to model a particular problem or scenario. I develop ways of translating this information into program code. This is useful for employees that have insufficient time to learn programming languages. This makes it easier for software systems to manage and enable sharing of information and programs people create.

Thursday, September 03, 2009

User Driven Modelling/Programming Definition

User Driven Modelling/Programming - is a technique for combining visualised colour coded and linked equations, into a system which models a whole program, and visualises the entirety of a program that performs modelling/calculation. This system is created via a collaborative ontology/database and translated in an automated way from the information source to the result output, in order to allow computer end-users to create programs/models, and link these, and in order for programmers to create program development systems. This is a human/computer translation and system creation system.

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, July 17, 2009

User Driven Modelling Explanation - Wing Spar

Figure 1 illustrates the implementation of the translation stages. Step 1 is creation of the ontology, which is then translated to the decision support and modelling tool (Vanguard System) for Step 2. Step 2 is illustrated to the right, and this shows colour coding of the taxonomies (sub ontologies) that make up the ontology e.g. parts, processes, and materials. Step 3 involves translations to visualisations for the web (using Semantic Web formats) and alternative representations. Step 3 can also produce program and/or meta-program code.





Figure 1. Stepped Translation and Visualisation

Figure 2 demonstrates the ontology translated via Step 2 into XML for Step 3 visualisation in Flash (see reference end of article). This creates a tree with a three dimensional look, colour and shading, and interactive repositioning of nodes to make it intuitive and assist in navigation. When a node is chosen, this is moved to the centre of the display and all the other nodes are moved or rotated to position themselves in relation to it.

Figure 2. Flash interface for navigating exported XML tree

Figure 3 shows the view resulting from choosing the 'SparPart Definition'. This shows the parents, children, siblings, and contents of that node. It also allows navigation to any of the related nodes.

Figure 3. Flash viewing of Spar Part Definition node

Figure 4 is produced via an automated conversion from a tree representation of the spar component. The interface demonstrates modelling of information within a browser; ‘Periphery’, ‘Area’, ‘Raw Volume’, ‘Finished Volume’, ‘Part Width’ and ‘Part Height’ are all calculated dynamically. This calculation is in response to changes the user makes to the attributes on the left; as these changes are made the diagram changes in response.


Figure 4. Interactive Spar Diagram (SVG)

Reference
Rhodes, G., Macdonald, J., Jokol, K., Prudence, P., Aylward, P., Shepherd, R., Yard, T., 2002. A Flash Family Tree, In: Flash MX Application and Interface Design Flash MX Application and Interface Design. ISBN:1590591585. [online]. Available from: http://www.friendsofed.com/book.html?isbn=1590591585.

Friday, June 12, 2009

PhD Student Conference UWE 2009

Research Conference Presentation June 2009
University of the West of England, Bristol

Enabling diagrammatic de-abstraction and modelling of engineering problems


Peter Hale – PhD supervision team, Tony Solomonides and Ian Beeson

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

Abstract
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.


Figure 1. Research Development Iterations

Software engineering and modelling has much in common with engineering modelling, also the tools used for both have much in common. Software process modelling, engineering process modelling, and business/workflow modelling share a common approach, and similar tools. Much of this commonality is in the need to transform requirements into design into code semi-automatically. To achieve this, continuous consultation between potential users e.g. engineers for engineering modelling problems and developers for software problems is required.

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

The User Driven Programming approach advocated in this research has the advantages 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.

* 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 :-




Methodology Diagram - Enabling User Driven Modelling/Programming
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.

Friday, November 28, 2008

Research Methodology - Automated Model Production

Models are constructed and translated in a different way from object oriented programming. There is no clear distinction between classes and objects, as a class only becomes an instance gradually as translations are made from step 1 to 3, and as the models are visualised, interacted with, and represented to users. In the early research an ontology was translated and created from a C++ program, and also from a database. Now, models are created in the Vanguard System (http://www.vanguardsw.com/products/vanguard-system/) modelling tool, with information imported to this from a Protégé ontology, via the nested SQL queries. Vanguard System performs the calculations necessary for the economic model. After inferencing/calculation a result ontology is created for step 3. The step 3 result ontology/taxonomy is created by manually coding, then a system is created to reproduce and output this code automatically. This translation is then tested on many different models to ensure it is generic.

The diagram below examines many of the ways translation could be used for User Driven Modelling/Programming. An example of the repeatable process of this design is that the ‘System Translator Program’ created in Step 1 produces a new ‘System/Translator Program’ in Step 2 which creates a Visualisation. This technique is used to translate an ontology to a CAD style diagram using a second stage of translation. The second ‘System Translator Program’ could also have created a ‘Model/Program’, ‘Meta Program’ or translate to an ‘External Application’. So, this is not an exhaustive diagram, as many types of translation not shown on this diagram would be possible. Another option is that Step 1 could be repeated to translate between ontologies.

Diagram Translation Process for User Driven Modelling/Programming (UDM/P)


Translation Process for User Driven Modelling/Programming (UDM/P)

The ontology represents the relationships between nodes in a machine independent way, so this makes it possible to translate the information into Meta languages via recursive querying. For Step 2 translation, SQL (Structured Query Language) is then used to access the underlying database representation of the ontology. These SQL calls cycle recursively through all the relationships and write out result code for each node, and each relationship automatically. The translation code reads node names and node types (e.g. class, attribute) so it can make an appropriate SQL call for each node, and make a copy in another language or system, then look for children or attributes. This allows any tree to be represented in computer languages. Then recursive routines write the programming language to be output.

More information is available at http://sites.google.com/site/userdrivenmodellingprogramming/index.

Models produced so far are available at - http://www.cems.uwe.ac.uk/~phale/EconomicModels/ModelsVisualised.htm.

Tuesday, November 18, 2008

Economic Models 2

These economic models are constructed and translated in a different way from object oriented programming. There is no clear distinction between classes and objects, as a class only becomes an instance gradually as translations are made, and the models are visualised and represented to users.

At present the main focus is on extending the translation to interactive representations in Java and JavaScript. These will allow users to amend the parameter values of models and to see the result recalculated.

Once all or most of the translations are fully working, I'll concentrate on adding multiple models. Each model could then be translated automatically to many different visualisations/representations. I'll concentrate mainly on economic models, but might also eventually include other kinds of equation based models.

Economic Models - previous post - http://userdrivenmodelling.blogspot.com/2008/11/economic-models.html.

Economic Models Example -
http://www.cems.uwe.ac.uk/~phale/EconomicModels/ModelsVisualised.htm.

Java Applet Example - http://www.cems.uwe.ac.uk/~phale/EconomicModels/Bized/ConsumptionFunctionVanguardOutput/ConsumptionFunctionVanguardOutputInteractive/build/ConsumptionFunctionModelJavaAppletVanguardInteractive.html.

Demonstraion of Economic Model - Consumption Function - Java representation - automatically translated

Tuesday, November 11, 2008

Economic Models

In order to prove the concept that User Driven Modelling is applicable to domains outside engineering, I'm developing economic models using the same kind of translation technique as I used for engineering models. Models are created in the Vanguard System (http://www.vanguardsw.com/) modelling tool, and can be imported to this from Protégé http://protege.stanford.edu/, via nested SQL queries. Vanguard System performs the calculations necessary for the economic model.

The next step is to visualise the Models in the web browser, and in various languages, to show the concept of multiple language implementations being created from one model. These multiple language implementations all share the same semantics and provide a tree based representation of this semantics.

These are demonstrated at http://www.cems.uwe.ac.uk/~phale/EconomicModels/ModelsVisualised.htm, different representations are provides, so that hopefully at least one representation is accessible to the various web browsers. So far there is an XML, HTML, and Java Applet representation. My intention is to extend both the representation of models and the number and type of models represented, until there is a large grid of models, and representations. Options for extending the representation are to JavaScript, SVG, RSS, RDF, and meta programs, and to increase, the interactivity/editability of the models.

This technique should allow automated creation of many models and language representations of them automatically, using one set of model code outputters/translators.

I'm getting the economic models from Biz/ed - http://www.bized.co.uk/educators/he/spreadsheet/section_1.htm. Eventually I might extend this to other types of models as well as engineering and economic models.

The implementation of the models is at http://www.cems.uwe.ac.uk/~phale/EconomicModels/ModelsVisualised.htm.

Saturday, October 11, 2008

User Driven Programming/Modelling, and wider participation

A user-driven approach to visualisation, modelling, and programming can improve software and ease it's creation and maintenance. Translation then becomes posible from the user's representation to a software representation, and from design to implementation.

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

Although User Driven Modelling/Programming is a difficult problem and only partially solved, there are numerous intermediate benefits from the search for this approach. These include better modelling and visualisation of problems, improved interaction with end-users, Semantic Web modelling search and visualisation methods, collaboration to improve modelling, and ways to agree ontology and Semantic Web representations. It was necessary to provide such intermediate benefits as the industrial collaborators had shorter term goals and so required deliverables.

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.