Showing posts with label models. Show all posts
Showing posts with label models. Show all posts

Tuesday, September 29, 2009

User Driven Modelling Explanation - Cube

This example was provided to illustrate the structure and process for creating the ontology, model, and visualisation/representation used for translation process from step 1 to step 3, for the User Driven Modelling approach. This also helps to demonstrate how the research provides a solution for generic and reusable engineering modelling, by providing a real but simple demonstration of this modelling approach being used for an engineering model.

The cube model, as for all the engineering/process models is made up of the definition, in this case of the cube, and a colour coded representation of all the processes, materials, tooling, consumables, resources, and rates used for the manufacture of the cube; these are read in from the ontology in response to user choices. This makes it possible to investigate scenarios such as in this case whether to manufacture using welding, or riveting, and different options for use of tooling, consumables, resources, and rates. From investigating different options, different trees are created to represent different paths/options, and from this the production cost tree is created with results and feedback on exactly what made up the process/cost. Figure 1 illustrates how the different sub ontologies/taxonomies are colour coded in order to ensure it is easier to read the meaning of the tree and the interrelationships between the different aspects of the model.



Figure 1 Cube model example - illustrates choice of process etc.

In this example, aluminium was chosen as the material, and riveting was chosen as the process. This example also illustrates how the Vanguard System modelling tool automatically combines units appropriately.

Figure 2 shows the cube translated and visualised using SVG (Scalable Vector Graphics).

Figure 2. Translation to SVG Visualisation
This shows the interactive version of the diagram that works in Internet Explorer using the Adobe SVG viewer 3 http://www.cems.uwe.ac.uk/~phale/SVGCubeExample/CubePartDefinitionwithCosts.htm - SVG Viewer download - http://www.adobe.com/svg/viewer/install/.

Next the implementation of this research was illustrated with the more complex example of an aircraft wingbox, using the same approach.

Saturday, July 11, 2009

User Driven Modelling Explanation - Cube

Following on from the previous simpleast example of a rectangle, this example is of a cube, and includes manufacturing process information in the model.

This example is provided to illustrate the structure and process for creating the ontology, model, and visualisation/representation used for this 3 step translation process.

The cube model, as for all the engineering/process models is made up of the definition of the cube, and a colour coded representation of all the processes, materials, tooling, consumables, resources, and rates used for the manufacture of the cube; these are read in from the ontology in response to user choices. This makes it possible to investigate scenarios such as in this case whether to manufacture using welding, or riveting, and different options for use of tooling, consumables, resources, and rates. From investigating different options, different trees are created to represent different paths/options, and from this the production cost tree is created with results and feedback on exactly what made up the process/cost. Figure 1 illustrates how the different sub ontologies/taxonomies are colour coded in order to ensure it is easier to read the meaning of the tree and the interrelationships between the different aspects of the model.



Figure 1. Cube model example - Illustrates choice of process etc.

In this example, aluminium was chosen as the material, and riveting was chosen as the process. This example also illustrates how the Vanguard System modelling tool automatically combines units appropriately. Figure 2 shows the cube translated and visualised using SVG (Scalable Vector Graphics).
Figure 2. Translation to SVG Visualisation
This shows the interactive version of the diagram that works in Internet Explorer using the Adobe SVG viewer 3 http://www.cems.uwe.ac.uk/~phale/SVGCubeExample/CubePartDefinitionwithCosts.htm - SVG Viewer download - http://www.adobe.com/svg/viewer/install/.

Tuesday, November 18, 2008

Economic Models 2

These economic models are constructed and translated in a different way from object oriented programming. There is no clear distinction between classes and objects, as a class only becomes an instance gradually as translations are made, and the models are visualised and represented to users.

At present the main focus is on extending the translation to interactive representations in Java and JavaScript. These will allow users to amend the parameter values of models and to see the result recalculated.

Once all or most of the translations are fully working, I'll concentrate on adding multiple models. Each model could then be translated automatically to many different visualisations/representations. I'll concentrate mainly on economic models, but might also eventually include other kinds of equation based models.

Economic Models - previous post - http://userdrivenmodelling.blogspot.com/2008/11/economic-models.html.

Economic Models Example -
http://www.cems.uwe.ac.uk/~phale/EconomicModels/ModelsVisualised.htm.

Java Applet Example - http://www.cems.uwe.ac.uk/~phale/EconomicModels/Bized/ConsumptionFunctionVanguardOutput/ConsumptionFunctionVanguardOutputInteractive/build/ConsumptionFunctionModelJavaAppletVanguardInteractive.html.

Demonstraion of Economic Model - Consumption Function - Java representation - automatically translated

Tuesday, November 11, 2008

Economic Models

In order to prove the concept that User Driven Modelling is applicable to domains outside engineering, I'm developing economic models using the same kind of translation technique as I used for engineering models. Models are created in the Vanguard System (http://www.vanguardsw.com/) modelling tool, and can be imported to this from Protégé http://protege.stanford.edu/, via nested SQL queries. Vanguard System performs the calculations necessary for the economic model.

The next step is to visualise the Models in the web browser, and in various languages, to show the concept of multiple language implementations being created from one model. These multiple language implementations all share the same semantics and provide a tree based representation of this semantics.

These are demonstrated at http://www.cems.uwe.ac.uk/~phale/EconomicModels/ModelsVisualised.htm, different representations are provides, so that hopefully at least one representation is accessible to the various web browsers. So far there is an XML, HTML, and Java Applet representation. My intention is to extend both the representation of models and the number and type of models represented, until there is a large grid of models, and representations. Options for extending the representation are to JavaScript, SVG, RSS, RDF, and meta programs, and to increase, the interactivity/editability of the models.

This technique should allow automated creation of many models and language representations of them automatically, using one set of model code outputters/translators.

I'm getting the economic models from Biz/ed - http://www.bized.co.uk/educators/he/spreadsheet/section_1.htm. Eventually I might extend this to other types of models as well as engineering and economic models.

The implementation of the models is at http://www.cems.uwe.ac.uk/~phale/EconomicModels/ModelsVisualised.htm.

Friday, June 01, 2007

User Driven Modelling

In order to make user driven modelling and programming possible, it is essential that a communication mechanism is established, which allows users to generate changes and receive changes generated by the modelling system.


Types of Change


There are two types of change that can be applied to the model driven programming system, User Generated, and Model Generated.


User Generated


Figure 1 shows a user initiating a change, which is to delete a node from the bottom left and attach a new node to a branch in the top tight. The tree is translated to structured text, and this is further translated to Code.


User Generated Change.


Figure 1 - User Generated Change


For the second user generated change shown in figure 2 an object represented by a tree is visualised as a diagram. The user can amend either the diagram or the tree, in either case the change is filtered to the alternative representation and translated to the structured text and code.


User Generated Change, Alternative Interfaces.


Figure 2 - User Generated Change, Alternative Interfaces


Model Generated


A model generated change is initiated by the model itself, which changes the code and the structured text in response to a calculation (that may have been requested by the user). The model passes a translated result tree to the user interface to let the user know that the recalculations have been finished, and give the user the results using a suitable visualisation. This is shown in figure 3.


Model Generated Change.


Figure 3 - Model Generated Change


More Information on this research is available on my Website at http://www.cems.uwe.ac.uk/~phale/.


and on my End user programming page at http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.

Thursday, March 22, 2007

Creating Software Systems For End User Modelling

It is important to make it possible for users to program software without having to write code. This relies on visualisation of the problem in a similar way to modelling. So to make this approach possible it's necessary to look to develop free models and modelling tools for use over the Web. These can be used for teaching, collaborative problem solving, management decision making, and environmental modelling. The techniques used to build these models are often called Semantic Web or Web 2.0. This involves providing the kind of software over the Web that is already available on individual computers, and using this for sharing of information worldwide. These kind of models change in response to the user, perform calculations, and range from dynamic computer aided design (CAD) type representations to hierarchical information explorers.

More generally a new approach is required to software creation. This approach should involve developers creating software systems that enable users to perform high level programming and model the problem for which they are the experts. This is an alternative to the provision by developers of modelling solutions that try to provide an out of the box solution that just needs 'tweaking'. Such systems are impractical considering both increases in complexity of manufactured products, and of software systems themselves. People like to work on their own solutions providing they are computer literate and confident they have domain knowledge that the developers do not possess. This is true for software development in general, not just in the domain of engineering.

Example models are at:
http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm
http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm