CABSL – C-Based Agent Behavior Specification Language

  • Thomas RöferEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11175)


This paper describes the C-based Agent Behavior Specification Language (CABSL) that is available as open source [8]. It allows specifying the behavior of a robot or a software agent in C++11. Semantically, it follows the ideas of the Extensible Agent Behavior Specification Language (XABSL) developed by Lötzsch et al. [6], i.e. robot behavior is described as a hierarchy of finite state machines. However, its integration into a C++ program requires significantly less programming overhead than when using XABSL. CABSL has been part of all B-Human code releases since 2013 [9], but it is now also available as a standalone release that works without the B-Human base system.


Programming Overhead Hierarchical Finite State Machines Execution Cycle Robot Control Program Member Variables 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Balch, T.: The ASCII robot soccer homepage (1995).
  2. 2.
  3. 3.
    Georgievski, I., Aiello, M.: An overview of hierarchical task network planning. CoRR abs/1403.7426 (2014).
  4. 4.
    de Haas, T.J., Laue, T., Röfer, T.: A scripting-based approach to robot behavior engineering using hierarchical generators. In: Proceedings of the 2012 IEEE International Conference on Robotics and Automation (ICRA). IEEE (2012)Google Scholar
  5. 5.
    Hofmann, M., et al.: Nao Devils Dortmund team report 2016. Technical report. Technische Universität Dortmund (2016).
  6. 6.
    Lötzsch, M., Risler, M., Jüngel, M.: XABSL - a pragmatic approach to behavior engineering. In: Proceedings of IEEE/RSJ International Conference of Intelligent Robots and Systems (IROS), pp. 5124–5129, Beijing, China (2006)Google Scholar
  7. 7.
    Nilsson, N.: Teleo-reactive programs for agent control. J. Artif. Intell. Res. 1, 139–158 (1994)CrossRefGoogle Scholar
  8. 8.
    Röfer, T.: CABSL - C-based agent behavior specification language (2017).
  9. 9.
    Röfer, T., et al.: B-Human team report and code release 2013 (2013).
  10. 10.
    Röfer, T., et al.: Germanteam robocup 2005 (2005).
  11. 11.
    Riccio, F.: Programming NAO-robots (2014). Slides from a lecture at Sapienza Universitá di Roma
  12. 12.
    Risler, M.: Behavior control for single and multiple autonomous agents based on hierarchical finite state machines. Fortschritt-berichte vdi, Technische Universitát Darmstadt, 15 May 2009.
  13. 13.
    Risler, M., Lötzsch, M., Jüngel, M., Krause, T.: XABSL - the extensible agent behavior specification language (2009).
  14. 14.
    Sterner, N.A.: Behavior programming of the goal keeper using CABSL, semester thesis, nomadZ project reports, ETH Zürich (2014).

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.Cyber-Physical SystemsDeutsches Forschungszentrum für Künstliche IntelligenzBremenGermany
  2. 2.Universität Bremen, Fachbereich 3 – Mathematik und InformatikBremenGermany

Personalised recommendations