SlideShare une entreprise Scribd logo
1  sur  27
Koala Component Model
26 April 2015 Component Based Tech 1
Agenda
• Present Challenges
• The Koala Model
• Extensions to the Model
• Diversity
• Execution
26 April 2015 Component Based Tech 2
Present Challenges in Consumer Electronics
• The increasing size of products
• More complex control functions
• Growing diversity of the products
• Significant decrease in development time
26 April 2015 Component Based Tech 3
The Koala Model
• It is aimed at:
– Managing the increasing complexity by handling
architecture
– Handling the diversity by software reuse
• KOALA Model:
C[K]omponent Organiser and Linking Assistant
• Developed by Philips
26 April 2015 Component Based Tech 4
The Koala Model
• Components and configurations are considered as
separate entities
• It is a unit of design, development and reuse
• Koala Components are defined in its:
– IDL (Interface Definition Language)
– CDL (Component Definition Language)
• Interaction between environment or other
components are only through explicit interfaces
26 April 2015 Component Based Tech 5
Components
• Component is a encapsulated piece of software
• It is a unit of development and architectural design
• A self-contained entity
26 April 2015 Component Based Tech 6
Interfaces
• It describes connection between components at
higher levels
• Type of interfaces:
– Provides Interface
– Requires Interface
• Interface Definition Language is used to list all
prototype in C syntax. Example:
26 April 2015 Component Based Tech 7
Configurations
• It is a set of components connected together
• Definition specifies the components and
interfaces that connects the components.
26 April 2015 Component Based Tech 8
Implementation
• Components are implemented as a set of C
and header files in a single directory
• A call for a requires interface(r_f) by a
provides interface(c_p_f) can be defined as:
#define r_f(...) c_p_f(...)
• Statements are generated by a small tool
called Koala that reads CDL and IDL
26 April 2015 Component Based Tech 9
Extensions to the Model
• Compound Components:
When building large systems consisting of
hundreds of components, it becomes unfeasible
to interconnect them in a single description: the
description gets too large to be understandable,
cannot be easily maintained by a team of people,
and different expertise areas are needed for
different parts of the configuration.
Therefore we make the component model
recursive.
26 April 2015 Component Based Tech 10
Extensions to the Model
• Gluing Interfaces:
A direct connection between interfaces is not
always sufficient.
It assumes that components are completely
tuned to each other in their interfaces, and this
is often not the case.
Therefore we introduce modules.
26 April 2015 Component Based Tech 11
Extensions to the Model
• Multiple Instantiation
In our systems, most components occur only once
in a single configuration, and the implementation
techniques described above are then sufficient.
For some components, mostly of a service nature,
it would be convenient to be able to instantiate
them more than once.
For that we need to explicitly define the
component as multiply instantiable
26 April 2015 Component Based Tech 12
Extensions to the Model
• Packages
We assume that component type and interface
type names are globally unique.
This is not a necessary element of our approach.
It is relatively simple to add the notion of a
package with private and public types and with
import statements (as in Java).
26 April 2015 Component Based Tech 13
Diversity
• How do we manage diversity? First of all, the strict
separation between components and configurations
already allows us to create a multitude of configurations
with a single set of components, adding glue wherever
necessary to match the components. In this section we
extend our model with several other features. We shall
both deal with internal diversity (within components)
and with structural diversity (between components).
26 April 2015 Component Based Tech 14
Diversity
• Interface Compatibility We follow the COM
convention that an interface type, once defined,
may never be changed anymore. Still, new
generations of components may require the
definition of new interface types that are small
extensions of existing types. Therefore we allow
the tip of an interface to be bound to the base of
another interface if the first interface is of a
subtype of the second.
26 April 2015 Component Based Tech 15
Diversity
• Diversity Interfaces We believe that components
can only be made reusable if they are ‘heavily
parameterized’ .
• Interfaces containing diversity functions are called
diversity interfaces (though in the model, diversity
functions can be (and are) freely intermixed with
‘normal’ requires functions).
26 April 2015 Component Based Tech 16
Diversity
• Late Binding The trend in binding techniques is
to shift the moment of binding from compile
time to link time to initialization time to run
time. Our model supports various forms of late
binding, but to explain this, we must introduce
another time scale, relevant for the
development of embedded software.
26 April 2015 Component Based Tech 17
Diversity
• Switches A switch is an element that can be
used to route connections between interfaces.
Its top must be connected to the tip of one
interface, and each of its ‘bottoms’ can be
connected to the base of a different interface.
The switch setting is controlled through a
diversity interface. Our binding tool Koala
knows about switches.
26 April 2015 Component Based Tech 18
Diversity
• Switches.
Diagram: component A uses B1 in one product, and B2
in another product. We can simply define two
configurations to implement this, but A may be part of a
complex compound component, and we do not want to
duplicate the rest of that. Our basic solution is to insert
a module between the requires interface of A and the
provides interfaces of B1 and B2. As this is a recurring
pattern, we introduce a special concept for this.
26 April 2015 Component Based Tech 19
Diversity
• Function Binding How can individual diversity
parameters be set to a constant value at
configuration time? An interface is connected
with its tip to perhaps other interfaces, but
ultimately through a chain of such bindings to
a module.
26 April 2015 Component Based Tech 20
Diversity
• Optional Interfaces An optional interface has
an implicit extra function called iPresent,
which acts as a boolean diversity parameter.
It is true if the tip of the interface is
connected to a non optional interface, false if
the tip is not connected at all, and defined
within the module if the tip is connected to a
module.
26 April 2015 Component Based Tech 21
Execution Architecture
• The basic rule in our approach is to make
components configuration independent as
much as possible. As an illustration, we shall
show in this section how we define the
execution architecture. Our approach is to
define components in such a way that the
actual execution architecture can be
established at configuration time
26 April 2015 Component Based Tech 22
Execution Architecture
• Events
How do we deal with events? Instead of
defining some event handling mechanism in
our model, we just advise component
designers to signal events through outgoing
(requires) interfaces (just like in Visual Basic).
26 April 2015 Component Based Tech 23
Execution Architecture
• Events
Another component that uses services of the
component can provide an event-handling
interface that can be connected to the event-
signaling interface.
26 April 2015 Component Based Tech 24
Execution Architecture
• Threads and Tasks
Each component may implement its time
consuming activities in terms of tasks, which
are scheduled synchronously by a task
manager running in a global thread. To do so,
a component requires a thread ID through a
virtual thread interface, and creates its tasks
on such virtual threads.
26 April 2015 Component Based Tech 25
Execution Architecture
• Threads and Tasks
At configuration time, the (many) virtual
threads are mapped to the (few) physical
threads, thus enabling Gomaa’s principle of
Task Inversion .
26 April 2015 Component Based Tech 26
Reference Paper
Koala Component Model for Consumer Electronics Product
Software:
https://distrinet.cs.kuleuven.be/projects/SEESCOA/internal/w
orkpackages/workpackage1/Task1dot1/reports/Philips/Koala/
ares2Final.pdf
26 April 2015 Component Based Tech 27

Contenu connexe

Tendances

Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...IBM Rational software
 
Smart Internationalization assistance and resource translation tools
Smart Internationalization assistance and resource translation toolsSmart Internationalization assistance and resource translation tools
Smart Internationalization assistance and resource translation toolsmreiterer
 
Component Based Software Engineering
Component Based Software EngineeringComponent Based Software Engineering
Component Based Software EngineeringSatishDabhi1
 
Rhapsody Eclipse
Rhapsody EclipseRhapsody Eclipse
Rhapsody EclipseBill Duncan
 
Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...Remedy IT
 
Component Base Development
Component Base DevelopmentComponent Base Development
Component Base DevelopmentFrik khechoomian
 
Introduction of A Lightweight Stage-Programming Framework
Introduction of A Lightweight Stage-Programming FrameworkIntroduction of A Lightweight Stage-Programming Framework
Introduction of A Lightweight Stage-Programming FrameworkYu Liu
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineeringScott Althouse
 
Component Based Testing Using Finite Automata
Component Based Testing Using Finite AutomataComponent Based Testing Using Finite Automata
Component Based Testing Using Finite AutomataSanjoy Kumar Das
 
Component Based Distributed System Development
Component Based Distributed System DevelopmentComponent Based Distributed System Development
Component Based Distributed System DevelopmentEmmanuel Fuchs
 
Managing OSS license obligations
Managing OSS license obligationsManaging OSS license obligations
Managing OSS license obligationsnexB Inc.
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Chandan Thakur
 
[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with GitIvano Malavolta
 
Rhapsody Systems Software
Rhapsody Systems SoftwareRhapsody Systems Software
Rhapsody Systems SoftwareBill Duncan
 
Steer at the Team Level with Rational Team Concert
Steer at the Team Level with Rational Team ConcertSteer at the Team Level with Rational Team Concert
Steer at the Team Level with Rational Team ConcertIBM Rational software
 

Tendances (20)

Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
 
Smart Internationalization assistance and resource translation tools
Smart Internationalization assistance and resource translation toolsSmart Internationalization assistance and resource translation tools
Smart Internationalization assistance and resource translation tools
 
Component Based Software Engineering
Component Based Software EngineeringComponent Based Software Engineering
Component Based Software Engineering
 
Rhapsody Eclipse
Rhapsody EclipseRhapsody Eclipse
Rhapsody Eclipse
 
Resources slides
Resources slidesResources slides
Resources slides
 
Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...
 
Component Base Development
Component Base DevelopmentComponent Base Development
Component Base Development
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Introduction of A Lightweight Stage-Programming Framework
Introduction of A Lightweight Stage-Programming FrameworkIntroduction of A Lightweight Stage-Programming Framework
Introduction of A Lightweight Stage-Programming Framework
 
Layered Software Architecture
Layered Software ArchitectureLayered Software Architecture
Layered Software Architecture
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineering
 
Component Based Testing Using Finite Automata
Component Based Testing Using Finite AutomataComponent Based Testing Using Finite Automata
Component Based Testing Using Finite Automata
 
DiCoMEF screenshots
DiCoMEF screenshotsDiCoMEF screenshots
DiCoMEF screenshots
 
Component Based Distributed System Development
Component Based Distributed System DevelopmentComponent Based Distributed System Development
Component Based Distributed System Development
 
Managing OSS license obligations
Managing OSS license obligationsManaging OSS license obligations
Managing OSS license obligations
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)
 
[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git
 
Rhapsody Systems Software
Rhapsody Systems SoftwareRhapsody Systems Software
Rhapsody Systems Software
 
Steer at the Team Level with Rational Team Concert
Steer at the Team Level with Rational Team ConcertSteer at the Team Level with Rational Team Concert
Steer at the Team Level with Rational Team Concert
 
Class 2013 presentation
Class 2013 presentationClass 2013 presentation
Class 2013 presentation
 

En vedette

Advo slides
Advo slidesAdvo slides
Advo slidesfamily81
 
Technical non-technical-requirement-of-cots-selection
Technical non-technical-requirement-of-cots-selectionTechnical non-technical-requirement-of-cots-selection
Technical non-technical-requirement-of-cots-selectionSaransh Garg
 
Architecture Description Languages
Architecture Description LanguagesArchitecture Description Languages
Architecture Description LanguagesHenry Muccini
 
India - Decade Of Innovations Roadmap
India - Decade Of Innovations RoadmapIndia - Decade Of Innovations Roadmap
India - Decade Of Innovations Roadmapdebmalyadutta
 
Introduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGESIntroduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGESIvano Malavolta
 
Software Architecture: Architecture Description Languages
Software Architecture: Architecture Description LanguagesSoftware Architecture: Architecture Description Languages
Software Architecture: Architecture Description LanguagesHenry Muccini
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017Drift
 

En vedette (8)

Advo slides
Advo slidesAdvo slides
Advo slides
 
Technical non-technical-requirement-of-cots-selection
Technical non-technical-requirement-of-cots-selectionTechnical non-technical-requirement-of-cots-selection
Technical non-technical-requirement-of-cots-selection
 
Architecture Description Languages
Architecture Description LanguagesArchitecture Description Languages
Architecture Description Languages
 
India - Decade Of Innovations Roadmap
India - Decade Of Innovations RoadmapIndia - Decade Of Innovations Roadmap
India - Decade Of Innovations Roadmap
 
Introduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGESIntroduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGES
 
Software Architecture: Architecture Description Languages
Software Architecture: Architecture Description LanguagesSoftware Architecture: Architecture Description Languages
Software Architecture: Architecture Description Languages
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 

Similaire à Koala component model (1)

.net Based Component Technologies
.net Based Component Technologies.net Based Component Technologies
.net Based Component Technologiesprakashk453625
 
Spring Architecture | Advanced Java
Spring Architecture | Advanced JavaSpring Architecture | Advanced Java
Spring Architecture | Advanced JavaVISHAL DONGA
 
Plugin-based IVI Architectures with Qt
Plugin-based IVI Architectures with Qt Plugin-based IVI Architectures with Qt
Plugin-based IVI Architectures with Qt ICS
 
Design engineering cohesion by dinesh
Design engineering cohesion by dineshDesign engineering cohesion by dinesh
Design engineering cohesion by dineshDinesh Kumar
 
Angular Course.pptx
Angular Course.pptxAngular Course.pptx
Angular Course.pptxImdad Ullah
 
Software Engineering Unit 3 PPT Software Design
Software Engineering Unit 3 PPT Software DesignSoftware Engineering Unit 3 PPT Software Design
Software Engineering Unit 3 PPT Software Designmayanksingh678141
 
Unit3 Software engineering UPTU
Unit3 Software engineering UPTUUnit3 Software engineering UPTU
Unit3 Software engineering UPTUMohammad Faizan
 
Component based development | what, why and how
Component based development | what, why and howComponent based development | what, why and how
Component based development | what, why and howRakesh Kumar Jha
 
System software design1
System software design1System software design1
System software design1PrityRawat2
 
UNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptxUNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptxanguraju1
 
MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021Nicholas Bowman
 
Middle ware Technologies
Middle ware TechnologiesMiddle ware Technologies
Middle ware Technologiesprakashk453625
 
Unit-III(Design).pptx
Unit-III(Design).pptxUnit-III(Design).pptx
Unit-III(Design).pptxFajar Baskoro
 

Similaire à Koala component model (1) (20)

.net Based Component Technologies
.net Based Component Technologies.net Based Component Technologies
.net Based Component Technologies
 
Spring Architecture | Advanced Java
Spring Architecture | Advanced JavaSpring Architecture | Advanced Java
Spring Architecture | Advanced Java
 
Plugin-based IVI Architectures with Qt
Plugin-based IVI Architectures with Qt Plugin-based IVI Architectures with Qt
Plugin-based IVI Architectures with Qt
 
Week 6
Week 6Week 6
Week 6
 
Angular 9
Angular 9 Angular 9
Angular 9
 
Component level design
Component   level designComponent   level design
Component level design
 
Design engineering cohesion by dinesh
Design engineering cohesion by dineshDesign engineering cohesion by dinesh
Design engineering cohesion by dinesh
 
Xp conf-tbd
Xp conf-tbdXp conf-tbd
Xp conf-tbd
 
Angular Course.pptx
Angular Course.pptxAngular Course.pptx
Angular Course.pptx
 
SE-software design.ppt
SE-software design.pptSE-software design.ppt
SE-software design.ppt
 
5 software design
5 software design5 software design
5 software design
 
Software Engineering Unit 3 PPT Software Design
Software Engineering Unit 3 PPT Software DesignSoftware Engineering Unit 3 PPT Software Design
Software Engineering Unit 3 PPT Software Design
 
Unit3 Software engineering UPTU
Unit3 Software engineering UPTUUnit3 Software engineering UPTU
Unit3 Software engineering UPTU
 
Component based development | what, why and how
Component based development | what, why and howComponent based development | what, why and how
Component based development | what, why and how
 
System software design1
System software design1System software design1
System software design1
 
UNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptxUNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptx
 
MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021
 
Design Principles
Design PrinciplesDesign Principles
Design Principles
 
Middle ware Technologies
Middle ware TechnologiesMiddle ware Technologies
Middle ware Technologies
 
Unit-III(Design).pptx
Unit-III(Design).pptxUnit-III(Design).pptx
Unit-III(Design).pptx
 

Plus de Saransh Garg

Selecting with multiple interfaces
Selecting with multiple interfacesSelecting with multiple interfaces
Selecting with multiple interfacesSaransh Garg
 
Selecting cots vendor in cbse process
Selecting cots vendor in cbse processSelecting cots vendor in cbse process
Selecting cots vendor in cbse processSaransh Garg
 
Predicting system trustworthyness
Predicting system trustworthynessPredicting system trustworthyness
Predicting system trustworthynessSaransh Garg
 
Integration in component based technology
Integration in component based technologyIntegration in component based technology
Integration in component based technologySaransh Garg
 
Embedded system.pptx
Embedded system.pptxEmbedded system.pptx
Embedded system.pptxSaransh Garg
 
Composition of cots
Composition of cotsComposition of cots
Composition of cotsSaransh Garg
 
Components in real time systems
Components in real time systemsComponents in real time systems
Components in real time systemsSaransh Garg
 
Component object model and
Component object model andComponent object model and
Component object model andSaransh Garg
 
Architecture support for component
Architecture support for component Architecture support for component
Architecture support for component Saransh Garg
 

Plus de Saransh Garg (15)

Selecting with multiple interfaces
Selecting with multiple interfacesSelecting with multiple interfaces
Selecting with multiple interfaces
 
Selecting cots vendor in cbse process
Selecting cots vendor in cbse processSelecting cots vendor in cbse process
Selecting cots vendor in cbse process
 
Scs.pptx repaired
Scs.pptx repairedScs.pptx repaired
Scs.pptx repaired
 
Repo for cbt
Repo for cbtRepo for cbt
Repo for cbt
 
Rbce
Rbce Rbce
Rbce
 
Predicting system trustworthyness
Predicting system trustworthynessPredicting system trustworthyness
Predicting system trustworthyness
 
Javabean1
Javabean1Javabean1
Javabean1
 
Integration in component based technology
Integration in component based technologyIntegration in component based technology
Integration in component based technology
 
Embedded system.pptx
Embedded system.pptxEmbedded system.pptx
Embedded system.pptx
 
Cots integration
Cots integrationCots integration
Cots integration
 
Corba model ppt
Corba model pptCorba model ppt
Corba model ppt
 
Composition of cots
Composition of cotsComposition of cots
Composition of cots
 
Components in real time systems
Components in real time systemsComponents in real time systems
Components in real time systems
 
Component object model and
Component object model andComponent object model and
Component object model and
 
Architecture support for component
Architecture support for component Architecture support for component
Architecture support for component
 

Dernier

Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...anjaliyadav012327
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxShobhayan Kirtania
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 

Dernier (20)

Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptx
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 

Koala component model (1)

  • 1. Koala Component Model 26 April 2015 Component Based Tech 1
  • 2. Agenda • Present Challenges • The Koala Model • Extensions to the Model • Diversity • Execution 26 April 2015 Component Based Tech 2
  • 3. Present Challenges in Consumer Electronics • The increasing size of products • More complex control functions • Growing diversity of the products • Significant decrease in development time 26 April 2015 Component Based Tech 3
  • 4. The Koala Model • It is aimed at: – Managing the increasing complexity by handling architecture – Handling the diversity by software reuse • KOALA Model: C[K]omponent Organiser and Linking Assistant • Developed by Philips 26 April 2015 Component Based Tech 4
  • 5. The Koala Model • Components and configurations are considered as separate entities • It is a unit of design, development and reuse • Koala Components are defined in its: – IDL (Interface Definition Language) – CDL (Component Definition Language) • Interaction between environment or other components are only through explicit interfaces 26 April 2015 Component Based Tech 5
  • 6. Components • Component is a encapsulated piece of software • It is a unit of development and architectural design • A self-contained entity 26 April 2015 Component Based Tech 6
  • 7. Interfaces • It describes connection between components at higher levels • Type of interfaces: – Provides Interface – Requires Interface • Interface Definition Language is used to list all prototype in C syntax. Example: 26 April 2015 Component Based Tech 7
  • 8. Configurations • It is a set of components connected together • Definition specifies the components and interfaces that connects the components. 26 April 2015 Component Based Tech 8
  • 9. Implementation • Components are implemented as a set of C and header files in a single directory • A call for a requires interface(r_f) by a provides interface(c_p_f) can be defined as: #define r_f(...) c_p_f(...) • Statements are generated by a small tool called Koala that reads CDL and IDL 26 April 2015 Component Based Tech 9
  • 10. Extensions to the Model • Compound Components: When building large systems consisting of hundreds of components, it becomes unfeasible to interconnect them in a single description: the description gets too large to be understandable, cannot be easily maintained by a team of people, and different expertise areas are needed for different parts of the configuration. Therefore we make the component model recursive. 26 April 2015 Component Based Tech 10
  • 11. Extensions to the Model • Gluing Interfaces: A direct connection between interfaces is not always sufficient. It assumes that components are completely tuned to each other in their interfaces, and this is often not the case. Therefore we introduce modules. 26 April 2015 Component Based Tech 11
  • 12. Extensions to the Model • Multiple Instantiation In our systems, most components occur only once in a single configuration, and the implementation techniques described above are then sufficient. For some components, mostly of a service nature, it would be convenient to be able to instantiate them more than once. For that we need to explicitly define the component as multiply instantiable 26 April 2015 Component Based Tech 12
  • 13. Extensions to the Model • Packages We assume that component type and interface type names are globally unique. This is not a necessary element of our approach. It is relatively simple to add the notion of a package with private and public types and with import statements (as in Java). 26 April 2015 Component Based Tech 13
  • 14. Diversity • How do we manage diversity? First of all, the strict separation between components and configurations already allows us to create a multitude of configurations with a single set of components, adding glue wherever necessary to match the components. In this section we extend our model with several other features. We shall both deal with internal diversity (within components) and with structural diversity (between components). 26 April 2015 Component Based Tech 14
  • 15. Diversity • Interface Compatibility We follow the COM convention that an interface type, once defined, may never be changed anymore. Still, new generations of components may require the definition of new interface types that are small extensions of existing types. Therefore we allow the tip of an interface to be bound to the base of another interface if the first interface is of a subtype of the second. 26 April 2015 Component Based Tech 15
  • 16. Diversity • Diversity Interfaces We believe that components can only be made reusable if they are ‘heavily parameterized’ . • Interfaces containing diversity functions are called diversity interfaces (though in the model, diversity functions can be (and are) freely intermixed with ‘normal’ requires functions). 26 April 2015 Component Based Tech 16
  • 17. Diversity • Late Binding The trend in binding techniques is to shift the moment of binding from compile time to link time to initialization time to run time. Our model supports various forms of late binding, but to explain this, we must introduce another time scale, relevant for the development of embedded software. 26 April 2015 Component Based Tech 17
  • 18. Diversity • Switches A switch is an element that can be used to route connections between interfaces. Its top must be connected to the tip of one interface, and each of its ‘bottoms’ can be connected to the base of a different interface. The switch setting is controlled through a diversity interface. Our binding tool Koala knows about switches. 26 April 2015 Component Based Tech 18
  • 19. Diversity • Switches. Diagram: component A uses B1 in one product, and B2 in another product. We can simply define two configurations to implement this, but A may be part of a complex compound component, and we do not want to duplicate the rest of that. Our basic solution is to insert a module between the requires interface of A and the provides interfaces of B1 and B2. As this is a recurring pattern, we introduce a special concept for this. 26 April 2015 Component Based Tech 19
  • 20. Diversity • Function Binding How can individual diversity parameters be set to a constant value at configuration time? An interface is connected with its tip to perhaps other interfaces, but ultimately through a chain of such bindings to a module. 26 April 2015 Component Based Tech 20
  • 21. Diversity • Optional Interfaces An optional interface has an implicit extra function called iPresent, which acts as a boolean diversity parameter. It is true if the tip of the interface is connected to a non optional interface, false if the tip is not connected at all, and defined within the module if the tip is connected to a module. 26 April 2015 Component Based Tech 21
  • 22. Execution Architecture • The basic rule in our approach is to make components configuration independent as much as possible. As an illustration, we shall show in this section how we define the execution architecture. Our approach is to define components in such a way that the actual execution architecture can be established at configuration time 26 April 2015 Component Based Tech 22
  • 23. Execution Architecture • Events How do we deal with events? Instead of defining some event handling mechanism in our model, we just advise component designers to signal events through outgoing (requires) interfaces (just like in Visual Basic). 26 April 2015 Component Based Tech 23
  • 24. Execution Architecture • Events Another component that uses services of the component can provide an event-handling interface that can be connected to the event- signaling interface. 26 April 2015 Component Based Tech 24
  • 25. Execution Architecture • Threads and Tasks Each component may implement its time consuming activities in terms of tasks, which are scheduled synchronously by a task manager running in a global thread. To do so, a component requires a thread ID through a virtual thread interface, and creates its tasks on such virtual threads. 26 April 2015 Component Based Tech 25
  • 26. Execution Architecture • Threads and Tasks At configuration time, the (many) virtual threads are mapped to the (few) physical threads, thus enabling Gomaa’s principle of Task Inversion . 26 April 2015 Component Based Tech 26
  • 27. Reference Paper Koala Component Model for Consumer Electronics Product Software: https://distrinet.cs.kuleuven.be/projects/SEESCOA/internal/w orkpackages/workpackage1/Task1dot1/reports/Philips/Koala/ ares2Final.pdf 26 April 2015 Component Based Tech 27

Notes de l'éditeur

  1. It can be considered self-sufficient. Whenever a higher level system needs to be made, several components can come together to provide multiple functionalities.
  2. Point of connection between component. Collection of related functions. Crucial to KOALA model Provides: Defines services that are provided to other components Requires: Services that must be made available for component to execute