| Introduction | | | | costed separately or together and top down or |
| C.S. Peirce (1906) stated in 'Prolegomena to an | | | | from bottom up. This methodology has the |
| Apology for Pragmaticism' "Come on, my Reader, | | | | potential to be applied to any calculation based |
| and let us construct a diagram to illustrate the | | | | modelling problem. |
| general course of thought; I mean a system of | | | | Engineering modelling can be performed using a |
| diagrammatization by means of which any course | | | | high level diagrammatic view of the problem and |
| of thought can be represented with exactitude". | | | | conveyed to the computer via transformation. |
| That is the purpose of this research, but to limit | | | | Solutions to this transformation problem can be |
| the scope and so make application of this theory | | | | found by adapting current tools and techniques |
| testable the research is restricted mainly to | | | | using a systematic approach. Such tools and |
| engineers (because they often think in terms of | | | | techniques involve use of modelling tools, |
| diagrams) and to the domain of modelling (which | | | | spreadsheets, ontology management tools, and |
| often requires diagrams). So the aim is to apply | | | | Semantic Web Web 2.0 tools. These possible |
| the research first where it can have the most | | | | solutions are not mutually exclusive and their |
| use and encourage others to expand it for other | | | | combination could be the best way of providing |
| domains and other users. This research is intended | | | | usable collaborative modelling tools for computer |
| to simplify computing for computer literate | | | | literate end users and domain experts. The link |
| non-programmers, this includes many engineers. | | | | between these alternative ways of advancing |
| The main research area is enabling users such as | | | | current research is translation and User Driven |
| engineers to model the problems they encounter | | | | Modelling/Programming. |
| in manufacturing and design. However, the wider | | | | It is possible to create an extra layer of visualised |
| aim is to prototype research for enabling a larger | | | | semantics to enable users to specify commands |
| range of software users to model their problems. | | | | in structured language. This approach of adding |
| The intention is to create collaborative tools that | | | | extra layers is the way this visual programming |
| allow users to develop software in a way they will | | | | works. Users provide the information the program |
| be familiar with from their use of spreadsheets. | | | | needs at the visual interface layer, and program |
| This research brings together approaches of | | | | code is created automatically. The layers provide |
| object orientation, the Semantic Web, relational | | | | the bridge between abstract ideas and computer |
| databases, and Model-Driven and Event-Driven | | | | code. If this approach is taken to its logical |
| programming. Frankel et al. (2004) explain the | | | | conclusion, it would be possible to allow the user |
| opportunities for, and importance of this kind of | | | | to specify what the computer should do. Then |
| research. | | | | each layer would communicate this to the layer |
| Iterative development is used both in this | | | | below until the computer performs the action |
| research and in the implementation to ensure that | | | | required. A simple example of this approach is the |
| changes can be made systematically as | | | | use of spreadsheets. Users can specify a |
| necessary and without disrupting a project. | | | | calculation in mathematical terms using a formula. |
| Software engineering and modelling has much in | | | | The spreadsheet then calculates the result of the |
| common with engineering modelling, also the tools | | | | formula. Users can change the formula if it is |
| used for both have much in common. Software | | | | incorrect without any need to write code or |
| process modelling, engineering process modelling, | | | | re-compile. This accounts for the popularity of |
| and business/workflow modelling share a common | | | | spreadsheets. However, spreadsheets do not |
| approach, and similar tools. Much of this | | | | provide the centralised and structured data-store |
| commonality is in the need to transform | | | | required for a distributed collaborative system. |
| requirements into design into code | | | | Therefore, the research concentrates on |
| semi-automatically. To achieve this, continuous | | | | combining the wide applicability of generic |
| consultation between potential users e.g. engineers | | | | spreadsheet modelling with structured and |
| for engineering modelling problems and developers | | | | adaptable modelling and visualisation. |
| for software problems is required. | | | | It is important to enable changes to the design of |
| Organisations have many limitations resulting from | | | | the information source and its structure as |
| the lack of facilities to allow users to program. For | | | | necessary, even when it contains information. This |
| example the use of 'out of the box' modelling | | | | makes possible continuous improvement of the |
| tools that are hard to customise or introduce | | | | information and its representation together. Clear |
| collaborative capabilities, because a project | | | | visualisation of the structure makes out of date |
| deadline is so urgent that nothing else is practical. | | | | and duplicate information obvious, so it can be |
| Methodology | | | | changed by the end-users of the information. This |
| A common factor in these various types of | | | | provides for maintenance of information quality |
| modelling is the need to transform between a high | | | | without necessitating end-users to understand |
| level abstraction, to a lower level such as a | | | | relational database design; though relational |
| computer model and then code. This is illustrated | | | | databases can still be accessed by software |
| by examples of semi-automatically produced | | | | specialists for more in depth and less frequent |
| programs/models (Hale, 2008). The translation | | | | structural changes. |
| process involves translating from a tree/graph | | | | Program transformation allows for writing in one |
| representation and for each node this is translated | | | | representation or language, and translating to |
| into a code representation of the equation that | | | | another. This is particularly useful for language |
| relates this node to any others, and this code is | | | | independent programming, or for high level and |
| then presented in the interface as a result tree | | | | end user programming that can then be |
| graph. This can be achieved for programs and/or | | | | translated to a language more easily interpreted |
| web pages. Kraus et al. (2007) examine and | | | | by computer systems. |
| implement this transformation problem and also | | | | A taxonomy representation is translated into a |
| produce code and/or web pages. Uschold (2003) | | | | computer model. Relationships can be conveyed |
| defines the Semantic Web as being machine | | | | to a software model that evaluates them. |
| usable and associated with more meaning. So this | | | | Information is translated from the taxonomy and |
| is a good way to convey the abstractions | | | | is visualised in tree form in a decision support tool |
| represented in a source and result tree to the | | | | with the example of spar manufacture |
| end user. | | | | information. The visualisation of the information in |
| The intention is to demonstrate a way to | | | | a tree can be further translated into visualisation |
| construct diagrammatic representations of cost | | | | as an interactive diagram. The representation can |
| using the example of an aircraft wingbox. The | | | | be translated into different languages, to allow for |
| wingbox is the structure or skeleton of the wing. | | | | language independence. |
| These diagrammatic representations are achieved | | | | Related Research |
| by visual representation of items and equations | | | | Crapo et al. (2002) assert the need for a |
| that make up wingbox cost. These items and | | | | methodology for creation of systems to enable |
| equations can be represented in standardised | | | | more collaborative approaches to modelling by |
| categories used in engineering - 'materials', | | | | domain expert end-users, and that this combined |
| 'processes', 'cost rates' etc. These categories are | | | | with visualisation would allow engineers to model |
| standard for engineering and the methods for | | | | problems accurately. Huhns (2001) and |
| representing items and equations that relate the | | | | Paternò, (2005) both explain that |
| items can be expressed in standard mathematical | | | | alternatives to the current approach to software |
| form. Therefore using the same methodology and | | | | development are required. Modelling languages |
| same categories it would be possible to represent | | | | such as Alloy explained by Wallace (2003) can be |
| other items and equations in the same way. So | | | | used as an interface to an End-User Programming |
| this methodology is reusable for costing other | | | | environment. Transformation from a model |
| engineering components including those outside | | | | building environment to program code has been |
| aerospace. The costing method is also recursive | | | | investigated by Gray et al. (2004). |
| because components and sub components can be | | | | |