simplifying data distribution service application development with vortex tools
TRANSCRIPT
Cop
yrig
ht © P
rismTe
ch 20
16
Simplifying DDS Application Development with
Vortex Tools
Michael Roberts, Solutions Architect
January 14, 2016
Cop
yrig
ht © P
rismTe
ch 20
16
Vortex – The Intelligent Sharing Data Platform
Vortex uses an Open Standard: Object Management Group (OMG) Data Distribution Service for Real-Time Systems (DDS)
Cop
yrig
ht © P
rismTe
ch 20
16
4
Vortex OpenSplice Tooling
Tuner
White-Box debugger – able to get inside running apps and examine and change settings
Tester
Black-Box debugger – automated debugger with built-in scripting language
Insight
Comprehensive health monitoring tool - domain wide detection of Quality of Service (QoS) mismatches, full statistics on readers and writers
Configurator Configurator – context sensitive hints for all system settings, can repair configuration files
Cop
yrig
ht © P
rismTe
ch 20
16
Vortex Tools
Manage / Configure / Tune / Test / Record & Replay / Capture
Cop
yrig
ht © P
rismTe
ch 20
16
6
Vortex (OpenSplice) Launcher
Launch tools
Manage configurations
View documentation
Explore / Build / Run all Examples
View running-status of OSPL
Connect to our social media
Functionality:
Cop
yrig
ht © P
rismTe
ch 20
16
7
Vortex OpenSplice Tuner
“White-Box” debug/tuning Tool Looking ‘inside’ a federation and/or standalone application
Different perspectives (participant, topic, partition)
Monitoring & Tuning Inspect and Tune all DDS entities
Make snapshots of history-caches
Detect and resolve QoS Mismatch
Inspect Statistics
Change QoS settings to test effect
Reading & Writing Read/Write data for arbitrary topics
Import & Export Inject Topic Definitions
Export and import XML-based reader/writer snapshots
Cop
yrig
ht © P
rismTe
ch 20
16
8
Vortex Tester “Black-Box” DDS system (regression-) testing
Automated testing of DDS systems
Dynamic Discovery of DDS Entities
Domain-specific scripting languages
Batch execution of regression tests
Debugging of distributed DDS systems System browser of DDS participants
Connectivity & QoS conflict monitoring
One-click definition of monitoring timeline
Analysis/comparison of topic data
Virtual topic-attributes to ease analysis
Statistics monitoring
1-click spawning of Tuner to ‘attach’ to a remote process / federation
Integrated IDE Syntax highlighting editor
One-click relations between script/logs/timeline
Cop
yrig
ht © P
rismTe
ch 20
16
9
Vortex Insight
HTML5/JavaScript Client with public REST server API Provide technical support and development teams with the ability to monitor and control a deployed system from anywhere on any type of device Eliminate the need to send support engineers onsite Reduce the time to identify the cause of issues in a deployed system Increase the real-time operational intelligence and visibility in a deployed system
Cop
yrig
ht © P
rismTe
ch 20
16
10
Vortex Insight
Monitoring status & resource statistics of applications, services and systems
Configuration of middleware services and their use by applications
Control of applications, services and systems
Well-defined API for custom supervisory applications and tools
Supported by a graphical browser-based tool
Cop
yrig
ht © P
rismTe
ch 20
16
11
Vortex OpenSplice / Lite Configurator
The reference tool for configuring OpenSplice DDS
Rich online guide to configuration options
Context help and parameter validation
100% Java
Cop
yrig
ht © P
rismTe
ch 20
16
12
Vortex RnR
Dynamic recording of any topic-data in a DDS system
Selective replay with variable speed
Distributed control by topic-based API (‘command’ & ‘status’ topics)
Seamless integration with OpenSplice Tester (topic-based API)
Dedicated RnR-Manager graphical GUI for scenario-definition and data import/analysis
Cop
yrig
ht © P
rismTe
ch 20
16
14
Project Lifecycle and Vortex OpenSplice
Requirements and Design
Design phase should focus on data modeling
Coding / Development
Tuner / Tester – the tools of choice during the initial development process
Implementation / Testing
Tester / Insight – Automated testing debugging improves reliability and robustness
Integration / Verification / Validation Tuner / Tester / Insight / RnR Manager – the Tester and Record and Replay manager simplify management of Complex test scenarios
Cop
yrig
ht © P
rismTe
ch 20
16
15
Coding / Development
An example scenario (Incomplete code) Developer has implemented part of the required code
How do you unit test publishers / subscribers?
Use Tuner to create a complementary Reader / Writer
Cop
yrig
ht © P
rismTe
ch 20
16
16
Coding / Development Ishapes app
Problem:
Publisher is complete
Subscriber is not
HOW DO WE TEST?
Solution:
Create a reader / writer in Tuner
Take / Read some samples
Verification of Publisher complete!
Cop
yrig
ht © P
rismTe
ch 20
16
17
Coding / Development Ishapes App
Live Demo – Reading data with Tuner Using Ishapes and Tuner
Cop
yrig
ht © P
rismTe
ch 20
16
18
Implementation / Testing
Scenario: QoS Mismatch (subscriber not seeing data) A publishers is sending data
A subscriber is not seeing the sample
How do we detect the problem?
Use Tester to explore possible issues
Cop
yrig
ht © P
rismTe
ch 20
16
19
Implementation / Testing Ishapes #1 publishes circle Ishapes #2 subscribes but sees no data
Using Tester’s Browser we can easily see the problem is a QoS Mismatch
Cop
yrig
ht © P
rismTe
ch 20
16
20
Implementation / Testing
Live Demo Tester detects QoS Mismatch Using Tester and Ishapes
One publisher “Best Effort”
One subscriber “Reliable”
Cop
yrig
ht © P
rismTe
ch 20
16
21
Integration / Verification / Validation
Scenario: QoS Mismatch found We’ve found issue is a QoS mismatch
How can we quickly test without recompiling?
Use Tuners to modify QoS settings on a running application Tuner is a “White-box” tool
This means it can look inside running applications
Cop
yrig
ht © P
rismTe
ch 20
16
22
Integration: QoS Mismatch
Three applications using Ownership Strength Ishapes1 is subscribing with Ownership exclusive
iShapes2 is publishing with strength of 10
Ishapes3 is publishing with strength of 20
How can we change the strength without recompiling? We use the tuner to get / set QoS on the running applications
Cop
yrig
ht © P
rismTe
ch 20
16
23
Integration: QoS Mismatch
Publish with Exclusive strength of 10
Publish with Exclusive strength of 20
Subscribe with Exclusive
Cop
yrig
ht © P
rismTe
ch 20
16
24
Integration: QoS Mismatch
Live Demo QoS Mismatch One subscriber Ownership Exclusive
One publisher Exclusive strength 10
One publisher Exclusive strength 20
Changing strength on running application
Cop
yrig
ht © P
rismTe
ch 20
16
25
Integration / Verification / Validation
Insight – System wide health monitoring Check for QoS mismatches
Check reader / writer statistics
Cop
yrig
ht © P
rismTe
ch 20
16
26
Insight Demo
Live demo – QoS mismatch detection System wide reader / writer statistics
Ishapes subscriber “Best Effort” (UR)
Ishapes subscriber “Reliable” (LR)
Ishapes publisher “Blue” (UL) *BE
Ishapes publisher “Red” (LL) *BE
Cop
yrig
ht © P
rismTe
ch 20
16
28
Insight Demo
Insight QoS compatibility view Red connector indicates Incompatibility
Cop
yrig
ht © P
rismTe
ch 20
16
29
Insight Demo
QoS Compatibility detail view The red line is the QoS policy mismatch
Cop
yrig
ht © P
rismTe
ch 20
16
32
For further information then please visit our web site at:
www.prismtech.com
Or alternatively you can contact:
Thank You