Pure Coordination using the
            Coordinator–Configurator Pattern
3rd International Workshop on Domain-Specific Languages and models
                        for ROBotic systems


    M. Klotzbuecher1        Geoffrey Biggs2                 Herman Bruyninckx1

                   1 Department   of Mechanical Engineering
                         Katholieke Universiteit Leuven
                                    Belgium
                   2 Intelligent   Systems Research Institute
                                    AIST, Japan.


                             November 5, 2012

                                                                                  National Institute of
                                                                               Advanced Industrial Science
                                                                                    and Technology
                 Pure Coordination using the Coordinator–Configurator Pattern
                                                                                        AIST
Introduction


    Context: coordination in component based systems.

    Coordination supervises and monitors functional computations.

    Commonly used coordination models: FSM, Petri-nets, Statecharts,
    SFCs.
    Common practice: in a Coordination FSM:
        Call methods/operations (move to)
        Change parameters (e.g. set a gain)
        Start and stop components
        ...



                                                                                   National Institute of
                                                                                Advanced Industrial Science
                                                                                     and Technology
                  Pure Coordination using the Coordinator–Configurator Pattern
                                                                                         AIST
Problem Statement

The common practice of tightly integrating the action execution within the
Coordinator has three disadvantages:

  1   Reduced resuability of Coordinator due to pollution with platform
      dependent information.
  2   Reduced determinism of Coordinator
          Logical (no separation between logical and platform specific error).
          Temporal (due to blocking calls).
          ...

  3   Reduced robustness of Coordinator: crashing or indefinite blocking
      of calls will render Coordinator inoperative.


                                                                                       National Institute of
                                                                                    Advanced Industrial Science
                                                                                         and Technology
                      Pure Coordination using the Coordinator–Configurator Pattern
                                                                                             AIST
Approach: Coordinator-Configurator Pattern


   Split “rich” coordinator into                                      Coordinator
   Pure Coordinator and
   Configurator.                                      command events                  status events

   Coordinator commands and                                           Configurator
                                                              call
   monitors via events only.
                                                                                       start/stop
   Configurator is configured with
                                                  computation                     configure
   a set of Configurations that it
   applies upon receiving the                                                            computation
   respective event.                                             computation

   Success or failure is likewise
   reported via events.


                                                                                             National Institute of
                                                                                          Advanced Industrial Science
                                                                                               and Technology
                    Pure Coordination using the Coordinator–Configurator Pattern
                                                                                                   AIST
The Role of the DSL


    Formalization: A language to express the
    Configurator–Configuration; Shields Coordinator from:
         Software platform specific details (e.g. how to change a property)
         Hardware platform specific details (e.g. how a specific gripper is
         opened)

    Encourages construction of reusable Coordinators by introducing:
         A dedicated language to model change
         The Configurator as a dedicated entity to apply change

The approach is independent of the specific coordination model used.



                                                                                     National Institute of
                                                                                  Advanced Industrial Science
                                                                                       and Technology
                    Pure Coordination using the Coordinator–Configurator Pattern
                                                                                           AIST
Case study: dual youbot coupling




   Two KuKA YouBots coupled
   using impedance control.
   Safe behavior: switch to gravity
   compensation upon exceeding a
   force threshold or
   communication breakdown.




                                                                                    National Institute of
                                                                                 Advanced Industrial Science
                                                                                      and Technology
                   Pure Coordination using the Coordinator–Configurator Pattern
                                                                                          AIST
Component structure

      youbot_coupling
                                      Coordinator

                    command events                 status events

                                      Configurator


                                           e_force_thres_exceeded/below

          computation                                                     connected to CartPosMsr
                                                          CartPosDsr      of peer Youbot
                          Cart_Impedance

                 CartForceDes             CartPosMsr

                                                                          Connected to CartPosDsr
                                                                          of peer Youbot
                               Dynamics

                                                                          eQoS_change



                                                                              heartbeat_in
                           youbot_driver
                                                                   commlat
                                                                              heartbeat_out


                                                                                                 National Institute of
                                                                                              Advanced Industrial Science
                                                                                                   and Technology
                        Pure Coordination using the Coordinator–Configurator Pattern
                                                                                                       AIST
Coordination Statechart (subset)

   unsynchronized and                            coupling coordination
   synchronized model
                                                             unsynchronized
   whether the communication
   quality is sufficient or not.
                                                     e_QoS_OK                e_QoS_NOTOK
   Switch between
   gravity comp and copying                           synchronized
   depending on the current forces.
                                                                   gravity_comp
   Impedance control and gravity
                                                        [ above_force_thres() ]
   compensation are enabled upon                                           [ ! above_force_thres() ]
   entering and exiting copying                                copying
   respectively.                                               entry: enable_copying(true)
                                                               exit: disable_copying(false)




                                                                                                 National Institute of
                                                                                              Advanced Industrial Science
                                                                                                   and Technology
                   Pure Coordination using the Coordinator–Configurator Pattern
                                                                                                       AIST
The DSL implementation: Configurator–Configuration

Configuration {
   disable_copying = Configuration{
       port_write("Cart_Impedance.ext_ref_mode", false)
   },

    enable_copying = Configuration {
        port_write("Cart_Impedance.ext_ref_mode", true)
    },

    eight_DOF = Configuration {
       property_set("Dynamics.force_gain", {0.1, 0.1,
          0.1})
    },

    five_DOF = Configuration {
       property_set("Dynamics.force_gain", {0, 0, 0})
    },
                                                                                 National Institute of
}                                                                             Advanced Industrial Science
                                                                                   and Technology
                Pure Coordination using the Coordinator–Configurator Pattern
                                                                                       AIST
Side node: Unifying Deployment and Coordination


Observation:
By extending the Configurator with
primitives for instantiating components,                          create_components
deployment and startup can be naturally
                                                                            e_create_components_OK
expressed as just another case of runtime
Coordination.
                                                               configure_components

                                                                e_configure_components_OK


                                                                  start_components




                                                                                        National Institute of
                                                                                     Advanced Industrial Science
                                                                                          and Technology
                   Pure Coordination using the Coordinator–Configurator Pattern
                                                                                              AIST
Conclusions


The coordinator-configurator pattern enables:

    Reusability, by encapsulating software and hardware platform
    specifics in the Configurator–Configuration.
    Increased determinism, by separating commanding and execution.

    Higher robustness of the Coordinator, by shielding it from the
    execution of actions.

Deployment is reduced to just an other case of run-time coordination.




                                                                                     National Institute of
                                                                                  Advanced Industrial Science
                                                                                       and Technology
                    Pure Coordination using the Coordinator–Configurator Pattern
                                                                                           AIST
Thanks



Questions?


Acknowledgements This research was funded by the European Community
under grant agreements FP7-ICT-231940 (Best Practice in Robotics), and
FP7-ICT-230902(ROSETTA), and by K.U.Leuven’s Concerted Research Action
Global real-time optimal control of autonomous robots and mechatronic systems.




                                                                                      National Institute of
                                                                                   Advanced Industrial Science
                                                                                        and Technology
                     Pure Coordination using the Coordinator–Configurator Pattern
                                                                                            AIST

More Related Content

PDF
V8.6 Brochure
PPT
Sa 008 patterns
PDF
Humanoid Dual Arm Robot with Neural Learning of Skill Transferring Control
PPTX
DAC 2012
PDF
IntelliSuite V8.6
PDF
1 introduction to vlsi physical design
PDF
Школа-студия разработки для iOS. Лекция 4. Работа с данными
PDF
"Удобный и расширяемый роутинг в iOS-приложении" Тимур Юсипов (Avito)
V8.6 Brochure
Sa 008 patterns
Humanoid Dual Arm Robot with Neural Learning of Skill Transferring Control
DAC 2012
IntelliSuite V8.6
1 introduction to vlsi physical design
Школа-студия разработки для iOS. Лекция 4. Работа с данными
"Удобный и расширяемый роутинг в iOS-приложении" Тимур Юсипов (Avito)

Similar to Pure Coordination Using the Coordinator-Configurator Pattern (20)

PDF
Designpatterns
PDF
Bryan.moser
PDF
Bryan.moser
PDF
Pantech brochure big
PDF
System model optimization through functional models execution methodology and...
PDF
ASE01.ppt
PDF
Jeff.robinson
PDF
Jeff.robinson
PPT
Architecture solution architecture method
PDF
Obeo thales@md day2011
PDF
Algorithms and Parallel Computing 1st Edition Fayez Gebali
PPTX
US DOT ITS NTCIP 1213 And The Internet Of Things
PDF
Cloud computing: evolution or redefinition
PDF
MPG tech law
PDF
MPG tech law
PDF
Verteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
PDF
Aig 2011 building intelligent control systems using graphical system design...
PDF
4+1view architecture
PDF
4+1view architecture
KEY
On the Relationship Between Change Coupling and Software Defects
Designpatterns
Bryan.moser
Bryan.moser
Pantech brochure big
System model optimization through functional models execution methodology and...
ASE01.ppt
Jeff.robinson
Jeff.robinson
Architecture solution architecture method
Obeo thales@md day2011
Algorithms and Parallel Computing 1st Edition Fayez Gebali
US DOT ITS NTCIP 1213 And The Internet Of Things
Cloud computing: evolution or redefinition
MPG tech law
MPG tech law
Verteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
Aig 2011 building intelligent control systems using graphical system design...
4+1view architecture
4+1view architecture
On the Relationship Between Change Coupling and Software Defects
Ad

More from Serge Stinckwich (11)

PDF
A Graphical Language for Real-Time Critical Robot Commands
PDF
Dealing with Run-Time Variability in Service Robotics: Towards a DSL for Non-...
PDF
Introduction to DYROS'10 Workshop
PDF
A DSL for the visualization of Multi-Robot Systems
KEY
Using Smalltalk for controlling robotics systems
KEY
Visit to Vung Vieng Village - OLPC Vietnam
KEY
Pharo, an innovative and open-source Smalltalk
KEY
Smalltalk合同勉強会@名古屋 talk: Pharo introduction
KEY
Smalltalk合同勉強会@名古屋 talk : ESUG Introduction
KEY
An instrument whose music is ideas
PDF
Smalltalk Bar Camp Hanoi 2009
A Graphical Language for Real-Time Critical Robot Commands
Dealing with Run-Time Variability in Service Robotics: Towards a DSL for Non-...
Introduction to DYROS'10 Workshop
A DSL for the visualization of Multi-Robot Systems
Using Smalltalk for controlling robotics systems
Visit to Vung Vieng Village - OLPC Vietnam
Pharo, an innovative and open-source Smalltalk
Smalltalk合同勉強会@名古屋 talk: Pharo introduction
Smalltalk合同勉強会@名古屋 talk : ESUG Introduction
An instrument whose music is ideas
Smalltalk Bar Camp Hanoi 2009
Ad

Pure Coordination Using the Coordinator-Configurator Pattern

  • 1. Pure Coordination using the Coordinator–Configurator Pattern 3rd International Workshop on Domain-Specific Languages and models for ROBotic systems M. Klotzbuecher1 Geoffrey Biggs2 Herman Bruyninckx1 1 Department of Mechanical Engineering Katholieke Universiteit Leuven Belgium 2 Intelligent Systems Research Institute AIST, Japan. November 5, 2012 National Institute of Advanced Industrial Science and Technology Pure Coordination using the Coordinator–Configurator Pattern AIST
  • 2. Introduction Context: coordination in component based systems. Coordination supervises and monitors functional computations. Commonly used coordination models: FSM, Petri-nets, Statecharts, SFCs. Common practice: in a Coordination FSM: Call methods/operations (move to) Change parameters (e.g. set a gain) Start and stop components ... National Institute of Advanced Industrial Science and Technology Pure Coordination using the Coordinator–Configurator Pattern AIST
  • 3. Problem Statement The common practice of tightly integrating the action execution within the Coordinator has three disadvantages: 1 Reduced resuability of Coordinator due to pollution with platform dependent information. 2 Reduced determinism of Coordinator Logical (no separation between logical and platform specific error). Temporal (due to blocking calls). ... 3 Reduced robustness of Coordinator: crashing or indefinite blocking of calls will render Coordinator inoperative. National Institute of Advanced Industrial Science and Technology Pure Coordination using the Coordinator–Configurator Pattern AIST
  • 4. Approach: Coordinator-Configurator Pattern Split “rich” coordinator into Coordinator Pure Coordinator and Configurator. command events status events Coordinator commands and Configurator call monitors via events only. start/stop Configurator is configured with computation configure a set of Configurations that it applies upon receiving the computation respective event. computation Success or failure is likewise reported via events. National Institute of Advanced Industrial Science and Technology Pure Coordination using the Coordinator–Configurator Pattern AIST
  • 5. The Role of the DSL Formalization: A language to express the Configurator–Configuration; Shields Coordinator from: Software platform specific details (e.g. how to change a property) Hardware platform specific details (e.g. how a specific gripper is opened) Encourages construction of reusable Coordinators by introducing: A dedicated language to model change The Configurator as a dedicated entity to apply change The approach is independent of the specific coordination model used. National Institute of Advanced Industrial Science and Technology Pure Coordination using the Coordinator–Configurator Pattern AIST
  • 6. Case study: dual youbot coupling Two KuKA YouBots coupled using impedance control. Safe behavior: switch to gravity compensation upon exceeding a force threshold or communication breakdown. National Institute of Advanced Industrial Science and Technology Pure Coordination using the Coordinator–Configurator Pattern AIST
  • 7. Component structure youbot_coupling Coordinator command events status events Configurator e_force_thres_exceeded/below computation connected to CartPosMsr CartPosDsr of peer Youbot Cart_Impedance CartForceDes CartPosMsr Connected to CartPosDsr of peer Youbot Dynamics eQoS_change heartbeat_in youbot_driver commlat heartbeat_out National Institute of Advanced Industrial Science and Technology Pure Coordination using the Coordinator–Configurator Pattern AIST
  • 8. Coordination Statechart (subset) unsynchronized and coupling coordination synchronized model unsynchronized whether the communication quality is sufficient or not. e_QoS_OK e_QoS_NOTOK Switch between gravity comp and copying synchronized depending on the current forces. gravity_comp Impedance control and gravity [ above_force_thres() ] compensation are enabled upon [ ! above_force_thres() ] entering and exiting copying copying respectively. entry: enable_copying(true) exit: disable_copying(false) National Institute of Advanced Industrial Science and Technology Pure Coordination using the Coordinator–Configurator Pattern AIST
  • 9. The DSL implementation: Configurator–Configuration Configuration { disable_copying = Configuration{ port_write("Cart_Impedance.ext_ref_mode", false) }, enable_copying = Configuration { port_write("Cart_Impedance.ext_ref_mode", true) }, eight_DOF = Configuration { property_set("Dynamics.force_gain", {0.1, 0.1, 0.1}) }, five_DOF = Configuration { property_set("Dynamics.force_gain", {0, 0, 0}) }, National Institute of } Advanced Industrial Science and Technology Pure Coordination using the Coordinator–Configurator Pattern AIST
  • 10. Side node: Unifying Deployment and Coordination Observation: By extending the Configurator with primitives for instantiating components, create_components deployment and startup can be naturally e_create_components_OK expressed as just another case of runtime Coordination. configure_components e_configure_components_OK start_components National Institute of Advanced Industrial Science and Technology Pure Coordination using the Coordinator–Configurator Pattern AIST
  • 11. Conclusions The coordinator-configurator pattern enables: Reusability, by encapsulating software and hardware platform specifics in the Configurator–Configuration. Increased determinism, by separating commanding and execution. Higher robustness of the Coordinator, by shielding it from the execution of actions. Deployment is reduced to just an other case of run-time coordination. National Institute of Advanced Industrial Science and Technology Pure Coordination using the Coordinator–Configurator Pattern AIST
  • 12. Thanks Questions? Acknowledgements This research was funded by the European Community under grant agreements FP7-ICT-231940 (Best Practice in Robotics), and FP7-ICT-230902(ROSETTA), and by K.U.Leuven’s Concerted Research Action Global real-time optimal control of autonomous robots and mechatronic systems. National Institute of Advanced Industrial Science and Technology Pure Coordination using the Coordinator–Configurator Pattern AIST