SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Dealing with Run-Time Variability in
         Service Robotics:
 Towards a DSL for Non-Functional
            Properties
Juan F. Inglés-Romero, Alex Lotz, Cristina Vicente-Chicote, Christian Schlegel




    05.11.2012           DSLRob 2012 / Schlegel                                  1
Motivation
                                           How to get the coffee
                                           to the customer as
                                           hot as possible?
How to improve the execution
quality of a service robot acting in
open-ended environments given
limited onboard resources?


Example:
Optimize coffee delivery service

  1.   guarantee minimum coffee temperature (preference is to serve as hot as possible)
  2.   maximum velocity bound due to safety issues (hot coffee) and battery level
  3.   minimum required velocity depending on distance since coffee cools down
  4.   fast delivery can increase volume of coffee sales




            05.11.2012             DSLRob 2012 / Schlegel                                 2
Motivation
                                                            How to get the coffee
                                                            to the customer as
Focus so far in service robotics still mostly on:           hot as possible?
  • pure task achievement
  • robot functionality
  • how to do something


What cannot be ignored any longer:
 • non-functional properties
      • quality of service
      • safety
      • energy consumption
      • …
 • do it efficiently
      • which possibilities are better than others in
         terms of non-functional properties?




           05.11.2012              DSLRob 2012 / Schlegel                           3
Motivation                                                            How to get the coffee
                                                                      to the customer as
                                                                      hot as possible?




Robotics engineer / design-time

• identify and enumerate all eventualities in advance???
• code proper configurations, resource assignments and reactions for all situations???

 not efficient due to the combinatorial explosion of situations & parameterizations
 even the most skilled robotics engineer cannot foresee all eventualities

Robot / run-time:

• just (re)plan in order to take into account latest information as soon as it becomes
  available???

 complexity far too high when it comes to real-world problems
(not possible to generate action plots given partial information only while also taking into
  account additional properties like, e.g. safety and resource awareness)



         05.11.2012             DSLRob 2012 / Schlegel                                         4
Our Approach:                                                   How to get the coffee
                                                                to the customer as

• Express variability at design-time                            hot as possible?



    • make it as simple as possible for the designer to
      express variability

• Bind variability at run-time based on the then available information
     • enable the robot to bind variability at run-time based on the then
       available information

• remove complexity from the designer by a DSL
• remove complexity from the robot’s run-time decision by modeling variability



We present:
• first version of a DSL to express variability in terms of non-functional properties
• integration into our robotic architecture
• real-world example


        05.11.2012           DSLRob 2012 / Schlegel                                     5
Our Approach                                                          How to get the coffee
                                                                      to the customer as
                                                                      hot as possible?




Separation of concerns:
• models (e.g. task net) describe how to deliver a coffee
• models specify what is a good way (policy) of delivering a coffee
  (e.g. in terms of non-functional properties like safety, energy consumption, etc.)

Separation of roles:
• designer at design-time: provides models
     • action plots with variation points to be bound later by the robot
     • policies for task fulfillment
     • problem solvers to use for binding variability
• robot at run-time: decides on proper bindings for variation points
     • apply policies
     • take into account current situation and context




         05.11.2012             DSLRob 2012 / Schlegel                                        6
http://youtu.be/-nmliXl9kik




05.11.2012   DSLRob 2012 / Schlegel                 7
Modeling Variability
 Objective:     Optimize service quality of a system (non-functional properties):
                     power consumption, performance, etc.
                balance conflicting properties by minimizing overall cost function
                     (constrained optimization problem)
 • property importance varies according to the current context  property priority
 • properties are expressed as functions of variation points  property definition

Inputs                                 VML:                        Outputs
(context variables)         Context definitions,                    (variation point bindings)
• the current robot state   variation point definitions,            • binding system variability
                            Properties and rules                      (non conflicting
  (task and resources)
• the environment situation                                            with functionality)


 adaptation rules:
 • define direct relationships between context variables and variation points
 • event-condition-action rules
 • directly constrain the possible values of variation points according to current context


          05.11.2012             DSLRob 2012 / Schlegel                                            8
Modeling Variability
 /* Data type definitions */
 number percentType { range: [0, 100]; precision: 1; }
 number velocityType { range: [100 600]; precision: 0.1; unit: "mm/s"; }

 /* Contexts */
 context ctx_battery : percentType;
 context ctx_noise : percentType;                                                     Context variables
 /* Adaptation rules */
 rule low_noise : ctx_noise < 20 => speakerVolume = 35;
 rule medium_noise : ctx_noise >= 20 & ctx_noise < 70 => speakerVolume = 55;          Adaptation rules
 rule high_noise : ctx_noise >= 70 => speakerVolume = 85;

 /* Properties */
 property efficiency : percentType maximized {
        priorities: f(batteryCtx) = max(exp(-batteryCtx/15)) - exp(-batteryCtx/15);
        definitions: f(maxVelocity) = maxVelocity; }

 property powerConsumption : percentType minimized {
                                                                                      Properties
       priorities: f(batteryCtx) = exp(-1 * batteryCtx/15);
       definitions: f(maxVelocity) = exp(maxVelocity/150); }

 /* Variation points */
 varpoint maximumVelocity : velocityType;
 varpoint speakerVolume : percentType;
                                                                                      Variation points



            05.11.2012                        DSLRob 2012 / Schlegel                                      9
Execution Semantics
 • M2M transformation from VML model into MiniZinc model
     • MiniZinc is currently supported by many constraint solvers
          • context variables => parameters
          • variation points => decision variables
          • adaptation rules / variation point dependencies => constraints
          • properties => cost function
     • we use
          • The G12 Constraint Programming Platform — University of Melbourne




                      minimize                         normalized
                      maximize            normalized   definition
                                            priority   function
                                           function
        05.11.2012          DSLRob 2012 / Schlegel                              10
Integration into robotic architecture




   05.11.2012   DSLRob 2012 / Schlegel   11
Conclusions & Future Work
•   VML enables designers to focus on modeling the adaptation strategies without
    having to foresee and explicitly deal with all the potential situations that may arise
    in real-world and open-ended environments.

•   The variability, purposefully left open by the designers in the VML models, is then
    bound by the robot at run-time according to its current tasks and context
    (separation of roles and separation of concerns).

•   We underpinned the applicability of our approach by integrating it into our overall
    robotic architecture and by implementing it in a sophisticated real-world scenario
    on our service robot Kate.

•   For the future, we fully integrate VML into our SmartSoft MDSD toolchain.




           05.11.2012             DSLRob 2012 / Schlegel                                     12
Overall Vision: MDSD in Robotics…




    05.11.2012   DSLRob 2012 / Schlegel   13

Más contenido relacionado

La actualidad más candente

Writing DSL's in Scala
Writing DSL's in ScalaWriting DSL's in Scala
Writing DSL's in ScalaAbhijit Sharma
 
Brownfield Domain Driven Design
Brownfield Domain Driven DesignBrownfield Domain Driven Design
Brownfield Domain Driven DesignNicolò Pignatelli
 
Unit 15 cobra case
Unit   15 cobra caseUnit   15 cobra case
Unit 15 cobra caseRaju Panga
 
82159587 case-study-on-corba
82159587 case-study-on-corba82159587 case-study-on-corba
82159587 case-study-on-corbahomeworkping3
 
Corba in power system
Corba in power systemCorba in power system
Corba in power systemPROTIM PAUL
 
Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corbaMayuresh Wadekar
 
Domain Driven Design Introduction
Domain Driven Design IntroductionDomain Driven Design Introduction
Domain Driven Design Introductionwojtek_s
 
Tactical DDD (just better OOP?) - PHPBenelux 2017
Tactical DDD (just better OOP?) - PHPBenelux 2017Tactical DDD (just better OOP?) - PHPBenelux 2017
Tactical DDD (just better OOP?) - PHPBenelux 2017Matthias Noback
 
Hidden Facts of .NET Language Gems
Hidden Facts of .NET Language GemsHidden Facts of .NET Language Gems
Hidden Facts of .NET Language GemsAbhishek Sur
 
Lecture4 corba
Lecture4   corbaLecture4   corba
Lecture4 corbapoovi117
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBAPeter R. Egli
 

La actualidad más candente (17)

Writing DSL's in Scala
Writing DSL's in ScalaWriting DSL's in Scala
Writing DSL's in Scala
 
Brownfield Domain Driven Design
Brownfield Domain Driven DesignBrownfield Domain Driven Design
Brownfield Domain Driven Design
 
Unit 15 cobra case
Unit   15 cobra caseUnit   15 cobra case
Unit 15 cobra case
 
82159587 case-study-on-corba
82159587 case-study-on-corba82159587 case-study-on-corba
82159587 case-study-on-corba
 
19.cobra
19.cobra19.cobra
19.cobra
 
Corba in power system
Corba in power systemCorba in power system
Corba in power system
 
Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corba
 
Unit iv
Unit ivUnit iv
Unit iv
 
Common Object Request Broker Architecture
Common Object Request Broker ArchitectureCommon Object Request Broker Architecture
Common Object Request Broker Architecture
 
Domain Driven Design Introduction
Domain Driven Design IntroductionDomain Driven Design Introduction
Domain Driven Design Introduction
 
Tactical DDD (just better OOP?) - PHPBenelux 2017
Tactical DDD (just better OOP?) - PHPBenelux 2017Tactical DDD (just better OOP?) - PHPBenelux 2017
Tactical DDD (just better OOP?) - PHPBenelux 2017
 
Dev381.Pp
Dev381.PpDev381.Pp
Dev381.Pp
 
Hidden Facts of .NET Language Gems
Hidden Facts of .NET Language GemsHidden Facts of .NET Language Gems
Hidden Facts of .NET Language Gems
 
Lecture4 corba
Lecture4   corbaLecture4   corba
Lecture4 corba
 
CORBA
CORBACORBA
CORBA
 
Corba
CorbaCorba
Corba
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBA
 

Destacado

Smalltalk合同勉強会@名古屋 talk : ESUG Introduction
Smalltalk合同勉強会@名古屋 talk : ESUG IntroductionSmalltalk合同勉強会@名古屋 talk : ESUG Introduction
Smalltalk合同勉強会@名古屋 talk : ESUG IntroductionSerge Stinckwich
 
Visit to Vung Vieng Village - OLPC Vietnam
Visit to Vung Vieng Village - OLPC VietnamVisit to Vung Vieng Village - OLPC Vietnam
Visit to Vung Vieng Village - OLPC VietnamSerge Stinckwich
 
Pure Coordination Using the Coordinator-Configurator Pattern
Pure Coordination Using the Coordinator-Configurator PatternPure Coordination Using the Coordinator-Configurator Pattern
Pure Coordination Using the Coordinator-Configurator PatternSerge Stinckwich
 

Destacado (6)

sukses bekerja
sukses bekerjasukses bekerja
sukses bekerja
 
FP
FPFP
FP
 
Smalltalk合同勉強会@名古屋 talk : ESUG Introduction
Smalltalk合同勉強会@名古屋 talk : ESUG IntroductionSmalltalk合同勉強会@名古屋 talk : ESUG Introduction
Smalltalk合同勉強会@名古屋 talk : ESUG Introduction
 
SWA
SWASWA
SWA
 
Visit to Vung Vieng Village - OLPC Vietnam
Visit to Vung Vieng Village - OLPC VietnamVisit to Vung Vieng Village - OLPC Vietnam
Visit to Vung Vieng Village - OLPC Vietnam
 
Pure Coordination Using the Coordinator-Configurator Pattern
Pure Coordination Using the Coordinator-Configurator PatternPure Coordination Using the Coordinator-Configurator Pattern
Pure Coordination Using the Coordinator-Configurator Pattern
 

Similar a Dealing with Run-Time Variability in Service Robotics: Towards a DSL for Non-Functional Properties

Kutulu: A Domain-specific Language for Feature-driven Product Derivation
Kutulu: A Domain-specific Language for Feature-driven Product DerivationKutulu: A Domain-specific Language for Feature-driven Product Derivation
Kutulu: A Domain-specific Language for Feature-driven Product DerivationOrçun Dayıbaş
 
On the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsFilip Krikava
 
Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...IBM UrbanCode Products
 
Angular js
Angular jsAngular js
Angular jsymtech
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science PlatformDecision Science Community
 
Is It Fast? : Measuring MongoDB Performance
Is It Fast? : Measuring MongoDB PerformanceIs It Fast? : Measuring MongoDB Performance
Is It Fast? : Measuring MongoDB PerformanceTim Callaghan
 
Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolithAgile integration: Decomposing the monolith
Agile integration: Decomposing the monolithJudy Breedlove
 
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...Kamalesh Ramasamy
 
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...danielschulz2005
 
Use Case: Apollo Group at Oracle Open World
Use Case: Apollo Group at Oracle Open WorldUse Case: Apollo Group at Oracle Open World
Use Case: Apollo Group at Oracle Open WorldMongoDB
 
IncQuery-D: Incremental Queries in the Cloud
IncQuery-D: Incremental Queries in the CloudIncQuery-D: Incremental Queries in the Cloud
IncQuery-D: Incremental Queries in the CloudGábor Szárnyas
 
Docker?!?! But I'm a SysAdmin
Docker?!?! But I'm a SysAdminDocker?!?! But I'm a SysAdmin
Docker?!?! But I'm a SysAdminDocker, Inc.
 
How to Migrate Applications Off a Mainframe
How to Migrate Applications Off a MainframeHow to Migrate Applications Off a Mainframe
How to Migrate Applications Off a MainframeVMware Tanzu
 
Converting to the latest COBOL Compiler made simple with the right tools
Converting to the latest COBOL Compiler made simple with the right toolsConverting to the latest COBOL Compiler made simple with the right tools
Converting to the latest COBOL Compiler made simple with the right toolsDevOps for Enterprise Systems
 
Microservices: The Best Practices
Microservices: The Best PracticesMicroservices: The Best Practices
Microservices: The Best PracticesPavel Mička
 
Microservice at a glance
Microservice at a glanceMicroservice at a glance
Microservice at a glanceKetan Ghumatkar
 
Best Practices with OLAP Modeling with Cognos Transformer (Cognos 8)
Best Practices with OLAP Modeling with Cognos Transformer (Cognos 8)Best Practices with OLAP Modeling with Cognos Transformer (Cognos 8)
Best Practices with OLAP Modeling with Cognos Transformer (Cognos 8)Senturus
 
King Tut Architecture
King Tut ArchitectureKing Tut Architecture
King Tut ArchitectureGary Pedretti
 

Similar a Dealing with Run-Time Variability in Service Robotics: Towards a DSL for Non-Functional Properties (20)

Kutulu: A Domain-specific Language for Feature-driven Product Derivation
Kutulu: A Domain-specific Language for Feature-driven Product DerivationKutulu: A Domain-specific Language for Feature-driven Product Derivation
Kutulu: A Domain-specific Language for Feature-driven Product Derivation
 
On the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF Models
 
Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...
 
Meteor + React
Meteor + ReactMeteor + React
Meteor + React
 
Angular js
Angular jsAngular js
Angular js
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 
Is It Fast? : Measuring MongoDB Performance
Is It Fast? : Measuring MongoDB PerformanceIs It Fast? : Measuring MongoDB Performance
Is It Fast? : Measuring MongoDB Performance
 
Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolithAgile integration: Decomposing the monolith
Agile integration: Decomposing the monolith
 
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
 
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
 
Use Case: Apollo Group at Oracle Open World
Use Case: Apollo Group at Oracle Open WorldUse Case: Apollo Group at Oracle Open World
Use Case: Apollo Group at Oracle Open World
 
IncQuery-D: Incremental Queries in the Cloud
IncQuery-D: Incremental Queries in the CloudIncQuery-D: Incremental Queries in the Cloud
IncQuery-D: Incremental Queries in the Cloud
 
Docker?!?! But I'm a SysAdmin
Docker?!?! But I'm a SysAdminDocker?!?! But I'm a SysAdmin
Docker?!?! But I'm a SysAdmin
 
How to Migrate Applications Off a Mainframe
How to Migrate Applications Off a MainframeHow to Migrate Applications Off a Mainframe
How to Migrate Applications Off a Mainframe
 
Converting to the latest COBOL Compiler made simple with the right tools
Converting to the latest COBOL Compiler made simple with the right toolsConverting to the latest COBOL Compiler made simple with the right tools
Converting to the latest COBOL Compiler made simple with the right tools
 
Microservices: The Best Practices
Microservices: The Best PracticesMicroservices: The Best Practices
Microservices: The Best Practices
 
Microservice at a glance
Microservice at a glanceMicroservice at a glance
Microservice at a glance
 
Best Practices with OLAP Modeling with Cognos Transformer (Cognos 8)
Best Practices with OLAP Modeling with Cognos Transformer (Cognos 8)Best Practices with OLAP Modeling with Cognos Transformer (Cognos 8)
Best Practices with OLAP Modeling with Cognos Transformer (Cognos 8)
 
King Tut Architecture
King Tut ArchitectureKing Tut Architecture
King Tut Architecture
 
Software models
Software modelsSoftware models
Software models
 

Más de Serge Stinckwich

A Graphical Language for Real-Time Critical Robot Commands
A Graphical Language for Real-Time Critical Robot CommandsA Graphical Language for Real-Time Critical Robot Commands
A Graphical Language for Real-Time Critical Robot CommandsSerge Stinckwich
 
Introduction to DYROS'10 Workshop
Introduction to DYROS'10 WorkshopIntroduction to DYROS'10 Workshop
Introduction to DYROS'10 WorkshopSerge Stinckwich
 
Using Smalltalk for controlling robotics systems
Using Smalltalk for controlling robotics systemsUsing Smalltalk for controlling robotics systems
Using Smalltalk for controlling robotics systemsSerge Stinckwich
 
Pharo, an innovative and open-source Smalltalk
Pharo, an innovative and open-source SmalltalkPharo, an innovative and open-source Smalltalk
Pharo, an innovative and open-source SmalltalkSerge Stinckwich
 
Smalltalk合同勉強会@名古屋 talk: Pharo introduction
Smalltalk合同勉強会@名古屋 talk: Pharo introductionSmalltalk合同勉強会@名古屋 talk: Pharo introduction
Smalltalk合同勉強会@名古屋 talk: Pharo introductionSerge Stinckwich
 
An instrument whose music is ideas
An instrument whose music is ideasAn instrument whose music is ideas
An instrument whose music is ideasSerge Stinckwich
 
Smalltalk Bar Camp Hanoi 2009
Smalltalk  Bar Camp Hanoi 2009Smalltalk  Bar Camp Hanoi 2009
Smalltalk Bar Camp Hanoi 2009Serge Stinckwich
 

Más de Serge Stinckwich (7)

A Graphical Language for Real-Time Critical Robot Commands
A Graphical Language for Real-Time Critical Robot CommandsA Graphical Language for Real-Time Critical Robot Commands
A Graphical Language for Real-Time Critical Robot Commands
 
Introduction to DYROS'10 Workshop
Introduction to DYROS'10 WorkshopIntroduction to DYROS'10 Workshop
Introduction to DYROS'10 Workshop
 
Using Smalltalk for controlling robotics systems
Using Smalltalk for controlling robotics systemsUsing Smalltalk for controlling robotics systems
Using Smalltalk for controlling robotics systems
 
Pharo, an innovative and open-source Smalltalk
Pharo, an innovative and open-source SmalltalkPharo, an innovative and open-source Smalltalk
Pharo, an innovative and open-source Smalltalk
 
Smalltalk合同勉強会@名古屋 talk: Pharo introduction
Smalltalk合同勉強会@名古屋 talk: Pharo introductionSmalltalk合同勉強会@名古屋 talk: Pharo introduction
Smalltalk合同勉強会@名古屋 talk: Pharo introduction
 
An instrument whose music is ideas
An instrument whose music is ideasAn instrument whose music is ideas
An instrument whose music is ideas
 
Smalltalk Bar Camp Hanoi 2009
Smalltalk  Bar Camp Hanoi 2009Smalltalk  Bar Camp Hanoi 2009
Smalltalk Bar Camp Hanoi 2009
 

Último

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 

Último (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Dealing with Run-Time Variability in Service Robotics: Towards a DSL for Non-Functional Properties

  • 1. Dealing with Run-Time Variability in Service Robotics: Towards a DSL for Non-Functional Properties Juan F. Inglés-Romero, Alex Lotz, Cristina Vicente-Chicote, Christian Schlegel 05.11.2012 DSLRob 2012 / Schlegel 1
  • 2. Motivation How to get the coffee to the customer as hot as possible? How to improve the execution quality of a service robot acting in open-ended environments given limited onboard resources? Example: Optimize coffee delivery service 1. guarantee minimum coffee temperature (preference is to serve as hot as possible) 2. maximum velocity bound due to safety issues (hot coffee) and battery level 3. minimum required velocity depending on distance since coffee cools down 4. fast delivery can increase volume of coffee sales 05.11.2012 DSLRob 2012 / Schlegel 2
  • 3. Motivation How to get the coffee to the customer as Focus so far in service robotics still mostly on: hot as possible? • pure task achievement • robot functionality • how to do something What cannot be ignored any longer: • non-functional properties • quality of service • safety • energy consumption • … • do it efficiently • which possibilities are better than others in terms of non-functional properties? 05.11.2012 DSLRob 2012 / Schlegel 3
  • 4. Motivation How to get the coffee to the customer as hot as possible? Robotics engineer / design-time • identify and enumerate all eventualities in advance??? • code proper configurations, resource assignments and reactions for all situations???  not efficient due to the combinatorial explosion of situations & parameterizations  even the most skilled robotics engineer cannot foresee all eventualities Robot / run-time: • just (re)plan in order to take into account latest information as soon as it becomes available???  complexity far too high when it comes to real-world problems (not possible to generate action plots given partial information only while also taking into account additional properties like, e.g. safety and resource awareness) 05.11.2012 DSLRob 2012 / Schlegel 4
  • 5. Our Approach: How to get the coffee to the customer as • Express variability at design-time hot as possible? • make it as simple as possible for the designer to express variability • Bind variability at run-time based on the then available information • enable the robot to bind variability at run-time based on the then available information • remove complexity from the designer by a DSL • remove complexity from the robot’s run-time decision by modeling variability We present: • first version of a DSL to express variability in terms of non-functional properties • integration into our robotic architecture • real-world example 05.11.2012 DSLRob 2012 / Schlegel 5
  • 6. Our Approach How to get the coffee to the customer as hot as possible? Separation of concerns: • models (e.g. task net) describe how to deliver a coffee • models specify what is a good way (policy) of delivering a coffee (e.g. in terms of non-functional properties like safety, energy consumption, etc.) Separation of roles: • designer at design-time: provides models • action plots with variation points to be bound later by the robot • policies for task fulfillment • problem solvers to use for binding variability • robot at run-time: decides on proper bindings for variation points • apply policies • take into account current situation and context 05.11.2012 DSLRob 2012 / Schlegel 6
  • 7. http://youtu.be/-nmliXl9kik 05.11.2012 DSLRob 2012 / Schlegel 7
  • 8. Modeling Variability Objective: Optimize service quality of a system (non-functional properties): power consumption, performance, etc. balance conflicting properties by minimizing overall cost function (constrained optimization problem) • property importance varies according to the current context  property priority • properties are expressed as functions of variation points  property definition Inputs VML: Outputs (context variables) Context definitions, (variation point bindings) • the current robot state variation point definitions, • binding system variability Properties and rules (non conflicting (task and resources) • the environment situation with functionality) adaptation rules: • define direct relationships between context variables and variation points • event-condition-action rules • directly constrain the possible values of variation points according to current context 05.11.2012 DSLRob 2012 / Schlegel 8
  • 9. Modeling Variability /* Data type definitions */ number percentType { range: [0, 100]; precision: 1; } number velocityType { range: [100 600]; precision: 0.1; unit: "mm/s"; } /* Contexts */ context ctx_battery : percentType; context ctx_noise : percentType; Context variables /* Adaptation rules */ rule low_noise : ctx_noise < 20 => speakerVolume = 35; rule medium_noise : ctx_noise >= 20 & ctx_noise < 70 => speakerVolume = 55; Adaptation rules rule high_noise : ctx_noise >= 70 => speakerVolume = 85; /* Properties */ property efficiency : percentType maximized { priorities: f(batteryCtx) = max(exp(-batteryCtx/15)) - exp(-batteryCtx/15); definitions: f(maxVelocity) = maxVelocity; } property powerConsumption : percentType minimized { Properties priorities: f(batteryCtx) = exp(-1 * batteryCtx/15); definitions: f(maxVelocity) = exp(maxVelocity/150); } /* Variation points */ varpoint maximumVelocity : velocityType; varpoint speakerVolume : percentType; Variation points 05.11.2012 DSLRob 2012 / Schlegel 9
  • 10. Execution Semantics • M2M transformation from VML model into MiniZinc model • MiniZinc is currently supported by many constraint solvers • context variables => parameters • variation points => decision variables • adaptation rules / variation point dependencies => constraints • properties => cost function • we use • The G12 Constraint Programming Platform — University of Melbourne minimize normalized maximize normalized definition priority function function 05.11.2012 DSLRob 2012 / Schlegel 10
  • 11. Integration into robotic architecture 05.11.2012 DSLRob 2012 / Schlegel 11
  • 12. Conclusions & Future Work • VML enables designers to focus on modeling the adaptation strategies without having to foresee and explicitly deal with all the potential situations that may arise in real-world and open-ended environments. • The variability, purposefully left open by the designers in the VML models, is then bound by the robot at run-time according to its current tasks and context (separation of roles and separation of concerns). • We underpinned the applicability of our approach by integrating it into our overall robotic architecture and by implementing it in a sophisticated real-world scenario on our service robot Kate. • For the future, we fully integrate VML into our SmartSoft MDSD toolchain. 05.11.2012 DSLRob 2012 / Schlegel 12
  • 13. Overall Vision: MDSD in Robotics… 05.11.2012 DSLRob 2012 / Schlegel 13