SlideShare a Scribd company logo
1 of 38
Download to read offline
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

Similar to Software Engineering for Robotics - The RoboStar Technology

IRJET - Robots and their Applications
IRJET - Robots and their ApplicationsIRJET - Robots and their Applications
IRJET - Robots and their ApplicationsIRJET Journal
 
Reactive robotics io_t_2017
Reactive robotics io_t_2017Reactive robotics io_t_2017
Reactive robotics io_t_2017Trayan Iliev
 
MODELING (mechanical) AND ANALYSIS OF ROBO-ARM FOR PICK AND PLACE OPERATION I...
MODELING (mechanical) AND ANALYSIS OF ROBO-ARM FOR PICK AND PLACE OPERATION I...MODELING (mechanical) AND ANALYSIS OF ROBO-ARM FOR PICK AND PLACE OPERATION I...
MODELING (mechanical) AND ANALYSIS OF ROBO-ARM FOR PICK AND PLACE OPERATION I...ijsrd.com
 
An overview of the various kinematic models in both parallel and serial robot...
An overview of the various kinematic models in both parallel and serial robot...An overview of the various kinematic models in both parallel and serial robot...
An overview of the various kinematic models in both parallel and serial robot...Electromate
 
Adapting to a Cambrian AI/SW/HW explosion with open co-design competitions an...
Adapting to a Cambrian AI/SW/HW explosion with open co-design competitions an...Adapting to a Cambrian AI/SW/HW explosion with open co-design competitions an...
Adapting to a Cambrian AI/SW/HW explosion with open co-design competitions an...Grigori Fursin
 
Reactive Java Robotics IoT - jPrime 2016
Reactive Java Robotics IoT - jPrime 2016Reactive Java Robotics IoT - jPrime 2016
Reactive Java Robotics IoT - jPrime 2016Trayan Iliev
 
Development and validation of an "in-the-loop" simulator for small satellites
Development and validation of an "in-the-loop" simulator for small satellitesDevelopment and validation of an "in-the-loop" simulator for small satellites
Development and validation of an "in-the-loop" simulator for small satellitesRobertoSorba
 
A Custom Robotic ARM In CoppeliaSim
A Custom Robotic ARM In CoppeliaSimA Custom Robotic ARM In CoppeliaSim
A Custom Robotic ARM In CoppeliaSimJim Jimenez
 
Intro to robotics
Intro to roboticsIntro to robotics
Intro to roboticshlauster
 
National Instruments Case Studies
National Instruments Case StudiesNational Instruments Case Studies
National Instruments Case StudiesHollie Valler
 
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...Pooyan Jamshidi
 
ERF 2019 blockchain in robotic applications
ERF 2019 blockchain in robotic applications ERF 2019 blockchain in robotic applications
ERF 2019 blockchain in robotic applications Sergey Lonshakov
 
Reactive java programming for the impatient
Reactive java programming for the impatientReactive java programming for the impatient
Reactive java programming for the impatientGrant Steinfeld
 
IPT Reactive Java IoT Demo - BGOUG 2018
IPT Reactive Java IoT Demo - BGOUG 2018IPT Reactive Java IoT Demo - BGOUG 2018
IPT Reactive Java IoT Demo - BGOUG 2018Trayan Iliev
 
Slamcore - Next-Generation SLAM
Slamcore  - Next-Generation SLAMSlamcore  - Next-Generation SLAM
Slamcore - Next-Generation SLAMProject Juno
 
JCHPS 240 B. Sivachandra Mahalingam 430-432
JCHPS 240 B. Sivachandra Mahalingam 430-432JCHPS 240 B. Sivachandra Mahalingam 430-432
JCHPS 240 B. Sivachandra Mahalingam 430-432Abdul Nasar P.A
 

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

IRJET - Robots and their Applications
IRJET - Robots and their ApplicationsIRJET - Robots and their Applications
IRJET - Robots and their Applications
 
Reactive robotics io_t_2017
Reactive robotics io_t_2017Reactive robotics io_t_2017
Reactive robotics io_t_2017
 
MODELING (mechanical) AND ANALYSIS OF ROBO-ARM FOR PICK AND PLACE OPERATION I...
MODELING (mechanical) AND ANALYSIS OF ROBO-ARM FOR PICK AND PLACE OPERATION I...MODELING (mechanical) AND ANALYSIS OF ROBO-ARM FOR PICK AND PLACE OPERATION I...
MODELING (mechanical) AND ANALYSIS OF ROBO-ARM FOR PICK AND PLACE OPERATION I...
 
Robot Simulation
Robot SimulationRobot Simulation
Robot Simulation
 
An overview of the various kinematic models in both parallel and serial robot...
An overview of the various kinematic models in both parallel and serial robot...An overview of the various kinematic models in both parallel and serial robot...
An overview of the various kinematic models in both parallel and serial robot...
 
CHARIOT
CHARIOTCHARIOT
CHARIOT
 
Adapting to a Cambrian AI/SW/HW explosion with open co-design competitions an...
Adapting to a Cambrian AI/SW/HW explosion with open co-design competitions an...Adapting to a Cambrian AI/SW/HW explosion with open co-design competitions an...
Adapting to a Cambrian AI/SW/HW explosion with open co-design competitions an...
 
Reactive Java Robotics IoT - jPrime 2016
Reactive Java Robotics IoT - jPrime 2016Reactive Java Robotics IoT - jPrime 2016
Reactive Java Robotics IoT - jPrime 2016
 
Development and validation of an "in-the-loop" simulator for small satellites
Development and validation of an "in-the-loop" simulator for small satellitesDevelopment and validation of an "in-the-loop" simulator for small satellites
Development and validation of an "in-the-loop" simulator for small satellites
 
A Custom Robotic ARM In CoppeliaSim
A Custom Robotic ARM In CoppeliaSimA Custom Robotic ARM In CoppeliaSim
A Custom Robotic ARM In CoppeliaSim
 
Intro to robotics
Intro to roboticsIntro to robotics
Intro to robotics
 
National Instruments Case Studies
National Instruments Case StudiesNational Instruments Case Studies
National Instruments Case Studies
 
Final-Report
Final-ReportFinal-Report
Final-Report
 
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
 
ERF 2019 blockchain in robotic applications
ERF 2019 blockchain in robotic applications ERF 2019 blockchain in robotic applications
ERF 2019 blockchain in robotic applications
 
Reactive java programming for the impatient
Reactive java programming for the impatientReactive java programming for the impatient
Reactive java programming for the impatient
 
Reptile robot
Reptile robotReptile robot
Reptile robot
 
IPT Reactive Java IoT Demo - BGOUG 2018
IPT Reactive Java IoT Demo - BGOUG 2018IPT Reactive Java IoT Demo - BGOUG 2018
IPT Reactive Java IoT Demo - BGOUG 2018
 
Slamcore - Next-Generation SLAM
Slamcore  - Next-Generation SLAMSlamcore  - Next-Generation SLAM
Slamcore - Next-Generation SLAM
 
JCHPS 240 B. Sivachandra Mahalingam 430-432
JCHPS 240 B. Sivachandra Mahalingam 430-432JCHPS 240 B. Sivachandra Mahalingam 430-432
JCHPS 240 B. Sivachandra Mahalingam 430-432
 

More from AdaCore

RCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standardsRCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standardsAdaCore
 
Have we a Human Ecosystem?
Have we a Human Ecosystem?Have we a Human Ecosystem?
Have we a Human Ecosystem?AdaCore
 
Rust and the coming age of high integrity languages
Rust and the coming age of high integrity languagesRust and the coming age of high integrity languages
Rust and the coming age of high integrity languagesAdaCore
 
SPARKNaCl: A verified, fast cryptographic library
SPARKNaCl: A verified, fast cryptographic librarySPARKNaCl: A verified, fast cryptographic library
SPARKNaCl: A verified, fast cryptographic libraryAdaCore
 
Developing Future High Integrity Processing Solutions
Developing Future High Integrity Processing SolutionsDeveloping Future High Integrity Processing Solutions
Developing Future High Integrity Processing SolutionsAdaCore
 
Taming event-driven software via formal verification
Taming event-driven software via formal verificationTaming event-driven software via formal verification
Taming event-driven software via formal verificationAdaCore
 
Pushing the Boundary of Mostly Automatic Program Proof
Pushing the Boundary of Mostly Automatic Program ProofPushing the Boundary of Mostly Automatic Program Proof
Pushing the Boundary of Mostly Automatic Program ProofAdaCore
 
RCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standardsRCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standardsAdaCore
 
Product Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configurationProduct Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configurationAdaCore
 
Securing the Future of Safety and Security of Embedded Software
Securing the Future of Safety and Security of Embedded SoftwareSecuring the Future of Safety and Security of Embedded Software
Securing the Future of Safety and Security of Embedded SoftwareAdaCore
 
Spark / Ada for Safe and Secure Firmware Development
Spark / Ada for Safe and Secure Firmware DevelopmentSpark / Ada for Safe and Secure Firmware Development
Spark / Ada for Safe and Secure Firmware DevelopmentAdaCore
 
Introducing the HICLASS Research Programme - Enabling Development of Complex ...
Introducing the HICLASS Research Programme - Enabling Development of Complex ...Introducing the HICLASS Research Programme - Enabling Development of Complex ...
Introducing the HICLASS Research Programme - Enabling Development of Complex ...AdaCore
 
The Future of Aerospace – More Software Please!
The Future of Aerospace – More Software Please!The Future of Aerospace – More Software Please!
The Future of Aerospace – More Software Please!AdaCore
 
Adaptive AUTOSAR - The New AUTOSAR Architecture
Adaptive AUTOSAR - The New AUTOSAR ArchitectureAdaptive AUTOSAR - The New AUTOSAR Architecture
Adaptive AUTOSAR - The New AUTOSAR ArchitectureAdaCore
 
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...AdaCore
 
MISRA C in an ISO 26262 context
MISRA C in an ISO 26262 contextMISRA C in an ISO 26262 context
MISRA C in an ISO 26262 contextAdaCore
 
Application of theorem proving for safety-critical vehicle software
Application of theorem proving for safety-critical vehicle softwareApplication of theorem proving for safety-critical vehicle software
Application of theorem proving for safety-critical vehicle softwareAdaCore
 
The Application of Formal Methods to Railway Signalling Software
The Application of Formal Methods to Railway Signalling SoftwareThe Application of Formal Methods to Railway Signalling Software
The Application of Formal Methods to Railway Signalling SoftwareAdaCore
 
Bounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise EnvironmentBounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise EnvironmentAdaCore
 
Multi-Core (MC) Processor Qualification for Safety Critical Systems
Multi-Core (MC) Processor Qualification for Safety Critical SystemsMulti-Core (MC) Processor Qualification for Safety Critical Systems
Multi-Core (MC) Processor Qualification for Safety Critical SystemsAdaCore
 

More from AdaCore (20)

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

Recently uploaded

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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
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
 
🐬 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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 

Recently uploaded (20)

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)
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

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