Showing posts with label Model Transformation. Show all posts
Showing posts with label Model Transformation. Show all posts

Monday, February 15, 2010

Translation between models/programs

As well as user to computer translation, an important area of research is similar semi-automated translation between computer programs and models. Much of the structure of programs/models is the same regardless of what particular programming language is used. Making translations of a program/model available on multiple systems by translation from one to the other eases maintenance and re-use and widens availability. Also involving users in such a process would enable sharing and understanding of models/programs, so aiding Decision Support.

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/.

Wednesday, June 03, 2009

Decision Support Tool Representation

It's important to close the gap between ontology representation and modelling and visualisation of problems. There is much more incentive to poulate an ontology or database if the information in this is automatically or semi automatically translated for use in modelling and decision support. Then those populating an ontology can see the benefits, and those creating or using models/programs based on the ontology can see where the inforamation is coming from.

Equations/formulae can be represented in the ontology, and then sent to the model which can then visualise them and calculate results. A Decision support tool called Vanguard System was used for this.

This screenshot illustrates how a decision support system tree view of the spar (wing part)branch from a wing process and cost model can be created with information translated from an ontology (in Protege) of related taxonomies (sub ontologies), and where necessary from user's selections (e.g. of materials). The tree, including all the default part definition information for the spar, is produced automatically. The buttons in the tree enable choices to be made by the user about materials, consumables, rates, and processes. Branches are created in response to these choices. The values in the branch nodes can then be changed as required.
Results can also then be output to the web for navigation and visualisation, and maybe for interactive web based modelling and visualisation.

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.

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.

Wednesday, January 09, 2008

Code Generation 2008 conference

Code Generation 2008 - http://www.codegeneration.net/conference/index.php - 25th-28th June 2008 - Cambridge, UK - A growing number of developers are using or planning to use model-based code generation - are you ready for the next evolutionary step in software? - WHO'S CG2008 FOR? - CG2008 is for software practitioners and those with a stake in the future of their development organisation.

Final Call for Speakers:
Submission Deadline: Friday January 18th 2008

We are seeking high-quality session proposals covering topics on
model-driven software development (including Software Factories,
Model-Driven Architecture (MDA), Domain-Specific Languages (DSLs),
Generative Programming, Software Product Lines and related areas).

Sessions could cover topics such as:
- Code Generation and Model Transformation tools and approaches
- Defining and implementing modelling languages
- Domain Analysis and Domain Engineering
- Language evolution and modularization
- Meta Modelling
- Runtime virtual machines versus direct code generation
- Tool and technology adoption

Real-world case studies based on any aspect of these and related
approaches are particularly encouraged although more theoretical
sessions are also welcome.

Accepted speakers have their conference fees waived. We will also be
offering a discount on conference fees to non-speaking academic
participants. More information will be available when the programme goes
online on 25th February.

Visit
http://www.codegeneration.net/conference/index.php for more
details on the event or contact me for more information.

What people said about our previous conference - Code Generation 2007:

"I've been working in domain-specific modelling for a dozen years ...
and in this time this has been the highest-quality conference on this
topic that I've been to - and I've been to a few."

"The combined-for that matter, individual-expertise present was
remarkable, and presented a tremendous opportunity for knowledge exchange."

"The presentations were all top quality, making it often difficult to
decide between the concurrently running sessions. The wealth of MDD
knowledge present and the event was impressive, not only from the
presenters, but from the other delegates as well."

Best wishes for a happy and successful 2008.


I have an Events page at which has mainly computing and aerospace events listed and linked to - http://www.cems.uwe.ac.uk/~phale/Events.htm.