Automated provision of a generic modelling system (4ER)
Summary (4ES)
The Systems Engineering Estimation and Decision Support (SEEDS) team at UWE http://www.cems.uwe.ac.uk/amrc/seeds/ is involved in cost modelling solutions, particularly for aerospace. The SEEDS teams' expertise is in applying techniques in managing, categorising and visualising information to support costing of complex products within the aerospace sector. The tools and techniques we provide can be applicable to organisations outside this field. We are experienced at liasing with industrial partners to ensure SEEDS projects meet their needs and so have a successful outcome. SEEDS main area of research is in software techniques for analysing and reporting on the costs involved in design and manufacture of products, and integrating such tools into the infrastructure that exists in an organisation. We are involved in cost modelling solutions, and have experience of working with aerospace organisations. We have been working with Rolls-Royce aerospace and Airbus (4LK)
Protege is used as a catalogue and ontology for holding the information required for cost modelling, and this information is used in SEEDS cost models. SEEDS work with Rolls-Royce and Airbus towards providing this sort of functionality is explained. In software projects there is often a mismatch between what is required from users of software and what is actually provided. SEEDS' approach involves the automation of the programming task, which could help solve this problem. We call this approach User Driven Programming. This research could give computer literate users the tool to enable them to drive the creation of software. SEEDS research and implementation is demonstrated through an example of aircraft wing cost modelling. (4ET)
Homepage (4EJ)
http://www.cems.uwe.ac.uk/~phale/ (4EU)
was part of SEEDS team (4NE)
http://www.cems.uwe.ac.uk/amrc/seeds/ (4NF)
Now part of Centre for Complex Cooperative Systems (C3S) (AF1)
http://www.cems.uwe.ac.uk/cccs/ (AF2)
Description (4EV)
The rule-based DecisionPro system (Now Vanguard Studio) is used to extract and reproduce the Protege hierarchy. This Decision Support system also provides all the calculations and decisions required to cost a part. One of the important factors in choosing DecisionPro (Vanguard Studio) was its’ ability to deal with uncertainty via statistical techniques such as Monte-Carlo analysis. The current research uses a technique of interpreting information in order to create DecisionPro (Vanguard Studio) 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 DecisionPro (Vanguard Studio) programme into other languages. The basis of this is that Elaborators are nodes in the tree, which are automatically created and dynamically write objects. Therefore these take the place of factory classes in object oriented languages. The Diagram below outlines the way we use this approach. (4EX)
Christophe Bru (a member of the SEEDS team) has been using this approach to create a cost map that breaks down costs into individual joined nodes whose properties vary according to cost, time, and uncertainty http://www.cems.uwe.ac.uk/~cbru/. His web pages show this output as SVG and other formats for display The question then is what information is needed to create the elaborator and enable it to write the correct code in the language to be used e.g. DecisionPro (Vanguard Studio), Java, or a meta-programming syntax. In SEEDS research we have found 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. Databases or structured text file(s). This is the ontology, a visual interface to this ontology is required so that an administrator can maintain and extend it. This is what Protege is used for. (4EY)
In order to be created and used each node (elaborator) needs to be provided the following pieces of information - (4EZ)
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 user interface to enable this is connected to and reads from the ontology. (4F0)
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. (4F1)
3 Ability to read a list of functions held in a standardised mathematical form. These could be held as a structured mathematical description within the ontology. (4F2)
4 Basic rules of syntax for the language of the code to be output. (4F3)
The way the elaborator finds the information held in 2 and 3 is dependant on the action taken in 1. Thus if a suitable ontology is created and the basis of the rules of construction of the code to be created are defined (4), the user needs to take no further action and just wait for the necessary code to be output. (4F4)
It is useful to completely standardise the way the ontology is represented, particularly this allows for the use of recursive code and an indefinite number of levels. For example to represent processes and operations we need only one table called processes. Operations are treated exactly as processes but are further down the tree. This allows for the standardisation of the elaborators, so they can be reusable for different models and for different types of information. (4F5)
A Protege ontology for costing a wing spar has been created and this has been translated to DecisionPro (Vanguard Studio) and Java. These programs can be used to calculate and display the cost of this spar, and a full explanation of how this cost was obtained. This explanation is visualised in a colour coded tree representation that presents the part definition, materials, manufacturing processes, tooling, and cost rates. Though an aerospace costing example was used this technique is applicable to any domain. (4F7)
Capturing of domain experts’ knowledge in an ontology through a visual user interface, means the automation of the software solution enables all involved in a project to concentrate on the model rather than the modelling syntax. The use of open standards and the ability of Protege to output in many W3C compliant formats and to relational databases helps to ensure any Protege models and programs created from them can share information. (4F6)
Further research undertaken is on defining and visualising interactive diagrams of components based on the Protege and DecisionPro (Vanguard Studio) wing information. This information is represented in the interactive diagram using Scalable Vector Graphics (SVG) and Javascript. An example is shown below, this is based on the wing box bottom skin. (4LL)
A web interface has been developed for Protégé WebProtege http://protege.cim3.net/cgi-bin/wiki.pl?WebProtege. An example of the use of this is shown here - where I used WebProtege to create an ontology and a search is made for information on the cure cycle for composites manufacturing. This search is possible as WebProtege has succeeded in providing a web based interface for displaying ans searching ontologies, so providing an additional way to enable web access to the test ontologies created for my thesis. (AEZ)
Members (4LM)
Christophe Bru - http://www.cems.uwe.ac.uk/~cbru/ (880) (AE4)
Tushar Daine - http://www.cems.uwe.ac.uk/amrc/seeds/TusharDaine.htm (881) (AE5)
David Evans - http://www.cems.uwe.ac.uk/amrc/seeds/DavidEvans.htm (882) (AE6)
Peter Hale - http://www.cems.uwe.ac.uk/~phale/ (883) (AE7)
Martin Jonik - http://www.cems.uwe.ac.uk/amrc/seeds/MartinJonik.htm (884) (AE8)
John Lanham - http://www.cems.uwe.ac.uk/amrc/seeds/JLanham.htm (885) (AE9)
Robert Marsh - http://www.cems.uwe.ac.uk/amrc/seeds/RobMarsh.htm (886) (AEA)
Chris Wallace - http://www.cems.uwe.ac.uk/~cjwallac/ (887) (AEB)
Terry Winnington - http://www.cems.uwe.ac.uk/~tlwinnin/Main_Page/index.html (AEC)
(4LN)
(4EW)