Chapter 12 The Koala Component Model - PowerPoint PPT Presentation

Slide1 l.jpg
Download
1 / 15

  • 253 Views
  • Updated On :
  • Presentation posted in:

Chapter 12 The Koala Component Model. Overview. Requirements for Koala Koala Interfaces Binding, Gluing and Switches The Product Line Architecture Managing Versions and Variants Subtyping Summary. Koala. Koala is architectural description language

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Presentation

Chapter 12 The Koala Component Model

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Slide1 l.jpg

Chapter 12

The Koala Component Model

Building Reliable Component-based SystemsChapter 12 - The Koala Component Model


Overview l.jpg

Overview

  • Requirements for Koala

  • Koala Interfaces

  • Binding, Gluing and Switches

  • The Product Line Architecture

  • Managing Versions and Variants

  • Subtyping

  • Summary

Building Reliable Component-based SystemsChapter 12 - The Koala Component Model


Koala l.jpg

Koala

  • Koala is

    • architectural description language

    • component model for development of embedded software for consumer electronics products.

  • Is used to build a large diversity of products from a repository of components.

Building Reliable Component-based SystemsChapter 12 - The Koala Component Model


Requirements for koala l.jpg

Requirements for Koala

  • Original requirements:

    • Devise a technique with which components can be ‘freely’ composed into products.

    • The technique must work in resource-constrained environments.

    • Make the product architectures as explicit as possible.

  • Additional requirements:

    • Let components make as few assumptions as possible about their environment.

    • Allow for parameterized components that are as efficient as dedicated components.

    • Allow for various ways of connecting components.

Building Reliable Component-based SystemsChapter 12 - The Koala Component Model


Koala interfaces l.jpg

Koala Interfaces

  • Provide:

    • Like interfaces in COM and java.

  • Require:

    • Communication with components environment.

  • Multiple:

    • Handle evolution and diversity.

  • Optional:

    • Fine tune.

Building Reliable Component-based SystemsChapter 12 - The Koala Component Model


Binding and bind time in koala l.jpg

Binding and Bind Time in Koala

  • Basic binding scheme:

    • Usage of symbolic names.

    • Architectural description language.

    • Compiler generates #define.

  • Can be used as long as we build closed systems.

Building Reliable Component-based SystemsChapter 12 - The Koala Component Model


Principle of binding l.jpg

Principle of Binding

P

P’

A

A

B

B’

Building Reliable Component-based SystemsChapter 12 - The Koala Component Model


Koala components l.jpg

Koala Components

  • Koala component:

    • Implementation in C.

    • Component definition.

  • Koala configuration:

    • List of components.

    • Top-level component.

  • Koala component definition:

    • Describes template for instantiating component.

    • Resembles a class in java.

Building Reliable Component-based SystemsChapter 12 - The Koala Component Model


A koala component l.jpg

A Koala Component

Subcomponent

Interfaces

A switch

CC

C1

s

m

C3

C2

A module

Building Reliable Component-based SystemsChapter 12 - The Koala Component Model


Composing koala components l.jpg

Composing Koala Components

  • Connect:

    • Requires interfaces to provides interfaces;

    • Provides interfaces to provides interfaces;

    • Requires interfaces to requires interfaces.

  • Does not fit?

    • Connect a wider type.

    • ’Normal’ glue code.

    • Switch.

Building Reliable Component-based SystemsChapter 12 - The Koala Component Model


Architectural rules l.jpg

Architectural Rules

  • Initialization

    • Initialization interface

  • Multithreading

    • Pumps

  • Notifications

    • Large number of asynchronous activities

Building Reliable Component-based SystemsChapter 12 - The Koala Component Model


Overall architecture l.jpg

Overall Architecture

  • Separated into three layers:

    • Computing platform

    • Audio/video/data platform

    • Service and application

  • Layer contains a set of subsystems

  • Subsystems contain may components

Building Reliable Component-based SystemsChapter 12 - The Koala Component Model


Product line architecture l.jpg

Product Line Architecture

Computing

Platform

API

uims

apps

Applications & Services

epg

tvsvc

fact

deal

Computing

Platform

Computing Hardware

infra

A/V

Platform

API

txt

tvplf

A/V and Data Platform

Audio / Video Hardware

Building Reliable Component-based SystemsChapter 12 - The Koala Component Model


Managing versions and variants l.jpg

Managing Versions and Variants

  • Diversity in a product line should not be handled by a CM system, because:

    • It keeps diversity outside scope of the architects and,

    • CM systems only handle compile-time variation.

  • CM used for:

    • Maintaining full version history.

    • Temporary branches.

    • Safeguarding product in final testing phase.

  • Koala used for permanent diversity.

Building Reliable Component-based SystemsChapter 12 - The Koala Component Model


Summary l.jpg

Summary

  • Interfaces

  • Binding and bindtimes

  • Components composition

  • Architectural rules

  • Overall architecture

  • Version management

Building Reliable Component-based SystemsChapter 12 - The Koala Component Model


  • Login