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.

Wednesday, December 30, 2009

Systems Engineering MSc Assignment

Cover Sheet
Peter Hale, University of the West of England, Bristol (UWE)

Continuing Professional Development in Aerospace - Systems Engineering
28th - 30th October & 16th - 17th November


Executive Summary

This assignment examines the systems engineering work at the University of the West of England, Bristol (my employer 2000-2008, and 2009-10). The particular focus is on application of this towards aerospace and modelling for Airbus and Rolls-Royce. It is argued in part a) that poor decision making by UWE led to this work being restricted, and that it needs rebuilding. Section 1 explains the reasons behind the problems, and ideas for recreating this system capability.

Section 2 part a) examines how change can be brought about to repair this damaged capability and a plan for rebuilding this, taking into account the problems already faced. Part b) describes the approach used to try to rebuild this capability and how to avoid problems which could hamper this. This approach is based on creation of systems that can be customised to produce other systems and models, and translation from abstract diagrammatic representations to computer representations.

The conclusion explains how this approach to modelling and end-user programming enables interoperability, and collaboration, and that this assists with Maintenance, Extensibility, Ease of Use, and Sharing of Information.

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

Tuesday, December 08, 2009

Microsoft Imagine Cup

These are ideas put together from what I've heard from others that are interested in forming a team to enter with this kind of project. I'm hopeful we'll form a team and enter.

Maybe a start of the case then is for Tearfund disaster management, creation of a form using Microsoft Infopath, for feedback and sharing of disaster management information, uploaded to Sharepoint (could be tested on the UWE Sharepoint site). This then could be linked to stylesheets e.g. CSS for presentation in different regions and to a Microsoft translation service. The XML could be searchable on the web and maybe link with and be a way of uploading information for lost and found people. The forms must be usable on mobile phones, as much of a range as possible. Results to go to a server for help with systematic co-ordination of relief efforts.

Imagine Cup - http://imaginecup.com/, http://imaginecup.co.uk/.

A relevant event which I'm going to and will give a short presentation (PhD work, and Imagine Cup ideas is - Bristol Knowledge Unconference 2009 - 12th and 13th December - http://www.craftivism.net/wiki/UnCraftivism/Bristol_Knowledge_Unconference_2009

Themes - Knowledge Management/Semantic Web - Location: Arnolfini, 16 Narrow Quay, Bristol, BS1 4QA - UnCraftivism event, in association with the Craftivism Exhibition at the Arnolfini in Bristol.

My Presentation - User Driven Modelling - PhD
Visualisation for knowledge editing and creation by users -

Friday, November 27, 2009

Social media 'could transform public services' - BBC website

http://news.bbc.co.uk/1/hi/technology/8382252.stm - By Mark Ward Technology correspondent, BBC News.

This article describes the usefulness of Web 2.0 in providing user involvement in health and public services. This report is from the MyPublicServices conference. This provides a useful solution to current problems that centralised systems don't give patients and users enough involvement, but plans such as relying on Google tools for the management of systems are misguided. This conference investigated ways of involving users to a degree that is practical.

"Social media could transform the NHS and other public services in the same way that file-sharing changed the music industry, a conference has heard.

Growing use of tools, such as Facebook and Twitter, offered an opportunity to reinvent services, delegates heard.

The MyPublicServices event debated ways to harness these conversations, many of which are critical, to make services better and more inclusive.

If this was not done, many services would be undermined, speakers said.

"It's happened to the music and travel industries and it's going to happen to public services," said Dr Paul Hodgkin, founder of the Patient Opinion site that organised the MyPublicServices conference.

Said Dr Hodgkin: "The question is how do we cope with it in a useful and productive way and not spend decades beating each other up?" "

Here are more interesting articles about this debate -

Tories attack leaked five-year IT plan as 'unambitious' - BBC News Website - http://news.bbc.co.uk/1/hi/uk_politics/8387972.stm.

The politics of crowdsourcing - BBC News Website -
http://www.bbc.co.uk/blogs/technology/2009/12/the_politics_of_crowdsourcing.html -

- "Politicians in opposition and in government are latching onto the idea of using the web to engage with the wider public
Rory Cellan-Jones
BBC's technology correspondent"

- "This leak isn't likely to generate lurid headlines, as the report on transforming government by using "interactive (web 2.0) tools and processes, cloud computing technology and service-oriented architecture (SOA)" isn't exactly dynamite.
Still, the Conservatives have come up with quite a clever idea - they've put the document online and are inviting the public to comment on every part of it as they frame the party's response. "

Thursday, November 19, 2009

BBC News - Google previews Chrome open source operating system

This is an interesting development in bringing Web 2.0 web browser software on a stage -

"Internet search giant Google has lifted the lid on its operating system, known as Chrome OS.

The free and open source system is initially aimed at low-cost netbooks and does away with many of the features of a traditional programme.

All programmes are designed to run in a web browser and all the user's data is stored on Google's servers.

Engineers from the firm said the first computers running the system would be available before the end of 2010."

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

Sunday, November 15, 2009

Researcher Collaboration - Web 2.0 - Strength in science collaboration - BBC Article

This looks like a useful Web 2.0 collaboration tool for researchers -

The BBC article is at - http://news.bbc.co.uk/1/hi/technology/8342851.stm

"Victor Henning is the co-founder of Mendeley, an online collaboration tool which was created specifically for scientists.
The free software allows scientists and researchers to upload papers which are then trawled for bibliographic data - author, title, issue and so on - and paired up with similar papers already in the database."

"Mendeley is supposed to take the work out of managing these [research] papers.," explains Mr Henning.
"You can just drag and drop your collection of PDFs into the software and it'll automatically extract all the bibliographic data - all of the stuff that you'd usually have to type in manually." - Victor Henning.

Sunday, November 01, 2009

Engineering modelling an iterative approach

This post discusses how links between engineers and modellers/modelling tools can be improved, using an approach of visualising a modelling structure that mirrors the structure of the engineering product design. The main method for this is diagrammatic modelling.

Making the structure of a model be the same as the structure of the engineering component modelled turns 2 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. 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.

Integration of information representation UML/Doors (http://www-01.ibm.com/software/awdtools/doors/productline/) is progress towards this. Also a user interface is required that makes it easier for engineers to model using such a combined UML/Doors solution

Despite object-oriented programming techniques being heavily influenced by the approach used by engineers for Bill of Materials/Product Data Structure modelling this link has become 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 that are not fully understood. So the classes/objects need to be visualised, even if the user does not intend to change their contents, so the user of objects has sufficient understanding of how to use them.

The above steps would improve the link and co-operation between engineers and modellers/models.

Wednesday, October 07, 2009

PhD Thesis Submitted

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

Friday, October 02, 2009

Bristol Knowledge Unconference 2009

The Bristol Knowledge Unconference in 2009 - http://www.craftivism.net/wiki/UnCraftivism/Bristol_Knowledge_Unconference_2009 - will be an UnCraftivism event, in association with the Craftivism Exhibition at the Arnolfini in Bristol.

Basic Info
Date: 12th - 13th December 2009
Time: TBC
Location: Arnolfini, Bristol
Organiser: Daniel Lewis
Email: danieljohnlewis [at] gmail [dot] com
Instigator: Rui Guerra
Helpers: ...
In collaboration with:

What is Bristol Knowledge Unconference?

Bristol Knowledge Unconference is an "Unconference" specifically about Knowledge. The first Bristol Knowledge Unconference was in September 2008, and involved about 50 people who talked about Knowledge from scientific and new-media perspectives.

The knowledge unconferences are "themed" around the general subject of Knowledge, which includes:

The Semantic Web / Linked Data / Hyperdata / Data Web
Web Science
Topic Maps
Information Architecture and Design
Knowledge Acquisition and Knowledge Management
Knowledge-Based Systems, Knowledge Engineering and Rule-Based Systems (etc)
Knowledge/Information Visualisation and Graphical User Interfaces
Knowledge-orientated Search Engine Optimisation (SEO)
and maybe even, Object Oriented Databases

What will Bristol Knowledge Unconference 2009 be about?

This will be our second Bristol Knowledge Unconference. Our first one was very fun, and we hope to multiply that amount of fun - particularly as we'll be running alongside other groups involved in UnCraftivism.
As we will be in the Arnolfini, it has been decided to label this years Knowledge Unconference: The Art of Knowledge
Knowledge is both art and science. Everything we do with knowledge can be both beautiful and methodical. We will discuss these things, and talks will be established in order to think about these ideas. Other more general talks/demos are very much welcomed, no matter how arty or scientific they are. The idea of an Unconference is completely free-flowing, it is developed with minimal structure/organisation and also attempts to maximise the equality of the attendees.

We will be running simultaneously with other events happening during the unCraftivism weekend, see the Main Exhibition Page - http://www.craftivism.net/wiki/Main_Page - for more details.

I am definitely coming...
Feel free to put your name here if you know you will be attending:

Tuesday, September 29, 2009

User Driven Modelling Explanation - Cube

This example was provided to illustrate the structure and process for creating the ontology, model, and visualisation/representation used for translation process from step 1 to step 3, for the User Driven Modelling approach. This also helps to demonstrate how the research provides a solution for generic and reusable engineering modelling, by providing a real but simple demonstration of this modelling approach being used for an engineering model.

The cube model, as for all the engineering/process models is made up of the definition, in this case 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/.

Next the implementation of this research was illustrated with the more complex example of an aircraft wingbox, using the same approach.

Friday, September 18, 2009

Collaboration and Process Modelling in Engineering and Business using Visualisation and Semantic Web techniques - Conclusion and Further Research

Conclusion

Test implementations assisted with :-

Providing clarity for process modelling and management, by creating a structured open standard visual modelling environment that is usable by non-programmers.

* Collaboration, dissemination, reuse and sharing of models using web applications and services.

* Enabling people to model at a high level of abstract conceptual modelling, thereby producing better process models using tools that model at domain level, rather than at code level.

* Development of Semantic Web based process modelling to provide the means for visualisation and calculation/sequencing, together with a decision support engine for model creation and retrieval.

* Increased user involvement for model development allows savings in cost and time taken for process modelling.

* Enhanced availability of process models and interactive visualisation of model results using web browser based software, this will also be an important teaching resource.
Identification of improvements to process efficiency and effectiveness.

* Better interoperability of models and ability to identify common problems missed during creation of standalone spreadsheets. Increased model detail and ease of upgrade with layered architecture of open standard languages to eliminate inconsistencies and allow better decision making.

* New ways of enabling end user interaction, with collaborative development of process models that will allow people more scope to solve problems.

*Enabling task based access to Semantic Web information, e.g. by employees and home users who have no knowledge or interest in the Semantic Web, but who will use tools for particular tasks.

This research tested first steps towards helping to solve problems caused by lack of collaborative modelling in process design. This could also bridge the gap between industry and those advocating the use of modelling/programming using Semantic Web techniques, to improve efficiency and effectiveness.

This research has potential benefit for any problem where end user programming using Semantic Web technology is applicable. This is a very broad range, involving most modelling. The particular areas where the research is most transferable are manufacturing and business modelling, e-learning and provision of models for public understanding of science and engineering, and health and science taxonomy/ontology management.

The research in this field has reinforced the view that Semantic Web based process modelling is an appropriate and robust means of achieving end user objectives. 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. This is necessary as each expert is best focused on 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/sub-models, and between models, and between suppliers and buyers.

The research made some progress towards allowing end users to concentrate on the domain to be modelled rather than on computing technologies. 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.

Existing ontologies can be extended for modelling of software systems and engineering systems e.g. PSL, STEPML, UML, SysML can be extended/adapted for use in particular problems.

Further Research

An editing facility to model these equations, and constraints, so that errors could be prevented, will improve the usability of visual process modelling systems. This should enable standardisation of the representation of mathematical expressions that relate nodes, and their values and expressions; this requires a user interface that enables complex mathematical structures to be conveyed by language and/or diagrammatic visualisation. The next stage in the research will be provision of constraints to prevent invalid mathematical expressions. Background research has been undertaken into this. Mathematical modelling can help deal with the complex interactions and calculations necessary for process modelling. Miller and Baramidze (2005) examine efforts to develop mathematical semantic representations above the syntactical representations of MathML, and the need for rigorous definitions of mathematical concepts. They also explain ontology languages OWL (Web Ontology Language) and SWRL (Semantic Web Rule Language), which can be used for open standard ontology based process modelling. Miller and Baramidze's DEMO system uses OWL to define a simulation and modelling class hierarchy. Elenius et al. (2005) show how an OWL-S editor can be used for creating process modelling and web service environments.

Further research is needed into modelling based on SWRL, to model conditional statements, and OWL-S Editor (Elenius et al., 2005) with UML style diagrams, together with investigation and use of online search facilities for services and process models. The reusable process architectures and process models held in an ontology, could also be translated as necessary between OWL-S and BPEL (Business Process Execution Language) representations. Also, Meta-Programming and Rule-based languages could be used to develop an interface to an end user programming environment. Models could be encoded and checked via languages such as MathLang (Kamareddine et el., 2005).

References

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.

Kamareddine F, Maarek M, Wells J B, 2005, Toward an Object-Oriented Structure for Mathematical Text, Mathematical Knowledge Management, 4th Int'l Conf., Proceedings LNCS Springer-Verlag.

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

Friday, September 11, 2009

Petition forces No 10 apology to WWII code breaker Alan Turing

"PM apology after Turing petition" - BBC News update - http://news.bbc.co.uk/1/hi/technology/8249792.stm

Gordon Brown has said he was sorry for the "appalling" way World War II code breaker Alan Turing was treated for being gay.

A petition on the No 10 website had called for a posthumous government apology to the computer pioneer.

In 1952 Turing was prosecuted for gross indecency after admitting a sexual relationship with a man. Two years later he killed himself.

The campaign was the idea of computer scientist John Graham-Cumming.

He was seeking an apology for the way the mathematician was treated after his conviction. He also wrote to the Queen to ask for Turing to be awarded a posthumous knighthood.

The campaign was backed by Ian McEwan, scientist Richard Dawkins and gay-rights campaigner Peter Tatchell. The petition posted on the Downing Street website attracted thousands of signatures.

Mr Brown said: "While Mr Turing was dealt with under the law of the time and we can't put the clock back, his treatment was of course utterly unfair and I am pleased to have the chance to say how deeply sorry I and we all are for what happened to him."

Profile: Alan Turing - BBC - Tortured Genius - http://news.bbc.co.uk/1/hi/uk/8250592.stm.

Wednesday, September 09, 2009

VoCampBristol 2009 - Thursday 10th, Friday 11th September

These are the details for - The 9th ever VoCamp, and the first in Bristol.

Thursday 10th and Friday 11th September 2009. Note that this date has been changed due to a conflict - http://vocamp.org/wiki/VoCampBristol2009.

WhatIsVoCamp

What's the Problem?

Continued growth of the Web of Data/Semantic Web is heavily dependent on the availability of vocabularies/ontologies that can be used to publish data. While a number of key vocabularies are in widespread use, there are also many areas with little or no vocabulary coverage, hindering the ability to publish data in these domains.

Peter Mika outlines some of the issues he sees with the current state of vocabularies on the Semantic Web in his blog post What’s wrong with vocabularies on the Semantic Web?
What is VoCamp?

VoCamp is a series of informal events where people can spend some dedicated time creating lightweight vocabularies/ontologies for the Semantic Web/Web of Data. The emphasis of the events is not on creating the perfect ontology in a particular domain, but on creating vocabs that are good enough for people to start using for publishing data on the Web. The intention is to follow a "paper first, laptops second" format, where the modelling is done initially on paper and only later committed to code. The VoCamp idea is influenced by BarCamp, although the emphasis is different. Whereas BarCamps are oriented to demos and presentations, VoCamps are oriented to hands-on technical work and practical outputs; any presentations and demos should be short, highly on-topic to the vocabulary development process, and limited in number, to leave plenty of time for hacking on new vocabularies.

What Next?
The first VoCamp event took place in Oxford, UK in September 2008 (VoCampOxford2008), the second took place in Galway, Ireland in November 2008 (VoCampGalway2008), and the third, and first ever in the US took place in Austin, Texas (VoCampAustin2009) followed immediately by another one in Ibiza, Spain in April 2009 (VoCampIbiza2009).

Thursday, September 03, 2009

User Driven Modelling/Programming Definition

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

A particular research area I want and need to research is that of developing a modelling/programming user interface further in order to simplify tasks enough that non-programmer engineers can begin to program/model.

My research is described on my Google Sites pages - http://sites.google.com/site/userdrivenmodellingprogramming/.

Monday, August 31, 2009

Thousands call for Turing apology

BBC Website - Technology - http://news.bbc.co.uk/1/hi/technology/default.stm.

"Thousands of people have signed a Downing Street petition calling for a posthumous government apology to World War II code breaker Alan Turing.
Writer Ian McEwan has just backed the campaign, which already has the support of scientist Richard Dawkins.
In 1952 Turing was prosecuted under the gross indecency act after admitting to a sexual relationship with a man. Two years later he killed himself."

I've signed this petition -

Government petition website - http://petitions.number10.gov.uk/turing/

"We the undersigned petition the Prime Minister to apologize for the prosecution of Alan Turing that led to his untimely death.
Submitted by John Graham-Cumming – Deadline to sign up by: 20 January 2010 – Signatures: 12,041"

Friday, August 28, 2009

Collaboration and Process Modelling in Engineering and Business - Conclusions

This post concludes the series that explains my research in this subject, and points towards how the research can be used in engineering and business, and how it can be furthered by others. This explains what was achieved in provision of modeling and decision support systems that could automate user-computer translation, and interact with users such as engineers to help them model problems and make appropriate decisions.

To make this research into modeling for engineering practical for a wide range of computer literate non-programmers, sustained further research is needed in the areas of visualisation, interaction, modeling, end user programming, and transformation as well as the links between these areas.

The need is for a methodology for creation of systems to enable more collaborative approaches to modeling by domain expert end users. This combined with visualisation would allow engineers to model problems accurately. This can be made possible by provision of systems that may not fulfil all of the requirements of the domain experts because this would be difficult or impossible, but instead allows the domain experts, e.g. engineers to customise this themselves and help build the system they need and that could be changed as required. Alternatives to the current approach to software development are required. Modeling languages can be used as an interface to an end user programming environment. Transformation from a model building environment to program code was investigated.

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.

Experienced programmers can build a modeling 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. Collaboration, simulation and modeling have been investigated to determine the requirements for future research in modeling 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 modeling infrastructure is automated generation of models created with World Wide Web Consortium (W3C) standards based languages, and the visualization 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.

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 14, 2009

Government to loan Airbus £340m - UWE mistakes

BBC Business – “The government is to give plane manufacturer Airbus up to £340m in loans for new projects, Business Secretary Lord Mandelson has said. £60m was also loaned to GKN in 2008.”

“Business Secretary Lord Mandelson made the announcement on a visit to the Filton, Bristol, plant of Airbus UK which will be making the wings for the new plane.” Filton is in north Bristol, UK.

It's very interesting to see that a massive Government investment has just been announced into exactly the sort of research UWE used to do well, such as the A380 wing development, I was one of the UWE staff involved in this cutting edge (literally) research. UWE has recently pulled UWE out of this research. Now the A350 wing development will proceed without UWE.

BBC News -

https://owa.uwe.ac.uk/exchweb/bin/redir.asp?URL=http://news.bbc.co.uk/1/hi/business/8201222.stm

Yahoo News -

http://uk.news.yahoo.com/21/20090814/tuk-340m-loan-boost-for-airbus-project-6323e80.html

The people behind UWEs' decision to pull out of these kind of research were Steve West the Vice Chancellor, and Martin Boddy, the head of the Faculty.

I hope they both have the sense to realise they have made an expensive mistake.

This is like a small version of the Government decision way back to pull out of research into rockets, just before a massive market emerged for satellite launches.

A350X investment and wing manufacture research -

My article about this for Huliq news, 14th August 2009 - http://www.huliq.com/5/84957/a350x-investment-and-wing-manufacture-research.

Based on BBC and Yahoo News stories

West of England Aerospace Forum (WEAF) - http://www.weaf.co.uk/news?id=90 - Government Invests £340million in Next Generation Aircraft Design & Manufacture 18/08/09

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.

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.