Showing posts with label Process Modelling. Show all posts
Showing posts with label Process Modelling. Show all posts

Saturday, May 15, 2010

User Driven Modelling/Programming - Overall Aims

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

  • Changes in the strategy of the organisation or the environment in which it operates.
  • Changes in the software environment, e.g. what software the IT services will allow.
  • Problems in having time and skills for learning and using computer languages.
  • Difficulties in visualising and representing the software created.
  • Difficulties in enabling collaboration.
  • Inaccessibility of software created, caused by use of proprietary, department only, or specialist software.
  • Maintenance problems.
  • Mistakes in reuse, caused by lack of visualisation and representation of previous use.

The means for this is development of diagrammatic visualised software over the web as far as possible, where the visualisation matches the structure and therefore enables the collaborion by cutting through uneccessary barriers.

The main possible uses so far are models/problems that suit a tree/network based structure, such as process modelling, business modelling, and scientific taxonomies, and family trees.

Friday, April 02, 2010

Unified Computing For Engineering, Business and Science

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

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

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

Tuesday, March 09, 2010

My INCOSE/Bristol University presentation for 24th March

Downloadable PowerPoint newest version -
http://docs.google.com/leaf?id=0Bx_KguSfl6vSYTg5NTVhYTAtODFkOS00Njc0LTkzZWYtYjQ0NmE4YmRmNTI3.

Downloadable PowerPoint 1997-2003 version -
http://docs.google.com/fileview?id=0Bx_KguSfl6vSZjg5ZGYzOTUtZTc0Ny00OGQ5LWE4NzUtN2YwZWY3M2Q3NTg4&hl=en

Abstract

User Driven Modelling and Systematic Interaction for End-User Programming

This talk discusses PhD research (just submitted) into building a systematic infrastructure and capability, and how to solve problems which could hamper this. This approach is based on creation of systems that can be customised to produce other systems and models, and translation from abstract diagrammatic representations to computer representations. The conclusion explains how this approach to modelling and end-user programming enables interoperability, and collaboration, and that this assists with Maintenance, Extensibility, Ease of Use, and Sharing of Information.

Systems Engineering is involved in the analysis of the relating of interdisciplinary research requirements, in both engineering and computing, for this research. Systems engineering is also important in that the application area of modelling, for aerospace (Airbus and Rolls-Royce) has been one where complex engineering products are created, and a systematic approach is needed. Further to this the research has required systematic production of systems that in turn must be usable by a wide range of users to produce and share their customised engineering models.


24/03/2010 - 24/03/201018:30
Bristol Local GroupUniversity of Bristol, venue is TBA.
Systems Research Showcase Following on from last year’s popular event, this event will provide another chance to see some of the latest postgraduate research in the systems arena being conducted in the south west. This event will take place at the University of Bristol.

There is 1 Document for this event, click here to view
To book for this event, please click here.

Thursday, December 31, 2009

Methodology for creation of modelling systems

This approach is based on creation of systems that can be customised to produce other systems and models, and translation from abstract diagrammatic representations to computer representations.The conclusion explains how this approach to modelling and end-user programming enables interoperability, and collaboration, and that this assists with Maintenance, Extensibility, Ease of Use, and Sharing of Information.

This methodology can be seen as an attempt to semi-automate knowledge acquisition and representation approaches such as the SEPA Funnel (Systems Engineering Process Activities) . This methodology was prototyped in the research that led to the User Driven Modelling/Programming Approach. This provides a translation process from Knowledge Acquisition to modelling (User Driven Modelling), and automated translation of model to software (User Driven Programming), and so takes this SEPA Funnel to a further stage of translation/transformation of the model/system design specification. This can be facilitated by using XML (eXtensible Markup Language) as a programming language, for the representation of data and formulae, and of the user interface e.g. XAML (eXtensible Application Markup Language).

The methodology suits top-down ontology and model creation e.g. from those responsible for the root item in a product data structure downwards, and bottom-up ontology development, e.g. alternative solutions, tagging of items to allow discussion and enable disambiguation, and agreement on terminology, and mapping of alternative names to each other. This dual approach is facilitated by the translation being provided in both directions.

This model-driven approach examines how links between engineers and modellers/modelling tools can be improved, by visualising a modelling structure that mirrors the structure of the engineering product design. This provides traceability for calculation and decision making in a more clear, structured and visualised way than the audit trail in spreadsheets. This work concentrates mainly on requirements (Airbus, Rolls-Royce), software, and HCI aspects of systems. The main method for this is diagrammatic modelling which was used in gathering requirements, and is also implemented within the modelling system developed.

Making the structure of a model be the same as the structure of the engineering component modelled, and visualising both turns two problems into one. This speeds up co-operation in prototyping of both the software model and the component. Both rapid prototyping and rapid application design/development involve iterative fast development with prototypes communicated for feedback and refinement.

Requirements emerge gradually as part of this process, so early stage design can begin, in co-operation with life-cycle management, marketing, accounts etc. To get full benefit from this all staff who are part of this design process, manufacturing, management, and life-cycle management need to be able to access the models. The longer term aim is to enable direct modelling/prototyping of this by customers of the modelling tool e.g. engineers/end-user programmers. Such a system documents itself as the structure of the engineering product and software model are displayed/visualised. This would make it possible for emergent properties of a system to become known.

Despite object-oriented programming techniques being heavily influenced by the approach used by engineers for Bill of Materials/Product Data Structure modelling this link is difficult. Much of object-oriented programming was developed before graphical user interfaces became practical and common. So objects/classes are often represented mainly by text with visualisation/representation being added as an afterthought. This is not useful for engineers who are used to objects being physical things, or at least diagrams. A further problem has been an over-emphasis on encapsulation (hiding an objects' details, while creating an interface for its use, and re-use). This can lead to errors due to re-use of objects not fully understood. So the classes/objects must be visualised, even if the user does not intend to change their contents, then the user of objects has sufficient understanding of how to use them. This would improve the link and co-operation between engineers and modellers/models. The advantage is that engineers can iterate back and forth between problem and solution, this avoids two risks - going straight to a solution too early, or the problem being so abstract that no solution is achieved. Rapid iteration that semi-automating of the system provides enables an improved chance for finding a good solution. This approach is particularly suitable to taxonomy tree structures, so is best applied for process modelling (business and engineering), product data and work breakdown structures, and scientific taxonomies/phylogenies.

A requirement for use of such a system by engineers (or business and science) is to eliminate or minimise the need for code writing. This then would enable engineers to create models by linking of formulae, as they do when using spreadsheets, but provide a more structured (tree based) representation and visualisation of model(s). To find alternative ways of representing models that do not require the user to write code it must be easier to interact with and change the models, and to share and develop information with colleagues. It would also be useful to more closely align and link UML, and code development environments. Too much need for coding leads engineers to lose influence on the system to be developed, as the model needs to be created by software experts who have less understanding of the engineering problem.

Conclusion
This work involved development of a system for creating systems. Advantages of this approach are Maintenance, Extensibility, Ease of Use, and Sharing of Information. The use of open standards and representation enables this system to interact and interoperate with other systems and enable collaboration. This makes this system a ‘white box’ which can interact with and be viewable to other systems rather than a proprietary ‘black box’. This systematic design and representation of engineering modelling systems, enables semi-automated translation. This enables rapid iteration around a cycle of knowledge acquisition, specification of the problem, prototypes, and alternate potential solutions. This assists with deciding when to adapt and re-use existing solutions and when to innovate.

Such a system could be used to rebuild the system engineering for aerospace capabilities at UWE, and is being developed further at Bath University. A further advantage of the approach outlined here is that it shows promise for use in the SALT (Sharing Approaches to Learning and Teaching) project and for the Tearfund disaster relief project, so the flexibility built into it makes the process applicable to problems for which it was not envisaged and designed. Although these tools can be regarded as software related, they are also and more importantly a way of empowering computer literate end-users (e.g. engineers) with the autonomy to collaboratively model problems more free of constraints of software development. This enables better collaboration across disciplines and more independent of management structure and hierarchy.

SEPA Funnel - http://www.umcs.maine.edu/~ftp/wisr/wisr9/final-papers/Barber.html - K. Suzanne Barber, Thomas J. Graser, and Stephen R. Jernigan.

Systems Engineering MSc Module Assignment - Main part - http://docs.google.com/View?id=dgp7zcg6_344cxn8sxhs - Appendix - http://docs.google.com/View?id=dgp7zcg6_352c8j2w5cg.

Friday, August 21, 2009

Collaboration and Process Modelling in Engineering and Business - Implementation

New models can be produced by editing the ontology of sub-ontologies, or creating new ontologies or sub-ontologies. Ontologies are translated to systems/models and sub-ontologies are translated to sub-systems/models. So, different engineering process models could be produced by representation in different types of ontologies, and this could allow further different kinds of process models/systems, e.g. business process models.

The intention is to produce new modelling classes/items as required and domain experts would edit taxonomies/sub-ontologies and specify the relationships of classes and the equations to be used, via a visual user interface. These relationships and equations when evaluated and translated will produce computer code. The ontology centre holds definitions of nodes representing information, equations, and calculations to be performed. Equations relate the items in the taxonomies, and models can be automatically produced via a recursive translation tool to provide a template for the generation of a further model(s). The intention is to make it easier to interact with and change the models, and thus share information, an example interface, a section from a model produced automatically, is shown in figure 1. This example is based on aircraft wing manufacture. Code for this is produced from the semantic relationships, and the process model is translated/translatable to multiple representations in different languages and views. The information is saved using a generic structure that defines all relationships in a shared database. This enables structuring and automated queries of information. The decision support tool Vanguard Studio (2009) reads this information and represents it as colour-coded nodes according to which taxonomy it is from. Code automatically queries the taxonomies that make up the ontology and links the information required for the model. The code builds in all the links required for the equations, and thus links information from different taxonomies. This code can be reused for any modelling problem, it builds the equations and follows the links, thus the decision support tool can perform inferencing and so produce results.

Figure 1 shows how the process modelling tool automatically constructs and represents information, visualises an equation and calculates a result. Colour coded nodes represent processes, parts and resources, extracted, as needed, from the ontology. This illustrates how taxonomies/sub-ontologies can be automatically linked, and this can proceed with large scale process models. This example illustrates how an 'Area' is calculated, and that this forms part of the branch showing the 'Hand Lay-up Tool Cleaning Cost', which is consequently passed into other calculations. Calculations using information from all the taxonomies are linked as required in this example.




Figure 1 - Ontology to Model Conversion

The ontology(ies) and model(s) can then be searched and navigated online. The example below (figure 2) 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. 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).




Figure 2 - 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 (figure 3) shows an image of the top part of the results, this is part of the branch for the first item returned.



Figure 3 - 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 structuring and 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é (WebProtege). An example of the use of this is figure 4 where a search is made for information on the cure cycle for composites manufacturing. This search is possible as WebProtege 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.


Figure 4 - 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, which is used to search the Bitriple application.

A screenshot (figure 5) from the Bitriple application, of ontology creation for an aircraft wing, is shown below :-



Figure 5 - Bitriple Ontology Creation Screenshot

References

Leaver, N. (2008) Using RDF as an Enabling Technology. MSc. Dissertation, University of the West of England, Bristol.

Vanguard Modelling Wiki [online]. Available from: http://wiki.vanguardsw.com/bin/browse.dsb?dir/Engineering/Aerospace/ [Accessed 21st August 2009].

Friday, August 07, 2009

Collaboration and Process Modelling in Engineering and Business - Methodology

Methodology

Management of ontologies and related models is essential for management and understanding of complex systems. This also improves the chances of project success. Breaking a complex systems engineering problem or project into modular sub-systems 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.

This translation can be enabled by encouraging end user visual programming so that the expertise of domain experts in modelling problems can be applied. Semantic Web modelling tools are needed to illustrate benefits this technology can provide to industry, as outlined at the Jena User Conference (Aragones et al., 2006).

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 enables a much faster iterative process of model development, visualisation and rework, leading to more effective process modelling. Such techniques can be used for managing and visualising workflows, which could involve complicated scheduling, sequencing, and iteration. Anderson (2007) in a Joint Information Systems Committee (JISC) report examines these advantages. Andersons’ JISC report explains how Semantic Web and Web 2.0 are related, as Berners-Lee's intention in the early development of Semantic Web technologies was for pages to be interactive. Andersons’ report talks of Web 2.0 trends towards the “End of the software release cycle, Lightweight programming models, Software above the level of a single device, and Rich user experiences.” The report explains how the technologies used are enabling user-centred web applications, and the use of the web as a development platform. Anderson advocates that "As a Web 2.0 concept, this idea of opening up goes beyond the open source software idea of opening up code to developers, to opening up content production to all users and exposing data for re-use and combination”. Anderson also establishes the need for communities to build ontologies. Software applications are needed that allow users with little software knowledge to edit and update ontologies themselves. Anderson talks of 'harnessing collective intelligence' by means of interactive collaborative software, he calls this 'distributed human intelligence'. So this kind of technology and these techniques are certainly appropriate to collaborative modelling, and sharing of knowledge amongst domain experts.

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 this 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. For complex modelling it is necessary to provide a generic model/system creator that would have the capability of translating abstract ideas into models. This provides a translation stage that closes the gap between ideas and models. A classification scheme or ontology is necessary in order to make communication as precise as achievable. 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, and so ease collaboration amongst people with very different skills and backgrounds. For this project a web linked modelling environment is constructed that automatically translates an ontology representation to models, performs calculations/inferencing, and assists decision support.

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. This research aims to benefit two types of modeller. Firstly, it is intended to create a system for modellers to develop models from shared information (the process architecture and models repository); such 'model builders' will be able to create process models for ‘model users’ who may customise models but will not need to create them. In practice, an individual may be in either, or both, categories depending on their interests and skills. In effect this involves production of systems to create systems and/or models.

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. To test this methodology web based example models were created.

As a shared ontology is central to the proposed system, a translator or an 'elaborator/de-abstractor' can be developed that translates and converts, a diagrammatic representation of the problem automatically into code. Translations could be performed in any programming or meta-programming language, or open standard representation languages, the visualisation of the model created being suitable for display on the web. Interactivity is the key to human involvement in the Semantic Web, in order to construct a process modelling system for people in industry who are not professional programmers.

Figure 1 shows the theory behind Semantic Web modelling. These modules/sub-systems have been prototyped in order to verify that the methodology is feasible.

1. Connections are established between the ontology system and databases, spreadsheets, or other systems that hold relevant information for that modelling problem.
2. The ontology is created using RDF/OWL (Miller and Baramidze, 2005) and an interface built to edit it.
3. Libraries are created in a partnership between ourselves and domain experts.
4. Taxonomies/sub-ontologies are populated by model builders who use them for modelling problems. These are based on the libraries created in step 3.
5. Taxonomies are colour coded for ease of understanding. A link was created between the ontology tool and the illustrated process modelling system.
6. There are two sorts of constraints that can enable users to build and adapt models. Constraints on the way the ontology, and models are built, and user interface constraints to reduce the scope for error, (this is not yet developed).
7. Colour coding makes inferencing/sequencing clear because all taxonomies can be used in any equation, inferencing outputs of a multicoloured result tree that represents the entire sequencing system. User choices affect how items are related for the equation; choices could be made manually or via a search.
8. Each node represents uncertainty. Uncertainty depiction within inferencing results was prototyped (Bru et al., 2004), and used in the DATUM project.
9. The result tree is represented on the web and in other programs allowing further searching, processing and evaluation of results. Visualisation and use of searchable languages such as XML, and SVG (Scalable Vector Graphics) can assist this.
10. and 11. Modellers interact with the ontology, the model, and results. There is a two way feedback mechanism where experts can make changes in any sub-system, and this filters into changed results. This supports a cycle of results and rework.




Figure 1 - Semantic Web based Process Modelling system

If users are involved in construction and/or use of such sub-systems and collaboration is organised so knowledge is transferred between those involved, the rational for process models and decisions can then be understood.

Translation involves the elaborator that follows a structured ontology to establish how related concepts (represented visually) can be represented in equivalent code and vice versa. This elaboration process converts an abstract representation of a problem to a concrete model created with the aid of communication between user and modelling tool. The translation program calculates results, and these are translated back to users. Results are visualised using stylesheets and interactive software, and translated between different representations. Information must be visualised in the way most appropriate to particular modellers according to their situation and the problem type examined. Highly interactive Semantic Web applications that provide a user interface can enable a user centred process modelling system.
The methodology was tested by creating a practical system. Figure 2 shows the 3 step translation process from domain level visualisation to code, via the web and/or programming languages, and resultant visualisation. To allow information sharing, reuse, interoperability and collaboration, an ontology centric approach (Bloodsworth and Greenwood, 2005) is used, which acts as the infrastructure for creation of models and model templates.


Figure 2 - Translation Process Implementation

To build on this test system a visual user driven process for model development is evaluated, which merges approaches of object oriented design, the Semantic Web, relational databases, event driven programming, model driven programming, and visual programming resulting in application of 'The Model Driven Semantic Web' (Frankel et al., 2004). Further, we examine ways of structuring information and enabling processing and searching of the information to provide a modelling capability, thus providing a solution for the key issue of increasing user involvement in software. To achieve this, visual templates are constructed for the modeller to enable non-programmers to develop modelling software. Increasing user involvement in software development is recommended by Olsson (2004), the involvement being essential to avoid communication problems and misunderstandings that result from domain expert users having too little influence on tool creation.


References

Anderson, P. Technology and Standards Watch (2007). JISC (Joint Information Systems Committee) What is Web 2.0? Ideas, technologies and implications for education [online]. Available from: http://www.jisc.ac.uk/media/documents/techwatch/tsw0701b.pdf [Accessed 24th July 2009].

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.

Bloodsworth P, Greenwood S, 2005, COSMOA: An Ontology-Centric Multi-Agent System For Coordinating Medical Responses To Large-Scale Disasters, AI Communications 18.

Bru, C., Scanlan, J., Hale, P., 2004. Visualization of Cost Information, International Journal of Agile Manufacturing, 7(1), pp 53-59.

Frankel D, Hayes P, Kendall E, McGuinness D, 2004, The Model Driven Semantic Web, MDSW2004.

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.

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.

Miller J A, Baramidze G, 2005, Simulation and the Semantic Web, 2005 Winter Simulation Conference.

Olsson E, 2004, What active users and designers contribute in the design process, Interacting with Computers Vol 16.

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.

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

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.