SlideShare a Scribd company logo
1 of 38
Download to read offline
A Classification Framework for
     Component Models
IEEE Transaction on Software Engineering
PrePrint ISSN: 0098-5589
P P i t ISSN 0098 5589
Ivica Crnković, Séverine Sentilles, Aneta Vulgarakis, Mälardalen
University, Västerås
         y
Michel R.V. Chaudron, Universiteit Leiden, Leiden


         Mälardalen University, Sweden
Essential principles of CB
               approach
• C
  Component-Based D
             tB    d Development
                          l      t
   – Build software systems from pre-existing “elements” called
     components
   – Building components that can be reused in different applications
   – Maintain systems by replacement of components and
     introducing new components into the system
               g         p                 y
   – Separate development of components from development of
     systems
                                                                   R e q u ir e m e n ts

                                                                                              D e s ig n
                                                                                                                                                                S y s t e m D e v e lo p m e n t
                                                      F in d                                                  I m p le m e n t a t i o n

                                                                                                                                           I n te g r a tio n
                                                                           S e le c t
                                                                                                                                                                   Test
                                                                                                 V e r if y
                              R e q u ir e m e n ts                                                                                                                        R e le a s e
                            R e q u ir e m e n ts
                          R e q u ir e m e n ts
                                                                                                                           S to re                                                        M a in t e n a n c e
                                                      D e s ig n
                                                    D e s ig n
                                                  D e s ig n
                                                                   Im p le m e n ta tio n                                                           C om ponent
                                                                 Im p le m e n ta tio n
                                                               Im p le m e n ta tio n                                                               A ssessm ent
                                                                                                 In t e g r a tio n
                                                                                              In t e g r a tio n
                                                                                           I n te g r a tio n
                                                                                                                    Test
                                                                                                                  Test
                                                                                                                 Test
                                                                                                                                 R e le a s e
                                                                                                                              R e le a s e
                                                C o m p o n e n t D e v e lo p m e n t                                      R e le a s e
                                                                                                                                                 M a in te n a n c e
                                                                                                                                              M a in t e n a n c e
                                                                                                                                             M a in te n a n c e




          2-May-11                                                                                                                                                                                               2
What is component?
• The component case
  – Many definitions
  – Some known ones:
     • software component is a unit of composition with contractually
       specified i t f
            ifi d interfaces and context dependencies only. A software
                               d    t td      d   i     l       ft
       component can be deployed independently and is subject to
       composition by third parties.
                                                    yp
                                                 Szyperski

      • A software component is a software element that conforms to a
        component model and can be independently deployed and composed
        without modification according t a composition standard
         ith t    difi ti         di to          iti    t d d
                                            Heineman and Councill

  – Intuitive perception may be quite different at different levels (model
                                                                    (model,
    implementation, run-time)




         2-May-11                                                             3
Different solutions
Many Component models (with many different
  characteristics) exist today
                                             A
                                 Input                                  Output
                                 ports                                  ports
                                                   C1      C2
                                                   wcet1   wcet2
                                                   f1      f2




                                                           AUTOSAR      MS COM
                                                           BIP          OpenCom
                                                           COMDES       OSGi PIN
                                                           CCA          PECOS
                                                           Corba CM     ROBOCOP
                                                           EJBFractal   RUBUS
<<component>>
     p                             <<component>>           KOALA        SaveCCM
    Client                             Server              KobrA        SOFA 2.0
                  IdenticalItf

            2-May-11                                                             4
Questions
– What is common to component models?
                       p

– It is possible to identify common principles and common
  features?
  f t      ?

– Is it possible to utilize/instantiate these principles for
  particular component models in particular domains?




      2-May-11               ICATSarajevo - 2007-10-29         5
Goal
• A classification framework for component
  models
  – Identify characteristics and categorize them
  – Illustrate its use by providing a survey of a number
    of component models




       2-May-11                                            6
Definitions:
       Software Component – Component Model



Definition:
• A Software Component is a software building block that
  conforms to a component model.
      f     t           t    d l

• AC
   Component Model defines standards for
                     f               f
   – (i) properties that individual components must satisfy and
   – (ii) methods, and possibly mechanisms, for composing components
          methods                 mechanisms                 components.




          2-May-11                                                         7
Some definitions first… Component-
             based S t
             b     d Systems
                                               2
CBS = <C,B,P>                      component        component
  – C = {Ci} - components
  – B = {Bj} - bindings
                                   1
  – P = system platform

                                            <<platform>>
  – Bindings
     • Between components and the platform -> components deployment
     • Between components – components binding
                  p             p              g




                2 May 11
More definitions - Components
• Component Specification
          C={Properties}
          C = <{Interfaces} {ExtraFunctionalProperties}>
              <{Interfaces},
          • Component compliance to component model



          • Component Composition:




          • Interface composition (BINDING) : I(C) = I(C1)  I(C2)
          • Property composition: Pi(C) = Pi(C1)  Pi(C2)


          2-May-11                                                    9
Classification
• How to describe
  – (i) Commonalities?
  – (ii) Diff
         Differences?
                    ?
• Different approaches
  – Specification of Meta model
  – List of characteristics
  – Identification of categories and their
    characteristics



         2-May-11                            10
The Classification Framework -
            Categories
• Three dimensions
 – Lifecycle.
        y
 – Construction.                     EFP


 – Extra-Functional
   Properties.


                                           lifecycle




                      construction


     2-May-11                                          11
The Classification Framework -
                  Categories
                                                                             EFP

Three dimensions
• Lifecycle. The lifecycle dimension identifies the support
   provided (explicitly or implicitly) by the component model, in
   certain points of a lifecycle of components or component-
   based systems.

•   Construction. The construction dimension identifies
    (i) the component interface used for the interaction with   lifecycle
    other components and external environment, and
    (ii) the means of component binding (initiate communication
    )a d
    )and
    (iii) communication.

•   Extra-Functional Properties. The extra-functional
    properties di
           ti dimension id tifi specifications and support
                       i identifies      ifi ti      d      t
    that includes the provision of property values and means for
    their composition.

                                                                  Domain A   Domain B



               2-May-11                                                                 12
Component lifecycle
requirements
                 modelling
                                                      Component lifecycle
                                                      Component lifecycle
                             implementation

                                                  packaging

        Component forms                                         deployment

                                                                              Execution
       Specification      Code                  Storage
       • Interface        • Source code         • Repository
       •M d l
         Models           •EExecutable code
                                 t bl    d      •P k
                                                  Package         Installed
                                                                  I t ll d    Executable
                                                                              E    t bl
       • Meta data        • Executable models   • Meta data       Files       code




               2-May-11                   ICAT Sarajevo - 2007-10-29                       13
Lifecycle category
Different stages of a component lifecycle
• Modelling. The component models provide support for the
   modelling and the design of component-based systems and
   components.

• Implementation. The component model provides support for
  generating and maintaining code. The implementation can stop with
  the provision of the source code or can continue up to the
                              code,
  generation of a binary (executable) code.

• Storage & Packaging Since components can be developed
             Packaging.
  separately from systems, there is a need for their storage and
  packaging – either for the repository or for a distribution

• Deployment & Execution. At a certain point of time, a component
  is integrated into a system. This activity happens at different points
  of development or maintenance p
            p                       phase.


           2-May-11                                                        14
Construction (I)
                                   ()
1. the component interface used for the interaction with other components
   and external environment
2. the
2 th means of component binding (i iti t communication)
               f          t bi di (initiate          i ti )
3. communication.

                            <<component>>
                                Client

• Specification of                                       C= <{I}{P}>
  – Interface

  – Composition             <<component>>                  <<component>>
                                Client                         Server
      • Binding
      • i t
        interaction
               ti

                                              I1 I2

           2-May-11                                                         15
Interface Specification
                           Categories

<<component>>               • Distinquish
    Client
                               – Provide
                               – Require
                            • Interface type
<<component>>                  – Operation based
                                 Operation-based
    Client
                               – Port-based

<<component>>
    Client
                            • Specification language
                            • L
                              Levels
                                  l
                               – - Syntactic
                                 - Functional Semantic
                                 - Behavioral

                                                         16
Binding
   Horizontal


<<component>>                  <<component>>
    Client                         Server




  Vertical



                        <<component>>
                            Server
                                                  (delegation,agregation)
       <<component>>              <<component>>
           Client                     Server




             2-May-11                                                   17
Binding & composition

   Vertical



 Composite
 component


                      <<component>>
                          Server
                                                (delegation,agregation)
      <<component>>             <<component>>
          Client                    Server




          2-May-11                                                    18
Binding (II)
        Endogenous



<<component>>         <<component>>
    Client                Server




         Exogenous


<<component>>         <<component>>
                      <<Connector>>   <<component>>
    Client              In Server
                           between        Server




           2-May-11                                   19
Interactions
                               <<component>>   <<component>>
                                   Client          Server
Architectural style
(client-server, pipe-filter)
                               <<component>>   <<component>>
                                     A               B




Communication type
(synchronous, asynchronous)




                                                          20
Construction classification
• Interface
   – operation-based/port-based
   – provides/requires

   – The interface level (syntactic, semantic, behaviour)
   – distinctive features
• Binding
   – Horisontal, Vertical
   – Endogenous, Exogenous
• I t
  Interaction
         ti
   – Architectural Style
   – Communication type (synchronous/asynchronous)


          2-May-11                                          21
Extra-Functional
  Extra Functional Properties
Component models can provide support f
C        t   d l           id        t for
1.Management of extra-functional properties
  – Does a component provide any support for extra-functional
    properties?
  – What are the mechanisms?
  – Which properties are managed?


1.Composition of extra-functional properties
  – P(C1 o C2) = P(C1) o P(C2)
  – What kind of composition is supported?
  – Which properties?



        2-May-11                                                22
Management of EFP
                 A                                              B     component                    component

Endogenous EFP                                                      EFP Management             EFP Management
                      component                   component
  management     EFP Management                EFP Management


                                                                                  EFP Management
                           Component Execution Platform
                                                                           Component Execution Platform




                 C                                              D     component                    component

Exogenous EFP          component                  component
      g
 management
                     EFP Management            EFP Management
                                                                                  EFP Management
                           Component Execution Platform                    Component Execution Platform




                       EFP Managed per collaboration                     EFP Managed systemwide
EPF – compositions

Pi(C) = Pi(C1)  Pi(C2)

Problems:
1. C
   Composition operators?  ?
2. Influence of external factors




2-May-11                           24
EPF – composition types (II)
1. Directly composable properties. A property of an assembly i a
1 Di      l            bl          i                f        bl is
   function of, and only of, the same property of the components
   involved.
   – P(A) = f(P(C1),…P(Ci),…,P(Cn))
2. Architecture-related properties. A property of an assembly is a
   function of the same property of the components and of the
   so a e architecture.
   software a c ec u e

   – P(A) = f(SA, …P(Ci)…), i=1…n
   – SA = software architecture
              ft      hit t


          2-May-11                                                   25
EPF – composition types (III)
3   Derived properties. A property of an assembly depends on
    several different properties of the components.
    – P(A) = f(SA, …Pi(Cj)…), i=1…m, j=1…n
    – Pi = component properties
    – Cj = components
4   Usage-depended properties. A property of an assembly is
                        properties
    determined by its usage profile.
    – P(A,U) = f(SA, …Pi(Cj,U)…), i=1…m, j=1…n
    – U = Usage profile
5   System environment context properties. A property is
    determined by other properties and by the state of the system
    environment.
    – P(S,U,X) = f(SA, …Pi(Cj,U,X)…), i=1…m, j=1…n
    – S= system, X = system context

            2-May-11                                                26
Modelling
                                  Implementatio
                                       n
                     Lifecycle
                                   Packaging              At compilation

                                  Deployment                At run-time

Classification                                             Interface type
                                                                                     Operation-based
                                                                                     Operation based

summary                                                     Distinction of
                                                             Provides /
                                                                                       Port-based

                                                              Requires
                                    Interface                 Interface                  Syntax
                                                                                          y
                                  specification              Language
                                                             L
                                                          Interface Levels              Semantic

                                                            Distinctive                Behaviour
                                                             features
    Component
      model                                                 Interaction
                     Constructs    Interaction                Styles                  Synchronous
                                                          Communication
                                                               Type                   Asynchronous

                                                                      Exogenous /
                                                                      Endogenous
                                           Binding type
                                                                          Vertical

                                                           Endogenous
                                                           Collaborative
                                                           Endogenous
                                  Management               Systemwide
                                                            Exogenous
                       Extra
                     functional   Specification            Collaborative
                     properties                             Exogenous
                                  Composition              Systemwide


                 2-May-11                                                                              27
Illustration of the Classification
          Framework use
• Survey of 25 component models

• Selection of documentation for each component model
   – Satisfies criteria
   – Disposability the definition (Interfaces, composition)
   – S
     Some points in the table have been subject our interpretation.




     2-May-11                                                         28
Component models evaluations
Selection i i
S l i criteria:
1. A component model includes a component definition;
2.
2 A component model provides rules for component interoperability;
3. Component functional properties are unambiguously specified by
   component interface;
4. A component interface is used in the interoperability mechanisms;
5. A component is an executable piece of software and the component
   model either directly specifies its form or unambiguously relates to it
   via interface and interoperability specification.




           2-May-11                                                          29
Chosen component models
              p
                (25 component models)
•   AUTOSAR                •   MS COM
•   BIP                    •   OpenCOM
•   BlueArX                •   OSGi
•   CCM
                           •   Palladio
•   COMDES II
                           •   PECOS
•   CompoNETS
•   EJB
                           •   Pin
•   Fractal                •   ProCom
•   KOALA                  •   ROBOCOP
•   KobrA                  •   RUBUS
•   IEC 61131              •   SaveCCM
•   IEC 61499              •   SOFA 2.0
•   JavaBeans



         2-May-11                         30
Lifecycle table
Component
                              Modelling                             Implementation                       Packaging                        Deployment
 Models

AUTOSAR                            N/A                                      C               Non-formal specification of container        At compilation

             A 3-layered representation: behavior, interaction,
   BIP                                                                BIP Language                           N/A                         At compilation
                              and priority
                                  p      y
 BlueArX                           N/A                                      C                              N/A                           At compilation
                                                                                                  Deployment Unit archive
  CCM                              N/A                            Language independent                                                     At run-time
                                                                                                       (JARs, DLLs)
COMDES II                   ADL-like language                               C                              N/A                           At compilation
                                                                                                  Deployment Unit archive
CompoNETS           Behavour modeling (Petri Nets)                Language independent                                                     At run-time
                                                                                                       (JARs, DLLs)
   EJB                            N/A                                      Java                         EJB-Jar files                      At run-time
                            ADL-like language                     Java (in Julia, Aokell)
  Fractal             (Fractal ADL, Fractal IDL),                   C/C++ (in Think)            File system based repository               At run-time
                         Annotations (Fractlet)                   .Net lang. (in FracNet)
 KOALA         ADL like
               ADL-like languages (IDL,CDL and DDL)                         C                   File system based repository             At compilation
  KobrA                       UML Profile                         Language independent                       N/A                              N/A
                     Function Block Diagram (FBD)
                                                                  Structured Text (ST)
IEC 61131                Ladder Diagram (LD)                                                                 N/A                         At compilation
                                                                  Instruction List (IL)
                     Sequential Function Chart (SFC)
IEC 61499            Function Block Diagram (FBD)                 Language independent                       N/A                         At compilation
JavaBeans                         N/A                                      Java                           Jar packages                   At compilation
                                                                                                                                    At compilation and at run-
 MS COM                           N/A                                 OO languages                            DLL
                                                                                                                                               time
OpenCOM                           N/A                                 OO languages                            DLL                          At run-time
                                                                                                                                        At run-time and at
  OSGi                            N/A                                      Java                        Jar-files (bundles)
                                                                                                                                           compilation
 Palladio                    UML profile                                 Java                               N/A                            At run-time
 PECOS              ADL-like language (CoCo)                          C++ and Java                  Jar packages or DLL                  At compilation
   Pin               ADL-like language (CCL)                               C                                DLL                          At compilation
 ProCom           ADL-like language, timed automata                        C                    File system based repository             At compilation
                                                                                                                                    At compilation and at run-
ROBOCOP     ADL-like language, resource management model               C and C++                    Structures in zip files
                                                                                                                                               time
  RUBUS              Rubus Design Language                                  C                   File system based repository             At compilation
 SaveCCM       ADL-like (SaveComp), timed automata                          C                   File system based repository             At compilation
 SOFA 2.0      Meta-model based specification language                     Java                           Repository                       At run-time


                2-May-11                                                                                                                                         31
Lifecycle table
Component
                 Modelling           Implementation         Packaging        Deployment
 Models
                                                                                 At
AUTOSAR                 N/A                  C
                                                               N/A           compilation
                 A 3-layered
                                        Source code,
                                                   ,
              representation:
                        t ti                                                     At
   BIP                               implementation in         N/A
            behavior, interaction                                            compilation
                                       BIP language
                and priority
               Abstract model:
                                                         Deployment Unit
                 OMG-IDL,                Language
  CCM                                                        archive         At run-time
                Programming            independent.
                                                          (JARs,
                                                          (JARs DLLs)
                model: CIDL
              ADL-like language            Julia,
            (Fractal ADL, Fractal      Aokell(Java)      File system based
  Fractal                                                                    At run time
                                                                                run-time
                    IDL),
                    IDL)               Think(C/C++)
                                       Thi k(C/C )           repository
                                                                   i
            Annotations (Fractlet)     FracNet(.Net)
              ADL-like languages                         File system based        At
 KOALA                                       C
            (IDL,CDL d
            (IDL CDL and DDL)                                repository
                                                                   it        compilation
                                                                                  il ti
   EJB                N/A             Java binary code      EJB-Jar files    At run-time
             2-May-11                                                                      32
Constructs table - Interface
                         Distinction                                               Interface
Component   Interface         of                                  Interface         Levels
 Models       type       Provides /
                                       Distinctive features
                                                                  Language        (Syntactic,
                                                                                   Semantic,
                          Requires                                                Behaviour)
            Operation
            Operation-
AUTOSAR       based         Yes        AUTOSAR Interface*        C header files   Syntactic
            Port-based
                                        Complete interfaces,                      Syntactic
   BIP      Port-based       No                                 BIP Language      Semantic
                                       Incomplete interfaces                      Behaviour
 BlueArX    Port-based      Yes                 N/A                    C          Syntactic
            Operation-                 Facets and receptacles
  CCM         based         Yes                                  CORBA IDL,       Syntactic
                                       Event sinks and event       CIDL
            Port-based
                                              sources
                                                                 C header files   Syntactic
COMDES II Port-based        Yes                N/A                State charts    Behaviour
                                                                   diagrams
                                       Facets and receptacles
CompoNET Operation-
           based            Yes
                                                                 CORBA IDL,
                                                                     CIDL,        Syntactic
                                       Event sinks and event                      Behaviour
   S     Port-based                                                Petri nets
                                              sources
                                                                      Java
   EJB      Operation-
            O    ti          No                N/A               Programming
                                                                 P          i     Syntactic
              based                                               Language +
                                                                  Annotations
                                                                  IDL, Fractal
            Operation-                 Component Interface,     ADL, or Java or   Syntactic
  Fractal     based         Yes                                        C,         Behaviour
                                         Control Interface        Behavioural
                                                                    Protocol
 KOALA      Operation-      Yes         Diversity Interface,      IDL, CDL        Syntactic
              based                     Optional Interface
              2-May-11                                                                          33
Constructs table – Binding & interaction
                            g
                                                          BINDING TYPE
 COMPONENT      INTERACTION       COMMUNICATION
   MODELS         STYLES             TYPE
                                                  EXOGENOUS       HIERARCHICAL



AUTOSAR      Request response,    Synchronous,      No             Delegation
             Messages passing     Asynchronous

                Triggering        Synchronous,
   BIP         Rendez-vous,       Asynchronous      No             Delegation
                Broadcast

 BlueArX        Pipe&filter       Synchronous       No             Delegation
   CCM       Request response,    Synchronous,      No                   No
                Triggering        Asynchronous
COMDES II       Pipe&filter       Synchronous       No                   No
CompoNETS    Request response     Synchronous,      No                   No
                                  Asynchronous
   EJB       Request response     Synchronous,      No                   No
                                  Asynchronous
  Fractal
  F t l           Multiple        Synchronous,
                                  Synchronous       Yes
                                                    Y             Delegation,
                                                                  Delegation
             interaction styles   Asynchronous                    Aggregation
 KOALA       Request response     Synchronous       No            Delegation,
                                                                  Aggregation
             2-May-11                                                            34
EFP
Component
   p            Management of
                    g                       Properties
                                                p                   Composition and
                                                                        p
 Models             EFP                    specification            analysis support
                   Endogenous per       Resource usage, Timing
 BlueArX                                                                     N/A
                  collaboration (A)           properties
               Exogenous system wide
  EJB 3.0                                        N/A                         N/A
                         (D)
                                       Ability to add properties
                   Exogenous per
  Fractal                               (by adding “property”
                                                     property                N/A
                  collaboration (C)
                                              controllers)
              Endogenous system wide                                Compile time checks of
 KOALA                                      Resource usage
                        (B)                                               resources
                  Endogenous per
  KobrA                                          N/A                         N/A
                 collaboration (A)
              Endogenous system wide    Performance properties
 Palladio                                                           Performance properties
                        (B)                  specification
                                       Timing properties, generic
              Endogenous system wide
  PECOS                                  specification of other              N/A
                       (B)
                                               properties
                                                                        Different EFP
               Exogenous system wide   Analytic interface, timing
   Pin                                                              composition theories,
                       (D)                    properties
                                                                       example latency
                                                                     Timing and resources
              Endogenous system wide
 ProCom                                   Timing and resources      at design and compile
                       (B)
                                                                             time
            2-May-11                    Memory consumption,
                                                                    Memory consumption 35
Domains
Applications and business domain of the Component Models

• General-purpose:
   – Basic mechanisms for the production and the composition of
     componentst
   – Provide no guidance, nor support for any specific architecture.

• Specialised:
   – Specific application domains
     (i.e. consumer electronics, automotive, …)




      2-May-11                                                     36
purpose
                                                    M
                                                    Models




                                    General-

                                    Specialised
                                    x
                                                  AU
                                                   UTOSAR
                                                        R




2-May-11
                                    x
                                                     BIP



                                      x
                                                   B
                                                   BlueArX




           purpose
                          M
                          Models




           General-
                                          x
                                                     CCM




           Specialised
                                    x
                                                  CO
                                                   OMDES II
                                                         I
                                          x




           x
                         PE
                          ECOS                    Com
                                                    mpoNET
                                                         TS
                                          x




                 x
                           Pin                       EJB
                                          x




           x
                         Pr
                          roCom                     F
                                                    Fractal
                                    x




           x
                          R
                          Robocop                  K
                                                   KOALA
                                          x




           x
                                                               Domains




                         RU
                          UBUS                      KobrA
                                      x




           x
                         Sav
                           veCCM                  IE 61131
                                                   EC
                                      x




                 x
                         SO 2.0
                          OFA                     IE 61499
                                                   EC    9
                                          x




                                                  Ja
                                                   avaBeasns
                                                           s
                                          x




                                                   M
                                                   MS COM
                                          x




                                                  Op
                                                   penCOM
                                                        M
                                    x




                                                    OSGi
                                          x




                                                   P
                                                   Palladio
37
Conclusion
• From the results we can recognize some recurrent patterns such as
   – general-purpose component models utilize client-server style
   – Specialized domains (mostly embedded systems) pipe & filter is
     the predominate style.
                      style
   – Composition of extra-functional properties is rather scarce.
   – Behaviour & Semantic rarely supported
   – Al
     Almost never repository
           t             it

• Summary
   – The classification framework helps in understanding component models
     principles
   – Enables comparison
   – Can be used as a check-list when development new component models
                         check list




           2-May-11                                                         38

More Related Content

What's hot

Corporate Social Responsibility: The Good, the Bad and the Ugly
Corporate Social Responsibility: The Good, the Bad and the UglyCorporate Social Responsibility: The Good, the Bad and the Ugly
Corporate Social Responsibility: The Good, the Bad and the UglyAdrian Moyer
 
2010 Q1 WSO2 Technical Update
2010 Q1 WSO2 Technical Update2010 Q1 WSO2 Technical Update
2010 Q1 WSO2 Technical UpdateWSO2
 
Historical Research Presentation
Historical Research PresentationHistorical Research Presentation
Historical Research Presentationmichyli
 
Diversity, Inclusion and Innovation Strategic Leadership Assessment Tool
Diversity, Inclusion and Innovation Strategic Leadership Assessment ToolDiversity, Inclusion and Innovation Strategic Leadership Assessment Tool
Diversity, Inclusion and Innovation Strategic Leadership Assessment ToolKevin Carter
 
D & i strategic leadership assessment tool
D & i strategic leadership assessment toolD & i strategic leadership assessment tool
D & i strategic leadership assessment toolNorma Jones
 
Literary elements theme
Literary elements themeLiterary elements theme
Literary elements themekalkayaqa
 
Climate change and agriculture - what do we need to do differently?
Climate change and agriculture - what do we need to do differently?Climate change and agriculture - what do we need to do differently?
Climate change and agriculture - what do we need to do differently?elwyngj
 
How to Knock Down a Silo With a Hammer: An Easy-to-Follow Roadmap to Execute ...
How to Knock Down a Silo With a Hammer: An Easy-to-Follow Roadmap to Execute ...How to Knock Down a Silo With a Hammer: An Easy-to-Follow Roadmap to Execute ...
How to Knock Down a Silo With a Hammer: An Easy-to-Follow Roadmap to Execute ...hjc
 

What's hot (11)

Corporate Social Responsibility: The Good, the Bad and the Ugly
Corporate Social Responsibility: The Good, the Bad and the UglyCorporate Social Responsibility: The Good, the Bad and the Ugly
Corporate Social Responsibility: The Good, the Bad and the Ugly
 
2010 Q1 WSO2 Technical Update
2010 Q1 WSO2 Technical Update2010 Q1 WSO2 Technical Update
2010 Q1 WSO2 Technical Update
 
literary-elements-theme
literary-elements-themeliterary-elements-theme
literary-elements-theme
 
Historical Research Presentation
Historical Research PresentationHistorical Research Presentation
Historical Research Presentation
 
Charis mc gaughy cleveland collegenow_2012_0611
Charis mc gaughy cleveland collegenow_2012_0611Charis mc gaughy cleveland collegenow_2012_0611
Charis mc gaughy cleveland collegenow_2012_0611
 
Diversity, Inclusion and Innovation Strategic Leadership Assessment Tool
Diversity, Inclusion and Innovation Strategic Leadership Assessment ToolDiversity, Inclusion and Innovation Strategic Leadership Assessment Tool
Diversity, Inclusion and Innovation Strategic Leadership Assessment Tool
 
D & i strategic leadership assessment tool
D & i strategic leadership assessment toolD & i strategic leadership assessment tool
D & i strategic leadership assessment tool
 
Literary elements theme
Literary elements themeLiterary elements theme
Literary elements theme
 
DIGITAL BRANDING
DIGITAL BRANDINGDIGITAL BRANDING
DIGITAL BRANDING
 
Climate change and agriculture - what do we need to do differently?
Climate change and agriculture - what do we need to do differently?Climate change and agriculture - what do we need to do differently?
Climate change and agriculture - what do we need to do differently?
 
How to Knock Down a Silo With a Hammer: An Easy-to-Follow Roadmap to Execute ...
How to Knock Down a Silo With a Hammer: An Easy-to-Follow Roadmap to Execute ...How to Knock Down a Silo With a Hammer: An Easy-to-Follow Roadmap to Execute ...
How to Knock Down a Silo With a Hammer: An Easy-to-Follow Roadmap to Execute ...
 

Viewers also liked

Viewers also liked (20)

Sparsity Control for Robustness and Social Data Analysis
Sparsity Control for Robustness and Social Data AnalysisSparsity Control for Robustness and Social Data Analysis
Sparsity Control for Robustness and Social Data Analysis
 
Data Quality: Not Your Typical Database Problem
Data Quality: Not Your Typical Database ProblemData Quality: Not Your Typical Database Problem
Data Quality: Not Your Typical Database Problem
 
From Programs to Systems – Building a Smarter World
From Programs to Systems – Building a Smarter WorldFrom Programs to Systems – Building a Smarter World
From Programs to Systems – Building a Smarter World
 
Tribute to Nicolas Galatsanos
Tribute to Nicolas GalatsanosTribute to Nicolas Galatsanos
Tribute to Nicolas Galatsanos
 
Opening Second Greek Signal Processing Jam
Opening Second Greek Signal Processing JamOpening Second Greek Signal Processing Jam
Opening Second Greek Signal Processing Jam
 
Influence Propagation in Large Graphs - Theorems and Algorithms
Influence Propagation in Large Graphs - Theorems and AlgorithmsInfluence Propagation in Large Graphs - Theorems and Algorithms
Influence Propagation in Large Graphs - Theorems and Algorithms
 
Sparse and Low Rank Representations in Music Signal Analysis
 Sparse and Low Rank Representations in Music Signal  Analysis Sparse and Low Rank Representations in Music Signal  Analysis
Sparse and Low Rank Representations in Music Signal Analysis
 
Compressive Spectral Image Sensing, Processing, and Optimization
Compressive Spectral Image Sensing, Processing, and OptimizationCompressive Spectral Image Sensing, Processing, and Optimization
Compressive Spectral Image Sensing, Processing, and Optimization
 
Web Usage Miningand Using Ontology for Capturing Web Usage Semantic
Web Usage Miningand Using Ontology for Capturing Web Usage SemanticWeb Usage Miningand Using Ontology for Capturing Web Usage Semantic
Web Usage Miningand Using Ontology for Capturing Web Usage Semantic
 
The Tower of Knowledge A Generic System Architecture
The Tower of Knowledge A Generic System ArchitectureThe Tower of Knowledge A Generic System Architecture
The Tower of Knowledge A Generic System Architecture
 
Nonlinear Communications: Achievable Rates, Estimation, and Decoding
Nonlinear Communications: Achievable Rates, Estimation, and DecodingNonlinear Communications: Achievable Rates, Estimation, and Decoding
Nonlinear Communications: Achievable Rates, Estimation, and Decoding
 
Co-evolution, Games, and Social Behaviors
Co-evolution, Games, and Social BehaviorsCo-evolution, Games, and Social Behaviors
Co-evolution, Games, and Social Behaviors
 
State Space Exploration for NASA’s Safety Critical Systems
State Space Exploration for NASA’s Safety Critical SystemsState Space Exploration for NASA’s Safety Critical Systems
State Space Exploration for NASA’s Safety Critical Systems
 
Semantic 3DTV Content Analysis and Description
Semantic 3DTV Content Analysis and DescriptionSemantic 3DTV Content Analysis and Description
Semantic 3DTV Content Analysis and Description
 
Jamming in Wireless Sensor Networks
Jamming in Wireless Sensor NetworksJamming in Wireless Sensor Networks
Jamming in Wireless Sensor Networks
 
Mixture Models for Image Analysis
Mixture Models for Image AnalysisMixture Models for Image Analysis
Mixture Models for Image Analysis
 
Sparse and Redundant Representations: Theory and Applications
Sparse and Redundant Representations: Theory and ApplicationsSparse and Redundant Representations: Theory and Applications
Sparse and Redundant Representations: Theory and Applications
 
Networked 3-D Virtual Collaboration in Science and Education: Towards 'Web 3....
Networked 3-D Virtual Collaboration in Science and Education: Towards 'Web 3....Networked 3-D Virtual Collaboration in Science and Education: Towards 'Web 3....
Networked 3-D Virtual Collaboration in Science and Education: Towards 'Web 3....
 
Machine Learning Tools and Particle Swarm Optimization for Content-Based Sear...
Machine Learning Tools and Particle Swarm Optimization for Content-Based Sear...Machine Learning Tools and Particle Swarm Optimization for Content-Based Sear...
Machine Learning Tools and Particle Swarm Optimization for Content-Based Sear...
 
Compressed Sensing In Spectral Imaging
Compressed Sensing In Spectral Imaging  Compressed Sensing In Spectral Imaging
Compressed Sensing In Spectral Imaging
 

Similar to A Classification Framework For Component Models

Fmap Sbp Organogram
Fmap Sbp OrganogramFmap Sbp Organogram
Fmap Sbp Organogramjawadorak
 
Management Information System Presentation
Management Information System PresentationManagement Information System Presentation
Management Information System PresentationJon Marcy
 
Investigating Theft and Embezzlement - In the Workplace
Investigating Theft and Embezzlement - In the WorkplaceInvestigating Theft and Embezzlement - In the Workplace
Investigating Theft and Embezzlement - In the WorkplaceDecosimoCPAs
 
Social media & web analytics innovation procopio-2012-04
Social media & web analytics innovation procopio-2012-04Social media & web analytics innovation procopio-2012-04
Social media & web analytics innovation procopio-2012-04Michael Procopio
 
Internal Controls to Prevent and Detect Fraud
Internal Controls to Prevent and Detect FraudInternal Controls to Prevent and Detect Fraud
Internal Controls to Prevent and Detect FraudDecosimoCPAs
 
J.D. Stanley - Looking Ahead: Smart Living and Sustainable Energy
J.D. Stanley - Looking Ahead: Smart Living and Sustainable EnergyJ.D. Stanley - Looking Ahead: Smart Living and Sustainable Energy
J.D. Stanley - Looking Ahead: Smart Living and Sustainable EnergyShane Mitchell
 
Credit Card Industry Snapshot
Credit Card Industry SnapshotCredit Card Industry Snapshot
Credit Card Industry SnapshotMahesh Vallampati
 
Infographic -- Excellence Through Engagement
Infographic -- Excellence Through EngagementInfographic -- Excellence Through Engagement
Infographic -- Excellence Through EngagementDavid Nickelson, PsyD, JD
 
Analysing The Results Of A Card Sort
Analysing The Results Of A Card SortAnalysing The Results Of A Card Sort
Analysing The Results Of A Card SortJustine Sanderson
 
Takeover panorama june issue vol. xxi - 2008-06-27
Takeover panorama june issue vol. xxi - 2008-06-27Takeover panorama june issue vol. xxi - 2008-06-27
Takeover panorama june issue vol. xxi - 2008-06-27Corporate Professionals
 
THE MRIC ANNUAL TALENT ENVIRONMENT INDEX 2012
THE MRIC ANNUAL TALENT ENVIRONMENT INDEX 2012THE MRIC ANNUAL TALENT ENVIRONMENT INDEX 2012
THE MRIC ANNUAL TALENT ENVIRONMENT INDEX 2012ronaldko
 
Ineum Presentation for Linked In
Ineum Presentation for Linked InIneum Presentation for Linked In
Ineum Presentation for Linked InHerwigTemmerman
 
Ineum Presentation For Linked In
Ineum Presentation For Linked InIneum Presentation For Linked In
Ineum Presentation For Linked InHerwigTemmermam
 
Takeover panorama october issue-volume xxv - 2008-10-10
Takeover panorama october issue-volume xxv - 2008-10-10Takeover panorama october issue-volume xxv - 2008-10-10
Takeover panorama october issue-volume xxv - 2008-10-10Corporate Professionals
 
Discover The Diamond In You
Discover The Diamond In YouDiscover The Diamond In You
Discover The Diamond In YouGMR Group
 
PROYECTO TITULO URBANO, PARQUE METROPOLITANO
PROYECTO TITULO URBANO, PARQUE METROPOLITANOPROYECTO TITULO URBANO, PARQUE METROPOLITANO
PROYECTO TITULO URBANO, PARQUE METROPOLITANOla_merri
 
Masked Figure 1 - Costume Design
Masked Figure 1 - Costume DesignMasked Figure 1 - Costume Design
Masked Figure 1 - Costume Designcaldinio
 

Similar to A Classification Framework For Component Models (20)

Fmap Sbp Organogram
Fmap Sbp OrganogramFmap Sbp Organogram
Fmap Sbp Organogram
 
Management Information System Presentation
Management Information System PresentationManagement Information System Presentation
Management Information System Presentation
 
Investigating Theft and Embezzlement - In the Workplace
Investigating Theft and Embezzlement - In the WorkplaceInvestigating Theft and Embezzlement - In the Workplace
Investigating Theft and Embezzlement - In the Workplace
 
Social media & web analytics innovation procopio-2012-04
Social media & web analytics innovation procopio-2012-04Social media & web analytics innovation procopio-2012-04
Social media & web analytics innovation procopio-2012-04
 
Internal Controls to Prevent and Detect Fraud
Internal Controls to Prevent and Detect FraudInternal Controls to Prevent and Detect Fraud
Internal Controls to Prevent and Detect Fraud
 
J.D. Stanley - Looking Ahead: Smart Living and Sustainable Energy
J.D. Stanley - Looking Ahead: Smart Living and Sustainable EnergyJ.D. Stanley - Looking Ahead: Smart Living and Sustainable Energy
J.D. Stanley - Looking Ahead: Smart Living and Sustainable Energy
 
05 agencies
05 agencies05 agencies
05 agencies
 
Credit Card Industry Snapshot
Credit Card Industry SnapshotCredit Card Industry Snapshot
Credit Card Industry Snapshot
 
Infographic -- Excellence Through Engagement
Infographic -- Excellence Through EngagementInfographic -- Excellence Through Engagement
Infographic -- Excellence Through Engagement
 
Analysing The Results Of A Card Sort
Analysing The Results Of A Card SortAnalysing The Results Of A Card Sort
Analysing The Results Of A Card Sort
 
Takeover panorama june issue vol. xxi - 2008-06-27
Takeover panorama june issue vol. xxi - 2008-06-27Takeover panorama june issue vol. xxi - 2008-06-27
Takeover panorama june issue vol. xxi - 2008-06-27
 
Lansare Kino+ 2012
Lansare Kino+ 2012Lansare Kino+ 2012
Lansare Kino+ 2012
 
Michiels maarten
Michiels maartenMichiels maarten
Michiels maarten
 
THE MRIC ANNUAL TALENT ENVIRONMENT INDEX 2012
THE MRIC ANNUAL TALENT ENVIRONMENT INDEX 2012THE MRIC ANNUAL TALENT ENVIRONMENT INDEX 2012
THE MRIC ANNUAL TALENT ENVIRONMENT INDEX 2012
 
Ineum Presentation for Linked In
Ineum Presentation for Linked InIneum Presentation for Linked In
Ineum Presentation for Linked In
 
Ineum Presentation For Linked In
Ineum Presentation For Linked InIneum Presentation For Linked In
Ineum Presentation For Linked In
 
Takeover panorama october issue-volume xxv - 2008-10-10
Takeover panorama october issue-volume xxv - 2008-10-10Takeover panorama october issue-volume xxv - 2008-10-10
Takeover panorama october issue-volume xxv - 2008-10-10
 
Discover The Diamond In You
Discover The Diamond In YouDiscover The Diamond In You
Discover The Diamond In You
 
PROYECTO TITULO URBANO, PARQUE METROPOLITANO
PROYECTO TITULO URBANO, PARQUE METROPOLITANOPROYECTO TITULO URBANO, PARQUE METROPOLITANO
PROYECTO TITULO URBANO, PARQUE METROPOLITANO
 
Masked Figure 1 - Costume Design
Masked Figure 1 - Costume DesignMasked Figure 1 - Costume Design
Masked Figure 1 - Costume Design
 

More from Distinguished Lecturer Series - Leon The Mathematician (6)

Defying Nyquist in Analog to Digital Conversion
Defying Nyquist in Analog to Digital ConversionDefying Nyquist in Analog to Digital Conversion
Defying Nyquist in Analog to Digital Conversion
 
Artificial Intelligence and Human Thinking
Artificial Intelligence and Human ThinkingArtificial Intelligence and Human Thinking
Artificial Intelligence and Human Thinking
 
Farewell to Disks: Efficient Processing of Obstinate Data
Farewell to Disks: Efficient Processing of Obstinate DataFarewell to Disks: Efficient Processing of Obstinate Data
Farewell to Disks: Efficient Processing of Obstinate Data
 
Artificial Intelligence and Human Thinking
Artificial Intelligence and Human ThinkingArtificial Intelligence and Human Thinking
Artificial Intelligence and Human Thinking
 
Descriptive Granularity - Building Foundations of Data Mining
Descriptive Granularity - Building Foundations of Data MiningDescriptive Granularity - Building Foundations of Data Mining
Descriptive Granularity - Building Foundations of Data Mining
 
Success Factors in Industry - Academia Collaboration - An Empirical Study
 Success Factors in Industry - Academia Collaboration - An Empirical Study   Success Factors in Industry - Academia Collaboration - An Empirical Study
Success Factors in Industry - Academia Collaboration - An Empirical Study
 

Recently uploaded

Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1GloryAnnCastre1
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...DhatriParmar
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWQuiz Club NITW
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvRicaMaeCastro1
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptxDhatriParmar
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsPooky Knightsmith
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Association for Project Management
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17Celine George
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdfMr Bounab Samir
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research DiscourseAnita GoswamiGiri
 

Recently uploaded (20)

Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITW
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptxINCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
 
Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young minds
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdf
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research Discourse
 

A Classification Framework For Component Models

  • 1. A Classification Framework for Component Models IEEE Transaction on Software Engineering PrePrint ISSN: 0098-5589 P P i t ISSN 0098 5589 Ivica Crnković, Séverine Sentilles, Aneta Vulgarakis, Mälardalen University, Västerås y Michel R.V. Chaudron, Universiteit Leiden, Leiden Mälardalen University, Sweden
  • 2. Essential principles of CB approach • C Component-Based D tB d Development l t – Build software systems from pre-existing “elements” called components – Building components that can be reused in different applications – Maintain systems by replacement of components and introducing new components into the system g p y – Separate development of components from development of systems R e q u ir e m e n ts D e s ig n S y s t e m D e v e lo p m e n t F in d I m p le m e n t a t i o n I n te g r a tio n S e le c t Test V e r if y R e q u ir e m e n ts R e le a s e R e q u ir e m e n ts R e q u ir e m e n ts S to re M a in t e n a n c e D e s ig n D e s ig n D e s ig n Im p le m e n ta tio n C om ponent Im p le m e n ta tio n Im p le m e n ta tio n A ssessm ent In t e g r a tio n In t e g r a tio n I n te g r a tio n Test Test Test R e le a s e R e le a s e C o m p o n e n t D e v e lo p m e n t R e le a s e M a in te n a n c e M a in t e n a n c e M a in te n a n c e 2-May-11 2
  • 3. What is component? • The component case – Many definitions – Some known ones: • software component is a unit of composition with contractually specified i t f ifi d interfaces and context dependencies only. A software d t td d i l ft component can be deployed independently and is subject to composition by third parties. yp Szyperski • A software component is a software element that conforms to a component model and can be independently deployed and composed without modification according t a composition standard ith t difi ti di to iti t d d Heineman and Councill – Intuitive perception may be quite different at different levels (model (model, implementation, run-time) 2-May-11 3
  • 4. Different solutions Many Component models (with many different characteristics) exist today A Input Output ports ports C1 C2 wcet1 wcet2 f1 f2 AUTOSAR MS COM BIP OpenCom COMDES OSGi PIN CCA PECOS Corba CM ROBOCOP EJBFractal RUBUS <<component>> p <<component>> KOALA SaveCCM Client Server KobrA SOFA 2.0 IdenticalItf 2-May-11 4
  • 5. Questions – What is common to component models? p – It is possible to identify common principles and common features? f t ? – Is it possible to utilize/instantiate these principles for particular component models in particular domains? 2-May-11 ICATSarajevo - 2007-10-29 5
  • 6. Goal • A classification framework for component models – Identify characteristics and categorize them – Illustrate its use by providing a survey of a number of component models 2-May-11 6
  • 7. Definitions: Software Component – Component Model Definition: • A Software Component is a software building block that conforms to a component model. f t t d l • AC Component Model defines standards for f f – (i) properties that individual components must satisfy and – (ii) methods, and possibly mechanisms, for composing components methods mechanisms components. 2-May-11 7
  • 8. Some definitions first… Component- based S t b d Systems 2 CBS = <C,B,P> component component – C = {Ci} - components – B = {Bj} - bindings 1 – P = system platform <<platform>> – Bindings • Between components and the platform -> components deployment • Between components – components binding p p g 2 May 11
  • 9. More definitions - Components • Component Specification C={Properties} C = <{Interfaces} {ExtraFunctionalProperties}> <{Interfaces}, • Component compliance to component model • Component Composition: • Interface composition (BINDING) : I(C) = I(C1)  I(C2) • Property composition: Pi(C) = Pi(C1)  Pi(C2) 2-May-11 9
  • 10. Classification • How to describe – (i) Commonalities? – (ii) Diff Differences? ? • Different approaches – Specification of Meta model – List of characteristics – Identification of categories and their characteristics 2-May-11 10
  • 11. The Classification Framework - Categories • Three dimensions – Lifecycle. y – Construction. EFP – Extra-Functional Properties. lifecycle construction 2-May-11 11
  • 12. The Classification Framework - Categories EFP Three dimensions • Lifecycle. The lifecycle dimension identifies the support provided (explicitly or implicitly) by the component model, in certain points of a lifecycle of components or component- based systems. • Construction. The construction dimension identifies (i) the component interface used for the interaction with lifecycle other components and external environment, and (ii) the means of component binding (initiate communication )a d )and (iii) communication. • Extra-Functional Properties. The extra-functional properties di ti dimension id tifi specifications and support i identifies ifi ti d t that includes the provision of property values and means for their composition. Domain A Domain B 2-May-11 12
  • 13. Component lifecycle requirements modelling Component lifecycle Component lifecycle implementation packaging Component forms deployment Execution Specification Code Storage • Interface • Source code • Repository •M d l Models •EExecutable code t bl d •P k Package Installed I t ll d Executable E t bl • Meta data • Executable models • Meta data Files code 2-May-11 ICAT Sarajevo - 2007-10-29 13
  • 14. Lifecycle category Different stages of a component lifecycle • Modelling. The component models provide support for the modelling and the design of component-based systems and components. • Implementation. The component model provides support for generating and maintaining code. The implementation can stop with the provision of the source code or can continue up to the code, generation of a binary (executable) code. • Storage & Packaging Since components can be developed Packaging. separately from systems, there is a need for their storage and packaging – either for the repository or for a distribution • Deployment & Execution. At a certain point of time, a component is integrated into a system. This activity happens at different points of development or maintenance p p phase. 2-May-11 14
  • 15. Construction (I) () 1. the component interface used for the interaction with other components and external environment 2. the 2 th means of component binding (i iti t communication) f t bi di (initiate i ti ) 3. communication. <<component>> Client • Specification of C= <{I}{P}> – Interface – Composition <<component>> <<component>> Client Server • Binding • i t interaction ti I1 I2 2-May-11 15
  • 16. Interface Specification Categories <<component>> • Distinquish Client – Provide – Require • Interface type <<component>> – Operation based Operation-based Client – Port-based <<component>> Client • Specification language • L Levels l – - Syntactic - Functional Semantic - Behavioral 16
  • 17. Binding Horizontal <<component>> <<component>> Client Server Vertical <<component>> Server (delegation,agregation) <<component>> <<component>> Client Server 2-May-11 17
  • 18. Binding & composition Vertical Composite component <<component>> Server (delegation,agregation) <<component>> <<component>> Client Server 2-May-11 18
  • 19. Binding (II) Endogenous <<component>> <<component>> Client Server Exogenous <<component>> <<component>> <<Connector>> <<component>> Client In Server between Server 2-May-11 19
  • 20. Interactions <<component>> <<component>> Client Server Architectural style (client-server, pipe-filter) <<component>> <<component>> A B Communication type (synchronous, asynchronous) 20
  • 21. Construction classification • Interface – operation-based/port-based – provides/requires – The interface level (syntactic, semantic, behaviour) – distinctive features • Binding – Horisontal, Vertical – Endogenous, Exogenous • I t Interaction ti – Architectural Style – Communication type (synchronous/asynchronous) 2-May-11 21
  • 22. Extra-Functional Extra Functional Properties Component models can provide support f C t d l id t for 1.Management of extra-functional properties – Does a component provide any support for extra-functional properties? – What are the mechanisms? – Which properties are managed? 1.Composition of extra-functional properties – P(C1 o C2) = P(C1) o P(C2) – What kind of composition is supported? – Which properties? 2-May-11 22
  • 23. Management of EFP A B component component Endogenous EFP EFP Management EFP Management component component management EFP Management EFP Management EFP Management Component Execution Platform Component Execution Platform C D component component Exogenous EFP component component g management EFP Management EFP Management EFP Management Component Execution Platform Component Execution Platform EFP Managed per collaboration EFP Managed systemwide
  • 24. EPF – compositions Pi(C) = Pi(C1)  Pi(C2) Problems: 1. C Composition operators? ? 2. Influence of external factors 2-May-11 24
  • 25. EPF – composition types (II) 1. Directly composable properties. A property of an assembly i a 1 Di l bl i f bl is function of, and only of, the same property of the components involved. – P(A) = f(P(C1),…P(Ci),…,P(Cn)) 2. Architecture-related properties. A property of an assembly is a function of the same property of the components and of the so a e architecture. software a c ec u e – P(A) = f(SA, …P(Ci)…), i=1…n – SA = software architecture ft hit t 2-May-11 25
  • 26. EPF – composition types (III) 3 Derived properties. A property of an assembly depends on several different properties of the components. – P(A) = f(SA, …Pi(Cj)…), i=1…m, j=1…n – Pi = component properties – Cj = components 4 Usage-depended properties. A property of an assembly is properties determined by its usage profile. – P(A,U) = f(SA, …Pi(Cj,U)…), i=1…m, j=1…n – U = Usage profile 5 System environment context properties. A property is determined by other properties and by the state of the system environment. – P(S,U,X) = f(SA, …Pi(Cj,U,X)…), i=1…m, j=1…n – S= system, X = system context 2-May-11 26
  • 27. Modelling Implementatio n Lifecycle Packaging At compilation Deployment At run-time Classification Interface type Operation-based Operation based summary Distinction of Provides / Port-based Requires Interface Interface Syntax y specification Language L Interface Levels Semantic Distinctive Behaviour features Component model Interaction Constructs Interaction Styles Synchronous Communication Type Asynchronous Exogenous / Endogenous Binding type Vertical Endogenous Collaborative Endogenous Management Systemwide Exogenous Extra functional Specification Collaborative properties Exogenous Composition Systemwide 2-May-11 27
  • 28. Illustration of the Classification Framework use • Survey of 25 component models • Selection of documentation for each component model – Satisfies criteria – Disposability the definition (Interfaces, composition) – S Some points in the table have been subject our interpretation. 2-May-11 28
  • 29. Component models evaluations Selection i i S l i criteria: 1. A component model includes a component definition; 2. 2 A component model provides rules for component interoperability; 3. Component functional properties are unambiguously specified by component interface; 4. A component interface is used in the interoperability mechanisms; 5. A component is an executable piece of software and the component model either directly specifies its form or unambiguously relates to it via interface and interoperability specification. 2-May-11 29
  • 30. Chosen component models p (25 component models) • AUTOSAR • MS COM • BIP • OpenCOM • BlueArX • OSGi • CCM • Palladio • COMDES II • PECOS • CompoNETS • EJB • Pin • Fractal • ProCom • KOALA • ROBOCOP • KobrA • RUBUS • IEC 61131 • SaveCCM • IEC 61499 • SOFA 2.0 • JavaBeans 2-May-11 30
  • 31. Lifecycle table Component Modelling Implementation Packaging Deployment Models AUTOSAR N/A C Non-formal specification of container At compilation A 3-layered representation: behavior, interaction, BIP BIP Language N/A At compilation and priority p y BlueArX N/A C N/A At compilation Deployment Unit archive CCM N/A Language independent At run-time (JARs, DLLs) COMDES II ADL-like language C N/A At compilation Deployment Unit archive CompoNETS Behavour modeling (Petri Nets) Language independent At run-time (JARs, DLLs) EJB N/A Java EJB-Jar files At run-time ADL-like language Java (in Julia, Aokell) Fractal (Fractal ADL, Fractal IDL), C/C++ (in Think) File system based repository At run-time Annotations (Fractlet) .Net lang. (in FracNet) KOALA ADL like ADL-like languages (IDL,CDL and DDL) C File system based repository At compilation KobrA UML Profile Language independent N/A N/A Function Block Diagram (FBD) Structured Text (ST) IEC 61131 Ladder Diagram (LD) N/A At compilation Instruction List (IL) Sequential Function Chart (SFC) IEC 61499 Function Block Diagram (FBD) Language independent N/A At compilation JavaBeans N/A Java Jar packages At compilation At compilation and at run- MS COM N/A OO languages DLL time OpenCOM N/A OO languages DLL At run-time At run-time and at OSGi N/A Java Jar-files (bundles) compilation Palladio UML profile Java N/A At run-time PECOS ADL-like language (CoCo) C++ and Java Jar packages or DLL At compilation Pin ADL-like language (CCL) C DLL At compilation ProCom ADL-like language, timed automata C File system based repository At compilation At compilation and at run- ROBOCOP ADL-like language, resource management model C and C++ Structures in zip files time RUBUS Rubus Design Language C File system based repository At compilation SaveCCM ADL-like (SaveComp), timed automata C File system based repository At compilation SOFA 2.0 Meta-model based specification language Java Repository At run-time 2-May-11 31
  • 32. Lifecycle table Component Modelling Implementation Packaging Deployment Models At AUTOSAR N/A C N/A compilation A 3-layered Source code, , representation: t ti At BIP implementation in N/A behavior, interaction compilation BIP language and priority Abstract model: Deployment Unit OMG-IDL, Language CCM archive At run-time Programming independent. (JARs, (JARs DLLs) model: CIDL ADL-like language Julia, (Fractal ADL, Fractal Aokell(Java) File system based Fractal At run time run-time IDL), IDL) Think(C/C++) Thi k(C/C ) repository i Annotations (Fractlet) FracNet(.Net) ADL-like languages File system based At KOALA C (IDL,CDL d (IDL CDL and DDL) repository it compilation il ti EJB N/A Java binary code EJB-Jar files At run-time 2-May-11 32
  • 33. Constructs table - Interface Distinction Interface Component Interface of Interface Levels Models type Provides / Distinctive features Language (Syntactic, Semantic, Requires Behaviour) Operation Operation- AUTOSAR based Yes AUTOSAR Interface* C header files Syntactic Port-based Complete interfaces, Syntactic BIP Port-based No BIP Language Semantic Incomplete interfaces Behaviour BlueArX Port-based Yes N/A C Syntactic Operation- Facets and receptacles CCM based Yes CORBA IDL, Syntactic Event sinks and event CIDL Port-based sources C header files Syntactic COMDES II Port-based Yes N/A State charts Behaviour diagrams Facets and receptacles CompoNET Operation- based Yes CORBA IDL, CIDL, Syntactic Event sinks and event Behaviour S Port-based Petri nets sources Java EJB Operation- O ti No N/A Programming P i Syntactic based Language + Annotations IDL, Fractal Operation- Component Interface, ADL, or Java or Syntactic Fractal based Yes C, Behaviour Control Interface Behavioural Protocol KOALA Operation- Yes Diversity Interface, IDL, CDL Syntactic based Optional Interface 2-May-11 33
  • 34. Constructs table – Binding & interaction g BINDING TYPE COMPONENT INTERACTION COMMUNICATION MODELS STYLES TYPE EXOGENOUS HIERARCHICAL AUTOSAR Request response, Synchronous, No Delegation Messages passing Asynchronous Triggering Synchronous, BIP Rendez-vous, Asynchronous No Delegation Broadcast BlueArX Pipe&filter Synchronous No Delegation CCM Request response, Synchronous, No No Triggering Asynchronous COMDES II Pipe&filter Synchronous No No CompoNETS Request response Synchronous, No No Asynchronous EJB Request response Synchronous, No No Asynchronous Fractal F t l Multiple Synchronous, Synchronous Yes Y Delegation, Delegation interaction styles Asynchronous Aggregation KOALA Request response Synchronous No Delegation, Aggregation 2-May-11 34
  • 35. EFP Component p Management of g Properties p Composition and p Models EFP specification analysis support Endogenous per Resource usage, Timing BlueArX N/A collaboration (A) properties Exogenous system wide EJB 3.0 N/A N/A (D) Ability to add properties Exogenous per Fractal (by adding “property” property N/A collaboration (C) controllers) Endogenous system wide Compile time checks of KOALA Resource usage (B) resources Endogenous per KobrA N/A N/A collaboration (A) Endogenous system wide Performance properties Palladio Performance properties (B) specification Timing properties, generic Endogenous system wide PECOS specification of other N/A (B) properties Different EFP Exogenous system wide Analytic interface, timing Pin composition theories, (D) properties example latency Timing and resources Endogenous system wide ProCom Timing and resources at design and compile (B) time 2-May-11 Memory consumption, Memory consumption 35
  • 36. Domains Applications and business domain of the Component Models • General-purpose: – Basic mechanisms for the production and the composition of componentst – Provide no guidance, nor support for any specific architecture. • Specialised: – Specific application domains (i.e. consumer electronics, automotive, …) 2-May-11 36
  • 37. purpose M Models General- Specialised x AU UTOSAR R 2-May-11 x BIP x B BlueArX purpose M Models General- x CCM Specialised x CO OMDES II I x x PE ECOS Com mpoNET TS x x Pin EJB x x Pr roCom F Fractal x x R Robocop K KOALA x x Domains RU UBUS KobrA x x Sav veCCM IE 61131 EC x x SO 2.0 OFA IE 61499 EC 9 x Ja avaBeasns s x M MS COM x Op penCOM M x OSGi x P Palladio 37
  • 38. Conclusion • From the results we can recognize some recurrent patterns such as – general-purpose component models utilize client-server style – Specialized domains (mostly embedded systems) pipe & filter is the predominate style. style – Composition of extra-functional properties is rather scarce. – Behaviour & Semantic rarely supported – Al Almost never repository t it • Summary – The classification framework helps in understanding component models principles – Enables comparison – Can be used as a check-list when development new component models check list 2-May-11 38