Showing posts with label Ontology. Show all posts
Showing posts with label Ontology. Show all posts

Friday, April 29, 2011

The Human Semantic Web - Further Reflection

The web is a useful environment for enabling people to add their knowledge in both a less structured Web 2.0 way (development of less structured but interactive web tools/programs), and a more structured Semantic Web way. The greater interaction in the Web 2.0 approach at least makes it more likely that Semantic disagreements will be spotted, but it takes the structuring in the Semantic Web approach to then show the meaning of terms more clearly and unambiguously so that agreement or disagreement about and mapping of terms can be reached. This then makes possible Naeve’s (2005) ‘Semantic Collaboration’ through and also defining the ‘Human Semantic Web’ that Naeve advocates. This then enables moving on from the Web being an environment only for simple tasks to one where sophisticated programs and models could be run that enable calculation and decision support.

This combination in approaches of enabling greater human interaction, and more definition of semantics can be illustrated by adapting the table displayed in my previous post.

Table - Language and Tool Mapping - Further Development



















Thus Increased Semantic Structuring and Collaboration from right to left, combined with Increased Human Interaction from bottom to top makes it more possible to undertake modelling and programming because the information is then well mapped and structured, and made available for visualisation and human interaction. On reflection AJAX/Web 2.0 technology spans more than one part of this diagram depending on the emphasis of whether to structure it and/or enable greater interaction. To reach the top left of the diagram requires layered use of technology as per the diagram developed by Berners-Lee (2000) and also McGuinness (2003). This layering of technology is needed in order to translate from the computer centred representations in the bottom right to the human centred representations and modelling in the top left. Human centred representations are too abstract for computers and computer centred representations are too abstract for humans. Therefore the technologies in the top left are not superior to those below and to the right as they need to be built on those technologies. Further there is more than one way to reach the top left, e.g. along the diagonal arrow from Naeve’s (2005) Semantic Isolation through Semantic Coexistence to Semantic Collaboration, or by moving up then left, or left then up. Following the diagonal arrow based on Naeve’s analysis is best for planning and building such a project from the start, but the other forms of navigation might be the best way to build on an existing project that has already been moving in a particular direction, that is not on this diagonal arrow.

References

Berners-Lee, T., (2000) Semantic Web on XML – Slide 10 - http://www.w3.org/2000/Talks/1206-xml2k-tbl/slide10-0.html

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.

Naeve, A., 2005, The Human Semantic Web – Shifting from Knowledge Push to Knowledge Pull. International Journal of Semantic Web and Information Systems (IJSWIS), Vol 1(3) (July-September 2005) pp 1-30.

Naeve - http://kmr.nada.kth.se/wiki/Amb/HomePage

Tuesday, April 26, 2011

The Human Semantic Web

My thoughts on the work of Naeve http://kmr.nada.kth.se/wiki/Amb/HomePage and Enoksson on the Human Semantic Web and implementation of Concept Maps.

Enoksson (2006) explains the advantages for extensibility of an open standard language, he used RDF for Conceptual Browsing on the Semantic Web. Enoksson (2006) models things with concept maps that break an overall ontology down into concept sub-ontologies/taxonomies.

Naeve (2005) argue that “combining the human semantics of UML with the machine semantics of RDF enables more efficient and user-friendly forms of human-computer interaction.” Using UML for production of ontologies is as advocated by Baclawski et al. (2001) and Kogut et al. (2002), and Enoksson (2006). Naeve (2005) examines this strong separation between types (classes), and instances (objects) and considers this to be a weakness, which he rectifies for ULM (Unified Language Modeling) developed from UML.

Naeve (2005) gives an example of the need for “semantic mapping” between different words with the same meaning such as ‘author’ in one ontology and ‘creator’ in another ontology in order to establish interoperability and machine readability.

The Table below shows tools, technologies, and languages that can assist in this, and where they are based in a hierarchy from low level information centred interaction to high level user centred interaction (bottom to top), and computing focused to human focused representation (right to left). The Table also shows how each tool fits in with Naeve’s (2005) analysis based on “characteristics of the three different semantic stages” of “Semantic Isolation, Semantic Coexistence, and Semantic Collaboration” :-

Table - Language and Tool Mapping















Naeve (2005) describes Semantic Isolation where databases are available but hidden behind web portals, though the portals advertise their address. Semantic Coexistence is achieved by databases being structured in such a way that it is possible to search them without having to know their location. Naeve gives the example of RDF Schema - RDF(S), this standardises the structuring of the information across RDF(S) databases. RDF(S) provides standardised elements for the description of ontologies, so assisting to enable Semantic mapping. Semantic mapping enables Semantic Coexistence due to Semantic mapping enabling agreement on terms. For the table above the argument presented is that high level user centred interaction (bottom to top), and computing focused to human focused representation (right to left), enable Semantic Coexistence. The tools in the top left are built from those below and to the right of them so the Semantic Coexistence is built from Berners Lee’s (2000) Layered Architecture. Naeve (2005) argues the need for semantics that are understandable to humans as well as machines. That is an important objective of the research outlined in my thesis as without semantics that are understandable to humans, it is not possible for non programmer domain experts to undertake collaborative modelling. Naeve (2005) discusses a bottom up approach where there is a set process of deciding what can be agreed on, what cannot, and on documenting both.

Naeve (2005) argues that where knowledge is tacit it is vital to keep track of the individuals or groups who have this tacit knowledge, and that also the ‘Human Semantic Web’ can help elevate tacit knowledge to explicit.

References

Baclawski, K., Mieczyslaw, K., Kogut, P., Hart, L., Smith, J., Holmes, W., Letkowski, J., Aronson, M., 2001. Extending UML to Support Ontology Engineering for the Semantic Web. In: Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools, pp 342-360.

Berners-Lee, T., (2000) Semantic Web on XML – Slide 10
http://www.w3.org/2000/Talks/1206-xml2k-tbl/slide1-0.html

Enoksson, N. (2006) Serverside Solution for Conceptual Browsing on the Semantic Web. MSc. Dissertation, Stockholm University.

Kogut, P., Cranefield, S., Hart, L., Dutra, M., Baclawski, K., Kokar, M., Smith, J., 2002. UML for Ontology Development. The Knowledge Engineering Review Vol 17(1) pp 61-64.

Naeve, A., 2005, The Human Semantic Web – Shifting from Knowledge Push to Knowledge Pull. International Journal of Semantic Web and Information Systems (IJSWIS), Vol 1(3) (July-September 2005) pp 1-30.

Thursday, April 21, 2011

How Ontology and Modelling Tools were chosen for my PhD

The modelling tool Vanguard System was chosen because it handles Units and uncertainty well something that was necessary for the DATUM project with Rolls-Royce as partners (Scanlan et. al, 2006). The same advantage was the case for the PhD because of the need for extensibility such as risk and uncertainty modelling. Other advantages of Vanguard System were ease of installation and use, ease of linking to spreadsheets and databases, facilities for web enabling of models, and the ease with which formulae can be entered and linked with a high level programming language where necessary (similar to spreadsheets but with a tree based user interface). Experimentation with Protégé showed it was possible to translate the Protégé tree into a Vanguard System tree. This fit in well with the stepped translation to be developed. The open standard nature of Protégé made it possible to use this software without being locked in to it. Tools such as TopBraid Composer can provide additional higher level functionality such as an improved user interface and more tools for user interaction and modelling by end-users so is future work.
There was a need for the DATUM project and for the PhD to minimise programming, so Jena was not used, but Leavers' (2008) MSc project used this effectively, and there was regular contact with the developers of ACUITy (Aragones et. al., 2006), to examine how that more software centred approach was used. Given more time that approach could have been used. Metatomix M3t4 was also used effectively as a high level tool to interact with Jena. So results of research with Jena and/or ACUITy and m3t4 would have shown similar results to the approach of using Protégé and Vanguard System.
These types of tools improve with research and development each year so reproducing this research is becoming easier. New ways of modelling at high level with involvement of end-users is thus practical.

References

Jena - A Semantic Web Framework for Java [online]. Available from: http://jena.sourceforge.net/ [Accessed 21 April 2011].

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

Metatomix M3t4 Dashboard [online]. Available from: http://wiki.m3t4.com/homepage.action [Accessed 21 April 2011].

Protégé Welcome to Protégé [online]. Available from: http://protege.stanford.edu/
[Accessed 21 April 2011].

Scanlan, J., Rao, A., Bru, C., Hale, P., Marsh, R., 2006. DATUM Project: Cost Estimating Environment for Support of Aerospace Design Decision Making. Journal of Aircraft, 43(4).

TopBraid Composer, The Complete Semantic Modeling Toolset [online]. Available from: http://www.topquadrant.com/products/TB_Composer.html [Accessed 21 April 2011].

Vanguard System [online]. Available from: http://www.vanguardsw.com/solutions/application/modeling-and-simulation/
[Accessed 21 April 2011].

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.

Thursday, September 03, 2009

User Driven Modelling/Programming Definition

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

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

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

Friday, December 19, 2008

Automated Production of Engineering Models

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

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

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

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

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

PhD Research Development Diagram - Research and Development for Thesis.


Cube Model

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

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

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

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

Cube Model - Translated to SVG

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

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

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


PhD Research Development Diagram - Research and Development for Thesis.



Consumption Function translation from modelling system into Java

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

Tuesday, September 09, 2008

SWRL (Semantic Web Rule Language) and Protege

SWRL is a Semantic Web Rule Language Combining OWL and RuleML - http://www.w3.org/Submission/2004/SUBM-SWRL-20040521/.

So far in creating ontologies for modelling for my thesis, if-then-else structures were edited using simplified english language. Elenius et al. explain that Protege now supports SWRL. This makes it possible to use SWRL expressions within Protege. So if-then-else and other control structures could be specified using SWRL. Protege provides an expression builder for this purpose. This also opens up the possibility of translating between an english representation of such structures and an SWRL structure or vice versa, so would be useful future research.

Protege support for SWRL is through the SWRLTab, and has been available since 2004 - http://protege.cim3.net/cgi-bin/wiki.pl?SWRLTab.

This paper by Elenius et al. is available online - The OWL-S Editor - A Development Tool for Semantic Web Services - http://owlseditor.semwebcentral.org/documents/paper.pdf - Daniel Elenius, Grit Denker, David Martin, Fred Gilham, John Khouri, Shahin Sadaati, and Rukman Senanayake - SRI International, Menlo Park, California, USA.

This is the relevant paragraph - Refering to their own research - "One aspect of OWL-S services not covered in this paper is the editing of preconditions and effects of processes, and conditions associated with control constructs such as If-Then-Else. In OWL-S, these are normally described in the SWRL language. Currently, we simply provide a text box where users can enter these SWRL expressions. However, we plan to provide more user-friendly editing capabilities. Protege has recently" ... (2004)... "been enhanced with native support for SWRL, including a SWRL expression-builder, which will serve as the basis of this work."

One possible application of this would be using OWL-S, and UML type diagrams to produce interoperable process models diagrammatically.

More information on OWL is at http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm#OWL.

More information on SWRL is at http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm#SWRLRuleML

The Protege homepage is - http://protege.stanford.edu/.

Monday, June 30, 2008

Visualisation and Interaction for Modelling

Eng and Salustri (2006) outline the role of computers in aiding decision making, and explain that the human mind is the best tool for making decisions. They explain that visualisation systems must help people use the information access capabilities of computers. Eng and Salustri refer to a dimension from “tacit to articulatable” knowledge. So the research for this thesis aims to use the layered Semantic architecture described by Berners Lee et al. (2000) and discussed by McGuinness (2003) relating to this diagram :-

Layered Architecture, sourced from McGuinness (2003) and Berners-Lee (2000)


Layered Architecture, sourced from McGuinness (2003) and Berners-Lee (2000)



This improves translatation between the layers to enable human/computer translation. This approach is intended to improve interaction rather than enable computing decision making through artificial intelligence; the emphasis is on decision support for design and manufacture. The detail of this approach and the methodology for automating translation for users is explained in here - http://www.cems.uwe.ac.uk/~phale/#ResearchMethodology. Such techniques as genetic algorithms are outside the scope of this thesis. Instead the emphasis is on clear visualisation, interaction and translation.

This translation code reproduces a taxonomy/ontology and makes it available for modelling/programming systems. This taxonomy/ontology is a copied subset of the main ontology produced as an instance of the main ontology according to model builder choices and for the modelling/programming purposes of that model builder.

Recursive Translation - Automated Copying from ontology to modelling system

Recursive Translation - Automated Copying from ontology to modelling system

Also the translation can link different ontologies/taxonomies together when they are required in order to solve a problem. So the approach is to gather information from ontologies/taxonomies as required for solving a problem as specified by the model builder. This is tested and applied to engineering modelling. An open source approach can be combined with use of open standards ontologies as was advocated by Cheung (2005).

References

Berners-Lee, T., (2000) Semantic Web on XML – Slide 10 [online]. Available from: http://www.w3.org/2000/Talks/1206-xml2k-tbl/slide1-0.html [Accessed 26 June 2008].

Cheung, W. M., Maropoulos, P. G., Gao, J. X., Aziz, H., 2005. Ontological Approach for Organisational Knowledge Re-use in Product Developing Environments. In: 11th International Conference on Concurrent Enterprising - ICE 2005, University BW Munich, Germany.

Eng, N., Salustri, F. A., 2006. "Rugplot" Visualization for Preliminary Design. In: CDEN 2006 3rd CDEN/RCCI International Design Conference University of Toronto, Ontario, Canada.

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 [online]. Available from: http://www-ksl.stanford.edu/people/dlm/papers/ontologies-come-of-age-mit-press-(with-citation).htm [Accessed 26 June 2008].

Monday, June 16, 2008

User Driven Modelling - Intermediate Benefits

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

The techniques used helped with progress towards improved interoperability that can aid in all the above areas. These uses and improved interoperability to support them needed to be developed together in an iterative way.

Experienced programmers/software engineers may have many of the problems of end-user programmers whenever they need to use a language/system they are unfamiliar with, or when the language/system they use is updated to a new version. So this means the techniques and approach developed can aid experienced software developers in such circumstances, as well as end-user programmers.

Sunday, March 23, 2008

PhD Findings and Conclusion

Findings

The thesis covered the following areas :-


  • Enabling people to create software visually.
  • Creating design abstractions familiar to domain experts e.g. diagrams for engineers.
  • Ensuring interoperability using open standards.
  • Automating user to computer translation process.

This post explains how the alternative approach of User Driven Modelling/Programming used for this thesis to develop models and modelling capabilities compared to that of spreadsheet development, used within other projects. The alternative approach was outlined in this thesis, of using open standards ontologies/taxonomies and a web interface for developing decision support models for design and costing. The stepped translation approach designed and implemented in this thesis enabled structured modelling, and visualisation using interactive technologies.


  • Step 1 - Ontology
  • Step 2 - Modelling Tool
  • Step 3 - Interactive Visualisation

This stepped translation solved problems of the spreadsheet approach as indicated in the table below, and then in more detail in following sections -


Improvement - Achieved By
Maintenance - Structuring and Translation
Extensibility - Structuring and Visualisation
Ease of Use - Visualisation, Interaction, and Translation
Sharing of Information - Shared Ontology and Interoperability


The 3 step translation process created ensures translation of domain level modelling into open standard representation and software and vice versa.

Maintenance

The use of a centralised information source makes these models more reliable than the standalone spreadsheet. This centralised structure was easier to manage than updating multiple instances of the spreadsheets used by different people and ensuring they all contain the same information. So the first task was to build a system for collaborative model building. As a piece of information can then only belong to a unique location, the problems arising from duplicate pieces of information are eliminated. The models have only the functionality that is added by the model builder so there are not other side effects to keep track of, as there are with generic functionality within spreadsheets. Enabling people to create software visually makes it easier for model builders and model users to keep track of any information they are responsible for. Translation from the ontology to models and visualisations ensures one change will affect all stages, so this makes maintenance easier.


Extensibility

Creating the infrastructure for the collaborative model building system took much more time than it did for the spreadsheet system, but having done so it is quicker and easier to create further models. This is because of the facilities provided for model builders and end-users to customise the software in any one of the three step translation process. This means progress has been made in making it possible for non-programmers to build models. It also indicates that the extra research and development time taken was worth it in the long term, most of this time involved productive research and this can be used in future projects. The use of open standards in this thesis for information and models ensures there should be a development path, whatever changes there may be in the software market. This use of open standards also ensures that the system can link with most environments used by others. The translation and visualisation approach ensures that new models can be added using the existing ontology, and that design changes in the ontology and translation can enable modelling of different problems. So if there is a new problem to be modelled there are two ways to achieve this.

Ease of Use

Many people now are familiar with web pages and at least the basics of how to navigate them, and by creating such an environment, and standardising the navigation to those ways commonly used over the web, it is possible to ease usability. The models contain only the functionality that is added by the model builder unlike the spreadsheets which had generic functionality that was not required and led to user’s confusion. New Web 2.0 interaction technologies have allowed production of a rich user interface for web programs in a similar way to single computer applications. This means information held in an ontology and translated through modelling tools can be made available as interactive applications for many users. Translation allowed the same user interface to be provided in multiple tools and computer languages. Also this research showed that it was possible to provide user interfaces and visualisation differently as appropriate according to the type of user, the situation, or the kind of information to be shown.

Sharing of Information

The use of open standards languages for representing information makes it much easier to represent information in a way that makes it accessible both to people and software. Ontology based modelling tools use these open standards and so ensure dependable translation, interoperability, and sharing of information. Web browsers make it possible to share information with many users at once, and so this enables collaboration. Structuring of the information using standardised languages makes it easier to search and visualise the information. This ensuring of interoperability is important for long term use of the overall modelling system.

Conclusion

Within this thesis it is argued that there is a need for software developers to create programs that enable users to solve problems themselves. In effect this involves production of a system to create systems. This approach can widen programming participation by including computer literate non-programmers. This is a reaction to the increased complexity of real world problems and software systems, which makes development of software solutions impractical without greater involvement from end-users. It is difficult for developers to foresee every need of users and use of the software produced, so it makes sense to enable more end-user customisation. It is also argued that the research for this thesis has been a step towards making end-user programming possible. The research ideas look complex at first glance but this research is all about simplifying software development.

The approach of developing decision support models for design and costing using a spreadsheet was compared to the alternative approach of using open standards taxonomies and a web interface for this purpose. The conclusion is that although use of spreadsheets allows for the creation of models relatively quickly they are beset by problems. These relate to Maintenance, Extensibility, Ease of Use, and Sharing of Information. The spreadsheet example and the explanation in the thesis represent problems currently experienced throughout software and computer use.

The alternative approach for this thesis of User Driven Modelling/Programming involves the development of a system, where a model builder, via visual editing of library taxonomies can undertake maintenance and extension of information. Dealing with this proof of concept has indicated that it is easier to maintain, search and share information using this approach than it was using spreadsheets. This also enables much more of the maintenance task to be left to users, who can also customise the system. Creating the infrastructure has taken much more time than it did for the spreadsheet system, but having done so it is much quicker and easier to create further models. This indicates that the extra research and development time taken though far exceeding what would have been required for a spreadsheet modelling project is well worth it in the long term. Also the use of a centralised information source makes these models more reliable than the standalone spreadsheet, standalone decision support models created individually may contain out of date information. In addition, since a well constructed ontology implies that a piece of information can only belong to a unique location, the problems arising from duplicate pieces of information are eliminated. It is also much easier to create models once the infrastructure is in place; this can enable users to develop models. The ability to visualise, search and share information using structured languages and web pages is a huge advantage for creation of dynamic structured views and decision support models over the web.

This research was a test case for a whole new approach that could be possible, of collaborative end-user programming by domain experts. The end-user programmers can use a visual interface where the visualisation of the software exactly matches the structure of the software itself, making translation between user and computer, and vice versa, much more practical. For this reason highly structured visualisations were preferred over web spreadsheets. Semantic Web languages are ideal for representing graphs and trees in an open standard way. The spatial, and tree/graph visualisations used both have the same underlying semantics, and therefore can both be translated to computer languages. In fact it would be much better in the long run to use the Semantic Web languages as standardised programming languages for such problems as this would avoid the need to further translate into other programming languages, and systems. The advantage to this is that of using Semantic Web languages for representation of information, meta-programming, and translation to a visual display for users. The use of Semantic Web languages as a connectivity environment for connecting information, and for connecting users to the information held in Semantic Web data sources enables an environment that could be made easier to use, install and maintain.

More generally a new approach is required to software creation. This approach should involve developers creating software systems that enable users to perform high level programming, and model the problem for which they are the experts. This is an alternative to the provision by developers of modelling solutions that try to provide an out of the box solution that just needs ’tweaking’. Such an out of the box system is not practical considering both increases in complexity of manufactured products, and of software systems themselves. Feedback from publishing the research examples behind this thesis and working with industrial partners indicates that people like to work on their own solutions, providing they are computer literate and confident they have domain knowledge that the developers do not possess. This is true for software development in general, not just in the domain of engineering. Research cited in this thesis from others involved in end-user programming confirms this.

For proving the hypothesis that it is possible to create an end-user programming environment, usable by non programmers, it has been found that structuring and relating of information is all important in this solution. To achieve this, it was only necessary to link the information visually via equations, and store these results for reuse and collaboration. If users can understand and navigate relationships, and add new relationships they can model most problems. It was important to design a visual interface that is intuitive to use, and allows for proper interpretation of the results. Feedback has indicated that users can navigate this structure and manipulate it. This is preferable to ’black box’ solutions that hide information. There are no dead ends or blocks to expanding and improving this approach. To make the system easier to use it is only necessary to trial continually better interfaces, and to assist by providing guidance to the user. There was not sufficient time and resources to expand this research much to areas outside engineering modelling, but there is scope for researchers to improve end-user programming for engineering modelling systems, and to expand the research into other areas.

Saturday, January 19, 2008

Web Taxonomy Creation 2


To achieve the aims of Web Taxonomy Creation examined in my last post, a collaborative modelling approach is required. The literature on collaborative modelling is extensive. Huhns [1] and Paternò [2] both explain that alternatives to current software development approaches are required for ease of model creation. The need is to translate from a model-based visual representation understood by users to software. This makes it possible to engage with end-users and non-specialists in general. Johnson [3] explains that successful interaction requires mapping between levels of abstractions and that translation between these abstraction levels required by people and computers is difficult. Johnson explains that this problem often means systems are created that make users cope with the problems of mis-translation. The representation of rules and information can be illustrated diagrammatically and it is possible to describe algorithms through concrete examples rather than abstractly. Models must be designed and visualised so that they convey to users a representation of a problem that assists with their vision of it. This modelling approach is explored by Crapo et al [4] and is the basis of our visualisation techniques allowing the creation and understanding of taxonomies and models.

Scaffidi et al [5] show that most people who develop software are de-facto programmers lacking a formal computing background, this will often be the case for scientists and the public contributing to taxonomies. End-user programming is particularly important in this research as we are making software development accessible to non-experts. Research by Ko [6] explains the need for engagement of end-users, including non-specialists by providing them with the capability to interact and amend software. An e-science interactive environment is ideal for involving anyone interested in science to amend or produce personal content. The environment will benefit from an interactive e-learning approach influenced by 'Semantic Learning Webs' [7]. The capabilities we will provide over the web are similar, but more collaborative and advanced than provided by spreadsheets for modelling, and web editors for knowledge sharing. We will produce an alternative methodology for scientific modelling that hides the complexity of low-level programming code from users. This is a kind of meta-design, as explained by Fischer [8] that can be standardised to create a collaborative environment for sharing information among scientists. This builds on research we have undertaken to enable end-user programming. We will visualise scientific information and make this editable online. The system created must be judged accessible and user friendly by users. In addition, it must share information successfully with other software and people. So interoperability is extremely important, examples of interoperability research we will make use of are INTEROP [9] and MOMOCS [10], and combine this with a model driven approach. In order to achieve interoperability, the utilisation of open formats should be favoured in order to maximise chances of forward compatibility with evolving scientific models. We will also create or customise editing tools such as wikis [11][12], blogs, and Semantic Web editors [13] to document the models and collect user's feedback. We will visualise scientific information and make this available online.

Web Taxonomy Creation -

http://userdrivenmodelling.blogspot.com/2008/01/web-taxonomy-creation.html.


References


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


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


[3] Johnson P, 2004, Interactions, Collaborations and breakdowns, ACM International Conference Proceeding Series, 3rd annual conference on Task models and diagrams Vol 86.


[4] Crapo A W, Waisel L B, Wallace W A, Willemain T R, 2002, Visualization and Modelling for Intelligent Systems, Intelligent Systems: Technology and Applications, 1, pp 53-85.


[5] 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, 21-24 September, Dallas, USA.


[6] Ko A J, 2007. Barriers to Successful End-User Programming. End-User Software Engineering Dagstuhl Seminar.


[7] Stutt A, Motta E, 2004. Semantic Learning Webs. Journal of Interactive Media in Education, 2004(10), Special Issue on the Educational Semantic Web.


[8] Fischer G, 2007. Meta-Design: A Conceptual Framework for End-User Software Engineering. End-User Software Engineering Dagstuhl Seminar.


[9] INTEROP -

http://interop-vlab.eu/newsletter/newsletter-nb02/

[10] MOMOCS - MOdel driven MOdernisation of Complex Systems -

http://www.viewzone.org/momocs/index.php?option=com_content&task=blogcategory&id=20&Itemid=17

[11] Hale P, 2007. Protégé Wiki

http://protege.cim3.net/cgi-bin/wiki.pl?UserDrivenProgramming

[Accessed 29 Nov 2007].


[12] Visual Knowledge, 2007. Semantic Wiki

http://www.visualknowledge.com [Accessed 29 Nov 2007].

[13] Quint V, Vatton I, 2005. Towards Active Web Clients. DocEng Bristol United.

Monday, September 17, 2007

Ontology Visualisation and Interaction

Protégé has OWL plug-ins available that provide extra capabilities for representing and visualising information, and also reasoning tools for maintaining and analysing the logical constructs (Storey et al, 2004) and (Elenius, 2005). The University of Victoria Computer-Human Interaction and Software Engineering lab (CHISEL) (2006) has developed Jambalaya (Ernst et al, 2003) for visualisation of knowledge and relationships. Ernst et al explain that the "larger ontologies that are being developed quickly exhaust human capacity for conceptualizing them in their entirety", so visualisation tools must assist users to view the information they need. Researchers at the University of Queensland Australia have developed a hyperbolic browser to display RDF files, this is explained in Eklund et al (2002). Cheung et al (2005) provide an ontology editor for knowledge sharing in manufacturing.

It is also important not to stay limited on one ontology development environment but instead explore how ontologies can be developed using a range of development tools and translated between each where necessary (Garcia-Castro and Gomez-Perez, 2006) are testing this. For this reason, a large range of ontology management tools have been investigated for this thesis. SWRL (Semantic Web Rule Language) combining OWL and RuleML and its use in modelling will also be investigated. This could be used for formally specifying the construction of equations and rules in a model and the relationships and constraints between items represented in an equation. Miller and Baramidze (2005), Horrocks et al (2003), and Zhang (2005) explain the SWRL language. Horrocks et al talk of defining properties as general rules over other properties and of defining operations on datatypes, within the thesis this research could assist in providing a visual rule and equation editor. An editing facility to model these equations and constraints, so that errors could be prevented, would improve the usability of future visual modelling systems created. Support for SWRL in Protégé (Miller and Baramidze, 2005) will assist with the construction of a modelling system with sophisticated editing of rules.

My Pages on this subject
Semantic Web - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm.
Semantic Web Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm.
Visualisation - http://www.cems.uwe.ac.uk/amrc/seeds/Visualisation.htm.

References

Cheung, W. M., Maropoulos, P. G., Gao, J. X., Aziz, H., 2005. Ontological Approach for Organisational Knowledge Re-use in Product Developing Environments. In: 11th International Conference on Concurrent Enterprising - ICE 2005, University BW Munich, Germany - http://www.eamber-esilkroad.org/Projects/408/ICE2005/Knowledge%20Management/P13%20Ontological%20Approach%20for%20Organisational%20Knowledge%20Re-use%20in%20Product%20Developing%20Environments.pdf.

Elenius, D., 2005. The OWL-S Editor - A Domain-Specific Extension to Protégé. In: 8th Intl. Protégé Conference - July 18-21, 2005 - Madrid, Spain - http://protege.stanford.edu/conference/2005/submissions/abstracts/accepted-abstract-elenius.pdf.

Eklund, P., Roberts, N., Green, S., 2002. OntoRama: Browsing RDF Ontologies using a Hyperbolic-style Browser. In: The First International Symposium on Cyber Worlds, CW02, Theory and Practices, IEEE Press. (2002) pp 405-411. - http://ieeexplore.ieee.org/iel5/8409/26515/01180907.pdf.

Ernst, N. A., Storey, M., Allen, P., Musen, M., 2003. Addressing cognitive issues in knowledge engineering with Jambalaya http://www.neilernst.net/docs/pubs/ernst-kcap03.pdf.

Garcia-Castro R, Gomez-Perez A, 2006. Interoperability of Protégé using RDF(S) as interchange language. In: 9th Intl. Protégé Conference, July 23-26, 2006 - Stanford, California - http://protege.stanford.edu/conference/2006/submissions/abstracts/3.4_Garcia-Castro_Gomez-Perez_Protege2006.pdf.

Horrocks, I., Patel-Schneider, P. F., van Harmelen, F., 2003. From SHIQ and RDF to OWL: The making of a web ontology language. Journal of Web Semantics, Vol 1(1), pp 7-26 - http://www.cs.man.ac.uk/~horrocks/Publications/download/2003/HoPH03a.pdf.

Miller, J. A., Baramidze, G., 2005. Simulation and the Semantic Web. In. Proceedings of the 2005 Winter Simulation Conference - http://www.informs-cs.org/wsc05papers/297.pdf.

Storey, M., Lintern, R., Ernst, N., Perrin, D., 2004, Visualization and Protégé In: 7th International Protégé Conference - July 2004 - Bethesda, Maryland - http://protege.stanford.edu/conference/2004/abstracts/Storey.pdf.

University of Victoria, 2006. Model Driven Visualization (MDV) http://www.thechiselgroup.org/?q=mdv.

Zhang, Z., 2005. Ontology Query Languages for the Semantic Web: A Performance Evaluation. MSc Thesis, (Under the Direction of John.A.Miller) -http://www.cs.uga.edu/~jam/home/theses/zhijun_thesis/final/zhang_zhijun_200508_ms.pdf

Friday, September 07, 2007

Objectives for future development of Ontologies

My next posts outline future research that is required for the advancement of representation, search, and visualisation of information, and at recent and future developments in the use and representation of taxonomies and ontologies, and visualisation tools that can aid in their use. Berners-Lee et al (2006) explain the importance of visualisation for navigation of information "Despite excitement about the Semantic Web, most of the world's data are locked in large data stores and are not published as an open Web of inter-referring resources. As a result, the reuse of information has been limited. Substantial research challenges arise in changing this situation: how to effectively query an unbounded Web of linked information repositories, how to align and map between different data models, and how to visualise and navigate the huge connected graph of information that results."

Horrocks (2002) explains the advantages of moving towards a more formal ontology. Making use of a more formal ontology is the next major aim for my research. Creation of a formal ontology, while at the same time creating applications that model problems such as early stage design and cost, and interactive modelling environments for students, will widen the applicability of the research. This would enable further testing on ways ontologies can be used to solve problems, and are meaningful to people as well as being searchable by computer software. My intention is to enable tagging of this ontology and eventually editing of it by users, in order to allow users and domain experts to be involved in the ontology construction.

So far the taxonomies used in my thesis include traditional object oriented relationships such as child, parent, sibling, attribute, and instance. There are other types of relationship that would need to be modelled in order to maximise the capabilities of software that would use the taxonomies. Key relationships used within the object oriented programming domain between objects have been modelled. These key relationships depict families and aggregations of objects that may share attributes and methods through inheritance. When physical items are represented, this can be translated to geometric diagrams. Semantic descriptions with more relationship types than the ones modelled so far allow a more expressive depiction of a problem domain, and can aid some forms of search within a model. One of the main advantages of a semantic net description, in terms of automated model generation, is that labelling relationships between objects allows the depiction of a number of aspects of a domain in one model, and with a consistent syntax. Ciocoiu et al (2000) explain how an engineering ontology can be made more rigorous in order to facilitate interoperability. This allows representation of, say, a product structure and its manufacturing processes together. A single node then is the only representation of that node within the model, with all its relationships depicted as arcs emanating/terminating at the node. More expressive semantic descriptions are possible through the use of the standard OWL dialects. These more expressive descriptions require sophisticated visualisation tools which will be the subject of the next post.

My Pages on this subject

Semantic Web - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm.
Semantic Web Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm.

References

Berners-Lee, T., Hall, W., Hendler, J., Shadbolt, N., Weitzner, D. J., 2006. Creating a Science of the Web. Science 11 August 2006:Vol. 313. no. 5788, pp. 769 - 771. - http://www.sciencemag.org/cgi/content/full/313/5788/769?ijkey=o66bodkFqpcCs&keytype=ref&siteid=sci.

Ciocoiu, M., Gruninger, M., Nau, D. S., 2000. Ontologies for Integrating Engineering Applications. Journal of Computing and Information Science in Engineering, 1(1) pp 12-22. - http://www.cs.umd.edu/~nau/papers/ontologies-JCISE-2001.pdf.

Horrocks, I., 2002. DAML+OIL: a Reason-able Web Ontology Language. In: proceedings of the Eighth Conference on Extending Database Technology (EDBT 2002) March 24-28 2002, Prague. - http://www.cs.man.ac.uk/~horrocks/Publications/download/2002/edbt02.pdf.

Thursday, June 21, 2007

User Driven Programming - Research Areas

The main focus of my research is that something is a class until it is used. So all the things in an ontology, taxonomy or any database that is the source of the information I think of as a class. When a user does something that gets this information and uses it for their own purpose, e.g. for a calculation, or to create their own web page I think of that as an instance for that person. So it always follows this sequence -

Ontology - Model - Interface (e.g. web page) - User Output


So this way many users can share use of the ontology and modelling system to produce their own output with the shared information. So the model takes classes and converts them to instances for use by the user e.g. a generic wing component cost and all its classes becomes a specific wing component cost and all its objects.

I am keen to represent rules as equations not as software code, so the user enters equations, these are visualised and linked together, and they are then translated to code for the computer but the user can read them without having to know a computer language. I'm interested in XForms and Web Forms as they are a way of visualising information while maintaining the structure. I have been looking at XForms, I think the quickest way to get into that is to go to http://www.formfaces.com/faces/Examples/index.html because code can be downloaded for these examples and run without having to install anything, it just works from a formfaces.js JavaScript file that you put in the folder with your XForms pages. For background I would recommend reading anything by Kurt Cagle and this book http://xformsinstitute.com/essentials/ downloadable from that site or can be bought. I have it all linked from http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm#XForms. It is also worth looking at combining this with XQuery http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htm#XQuery but this involves installing something such as eXist http://exist.sourceforge.net/ and learning to use that.

This is an area of research that I think is lacking sufficient research effort as yet - http://www.cems.uwe.ac.uk/~phale/#LanguageToolMapping. I call this User Driven Modelling or User Driven Programming. This is the area marked in yellow on the diagram, and below that is a map of tools, that links to a description of each tool that can be used for this subject area. Even this is a large research area. The idea of this is to add ease of use and freedom to develop user driven content to model driven programming, and make the needs of the ordinary end-user central to research. The aim also is to take the Web 2.0 approach to creation of dynamic highly interactive user interfaces, and use the structured language approaches of Semantic Web research combined as technologies to enable the User Driven Modelling.

These references http://www.jisc.ac.uk/media/documents/techwatch/tsw0701b.pdf and http://www.cabinetoffice.gov.uk/publications/reports/power_information/power_information.pdf?id=3965 ask universities and the UK Government to get more involved in the enabling and use of user driven content. The model driven programming approach can be used to enable this, read an ontology and drive technologies such as XForms for the user interface.

Monday, May 07, 2007

Translation for Visual End User Programming

Research Theory influencing this Translation Mechanism


The use of the Semantic Web in my thesis is to be a means for open standard representation of information (built on XML), transformation into different representations as required, and for provision of a high level interface as a tool for model creation, and translation to program code. An 'elaborator', is used, this is a translator that converts the diagrammatic representation of the problem into software code. Translations can be performed into any programming or meta-programming language or open standard information representation language, the visualisation of the model created can be displayed on the web. This translation builds on research in program and model transformation. The translation software performs transformations as required between different programming languages and visual model views. This has been prototyped, but it is important to further this research in order to establish a user base, and make the translation generic. Figure 1 shows the process.



Figure 1 - Translation Process


Implementation


Translation Process


This research involves finding alternative ways of representing models, which do not require the user to write code. The intention is to make it easier to interact with and change the models, and to share information with colleagues. The information used in the models resides in an ontology, and from this ontology models can be automatically produced via a recursive translation tool that has been prototyped.



The research for my thesis uses a technique of interpreting information in order to create decision support programs automatically in response to user choices. This technique is then extended for use in the automatic creation of programs in other computer languages and systems. This can be achieved by automated translation of the Vanguard Studio information into other languages. The basis of this is that elaborators are nodes in the tree, which are automatically created and dynamically write objects. This allows the wing box definition to be translated to the decision support system for costing and then to other software such as web pages for further processing or visualization. An open standard semantic editor Protégé created by Stanford University (2007) was used to structure this information into related taxonomies. This ontology holds the definitions of nodes representing information, and calculations to be performed. Taxonomies are created in Protégé for 'Parts', 'Materials', 'Consumables', 'Processes', 'Rates', and 'Tooling' for a prototype costing system. 'Parts' is the core taxonomy. New categories can be produced as required. Domain experts would edit the taxonomies; these experts can specify the relationships of classes and the equations to be used via a visual user interface in Protégé. These relationships are evaluated and translated to produce computer code. Figure 2 illustrates how code is produced from the semantic relationships.



Figure 2 - Translation Process Implementation


This model can be used as it is, or be a template for the generation of a further model(s). An example interface, a section from a model produced automatically, is shown in figure 3. This information is saved using a generic structure based on keys that define all relationships, into a relational database. This enables storage of hierarchical data in a relational database and also allows for separation of information into tables according to category, and the use of SQL (Structured Query Language) to automatically query and structure the information as required. Vanguards' tree based decision support tool Vanguard Studio (2007) reads this information and represents it as colour-coded nodes. The code written for this thesis automatically queries the taxonomies that make up the ontology and links the information as required for the model. The code builds in all the links required for the equations and thus links up information from different taxonomies, the information is colour coded according to which taxonomy it is from. This same code can be reused for any modelling problem, it builds the equations and follows the links to build each equation tree, and attach this to the rest of the tree. The decision support tool can perform calculations and so output results. Figure 3 shows how the decision support tool can automatically construct and represent a branch in the tree, visualize an equation and calculate a result. Red nodes represent processes, green nodes represent the part definition and magenta nodes represent resources. This illustrates how 3 taxonomies have been automatically linked because they are needed in this calculation. In this prototype hundreds of calculations have been related to each other, this example illustrates that 'Area' was also calculated, and that this forms part of the tree for the 'Hand Layup Tool Cleaning Cost', which in turn is passed into other calculations. Hundreds of calculations using information from all the taxonomies are linked as required in this costing example. The time taken to perform the translation from the ontology and to perform all the calculations is a less than a second.




Figure 3 Ontology to Model Conversion



References


Stanford University, 2007. Welcome to protégé - http://protege.stanford.edu/.


Vanguard Studio, 2007. Global Knowledge Portal http://wiki.vanguardsw.com/.



My Research - http://www.cems.uwe.ac.uk/~phale/.


Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/Modelling.htm


Semantic Web Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm


Visualization - http://www.cems.uwe.ac.uk/amrc/seeds/Visualisation.htm

Sunday, April 15, 2007

Collaborative Software Creation

The intention is to create collaborative tools that allow users to develop software in a way they will be familiar with from their use of spreadsheets. Sternemann and Zelm (1999) explained that even then it had become necessary to research collaborative modelling and visualisation tools, because of the business trend towards global markets and decentralised organisation structures. To achieve this, Semantic Web tools would be used that represent the information to be shared in an open standard way. (Cheung et al, 2007) explain the necessity for collaboration tools to support early stage product development within networked enterprises. A system could consist of applications to be combined in order to represent a layered architecture of:-

Database - ontology engine - ontology visualiser - calculation engine - inputs visualiser - results visualiser

The aim is to ensure ease of development and use of the software system by using applications that operate at one or more levels in a conceptual hierarchy, while still being able to communicate with the layers above and below in the hierarchy, and with other applications. McGuinness (2003) writes about how ease of use via conceptual modelling support and graphical browsing tools is essential if systems such are to be usable for mainstream use. To facilitate this, open standard tools will be used and communication tested within the overall system. The communication mechanism should be invisible to the end user who cannot be expected to consider such matters. This communication would involve large amounts of related information being translated and passed on in its entirety rather than just individual objects or messages. The intention for this main prototype is to facilitate full communication between software applications and so make it easier for engineers and others to collaborate and co-ordinate their product design and manufacture.

Such systems would manage software to be used in the following areas - Knowledge Management, Decision support, and Simulation. A translation mechanism could provide automated translation from a model provided by the user, or by other systems into the software, ontology, and database representation. Any required calculations would then be made and translated to provide a model that can be interpreted by users. Johnson (2004) explains that successful interaction requires mapping between levels of abstractions and that translation between the levels of abstraction required by users and computers is difficult. He explains that this problem often means systems are created that make the user cope with the problems of this mis-translation. Research can solve this problem by giving users more involvement in the translation process by letting them interactively model the problem themselves until they are satisfied with the solution. This allows the user to establish "common ground" with the computer, an expression used by Johnson. Nurminen et al (2003) evaluate a system called NICAD that used calculation rules in this manner. Nurminen et al emphasize that successful expert systems have in common that they put user needs at the centre of a fast and agile development process. The authors explain that users prefer usability over automation, and that users should drive the more difficult tasks where they are needed and leave routine tasks to the system.

The Semantic Web has massive potential that is as yet only partially realised. The problem that needs to be solved is that of creating or using Semantic Web applications in large highly complex organisations, or collaborations to pull together information from diverse sources, and enable it to be used for modelling problems. Researchers should examine ways of structuring information, and enabling processing and searching of the information to provide a modelling capability.This work should also investigates increasing user involvement in software, and the possibility of providing templates to enable non-programmers to develop modelling software for the purposes that interest them. It is very important to involve users in software development (Olsson, 2004). To assist in this project, it is essential that new ways of enabling collaboration between all those involved in software creation and use are investigated. Johnson et al (2003) and Johnson (2004) examine how this kind of collaboration can be achieved and tested. The main advantage of the open standard representation of information provided by the Semantic Web is that information can be transferred from one application to another. Additionally it provides a layered architecture that allows for a stepped translation from user to computer and back to the user for conveying results of a modelling run.

References

Cheung, W. M., Matthews, P. C., Gao, J. X., Maropoulos, P. G., 2007. Advanced product development integration architecture: an out-of-box solution to support distributed production networks. International Journal of Production Research March 2007.

Johnson, P., 2004. Interactions, Collaborations and breakdowns. In: ACM International Conference Proceeding Series; Proceedings of the 3rd annual conference on Task models and diagrams Vol 86 Prague, Czech Republic.

Johnson, P., May, J., Johnson, H., 2003. Introduction to Multiple Collaborative Tasks. In: ACM Transactions on Computer-Human Interaction (TOCHI), Volume 10 (4) December 2003 pp 277-280.

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.

Nurminen, J. K., Karaonen, O., Hatonen, K., 2003. What makes expert systems survive over 10 years-empirical evaluation of several engineering applications. Expert Systems with Applications 24(2) pp 199-211.

Olsson, E., 2004. What active users and designers contribute in the design process. Interacting with Computers 16, pp 377-401.

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.

My Research - http://www.cems.uwe.ac.uk/~phale/

Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/Modelling.htm

Monday, January 08, 2007

Structured Representation of Information

The Need for Ontologies


Information is scattered within organisations and often not held in such a structured way as to be easily accessed by employees or software. This problem was examined by Lau et al (2005) using the example of McDonnell Douglas (now part of Boeing), that demonstrated how difficult it is to gather unstructured knowledge. Therefore, it is important that research is undertaken into methods of capturing, structuring, distributing, analysing, and visualising information.


Taxonomies, Ontologies and Structuring of Information


An ontology is a classification structure. A taxonomy can be just a convenient structure to assist programmers, or part of an overall 'thesaurus' which describes and agrees the meaning of things. This 'thesaurus' structure is the ontology and may contain one or more taxonomies. Engineers may have different names for the same thing, e.g. wing skin stiffeners may be referred to as stringers, but rib stiffeners are never called stringers. There is a relationship of stringer to stiffener, which needs to be defined, and this definition depends on the context. A classification scheme or ontology is necessary in order to make communication precise. Such an ontology can also be used to help non-specialists to understand the terminology of a particular domain. The ontology can also enable communication between the computer systems and users. Hunter (2002) explains how taxonomies can be the basis of the definitions for an ontology, and that commercial software is available. Hunter gives examples of the Ministry of Defense technology taxonomy, and the Boeing online ontology. The taxonomy "Type-Of" and "Part-Of" relationships can indicate how to construct the taxonomy. Veryard (2001) and McGuinness (2000) provide useful guides on how ontologies can assist in linking distributed data. This linking and connectivity is also explained in 'Ontologies and Semantics for Seamless Connectivity' Uschold and Gruninger (2004).


Knowledge based systems need to allow a variety of people in different disciplines to share knowledge across functional, departmental, and disciplinary boundaries. Consideration is needed of the further problem that certain knowledge should be shared with others outside the organisation such as suppliers, and customers.


There is a strong need for uniting of the approaches of top down ontology definition by a small group of experts with that of the bottom up approach of allowing all users to define the ontology. Software applications are needed that allow users with little software knowledge to edit and update ontologies themselves. The extent to which an organisation allows this depends on its structure but if this is completely prevented or not enabled in the first place, there will be user dissatisfaction resulting from their lack of involvement. It is also likely that progress in defining and editing the ontology would be delayed.


The varied user base of knowledge systems results in a further problem, which is that of fragmentation of the language itself. As the users are in different trades and professions they will not necessarily understand the same words, or assign to them the same meaning. Again this makes it necessary to structure the information in a knowledge-based system carefully, to ensure it can be well visualised, and agreements can be reached.


Relationships between terms such as type-of, and part-of become more important than the term itself, as the relationship defines the meaning of the term by relating it to the other terms. These relationships can then be represented in diagrammatic form and navigated, in order to allow the meaning of terms to be agreed and explained. A classification structure such as this is termed the ontology.


My objective is to build a catalogue and make use of it for decision support and costing systems, while demonstrating that the same approach could be used for other types of system(s). It is essential that this catalogue can query information from organisations' existing database systems. Most large organisations have key operational knowledge and information dispersed across different types of information systems, often in relational databases. This has the advantage of allowing the use of the standardised language Structured Query Language (SQL) to access this information.


This research is explained in greater depth at http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm and http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm.


References


Hunter, A., 2002. Engineering Ontologies http://www.cs.ucl.ac.uk/staff/a.hunter/tradepress/eng.html.


Lau, H. C. W., Ning, A., Pun, K. F., Chin, K. S., Ip, W. H., 2005. A knowledge-based system to support procurement decision. Journal of Knowledge Management, 9(1), pp 87-100.


McGuinness, D. L., 2000. Conceptual Modeling for Distributed Ontology Environments. Proceedings of the Eighth International Conference on Conceptual Structures Logical, Linguistic, and Computational Issues (ICCS 2000), Darmstadt, Germany. August 14-18, 2000.


Uschold, M., Gruninger, M., 2004. Ontologies and Semantics for Seamless Connectivity, Association for Computer Machinery - Special Interest Group on Management of Data - SIGMOD Record December, 33(4).


Veryard R., 1994. Data Mappings http://www.users.globalnet.co.uk/~rxv/infomgt/datamapping.pdf - Soap Box Blog, 2006 http://www.users.globalnet.co.uk/~rxv/so/2006/11/semantic-coupling.htm.