Monday, May 25, 2009

Enabling diagrammatic de-abstraction and modelling of engineering problems - Summary

This post discusses efforts to enable de-abstraction of engineering problems from a representation suitable for engineers to that suitable for computer models and code. The key question is to what extent diagrammatic representations of problems can be used in order to provide modelling solutions. To achieve this, a source tree is created, this is translated to computer code, then represented as a result tree. This enables engineers to visualise problems such as representation of a product data structure in a way familiar to them, and this also gives a visual and colour coded representation of equations. This visualisation is easier to navigate and understand than that which can be provided by spreadsheets, and more maintainable. This research could also be used for business modelling, process modelling, and workflow.

The essence of the problem is that organisations and individuals have many limitations resulting from the lack of facilities to allow users to program. Organisations have many limitations resulting from the lack of facilities to allow users to program. For example the use of 'out of the box' modelling tools, which are hard to customise or introduce collaborative capabilities, because a project deadline is so urgent that nothing else is practical. The problem with this is that when organisations have urgent needs to produce models for a particular deadline, all their effort goes into this. Once a deadline is met or missed, there will be a new deadline for something else. So all the effort goes into meeting these deadlines, and there are little or no resources for providing a better solution that makes it easier in the long run to meet the deadlines. This causes many issues, which need to be urgently tackled by organisations in the short term. This creates an ironic dilemma, that the problems caused by lack of end user programming facilities cause there to be a need to tackle these problems via quick fixes because they are so urgent. This makes it difficult to secure funding and time for longer term end user programming research.

As an example of the problems that occur; many people use Excel for financial modelling, and engineering, business, and science models. As these models become large, the short term solution is to use Excel Visual Basic to aid navigation through the model. However, though this helps with the immediate problem, in the longer term it can be difficult to reuse the model, as the Excel spreadsheet creator has to go through his or her code and remember what they have done, this problem is worse if a different user is trying to reuse the spreadsheet. Experience of dealing with projects that create new software systems is that they are very ambitious, but not very modular or customisable. Under management pressure for meeting of timescales, they are often released too early with insufficient consultation with users. Then software developer's time is reallocated to a help desk, in order to deal with the problems caused by the release of software too early, too unchangeable and with too little user involvement.

A longer term solution would be to provide a visual programming environment where the structure of the code is visualised, to make it easier to track the formulae, and so navigation is a central part of the program design, this also minimises the need for code. A solution is to produce highly customisable software, so that the software team do not have to anticipate every problem the users will want to solve. Then many users with more advanced needs and computing abilities could customise software for their needs.

Engineering modelling can be performed using a high level diagrammatic view of the problem and conveyed to the computer via transformation. Program/model transformation allows for writing in one representation or language, and translating to another. This is particularly useful for language independent programming, or for high level and end user programming that can then be translated to a language more easily interpreted by computer systems.

Even if programming is made easier, only a proportion of people would actually be interested or capable of doing this. But there is still an advantage to colleagues such as people in the same team or department as an end user programmer, even if they are not undertaking programming themselves. Then all in the team have much closer access to someone, the end user programmer, who understands their, and the team's tasks, requirements, and projects. This closes the gap between those producing software systems, and those who require the software. This also makes it easier to iterate through solutions and solve problems more quickly and collaboratively.

Application of this kind of research at Rolls-Royce are described by Scanlan et al. (2006). Collaboration, simulation and modelling have been investigated to determine the requirements for future research in modelling of problems. This should allow translation from a model based representation of software to the actual software. This can involve semi automatically producing software for a Semantic website from visual representations of the problem. The core of this modelling infrastructure is automated generation of models created with World Wide Web Consortium (W3C) standards based languages, and the visualisation of information represented in such W3C standard ways. This research investigated alternative approaches to software development, which give users greater involvement, and can actually be used in combination. This partially automates the process of software creation via a collaborative process and equation tree that maps the problem structure, and user interface creation by providing a means to manage a diagrammatic and/or tree based representation.

Reference

Scanlan, J., Rao, A., Bru, C., Hale, P., Marsh, R., 2006. DATUM Project: Cost Estimating Environment for Support of Aerospace Design Decision Making. Journal of Aircraft, 43(4).

3 comments:

control valves said...

I believe construction of such projects requires knowledge of engineering and management principles and business procedures, economics, and human behavior.

Unknown said...

Yes, you are right it does, and this is a pretty wide area of requirements that can't be covered by myself alone, so this is the reason for putting my research online to encourage others to become involved.

Michael said...

Hi thanks for sharing this.