SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie Optimizing Non-Functional Properties in Service Robotics with a DSL

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
 

Ähnlich wie Optimizing Non-Functional Properties in Service Robotics with a DSL (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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Kürzlich hochgeladen (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Optimizing Non-Functional Properties in Service Robotics with a DSL

  • 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