Not every specialist who needs a software solution can program. And not every software developer understands the requirements of such a solution on the application side. Andreas Wortmann, a new junior professor at the Institute for Control Engineering of Machine Tools and Manufacturing Units (ISW) at the University of Stuttgart, wants to bridge this gap.
A lot of software still uses the same concepts and paradigms as 40 years ago and features highly technical programming languages, low abstraction, and tools designed for software developers – that is, people who can deal with the complexity of such a process and who are no strangers to challenges such as memory management, concurrency, or security. “We are well on the way to a programmable world,” says Wortmann. “Increasingly more things around us are being programmed not by professional software developers but rather by domain experts – or even by ourselves”.
“We are well on the way to a programmable world”Jun.Prof. Andreas Wortmann
This can be a problem if non-formally trained software developers from a specific domain such as chemistry, mechanical engineering, or electrical engineering are to add value that is realized in software. In the process, a conceptual divide emerges: On one hand are the domain experts who know how to optimally control a production line or guide a nursing robot but who cannot program it. On the other hand are the computer scientists who can program but who do not understand much about the specific problem domain. Computer scientist Edsger Dijkstra described the consequences with the concept of a fictitious firewall: On one side are the application experts, who throw their requirements over the wall. The computer scientists on the other side of the wall somehow understand this and implement it. “The fact that this doesn’t work can be seen whenever people get annoyed with software. For example, with the operating system or the printer,” says Wortmann. “It doesn’t make sense to make all domain experts into programming experts. Software engineering must therefore come into the domain.
Model solutions yourself
Wortmann and his team are therefore developing modeling techniques, languages, and tools that make specific concepts tailored to the domain usable by the machine. With these concepts, domain experts can model their solution themselves and then translate these solutions automatically into software. Wortmann explains how this can look in practice using the example of a major German TV broadcasting group. There, the domain experts in the legal department had to take into account certain contractual requirements. For example, that a certain film must not be shown in the morning program or on secondary channels. Based on this, the IT department had to create a program plan. Here, too, there was the aforementioned divide. The IT experts had only a limited understanding of legal terminology, while the lawyers had only a limited understanding of the problems of IT. “We solved the problem by developing a new modeling language that understood terms such as main station, secondary station, prime time, and advertising and could represent the constraints from the legal texts using appropriate links,” says Wortmann. This enabled the employees in the legal department to independently enter these conditions into the computer and calculate the programming,” says Wortmann.
A second aspect of Wortmann’s research relates to the development time of complex systems. When viewed abstractly, there are different points in software development: The definition of the requirements, the design, the implementation, the testing, and finally the commissioning of the system. However, especially in the field of Industry 4.0, the challenge arises that the systems are long-lasting and complex. For example, an injection molding system has a service life of 15–20 years. During this time, its software must be constantly optimized based on new data or knowledge. This is not done by the manufacturer’s IT department but rather on site. “In order to enable the operators of the system to optimally use the machine, we are using digital twins configured via no-code programming – that is, with little effort,” explains Wortmann. With such digital twins, it would be possible to carry out configurations on the weekend and immediately resume production at full capacity on Monday.
Software development to become more efficient and robust
A third area of Wortmann’s research is formal software architectures, a software description method based on a mathematical-semantic foundation, and is intended to make software development generally applicable. Wortmann himself describes the rather abstract process with a comparison to real architecture. “When building a cathedral, an architect does not immediately stack stones on top of each other but rather designs an overall concept and examines it with regard to costs, structural integrity, and other relevant criteria”. Similarly, with formal software architectures, you first develop a framework that can be continuously analyzed and for which individual elements can be gradually implemented through various derivations. From this framework, you can already generate a lot of code, taking into account established best practices. “It makes software development more efficient and robust.”
Wortmann, who studied at RWTH Aachen University, earned his doctorate at the University of Stuttgart, and taught as a senior academic councilor, and is attracted by the leap from computer science to mechanical engineering. “The future of computer science is in applications” is his motto. The ISW, where many novel computer science methods are already in use, is a good basis for this – as is ARENA2036 and the exciting industrial environment on site.
About Assistant Professor Thomas Wortmann
Andreas Wortmann, born in 1982, studied computer science at RWTH Aachen University, where he received his PhD in 2016 from the Chair of Software Engineering. After visits to France and Sweden, he headed a working group in model-driven system engineering as a tenured postdoctoral fellow at RWTH Aachen University. In January 2021, he joined the Institute for Control Engineering of Machine Tools and Manufacturing Units (ISW) at the University of Stuttgart.
Andreas Wortmann is a board member of the European Association for Programming Languages and Systems (EAPLS) and serves on the editorial boards of the Journal on Software and Systems Modeling, the Journal of Object Technology, and the Journal of Automotive Software Engineering. He also leads the Model-Based Systems Development working group of the German Society for Systems Engineering (GfSE).