rti connext 5.2.0

48
© 2015 RealTime Innova3ons, Inc. RTI Connext 5.2.0 The Real3me Connec3vity Pla>orm for the Industrial Internet of Things Jan Van Bruaene VP of Engineering Vien Chan – Senior Product Manager

Upload: jan-van-bruaene

Post on 22-Jan-2017

452 views

Category:

Software


0 download

TRANSCRIPT

©  2015  Real-­‐Time  Innova3ons,  Inc.  

RTI  Connext  5.2.0  The  Real-­‐3me  Connec3vity  Pla>orm  for  the  Industrial  Internet  of  Things  Jan  Van  Bruaene  -­‐  VP  of  Engineering  Vien  Chan  –  Senior  Product  Manager  

©  2015  Real-­‐Time  Innova3ons,  Inc.  2  

Codename  “Eddy”  

©  2015  Real-­‐Time  Innova3ons,  Inc.  3  

What  we’ll  cover  

• What’s  in  the  box  •  Customer  feedback  •  Suppor3ng  new  use  cases  •  The  big  boulders  of  this  release  •  Interoperability  •  Transi3oning  to  5.2.0    

©  2015  Real-­‐Time  Innova3ons,  Inc.  4  

©  2015  Real-­‐Time  Innova3ons,  Inc.  5  

New  RTI  Connext  bundling  

•  Host  bundle:  all  non-­‐compiler  specific  files,  such  as  documenta3on,  header  files,  tools,  services  executables  (e.g.,  Rou3ng  Service  or  Persistence  Service).    

•  Target  bundle:  libraries.  Target  bundles  are  shipped  in  a  new  RTI  packaging  format.  

©  2015  Real-­‐Time  Innova3ons,  Inc.  6  

New  RTI  Connext  bundling  –  Cont.  

•  Package  types:  Core,  Basic,  Pro,  Eval,  and  add-­‐ons  –  Core  package  includes  basic  libs,  does  not  include  RTI  applica3ons/  services  products.  

–  Basic,  Pro  and  Eval  all  have  the  same  func3onality.    The  bundles  differ  in  which    components  are  license    managed.    

–  Installers  are  now  available    for  all  host  package  types.    

–  Targets  are  installed  through    the  new  RTI  package  mgr.    

©  2015  Real-­‐Time  Innova3ons,  Inc.  7  

New  RTI  Package  Manager  

The  RTI  package  file  (.rtipkg)  is  a  compressed  file  containing:    –  package.properties  (file)  describing  the  package  –  MANIFEST.xml  (file)  containing  a  list  of  files  to  be  installed.    –  Compressed  files  and  directory  structure  to  be  installed  

The  package  manager  handles  backups  and  patch  installa3ons.    

Use  the  RTI  Package  Manager  (bin/rtipkginstall,  or  from  the  Launcher  GUI)  to  install  target  bundles,    

patches,  ports  and  feature  accelera3ons.  

©  2015  Real-­‐Time  Innova3ons,  Inc.  8  

New  Directory  Structure  

“SDK”  

RunTime  resources:  Resources  used  by  the  RTI  provided  tools,  applica3ons  and  services.      

Startup  Scripts  

Crea3on  of  a    User  Workspace  

When  you  start  any    RTI  applica3on  

©  2015  Real-­‐Time  Innova3ons,  Inc.  9  

New  documenta3on  look  and  format  

HTML  

Search  

Available  at    Community.r3.com  

©  2015  Real-­‐Time  Innova3ons,  Inc.  10  

More  pla>orms  are  now  supported  

•  RHEL  6.5  on  x86  and  x64    •  RHEL  7  on  x86  and  x64    •  Ubuntu  14.04  •  Windows  8,  8.1  (VS2013)    •  Windows  8  and  server  2012  R2  (VS2013)  on  x64  

•  OS  X  10.10  (Yosemite)  on  x64  …  including  tools  on  MacOS.    

•  Android  2.3  –  4.4  on  ARMv7a  •  VxWorks  6.9.4  on  PPC  (e500v2)  •  VxWorks  7.0  on  x86  •  Integrity  11.0.4  on  p4080,  x86    •  AIX  7.1  on  POWER7  x86  •  RT  NI  Linux/  ARM7  

Check  out  the  pla>orm  notes  for  details,  including  which  compila3on  flags  we  

used,  what  are  required  system  libs  

©  2015  Real-­‐Time  Innova3ons,  Inc.  11  

More  complete  product  support  

•  .NET  API  Support    –  for  Custom  Content  Filter  –  for  Op3onal  Members    

•  Ada  language  binding  available  today  – Ada  compiler  upgraded  to  GNAT  7.3.2  

•  Database  Adapter  for  Microson  SQL  Server  •  RTI  DDS  LabVIEW  Toolkit  support  for  real-­‐3me  NI  Linux/ARMv7  

©  2015  Real-­‐Time  Innova3ons,  Inc.  12  

Addressing  customer  use  cases  Beper  support  for  large  data  or  variable  sized  samples  

•  Enable  the  number  of  elements  in  a  Sequence  to  be  unbounded.    •  Enable  the  number  bytes  in  a  String  to  be  unbounded    •  Support  unbounded  Sequences  and  Strings  for  key  fields  •  Support  use  of  Content  Filter  with  unbounded  sequence  and  strings  •  Support  in  the  following  languages:  C,  C++/CLI,  .NET,  Dynamic  Data  and  Built-­‐

in-­‐types  •  Limita3ons:  

•  Does  not  support  Java  (yet)  (for  generated  Java  Code.  It  is  supported  in  Dyn  Data.)  •  Persistence  Service  does  not  support  unbounded  sequence/strings  out-­‐of-­‐the-­‐box.  •  Recorder  supports  only  serialized  recording  of  variable  sized  samples.    •  Excel  currently  already  disallows  work  with  unbounded  types.  •  Does  not  support  Database  Integra3on  Service  

©  2015  Real-­‐Time  Innova3ons,  Inc.  13  

Addressing  customer  use  cases  Ability  to  serialize  sample  into  buffer  and  deserialize  sample  from  buffer    •  Two  new  TypeSupport  opera3ons  to  serialize  a  sample  into  a  buffer  and  deserialize  a  sample  from  a  buffer.    

•  The  sample  serializa3on/deserializa3on  uses  CDR  representa3on.    

•  Supported  in  the  following  languages:    –  Generated  Code:  C,  C++,  Java  and  .NET  –  Dynamic  Data:  C,  C++  (tradi3onal  and  modern)  

©  2015  Real-­‐Time  Innova3ons,  Inc.  14  

Addressing  customer  use  cases  •  TCP  transport  support  for  load  balancers,  tested  with  F5  hardware  LB.  •  New  op3on  to  release  the  resources  associated  to  a  disposed  instance.  We  

now  also  support  the  standard  service_cleanup  delay  in  PS.    •  Several  TCP  and  TLS  enhancements:  more  scalable  and  robust  •  Ability  to  supervise  the  end-­‐point  discovery  provides  addi3onal  level  of  control  

of  who  can  be  discovered.  •  Ability  to  Add  Metadata  Flags  to  Samples  •  Allow  out-­‐of-­‐order  type  defini3ons  in  XML  configura3on  files  •  Enable  user  to  apach  response  to  an  applica3on  acknowledgement  message  

and  no3fy  the  writer.    •  Enable  users  to  provide  user-­‐managed  threads  to  the  middleware.    …  and  tons  more.      èPlease  check  the  Release  Notes  for  more  details.    

©  2015  Real-­‐Time  Innova3ons,  Inc.  15  

Stable  connec3vity  pla>orm  for  IIoT  Addressing  product  issues  •  Beper  TCP  transport!  More  robust  and  more  scalable.    •  Resolved  communica3on  issue  for  two  par3cipants  on  the  same  node  when  

one  has  SHMEM  transport  disabled.    •  Resolved  memory  growth  issues  in  more  dynamic  environments  •  Dynamic  Data  API  fixes  •  DW/DR  Liveliness  QoS  Policy  fixes  •  Resolved  interoperability  issue  when  using  UDPv6  transport  •  Large  data  sample  repair  fix  •  Domain  Par3cipant  crea3on  fixes  related  when  no  shared  memory  segment  

is  available,  or  when  no  unique  IP  address  is  available  (MacOS)  •  Resolved  issues  related  to  DDS  en3ty  destruc3on.    

èPlease  check  the  Release  Notes  for  a  descrip3on  of  all  bug  fixes.  We’ve  spent  a  lot  of  effort  addressing  product  issues  to  make  this  a  very  stable  release.      

©  2015  Real-­‐Time  Innova3ons,  Inc.  16  

Big  boulders  

•  R3ddsgen2.0    •  C++  PSM  •  Queuing  Service  •  Data  Visualiza3on  •  New  Launcher  

©  2015  Real-­‐Time  Innova3ons,  Inc.  

Code  genera3on  

©  2015  Real-­‐Time  Innova3ons,  Inc.  18  

Why  a  new  code  generator?  

up  to  10x  faster    Code  genera3on  

Customizable    templates  

©  2015  Real-­‐Time  Innova3ons,  Inc.  19  

R3ddsgen2.0  -­‐  Con3nued    •  Obfuscate  op3on  to  share  IDL  with  others  •  New  genera3on  op3ons  (-create,  -update)  to  avoid  erroneously  

overwri3ng  previously  generated  example,  type  or  make  files      R3ddsgen2.0  Limita3ons  •  XSD-­‐based  code  genera3on  to  be  supported  aner  5.2  release  •  No  support  for  bi>ields  •  -corba, -metp è  use  the  r3ddsgen1.0-­‐based  code  generator.  This  

capability  is  provided  through  corresponding  add-­‐on  products.    

©  2015  Real-­‐Time  Innova3ons,  Inc.  

New  C++  language  binding  

©  2015  Real-­‐Time  Innova3ons,  Inc.  21  

C++  PSM  (Pla>orm  Specific  Model)    •  A  New  C++  API  for  C++03  and  C++11  

–  A  modern  C++  API  which  works  well  with  the  standard  library  

–  An  API  that  is  efficient,  expressive,  easy-­‐to-­‐use,  and  easy-­‐to-­‐learn.    

–  Generic  programming,  automa3c  resource  management,  use  of  excep3ons,  C++11  features  such  as  move  opera3ons.    

•  Same  feature  support  as  the  other  RTI  supported  language  APIs,  including  RTI  extensions  and  XML  applica3on  crea3on.       Note:  Tradi3onal  C++  PSM  

is  s3ll  supported  

©  2015  Real-­‐Time  Innova3ons,  Inc.  22  

A  P2P  distributed  applica3on  in  under  35  lines  of  C++11  Code  (see  blog  post)  

 Shorter  Easier  to  maintain  More  robust  

©  2015  Real-­‐Time  Innova3ons,  Inc.  

Queuing  Service  Add-­‐on  product  offering  available  on  select  pla;orms  

©  2015  Real-­‐Time  Innova3ons,  Inc.  24  

Suppor3ng  3  key  communica3on  paperns  

2004  

2015  

2013  

Publish-­‐Subscribe  

Request  /  Reply  

Queuing  -­‐  At  least  once  -­‐  At  most  once  

©  2015  Real-­‐Time  Innova3ons,  Inc.  25  

Use  Case:  High  Speed  Processing  in  Cloud  •  Eze  Sonware  delivers  

financial  trading  sonware  to  more  than  1,500  buy-­‐side  and  sell-­‐side  ins3tu3ons  in  30  countries  

•  RTI  will  be  the  core  middleware  for  the  Eze  financial  trading  pla>orm.      

   

Analy3cs  

Connext TCP (WAN)

Client  Client  Client  Client  

Logging  

Redundant,  Load-­‐Balanced  Reliable  Mul3cast  

Data  Center  Cloud  

Gateway  Processor  

Gateway  Processor  

Gateway  Processor  

Gateway  Processor  

Load  Balancer  (F5)  

Con

next

Inpu

t Bus

Connext Processing Bus

Monitor  Queue  Queue  Queueing  

Service  

©  2015  Real-­‐Time  Innova3ons,  Inc.  26  

Shared  Reader  Queues  

Load  balance  and    Redelivery  among  DRs  •  Round  Robin  (RR)  •  RR  with  explicit    

Queue  Consumer    availability  

Queuing  Service  

Shared  Subscriber  

 

SharedReader  Queue  

SharedReaderQueue  

DW  

DW  

DR  

DR  

DR  

1 2

1 2

1

2

1 2

Tools  (e.g.,  r=ddsspy)  

 

Non-­‐Queue  Consumers    (e.g.,  tools)  can  s3ll  subscribe  

©  2015  Real-­‐Time  Innova3ons,  Inc.  27  

Support  for  Request/Reply  papern  •  Implemented  with  two  SharedReaderQueues:  One  for  the  request  and  one  for  the  reply  

Requester  Applica=on  

Queuing  Service  

Shared  Subscriber  

 Request  Shared  ReaderQueue  DW  

Response  Shared  ReaderQueue  DR  

Req  1  

Res  1  

Replier  Applica=on  

DR  

DW  Res  1  

Req  1  

©  2015  Real-­‐Time  Innova3ons,  Inc.  28  

Producer/Consumer  Wrapper  API  

Queuing  Service  

Shared  ReaderQueue  

.NET  only  

©  2015  Real-­‐Time  Innova3ons,  Inc.  29  

Requester/Replier  Wrapper  API  

Queuing  Service  

Request  SRQ  

Reply  SRQ   .NET  only  

©  2015  Real-­‐Time  Innova3ons,  Inc.  30  

Various  replica3on  schemes  are  supported  

©  2015  Real-­‐Time  Innova3ons,  Inc.  

Data  Visualiza3on  

©  2015  Real-­‐Time  Innova3ons,  Inc.  32  

Features  

•  Visualize  live  data  flowing  in  the  system  –  Subscribe  to  topics  and  visualize  them  through:  

•  A  table  with  one  row  per  instance  (Instance  Table)  •  A  log  of  data  from  one  or  more  topics  (Sample  Log)  •  A  chart  of  value(s)  versus  3me  (Time  Chart)  •  A  view  which  shows  all  fields  and  meta-­‐data  (Sample  Inspector)  

–  Export  data  to  CSV  &  text  files  – Drag  &  Drop  for  quick  and  simple  configura3on  –  Remembers  and  restores  your  views  and  subscrip3ons  

©  2015  Real-­‐Time  Innova3ons,  Inc.  33  

Subscrip3on  Dialog  

©  2015  Real-­‐Time  Innova3ons,  Inc.  34  

Subscrip3on  Dialog  Advanced  Op3ons    

Narrow  down  what  is  displayed    •  QoS  Profiles  •  Content  Filters  •  DataWriter  Filters    

©  2015  Real-­‐Time  Innova3ons,  Inc.  35  

Topic  Data  (Instance  Table)  

Live  values  of  all  instances  

©  2015  Real-­‐Time  Innova3ons,  Inc.  36  

Sample  Inspector  

Live  values  of  all  fields  and  meta-­‐data  of  the  selected  instance  in  the  Sample  Inspector  

©  2015  Real-­‐Time  Innova3ons,  Inc.  37  

Sample  Log  

©  2015  Real-­‐Time  Innova3ons,  Inc.  38  

Time  Chart  with  Live  Mode  &  History  Mode  

©  2015  Real-­‐Time  Innova3ons,  Inc.  

New  Launcher  

©  2015  Real-­‐Time  Innova3ons,  Inc.  40  

Launcher  2.0  -­‐  New  Implementa3on  

Using  Java  and  SWT  –  Na3ve  Look  on  all  OS  

©  2015  Real-­‐Time  Innova3ons,  Inc.  41  

Launcher  2.0  –  Cont.  Extensible  at  Run  Time  

New  Third  Party  Tab    

New  License  Dialog  

New  Command  History  Dialog  

Automa3c  downloadable  components    

New  Installed  Products  Table  

New  Documenta3on  and    Help  Links  Panel  

©  2015  Real-­‐Time  Innova3ons,  Inc.  42  

Interoperability    •  UDPv6  class  ID  is  now  RTPS  spec  compliant  

–  Admin  console  will  help  you  iden3fy  the  compa3bility  issue  –  Connext  5.1  backward  compa3bility  mode  

(dds.transport.use_510_compa=ble_locator_kinds  property)  

•  Issue  when  using  built-­‐in  topics  to  monitor  Rou3ng  Service,  Queuing  Service  or  Data  Integra3on  Service  while  mixing  5.1  /  5.2  versions  

•  Monitoring  types  are  not  backwards  compa3ble  •  Solaris  Sparc  Shared  memory  compa3bility  issue  

©  2015  Real-­‐Time  Innova3ons,  Inc.  43  

New  QoS  values  for    

•  New  defaults  for  –  DDS_DynamicDataProperty_t.buffer_max_size  –  DiscoveryConfig  Built-­‐In  Writer  autopurge_unregistered_instances_delay  

–  DataReader  Resource  Limits:  dynamically_allocate_fragmented_samples  and  max_fragments_per_sample  

•  HighThroughput  and  AutoTuning  built-­‐in  QoS  profiles  changed  to  resolve  an  issue  where  communica3on  may  fail  when  wri3ng  small  samples  

©  2015  Real-­‐Time  Innova3ons,  Inc.  44  

Transi3oning  from  5.1  to  5.2  

•  Regenerate  and  recompile  •  Automa3on  scripts  will  need  to  be  updated  due  the  new  directory  structure  –  Change  scripts  which  launch  applica3ons  like  r3ddsgen,  rou3ng_service,  etc.  

–  Change  the  build  path  to  point  to  the  new  SDK  directory  –  Change  library  path  to  point  to  the  new  directory  

©  2015  Real-­‐Time  Innova3ons,  Inc.  45  

Community.r3.com  

•  RTI  Connext  examples  are  updated  for  5.2.0.    

 

©  2015  Real-­‐Time  Innova3ons,  Inc.  46  

Stay  tuned  for  blog  posts  (hpp://blogs.r3.com)    with  lots  of  details  on  the  various  5.2.0  features  

These  slides  will  be  available  at    hpp://www.slideshare.net/RealTimeInnova3ons  

[email protected]   [email protected]  

©  2015  Real-­‐Time  Innova3ons,  Inc.  47  

©  2015  Real-­‐Time  Innova3ons,  Inc.  48  

For  More  Informa3on  

•  RTI  site:  www.r3.com  •  Examples,  forum,  papers:  community.r3.com  •  Free  RTI  Connext  DDS  Pro:  www.r3.com/downloads  

•  Youtube:  RealTimeInnova3ons    •  Follow:  @real3meinnov