Top Banner
A QoS Policy Modeling A QoS Policy Modeling Language for Language for Publish/Subscribe Middleware Publish/Subscribe Middleware Platforms Platforms Joe Hoffert, Doug Schmidt & Aniruddha Gokhale {jhoffert,schmidt,gokhale}@dre.vander bilt.edu www.dre.vanderbilt.edu ISIS, Dept. of EECS Vanderbilt University Nashville, Tennessee June 21, 2007 DEBS 2007, Toronto, Canada www.dre.vanderbilt.edu www.dre.vanderbilt.edu
10

A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms Joe.

Jan 18, 2016

Download

Documents

Horace Doyle
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms Joe.

A QoS Policy Modeling Language A QoS Policy Modeling Language for Publish/Subscribe Middleware for Publish/Subscribe Middleware

PlatformsPlatformsJoe Hoffert, Doug Schmidt &

Aniruddha Gokhale

{jhoffert,schmidt,gokhale}@dre.vanderbilt.edu

www.dre.vanderbilt.edu

ISIS, Dept. of EECS Vanderbilt University Nashville, Tennessee

June 21, 2007DEBS 2007, Toronto, Canada

www.dre.vanderbilt.eduwww.dre.vanderbilt.edu

Page 2: A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms Joe.

2

Distributed Real-time & Embedded (DRE) Systems

• Network-centric and large-scale “systems of systems”– e.g., industrial automation, emergency response

• Different communication semantics– e.g., pub-sub

• Satisfying tradeoffs between multiple (often conflicting) QoS demands– e.g., secure, real-time, reliable, etc.

• Regulating & adapting to (dis)continuous changes in runtime environments• e.g., online prognostics, dependable upgrades, keep

mission critical tasks operational, dynamic resource mgmt

DRE systems increasingly realized via system composition of services

Page 3: A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms Joe.

3

Variability in the solution space (systems integrator role)

•Diversity in platforms, languages, protocols & tool environments

•Enormous accidental & inherent complexities

•Continuous evolution & change

Challenges in Realizing DRE Systems

Variability in the problem space (domain expert role)

•Functional diversity•Composition, deployment and configuration diversity

•QoS requirements diversity

Mapping problem artifacts to solution artifacts is hard

Page 4: A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms Joe.

4

The OMG Data Distribution Service (DDS)

Application

Application

Application

Application

ApplicationLogical Data Store

read

read

read

write

write

write write

Provides flexibility, power and modular structure by decoupling:

• Location – anonymous pub/sub

• Redundancy – any number of readers & writers

• Time – asynchronous, time-independent data distribution

• Platform – similar to CORBA middleware

Architecturally Broken into:• Data Centric Publish/Subscribe (DCPS)

- Lower layer APIs to exchange topic data based on QoS policies

• Data Local Reconstruction Layer (DLRL)

- Upper layer APIs that make topic data appear local

Page 5: A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms Joe.

5

QoS Policies Supported by DDS• DCPS entities (e.g., topics, data readers/writers) configurable via QoS

policies

• QoS tailored to data distribution in tactical information systems

• Request/offered compatibility checked by DDS at Runtime

• Consistency checked by DDS at Runtime

• DEADLINE

• Establishes contract regarding rate at which periodic data is refreshed

• LATENCY_BUDGET

• Establishes guidelines for acceptable end-to-end delays

• TIME_BASED_FILTER

• Mediates exchanges between slow consumers & fast producers

• RESOURCE_LIMITS

• Controls resources utilized by service

• RELIABILITY (BEST_EFFORT, RELIABLE)

• Enables use of real-time transports for data

• HISTORY (KEEP_LAST, KEEP_ALL)

• Controls which (of multiple) data values are delivered

• DURABILITY (VOLATILE, TRANSIENT, PERSISTENT)

• Determines if data outlives time when they are written

• … and 15 more …

Page 6: A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms Joe.

6

QoS Policy Configuration Challenges

• QoS Policy Compatibility• QoS policies for the

communicating entities must be compatible between what’s requested and offered

Best effort data transfer

offered

Reliable data transfer

requested

XData will not

be transferred

Deadline’s period = 5 ms.

Time based filter’s minimum separation =

10 ms.

XQoS policies

will not be set

• QoS Policy Consistency• QoS policies for any

one entity must be consistent with each other

Need to flag errors earlier in the developmental lifecycle

Page 7: A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms Joe.

7

DDS QoS Modeling Language (DQML 1 of 2)

• Models relevant DDS entities

• Models DDS QoS polices as first class entities

• Models relationships between entities and QoS policies

Focus on “correct by construction” – check for errors at design-time

Page 8: A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms Joe.

8

DDS QoS Modeling Language (DQML 2 of 2)

• Supports QoS compatibility and consistency constraint checking

• Generates implementation artifacts (currently for DDS Benchmarking Environment (DBE))

Compicon.icoDBEInterpreter

DBEQoS Settings

DataReader

QoS SettingsDataWriter

Page 9: A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms Joe.

9

Ongoing Work: DQML + Service Orchestration

Component

ResourceRequirements

Impl

Impl

Impl

Properties

Component Assembler

Component Assembly

Component Component

Component Component

Component Package

Component Assembly

Component Component

Component Component

Component Assembly

Component Component

Component Component

(1) d

evel

ops

(2) assembles

(3) packages

(4) c

onfig

ures

(6) deployment

Assembly

DeploymentApplication

Assembly

Assembly

CoSMIC

(8) reconfiguration &

replanning

Analysis & Benchmarking

packaging

asse

mbl

y

specification

configuration

pla

nnin

g

feedback

(7) analysis & benchmarking

(IDM

L &

PIC

ML)

(PICML)

(PIC

ML)

(OC

ML,

QoS

ML)

(Cadena & BGML)

DAnCE Framework

(5) planning

Component Developer

RACE Framework

),...,( 21 nxxxfy

Deployment Planner

Component Packager

Component Configurator

Systemanalyzer

ComponentDeployer

(9) design

feedback

• CoSMIC tools e.g., PICML used to model application components, CQML for QoS

• Captures the data model of the OMG D&C specification

• Synthesis of static deployment plans for DRE systems

• Capabilities being added for QoS provisioning (real-time, fault tolerance, security)

CoSMIC can be downloaded at www.dre.vanderbilt.edu/cosmic

Work supported by

DARPA PCES & ARMS

Programs

Page 10: A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms Joe.

10

Concluding Remarks• QoS configuration management

is a significant challenge for pub-sub systems

• Need design-time tools to automate the QoS configuration management

• Need tools to assure “correct-by-construction” systems

• Model-driven Engineering is a promising approach

Compicon.icoInvoke the DBEInterpreter

DBE

QoS Settings

QoS Settings

DataReader

DataWriter