The aim of our research is to enable decision support during product development, whilst minimising dependence on specialist software and detailed programming effort. The basis of this is an Ontology that can be visualised and edited in tree form. We are using the open standard Ontology tool Protégé from Stanford University. This Ontology can be translated into a Decision Support tool called DecisionPro (now renamed Vanguard System), which runs the model. Software we have created using DecisionPro allows calculations of the cost of a design to be made, and provides a colour-coded representation of the product tree. It is then possible to output this tree in the form of web pages, interactive diagrams and code in programming languages. It is possible to search the information both in Protégé and on the web as it is represented using searchable semantic web languages.
The background research has been on semantic web techniques that can be applied to this problem. The intention behind this research is to provide a tool that can be used by people who don't have access to CAD tools or other specialist software. It is to aid communication of product information throughout an organisation.
The Figure shows the methodology behind the semantic web modelling. The diagram explains the semantic web modelling process, at all stages from ontology to results visualisation. We have already prototyped all these stages, but have not yet developed a fully working modelling system to be used outside the university.
We have been using a Decision Support and Modelling tool provided by Vanguard Corporation [1], for calculation and modelling.
Semantic Web Modelling system
1. Connections are established between the ontology system and any databases, spreadsheets, or other systems that hold relevant information for that modelling problem.
2. The ontology is created using RDF/OWL [2], and an interface built to allow domain experts to edit the ontology.
3. Libraries are created in a partnership between ourselves and domain experts.
4. Taxonomies are populated by model builders who want to use them for their modelling problem. These are based on the libraries created in step 3.
5. Taxonomies are colour coded for ease of understanding, this part of the diagram was built with Vanguard system (explained below). We have created a link between the ontology tool and this decision support and calculation tool. Vanguard system reads information from the ontology tool.
6. There are 2 sorts of constraints that can be used in order to make it easier for users to build and adapt models. These are constraints on the way the ontology, and models are built, and user interface constraints to reduce the scope for error.
7. The colour coding makes calculation clearer because all taxonomies can be used in any calculation, this results in a multicoloured result tree that represents the entire calculation history. User choices affect how items are related for the calculation; choices could be made manually or via a search. Colour can also be used to represent cost, time, or uncertainty.
8. Each node can also represent uncertainty, and we have prototyped including uncertainty expressions in the calculations.
9. The result tree can be represented on the web and in other programs, this allows for further searching, processing and evaluation of results. Visualisation techniques and the use of searchable languages such as XML, and SVG can assist in this.
10. and 11. Experts such as designers can interact with the ontology, the model, and results, it's intended that there will be a two way feedback mechanism where the expert can make changes at any stage, and this filter into changed results. This can then support a cycle of results and rework.
Software that is been investigated for representing ontologies and translating to program code and visualisation is Stanford University's Protégé [3], Jena [4], and Kaon [5]. Applications that are built with ontology tools such as the above and include a development environment for calculation and decision support are Metatomix m3t4 [6], TopBraid Composer [7], and General Electric's ACUITy enterprise modelling tool [8]. These tools include Java Eclipse extensions for high level programming. We have also investigated transformations that can translate the ontology into representations in other languages and tools. We have prototyped this translation for decision support tools Vanguard System [1] and Cost Estimator [9], and languages including XML (eXtensible Mark-up Language), and Java. XML has mainly been used as a neutral format for representing information, but its rich structure makes it suitable for use as a programming language e.g. AspectXML [10]. Further research can be undertaken into representing the information in Meta languages such as metaL [11] and Simkin [12]. The result documents could be searched using XQuery within Exist [13] and SPARQL (Simple Protocol and RDF Query Language) [14] and edited using XForm editors such as Orbeon XForms [15].
References
[1] Vanguard System http://www.vanguardsw.com/products/vanguard-studio/.
[2] Bechhofer S., Carrol J. (2004) Parsing owl dl: trees or triples? Proceedings of the 13th international conference on World Wide Web, NY, USA pp 266 - 275.
[3] Protégé http://protege.stanford.edu/ - welcome to protégé.
[4] Jena http://jena.sourceforge.net/ - Jena - A Semantic Web Framework for Java.
[5] Kaon http://kaon.semanticweb.org/ - Welcome to KAON.
[6] Metatomix m3t4 http://www.metatomix.com/news/060307.html - Metatomix Provides Free Semantic Toolkit for Eclipse Developers Worldwide.
[7] TopBraid Composer http://www.topbraidcomposer.com/ - The Complete Semantic Modeling Toolset.
[8] Aragones, A., Bruno, J., Crapo, A., Garbiras M. (2006) An Ontology-Based Architecture for Adaptive Work-Centered User Interface Technology, Jena User Conference 2006, Bristol, UK - Paper - PDF Paper - Presentation - Powerpoint Presentation.
[9] Koonce, D., Judd, R., Keyser, T., Bailey, M. A. (2000) Cost Estimation Tool Integrated into FIPER, American Institute of Aeronautics and Astronautics http://www.engineous.com/resources.htm.
[10] AspectXML Project - http://www.aspectxml.org/.
[11] MetaL http://www.meta-language.net/ - MetaL: An XML based Meta-Programming language.
[12] Simkin. (2006). http://www.simkin.co.uk/ - A high-level lightweight embeddable scripting language which works with Java or C++ and XML.
[13] Exist http://exist.sourceforge.net/xquery.html - Open Source Native XML Database.
[14] SPARQL http://dret.net/glossary/sparql - Simple Protocol and RDF Query Language.
[15] Orbeon Xforms http://www.orbeon.com/ - Form-based web applications, done the right way.
3 comments:
Peter,
Just a note about a typo: towards the end of your post, I assume you meant "Orbeon XForms" instead if "Orbean XForms".
Alex
Very interesting PhD project. I am also interested in conceptual modeling in the Semantic Web. Look forward to watching more of your results and may have chances sharing ideas with you.
Good work.
Yihong Ding - Thank You. I'll have a look at your blog, as you're obviously in a related area of research.
Alessandro, Thank you, I've corrected the Typo, I'll check other documents in case it has the same mispelling.
Post a Comment