SlideShare a Scribd company logo
RoboStar Technology
Software Engineering for Robotics
Ana Cavalcanti
University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
November, 2019
Thanks:
Alvaro Miyazawa, Pedro Ribeiro, Augusto Sampaio, Jon Timmis, Jim Woodcock
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 1 / 37
Current approach to development in robotics
1st phase: Abstract model
state machine
1st phase: Abstract model
state machine
controller
code
hardware
simulation
discrete
environment
simulation
2nd phase: Simulation
controller
code
hardware
simulation
discrete
environment
simulation
2nd phase: Simulation
low-level
code robot environment
3rd phase: Implementation
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 2 / 37
Example state machines
Figure 1: Complete state diagram illustrating the operation of the Relay Chain algorithm. The three core states are chain
AUVs in the Relay Chain, explore AUVs in the exploratory shoal and navigate AUVs moving between chain and explore. The
initialisation flow chart is shown in (a)
.
end AUVs are special cases. As discussed in the initialis-
ing section the start AUV remains at the water’s surface and
initialises chain formation. The end AUV is both a member
of them in the chain. They aim to stay in a position halfway
between the AUVs on either side of them. If the halfway
distance exceeds a ‘stress threshold’ then it will stay nearer
Becky Naylor, Mark Read, Jon Timmis, and Andy Tyrrell.
The Relay Chain: Communication between an Exploratory Underwater Shoal and a Surface Vehicle.
ALIFE 14: Proceedings of the 14th International Conference on the Synthesis and Simulation of Living Systems.
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 3 / 37
Example state machines
“A group of e-puck robots transporting an object
(blue box) towards a goal (red cylinder).”
Jianing Chen, M. Gauci and R. Gross. “A strategy for transporting tall objects with a swarm of miniature mobile
robots”. In: Robotics and Automation (ICRA), 2013 IEEE International Conference on. 2013, pp. 863–869.
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 4 / 37
Our approach
RoboChart + RoboWorld
Model
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 5 / 37
Our approach
AUTOMATIC
GENERATION
Proof ModelRoboChart+ RoboWorld
Model
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 6 / 37
Our approach
AUTOMATIC
GENERATION
Proof ModelRoboChart+ RoboWorld
Model
Model checkers
Theorem provers
Properties of
interest
valid?
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 7 / 37
Our approach
AUTOMATIC
GENERATION
Proof ModelRoboChart + RoboWorld
Model
Model checkers
Theorem provers
Properties of
interest
valid?
NO
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 8 / 37
Our approach
AUTOMATIC
GENERATION
Proof ModelRoboChart + RoboWorld
Model
Model checkers
Theorem provers
Properties of
interest
valid?
NO
RoboSim
Model
AUTOMATIC
GENERATION
YES
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 9 / 37
Our approach
AUTOMATIC
GENERATION
Proof ModelRoboChart + RoboWorld
Model
Model checkers
Theorem provers
Properties of
interest
valid?
NO
RoboSim
Model
YES
Robotics
Simulator
valid?
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 10 / 37
Our approach
AUTOMATIC
GENERATION
Proof ModelRoboChart + RoboWorld
Model
Model checkers
Theorem provers
Properties of
interest
valid?
NO
RoboSim
Model
AUTOMATIC
GENERATION
YES
Robotics
Simulator
valid?
NO
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 11 / 37
Our approach
AUTOMATIC
GENERATION
Proof ModelRoboChart + RoboWorld
Model
Model checkers
Theorem provers
Properties of
interest
valid?
NO
RoboSim
Model
AUTOMATIC
GENERATION
YES
Robotics
Simulator
valid?
NOYESDeployment
Code AUTOMATIC
GENERATION
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 12 / 37
Our approach
AUTOMATIC
GENERATION
Proof ModelRoboChart + RoboWorld
Model
Model checkers
Theorem provers
Properties of
interest
valid?
NO
RoboSim
Model
AUTOMATIC
GENERATION
YES
Robotics
Simulator
valid?
NOYES
Test
cases
CONVERSION
Test
cases
Test
cases
Deployment
Code AUTOMATIC
GENERATION
System
Testing
correct?
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 13 / 37
Our approach
AUTOMATIC
GENERATION
Proof ModelRoboChart + RoboWorld
Model
Model checkers
Theorem provers
Properties of
interest
valid?
NO
RoboSim
Model
AUTOMATIC
GENERATION
YES
Robotics
Simulator
valid?
NOYES
Test
cases
CONVERSION
Test
cases
Test
cases
Deployment
Code AUTOMATIC
GENERATION
System
Testing
correct?
NO
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 14 / 37
Our approach
AUTOMATIC
GENERATION
Proof ModelRoboWorld+RoboChart
Model
Model checkers
Theorem provers
Properties of
interest
valid?
NO
RoboSim
Model
AUTOMATIC
GENERATION
YES
Robotics
Simulator
valid?
NOYES
Test
cases
CONVERSION
Test
cases
Test
cases
Deployment
Code AUTOMATIC
GENERATION
System
Testing
correct?
NOYES
Code Proofs
Test results and assumptions
Environment restrictions
CERTIFIED
FOR SAFE USE
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 15 / 37
Our approach
Control Software Platform Services Environment Assumptions
RoboChart + RoboWorld
Control Software
Platform
Physical Model Scenario
RoboSim
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 16 / 37
Our approach
Control Software Platform Services Environment Assumptions
RoboChart + RoboWorld
Control Software
Platform
Physical Model Scenario
RoboSim
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 17 / 37
Our approach
Control Software Platform Services Environment Assumptions
RoboChart + RoboWorld
Control Software
Platform
Physical Model
Scenario
RoboSim
Platform Services
realisation
abstraction
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 18 / 37
Our approach
Control Software Platform Services Environment Assumptions
RoboChart + RoboWorld
Control Software
Platform
Physical Model
Scenario
RoboSim
Platform Services
realisation
abstraction
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 19 / 37
A very small RoboSim example - d-model
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 20 / 37
Behaviour for RoboSim: cycle simulation
while
true
read sensors
process data
write to
actuators
cycle
period
{
...
Buffered parallelism
Visible behaviour: registerRead and registerWrite
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 21 / 37
Behaviour for RoboSim: cycle simulation
while
true
read sensors
process data
write to
actuators
cycle
period
{
...
Buffered parallelism
Visible behaviour: registerRead and registerWrite
?
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 21 / 37
p-model: physical model
Inspired by facilities offered by simulators
Basic notions: links, joints, sensors, actuators
Sensors, actuators, joints: system of differential algebraic
equations
Diagrammatic notation: block diagram
Linked to a module: platform mapping
Sensors and actuators → Variables, events, and operations
Automatic generation
XML-based SDF for simulation
CSP-based model for reasoning
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 22 / 37
p-model: physical model
Advantages over XML-based notations
Diagrammatic notation
Customised editor
Well-formedness constraints
Simple and clear mechanism to define poses (position and
orientation)
Indexing for collections of sensors and actuators
Structuring mechanisms
Extensibility
Modelling of behaviour: differential algebraic equations
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 23 / 37
A very small example - Not the footbot
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 24 / 37
A very small example - Not the footbot
link
link
body
body
joint
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 25 / 37
A very small example - Not the footbot
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 26 / 37
Joints - a small example
Part of a library
Behaviour: DAE systems
Relate inputs and outputs
May involve local variables and constants
Constants can be defined at instantiation
Sensors and actuators can be defined
in a similar way.
Equations can be obtained by curve
fitting based on experiments.
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 27 / 37
Actuator - a small example
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 28 / 37
Parts - a small example
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 29 / 37
Parts - a small example
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 30 / 37
Parts - a small example
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 31 / 37
Platform mappings
Association between d-model and p-model
Defines variables, events, and operations
Variable: input to actuators
Input events: predicate and communicated values, if any
Output events: assignment to inputs of actuators
Operations: actions or DAE systems
Very simple definitions: no time
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 32 / 37
Platform mapping - a small example
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 33 / 37
Automatic generation of simulations
Translation to SDF
Automatic
Useful tool for validation
Various physics engines
Equations are (mostly) ignored
Proof of properties is possible
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 34 / 37
RoboTool support for our approach
Eclipse plug-ins: www.cs.york.ac.uk/robostar/
RoboChart
Models
Requirements
ARGoS
RoboTool
C++
PRISM Storm
Reactive Modules
Formalism
CSP and
timed-CSP
Qualitative Results
Simulation
Quantitative
Results
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 35 / 37
So, what next?
RoboSim
Implementation
Refinement technique
Soundness
Case studies: driverless pod, sandwich maker, ...
Support to user
Properties language
Modelling of environment
Test generation
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 36 / 37
RoboSoft - A Royal Academy of Engineering Event
www.cs.york.ac.uk/robostar/robosoft
13-14 November, 2019 London, UK
Some of the invited speakers
Robin Bloomfield, UK
Davide Brugali, Italy
Kerstin Eder, Bristol Robotics Lab
Gusz Eiben, The Netherlands
Michael Fisher, Liverpool
Arnaud Gotlieb, Norway
Felix Ingrand, France
Patrizio Pelliccione, Sweden
Christian Schlegel, Germany
Alan Winfield, Bristol Robotics Lab
Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar)
RoboStar Technology – Software Engineering for Robotics 37 / 37

More Related Content

PPT
Drawbot Final Presentation
PPTX
Pandora Robotics Team - 2007 to 2015 - ECE, AUTH
PDF
RAIOT- Robotics Automation & Internet of Things Lab Report
PDF
Modeling Software Systems in Experimental Robotics for Improved Reproducibility
PPTX
MAZE RUNNER and the best of u to do the needful
PDF
Deep Reinforcement Learning | Amazon Robotics Challenge, Image Processing Lec...
PDF
Welcome Our Robot Overlords
PPTX
Modular Pick and Place Simulator using ROS Framework
Drawbot Final Presentation
Pandora Robotics Team - 2007 to 2015 - ECE, AUTH
RAIOT- Robotics Automation & Internet of Things Lab Report
Modeling Software Systems in Experimental Robotics for Improved Reproducibility
MAZE RUNNER and the best of u to do the needful
Deep Reinforcement Learning | Amazon Robotics Challenge, Image Processing Lec...
Welcome Our Robot Overlords
Modular Pick and Place Simulator using ROS Framework

Similar to Software Engineering for Robotics - The RoboStar Technology (20)

PPTX
Roboclub, IITK (2008)
PDF
IRJET - Robots and their Applications
PDF
Reactive robotics io_t_2017
PDF
MODELING (mechanical) AND ANALYSIS OF ROBO-ARM FOR PICK AND PLACE OPERATION I...
PDF
Robot Simulation
PDF
An overview of the various kinematic models in both parallel and serial robot...
PDF
CHARIOT
PDF
Adapting to a Cambrian AI/SW/HW explosion with open co-design competitions an...
PDF
Reactive Java Robotics IoT - jPrime 2016
PPTX
Development and validation of an "in-the-loop" simulator for small satellites
PDF
A Custom Robotic ARM In CoppeliaSim
PPT
Intro to robotics
PPTX
National Instruments Case Studies
PDF
Final-Report
PDF
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
PDF
ERF 2019 blockchain in robotic applications
PPT
Reactive java programming for the impatient
PPTX
Reptile robot
PDF
Cabledriven Parallel Robots Proceedings Of The Second International Conferenc...
PDF
IPT Reactive Java IoT Demo - BGOUG 2018
Roboclub, IITK (2008)
IRJET - Robots and their Applications
Reactive robotics io_t_2017
MODELING (mechanical) AND ANALYSIS OF ROBO-ARM FOR PICK AND PLACE OPERATION I...
Robot Simulation
An overview of the various kinematic models in both parallel and serial robot...
CHARIOT
Adapting to a Cambrian AI/SW/HW explosion with open co-design competitions an...
Reactive Java Robotics IoT - jPrime 2016
Development and validation of an "in-the-loop" simulator for small satellites
A Custom Robotic ARM In CoppeliaSim
Intro to robotics
National Instruments Case Studies
Final-Report
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
ERF 2019 blockchain in robotic applications
Reactive java programming for the impatient
Reptile robot
Cabledriven Parallel Robots Proceedings Of The Second International Conferenc...
IPT Reactive Java IoT Demo - BGOUG 2018
Ad

More from AdaCore (20)

PDF
RCA OCORA: Safe Computing Platform using open standards
PDF
Have we a Human Ecosystem?
PDF
Rust and the coming age of high integrity languages
PDF
SPARKNaCl: A verified, fast cryptographic library
PDF
Developing Future High Integrity Processing Solutions
PDF
Taming event-driven software via formal verification
PDF
Pushing the Boundary of Mostly Automatic Program Proof
PDF
RCA OCORA: Safe Computing Platform using open standards
PDF
Product Lines and Ecosystems: from customization to configuration
PDF
Securing the Future of Safety and Security of Embedded Software
PDF
Spark / Ada for Safe and Secure Firmware Development
PDF
Introducing the HICLASS Research Programme - Enabling Development of Complex ...
PDF
The Future of Aerospace – More Software Please!
PDF
Adaptive AUTOSAR - The New AUTOSAR Architecture
PDF
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...
PDF
MISRA C in an ISO 26262 context
PPTX
Application of theorem proving for safety-critical vehicle software
PDF
The Application of Formal Methods to Railway Signalling Software
PDF
Bounded Model Checking for C Programs in an Enterprise Environment
PDF
Multi-Core (MC) Processor Qualification for Safety Critical Systems
RCA OCORA: Safe Computing Platform using open standards
Have we a Human Ecosystem?
Rust and the coming age of high integrity languages
SPARKNaCl: A verified, fast cryptographic library
Developing Future High Integrity Processing Solutions
Taming event-driven software via formal verification
Pushing the Boundary of Mostly Automatic Program Proof
RCA OCORA: Safe Computing Platform using open standards
Product Lines and Ecosystems: from customization to configuration
Securing the Future of Safety and Security of Embedded Software
Spark / Ada for Safe and Secure Firmware Development
Introducing the HICLASS Research Programme - Enabling Development of Complex ...
The Future of Aerospace – More Software Please!
Adaptive AUTOSAR - The New AUTOSAR Architecture
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...
MISRA C in an ISO 26262 context
Application of theorem proving for safety-critical vehicle software
The Application of Formal Methods to Railway Signalling Software
Bounded Model Checking for C Programs in an Enterprise Environment
Multi-Core (MC) Processor Qualification for Safety Critical Systems
Ad

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Machine Learning_overview_presentation.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPT
Teaching material agriculture food technology
PDF
Approach and Philosophy of On baking technology
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
cuic standard and advanced reporting.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Electronic commerce courselecture one. Pdf
PPTX
Spectroscopy.pptx food analysis technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Chapter 3 Spatial Domain Image Processing.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Empathic Computing: Creating Shared Understanding
Machine Learning_overview_presentation.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Teaching material agriculture food technology
Approach and Philosophy of On baking technology
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Advanced methodologies resolving dimensionality complications for autism neur...
cuic standard and advanced reporting.pdf
Encapsulation theory and applications.pdf
Unlocking AI with Model Context Protocol (MCP)
Diabetes mellitus diagnosis method based random forest with bat algorithm
Mobile App Security Testing_ A Comprehensive Guide.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Spectral efficient network and resource selection model in 5G networks
Electronic commerce courselecture one. Pdf
Spectroscopy.pptx food analysis technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

Software Engineering for Robotics - The RoboStar Technology

  • 1. RoboStar Technology Software Engineering for Robotics Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) November, 2019 Thanks: Alvaro Miyazawa, Pedro Ribeiro, Augusto Sampaio, Jon Timmis, Jim Woodcock Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 1 / 37
  • 2. Current approach to development in robotics 1st phase: Abstract model state machine 1st phase: Abstract model state machine controller code hardware simulation discrete environment simulation 2nd phase: Simulation controller code hardware simulation discrete environment simulation 2nd phase: Simulation low-level code robot environment 3rd phase: Implementation Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 2 / 37
  • 3. Example state machines Figure 1: Complete state diagram illustrating the operation of the Relay Chain algorithm. The three core states are chain AUVs in the Relay Chain, explore AUVs in the exploratory shoal and navigate AUVs moving between chain and explore. The initialisation flow chart is shown in (a) . end AUVs are special cases. As discussed in the initialis- ing section the start AUV remains at the water’s surface and initialises chain formation. The end AUV is both a member of them in the chain. They aim to stay in a position halfway between the AUVs on either side of them. If the halfway distance exceeds a ‘stress threshold’ then it will stay nearer Becky Naylor, Mark Read, Jon Timmis, and Andy Tyrrell. The Relay Chain: Communication between an Exploratory Underwater Shoal and a Surface Vehicle. ALIFE 14: Proceedings of the 14th International Conference on the Synthesis and Simulation of Living Systems. Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 3 / 37
  • 4. Example state machines “A group of e-puck robots transporting an object (blue box) towards a goal (red cylinder).” Jianing Chen, M. Gauci and R. Gross. “A strategy for transporting tall objects with a swarm of miniature mobile robots”. In: Robotics and Automation (ICRA), 2013 IEEE International Conference on. 2013, pp. 863–869. Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 4 / 37
  • 5. Our approach RoboChart + RoboWorld Model Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 5 / 37
  • 6. Our approach AUTOMATIC GENERATION Proof ModelRoboChart+ RoboWorld Model Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 6 / 37
  • 7. Our approach AUTOMATIC GENERATION Proof ModelRoboChart+ RoboWorld Model Model checkers Theorem provers Properties of interest valid? Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 7 / 37
  • 8. Our approach AUTOMATIC GENERATION Proof ModelRoboChart + RoboWorld Model Model checkers Theorem provers Properties of interest valid? NO Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 8 / 37
  • 9. Our approach AUTOMATIC GENERATION Proof ModelRoboChart + RoboWorld Model Model checkers Theorem provers Properties of interest valid? NO RoboSim Model AUTOMATIC GENERATION YES Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 9 / 37
  • 10. Our approach AUTOMATIC GENERATION Proof ModelRoboChart + RoboWorld Model Model checkers Theorem provers Properties of interest valid? NO RoboSim Model YES Robotics Simulator valid? Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 10 / 37
  • 11. Our approach AUTOMATIC GENERATION Proof ModelRoboChart + RoboWorld Model Model checkers Theorem provers Properties of interest valid? NO RoboSim Model AUTOMATIC GENERATION YES Robotics Simulator valid? NO Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 11 / 37
  • 12. Our approach AUTOMATIC GENERATION Proof ModelRoboChart + RoboWorld Model Model checkers Theorem provers Properties of interest valid? NO RoboSim Model AUTOMATIC GENERATION YES Robotics Simulator valid? NOYESDeployment Code AUTOMATIC GENERATION Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 12 / 37
  • 13. Our approach AUTOMATIC GENERATION Proof ModelRoboChart + RoboWorld Model Model checkers Theorem provers Properties of interest valid? NO RoboSim Model AUTOMATIC GENERATION YES Robotics Simulator valid? NOYES Test cases CONVERSION Test cases Test cases Deployment Code AUTOMATIC GENERATION System Testing correct? Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 13 / 37
  • 14. Our approach AUTOMATIC GENERATION Proof ModelRoboChart + RoboWorld Model Model checkers Theorem provers Properties of interest valid? NO RoboSim Model AUTOMATIC GENERATION YES Robotics Simulator valid? NOYES Test cases CONVERSION Test cases Test cases Deployment Code AUTOMATIC GENERATION System Testing correct? NO Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 14 / 37
  • 15. Our approach AUTOMATIC GENERATION Proof ModelRoboWorld+RoboChart Model Model checkers Theorem provers Properties of interest valid? NO RoboSim Model AUTOMATIC GENERATION YES Robotics Simulator valid? NOYES Test cases CONVERSION Test cases Test cases Deployment Code AUTOMATIC GENERATION System Testing correct? NOYES Code Proofs Test results and assumptions Environment restrictions CERTIFIED FOR SAFE USE Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 15 / 37
  • 16. Our approach Control Software Platform Services Environment Assumptions RoboChart + RoboWorld Control Software Platform Physical Model Scenario RoboSim Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 16 / 37
  • 17. Our approach Control Software Platform Services Environment Assumptions RoboChart + RoboWorld Control Software Platform Physical Model Scenario RoboSim Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 17 / 37
  • 18. Our approach Control Software Platform Services Environment Assumptions RoboChart + RoboWorld Control Software Platform Physical Model Scenario RoboSim Platform Services realisation abstraction Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 18 / 37
  • 19. Our approach Control Software Platform Services Environment Assumptions RoboChart + RoboWorld Control Software Platform Physical Model Scenario RoboSim Platform Services realisation abstraction Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 19 / 37
  • 20. A very small RoboSim example - d-model Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 20 / 37
  • 21. Behaviour for RoboSim: cycle simulation while true read sensors process data write to actuators cycle period { ... Buffered parallelism Visible behaviour: registerRead and registerWrite Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 21 / 37
  • 22. Behaviour for RoboSim: cycle simulation while true read sensors process data write to actuators cycle period { ... Buffered parallelism Visible behaviour: registerRead and registerWrite ? Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 21 / 37
  • 23. p-model: physical model Inspired by facilities offered by simulators Basic notions: links, joints, sensors, actuators Sensors, actuators, joints: system of differential algebraic equations Diagrammatic notation: block diagram Linked to a module: platform mapping Sensors and actuators → Variables, events, and operations Automatic generation XML-based SDF for simulation CSP-based model for reasoning Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 22 / 37
  • 24. p-model: physical model Advantages over XML-based notations Diagrammatic notation Customised editor Well-formedness constraints Simple and clear mechanism to define poses (position and orientation) Indexing for collections of sensors and actuators Structuring mechanisms Extensibility Modelling of behaviour: differential algebraic equations Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 23 / 37
  • 25. A very small example - Not the footbot Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 24 / 37
  • 26. A very small example - Not the footbot link link body body joint Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 25 / 37
  • 27. A very small example - Not the footbot Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 26 / 37
  • 28. Joints - a small example Part of a library Behaviour: DAE systems Relate inputs and outputs May involve local variables and constants Constants can be defined at instantiation Sensors and actuators can be defined in a similar way. Equations can be obtained by curve fitting based on experiments. Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 27 / 37
  • 29. Actuator - a small example Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 28 / 37
  • 30. Parts - a small example Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 29 / 37
  • 31. Parts - a small example Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 30 / 37
  • 32. Parts - a small example Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 31 / 37
  • 33. Platform mappings Association between d-model and p-model Defines variables, events, and operations Variable: input to actuators Input events: predicate and communicated values, if any Output events: assignment to inputs of actuators Operations: actions or DAE systems Very simple definitions: no time Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 32 / 37
  • 34. Platform mapping - a small example Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 33 / 37
  • 35. Automatic generation of simulations Translation to SDF Automatic Useful tool for validation Various physics engines Equations are (mostly) ignored Proof of properties is possible Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 34 / 37
  • 36. RoboTool support for our approach Eclipse plug-ins: www.cs.york.ac.uk/robostar/ RoboChart Models Requirements ARGoS RoboTool C++ PRISM Storm Reactive Modules Formalism CSP and timed-CSP Qualitative Results Simulation Quantitative Results Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 35 / 37
  • 37. So, what next? RoboSim Implementation Refinement technique Soundness Case studies: driverless pod, sandwich maker, ... Support to user Properties language Modelling of environment Test generation Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 36 / 37
  • 38. RoboSoft - A Royal Academy of Engineering Event www.cs.york.ac.uk/robostar/robosoft 13-14 November, 2019 London, UK Some of the invited speakers Robin Bloomfield, UK Davide Brugali, Italy Kerstin Eder, Bristol Robotics Lab Gusz Eiben, The Netherlands Michael Fisher, Liverpool Arnaud Gotlieb, Norway Felix Ingrand, France Patrizio Pelliccione, Sweden Christian Schlegel, Germany Alan Winfield, Bristol Robotics Lab Ana Cavalcanti University of York, UK - RoboStar (www.cs.york.ac.uk/RoboStar) RoboStar Technology – Software Engineering for Robotics 37 / 37