august 26th 2004 omg sbc workshop 2004 extending ccm for real-time. assessment on a umts protocol...
TRANSCRIPT
Aug
ust 2
6th
2004
OMG SBC Workshop 2004
Extending CCM for real-time. Assessment on a UMTS protocol case study.
Vincent Seignole1, Virginie Watine1,
Sylvain Robert2, Ansgar Radermacher2,
Sébastien Gérard2, François Terrier2
2 CEA-LIST CEA Saclay 91191 Gif sur Yvette France
1 THALES/ALICE pilot programme THALES 91300 Massy France
2 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Context
RT and embedded systems sw-engineering via composition
motivations
Communication equipments less and less dedicated to specific functions
become multi-functions, multi-usage, need migration to modular design
partially open
may not be able to know completely at design time all functions they will execute
relevance of the component-based approach
provides systematic approach to deal with complexity and reuse
natural modularity of resulting system
ultimate goals (among others) :
have a library of components running on standard and common platform
allow to focus more independently on integration of components and on component programming
3 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Context (cont')
Component-based approach on its way since some years in mainstream systems
needs adaptations to apply to real-time and embedded : provision of real-time environment
richer, configurable inter-components interaction support
Topics for present talk: adaptation of Lw-CCM via:
introduction of an extensible CCM container able to support real-time features
introduction of a framework to integrate custom components interactions
confrontation with a communication system example
inspired from UMTS protocols layering at user equipment side
allows to assess and validate the developed approach.
4 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Presentation outline
Review of CORBA Component Model aspects
ingredients, role, process Presentation of CCM extension strategy
i.e how it can be opened to handle some real-time aspects and integrate connector notions to allow custom interactions
Confrontation with communication application
brief description
connectors to capture and factorize recurring mechanisms for protocols inter-layers interactions
Conclusions and future work
6 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Review of CCM features
a component model description of components
provided/required services
events published/consumed
an execution environment Containers
provide a templated usage of CORBA
shield component developers from middleware technical concerns
underlying CORBA middleware support
a packaging model software-package format self-descriptive : contents, dependencies
a deployment infrastructurecomponents assembly descriptors + runtime support
7 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
CCM features review : development process / roles
different separated roles
component provider provides implementation provides packaged compnt
container provider provides container with
adequate non-func support
integrator i.e provides assembly
description, configuration and use deployment tools to set up whole system.
8 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
CCM extension strategy :
on customizable interactions support
9 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Answering the need for CCM interactions improvement
Only basic interactions natively supported by CCM
synchronous method invocation
(1,n) push-push typed events propagation Wide variety of architectural styles in RT-systems
Examples are: pipes and filters
very classical in the communication protocols domain
variants of publish-subscribepush/pull, typed / untyped events
blackboard pattern
Goal: allow these kinds of architectural styles (and others) in CCM
10 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Analysis of main interaction patterns in real-time systems
Analysis :
goal was to list main interaction mechanisms families Broad review of technologies
RTOSes, real-time middlewares, design platforms
classification follows spirit of paper :“Towards a taxonomy of software connectors”, by N.R Mehta, N. Medvidovic, S. Phadke, ICSE 2000
but differs in some points
Results :
Characterization of an interaction is done via:the participants in the interaction (roles and cardinalities),
the type of service (communication or/and synchronization, ...)
QoS features (synchronicity, dynamic behavior, ...)
Three primitive connector typesMessage, Event, Procedure call
11 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Analysis of main interaction patterns in real-time systems
Characterization of Message type interaction (subsetted)
Representation example for an interaction
12 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Answering the needs for CCM interaction improvements
ADLs presently introduce the concept of connectors separation between components and connectors
Components : functional entities
Connectors : interaction entities (at same level of importance)
We follow these ideas and introduce connectors in CCM to realize the interactions needed
behind well-defined interfaces, with suitable configuration mechanisms
in a reusable manneri.e do packaging of connectors
including : connector binaries, description, and code generation plugins for particular connectors that need it.
we are also lead to define new kinds of components' portswill correspond to “connector” interface for component role in a particular interaction.
goal : have a reusable Connector / Port types library.may be engineering domain specific (example : protocol domain)
13 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
CCM Extension strategy : custom interactions
Integration of connectors solution involves
provision of description mechanisms for connectors for new kinds of ports, for usage of them
provision of framework for implementation of connectors or for code generation plugins (in case of type-specialized conn.)
extension of CCM runtime to install / setup / configure bind connectors instances to components
extension of CCM assembly descriptors to let appear the connector notion in it and specify binding to components
14 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Impact on software engineering process
description of ports affected to components
done via extended IDL3 uses_port new keyword inside
“component” type declarations refers to Port collection
CIF is derived from port types definitions codegen
Assembly descriptordefines connector instances
in addition to comp instances
defines binding of components to connectors configuration of connectors
Connector instantiationadditional code generation step for “typed” connectors
15 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Connectors, Ports, and Components (description)
Ports definitions via Port_type
refer to IDL interfaces can be parameterized can group multiple needed / used
interfaces closer to UML2 component ports
not only syntactical contracts
Componentsdeclare Ports usage (uses_port)
ext IDL3 -> classical IDL3
Connectorsrefer to port types
or directly to interfaces
Illustratedinterface PushEventInterface { void push( in any evt );};
Port_type PushPublisher { uses PushEventInterface pe;};
Port_type PushConsumer { provides PushEventInterface pe;};
component C { uses_port PushPublisher pub_port;};
component D {uses_port PushConsumer cons_port;
};
connector PushPushEvent { provides_port PushPublisher for_pubs; provides_port PushConsumer for_cons;};
16 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Illustration : basic Connectors / Port_types examples
Delayed procedure call example poll-based version
connector naturally parameterized by type of target interface
interfaces “transformation” case
Port_type RPC_Poll_Client<I>{ provides trsf(I) client_port;};
connector RPC_Poll<I> { provides_port RPC_Poll_Client<I> fpc; uses I for_server; };
component C{ uses_port RPC_Poll_Client<I> my_port;};
interface I{ long do_it( in string s );};
local interface long_Poller{ bool is_available(); void get_it( out long result ); void check_for_exception( out CORBA::RepositoryId r );};
local interface RPC_Poll_I{ long_Poller do_it( in string s );};
trsf(I)
17 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
More insight on connectors for CCM (runtime setting)
connectors realizations: decomposed into “fragments” have some fragments co-localized with components
implement interface between component and connector
implementation needs to implement particular local interfaces
have some fragments in a priori unknown in advance placeexample : event channel
collaboration modalities between fragments is connector specificcan be done via ad-hoc mechanisms
fragments created and configured via local factories
18 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Connectors vs Configuration and Deployment phases
Extensions
of assembly file format (XML Schema) for ability to refer to connector package
for ability to install, instantiate and configure connector instance
local fragments as well as non-localization constrained ones
configuration : per connector instance, or associated to particular components bound to connector instance
for ability to define bindings between components ports to connector slots (i.e between matching ports)
of CCM runtime to support interaction with deployment tool
19 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
CCM Extension strategy :
how to build custom containers supporting real-time
20 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
CCM Containers general facts and extensions
CCM containers: provide predefined lifecycle for components, some non-functional features (not the good ones for RT), come in four (fixed) types
Extension approach :provide extensible container construction facilities
to embed predefined / custom services in itto apply on hosted components
and obtain the container fitting the needs for particular application
how this is done : framework to develop container modules (interfaces to implement) container uses this framework base interfaces at particular points:
interception
creation of POA with particular policies, activation of servants
services explicitly provided to component via context interface
21 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Extensible container overview / examples for services
Basic RT services as possible container ingredients (examples)
usage of an RT-CORBA ORB
with selected prio models / Policies (example : CLIENT_PROPAGATED)
Threadpools
scheduling mechanisms
clocks
time triggers
for periodic activities combined with associated defined priority
...
22 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Communication application
Simplified UMTS radio protocol stack
23 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Overall description of use-case : UMTS protocol layers at UE
• Notions :• TTI: transmission time interval• TFC: transport format
combination• BO : buffer occupancy• SAP : service access point
in each TTI : - RLC submits info about BOs to MAC - MAC informs RLC of PDUs nb to submit to log channels SAPs - RLC submits PDUs to MAC - MAC processes RLC PDUs and submits transport blocks sets to PHY according to TFC selection - ...
Note: only uplink shown
24 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Connectors examples 1
Intent : capture recurring inter protocol layers interactions
upper layers to RLC entity interaction in uplink
Message type connector Buffering of RLC SDUs Discarding policies for SDUs
criteria : TTI index , Buffer full, discard-timers associated with SDUs
interface Send_message{ void send( in OctetSeq msg );};
enum discarding_policy{ TTI_based, timer_based, buffer_based};
connector Message{ provides Send_message for_sender; uses Send_message for_receiver; attribute discarding_policy d_pol;};
25 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Connectors examples 2
Intent : capture recurring inter-layers interactions
control of access to RACH (random access channel)
selection of TTI to initiate access on RACH done randomly with probability P_i until success or nb_retries > N_max additional timing delay in case of Negative ACK by PHY
26 Aug
ust 2
6th
200
4
OMG SBC Workshop 04
Conclusions
Presented extensions of CCM to support
multiple kinds of software interactions
extensible component framework construction supporting real-time, separation of concerns
parts of this work are in progress Assessment and validation of proposal:
forthcoming with prototyping of presented radio-protocol stack use-case.
Could lead to CCM extensions proposal in the future in case of good evaluation.
Acknowledgements: CARROLL-ICE : THALES/SC2 – CEA/LIST Collaborative project IST-Compare and ITEA-Merced European projects