Automatically transforming expertise into software
Using domain specific language
Technical experts such as metallurgists, electrical engineers and application engineers frequently need to transform their expertise into executable software programs and quickly implement technical modifications in software. In the process, an expert should be able to concentrate exclusively on technical aspects without needing to deal with software engineering problems and programming. For example, if an application engineer needs to adapt and edit a machine process for an injection machine so that it corresponds to his experience, then ideally this should occur casually via a touchscreen instead of in the context of a classical programming environment.
Overview
Machine processes control the sequential and parallel operation of individual actions of a machine, e.g., an injection machine. These are programmed entirely on the computer in programming languages that are tuned to the computer hardware but not to the concrete task and then transferred to the machine. The machine allows the adjustment of the process within predefined limits via parameters.

Challenge
If the process is programmable at the machine, then the necessary programming skills put the threshold very high for users. Domain-specific languages allow users to create and modify the complete machine process directly at the machine. These are problem-oriented programming languages that are designed from concepts and rules of an application domain and do not require programmatically complex, error-prone language elements that are tuned to the computer hardware. Users are able to model in a language that is intuitive and problem-oriented without a huge investment of time. For an injection machine, e.g., the complete machine procedure can be depicted, modified and monitored graphically.
Solution
In a project with Keba AG, the task was to develop such a domain-specific, graphical language for machine processes that could then be simply transformed into an executable program. In addition, to allow domain experts to edit machine processes, a dedicated programming environment had to be developed that is intuitive and fault-tolerant. "Technically, we implemented this so that a model of the machine process was created that is visualized in a representation (language) suitable for domain experts and is transformed into a form understood by the computer," explains Dr. Josef Pichler, who leads the SCCH Integrated Software Engineering Tools group. Users were particularly interested in user-friendliness and ease of use. For Heinz Stummer, leader of technology management at Keba AG, the significant advantage of the developed prototype is that machine processes can be adapted directly at the machine, without programming skills, easily and comprehensibly. This makes the flexibility of the machine available to a broad range of users. In addition, a significant reduction in startup and retooling times is assured.