Showing posts with label Taxonomy. Show all posts
Showing posts with label Taxonomy. Show all posts

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.

Sunday, January 13, 2008

Web Taxonomy Creation

An important contribution to Public Understanding of Science and for enabling of new insights would be creation of an online systematic representation of scientific information that gives a holistic view of related knowledge. This would reuse information and ideas provided by other researchers. These systems organise and visualise information. Letondal [1] of the Pasteur Institute provides a tool to generate web interfaces for molecular biology programs using an end-user programming approach. TreeBASE [2] is a relational database of phylogenetic information hosted by the Yale Peabody museum. Hughes [3] of the Computational Biology Unit (CBU) University of Bergen has investigated visualisation of phylogenetic trees and written an application that converts the NCBI (National Center for Biotechnology Information) [4] taxonomic data into a format that makes it possible to visualise the whole of the NCBI tree of life. Klyne [5] of the Image Bioinformatics Research Group, Zoology Department, Oxford University makes use of Semantic Web technology to build an image publication repository. UK Moths [6] online guide to the moths of Great Britain and Ireland illustrates the role of amateurs who send in pictures to be categorised. Mammals Family tree [7] provides an innovative way of visualising complex trees as a taxonomy on a wheel, this is a technique which could be developed as an interactive visualization. Fishbase [8] is a web accessible and searchable resource for accessing fish information by various categories. IHOP (Information hyperlinked over Proteins) by Hoffman [9] provides a gene network for navigating more than ten million abstracts in PubMed [4]. By using genes and proteins as hyperlinks between sentences and abstracts, this converts the information in PubMed into one navigable resource. Proviision of 3D hyperbolic representations of trees is investigates by Hughes et al [10]. This capability could be provided on the web using Semantic Web Technologies [11] [12] and this would enable others to edit and interact with these represenatations.

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


References

[1] Letondal C. - http://www.pasteur.fr/~letondal/ - Pasteur Institute, Computing Center.
[2] TreeBASE - http://www.treebase.org/treebase/index.html - a Database of Phylogenetic Knowledge.
[3] Hughes T. Phylogenetic tree visualisation - Tim's Home Page - http://www.ii.uib.no/~tim/frontPages/treesPage.shtml.
[4] Wheeler DL, Chappey C, Lash AE, Leipe DD, Madden TL, Schuler GD, Tatusova TA, Rapp BA (2000). Database resources of the National Center for Biotechnology Information. Nucleic Acids Res 2000 Jan 1;28(1):10-4
[5] Klyne G, 2007, Building a Semantic Web accessible image publication repository - http://imageweb.zoo.ox.ac.uk/drupal/files/20071002-SWeb-applications.pdf - Image Bioinformatics Research Group - Zoology Department - Oxford University.
[6] UKMoths - http://www.ukmoths.org.uk/ - Welcome to UKMoths, your online guide to the moths of Great Britain and Ireland.
[7] Mammals family tree - Use zoom tool to see mammal details on the circle's edge - http://news.bbc.co.uk/1/hi/sci/tech/6503045.stm - BBC News Science - Mammal rise 'not linked' to dinos - PDF Family tree visualisation.
[8] Fishbase - http://www.fishbase.org/search.php.
[9] Hoffman R, Information hyperlinked over Proteins - http://www.ihop-net.org/UniPub/iHOP/ - A gene network for navigating the literature.
[10] Hughes T, Hyun Y and Liberles, 2004. Visualising very large phylogenetic trees in three dimensional hyperbolic space. DA. BMC Bioinformatics. BMC Bioinformatics Apr 29;5:48.
[11] Eklund P, Roberts N, Green S, 2002. OntoRama: Browsing RDF Ontologies using a Hyperbolic-style Browser, The First International Symposium on Cyber Worlds, CW02, Theory and Practices, IEEE Press. (2002) pp 405-411.
[12] Talis Engage - http://www.talis.com/engage/ - Community information at your fingertips - an online community information solution that allows citizens to organise, create and publish details of their events, organisations and groups.

Monday, July 23, 2007

User Driven Modelling - Detailed Explanation - Part 5 - Conclusion

Comparison of the approach of developing decision support models using a spreadsheet, to the approach of User Driven Modelling, with open standards languages.

I compared the approach of developing decision support models using a spreadsheet, for design and costing, to the approach of User Driven Modelling, with open standards languages, and a web interface for this purpose. I conclude that the use of spreadsheets for this purpose is beset by problems. These relate to Maintenance, Extensibility, Ease of Use, and Sharing of Information.

But an alternative is required so modellers can continue their work without having to rely on software developers. The alternative approach involves development of a system, where a model builder, via visual editing of library taxonomies can undertake maintenance and extension of information. As yet a prototype only has been created for this, and a great deal more work is required to finalise the structure for the holding of this information, and agree standards for terminology. Also I need to provide more validation of user input.
However dealing with this proof of concept has indicated to us that it is far easier to maintain, search and share information using this approach than it is using spreadsheets. The ability to visualise, search and share the information using structured languages and web-pages, is a huge advantage, and allows us to create dynamic image views and decision support models over the web.

Home Page - http://www.cems.uwe.ac.uk/~phale/.
End User Programming - http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.
Semantic Web Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm.

Friday, July 20, 2007

User Driven Modelling - Detailed Explanation - Part 4 - Translation

For this research the focus is on combining the development of dynamic software created in response to user actions, with object oriented, rule based and semantic web techniques. This helps solve problems of mismatch of data between object oriented and relational database systems identified by Ambler [1]. The information is highly structured. Visualisation of this structure in order to represent the relationship between things clarifies the semantics. The meaning can be seen not just by the name of each item but also by the relationship of other items to it. It is envisaged that this taxonomy will provide a design costing capability, but the taxonomy and the techniques used to put it together could be re-used for other purposes. Eventually this taxonomy could become part of an overall ontology. At first this would be a light-weight ontology and this could be evaluated for usefulness before deciding on whether it would need to be more structured. Hunter [2] evaluates engineering ontologies and gives examples. Issues involved in visualisation of light weight ontologies are examined by Fluit et al. [3]. An important reason for creation of an open standards central ontology is that it can be accessed by many different applications. The open standard OWL (Web Ontology Language) is explained by Bechhofer and Carroll [4]. Research of others in this field have been investigated Corcho and Gómez-Pérez [5] and Corcho et al. [6], Noy [7].

The approach involves adapting or creating software systems to provide the visual editor for the source tree, and model builders would create a model by editing this. By doing so they would create a generic model for a particular modelling subject. This is enabled by provision of translation software to translate the taxonomy into a decision support and modelling system. The model users could then use this decision support and modelling system to create their models. These models are a more specific subset of the generic model, and could be applied for their own analyses. Current research is on provision of a translation mechanism to convert information or models into other languages (primarily web based), and to visualise this information. This mechanism has been used in projects with two major aerospace companies. Examples of this are shown later in the article.

The alternative approach involves creation of an elaborator that can output code, in various computer languages or a Meta-programming syntax such as metaL [8] or Simkin [9]. The elaborator needs only a few pieces of information. All information other than that dependant on user interaction, including the names of each node and its relationships to other nodes, needs to be held in a standardised data structure, e.g. a database or structured text file(s). A visual interface to this ontology is required so that model builders can maintain and extend it.
Each node (elaborator) needs to be provided with the following pieces of information -

1) A trigger sent as a result of user action. This is a variable containing a list of value(s) dependant on decisions or requests made by the user the last time the user took action. Each time the user makes a request or a decision, this causes the production of a tree or branch to represent this. This trigger variable is passed around the tree or branch as it is created. The interface to enable this is connected to and reads from the ontology.

2) Knowledge of the relationship between this node and its' immediate siblings e.g. parents, children, attributes. So the elaborator knows which other elaborators to send information to, or receive from.

3) Ability to read equations. These would be mathematical descriptions of a calculation that contains terms that are items in the ontology. The equation would be contained within an attribute of a class, e.g. The class Material Cost would have an attribute Material Cost Calculation that holds an equation.

4) Basic rules of syntax for the language of the code to be output.
The way the elaborator finds the information held in 2 and 3 is dependent on the action that is taken in 1. Thus, if a suitable ontology is created the basis of the rules of construction of the code to be created are defined 4, and the user has made choices, the user needs to take no further action and just wait for the necessary code to be output.

The translation mechanism is illustrated on my web site http://www.cems.uwe.ac.uk/~phale/ using a simple example - http://www.cems.uwe.ac.uk/~phale/RectangleDemo/RectangleDemo.viewlet/RectangleDemo_launcher.html.

References

1 Ambler, S. W. (2003). The Object-Relational Impedance Mismatch, http://www.agiledata.org/essays/impedanceMismatch.html.
2 Hunter, A. (2002). Engineering Ontologies, http://www.cs.ucl.ac.uk/staff/a.hunter/tradepress/eng.html.
3 Fluit, C., Marta S., Harmelen F. V. (2003). Supporting User Tasks through Visualisation of Light-weight Ontologies, http://www.cs.vu.nl/~frankh/abstracts/OntoHandbook03Viz.html.
4 Bechhofer, S. and Carrol, J. (2004). Parsing owl dl: trees or triples?, Proceedings of the 13th international conference on World Wide Web, NY, USA: 266 - 275.
5 Corcho, O. and Gómez-Pérez, A. (2000). A Roadmap to Ontology Specification Languages, Proceedings of the 12th International Conference on Knowledge Engineering and Knowledge Management, Chicago, USA.
6 Corcho, O., Fernández-López, M., Gómez-Pérez, A. (2003). Methodologies, Tools and Languages For Building Ontologies. Where is their Meeting Point?, Data and Knowledge Engineering, 46: 41-64.
7 Noy, N.F. (2004). Semantic Integration: A Survey Of Ontology-Based Approaches. SIGMOD Record, Special Issue on Semantic Integration, 33 (4).
8 Lemos, M. (2006). MetaL: An XML based Meta-Programming language, http://www.meta-language.net/.
9 Simkin. (2006). A high-level lightweight embeddable scripting language which works with Java or C++ and XML, http://www.simkin.co.uk/.

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

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.