Development and Reuse of Engineering Automation
More Info
expand_more
Abstract
Increasingly engineers in, for example, Aerospace Engineering create software to support their daily engineering activities. This is referred to as Engineering Automation. A prime example of Engineering Automation is Knowledge Based Engineering. It is desirable to reuse and share this software, rather than to discard it soon after its creation. Unfortunately, the overall level of sharing and reuse in daily engineering automation practice is currently low. Producing reusable applications proves to be difficult for engineering automation developers. An initial study comprising a literature review and expert interviews showed that the two main issues are the understandability and validity of the software and documentation. The study also provided insight in the current Engineering Automation culture. The most important aspect identified is the lack of incentives for software activities other than coding itself. Based on the initial study, a software design tool based on incremental code and design documentation generation was selected as the most suitable approach to start tackling the issues identified. To contribute to understandability and validity, and ultimately reuse, the tool aims to encourage the creation of accurate design documentation and to encourage the creation of that documentation before implementing the corresponding code. Creating a design beforehand encourages a well thought and understandable application structure, yet this is rarely done in an Engineering Automation context. The approach was implemented for a specific community of Engineering Automation developers, namely users of the GenDL software framework. The resulting tool, GenDL Designer, features a simplified version of the Unified Modeling Language, continuous consistency checking with the code and support for incremental resolution of inconsistencies, e.g. by generating code skeleton fragments or by proposing design diagram modifications. GenDL Designer was developed with Engineering Automation developers in mind and therefore differs significantly from general software engineering tools with similar objectives. To address the potential and feasibility of incremental code and design documentation generation for engineering automation development, a large-scale academic experiment with GenDL Designer is planned in spring 2014. In anticipation of that, trial runs were held, which only allow for preliminary conclusions. GenDL Designer seems to encourage the creation of accurate design documentation and seems to encourage designing before implementing. The principle of incremental code and design documentation generation appears to have the potential to improve the understandability of applications, the validity of their documentation and even the validity of the code itself, due to the improved transparency that uncovers defects. Finally, introducing incremental code and design documentation generation in an engineering automation context appears to be feasible, but some potential users will not be convinced with a short introduction alone. These promising but preliminary findings will hopefully be confirmed with the large scale academic experiment and later on with experiments in industry.