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.