The IMPACT project, carried out at the Hochschule Pforzheim’s Institute for Smart Systems and Services from 1 October 2019 to 30 September 2022, aimed to simplify and optimise software for production automation. The core contribution is a hierarchical, service‑oriented domain‑specific language (DSL) that allows engineers to describe automation logic in a modular, intuitive way. The DSL is organised into four strictly ordered levels that progressively refine the program flow and reduce abstraction. Level 4, the Process Service Workflow, lets process engineers define the overall sequence of operations or manufacturing steps derived from recipes or flow charts. Level 3, Application Service Interfaces, supplies function blocks that act as the interface to control and regulation of standardised process flows. Level 2, Application Service Implementations, is where application developers realise the concrete behaviour of these function blocks. Finally, Level 1, Hardware Services, provides the low‑level access to actuators and sensors through a hardware abstraction layer supplied by library developers. This layered approach guarantees that higher‑level specifications can be reused and customised without altering lower‑level implementations, thereby supporting rapid adaptation to changing production parameters such as control settings, material properties or electrical configurations.
A key feature of the DSL is its integration with Asset Administration Shells (AAS). By accessing process data stored in the AAS, the automation software can react dynamically to changes in the production environment, enabling variant generation that accommodates different production conditions. The DSL also offers specialised modelling elements for the direct inclusion of AAS and for the execution of distributed automation services. These elements rely on specific service interfaces and communication protocols while recognising existing system and process objects.
The implementation of the DSL was realised using the Eclipse Xtext framework, which automatically generates a parser and an abstract syntax tree. Because Xtext and Eclipse Sirius both use the Eclipse Modeling Framework (EMF), the textual DSL can be extended to a graphical variant without additional effort. The interpreter for the DSL was designed to support concurrent execution. Parallel execution paths are modelled as separate interpreter instances, each running on its own kernel thread. Shared data that may be accessed by multiple threads is isolated in a dedicated thread and protected by critical sections, while inter‑thread communication is achieved through shared variables. This design allows the automation software to exploit parallelism while maintaining thread safety.
Evaluation of the DSL and its interpreter was performed on the Industry 4.0 model plant at the Institute for Smart Systems and Services. The tests confirmed that the hierarchical DSL facilitates efficient development of automation logic and that the interpreter can execute concurrent programs without race conditions. The project’s results were presented at the IEEE International Conference on Emerging Technologies and Factory Automation (ETFA) in 2021 and at the IEEE 17th Conference on Industrial Electronics and Applications (ICIEA) in 2022, where the hierarchical DSL concept and its integration with AAS were highlighted.
Collaboration in the project involved a mix of roles: process engineers defined the high‑level workflows, software architects designed the function blocks, application developers implemented the concrete behaviour, and library developers supplied the hardware services. The project was funded under the German federal funding scheme with the grant number 01IS19031B. During the project period, the team secured two follow‑up projects that build on the IMPACT results, and several publications are planned that will further explore the use of AAS for parameterising automation software and the development of secure concurrent automation solutions. The successful completion of the project demonstrates the viability of a hierarchical DSL for simplifying automation software development and for enabling flexible, data‑driven adaptation of production processes.
