SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
From System Modeling to
Automated System Testing
An overview of the CITK Toolchain
BOSCH — February 12th 2015. Stuttgart, Germany | Florian Lier [flier@techfak.uni-bielefeld.de]
Systems in Robotics | Current State
Research on autonomous robots achieved considerable progress over the
recent years.

Reported results are typically validated through experimental evaluation or
demonstrated live at robotics competitions. [ DARPA Challenge, RoboCup, …]

Amongst other reasons, this is due to: „off-the-shelf“ robots [ iCub, NAO, … ]
and vivid open source communities providing reusable building blocks, e.g.
ROS, Orocos, OPRoS, Yarp …

Publicly available data sets are used to improve benchmarking procedures,
i.e., Rawseeds Project.
3
Systems in Robotics | Software Foundation
4
!
Most current robotics systems are realized by implementing a component-based architecture
These components do not necessarily share the same ecosystem, build, deploy and
testing environment or integration model …
AR Toolkit
Systems in Robotics | Software Foundation
Systems in Robotics | Problem Statement
System artifacts are often distributed over different locations, thus already the
discovery, identification and aggregation of all required artifacts is difficult.

Which specific versions (master or v0.1) of software components were in use
for a particular system or ideally system version?

How can automated integration testing, evaluation and preservation of
results of these heterogeneous components be achieved?
7
Systems in Robotics | Aspect Overview
8
Before you can test
Systems in Experimental Robotics | Goal
To tackle these issues we introduced an approach based on an
integrated software toolchain for system developers (testers)
and experiment designers.
9
Systems in Experimental Robotics | System Model
10
Test!
n SCM’s
dev dev
iCub-nightly
auto-gen
auto deploy
/somewhere/$USER/
Recipes: Java, C/C++, Python, Experiments System Composite
Run Software & Experiment in Lab
direct use
..or in office/home
Local & Global CI
11
sync
Web-based catalog (Systems and related artifacts)
Systems in Robotics | Tool Chain
n SCM’s
dev dev
iCub-nightly
auto-gen
auto deploy
/somewhere/
Recipes: Java, C/C++, Python System Composite
Lab
direct use
Local & Global CI
12
Systems in Robotics | Technical Realization Recipes
..or in office/home
sync
Web-based catalog (Systems and related artifacts)
13
Systems in Robotics | Catalog
14
Systems in Robotics | Catalog
Local & Global CI
15
Systems in Robotics | Bootstrapping
download pre-packaged CI Server
Local & Global CI
16
Systems in Robotics | Bootstrapping
extract & simply start it
17
Systems in Robotics | Jenkins
find ready to use local (or global) CI Server
18
clone distribution/recipe repository
Systems in Robotics | Job Generator
19
invoke job-configurator with desired distribution including tests
Systems in Robotics | Job Generator
20
Systems in Robotics | Job Generator
Systems in Robotics | Testing
21
!
What are these “tests” actually?
Systems in Robotics | Test Framework Goals
22
Not a “tailored” solution for a specific system or even language (component-
based architecture may even prevent this in the first place)

Minimize the effort, let the machine do the work (CI) and enable developers
to design well-structured functional tests

Explicit environment setup and configuration, transparent orchestration,
repeatable and comparable tests

Serialize building and testing automatically

Enable and verify system start-up and tear-down
23
SM
$ENVIONMENT_VARS_DEF
$COMPONENT_A(CHECK_CRITERIA)
$COMPONENT_B(CHECK_CRITERIA)
$COMPONENT_N(CHECK_CRITERIA)
DM
EXEC
RUN
CLEAN
EVAL
CLEAN / REPORT
exec(COMPONENT_A): if "OK" B
exec(COMPONENT_B): if "OK" C
exec(COMPONENT_C): if "OK" D
exec(COMPONENT_Y): if "OK" Z
inject()
exec(COMPONENT_Z): if "OK" E
EXIT
ERROR
export ROS_ROOT=/opt/ros/indigo
export DISPLAY=:0
rosbag record -j /some/topic
java -jar slow_in_java.jar
sh overly_complicated.sh
must start after 5 seconds
monitor PID continuously
must not print “segfaulting()”
must print “conn. established”
lockfile.file must be present
Component Success Criteria
24
Systems in Robotics | Test State Machine Concept
SM
$ENVIONMENT_VARS_DEF
$COMPONENT_A(CHECK_CRITERIA)
$COMPONENT_B(CHECK_CRITERIA)
$COMPONENT_N(CHECK_CRITERIA)
DM
EXEC
RUN
CLEAN
EVAL
CLEAN / REPORT
exec(COMPONENT_A): if "OK" B
exec(COMPONENT_B): if "OK" C
exec(COMPONENT_C): if "OK" D
exec(COMPONENT_Y): if "OK" Z
inject()
exec(COMPONENT_Z): if "OK" E
EXIT
ERROR
stop processes in RUN.invert()
e.g., plot.sh < $FSMT_RUN/logs/*
e.g., read_and_clean.logs
stop processes in EVAL.invert()
25
SM
$ENVIONMENT_VARS_DEF
$COMPONENT_A(CHECK_CRITERIA)
$COMPONENT_B(CHECK_CRITERIA)
$COMPONENT_N(CHECK_CRITERIA)
DM
EXEC
RUN
CLEAN
EVAL
CLEAN / REPORT
exec(COMPONENT_A): if "OK" B
exec(COMPONENT_B): if "OK" C
exec(COMPONENT_C): if "OK" D
exec(COMPONENT_Y): if "OK" Z
inject()
exec(COMPONENT_Z): if "OK" E
EXIT
ERROR
Close all component loggers
Report exit status sys.exit(n)
Create zip archive
Create xUnit output
Systems in Robotics | Test State Machine Concept
26
Systems in Robotics | Test State Machine Implementation
Framework called FSMT (Finite State Machine Based Testing)*

Set of tools written in Python

Implementation of executable “test” state machines including all features as defined in the concept

Simple configuration using *.ini files
* http://opensource.cit-ec.de/projects/fsmt/
27
Systems in Robotics | Test State Machine Implementation
28
Systems in Robotics | Test State Machine Implementation
29
Systems Robotics | FSMT Invocation
fsmt_iniparser my_test.ini -o my_test.scxml
30
Systems Robotics | DEMO
DEMO
https://vimeo.com/112005754
31
Systems Robotics | Provided Benefits
Not a “tailored” solution for a specific system or even language (component-
based architecture may even prevent this in the first place)

Minimize the effort, let the machine do the work (CI) and enable developers
to design well-structured functional tests

Explicit environment setup and configuration, transparent orchestration,
repeatable and comparable tests

Serialize building and testing automatically

Enable and verify system start-up and tear-down
32
Systems Robotics | Thank you!
Links

Web Catalog: https://toolkit.cit-ec.de
Distribution Project: https://opensource.cit-ec.de/citk
Video Material: http://vimeo.com/groups/citk

http://opensource.cit-ec.de/projects/fsmt/
Affiliation

Florian Lier is with Cognitive Interaction Technology — Center of Excellence, Bielefeld University 

Supervisor: Dr.-Ing. habil Sven Wachsmuth
33
Systems Robotics | Literature
Publications (2014)

Modeling Software Systems in Experimental Robotics for Improved Reproducibility -- A Case Study with the iCub Humanoid Robot
http://pub.uni-bielefeld.de/publication/2705677

The Cognitive Interaction Toolkit – Improving Reproducibility of Robotic Systems Experiments

http://pub.uni-bielefeld.de/publication/2702526

Towards Automated Execution and Evaluation of Simulated Prototype HRI Experiments

http://pub.uni-bielefeld.de/publication/2645922

Simulation and HRI Recent Perspectives with the MORSE Simulator

http://pub.uni-bielefeld.de/publication/2685211
34
https://vimeo.com/112005754
Systems in Robotics | Static Demo

Weitere ähnliche Inhalte

Was ist angesagt?

Vlsi design-manual
Vlsi design-manualVlsi design-manual
Vlsi design-manualAmbuj Jha
 
Unit testing on embedded target with C++Test
Unit testing on embedded  target with C++TestUnit testing on embedded  target with C++Test
Unit testing on embedded target with C++TestEngineering Software Lab
 
Vlsi lab manual exp:2
Vlsi lab manual exp:2Vlsi lab manual exp:2
Vlsi lab manual exp:2komala vani
 
OpenCV祭り (配布用)
OpenCV祭り (配布用)OpenCV祭り (配布用)
OpenCV祭り (配布用)tomoaki0705
 
Automated testing of NASA Software - part 2
Automated testing of NASA Software - part 2Automated testing of NASA Software - part 2
Automated testing of NASA Software - part 2Dharmalingam Ganesan
 
A DSL for Model Mutation and its Applications to Different Domains
A DSL for Model Mutation and its Applications to Different DomainsA DSL for Model Mutation and its Applications to Different Domains
A DSL for Model Mutation and its Applications to Different DomainsPablo Gómez Abajo
 
Assessing Model-Based Testing: An Empirical Study Conducted in Industry
Assessing Model-Based Testing: An Empirical Study Conducted in IndustryAssessing Model-Based Testing: An Empirical Study Conducted in Industry
Assessing Model-Based Testing: An Empirical Study Conducted in IndustryDharmalingam Ganesan
 
Uvm presentation dac2011_final
Uvm presentation dac2011_finalUvm presentation dac2011_final
Uvm presentation dac2011_finalsean chen
 

Was ist angesagt? (9)

Vlsi design-manual
Vlsi design-manualVlsi design-manual
Vlsi design-manual
 
Unit testing on embedded target with C++Test
Unit testing on embedded  target with C++TestUnit testing on embedded  target with C++Test
Unit testing on embedded target with C++Test
 
Vlsi lab manual exp:2
Vlsi lab manual exp:2Vlsi lab manual exp:2
Vlsi lab manual exp:2
 
SWEET - A Tool for WCET Flow Analysis - Björn Lisper
SWEET - A Tool for WCET Flow Analysis - Björn LisperSWEET - A Tool for WCET Flow Analysis - Björn Lisper
SWEET - A Tool for WCET Flow Analysis - Björn Lisper
 
OpenCV祭り (配布用)
OpenCV祭り (配布用)OpenCV祭り (配布用)
OpenCV祭り (配布用)
 
Automated testing of NASA Software - part 2
Automated testing of NASA Software - part 2Automated testing of NASA Software - part 2
Automated testing of NASA Software - part 2
 
A DSL for Model Mutation and its Applications to Different Domains
A DSL for Model Mutation and its Applications to Different DomainsA DSL for Model Mutation and its Applications to Different Domains
A DSL for Model Mutation and its Applications to Different Domains
 
Assessing Model-Based Testing: An Empirical Study Conducted in Industry
Assessing Model-Based Testing: An Empirical Study Conducted in IndustryAssessing Model-Based Testing: An Empirical Study Conducted in Industry
Assessing Model-Based Testing: An Empirical Study Conducted in Industry
 
Uvm presentation dac2011_final
Uvm presentation dac2011_finalUvm presentation dac2011_final
Uvm presentation dac2011_final
 

Andere mochten auch

Rapyuta:Cloud robotics Platform - by shan
Rapyuta:Cloud robotics Platform - by shanRapyuta:Cloud robotics Platform - by shan
Rapyuta:Cloud robotics Platform - by shanshan km
 
An Introduction to ROS-Industrial
An Introduction to ROS-IndustrialAn Introduction to ROS-Industrial
An Introduction to ROS-IndustrialClay Flannigan
 
A novel Approch for Robot Grasping on cloud
A novel Approch for Robot Grasping on cloudA novel Approch for Robot Grasping on cloud
A novel Approch for Robot Grasping on cloudKrishna Kangane
 
淺談台灣機器人 產業&發展
淺談台灣機器人 產業&發展淺談台灣機器人 產業&發展
淺談台灣機器人 產業&發展Po-Jen Lai
 
ROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRV
ROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRVROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRV
ROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRVJuxi Leitner
 
ROS - Robotics Operation System
ROS - Robotics Operation SystemROS - Robotics Operation System
ROS - Robotics Operation Systemhudvin
 
20161006 rsp2016 ohkawa-presen
20161006 rsp2016 ohkawa-presen20161006 rsp2016 ohkawa-presen
20161006 rsp2016 ohkawa-presenTakeshi Ohkawa
 
Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)Piyush Chand
 
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊Po-Jen Lai
 
Raspberry Pi + ROS
Raspberry Pi + ROSRaspberry Pi + ROS
Raspberry Pi + ROSArnoldBail
 
Cloud Robotics: It’s time to offload their brain on Cloud, for better Robotic...
Cloud Robotics: It’s time to offload their brain on Cloud, for better Robotic...Cloud Robotics: It’s time to offload their brain on Cloud, for better Robotic...
Cloud Robotics: It’s time to offload their brain on Cloud, for better Robotic...Sai Natkar
 
Cloud Robotics- Enable Cloud Computing for Robots
Cloud Robotics- Enable Cloud Computing for Robots Cloud Robotics- Enable Cloud Computing for Robots
Cloud Robotics- Enable Cloud Computing for Robots Ruijiao Li
 
Cloud robotics
Cloud roboticsCloud robotics
Cloud roboticsIIT Bombay
 
Introduction to ROS (Robot Operating System)
Introduction to ROS (Robot Operating System) Introduction to ROS (Robot Operating System)
Introduction to ROS (Robot Operating System) hvcoup
 

Andere mochten auch (19)

Rapyuta:Cloud robotics Platform - by shan
Rapyuta:Cloud robotics Platform - by shanRapyuta:Cloud robotics Platform - by shan
Rapyuta:Cloud robotics Platform - by shan
 
An Introduction to ROS-Industrial
An Introduction to ROS-IndustrialAn Introduction to ROS-Industrial
An Introduction to ROS-Industrial
 
A novel Approch for Robot Grasping on cloud
A novel Approch for Robot Grasping on cloudA novel Approch for Robot Grasping on cloud
A novel Approch for Robot Grasping on cloud
 
Simulation in Robotics
Simulation in RoboticsSimulation in Robotics
Simulation in Robotics
 
淺談台灣機器人 產業&發展
淺談台灣機器人 產業&發展淺談台灣機器人 產業&發展
淺談台灣機器人 產業&發展
 
ROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRV
ROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRVROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRV
ROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRV
 
ROS - Robotics Operation System
ROS - Robotics Operation SystemROS - Robotics Operation System
ROS - Robotics Operation System
 
Cloud robotics
Cloud roboticsCloud robotics
Cloud robotics
 
20161006 rsp2016 ohkawa-presen
20161006 rsp2016 ohkawa-presen20161006 rsp2016 ohkawa-presen
20161006 rsp2016 ohkawa-presen
 
ROS distributed architecture
ROS  distributed architectureROS  distributed architecture
ROS distributed architecture
 
Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)
 
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
 
Cloud Robotics
Cloud RoboticsCloud Robotics
Cloud Robotics
 
Raspberry Pi + ROS
Raspberry Pi + ROSRaspberry Pi + ROS
Raspberry Pi + ROS
 
Cloud Robotics: It’s time to offload their brain on Cloud, for better Robotic...
Cloud Robotics: It’s time to offload their brain on Cloud, for better Robotic...Cloud Robotics: It’s time to offload their brain on Cloud, for better Robotic...
Cloud Robotics: It’s time to offload their brain on Cloud, for better Robotic...
 
Cloud robotics
Cloud roboticsCloud robotics
Cloud robotics
 
Cloud Robotics- Enable Cloud Computing for Robots
Cloud Robotics- Enable Cloud Computing for Robots Cloud Robotics- Enable Cloud Computing for Robots
Cloud Robotics- Enable Cloud Computing for Robots
 
Cloud robotics
Cloud roboticsCloud robotics
Cloud robotics
 
Introduction to ROS (Robot Operating System)
Introduction to ROS (Robot Operating System) Introduction to ROS (Robot Operating System)
Introduction to ROS (Robot Operating System)
 

Ähnlich wie From System Modeling to Automated System Testing

Modeling Software Systems in Experimental Robotics for Improved Reproducibility
Modeling Software Systems in Experimental Robotics for Improved ReproducibilityModeling Software Systems in Experimental Robotics for Improved Reproducibility
Modeling Software Systems in Experimental Robotics for Improved ReproducibilityFlorian Lier
 
PVS-Studio for Linux (CoreHard presentation)
PVS-Studio for Linux (CoreHard presentation)PVS-Studio for Linux (CoreHard presentation)
PVS-Studio for Linux (CoreHard presentation)Andrey Karpov
 
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
 
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8sShipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8sAndreas Grabner
 
Design the implementation of CDEx Robust DC Motor.
Design the implementation of CDEx Robust DC Motor.Design the implementation of CDEx Robust DC Motor.
Design the implementation of CDEx Robust DC Motor.Ankita Tiwari
 
ITGM8. Всеволод Брекелов (Grid Dinamics) Component tests. let's do that!
ITGM8. Всеволод Брекелов (Grid Dinamics) Component tests. let's do that!ITGM8. Всеволод Брекелов (Grid Dinamics) Component tests. let's do that!
ITGM8. Всеволод Брекелов (Grid Dinamics) Component tests. let's do that!SPB SQA Group
 
System verilog important
System verilog importantSystem verilog important
System verilog importantelumalai7
 
Comparative Development Methodologies
Comparative Development MethodologiesComparative Development Methodologies
Comparative Development Methodologieselliando dias
 
Testes? Mas isso não aumenta o tempo de projecto? Não quero...
Testes? Mas isso não aumenta o tempo de projecto? Não quero...Testes? Mas isso não aumenta o tempo de projecto? Não quero...
Testes? Mas isso não aumenta o tempo de projecto? Não quero...Comunidade NetPonto
 
Android Unit Test
Android Unit TestAndroid Unit Test
Android Unit TestPhuoc Bui
 
Software Development Life Cycle Testingtypes
Software Development Life Cycle TestingtypesSoftware Development Life Cycle Testingtypes
Software Development Life Cycle Testingtypesvladimir zaremba
 
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...Susan Yoskin
 
Testing a Service Fabric solution and live happy!!
Testing a Service Fabric solution and live happy!!Testing a Service Fabric solution and live happy!!
Testing a Service Fabric solution and live happy!!Massimo Bonanni
 
Continuous Integration and Delivery using TeamCity and Jenkins
Continuous Integration and Delivery using TeamCity and JenkinsContinuous Integration and Delivery using TeamCity and Jenkins
Continuous Integration and Delivery using TeamCity and JenkinsMahmoud Ali
 
EuroPython 2014 Devops Risk Mitigation
EuroPython 2014 Devops Risk MitigationEuroPython 2014 Devops Risk Mitigation
EuroPython 2014 Devops Risk MitigationSchlomo Schapiro
 

Ähnlich wie From System Modeling to Automated System Testing (20)

Modeling Software Systems in Experimental Robotics for Improved Reproducibility
Modeling Software Systems in Experimental Robotics for Improved ReproducibilityModeling Software Systems in Experimental Robotics for Improved Reproducibility
Modeling Software Systems in Experimental Robotics for Improved Reproducibility
 
PVS-Studio for Linux (CoreHard presentation)
PVS-Studio for Linux (CoreHard presentation)PVS-Studio for Linux (CoreHard presentation)
PVS-Studio for Linux (CoreHard presentation)
 
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
 
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8sShipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
 
Csharp dot net
Csharp dot netCsharp dot net
Csharp dot net
 
Design the implementation of CDEx Robust DC Motor.
Design the implementation of CDEx Robust DC Motor.Design the implementation of CDEx Robust DC Motor.
Design the implementation of CDEx Robust DC Motor.
 
ITGM8. Всеволод Брекелов (Grid Dinamics) Component tests. let's do that!
ITGM8. Всеволод Брекелов (Grid Dinamics) Component tests. let's do that!ITGM8. Всеволод Брекелов (Grid Dinamics) Component tests. let's do that!
ITGM8. Всеволод Брекелов (Grid Dinamics) Component tests. let's do that!
 
Java Micro-Benchmarking
Java Micro-BenchmarkingJava Micro-Benchmarking
Java Micro-Benchmarking
 
1- java
1- java1- java
1- java
 
System verilog important
System verilog importantSystem verilog important
System verilog important
 
Comparative Development Methodologies
Comparative Development MethodologiesComparative Development Methodologies
Comparative Development Methodologies
 
Testes? Mas isso não aumenta o tempo de projecto? Não quero...
Testes? Mas isso não aumenta o tempo de projecto? Não quero...Testes? Mas isso não aumenta o tempo de projecto? Não quero...
Testes? Mas isso não aumenta o tempo de projecto? Não quero...
 
Android Unit Test
Android Unit TestAndroid Unit Test
Android Unit Test
 
Automating the Quality
Automating the QualityAutomating the Quality
Automating the Quality
 
First fare 2010 lab-view overview
First fare 2010 lab-view overviewFirst fare 2010 lab-view overview
First fare 2010 lab-view overview
 
Software Development Life Cycle Testingtypes
Software Development Life Cycle TestingtypesSoftware Development Life Cycle Testingtypes
Software Development Life Cycle Testingtypes
 
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...
 
Testing a Service Fabric solution and live happy!!
Testing a Service Fabric solution and live happy!!Testing a Service Fabric solution and live happy!!
Testing a Service Fabric solution and live happy!!
 
Continuous Integration and Delivery using TeamCity and Jenkins
Continuous Integration and Delivery using TeamCity and JenkinsContinuous Integration and Delivery using TeamCity and Jenkins
Continuous Integration and Delivery using TeamCity and Jenkins
 
EuroPython 2014 Devops Risk Mitigation
EuroPython 2014 Devops Risk MitigationEuroPython 2014 Devops Risk Mitigation
EuroPython 2014 Devops Risk Mitigation
 

Kürzlich hochgeladen

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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
 
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
 
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
 

Kürzlich hochgeladen (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
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
 
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...
 

From System Modeling to Automated System Testing

  • 1.
  • 2. From System Modeling to Automated System Testing An overview of the CITK Toolchain BOSCH — February 12th 2015. Stuttgart, Germany | Florian Lier [flier@techfak.uni-bielefeld.de]
  • 3. Systems in Robotics | Current State Research on autonomous robots achieved considerable progress over the recent years.
 Reported results are typically validated through experimental evaluation or demonstrated live at robotics competitions. [ DARPA Challenge, RoboCup, …]
 Amongst other reasons, this is due to: „off-the-shelf“ robots [ iCub, NAO, … ] and vivid open source communities providing reusable building blocks, e.g. ROS, Orocos, OPRoS, Yarp …
 Publicly available data sets are used to improve benchmarking procedures, i.e., Rawseeds Project. 3
  • 4. Systems in Robotics | Software Foundation 4 ! Most current robotics systems are realized by implementing a component-based architecture These components do not necessarily share the same ecosystem, build, deploy and testing environment or integration model …
  • 6. Systems in Robotics | Software Foundation
  • 7. Systems in Robotics | Problem Statement System artifacts are often distributed over different locations, thus already the discovery, identification and aggregation of all required artifacts is difficult.
 Which specific versions (master or v0.1) of software components were in use for a particular system or ideally system version?
 How can automated integration testing, evaluation and preservation of results of these heterogeneous components be achieved? 7
  • 8. Systems in Robotics | Aspect Overview 8 Before you can test
  • 9. Systems in Experimental Robotics | Goal To tackle these issues we introduced an approach based on an integrated software toolchain for system developers (testers) and experiment designers. 9
  • 10. Systems in Experimental Robotics | System Model 10 Test!
  • 11. n SCM’s dev dev iCub-nightly auto-gen auto deploy /somewhere/$USER/ Recipes: Java, C/C++, Python, Experiments System Composite Run Software & Experiment in Lab direct use ..or in office/home Local & Global CI 11 sync Web-based catalog (Systems and related artifacts) Systems in Robotics | Tool Chain
  • 12. n SCM’s dev dev iCub-nightly auto-gen auto deploy /somewhere/ Recipes: Java, C/C++, Python System Composite Lab direct use Local & Global CI 12 Systems in Robotics | Technical Realization Recipes ..or in office/home sync Web-based catalog (Systems and related artifacts)
  • 15. Local & Global CI 15 Systems in Robotics | Bootstrapping download pre-packaged CI Server
  • 16. Local & Global CI 16 Systems in Robotics | Bootstrapping extract & simply start it
  • 17. 17 Systems in Robotics | Jenkins find ready to use local (or global) CI Server
  • 18. 18 clone distribution/recipe repository Systems in Robotics | Job Generator
  • 19. 19 invoke job-configurator with desired distribution including tests Systems in Robotics | Job Generator
  • 20. 20 Systems in Robotics | Job Generator
  • 21. Systems in Robotics | Testing 21 ! What are these “tests” actually?
  • 22. Systems in Robotics | Test Framework Goals 22 Not a “tailored” solution for a specific system or even language (component- based architecture may even prevent this in the first place)
 Minimize the effort, let the machine do the work (CI) and enable developers to design well-structured functional tests
 Explicit environment setup and configuration, transparent orchestration, repeatable and comparable tests
 Serialize building and testing automatically
 Enable and verify system start-up and tear-down
  • 23. 23 SM $ENVIONMENT_VARS_DEF $COMPONENT_A(CHECK_CRITERIA) $COMPONENT_B(CHECK_CRITERIA) $COMPONENT_N(CHECK_CRITERIA) DM EXEC RUN CLEAN EVAL CLEAN / REPORT exec(COMPONENT_A): if "OK" B exec(COMPONENT_B): if "OK" C exec(COMPONENT_C): if "OK" D exec(COMPONENT_Y): if "OK" Z inject() exec(COMPONENT_Z): if "OK" E EXIT ERROR export ROS_ROOT=/opt/ros/indigo export DISPLAY=:0 rosbag record -j /some/topic java -jar slow_in_java.jar sh overly_complicated.sh must start after 5 seconds monitor PID continuously must not print “segfaulting()” must print “conn. established” lockfile.file must be present Component Success Criteria
  • 24. 24 Systems in Robotics | Test State Machine Concept SM $ENVIONMENT_VARS_DEF $COMPONENT_A(CHECK_CRITERIA) $COMPONENT_B(CHECK_CRITERIA) $COMPONENT_N(CHECK_CRITERIA) DM EXEC RUN CLEAN EVAL CLEAN / REPORT exec(COMPONENT_A): if "OK" B exec(COMPONENT_B): if "OK" C exec(COMPONENT_C): if "OK" D exec(COMPONENT_Y): if "OK" Z inject() exec(COMPONENT_Z): if "OK" E EXIT ERROR stop processes in RUN.invert() e.g., plot.sh < $FSMT_RUN/logs/* e.g., read_and_clean.logs stop processes in EVAL.invert()
  • 25. 25 SM $ENVIONMENT_VARS_DEF $COMPONENT_A(CHECK_CRITERIA) $COMPONENT_B(CHECK_CRITERIA) $COMPONENT_N(CHECK_CRITERIA) DM EXEC RUN CLEAN EVAL CLEAN / REPORT exec(COMPONENT_A): if "OK" B exec(COMPONENT_B): if "OK" C exec(COMPONENT_C): if "OK" D exec(COMPONENT_Y): if "OK" Z inject() exec(COMPONENT_Z): if "OK" E EXIT ERROR Close all component loggers Report exit status sys.exit(n) Create zip archive Create xUnit output Systems in Robotics | Test State Machine Concept
  • 26. 26 Systems in Robotics | Test State Machine Implementation Framework called FSMT (Finite State Machine Based Testing)*
 Set of tools written in Python
 Implementation of executable “test” state machines including all features as defined in the concept
 Simple configuration using *.ini files * http://opensource.cit-ec.de/projects/fsmt/
  • 27. 27 Systems in Robotics | Test State Machine Implementation
  • 28. 28 Systems in Robotics | Test State Machine Implementation
  • 29. 29 Systems Robotics | FSMT Invocation fsmt_iniparser my_test.ini -o my_test.scxml
  • 30. 30 Systems Robotics | DEMO DEMO https://vimeo.com/112005754
  • 31. 31 Systems Robotics | Provided Benefits Not a “tailored” solution for a specific system or even language (component- based architecture may even prevent this in the first place)
 Minimize the effort, let the machine do the work (CI) and enable developers to design well-structured functional tests
 Explicit environment setup and configuration, transparent orchestration, repeatable and comparable tests
 Serialize building and testing automatically
 Enable and verify system start-up and tear-down
  • 32. 32 Systems Robotics | Thank you! Links
 Web Catalog: https://toolkit.cit-ec.de Distribution Project: https://opensource.cit-ec.de/citk Video Material: http://vimeo.com/groups/citk
 http://opensource.cit-ec.de/projects/fsmt/ Affiliation
 Florian Lier is with Cognitive Interaction Technology — Center of Excellence, Bielefeld University 
 Supervisor: Dr.-Ing. habil Sven Wachsmuth
  • 33. 33 Systems Robotics | Literature Publications (2014)
 Modeling Software Systems in Experimental Robotics for Improved Reproducibility -- A Case Study with the iCub Humanoid Robot http://pub.uni-bielefeld.de/publication/2705677
 The Cognitive Interaction Toolkit – Improving Reproducibility of Robotic Systems Experiments
 http://pub.uni-bielefeld.de/publication/2702526
 Towards Automated Execution and Evaluation of Simulated Prototype HRI Experiments
 http://pub.uni-bielefeld.de/publication/2645922
 Simulation and HRI Recent Perspectives with the MORSE Simulator
 http://pub.uni-bielefeld.de/publication/2685211