August 21, 2019

Creating Artificial Intelligence with domain specific languages


Artificial Intelligence is sometimes described as a machine who is able to think by it's own. This understanding is not completely wrong, because the robot doesn't need a remote control but the device finds the path autonomously. But the description is not complete because it doesn't tell the audience how to build an AI from scratch. The more elaborated way in teaching Artificial Intelligence is to focus on human machine interaction. Before a computer can take decision he needs to be programmed first. The programmer defines before the run of the robot, what the machine will do. He writes down a program and the computer executes the plan.
The amount of techniques to program computers are endless. In modern times, different programming languages like Python, Java and C++ were invented. In most cases, the operating system of the computer is written in C. For describing robotics movements a different kind of notation is needed which is usually called a behavior oriented language. The interesting point is, that a behavior script is the opposite of “the robot acts autonomously”. Instead, the script tells for each situation what to do. That means, the robot's movements are not the result of Artificial Intelligence, but it was written down by the programmer in advance.
The trick to build advanced robotics systems is located within the domain specific language for describing the behavior. If the language is efficient, it's much easier to describe a complex behavior. The more realistic way in describing what AI is about
A robotic script has two stakeholders. The first one is the computer who has to execute the script. That means, the high level behaviors are converted into assembly language. The second stakeholder is the programmer who likes to describe a certain problem within the notation. The domain specific language is located in the middle. It translates the intention of the programmer into a stream of machine language instructions.