simplifying data distribution service application development with vortex tools

33
Copyright © PrismTech 2016 Simplifying DDS Application Development with Vortex Tools Michael Roberts, Solutions Architect January 14, 2016

Upload: prismtech

Post on 08-Jan-2017

537 views

Category:

Software


0 download

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

Tooling Overview

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

Project Lifecycle

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

27

Insight Demo

Live Demo – Insight Four Ishapes as noted

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

30

Configurator

Live Demo – Configurator

Cop

yrig

ht © P

rismTe

ch 20

16

Questions and Answers

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:

[email protected]

Thank You

Cop

yrig

ht © P

rismTe

ch 20

16

Extra Slides