Doctoraatsverdediging

Faculty of Engineering Science
Domain Specific Languages for Hard Real-Time Safe Coordination of Robot and Machine Tool Systems (Domein-specifieke talen voor gegarandeerde reële-tijd coördinatie van robots en werktuigmachines)
Doctorandus/a PhD student
  Name: Markus Klotzbücher
Promotie / Defence
  When: 10.04.2013, 13h30
  Language: English
  Where: Nicolas de le Villezaal, 01.10, Willem de Croylaan 6, 3001 Heverlee
 
Promotor / Supervisor
  Prof. dr. ir. Herman Bruyninckx (promotor)
 
Samenvatting van het onderzoek / Summary of Research

De huidige software die in staat is om robots nuttige en
intelligente dingen te laten doen wordt steeds complexer. Eén van
de redenen is dat de software meestal geschreven is met (zeer
oude) programmeertalen die niet goed aangepast zijn aan het
programmeren van robots. Dit maakt de programma's moeilijk
aanpasbaar eens geschreven. Hierdoor hebben ingenieurs meer en
meer moeilijkheden om hun robotsoftware op zo'n manier te
ontwikkelen dat de software snel én betrouwbaar draait,
herbruikbaar is voor andere robots en niet heel de tijd faalt.

Een domeinspecifieke taal (Domain Specific Language, DSL) is een
computertaal die alleen de noodzakelijke elementen bevat om te
beschrijven wat relevant is voor een specifiek
domein. Bijvoorbeeld de domeinspecifieke taal voor het bewegen
van een robotarm kan bestaan uit twee elementen:
"beweeg_naar"-commando's die de robot bevelen om te bewegen en
"plaats"-commando's die definiëren waar de robot naartoe moet
gaan.

Dit proefschrift beschrijft hoe een domeinspecifieke taal helpt
bij het ontwikkelen van robotsoftware waarbij de programma's
eenvoudig te begrijpen, herbruikbaar en betrouwbaar zijn.
Vooreerst beschrijft het hoe een domeinspecifieke taal
gespecificeerd, gecombineerd, uitgevoerd en omgezet wordt in een
nieuwe domeinspecifieke taal.  Ten tweede introduceert dit
proefschrift verschillende domeinspecifieke talen voor
robotica. Eén daarvan is de rFSM domeinspecifieke taal die
robottaken specificeert en meteen ook toelaat om te beschrijven
welke acties ondernomen moeten worden als er iets fout gaat.
Tenslotte stelt dit proefschrift verschillende "best practices"
voor om domeinspecifieke talen optimaal te gebruiken.
Today's software for intelligent robots that can do useful things is
getting very complex. One reason for this is that mostly (very old)
programming languages are used, which are not very well adopted to
programming robots and whose programs are hard to change once
written. As a consequence, engineers are having more and more trouble
to program these robots in a way that the software runs fast and
reliable, can be reused for other robots and does not crash all the
time.

A Domain Specific Language (DSL) is a computer language that contains
only the elements necessary to describe the "things" relevant to a
specific domain. For instance, for the domain of moving a robot arm, a
corresponding DSL might consist of two elements: "move_to" commands
that tell the robot to move, and "places" that define to where the
robot shall move.

This thesis describes how DSL can help to developrobot software in a
way that programs can be reused for other robots, are simpler and
easier to understand and also more reliable. It consists of three
parts. Firstly, it is described how DSL can be specified, combined,
run and converted into new DSL. Secondly, several robotics DSL are
introduced, as for example the rFSM DSL that can be used to specify
tasks that a robot shall carry out and what to do if things go
wrong. Thirdly, several best practices are presented that explain how
to use these and other DSL in a good way.

 
Volledige tekst van het doctoraat / full text
https://lirias.kuleuven.be/handle/123456789/391800

 
Examencommissie / Board of examiners
  Prof. dr. ir. Herman Bruyninckx (promotor)
  Prof. dr. ir. Petrus Verbaeten (voorzitter/chairman)
  De heer Sam Michiels (secretaris/secretary)
  Prof. dr. ir. Yolande Berbers
  De heer Marc Engels
  Prof. dr. M.J.G. (René) van de Molengraft , Technische Universiteit Eindhoven
  Dr. Felix Ingrand , LAAS/CNRS (Laboratory of Analysis and Architecture of Systems)