Showing posts with label SVG. Show all posts
Showing posts with label SVG. Show all posts

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.

Monday, September 15, 2008

Berners-Lee not happy with IE

This is an interesting article that can be found on the BCS (British Computer Society) website http://www.bcs.org/server.php?show=conWebDoc.21549.

"Internet Explorer is not up to speed with other browsers when it comes to offering support for scalable vector graphics (SVG), according to Tim Berners-Lee.

SVG is often found in online maps as it allows images to be resized or zoomed into without losing resolution.

Mr Berners-Lee, head of W3C, does not like to express preference for browsers and so did not name IE by name, reports the Associated Press.

'If you look around at browsers, you'll find that most of them support scalable vector graphics,' he told the agency.

'I'll let you figure out which one has been slow in supporting SVG.' Firefox, Safari and Google's new browser Chrome all support SVG, while Microsoft prefers a different format called Vector Markup Language - despite W3C giving SVG its support since 2001.

If IE users want to display SVG they need an Adobe plug-in, which is set to have its support ended on January 1st."

Friday, March 14, 2008

The SVG (Scalable Vector Graphics Conference) is on this August.

SVG Open 2008 - http://svgopen.org/2008/index.php - 6th International Conference on Scalable Vector Graphics - 26th to 28th August - Nuremberg - Germany - The world conference on SVG will this year take place in the center of Nuremberg. Located in the south of Germany.

I have an SVG page at - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/SVG/SVG.htm - with more information.

Tuesday, May 22, 2007

Meta-Languages and their usefulness for User Driven Programming

Meta-languages describe the structure of information to enable this information to be searched more easily by software systems. XML (eXtensible Markup Language) has emerged as the most important of these Meta-languages and is the base for many languages. XML standards are important for the Semantic Web, many computer based reasoning systems, and for communication between different software applications. Alternative representations of information should not be used in any system being developed now unless the author has examined XML based standards and found them insufficient. Such a situation is highly unlikely. Any software system that does not use these standards will have difficulty communicating with other software systems. Use of a generic standard keeps open the possibility of communication with the widest possible range of other software systems. Use of a domain specific standard targets the communication to a particular domain.

Extensible Markup Language XML is an important standard in the development of ontologies. This language allows for the construction of text documents in which the relationship between concepts is represented. Because it is an accepted standard it is possible to use XML on any type of computer. Further developments such as Resource Description Framework RDF add a layer of standardisation of semantics, above the standardised syntax of XML. It is also possible to represent diagrammatic, and graphical information using a variety of XML called Scalable Vector Graphics (SVG).

These open standard languages can be used for developing the program code of models. It is proposed that software and information represented by the software, be separated but represented in the same open standard searchable way. Software and the information it manipulates are just information that has different uses, there is no reason why software must be represented differently represented differently from other information. So XML can be used both as the information input and output by the application, and for the definition of the model itself. The model can read or write information it represents, and the information can read from or write to the model. This recursion makes 'meta-programming' possible. Meta programming is writing of programs by other programs. The purpose of this is to provide a cascading series of layers that translate a relatively easy to use visual representation of a problem to be modelled, into code that can be run by present day compilers and interpreters. This is to make it easier for computer literate non-programmers to specify instructions to a computer, without learning and writing code in computer languages. To achieve this, any layer of software or information must be able to read the code or the information represented in any other. Code and information are only separated out as a matter of design choice to aid human comprehension, they can be represented in the same way using the same kinds of open standard languages.

Meta Language Links

Dmitriev, S. (2004). Language Oriented Programming: The Next Programming Paradigm, http://www.onboard.jetbrains.com/is1/articles/04/10/lop/.

Mens, K., Michiels, I., Wuyts, R. (2002). Supporting Software Development through Declaratively Codified Programming Patterns, Expert Systems with Applications, 23: 405-413.


I am a Researcher in the final year of my PhD. I specialise in applying Semantic Web techniques. My current research is on a technique of 'User Driven Modelling/Programming'. My intention is to enable non-programmers to create software from a user interface that allows them to model a particular problem or scenario. This involves a user entering information visually in the form of a tree diagram. I am attempting to develop ways of automatically translating this information into program code in a variety of computer languages. This is very important and useful for many employees that have insufficient time to learn programming languages. I am looking to research visualisation, and visualisation techniques to create a human computer interface that allows non experts to create software.

I am a member of the Institute for End User Computing - http://www.ieuc.org/home.html.

My Home Page is http://www.cems.uwe.ac.uk/~phale/.

A web page for this article is at http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory.htm.

Tuesday, April 03, 2007

Translation And Pipelining Applied To End-User Programming

This research involves using Semantic Web technologies to enable end user programming. This technology is applicable to any problem that involves user interaction, so can be applied in industries and home use for any task or subject area.

The work involves allowing non-programmers to model complex problems visually and without having to use programming languages. Information is created in a visual tree using an Ontology editor, the information is then transformed, and all calculations performed. Further transformations can be performed into any programming language or open standard information representation language, and this can be displayed on the web. This approach can be described as 'pipelining', which is explained by Gropp (2003) using the example of a project to convert Geography Markup Language (GML) to Scalable Vector Graphics (SVG). SVG is explained by McKeown and Grimson (2000). Pipelining is also core to XML (eXtensible Markup Language) (w3C, 2006) and XForms technologies (Bruchez, 2006), which are explained in this thesis. Pipelines are important for translation and Meta Programming techniques I use as they apply one program to the results of another. Also transformations can be performed between a tree representation and other styles of representation e.g. an interactive CAD style representation, using SVG. A major theme of the research is that of prototyping solutions to the problems raised, using web and other software technologies. These are then referenced from the thesis document to illustrate the solutions discussed.

The additional advantage is that of displaying the expressions in the appropriate context. Crapo et al (2002) explain that visualization helps the modeller to maintain a hierarchy of submodels at different stages of development and to navigate effectively between them, this is my reason for breaking down the models into a tree structure.

Semantic Web research has been developed from the work of Tim Berners-Lee (1997). Uschold (2003) defines the Semantic Web as being machine usable and associated with more meaning. Semantic web technologies and the use of agents and ontologies are explained by Hendler (2001) and Uschold who explains that "In order to carry out their required tasks, intelligent agents must communicate and understand meaning".

Meta programming is the writing of programs that write or manipulate other programs (or themselves) as their data. The idea behind this technique is that instead of writing programs to do a task a person needs the program for, the meta program developer creates an environment which all domain experts, in this and similar fields, can use to create their own solutions. The developer then only needs to maintain and improve this programming environment, and can concentrate on this task; the domain expert can concentrate on solving the problem at hand without having to ask the developer to create the code on his or her behalf. This can prevent problems of misunderstanding, delay, and expense that often result from communication of difficult concepts between people who are experts in different areas (domain expert and programming expert).

This is another useful article on sharing RSS feeds via linked up pipes (Yahoo Pipes) -

Pipes and Filters for the Internet-http://radar.oreilly.com/archives/2007/02/pipes_and_filte.html.

This approach could make it easier for web developers to build interacive websites without needing to do in depth coding.

References

Berners-Lee, T., Fischetti, M., 1997. Weaving the Web. Harper San Francisco; Paperback: ISBN:006251587X

Bruchez, E, 2006. XForms: an Alternative to Ajax?. In: XTech 2006: Building Web 2.0 16-19 May 2006, Amsterdam, The Netherlands.

Crapo, A. W., Waisel, L. B., Wallace, W. A., Willemain, T. R., 2002. Visualization and Modelling for Intelligent Systems. In: C. T. Leondes, ed. Intelligent Systems: Technology and Applications, Volume I Implementation Techniques, 2002 pp 53-85.

Gropp, E., 2003. Accelerating SVG Transformations with Pipelines. In: SVG Open 2003 - Conference and Exhibition 2nd Annual Conference on Scalable Vector Graphics - Vancouver, Canada.

Hendler, J., 2001. Agents and the Semantic Web. IEEE Intelligent Systems Journal.

McKeown, J., Grimson, J., 2000. SVG: putting XML in the picture In: XML Europe 2000 Paris France.

Uschold, M., 2003. Where are the semantics in the semantic web? AI Magazine Vol 24 (3) pp 25-36.

W3C (World Wide Web Consortium), 2006. http://www.w3.org/TR/xproc/ XProc: An XML Pipeline Language W3C Working Draft 17 November 2006.

I am developing a project to provide free online collaborative modelling tools.

My Research - http://www.cems.uwe.ac.uk/~phale/

My Blog - http://userdrivenmodelling.blogspot.com/

My SVG Page - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/SVG/SVG.htm