Friday, July 31, 2009

Collaboration and Process Modelling in Engineering and Business

Use of Semantic Web and Web 2.0 techniques 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. The article also examines how modelling, ontologies and Semantic Web/Web 2.0 technology can aid in collaborative management of complex systems such as those involved in process modelling and product design. Visualisation of the most useful representation of the collaborative knowledge and models, and translation between the human and computing representation of this is important for this collaborative modelling.

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 these items, that does not 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.

For each organisation type, a process architecture(s) can be identified that offers potential for reuse by other organisations of the same type. This can enable a better connection between process designers and modelling tools and a shared understanding between domain experts and model developers. A shared understanding and reuse of process architectures can enable improved decision making and performance especially for complex systems, indeed, complexity is a core problem found in most organisational activities. Problems with incompatible software and team communication cause inability to meet delivery deadlines and to control costs, poor product/service quality, delays and cancelled orders, resulting in lack of competitiveness and, ultimately, job losses. So shared understanding of processes between all involved within organisations is essential.

A User Driven Modelling/Programming (UDM/P) collaborative approach and its application to systems/process modelling research needs to be developed. This could enable taxonomic and diagrammatic visualisation and calculation of sequences, times, and costs for complex processes. Provision of a process repository of reusable process architectures could assist industry and organisations to develop more effective service and production processes.

Examples of difficulties in modelling complex processes/projects include:-

  • Lack of interoperable tools that are usable by domain experts with limited programming knowledge.
  • Lack of tools for process modelling and web service discovery and lack of online search facilities is hindering development and reuse of process models.
  • Overuse of non integrated spreadsheets and poor links between these and 'high end' tools, such as specialist process modelling tools and CAD. This hampers the scope for modellers to investigate problems systematically and communicate solutions between users of the various tools.
  • Poor human/computer translation that fails to convey the model present in human minds to computer models. A systematic approach of layered abstraction combined with sophisticated structuring and translation is required for successful modelling.
  • Because of the lack of automated human computer translation, modellers currently need to request the help of professional developers such as provided by an IT department, this can slow model creation and embed misunderstandings.

Almost all organisations use spreadsheets to manage information and calculations. However, it is often difficult to follow the relationships between items of information, leading to confusion, and incorrect conclusions. Spreadsheets are often produced by individuals who have had little formal training and there may be inaccurate and undocumented models produced that lack visibility of structure and relationships (Erwig et al., 2005), (Scaffidi et al., 2005). Spreadsheets are popular because models can be created without writing code. Scanlan et al. (2006) discuss research in this problem with Rolls-Royce aerospace, ideas discussed in this paper are built partly from that project, DATUM. Thus we will develop structured visual process modelling tool(s) that can be used without code writing (though they will produce code that can be edited if required).

Collaborative modelling to determine requirements was investigated. Huhns (2001) and Paternò (2005) explain that alternatives to current software development approaches are necessary. The need is to translate from a model-based visual representation understood by users to software. Johnson (2004) explains that successful interaction requires mapping between levels of abstraction, and translation between these levels required by people and computers is difficult. He explains that this problem means systems are created that make people cope with the problems of mis-translation. Rules and information can be illustrated diagrammatically. It is possible to describe algorithms through concrete examples rather than abstractly. Models must be designed and visualised to convey to users a representation of problems that assists with their vision of them. This subject is explored by Crapo et al. (2002) and is the basis of the development and visualisation techniques evaluated in this paper. These techniques enable users to create and understand models, which are translated into software representations.
Collaborative modelling can aid supply chain management as explained by Gunasekaran and Ngai (2004). There is much evidence that collaborative modelling using web-based techniques is practical and important. An open standard web driven method of collaboration is required, in order to enable organisations and individuals to become more involved in projects with web technologies. Morris et al. (2001) examine interactivity and collaboration on the web. Aziz et al. (2005) examine how open standards can assist in an organisation's collaborative product development. The next task is to develop such research into visual end user programming to enable those with limited software expertise to make use of collaboration and process modelling tools. Miller et al. (2001) explain the technology behind web-based simulations, and argue the need for demonstrating the application of web-based simulations for major projects. Kuljis and Paul (2001) evaluate progress in the field of web simulation. They argue the need for web-based modelling to be focussed on solving real-world problems in order to be successful.

Possible solution
A solution to the above problems would be constructionist modelling/simulation of problems using accessible and easily used tools that can empower domain experts to create collaborative systems. Thus the overriding goal of this research is to provide a means whereby control over simple or complex processes/projects and modelling of them is improved. Semantic Web (Berners-Lee, 1999) software will be investigated to allow collective modelling of complex problems and workflows, using a standardised infrastructure.

Repositories of process architectures are held in an ontology, and linked via translation and visualisation in multiple process modelling tools, and web applications and web services, to maximise reuse. Ontologies are highly structured information sources, and are defined by Gruber (1993). This could enable automated web service discovery, composition, and execution, service reuse. This would be enabled by building of process models and modelling systems using Protégé (2009) and Jena (Aragones et al., 2006).

The main aim of the research is to incorporate visualisation of the problem and take a step towards enabling non programmers to add and edit process models interactively. This could assist companies/organisations to become more agile in solving problems and incorporating lessons learned. To achieve this, it is necessary to make it possible for industry to link formerly incompatible software via open standards, thereby improving team working. This could allow people to model problems at a high level of abstraction and automate translation to computer code. This approach of empowering users by enabling abstraction from software details, and concentration on business needs is recommended by Spahn et al. (2007). This can be achieved by enabling non-programmers to create models for process modelling and decision support. The mechanism for this is to supply domain experts with the tools they need to become end user programmers/modellers.

It is essential that new ways of enabling collaboration between all those involved in process modelling software creation and use are investigated. An important part of the project was to investigate the use of Semantic Web languages for programming, rather than just for representation of information, applying this technique to process model creation. Such Semantic Web programming could build on languages such as SPARQL (SPARQL Protocol And RDF Query Language), to provide automated querying and eventually model building and translation. Interoperable process modelling/planning can be assisted by Process Specification Language (PSL) for exchange of process/workflow/production planning, scheduling, and simulation information. The use of open standard languages for declarative programming can ease the translation between different representations of information, and ease interoperability between systems. This translation or '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 translation from human representation to a language more easily interpreted by computer systems. Techniques such as Model Driven Programming (Gray et al., 2004), Generative Modelling/Programming (Scanlan et al., 2006), and Meta Programming (Mens et al., 2002) will be used to create the modelling environment for end users. Elenius et al. (2008) investigate the relationship between UML, Model Driven Architectures and PSL. Translation using the above approaches and between them can enable non programmers fo development of systems that are not a 'black box'; Begel (2007) recommends this open approach.

Jackiw and Finzer (1993) extol a view that if a problem is more visual and nearer to the persons' way of thinking', it can assist a modellers' tasks. Diagrammatic Modelling such as used in UML can assist with this, and Activity diagrams are often used for production of OWL-S process models and services. Johnson (2004) makes the point that UML (Unified Modeling Language) tools need to be extended to better enable modelling of collaborative tasks. Production of better and more adaptable and applicable models can be enabled by meeting the objectives of enabling better Maintenance, Extensibility, Ease of Use, and Sharing of Information. These objectives will be enabled by better structuring and better visualisation; this requires work on structuring using Semantic Web and Ontologies, and enabling better visualisation through and for end user programming techniques. This makes the models more accessible, and so easier to edit, reuse, adapt and maintain.

References
Aragones A, Bruno J, Crapo A, Garbiras M, 2006, An Ontology-Based Architecture for Adaptive Work-Centered User Interface Technology, Jena User Conference, Bristol, UK.

Aziz H, Gao J, Maropoulos P, Chewing W M, 2005, Open standard, open source and peer-to-peer tools and methods for collaborative product development, Computers in Industry Vol 56 pp 260-271.

Begel A, 2007, End User Programming for Scientists: Modeling Complex Systems, End-User Software Engineering Dagstuhl Seminar.

Berners-Lee, T, 1999, Weaving the Web, Harper San Francisco, ISBN 0062515861.

Crapo A W, Waisel L B, Wallace W A, Willemain T R, 2002, Visualization and Modelling for Intelligent Systems, Intelligent Systems: Technology and Applications, Vol I Implementation Techniques pp 53-85.

Elenius D, Denker G, Martin D, Gilham F, Khouri J, Sadaati S, Senanayake R, 2005. The OWL-S Editor - A Development Tool for Semantic Web Services, The Semantic Web: Research and Applications, Springer Berlin / Heidelberg.

Erwig M, Abraham R, Cooperstein I, Kollmansberger S, 2005, Automatic Generation and Maintenance of Correct Spreadsheets, ICSE 27th International Conference on Software Engineering pp 136-145.

Gruber T R, 1993. Toward Principles for the Design of Ontologies Used for Knowledge Sharing, Formal Ontology in conceptual Analysis and Knowledge Representation, Kluwer Academic Publishers.

Gunasekaran A, Ngai E W T, 2004, Information systems in supply chain integration and management, European Journal of Operational Research 159 (2004) 269-295.

Huhns M, 2001, Interaction-Oriented Software Development, Journal of Software Engineering and Knowledge Engineering.

Jakiw R N, Finzer W F, 1993, The Geometer's Sketchpad:Programming by Geometry, Cypher A, ed. Watch What I Do: Programming by Demonstration MIT Press, Chapter 1.

Johnson P, 2004. Interactions, collaborations and breakdowns, ACM International Conference Proceeding Series; Proceedings of the 3rd annual conference on Task models and diagrams Vol 86.

Kuljis J, Paul R J, 2001, An appraisal of web-based simulation: whither we wander?, Simulation Practice and Theory, 9, pp 37-54.

Mens, K., Michiels, I., Wuyts, R., 2002. Supporting Software Development through Declaratively Codified Programming Patterns. Expert Systems with Applications 23, pp 405-413.

Miller J, Fishwick P A, Taylor S J E, Benjamin P, Szymanski B, 2001, Research and commercial opportunities in Web-Based Simulation, Simulation Practice and Theory, 9, pp 55-72.

Morris S, Neilson I, Charlton C, Little J, 2001, Interactivity and collaboration on the WWW - is the 'WWW shell' sufficient?, Interacting with Computers Vol 13 pp 717-730.

Paternò F, 2005, Model-based tools for pervasive usability, Interacting with Computers Vol 17(3) pp 291-315.

Protégé Community Wiki [online]. Available from: http://protege.cim3.net/cgi-bin/wiki.pl?UserDrivenProgramming [Accessed 24th July 2009].

Scaffidi C, Shaw M, Myers B, 2005, Estimating the Numbers of End Users and End User Programmers, IEEE Symposium on Visual Languages and Human-Centric Computing, Dallas.

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 Vol 43(4).

Spahn M, Scheidl S, Stoitsev T, 2007, End-User Development Techniques for Enterprise Resource Planning Software Systems, End-User Software Engineering Dagstuhl Seminar.

Saturday, July 25, 2009

Charting the Digital Revolution

I've written an article for Huliq news based on this BBC news article, about a very interesting series, and interactive project the BBC are working on -

Russell Barnes Producer, Digital Revolution

"It was just 20 years ago that a young computer programmer called Tim Berners-Lee approached his supervisor at CERN with a blueprint for linking information online that we know today as the World Wide Web."

"...Digital Revolution (working title), a landmark series of programmes for BBC Two that examines precisely this question." - http://news.bbc.co.uk/1/hi/technology/8144570.stm.

My article on this topic written for Huliq News - http://www.huliq.com/1/83418/charting-digital-revolution.

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.

Saturday, July 11, 2009

User Driven Modelling Explanation - Cube

Following on from the previous simpleast example of a rectangle, this example is of a cube, and includes manufacturing process information in the model.

This example is provided to illustrate the structure and process for creating the ontology, model, and visualisation/representation used for this 3 step translation process.

The cube model, as for all the engineering/process models is made up of the definition of the cube, and a colour coded representation of all the processes, materials, tooling, consumables, resources, and rates used for the manufacture of the cube; these are read in from the ontology in response to user choices. This makes it possible to investigate scenarios such as in this case whether to manufacture using welding, or riveting, and different options for use of tooling, consumables, resources, and rates. From investigating different options, different trees are created to represent different paths/options, and from this the production cost tree is created with results and feedback on exactly what made up the process/cost. Figure 1 illustrates how the different sub ontologies/taxonomies are colour coded in order to ensure it is easier to read the meaning of the tree and the interrelationships between the different aspects of the model.



Figure 1. Cube model example - Illustrates choice of process etc.

In this example, aluminium was chosen as the material, and riveting was chosen as the process. This example also illustrates how the Vanguard System modelling tool automatically combines units appropriately. Figure 2 shows the cube translated and visualised using SVG (Scalable Vector Graphics).
Figure 2. Translation to SVG Visualisation
This shows the interactive version of the diagram that works in Internet Explorer using the Adobe SVG viewer 3 http://www.cems.uwe.ac.uk/~phale/SVGCubeExample/CubePartDefinitionwithCosts.htm - SVG Viewer download - http://www.adobe.com/svg/viewer/install/.

Friday, July 03, 2009

User Driven Modelling Explanation - Rectangle

This simple model explains all the implementation of translation steps.

Step 1

A rectangle is defined with attributes for length and width, shown in the screenshot below :-



Figure 1 - Rectangle Definition in Ontology

Width is then defined as 2m.

In the next figure another class is created for calculation of area.

Figure 2 - Rectangle Area Attribute

In figure 1 'Area' was assigned a value of 'Length' * 'Width'. This is a simple equation that will be used to calculate the result. This illustrates how modelling calculations are performed. They are all defined by equations that relate attributes of the taxonomy/sub ontology. The taxonomy can be read by the decision support system in Step 2.

Step 2

For Step 2 the decision support/modelling system reads the ontology, performs the calculation and deals with units giving the result for area as 8 metres squared. This is shown in Figure 3 below :-



Figure 3 - Step 2 - Translation and Calculation

The modelling system can then output the results to web-based visualisations, or to program/meta-program code.

Step 3
As well as showing the model itself on the web it is possible to translate the model results into other representations and visualisations, so making it as widely accessible as practical. Figure 4 shows the result model translated into XML and visualised as a tree view on the web. The automated menu provides for some of McGuinness (2003) 7 uses of simple ontologies :-
2. site organization and navigation support
3. expectation setting
5. browsing support
The use and visualisation of Semantic Web languages at all stages in the translation process facilitates 6. ‘Search support’, and 7. ‘sense disambiguation support’; the structure of the ontology is visualised in order to enable users to determine the context of terms.


Figure 4 Results Output as Tree (XML based)

Figure 5 shows an output SVG rectangle diagram that includes interactivity; this has been translated from the tree/graph-based representation. The input values used for the calculation and the diagram itself can be changed via an automatically produced user interface that is related to the taxonomy structure. These changes cause the shape representation and the area to be recalculated.



Figure 5 - CAD type interface and User Interaction and Calculation

A demonstration and related pages can be accessed below -
Background information to justify why this approach should be researched is here - User Driven Modelling Background.
A Flash movie that presents this concept using a simple example - User Driven Modelling Demonstration.
Translation demonstration (A Flash Player is required to view this) - RectangleDemo

- Explanation - http://www.cems.uwe.ac.uk/~phale/RectangleDemo/RectangleDemo.viewlet/RectangleDemo_launcher.html
Demonstraion of User-Driven Modelling/Programming process for translating from taxonomy based to diagram based rectangle representation
Simple SVG Example of Rectangle as demonstrated in the Flash Movie - Internet Explorer Version - Requires SVG player - SVG Rectangle Internet Explorer.
Simple SVG Example of Rectangle as demonstrated in the Flash Movie - Mozilla Firefox - SVG Rectangle Mozilla Firefox.
Reference
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.

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.

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, June 03, 2009

Decision Support Tool Representation

It's important to close the gap between ontology representation and modelling and visualisation of problems. There is much more incentive to poulate an ontology or database if the information in this is automatically or semi automatically translated for use in modelling and decision support. Then those populating an ontology can see the benefits, and those creating or using models/programs based on the ontology can see where the inforamation is coming from.

Equations/formulae can be represented in the ontology, and then sent to the model which can then visualise them and calculate results. A Decision support tool called Vanguard System was used for this.

This screenshot illustrates how a decision support system tree view of the spar (wing part)branch from a wing process and cost model can be created with information translated from an ontology (in Protege) of related taxonomies (sub ontologies), and where necessary from user's selections (e.g. of materials). The tree, including all the default part definition information for the spar, is produced automatically. The buttons in the tree enable choices to be made by the user about materials, consumables, rates, and processes. Branches are created in response to these choices. The values in the branch nodes can then be changed as required.
Results can also then be output to the web for navigation and visualisation, and maybe for interactive web based modelling and visualisation.

Saturday, May 30, 2009

Collaboration in Engineering using Semantic Web techniques

Abstract
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

If domain experts are not involved in creation of the model, there is no proper way for the knowledge they are encoding to emerge, or for proper collaboration so each expert is best encapsulating the part of the model that they are most expert in. People need to be involved in model creation if they are to understand the model, decision, and how the decision was made. So there is a need for end-user modelling/programming to enable this. Full automation hinders user involvement and traceability, so semi-automated systems that interact with end-users and assist with all stages of the model decision are better. If a person goes straight to the answer how can it be expected that they fully understood the question?

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.

[1] SPARQL is the query language and protocol for RDF being recommended to the World Wide Web Consortium - (2008) [online]. Available from: http://www.w3.org/TR/rdf-schema/ [Accessed 27 June 2008]. A tutorial has been developed by Dodds - [online]. Available from: http://www.xml.com/lpt/a/2005/11/16/introducing-sparql-querying-semantic-web-tutorial.html
[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].
References
Leaver, N. (2008) Using RDF as an Enabling Technology. MSc. Dissertation, University of the West of England, Bristol.

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

Monday, May 25, 2009

Enabling diagrammatic de-abstraction and modelling of engineering problems - Summary

This post 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.

The essence of the problem is that organisations and individuals have many limitations resulting from the lack of facilities to allow users to program. Organisations have many limitations resulting from the lack of facilities to allow users to program. For example the use of 'out of the box' modelling tools, which are hard to customise or introduce collaborative capabilities, because a project deadline is so urgent that nothing else is practical. The problem with this is that when organisations have urgent needs to produce models for a particular deadline, all their effort goes into this. Once a deadline is met or missed, there will be a new deadline for something else. So all the effort goes into meeting these deadlines, and there are little or no resources for providing a better solution that makes it easier in the long run to meet the deadlines. This causes many issues, which need to be urgently tackled by organisations in the short term. This creates an ironic dilemma, that the problems caused by lack of end user programming facilities cause there to be a need to tackle these problems via quick fixes because they are so urgent. This makes it difficult to secure funding and time for longer term end user programming research.

As an example of the problems that occur; many people use Excel for financial modelling, and engineering, business, and science models. As these models become large, the short term solution is to use Excel Visual Basic to aid navigation through the model. However, though this helps with the immediate problem, in the longer term it can be difficult to reuse the model, as the Excel spreadsheet creator has to go through his or her code and remember what they have done, this problem is worse if a different user is trying to reuse the spreadsheet. Experience of dealing with projects that create new software systems is that they are very ambitious, but not very modular or customisable. Under management pressure for meeting of timescales, they are often released too early with insufficient consultation with users. Then software developer's time is reallocated to a help desk, in order to deal with the problems caused by the release of software too early, too unchangeable and with too little user involvement.

A longer term solution would be to provide a visual programming environment where the structure of the code is visualised, to make it easier to track the formulae, and so navigation is a central part of the program design, this also minimises the need for code. A solution is to produce highly customisable software, so that the software team do not have to anticipate every problem the users will want to solve. Then many users with more advanced needs and computing abilities could customise software for their needs.

Engineering modelling can be performed using a high level diagrammatic view of the problem and conveyed to the computer via transformation. Program/model 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.

Even if programming is made easier, only a proportion of people would actually be interested or capable of doing this. But there is still an advantage to colleagues such as people in the same team or department as an end user programmer, even if they are not undertaking programming themselves. Then all in the team have much closer access to someone, the end user programmer, who understands their, and the team's tasks, requirements, and projects. This closes the gap between those producing software systems, and those who require the software. This also makes it easier to iterate through solutions and solve problems more quickly and collaboratively.

Application of this kind of research at Rolls-Royce are 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 semi 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, and can actually be used in combination. 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 diagrammatic and/or tree based representation.

Reference

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

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, May 13, 2009

Google unveils 'smarter search' - BBC News

This is an interesting article about Google's plans, and explains that they are keen to develop search tools that make use of the Semantic Web. So I refernce and link to this article below

By Maggie Shiels Technology Reporter, BBC News, Silicon Valley

"Web giant Google has unveiled new products that it says will push search in a new direction.

Google is using so-called semantic web technology to leverage the underlying data on websites to enhance results."

http://news.bbc.co.uk/1/hi/technology/8047076.stm.

This article is also relevant to smarter search -

Wolfram 'search engine' goes live

"A web tool hailed as a significant rival to search giant Google has gone live to the public.

Wolfram Alpha is called a computation knowledge engine rather than a search engine and wants to change the way people use online data.

It aims to give people direct answers to queries rather than send them to other sites where they may find what they are seeking.

The system is the brainchild of British-born physicist Stephen Wolfram."

http://news.bbc.co.uk/1/hi/technology/8052798.stm.

Monday, May 04, 2009

End-User Programming using Modelling and Semantic Web

Even if programming is made easier, only a proportion of people would actually be interested or capable of doing this. But, there's still an advantage to colleagues, people in the same team or department as an end user programmer, then all in the team have much closer access to someone who understands their, and the team's tasks, requirements, and projects. This closes the gap between those producing software systems, and those who require the software. This also makes it easier to iterate through solutions and solve problems more quickly and collaboratively.

Software tools to improve and combine UML and other modelling, spreadsheet, Web 2/Semantic Web, and software solutions are required to allow this kind of end-user participatory development and a sustained collaborative organised push towards achieving this. To achieve this, end users and teams need to be able to visualise their solutions both literally as diagrams, and metaphorically via problem solving collaboration. This would realise the intentions that were expressed decades ago in the form of PC based computing and spreadsheets, but add better information and modelling organisation, and collaboration capabilities.

To make the above practical sustained, research is needed in these areas. Such research would have many practical spin-offs.

This page of Professor Richard Vidgen - http://www.bath.ac.uk/management/faculty/richard_vidgen.html - describes research into "how technology is developed and used within organizations. I am interested in how software systems are constructed, e.g., development methods and agile approaches; I also study the interplay between people and technology using complex systems theory, particularly coevolutionary theory, and social network analysis. I have further interest in evaluating the quality of e-commerce offerings and continue to work in the area of web quality."

So this is relevant to my subject area.

My home page is - http://sites.google.com/site/userdrivenmodellingprogramming/.

Wednesday, April 29, 2009

British Computer Society (BCS) - Future visions blog

This British Computer Society (BCS) - Future visions blog began in January 2009. The blog is at http://www.bcs.org/server.php?show=ConBlog.20, and the creators welcome participation and they describe it here -

"We all have a keen interest in the future because, as the saying goes, we are going to spend the rest of our lives there.

As we well know, computers, computing and technology in general are having an ever increasing impact on our lives, the economy and society.

The BCS is delighted to have brought together four distinguished bloggers to share their thoughts and concerns on wide-ranging areas such as whether Big Brother really is watching us, is it for our own good or should we be worried, the digital divide, social networking, can we really trust our lives to the 'cloud', the impact on UK plc, and how to develop engineers to build the increasingly complex and interdependent systems of tomorrow.

We welcome your thoughts and comments on the posts in this blog."

Friday, April 24, 2009

Customer service - a defect in a technical society - Professor Roger James

This summary br Professor Roger James - http://www.rogerjames.net/ - University of Westminster, for a talk given the the BCS (Bristish Computer Society) Sociotechnical group https://owa.uwe.ac.uk/exchweb/bin/redir.asp?URL=http://www.bcs.org/server.php?show=nav.9926 summarises current problems and possible solutions for IT customer service. This highlights how better concentration on end-user requirements can save resources in the use of the technology.

I've copied the talk summary below -

"The genius of Google is you get a first rate technical experience with zero support [ie no customer service department]. Their whole business model is service free - relying instead on great technology, building and maintaining user competence and an ethos of self help. As a trivial but pertinent example there are approx 3500 books on Microsoft Office and 5 on Google apps - yet google apps offers substantially the useful elements of office. Should we consider this 'inbalance' a defect in Microsoft Office and should we anticipate a campaign on service quality akin to the six sigma product quality initiative over the last 20 years. Can one argue that technology is finally becoming sufficiently mature and ubiquitous to imagine this happening?"

Tuesday, April 14, 2009

Benefits from Enabling End User Programming

My research is to test an approach of using digital technology, to make software and modelling development easier for computer literate end users. This would then enable them to solve problems to help their, and their teams’ work to be more productive. The current problem is that the communication and translation steps required between users, and software developers, and help desk are too many, and too varied, this results in cost, uncertainty, delays, confusion, and confrontation. The solution is for software developers to develop more customisable software that can be customised by end-users.

An example is user’s development of spreadsheets, this indicates user’s willingness to use and develop software to meet their needs, but productivity in spreadsheet development can be poor, as they are difficult to track, and share. More advanced software tools are often not available to users, or take too long to learn. Semantic Web technologies can provide a solution to this by provision of free and customisable, shareable, and fully visualised applications for use in particular sectors. Development of such applications, and their use in industry would be proof of this.

Wednesday, April 01, 2009

More Customisable Software Systems

My experience of dealing with projects that create new software systems is that they are very ambitious, but not very modular or customisable. Under management pressure for meeting of timescales, they are often released too early with insufficient consultation with users. Then software developer's time is reallocated to a help desk, in order to deal with the problems caused by the release of software too early, too unchangeable and with too little user involvement.



A solution is to produce highly customisable software, so that the software team don't have to anticipate every problem the users will want to solve. Then many users with more advanced needs and computing abilities could customise software for their needs.

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.

Monday, March 02, 2009

Barriers to enabling end user programming

Please excuse the long gap since my last post, I was injured, and in hospital.

Now I'm out, I've been thinking about what the barriers are that hinder research into end user programming.

I think the essence of the problem is that organisations and individuals have many problems resulting from the lack of facilities to allow users to program. This causes many issues, which need to be urgently tackled in the short term. This creates an ironic dilemma, that the problems caused by lack of end user programming facilities cause there to be a need to tackle these problems via quick fixes because they are so urgent. This makes it difficult to secure funding for longer term end user programming research.

As an example - many people use Excel for financial modelling, and engineering, business, and science models. As these models become large, the short term solution is to use Excel Visual Basic to aid navigation through the model. However, though this helps with the immediate problem, in the longer term it can be difficult to reuse the model, as the Excel spreadsheet creator has to go through his or her code and remember what they have done, this problem is worse if a different user is trying to reuse the spreadsheet.

A longer term solution would be to provide a visual programming environment where the structure of the code is visualised, to make it easier to track the formulae, and so navigation is a central part of the program design, this also minimises the need for code.

The problem with this is that when organisations have urgent needs to produce models for a particular deadline, all their effort goes into this. Once a deadline is met or missed, there will be a new deadline for something else. So all the effort goes into meeting these deadlines, and there are little or no resources for providing a better solution that makes it easier in the long run to meet the deadlines.

Home Page - http://www.cems.uwe.ac.uk/~phale/
Google Home Page - http://sites.google.com/site/userdrivenmodellingprogramming/index

Friday, December 19, 2008

Automated Production of Engineering Models

This example demonstrates the research I have undertaken into automating the model creation process for engineering process models.

This example is of manufacturing a cube, where the cost of manufacture depends mainly on the size of the cube, its wall thickness, what material is used, and what process is used. This is a simple example, a real world example involving hand layup of a spar (wing component) proved to be too complicated for ease of demonstration explanation, especially over the web.

An ontology (held in Protege http://protege.stanford.edu/) is used to represent the common information needed for all cube models, (and other models) produced. The ontology is broken down into sub ontologies for parts, materials, processes, consumables, resources, and tooling. These are colour coded in the visualisation/interactive model to ease understanding.

Code written for this research is used to recursively read the Protege tree (via nested SQL calls), and reproduce the tree in the modelling system (Vanguard System http://www.vanguardsw.com/products/vanguard-system/). The modelling system enables calculations, and extra code written for this research also allows choices to be made by the user/modeller.

This simple example enables the user/modeller to make choices of the material, process, consumables, resources, and tooling to be used, for the manufacture of this cube. In this example choices were made for material - Aluminium, and process - Rivetting.

PhD Research Development Diagram - Research and Development for Thesis.


Cube Model

This model is then output to an online representation (this works in Internet Explorer only, a version for Mozilla Firefox is also in progress). The IE version requires the Adobe SVG player, currently downloadable, and free).

The online SVG (Scalable Vector Graphics) representation provides an interactive CAD type representation of the component, that can be manipulated, to change size and wall thickness. The wall thickness is indicated by the inner dotted cube. As the size or wall thickness of the cube is altered, immediate feedback is provided. Alterations can be made with the up/down buttons. Also if these values, or the Aluminium cost per metre cubed are changed, the calculated parameter and cost values change automatically, in response.

The SVG representation shown below can be found at http://www.cems.uwe.ac.uk/~phale/SVGCubeExample/CubePartDefinitionwithCosts.htm.

PhD Research Development Diagram - Research and Development for Thesis - SVG.

Cube Model - Translated to SVG

http://www.cems.uwe.ac.uk/~phale/SVGCubeExample/CubePartDefinitionwithCosts.htm.

It is also possible to zoom in and out of the diagram, and move it around the screen.

As well as engineering models, I have experimented with economics models, and with translating either type of model to Java, and Java applets. Below is a screenshot of a simple economic model translated and visualised as an interactive Java applet.


PhD Research Development Diagram - Research and Development for Thesis.



Consumption Function translation from modelling system into Java

The models created as part of this research are available at - http://www.cems.uwe.ac.uk/~phale/EconomicModels/ModelsVisualised.htm.