Model-based methods enhance efficiency and quality in software engineering.

Efficient software development in mechanical and plant engineering

Initial situation and project objective

Model-based methods permit more efficient software engineering if a large proportion of the source code is generated automatically using more abstract models. The methods are especially suitable for similar products, each of which possess individual characteristics, e.g. in mechanical and plant engineering. Knowledge about the typical structures of products and previous software is used cleverly to automatically generate any parts of the software that follow the same schematic patterns. The individual part is added manually.

Solution and customer benefits

G. Kraft Maschinenbau already applies the model-based approach to the development of new systems with considerable success. For instance, large parts of the software for a new system can be configured and then generated automatically. This procedure has reduced the manual workload within development by 80%. Besides greater efficiency in the creation of system code, it also helps to improve the software quality. After all, the systematic recycling of software modules for recurring functionalities ultimately produces mature standard modules in which errors are identified and rectified promptly. Not only is this use of quality assured modules efficient, it also directly enhances the quality of the system software.

Fraunhofer IEM is currently involved in a collaborative project that aims to continue increasing this proportion of automatically generated code. For this purpose, a domain-specific language was developed for G. Kraft that permits the modeling of procedures (incremental sequences) using a graphic editor and the downstream, automatic output of control code by means of a code generator. G. Kraft is interested in supporting control code by various other manufacturers in future. This means that additional code generators would each have to be developed once. The systems’ abstract models and the domain-specific language will remain usable here as well, which is yet another benefit of model-based design.