An example of our research at Computing Sciences unit of ITC
The project is coordinated by DIMECC and FIMA. For more details about the whole project, see: https://www.fima.fi/_files/ugd/c5849b_b568bd05591c4d5ba8d86407ee5dd945.pdf.
In this project Tampere University concentrates in two challenges:
- Understand human behavior, experience, and role in the collaboration between manned and unmanned work machines. This human-centered research is led by Aino Ahtinen from RoboStudio of IHTE.
- Approachable programming/configuration of the autonomous working machines. This research software engineering and technology research is led by Kari Systä and David Hästbacka from TASE.
The challenge of approachable programming was inspired by two well known facts. Firstly, the development of reliable and high-quality software is a special skill of its own and requires both long education and practical experience. There is a constant lack of these people. Secondly, the development of useful software requires understanding of the application domain. The “domain” in this case can be either the working machine, its tasks and its physical limitations, or it can be the usage context of the machine, like a logistics center where the machines move the goods around.
When the domain experts should change or add software-defined functionality of the machines they typically need help from the software experts. However, there is a constant lack of experiences software developers. Even if the software experts are available, significant amount time is “wasted” in bridging the understandings of domain and software worlds.
One approach for lowering the barrier for programming is use of higher-level programming languages. These are basically programming languages the require less understanding of how the computer works. The downside of raising the abstraction level is reduced applicability to various needs; they become toys instead of professional tools. However, it is possible to raise the abstraction level if the application domain is constrained. This has led to domain specific programming languages that allow programmers to operate with domain concepts instead of abstract concepts defined by the computer scientists.
In this project we will investigate a new era of domain specific languages for the domains of autonomous working machines and mixed fleets. In the preparation phase we have recognized two possible approaches:
- A new declarative programming language that allows domain experts to define what should be achieved. The computer, the compiler of the programming language, will then determine how the targeted state or behavior can be achieved.
- Use of natural language as a programming language. The new generative AI technologies can then translate natural language into a computer program. Since generative AI systems are based probabilities and non-deterministic behaviors they cannot be completely trusted. Thus, we could complement the target system and its description with a formal model, that allows cross-checking of critical properties from the AI-generated code.
The coming 2.5-3 years will show how far we get. If you have ideas are willing to contribute, let us know.
But how about humans and autonomous machines? How will the people feel and be efficient? “These questions—and many others—will be answered in the next episode of … our blog.” [https://en.wikipedia.org/wiki/Soap_(TV_series)]
Written by Kari Systä