august 26th 2004 omg sbc workshop 2004 extending ccm for real-time. assessment on a umts protocol...

26
August 26th 2004 OMG SBC Workshop 2004 Extending CCM for real-time. Assessment on a UMTS protocol case study. Vincent Seignole 1 , Virginie Watine 1 , Sylvain Robert 2 , Ansgar Radermacher 2 , Sébastien Gérard 2 , François Terrier 2 2 CEA-LIST CEA Saclay 91191 Gif sur Yvette France 1 THALES/ALICE pilot programme THALES 91300 Massy France

Upload: gladys-davidson

Post on 23-Dec-2015

214 views

Category:

Documents


1 download

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

5 Aug

ust 2

6th

200

4

OMG SBC Workshop 04

Review of CCM features

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