{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,22]],"date-time":"2025-08-22T05:16:52Z","timestamp":1755839812744,"version":"3.41.2"},"reference-count":43,"publisher":"Frontiers Media SA","license":[{"start":{"date-parts":[[2025,1,29]],"date-time":"2025-01-29T00:00:00Z","timestamp":1738108800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["frontiersin.org"],"crossmark-restriction":true},"short-container-title":["Front. Robot. AI"],"abstract":"<jats:p>This article introduces a model-based design, implementation, deployment, and execution methodology, with tools supporting the systematic composition of algorithms from generic and domain-specific computational building blocks that prevent code duplication and enable robots to adapt their software themselves. The envisaged algorithms are numerical solvers based on graph structures. In this article, we focus on kinematics and dynamics algorithms, but examples such as message passing on probabilistic networks and factor graphs or cascade control diagrams fall under the same pattern. The tools rely on mature standards from the Semantic Web. They first synthesize algorithms symbolically, from which they then generate efficient code. The use case is an overactuated mobile robot with two redundant arms.<\/jats:p>","DOI":"10.3389\/frobt.2024.1363150","type":"journal-article","created":{"date-parts":[[2025,1,29]],"date-time":"2025-01-29T05:24:15Z","timestamp":1738128255000},"update-policy":"https:\/\/doi.org\/10.3389\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Semantic composition of robotic solver algorithms on graph structures"],"prefix":"10.3389","volume":"11","author":[{"given":"Sven","family":"Schneider","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nico","family":"Hochgeschwender","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Herman","family":"Bruyninckx","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1965","published-online":{"date-parts":[[2025,1,29]]},"reference":[{"key":"B1","doi-asserted-by":"crossref","DOI":"10.1109\/IROS.2014.6942760","article-title":"eTaSL\/eTC: a constraint-based task specification language and robot controller using expression graphs","volume-title":"Proc. IEEE\/RSJ international conference on intelligent robots and systems (IROS)","author":"Aertbeli\u00ebn","year":"2014"},{"key":"B2","article-title":"OWL 2 Web Ontology Language structural specification and functional-style syntax","volume-title":"W3C recommendation","author":"Bock","year":"2012"},{"key":"B3","article-title":"The JavaScript object notation (JSON) data interchange format","author":"Bray","year":"2017","journal-title":"RFC 8259, Internet Eng. Task Force (IETF)"},{"volume-title":"Extensible markup language (XML) 1.1","year":"2006","author":"Bray","key":"B4"},{"volume-title":"Building blocks for complicated and situational aware robotic and cyber-physical systems","year":"2023","author":"Bruyninckx","key":"B5"},{"key":"B6","doi-asserted-by":"crossref","DOI":"10.1109\/SII.2019.8700380","article-title":"The Pinocchio C++ library \u2013 a fast and flexible implementation of rigid body dynamics algorithms and their analytical derivatives","volume-title":"IEEE\/SICE international symposium on system integration (SII)","author":"Carpentier","year":"2019"},{"key":"B7","article-title":"Improving contact-rich robotic simulation with generalized rigid-body dynamics algorithms","volume-title":"Embracing contacts \u2013 workshop at ICRA 2023","author":"Chignoli","year":"2023"},{"key":"B8","article-title":"Further normalization of the data base relational model","author":"Codd","year":"1971","journal-title":"Tech. Rep"},{"key":"B9","doi-asserted-by":"crossref","DOI":"10.1145\/800157.805047","article-title":"The complexity of theorem-proving procedures","volume-title":"Proc. ACM symposium on theory of computing","author":"Cook","year":"1971"},{"key":"B10","article-title":"RDF 1.1 Concepts and abstract syntax. W3C recommendation","author":"Cyganiak","year":"2014","journal-title":"World Wide Web Consort. (W3C)"},{"key":"B11","doi-asserted-by":"publisher","first-page":"84","DOI":"10.1109\/mra.2012.2205652","article-title":"Geometric relations between rigid bodies (Part 1): semantics for standardization","volume":"20","author":"De Laet","year":"2012","journal-title":"IEEE Robotics & Automation Mag."},{"key":"B12","article-title":"Factor graphs and GTSAM: a hands-on introduction","volume-title":"Tech. rep.","author":"Dellaert","year":"2012"},{"key":"B13","article-title":"Internationalized Resource identifiers (IRIs)","author":"Duerst","year":"2005","journal-title":"RFC 3987, Internet Eng. Task Force (IETF)"},{"key":"B14","doi-asserted-by":"crossref","DOI":"10.1007\/978-1-4899-7560-7","volume-title":"Rigid body dynamics algorithms","author":"Featherstone","year":"2008"},{"key":"B15","doi-asserted-by":"publisher","first-page":"495","DOI":"10.1007\/s10514-016-9574-0","article-title":"RBDL: an efficient rigid-body dynamics library using recursive algorithms","volume":"41","author":"Felis","year":"2016","journal-title":"Aut. Robots"},{"key":"B16","doi-asserted-by":"crossref","DOI":"10.1109\/TePRA.2013.6556373","article-title":"Tf: the transform library","volume-title":"Proc. IEEE international conference on technologies for practical robot applications (TePRA)","author":"Foote","year":"2013"},{"key":"B17","doi-asserted-by":"crossref","DOI":"10.1145\/3183713.3190657","article-title":"Cypher: an evolving query language for property graphs","volume-title":"Proc. International conference on management of data (SIGMOD)","author":"Francis","year":"2018"},{"volume-title":"Design patterns: elements of reusable object-oriented software","year":"1994","author":"Gamma","key":"B18"},{"key":"B19","article-title":"SPARQL 1.1 query language. W3C recommendation","author":"Harris","year":"2013","journal-title":"World Wide Web Consort. (W3C)"},{"key":"B20","doi-asserted-by":"crossref","DOI":"10.1109\/SIMPAR.2016.7862379","article-title":"Graph-based software knowledge: storage and semantic querying of domain models for run-time adaptation","volume-title":"Proc. International conference on simulation, modeling, and programming for autonomous robots (SIMPAR)","author":"Hochgeschwender","year":"2016"},{"volume-title":"The pragmatic programmer","year":"2019","author":"Hunt","key":"B21"},{"key":"B22","doi-asserted-by":"publisher","first-page":"2153","DOI":"10.1007\/s11071-011-0136-x","article-title":"Multibody graph transformations and analysis Part II: closed-chain constraint embedding","volume":"67","author":"Jain","year":"2012","journal-title":"Nonlinear Dyn."},{"key":"B23","doi-asserted-by":"publisher","first-page":"120","DOI":"10.1145\/358024.358054","article-title":"A simple guide to five normal forms in relational database theory","volume":"26","author":"Kent","year":"1983","journal-title":"Commun. ACM"},{"key":"B24","article-title":"microblx: a reflective, real-time safe, embedded function block framework","volume-title":"Proc. Real time linux workshop (RTLWS)","author":"Klotzbuecher","year":"2013"},{"key":"B25","article-title":"Shapes Constraint Language (SHACL). W3C recommendation","author":"Knublauch","year":"2017","journal-title":"World Wide Web Consort. (W3C)"},{"key":"B26","doi-asserted-by":"crossref","DOI":"10.1145\/643603.643621","article-title":"Strategic programming meets adaptive programming","volume-title":"Proc. International conference on aspect-oriented software development (AOSD)","author":"L\u00e4mmel","year":"2003"},{"key":"B27","article-title":"A universally unique IDentifier (UUID) URN namespace","author":"Leach","year":"2005","journal-title":"RFC 4122, Internet Eng. Task Force (IETF)"},{"key":"B28","doi-asserted-by":"publisher","first-page":"670","DOI":"10.1109\/tro.2009.2020345","article-title":"A unified approach to integrate unilateral constraints in the Stack of tasks","volume":"25","author":"Mansard","year":"2009","journal-title":"IEEE Trans. Robotics"},{"volume-title":"Agile software development principles, patterns, and practices","year":"2003","author":"Martin","key":"B29"},{"article-title":"Object-oriented software construction","year":"1997","author":"Meyer","key":"B30"},{"key":"B31","doi-asserted-by":"crossref","DOI":"10.1007\/3-540-45429-2_5","article-title":"DJ: dynamic adaptive programming in Java","volume-title":"Metalevel architectures and separation of crosscutting concerns","author":"Orleans","year":"2001"},{"article-title":"The definitive ANTLR 4 reference (pragmatic bookshelf)","year":"2013","author":"Parr","key":"B32"},{"key":"B33","doi-asserted-by":"crossref","DOI":"10.1145\/988672.988703","article-title":"Enforcing strict model-view separation in template engines","volume-title":"Proc. International conference on world wide Web (WWW)","author":"Parr","year":"2004"},{"key":"B34","article-title":"Reverend Bayes on inference engines: a distributed hierarchical approach","volume-title":"Proc. International joint conference on artificial intelligence","author":"Pearl","year":"1982"},{"volume-title":"Manipuljacionnyje roboty: dinamika i algoritmy","year":"1978","author":"Popov","key":"B35"},{"key":"B36","article-title":"ROS: an open-source robot operating system","volume-title":"IEEE international conference on robotics and automation (ICRA). Workshop on open source software","author":"Quigley","year":"2009"},{"key":"B37","article-title":"The Gremlin graph traversal machine and language","volume-title":"Proc. Of the ACM database programming languages conference (DBPL)","author":"Rodriguez","year":"2015"},{"key":"B38","doi-asserted-by":"crossref","DOI":"10.1109\/IROS40897.2019.8968500","article-title":"Exploiting linearity in dynamics solvers for the design of composable robotic manipulation architectures","volume-title":"Proc. IEEE\/RSJ international conference on intelligent robots and systems (IROS)","author":"Schneider","year":"2019"},{"key":"B39","doi-asserted-by":"crossref","DOI":"10.1109\/ICRA48891.2023.10160474","article-title":"Domain-specific languages for kinematic chains and their solver algorithms: lessons learned for composable models","volume-title":"Proc. IEEE international conference on robotics and automation (ICRA)","author":"Schneider","year":"2023"},{"key":"B40","article-title":"JSON-LD 1.1. A JSON-based serialization for linked data. W3C recommendation","author":"Sporny","year":"2020","journal-title":"World Wide Web Consort. (W3C)"},{"volume-title":"Modern operating systems","year":"2014","author":"Tanenbaum","key":"B41"},{"key":"B42","article-title":"Attention is all you need","volume-title":"Proc. International conference on neural information processing systems (NIPS)","author":"Vaswani","year":"2017"},{"key":"B43","first-page":"125","article-title":"Modelling and control of motion of manipulational Robots","author":"Vereshchagin","year":"1989","journal-title":"Soviet J. Comput. Syst. Sci."}],"container-title":["Frontiers in Robotics and AI"],"original-title":[],"link":[{"URL":"https:\/\/www.frontiersin.org\/articles\/10.3389\/frobt.2024.1363150\/full","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,29]],"date-time":"2025-01-29T05:24:30Z","timestamp":1738128270000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.frontiersin.org\/articles\/10.3389\/frobt.2024.1363150\/full"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,1,29]]},"references-count":43,"alternative-id":["10.3389\/frobt.2024.1363150"],"URL":"https:\/\/doi.org\/10.3389\/frobt.2024.1363150","relation":{},"ISSN":["2296-9144"],"issn-type":[{"type":"electronic","value":"2296-9144"}],"subject":[],"published":{"date-parts":[[2025,1,29]]},"article-number":"1363150"}}