Pure Coordination using the            Coordinator–Configurator Pattern3rd International Workshop on Domain-Specific Languag...
Introduction    Context: coordination in component based systems.    Coordination supervises and monitors functional compu...
Problem StatementThe common practice of tightly integrating the action execution within theCoordinator has three disadvant...
Approach: Coordinator-Configurator Pattern   Split “rich” coordinator into                                      Coordinator...
The Role of the DSL    Formalization: A language to express the    Configurator–Configuration; Shields Coordinator from:    ...
Case study: dual youbot coupling   Two KuKA YouBots coupled   using impedance control.   Safe behavior: switch to gravity ...
Component structure      youbot_coupling                                      Coordinator                    command event...
Coordination Statechart (subset)   unsynchronized and                            coupling coordination   synchronized mode...
The DSL implementation: Configurator–ConfigurationConfiguration {   disable_copying = Configuration{       port_write("Cart_...
Side node: Unifying Deployment and CoordinationObservation:By extending the Configurator withprimitives for instantiating c...
ConclusionsThe coordinator-configurator pattern enables:    Reusability, by encapsulating software and hardware platform   ...
ThanksQuestions?Acknowledgements This research was funded by the European Communityunder grant agreements FP7-ICT-231940 (...
Upcoming SlideShare
Loading in...5
×

Pure Coordination Using the Coordinator-Configurator Pattern

616

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
616
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pure Coordination Using the Coordinator-Configurator Pattern

  1. 1. Pure Coordination using the Coordinator–Configurator Pattern3rd 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. 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. 3. Problem StatementThe common practice of tightly integrating the action execution within theCoordinator 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. 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. 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 changeThe 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. 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. 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. 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. 9. The DSL implementation: Configurator–ConfigurationConfiguration { 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. 10. Side node: Unifying Deployment and CoordinationObservation:By extending the Configurator withprimitives for instantiating components, create_componentsdeployment and startup can be naturally e_create_components_OKexpressed as just another case of runtimeCoordination. 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. 11. ConclusionsThe 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. 12. ThanksQuestions?Acknowledgements This research was funded by the European Communityunder grant agreements FP7-ICT-231940 (Best Practice in Robotics), andFP7-ICT-230902(ROSETTA), and by K.U.Leuven’s Concerted Research ActionGlobal 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×