Wednesday, November 22, 2006

Modelling and Semantic Web Methodology

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.

Tuesday, November 14, 2006

Meta Programming to create a modelling system

A requirement of this research is that open standard semantic languages are used to represent information, to be used both as input and output of the model. These languages are based on XML. Also the open standard languages can be used for developing the program code of models. It is proposed that software, and information represented by the software, be separated but represented in the same open standard searchable way. Software and the information it manipulates are just information that has different uses, there is no reason why a model must be represented differently from the taxonomy which represents it. So XML can be used both as the information processed by the application, and the application itself. This enables a recursive relationship between the model and the taxonomy. This recursion makes 'meta-programming' possible. Meta programming is the writing of programs by other programs. The purpose of this is to provide a cascading series of layers that translate a relatively easy to use visual representation of a problem to be modelled, into code that can be run by present day compilers and interpreters. This is to make it easier for computer literate non-programmers to specify instructions to a computer, without learning and writing code in computer languages. To achieve this, any layer of software or information must be able to read the code or the information represented in any other. Code and information are only separated out as a matter of design choice to aid human comprehension; they can be represented in the same way using the same kinds of open standard languages.

The diagram below illustrates the aim of having a two way translation between all levels in a hierarchy of translation between human and computer, and between different software environments. This definition from Wikipedia [1] and used in this paper by Simons and Parmee [2] explains the aim - 'a kind of action that occurs as two or more objects have an effect on each other. The idea of a two-way effect is essential to the concept of interaction, as opposed to a one way causal effect. Combinations of many simple interactions can lead to surprising emergent phenomena'. This communications could improve opportunities for end user modelling and programming, sharing of information, and education of both users and computer software. The analogy of educating computer software to do what the user intends is called programming by demonstration in Watch What I Do: Programming by Demonstration [3]. The user has the role of an educator of the software which acts as an apprentice to learn what is required. The user is thus able to instruct the software and so program.

The diagram shows the communication between a high level representation the user provides, to the computer, and back to the user.

Figure - Translation Process

1 Wikipedia, http://en.wikipedia.org/wiki/Interaction, Interaction (2006).

2 C. L. Simons, I. C., Parmee, http://www.cems.uwe.ac.uk/~clsimons/Publications/CooperativeInteraction.pdf, A manifesto for cooperative human / machine interaction (2006).

3 A. Cypher, 1993, Watch What I Do Programming by Demonstration, MIT Press, http://www.acypher.com/wwid/ ISBN:0262032139.

Thursday, November 02, 2006

Related Research

In addition to the use of open standard ontology language it's also possible to use agreed semantics for the domain of engineering modelling. The language most relevant for this purpose is the Process Specification Language (PSL) of the National Institute of Standards and Technology (NIST). A representation of this PSL-XML [1] can be used with OWL, both OWL and PSL-XML are based on RDF-XML (Resource Description Framework) implemented with XML (eXtensible Markup Language). This makes our translation process simpler and can enable interaction with other systems.

Collaboration, simulation and modelling have been investigated to assist us in determining the requirements for future research in modelling of problems. Huhns [2] and Paternò [3] both explain that alternatives to the current approach to software development are required. This should allow translation from a model-based representation of software to the actual software. This could involve automatically producing software for a semantic web site from visual representations of the problem. The core of this modelling infrastructure would be automated generation of models written using World Wide Web Consortium (W3C) standards based languages and the visualisation of information represented in such W3C standard ways. We have examined modelling languages such as Alloy [4] Wallace [5], in order to establish how modelling languages can be used as an interface to an End-User Programming environment. Transformation from a model building environment to program code has been investigated by Gray et al [6]. MathML [7] can assist in this process by providing an open representation of functions as XML. Functions entered by the model developer can then be translated to this open representation and translated to programming languages and/or read by programming languages. The representation of functions and information can sometimes be illustrated diagrammatically. In the mid 1970s Smith [8] introduced the technique of Programming by Example with a program called Pygmalion, Smith elaborated on this in [9] (Chapter 1). This demonstrated the need to describe algorithms through concrete examples rather than abstractly. Guibert et al [10] explain and expands on Smiths work with an example demonstrating how numbers fail to reveal the concept behind them. The example is a numerical representation of a triangle. This representation is 'fregean' because it does not show the concept of a triangle. Next to this is a diagram of the triangle that does show the concept, this is referred to as 'analogical' representation because it includes the context of the information. Including the context of the information allows a person to discover meanings or relationships in the information which would not always be obvious. Semantic web languages allow for the context of the information to be represented in documents and so make it possible to represent information in an analogical way, as well as allowing the kind of two way interaction mentioned in section 2.1, leading to an improvement in information discovery. This is the theory behind our conversions to interactive SVG (Scalable Vector Graphics) and tree based representations of information and functions [11][12].
An open standards web driven method of collaboration is required to make it possible for organisations and individuals to become more deeply involved in projects that are well coordinated using web technologies. Morris et al. [13] examine Interactivity and collaboration on the web. Aziz et al. [14] examine how open standards software can assist in an organisation's collaborative product development. This approach is outlined in Ciancarini et al. [15] that explains ways of designing a document-centric coordination application over the Internet. Nidamarthi et al. [16] explain how web based collaboration can aid the design process. Huang and Mak [17] evaluate issues in the development and implementation of web applications for product design and manufacture. Reed et al. [18] show how web based modelling and simulation can be used in the aircraft design process. Kim et al. [19] explain their approach to modelling and simulation. Zhang et al. [20] review Internet-based product information sharing and visualisation. Li [21] examines the role of web based services for distributed process planning optimization.
The intention is to further the research of others into the approach of web based collaboration, and use semantic web software and techniques to achieve this. The above research reinforced our view that this is a robust approach. Modelling collaborations based on these techniques would bring together experts in engineering, systems modelling, computing, and Human Computer Interaction.

[1] Lubell J, 2006 http://ats.nist.gov/psl/xml/process-descriptions.html - XML Representation of Process Descriptions
[2] Huhns, M. (2001) Interaction-Oriented Software Development, International Journal of Software Engineering and Knowledge Engineering, 11 259-279.
[3] Paternò, F. (2005) Model-based tools for pervasive usability. Interacting with Computers 17 (3), 291-315.
[4] Alloy http://alloy.mit.edu/ The Alloy Analyzer - 3.0 Beta
[5] Wallace C. (2003) Using Alloy in process modelling. Information and Software Technology, Vol. 45 (15), 1031-1043.
[6] Gray J, Zhang J, Lin Y, Roychoudhury S, Wu H, Sudarsan R, Gokhale A, Neema S, Shi F, and Bapty T, Model-Driven Program Transformation of a Large Avionics Framework, 2004, Third International Conference on Generative Programming and Component Engineering GPCE.
[7] W3C Math Home - http://www.w3.org/Math/Overview.html - What is MathML?
[8] Smith, D. C. (1977) A Computer Program to Model and Stimulate Creative Thought. Basel: Birkhauser.
[9] Guibert N, Girard P, Guittet L, (2004), Example-based Programming: a pertinent visual approach for learning to program, University of Poitiers, Proceedings of the working conference on Advanced visual interfaces - Pages: 358 - 361 - ISBN:1-58113-867-9.
[10] Cypher, A, 1993, Watch What I Do Programming by Demonstration, MIT Press, ISBN:0262032139.
[11] Hale P, http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm - Spar - Tree based representation
[12] Hale P, http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm - Interactive Examples
[13] Morris, S., Neilson, I., Charlton, C., Little, J. (2001) Interactivity and collaboration on the WWW - is the 'WWW shell' sufficient?. Interacting with Computers, 13, 717-730.
[14] 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, 56, 260-271.
[15] Ciancarini, P. & Rossi, D. & Vitali, F. (2001) Designing a document-centric coordination application over the Internet. Interacting with Computers, 13 677-693.
[16] Nidamarthi S., Allen R. H., Ram D. S. (2001) Observations from supplementing the traditional design process via Internet-based collaboration tools, Computer Integrated Manufacturing, 14 (1), 95-107.
[17] Huang, G. Q., Mak, K. L. (2001) Issues in the development and implementation of web applications for product design and manufacture. Computer Integrated Manufacturing, 14 (1), 125-135.
[18] Reed, J. A., Follen, G. J., Afjeh A. A. (2000) Improving the Aircraft Design Process Using Web-Based Modeling and Simulation. ACM Transactions on Modeling and Computer Simulation, 10 (1), 58-83.
[19] Kim Y., Choi Y., Bong Yoo S. (2001) Brokering and 3D collaborative viewing of mechanical part models on the Web, Computer Integrated Manufacturing, 14 (1), 28-41.
[20] Zhang, S., Weimen, S., Hamada, G. (2004) A review of Internet-based product information sharing and visualization. Computers in Industry, 54, 1-15.
[21] Li, W. D. (2005) A Web-based service for distributed process planning optimization. Computers in Industry, 56, 272-288.