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.

Saturday, December 13, 2008

Automation of knowledge representation and modelling

Knowledge management is a combination of the domains information is applied to and the technology used to represent this knowledge. The main domains I'm involved for representing this knowledge are engineering (process and design), and economics. The Semantic Web is key to this, but the Semantic web also involves many back end computing technologies such as databases/ontologies, and software tools/translation to represent this semantics/knowledge. To test this approach an application is necessary, to show benefits of the Semantic Web/knowledge management, and a way of testing it on the above domain. For my work, this problem used for testing is modelling, but in order to enable modelling using computing technologies, it is essential to make the modelling tools available to as great a range as possible of end-users. So this brings in the need for end-user programming, as to create models, it is necessary to program.

So my research area is as in the shaded ares of the diagram below -









Knowledge management and modelling are time consuming and difficult, this is only partly because of the technologies used, but my research focusses mainly on the technologies. When there are problems in keeping up with the needs of people, such as productivity problems in manufacturing, one of the solutions has been to mechanise this. So the mechanism I'm working on applies this idea to software. I'm working on enabling modelling, and programming for modelling, and what is necessary to ease this problem is provision of a machine. This machine undertakes translation and automated production of models from information. This is similar to the ideas behind virtual machines, interpreters, compilers, and UML tools, but there is more interaction with the users in the tools created for this research. So this enables customisation, at the same time as automation.
More explanation of this research is at - http://sites.google.com/site/userdrivenmodellingprogramming/.

Friday, December 05, 2008

User Driven Modelling - Applications

This visual modelling is similar to collaborative spreadsheet modelling, but for these research models the visualisation and the code structure are exactly the same. This means users effectively can see an audit trail at all times in the modelling, and that the gap between those that program/model, and users is reduced. This makes both computing automated translation, and human collaboration/domain translation easier. This research is mainly aimed at users whose models/programs are too complex for spreadsheets. This means that themselves and other modellers/users lose track of information. These modellers/users often do not have the time and/or facilities for the programming tasks they need.

Automated translation and visualisation of models is essential as if they are manually copied by humans, there are almost certain to be errors in the copying of any large model to a different system. For such models an error anywhere in the model makes the result wrong. Visualising over collaborative networks, and of the whole structure also allows those responsible for checking and maintenance of each individual part of it to spot any mistakes, so this again acts as an effective audit trail.

Demonstration interactive models are shown at - http://www.cems.uwe.ac.uk/~phale/EconomicModels/ModelsVisualised.htm.