Title: Automated Middleware QoS Configuration Techniques using Model Transformations
1Automated Middleware QoS Configuration Techniques
using Model Transformations
Amogh Kavimandan Aniruddha Gokhale amoghk,gokh
ale_at_dre.vanderbilt.edu www.dre.vanderbilt.edu
Research supported by Lockheed Martin STI Project
2Distributed 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 adopting component-based
architectures
3Challenges in Realizing DRE Systems
- Variability in the problem space (domain expert
role) - Functional diversity
- Composition, deployment and configuration
diversity - QoS requirements diversity
4Technology Enablers for DRE systems Component
Middleware
Write Code That Reuses Code
- Components encapsulate application business
logic - Components interact via ports
- Provided interfaces, e.g., facets
- Required connection points, e.g., receptacles
- Event sinks sources
- Attributes
- Containers provide execution environment for
components with common operating requirements - Components/containers can also
- Communicate via a middleware bus and
- Reuse common middleware services
5Challenges in Component-based DRE Systems
6Our Solution CoSMIC MDE Tool Chain
- CoSMIC tools e.g., PICML used to model
application components, CQML for QoS - Captures the data model of the OMG DC
specification - Synthesis of static deployment plans for DRE
applications - Capabilities being added for QoS provisioning
(real-time, fault tolerance, security)
CoSMIC can be downloaded at www.dre.vanderbilt.edu
/cosmic
7Middleware Configuration (1/2)
- Benefits of QoS-enabled middleware technologies
- Raise the level of abstraction
- Support many quality of service (QoS)
configuration knobs
Component
Component
Reference
Reference
Container
Container
Component
Component
Home
Home
s
s
COMPONENT
COMPONENT
t
e
t
e
l
x
l
x
F
F
c
c
e
e
EXECUTORS
a
EXECUTORS
a
t
a
t
a
t
c
t
n
n
c
p
p
e
o
o
e
t
e
e
s
t
C
s
C
s
s
l
c
e
c
l
a
e
t
t
e
c
e
a
n
n
c
n
a
R
n
R
r
e
a
e
f
r
e
r
f
n
n
e
r
t
e
s
s
t
o
e
o
n
t
t
t
e
n
t
e
I
n
p
p
n
I
n
c
n
c
I
E
S
E
S
e
r
m
I
e
r
i
m
v
i
v
u
v
n
v
u
e
o
n
o
e
E
o
o
Callback
k
E
n
Callback
k
C
C
s
S
n
S
t
s
t
Interfaces
Interfaces
POA
POA
ORB
COMPONENT SERVER 1
COMPONENT SERVER 2
7
8Middleware Configuration (2/2)
- Benefits of QoS-enabled middleware technologies
- Raise the level of abstraction
- Support many quality of service (QoS)
configuration knobs
Component
Reference
Container
Component
Home
s
COMPONENT
e
t
l
x
F
c
e
EXECUTORS
a
a
t
c
t
n
p
e
o
t
e
s
s
C
l
e
c
a
t
c
e
n
n
a
R
r
e
f
e
r
n
t
e
s
o
n
t
t
e
I
n
p
n
c
I
E
S
e
r
m
i
v
v
u
n
e
o
E
o
Callback
k
n
C
s
S
t
Interfaces
POA
ORB
COMPONENT SERVER
- Drawbacks of QoS-enabled middleware technologies
- Achieving desired QoS increasingly a system QoS
configuration problem, not just an initial system
functional design problem
Lack of effective QoS configuration tools result
in QoS policy mis-configurartions that are hard
to analyze debug
8
9Solution Approach Model Driven Engineering (MDE)
- Develop, validate, standardize generative
software technologies that - Model
- Analyze
- Synthesize
- Provision
- multiple layers of middleware application
components that require simultaneous control of
multiple quality of service properties end-to-end - Specialization is essential for
inter-/intra-layer optimization advanced
product-line architectures
ltCONFIGURATION_PASSgt ltHOMEgt ltgt
ltCOMPONENTgt ltIDgt ltgtlt/IDgt
ltEVENT_SUPPLIERgt ltevents this
component suppliesgt lt/EVENT_SUPPLIERgt
lt/COMPONENTgt lt/HOMEgt lt/CONFIGURATION_PAS
Sgt
Goal is not to replace programmers per se it is
to provide higher-level domain-specific languages
for middleware/application developers users
10Motivating Application NASA MMS Mission
- NASAs Magnetospheric MultiScale (MMS) space
mission consists of four identically instrumented
spacecraft a ground control system - Collect mission data
- Send it to ground control at appropriate time
instances
10
11Motivating Application NASA MMS Mission
- MMS mission QoS requirements span two dimensions
- Multiple modes of operation
- Varying importance of data collection activity of
satellite sensors based on mission phase
Slow Survey Fast Survey Burst
11
12Motivating Application NASA MMS Mission
- MMS mission QoS requirements span two dimensions
- Multiple modes of operation
- Varying importance of data collection activity of
satellite sensors based on mission phase - Need to translate QoS policies into QoS
configuration options resolve QoS dependencies
Slow Survey Fast Survey Burst
12
13Component-based MMS Mission Prototype
Spacecraft 1
- MMS application components are bundled together
into hierarchical assemblies - Assembly package metadata conveys component
interconnections implementation alternatives
Bus Processor (VxWorks Node)
Payload Processor (Linux Node)
Sensor Suite (Linux node)
Science Agent
Gizmo Agent
Algorithm
Comm Agent
Gizmo Agent
Sensor 1
Gizmo Agent
Algorithm
GNC Agent
Gizmo Agent
Sensor 2
Exec Agent
Exec Agent
Sensor 3
Comm Agent
Sensor 4
Ethernet (802.3)
Ethernet (802.3)
- Several different assemblies tailored to deliver
different end-to-end QoS behaviors and/or
algorithms can be part of the package - e.g., full-scale MMS has 100s of components
10s of assemblies - Packages describing the components assemblies
can be scripted via XML descriptors generated by
automated model-driven tools
MMS prototype developed using Component-Integrated
ACE ORB (CIAO)
14Challenge 1 Translating QoS Policies to QoS
Options
Prioritized service invocations (QoS Policy) must
be mapped to Real-time CORBA Banded Connection
(QoS configuration)
- Large gap between application QoS policies
middleware QoS configuration options - Bridging this gap is necessary to realize the
desired QoS policies - The mapping between application-specific QoS
policies middleware-specific QoS configuration
options is non-trivial, particularly for large
systems
15Challenge 1 Translating QoS Policies to QoS
Options
- Conventional mapping approach requires deep
understanding of the middleware configuration
space - e.g., multiple types/levels of QoS policies
require configuring appropriate number of thread
pools, threadpool lanes (server) banded
connections (client)
Request Buffering
15
16Challenge 2 Choosing Appropriate QoS Option
Values
- Individually configuring component QoS options is
tedious error-prone - e.g., 10 distinct QoS options per component
140 total QoS options for entire NASA MMS
mission prototype - Manually choosing valid values for QoS options
does not scale as size complexity of
applications increase
17Challenge 3 Validating QoS Options
- Each QoS option value chosen should be validated
- e.g., Filter priority model is CLIENT_PROPAGATED,
whereas Comm priority model is SERVER_DECLARED - Each system reconfiguration (at design time)
should be validated - e.g., reconfiguration of bands of Analysis should
be validated such that the modified value
corresponds to (some) lane priority of the Comm
17
18Challenge 4 Resolving QoS Option Dependencies
ThreadPool priorities of Comm should match
priority bands defined at Gizmo
- QoS option dependency is defined as
- Dependency between QoS options of different
components - Manually tracking dependencies is hard or in
some cases infeasible - Dependent components may belong to more than one
assembly - Dependency may span beyond immediate neighbors
- e.g., dependency between Gizmo Comm components
- Empirically validating configuration changes by
hand is tedious, error-prone, slows down
development QA process considerably - Several iterations before desired QoS is achieved
(if at all)
18
19Solution Approach Model-Driven QoS Mapping
- QUality of service pICKER (QUICKER)
- Model-driven engineering (MDE) tools model
application QoS policies - Provides automatic mapping of QoS policies to QoS
configuration options - Validates the generated QoS options
- Automated QoS mapping validation tools can be
used iteratively throughout the development
process
20QUICKER Enabling MDE Technologies
- Enhanced Platform Independent Component Modeling
Language (PICML), a DSML for modeling
component-based applications - QoS mapping uses Graph Rewriting Transformation
(GReAT) model transformation tool - Customized Bogor model-checker used to define new
types primitives to validate QoS options
20
21QUICKER Enabling MDE Technologies
- Enhanced Platform Independent Component Modeling
Language (PICML), a DSML for modeling
component-based applications - QoS mapping uses Graph Rewriting Transformation
(GReAT) model transformation tool - Customized Bogor model-checker used to define new
types primitives to validate QoS options
CQML Model Interpreter
Bogor Input Representation
- CQML Model interpreter generates Bogor Input
Representation (BIR) of DRE system from its CQML
model
21
22QUICKER Concepts Transformation of QoS
policies(1/2)
- Platform-Independent Modeling Language (PICML)
represents application QoS policies - PICML captures policies in a platform-independent
manner - Representation at multiple levels
- e.g., component- or assembly-level
RequirementProxy can be per component or assembly
instance
22
23QUICKER Concepts Transformation of QoS
policies(1/2)
- Platform-Independent Modeling Language (PICML)
represents application QoS policies - PICML captures policies in a platform-independent
manner - Representation at multiple levels
- e.g., component- or assembly-level
- Component QoS Modeling Language (CQML) represents
QoS options - CQML captures QoS configuration options in a
platform-specific manner
23
24QUICKER Concepts Transformations of QoS
policies(2/2)
- Translation of application QoS policies into
middleware QoS options - Semantic translation rules specified in terms of
input (PICML) output (CQML) type graph - e.g., rules that translate multiple application
service requests service level policies to
corresponding middle-ware QoS options - QUICKER transformation engine maps QoS policies
(in PICML) to QoS configuration options (in CQML)
Level 1
Level 2
Provider
Service Request
Level 3
Provider Service Levels
Multiple Service Requests
Service Levels
Priority Model Policy
Lanes
Thread Pool
24
25QUICKER Concepts Validation of QoS Options (1/2)
- Representation of middleware QoS options in Bogor
model-checker - BIR extensions allow representing domain-level
concepts in a system model - QUICKER defines new BIR extensions for QoS
options - Allows representing QoS options domain entities
directly in a Bogor input model - e.g., CCM components, Real-time CORBA lanes/bands
are first-class Bogor data types - Reduces size of system model by avoiding multiple
low-level variables to represent domain concepts
QoS options
26QUICKER Concepts Validation of QoS Options (2/2)
- Representation of properties (that a system
should satisfy) in Bogor - BIR primitives define language constructs to
access manipulate domain-level data types,
e.g. - Used to define rules that validate QoS options
check if property is satisfied - Automatic generation of BIR of DRE system from
CQML models
Rule determines if ThreadPool priorities at Comm
match priority bands at Analysis
Model interpreters auto-generate Bogor Input
Representation of a system from its CQML model
26
27Resolving Challenge 1 Translating Policies to
Options (1/2)
- Expressing QoS policies
- PICML modes application-level QoS policies at
high-level of abstraction - e.g., multiple service levels support for Comm
component, service execution at varying priority
for Analysis component - Reduces modeling effort
- e.g., 25 QoS policy elements for MMS mission vs.
140 QoS options
28Resolving Challenge 1 Translating Policies to
Options (2/2)
- Mapping QoS policies to QoS options
- GReAT model transformations automate the tedious
error-prone translation process - Transformations generate QoS configuration
options as CQML models - Allow further transformation by other tools
- e.g., code optimizers generators
- Simplifies application development enhances
traceability
28
29Resolving Challenges 2 3 Ensuring QoS Option
Validity
- CQML model interpreter
generates BIR
specification from
CQML models - BIR primitives used
to check whether a
given set of
QoS options satisfies a system
property - e.g., fixed
priority service
execution, a property of Comm component - Supports iterative validation of QoS options
during QoS configuration process
QUICKER
30Resolving Challenge 4 Resolving QoS Option
Dependencies
- Dependency structure maintained in Bogor used to
track dependencies between QoS options of
components, e.g. - Analysis Comm are connected
- Gizmo Comm are dependent
Detect mismatch if either values change
Dependency Structure of MMS Mission Components
- Change(s) in QoS options of dependent
component(s) triggers detection of potential
mismatches - e.g., dependency between Gizmo invocation
priority Comm lane priority
31Academic Related Work
- Functional Specification Analysis Tools
- Hatcliff, J. et. al. (2003). Cadena
- QoS Adaptation Modeling Tools
- Ye, J. et. al. (2004). DQME
- Zinky, J., (1997). QuO
- QoS Specification Tools
- Ritter, T. et. al. (2003). CCM QoS MetaModel
- Ahluwalia, J. et. al. (2005). Model-based
Run-time - Monitoring
- Frolund, S. et. al. (1998). QML
- Schedulability Analysis Tools
- Madl, G. et. al. (2004). Automatic
Component-based system verification - Kodase, S. et. al. (2003). AIRES
31
32Concluding Remarks
- QUICKER provides Model-Driven Engineering (MDE)
for QoS-enabled component middleware - Maps application-level QoS policies to
middleware-specific QoS configuration options - Model transformations automatically generate QoS
options - Model-checking extensions ensure validity of QoS
options at component- application-level
QUICKER MDE tools CIAO QoS-enabled component
middleware available as open-source at
www.dre.vanderbilt.edu/CoSMIC
32
33Questions?
1
-
5
1
0
-
2
0
2
1
-
1
0
0