Extending CCM for realtime Assessment on a UMTS

  • Slides: 26
Download presentation
Extending CCM for real-time. Assessment on a UMTS protocol case study. Vincent Seignole 1,

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 August 26 th 2004 1 THALES/ALICE pilot programme THALES 91300 Massy France 2 CEA-LIST CEA Saclay 91191 Gif sur Yvette France OMG SBC Workshop 2004

Context RT and embedded systems sw-engineering via composition motivations Communication equipments less and less

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 August 26 th 2004 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 OMG SBC Workshop 04 2

Context (cont') Component-based approach on its way since some years in mainstream systems needs

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 August 26 th 2004 inspired from UMTS protocols layering at user equipment side allows to assess and validate the developed approach. OMG SBC Workshop 04 3

Presentation outline Review of CORBA Component Model aspects ingredients, role, process Presentation of CCM

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 August 26 th 2004 Confrontation with communication application brief description connectors to capture and factorize recurring mechanisms for protocols inter-layers interactions Conclusions and future work OMG SBC Workshop 04 4

August 26 th 2004 Review of CCM features OMG SBC Workshop 04 5

August 26 th 2004 Review of CCM features OMG SBC Workshop 04 5

Review of CCM features a component model description of components provided/required services events published/consumed

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 August 26 th 2004 software-package format self-descriptive : contents, dependencies a deployment infrastructure components assembly descriptors + runtime support OMG SBC Workshop 04 6

CCM features review : development process / roles different separated roles component provider provides

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 August 26 th 2004 i. e provides assembly description, configuration and use deployment tools to set up whole system. OMG SBC Workshop 04 7

August 26 th 2004 CCM extension strategy : on customizable interactions support OMG SBC

August 26 th 2004 CCM extension strategy : on customizable interactions support OMG SBC Workshop 04 8

Answering the need for CCM interactions improvement Only basic interactions natively supported by CCM

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-subscribe push/pull, typed / untyped events blackboard pattern August 26 th 2004 Goal: allow these kinds of architectural styles (and others) in CCM OMG SBC Workshop 04 9

Analysis of main interaction patterns in real-time systems Analysis : goal was to list

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, . . . ) Qo. S features (synchronicity, dynamic behavior, . . . ) August 26 th 2004 Three primitive connector types Message, Event, Procedure call OMG SBC Workshop 04 10

Analysis of main interaction patterns in real-time systems August 26 th 2004 Characterization of

Analysis of main interaction patterns in real-time systems August 26 th 2004 Characterization of Message type interaction (subsetted) Representation example for an interaction OMG SBC Workshop 04 11

Answering the needs for CCM interaction improvements ADLs presently introduce the concept of connectors

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 manner i. 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' ports will correspond to “connector” interface for component role in a particular interaction. August 26 th 2004 goal : have a reusable Connector / Port types library. may be engineering domain specific (example : protocol domain) OMG SBC Workshop 04 12

CCM Extension strategy : custom interactions Integration of connectors solution involves provision of description

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 August 26 th 2004 extension of CCM assembly descriptors to let appear the connector notion in it and specify binding to components OMG SBC Workshop 04 13

Impact on software engineering process description of ports affected to components done via extended

Impact on software engineering process description of ports affected to components done via extended IDL 3 uses_port new keyword inside “component” type declarations refers to Port collection CIF is derived from port types definitions codegen Assembly descriptor defines connector instances in addition to comp instances defines binding of components to connectors configuration of connectors August 26 th 2004 Connector instantiation additional code generation step for “typed” connectors OMG SBC Workshop 04 14

Connectors, Ports, and Components (description) Illustrated Ports definitions via Port_type refer to IDL interfaces

Connectors, Ports, and Components (description) Illustrated Ports definitions via Port_type refer to IDL interfaces can be parameterized can group multiple needed / used interfaces closer to UML 2 component ports not only syntactical contracts Components declare Ports usage (uses_port) ext IDL 3 -> classical IDL 3 August 26 th 2004 Connectors refer to port types or directly to interfaces interface Push. Event. Interface { void push( in any evt ); }; Port_type Push. Publisher { uses Push. Event. Interface pe; }; Port_type Push. Consumer { provides Push. Event. Interface pe; }; component C { uses_port Push. Publisher pub_port; }; component D { uses_port Push. Consumer cons_port; }; connector Push. Event { provides_port Push. Publisher for_pubs; provides_port Push. Consumer for_cons; }; OMG SBC Workshop 04 15

Illustration : basic Connectors / Port_types examples Delayed procedure call example poll-based version connector

Illustration : basic Connectors / Port_types examples Delayed procedure call example poll-based version connector naturally parameterized by type of target interface I { long do_it( in string s ); }; interfaces “transformation” case trsf(I) August 26 th 2004 local interface long_Poller { bool is_available(); void get_it( out long result ); void check_for_exception( out CORBA: : Repository. Id r ); }; local interface RPC_Poll_I { long_Poller do_it( in string s ); }; 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; }; OMG SBC Workshop 04 16

More insight on connectors for CCM (runtime setting) connectors realizations: decomposed into “fragments” have

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 place example : event channel collaboration modalities between fragments is connector specific can be done via ad-hoc mechanisms August 26 th 2004 fragments created and configured via local factories OMG SBC Workshop 04 17

Connectors vs Configuration and Deployment phases Extensions of assembly file format (XML Schema) for

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) August 26 th 2004 of CCM runtime to support interaction with deployment tool OMG SBC Workshop 04 18

August 26 th 2004 CCM Extension strategy : how to build custom containers supporting

August 26 th 2004 CCM Extension strategy : how to build custom containers supporting real-time OMG SBC Workshop 04 19

CCM Containers general facts and extensions CCM containers: provide predefined lifecycle for components, some

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 it to apply on hosted components and obtain the container fitting the needs for particular application how this is done : August 26 th 2004 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 OMG SBC Workshop 04 20

Extensible container overview / examples for services Basic RT services as possible container ingredients

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 August 26 th 2004 . . . OMG SBC Workshop 04 21

August 26 th 2004 Communication application Simplified UMTS radio protocol stack OMG SBC Workshop

August 26 th 2004 Communication application Simplified UMTS radio protocol stack OMG SBC Workshop 04 22

Overall description of use-case : UMTS protocol layers at UE Note: only uplink shown

Overall description of use-case : UMTS protocol layers at UE Note: only uplink shown • Notions : • TTI: transmission time interval • TFC: transport format combination • BO : buffer occupancy • SAP : service access point August 26 th 2004 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 -. . . OMG SBC Workshop 04 23

Connectors examples 1 Intent : capture recurring inter protocol layers interactions upper layers to

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 Octet. Seq msg ); }; August 26 th 2004 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; }; OMG SBC Workshop 04 24

Connectors examples 2 Intent : capture recurring inter-layers interactions control of access to RACH

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 August 26 th 2004 done randomly with probability P_i until success or nb_retries > N_max additional timing delay in case of Negative ACK by PHY OMG SBC Workshop 04 25

Conclusions August 26 th 2004 Presented extensions of CCM to support multiple kinds of

Conclusions August 26 th 2004 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/SC 2 – CEA/LIST Collaborative project IST-Compare and ITEA-Merced European projects OMG SBC Workshop 04 26