How ADLs concepts can help in adapting the CORBA Component Model to RealTime Embedded Software Desig - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

How ADLs concepts can help in adapting the CORBA Component Model to RealTime Embedded Software Desig

Description:

... S bastien G rard1, Virginie Watine2, St phane M noret2 and Fran ois Terrier1 ... provides systematic approach to cope with complexity ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 17
Provided by: laas
Category:

less

Transcript and Presenter's Notes

Title: How ADLs concepts can help in adapting the CORBA Component Model to RealTime Embedded Software Desig


1
How ADLs concepts can help in adapting the CORBA
Component Model to Real-Time Embedded Software
Design
  • Sylvain Robert1, Ansgar Radermacher1, Vincent
    Seignole2, Sébastien Gérard1, Virginie Watine2,
    Stéphane Ménoret2 and François Terrier1

1 CEA-LIST CEA Saclay 91191 Gif sur Yvette
France
2 Thales/ALICE pilot programme THALES 91300
Massy France
2
Context
  • construction of RT and embedded systems via
    composition
  • relevance of the component-based approach
  • provides systematic approach to cope with
    complexity
  • systems are less and less dedicated to very
    precise functions
  • follow standard conforming approaches
  • CCM (CORBA Component model) from OMG
  • introduction of clear decomposition of roles /
    concerns in sw-process
  • but needs some adaptation
  • was primarily thought for mainstream / non-RT
    systems
  • in particular
  • provision of a real-time environment
  • as well as adequate inter-components interactions
    support
  • This talk focuses on RT interactions for CCM
  • is the topic for THALES-SC2 CEA-List
    collaborative CARROLL-ICE project

3
Presentation outline
  • Review of CORBA Component Model aspects
  • ingredients, role, process
  • how it can be opened to integrate connector
    notions
  • Analysis of classical interaction mechanisms
  • classification attempt, analysis
  • Presentation of CCM extension strategy
  • how we introduce the connector concept into CCM
  • Conclusions and future work

4
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
  • auto-descriptive contents, dependencies
  • a deployment infrastructure
  • components assembly descriptors runtime support

5
CCM features review development process / roles
  • different separated roles
  • component provider
  • provides implementation
  • provides package compnt
  • container provider
  • provide container with adequate non-func support
  • integrator
  • i.e provide assembly description, configuration
    and use deployment tools to set up whole system.

6
Answering the need for CCM interactions
improvement
  • Only basic interactions supported by CCM
  • synchronous method invocation
  • (1,n) push-push typed events propagation
  • 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
  • Goal allow these kinds of architectural styles
    (and others) in CCM

7
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
  • We follow these ideas and introduce connectors in
    CCM
  • to realize the interactions needed
  • behind well-defined interfaces
  • will suitable configuration mechanisms
  • invoked during deployment/setup phase
  • in a reusable manner
  • 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.
  • goal have a reusable Port types / Connector
    library.

8
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
  • Three primitive connector types
  • Message, Event, Procedure call

9
Analysis of main interaction patterns in
real-time systems
  • Example Message Connector (subset)

10
CCM Extension strategy
  • 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

11
Impact on software engineering process
  • description of ports affected to components
  • done via extended IDL3
  • uses_port new keyword inside component type
    decl
  • 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
  • Connector instantiation
  • additional code generation step for typed
    connectors

12
Connectors Examples
  • Event Bus
  • Push/Pull pub-sub
  • publishers / subscribers
  • are associated to collection of char strings
  • event delivered to subscribers whose tag
    collection is a subset of the emitter one
  • Event channel plays particular role
  • Delayed procedure call
  • poll-based version
  • connector naturally parameterized by type of
    target interface

connector EvtBus provides PushInterface
for_publishers provides PullInterface
for_consumers
connector RPC_PollltIgt provides trsf(I)
for_poll_client uses I for_server
13
More insight on connectors for CCM (runtime
setting)
  • connectors realizations are fragmented
  • some fragments co-localized with components
  • implement interface between component and
    connector
  • some fragments in a priori unknown in advance
    place
  • example event channel
  • collaboration modalities between fragments is
    connector specific
  • fragments created and configured via local
    factories

14
Relations between components, ports, and
connectors
Example
  • Ports
  • definitions
  • can be parameterized
  • refer to IDL interfaces
  • Components
  • declare Ports usage
  • Connectors
  • refer to port types
  • or directly to interfaces
  • if the mapping is 1 to 1

interface 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
15
Extension of configuration and deployment for CCM
  • 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

16
Conclusions
  • Presented extensions of CCM to support
  • multiple kinds of software interactions
  • via a framework used to develop connectors
  • via extension of CCM runtime (to allow
    instantiation of them)
  • configuration mechanisms for connectors
  • Assessment and validation of proposal
  • forthcoming with application on a radio-protocol
    stack (inspired from UMTS) use-case
  • Could lead to CCM extensions proposal in the
    future in case of good evaluation.
Write a Comment
User Comments (0)
About PowerShow.com