Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Component based development




SC2 - Software Core for Computer-based systems
2
    Component based development
        Objective
        Large distributed systems
        Tools chain
        Large distributed systems Architecture
             Business Model
             Component Execution Model
        CCM
             Object Deployment
             Container Concepts


SC2 - Software Core for Computer-based systems
3
    Objective




SC2 - Software Core for Computer-based systems
4
    Objective
        Large distributed systems development cost
        reduction implies:
             Programming by assembly (manufacturing) rather than
             development (engineering)
                 Reduced skills requirements
                 Focus expertise on domain problems
                 Improving software quality




SC2 - Software Core for Computer-based systems
5
    Component based development
        Objective
        Large distributed systems
        Tools chain
        Large distributed systems Architecture
             Business Model
             Component Execution Model
        CCM
             Object Deployment
             Container Concepts


SC2 - Software Core for Computer-based systems
6
    Component Based development for complex systems

        Develop large software systems like :
             Hardware
             Car
        Manufacturing rather than engineering
             Product line
             Assembly line                       Product line
             Tools chain
                                                 Reuse          time
             Engineering


                        Development                Production
                           Phase                     Phase


SC2 - Software Core for Computer-based systems
7
                                                  Complex system : ATC centre
                    RADAR
                                             AFTN/CIDIN
                                             ATFM

                                                  ADJACENT
                                                  FIR'S/TWR'S

                                                          MET Centres



      Radar Front          Radar Data              Flight Plan            Supervisory                           Recording
                                                                            Control            Simulator
      Processing
    Radar Front            Processing
                         Radar Data                Processing
                                                Flight Plan             Supervisory                              Replay
                                                                                                              Recording
                                                                          Control            Simulator
    Processing           Processing             Processing                                                     Replay



 Dual LAN
 FDDI
                                                                                                              Voice control
            controller          controller                 controller           controller                         and
                                                                                                            Voice control
            Working             Working                    Working              Working                      communications
                                                                                                                and
             Position            Position                   Position             Position                  communications




                                                                                                             • Intercom
                                                                                                             • Priority

                                                ~ 50                                                         • Public
                                                                                                             • RADIO A/G

SC2 - Software Core for Computer-based systems
8
    Complex system : Combat Naval System




                           Tracks display




                                                         Radar detections




           Detections processed into tracks by the CMS

SC2 - Software Core for Computer-based systems
9
    Component based development
        Objective
        Large distributed systems
        Tools chain
        Large distributed systems Architecture
             Business Model
             Component Execution Model
        CCM
             Object Deployment
             Container Concepts


SC2 - Software Core for Computer-based systems
10
  Tool chain : Computer Aided System Design




                                                       UML




                                                 Visual Tools




SC2 - Software Core for Computer-based systems
11
  Hardware Components Analogy

                                       Component Library




              Data Sheet

SC2 - Software Core for Computer-based systems
12
  Domain Components

                                       Component Library

                                                             ACR         RADAR
                                           CWP




                                           RDP




                                           FDP                     ABS



                                           CP




                                           FPM
                                                      AGDC
                                                                           ADS-B
                                           TP



              Data Sheet

SC2 - Software Core for Computer-based systems
13
  Computer aided design for the whole process



                                                                            Operation

                                                               Validation

                                                 Integration

                       Development

          Design




SC2 - Software Core for Computer-based systems
14
    From Design, Deployment, Installation, to Validation


      Visual design Tool               Visual Deployment Tool
       Simulation Tool                     Validation Tool

                                                                Sun SPARC     IBM Compatible




                                                                DECstation



                                                                                  IBM Compatible




                                                                IBM RS/6000


                                                                                      Mac SE/Classic




      System Engineer                         System              Monitor



         Architect                           Integrator


     Design Model                      Deployment Model

SC2 - Software Core for Computer-based systems
15
  System Design Visual Tools

           System Engineer,
              Architect




SC2 - Software Core for Computer-based systems
16
  System Design Visual Tools

           System Engineer,
              Architect

                                         Design Model




SC2 - Software Core for Computer-based systems
17
  System Design Visual Tools

           System Engineer,
              Architect

                                         Design Model




                    IDL



SC2 - Software Core for Computer-based systems
18
  System Design Visual Tools

           System Engineer,
              Architect

                                         Design Model




                    IDL                   XML



SC2 - Software Core for Computer-based systems
19
  System Design Visual Tools

           System Engineer,
              Architect

                                         Design Model




                    IDL                   XML



SC2 - Software Core for Computer-based systems
20
  System Design Visual Tools

           System Engineer,
              Architect

                                         Design Model




                    IDL                   XML



SC2 - Software Core for Computer-based systems
21
  System Design Visual Tools

           System Engineer,
              Architect

                                         Design Model


                                                 MOF/
                                                 XMI




                    IDL                   XML



SC2 - Software Core for Computer-based systems
22
  System Design Visual Tools

           System Engineer,
              Architect

                                         Design Model


                                                 MOF/
                                                 XMI


                                                        Simulation Tools




                    IDL                   XML



SC2 - Software Core for Computer-based systems
23
  System Design Visual Tools

           System Engineer,
              Architect

                                         Design Model


                                                 MOF/
                                                 XMI


                                                        Simulation Tools




                    IDL                   XML



SC2 - Software Core for Computer-based systems
24
  System Design Visual Tools

           System Engineer,
              Architect

                                         Design Model


                                                 MOF/
                                                 XMI


                                                                     Simulation Tools




                    IDL                   XML           Validation
                                                        patterns


SC2 - Software Core for Computer-based systems
25
  System Deployment and Integration
                               System Integrator


                                                           Sun SPARC     IBM Compatible




                                                           DECstation



                                                                             IBM Compatible




                                                           IBM RS/6000


                                                                                 Mac SE/Classic




                                                             Monitor




                                                  COTS
                      Container
                        zipfile                  zipfile

SC2 - Software Core for Computer-based systems
26
  System Deployment and Integration
                               System Integrator

       XMI
                                                           Sun SPARC     IBM Compatible




                                                           DECstation



                                                                             IBM Compatible




                                                           IBM RS/6000


                                                                                 Mac SE/Classic




                                                             Monitor




                                                  COTS
                      Container
                        zipfile                  zipfile

SC2 - Software Core for Computer-based systems
27
  System Deployment and Integration
                               System Integrator

       XMI
                                                           Sun SPARC     IBM Compatible




                                                           DECstation

     IDL                                                                     IBM Compatible




                                                           IBM RS/6000


                                                                                 Mac SE/Classic




                                                             Monitor




                                                  COTS
                      Container
                        zipfile                  zipfile

SC2 - Software Core for Computer-based systems
28
  System Deployment and Integration
                               System Integrator

       XMI
                                                           Sun SPARC     IBM Compatible




                                                           DECstation

     IDL                                                                     IBM Compatible




                                                           IBM RS/6000


                                                                                 Mac SE/Classic




     XML
                                                             Monitor




                                                  COTS
                      Container
                        zipfile                  zipfile

SC2 - Software Core for Computer-based systems
29
  System Deployment and Integration
                               System Integrator

       XMI
                                                           Sun SPARC     IBM Compatible




                                                           DECstation

     IDL                                                                     IBM Compatible




                                                           IBM RS/6000


                                                                                 Mac SE/Classic




     XML
                                                             Monitor




                                                  COTS
                      Container
                        zipfile                  zipfile

SC2 - Software Core for Computer-based systems
30
  System Deployment and Integration
                               System Integrator

       XMI
                                                           Sun SPARC     IBM Compatible




                                                           DECstation

     IDL                                                                     IBM Compatible




                                                           IBM RS/6000


                                                                                 Mac SE/Classic




     XML
                                                             Monitor




                                                  COTS
                      Container
                        zipfile                  zipfile

SC2 - Software Core for Computer-based systems
31
  System Deployment and Integration
                               System Integrator

       XMI
                                                                        Sun SPARC     IBM Compatible




                                                                        DECstation

     IDL                                                                                  IBM Compatible




                                                                        IBM RS/6000


                                                                                              Mac SE/Classic




     XML
                                                                          Monitor




                                                           Validation
                                                  COTS
                      Container                            patterns

                        zipfile                  zipfile

SC2 - Software Core for Computer-based systems
32
  System Deployment and Integration
                               System Integrator

       XMI
                                                                        Sun SPARC     IBM Compatible




                                                                        DECstation

     IDL                                                                                  IBM Compatible




                                                                        IBM RS/6000


                                                                                              Mac SE/Classic




     XML
                                                                          Monitor




                                                           Validation
                                                  COTS
                      Container                            patterns

                        zipfile                  zipfile

SC2 - Software Core for Computer-based systems
33
  Component based development
        Objective
        Large distributed systems
        Tools chain
        Large distributed systems Architecture
             Business Model
             Component Execution Model
        CCM
             Object Deployment
             Container Concepts


SC2 - Software Core for Computer-based systems
34
                                    Mouse Click
     Recording                                          Surveillance
                                System Development



                                             Flight
                                           Management




    Sup                                                   ODS

SC2 - Software Core for Computer-based systems
35
                                    Mouse Click
     Recording                                          Surveillance
                                System Development



                                             Flight
                                           Management




    Sup                                                   ODS

SC2 - Software Core for Computer-based systems
36
                                    Mouse Click
                                                        Surveillance
                                System Development


                                 Recording

                                             Flight
                                           Management




    Sup                                                   ODS

SC2 - Software Core for Computer-based systems
37
                                    Mouse Click
                                System Development


                                 Recording       Surveillance

                                             Flight
                                           Management




    Sup                                                         ODS

SC2 - Software Core for Computer-based systems
38
                                    Mouse Click
                                System Development


                                 Recording       Surveillance

                                             Flight
                                           Management

                                                    ODS



    Sup
SC2 - Software Core for Computer-based systems
39
                                    Mouse Click
                                System Development


                                 Recording       Surveillance

                                             Flight
                                           Management

                                  Sup               ODS




SC2 - Software Core for Computer-based systems
40
  System Architecture

              A business model
                   Domain engineering
                   Domain services specification
                      No assumption on Execution Platform
                         (separation of concerns)




SC2 - Software Core for Computer-based systems
41
  System Architecture

               A business model
                    Domain engineering
                    Domain services specification
                       No assumption on Execution Platform
                          (separation of concerns)

              A component execution model
                (seamless integration)
                   Components interconnection
                   CORBA component model (CCM)
                        Container
SC2 - Software Core for Computer-based systems
42
  Component based development
        Objective
        Large distributed systems
        Tools chain
        Large distributed systems Architecture
             Business Model
             Component Execution Model
        CCM
             Object Deployment
             Container Concepts


SC2 - Software Core for Computer-based systems
43
  A Domain Service = A CORBA Object


          A service (CORBA Object) is defined by :
               An Interface Interface
               A protocol Behavior
                    Described in UML
          Without any assumptions on :
                            Execution Platform
                                         (separation of concerns)

SC2 - Software Core for Computer-based systems
44
  No assumption on deployment




                                                  A driver doesn't care of
                                                  engine's internal working.
                                                  He only knows the interface


            Implementation            Interface
SC2 - Software Core for Computer-based systems
45
  No assumption on deployment




                                                  A driver doesn't care of
                                                  engine's internal working.
                                                  He only knows the interface


            Implementation            Interface
SC2 - Software Core for Computer-based systems
46
  No assumption on deployment




                                                  A driver doesn't care of
                                                  engine's internal working.
                                                  He only knows the interface


            Implementation            Interface
SC2 - Software Core for Computer-based systems
47
  No assumption on deployment




                                                  A driver doesn't care of
                                                  engine's internal working.
                                                  He only knows the interface


            Implementation            Interface
SC2 - Software Core for Computer-based systems
48
  No assumption on deployment




                                                  A driver doesn't care of
                                                  engine's internal working.
                                                  He only knows the interface


            Implementation            Interface
SC2 - Software Core for Computer-based systems
49
  No assumption on deployment




                                                  A driver doesn't care of
                                                  engine's internal working.
                                                  He only knows the interface


            Implementation            Interface
SC2 - Software Core for Computer-based systems
50
  Component based development
        Objective
        Large distributed systems
        Tools chain
        Large distributed systems Architecture
             Business Model
             Component Execution Model
        CCM
             Object Deployment
             Container Concepts


SC2 - Software Core for Computer-based systems
51
  What We
                                                         Service B
  May Have :




                                             Service A




                                                                     Service D
       Service C
                                                         Service E
SC2 - Software Core for Computer-based systems
52
  Spaghetti
  Plate
  Syndrome




SC2 - Software Core for Computer-based systems
53
  Spaghetti
  Plate                    Named
  Syndrome                  Pipe




SC2 - Software Core for Computer-based systems
54
  Spaghetti
      Reliable
  Plate
      Multicast
  Syndrome




SC2 - Software Core for Computer-based systems
55
  Spaghetti
  Plate
  Syndrome




                                  Spaghetti Plate


SC2 - Software Core for Computer-based systems
56
  Spaghetti
  Plate
  Syndrome                                       System Architect




                                  Spaghetti Plate


SC2 - Software Core for Computer-based systems
57
  Spaghetti
  Plate
  Syndrome                                       System Integrator
                                                 System Architect




                                  Spaghetti Plate


SC2 - Software Core for Computer-based systems
58
                                      What We Want !
     Recording                                                  Surveillance



                                 Recording       Surveillance

                                             Flight
                                           Management

                                  Sup               ODS



    Sup                          Seamless Integration
                                                                  ODS

SC2 - Software Core for Computer-based systems
59
                                                 Container Model




                        Technical Middleware (Framework)


SC2 - Software Core for Computer-based systems
60
                                                 Container Model




                        Technical Middleware (Framework)


SC2 - Software Core for Computer-based systems
61
              Object                             Container Model
               IDL




                        Technical Middleware (Framework)


SC2 - Software Core for Computer-based systems
62
              Object                             Container Model
               IDL




                                                           Container



                        Technical Middleware (Framework)


SC2 - Software Core for Computer-based systems
63
              Object                             Container Model
               IDL
                                                      Automatically
                                                       generated
                                                       Container
                                                    from Object IDL




                                                           Container



                        Technical Middleware (Framework)


SC2 - Software Core for Computer-based systems
64
              Object                              Container Model
               IDL
                                                         Automatically
                                                          generated
                                                             Container
                                                       from Object IDL




                                                 Container      Container



                        Technical Middleware (Framework)


SC2 - Software Core for Computer-based systems
65
              Object                                          Container Model
               IDL
                                                                     Automatically
                                                                      generated
                                                                         Container
                                                                   from Object IDL




                                                 Container   Container      Container



                        Technical Middleware (Framework)


SC2 - Software Core for Computer-based systems
66
              Object                                          Container Model
               IDL
                                                                     Automatically
                                                                      generated
    Generated Typed
                                                                         Container
    Local Interfaces                                               from Object IDL




                                                 Container   Container      Container



                        Technical Middleware (Framework)


SC2 - Software Core for Computer-based systems
67
              Object                                          Container Model
               IDL
                                                                     Automatically
                                                                      generated
    Generated Typed
                                                                         Container
    Local Interfaces                                               from Object IDL




                           Container             Container   Container      Container



                        Technical Middleware (Framework)


SC2 - Software Core for Computer-based systems
68
              Object                                          Container Model
               IDL
                                                                     Automatically
                                                                      generated
    Generated Typed
                                                                         Container
    Local Interfaces                                               from Object IDL




       Container           Container             Container   Container      Container



                        Technical Middleware (Framework)


SC2 - Software Core for Computer-based systems
69
              Object                                          Container Model
               IDL
                                                                     Automatically
                                                                      generated
    Generated Typed
                                                                         Container
    Local Interfaces                                               from Object IDL




       Container           Container             Container   Container      Container



                        Technical Middleware (Framework)


SC2 - Software Core for Computer-based systems
                                     Spaghetti Plate
70
  Component based development
        Objective
        Large distributed systems
        Tools chain
        Large distributed systems Architecture
             Business Model
             Component Execution Model
        CCM
             Object Deployment
             Container Concepts


SC2 - Software Core for Computer-based systems
71
                    Component and CORBA object
   A component is a deployable objet

                                                           Object
                                     As specified



           Client                          Object          Object



                         Provides
                                                           Object
                                                    uses


SC2 - Software Core for Computer-based systems
72
                    Component and object
   A component is a deployable objet

                                                            ?
                                       As deployed



           Client                          Object           ?



                         Provides
                                                            ?
                                                     uses


SC2 - Software Core for Computer-based systems
73
               Object Interface (IDL CORBA 2)



                                            interfaces
      Usual
   CORBA object                             ..




SC2 - Software Core for Computer-based systems
74
               Component Interface (IDL CORBA 3)


                                 Provides {
                                       interfaces
      Usual
   CORBA object                        ..
                                 }




SC2 - Software Core for Computer-based systems
75
               Component Interface (IDL CORBA 3)


                                  Provides {
                                        interfaces
      Usual
   CORBA object                         ..
                                  }
                                                          Connection to
                                                             a Usual
                                  uses {                  CORBA Object
                                             interfaces
                                             ..
                                  }




SC2 - Software Core for Computer-based systems
76
  Object Composition
                                                          IDL CORBA 2
                                                                 IDL         Server
                               IDL CORBA 2

                                      IDL

                                                 Object

                      Client                     Server
                                                                 IDL CORBA 2

                                                                       IDL



                                                                             Server




                                   Provides               Uses


SC2 - Software Core for Computer-based systems
77
  Object Composition                                      IDL CORBA 3
                                                   IDL
                                                          IDL CORBA 2
                                                                 IDL         Server
                               IDL CORBA 2

                                      IDL

                                                 Object

                      Client                     Server
                                                                 IDL CORBA 2

                                                                       IDL



                                                                             Server




                                   Provides               Uses


SC2 - Software Core for Computer-based systems
78
  Object Composition                                      IDL CORBA 3

                                                   IDL
  Provides {
               interfaces
               ..                                                       Server
  }

  uses {
               interfaces
               ..
  }                                              Object

                            Client               Server




                                                                        Server




                                     Provides             Uses


SC2 - Software Core for Computer-based systems
79
  CORBA Component Model (CCM)

 CCM IDL “IDL3”                        Extension to IDL (IDL2 Meta Type)
                                                   «packaging» language

                                                   Define a component in terms
                                                 of...
                                                    Offered functionality (Server role)
                                                      interfaces provided
                                                      events emitted

                                                    Dependencies (Client role)
                                                      distant interfaces required
                                                      events consumed

                                                    Configuration attributes
SC2 - Software Core for Computer-based systems
80
  CCM : Code Generation

                 IDL3                      “IDL3” is parsed, producing :

                                                 An IDL2 interface
                                                   Defining interface between
                                                   component and container
              Compiler                             Middleware, Framework
                                                   independent



                                                 Container code
      Idl2
                         Container                 Provides the glue between
                                                   application and
                                                   infrastructure
SC2 - Software Core for Computer-based systems
81
  CORBA Component Model IDL


                                                 IDL3 provides :
                                                 • logical architecture
                                                 • logical connectivity
                                                 • dependency visibility




SC2 - Software Core for Computer-based systems
82
  CORBA Component Model (CCM)

   CCM Container                                 Container handles,
                                                    Component interconnection
                                                    Event issues
                                                    Config / packaging issues
                                                    Other functions
                                                 Local IDL (local service ie no IOR)
                                                 Component is isolated from the
                                                 underlying architecture
                                                 (framework).
                                                 This is a standard & formal way of
                                                 creating wrappers.


SC2 - Software Core for Computer-based systems
83
  Component based development
        Objective
        Large distributed systems
        Tools chain
        Large distributed systems Architecture
             Business Model
             Component Execution Model
        CCM
             Object Deployment
             Container Concepts


SC2 - Software Core for Computer-based systems
84
  Component based development
        Container Concepts
             Component container Interaction
             Object Deployment
             Separation of concerns
             Container Technical Framework
             Flexible Container Code Generation




SC2 - Software Core for Computer-based systems
85
  Component/Container interaction
                                       Component interacts
                                         with container




SC2 - Software Core for Computer-based systems
86
  Component/Container interaction
                                    Container interacts
                                    with other container




SC2 - Software Core for Computer-based systems
87
  Component/Container interaction
                                  Components exchange
                                      information




SC2 - Software Core for Computer-based systems
88
  Component/Container interaction




                                                 Container interacts
                                                   with Component




SC2 - Software Core for Computer-based systems
89
  Container Model

                                                               Clear separation of
                                                                  the application
                                                                  component
                                                                  the technical
                                                                  middleware

  Middleware
                         container               Component   container protects the
  Infrastructure
                                                             component

                                                             container offers simple
                                                             interfaces to
                                                             component


SC2 - Software Core for Computer-based systems
90
    Container/Infrastructure interaction
                                    Container interacts
                                    with other container




            Middleware (Infrastructure, Framework)
SC2 - Software Core for Computer-based systems
91
    Container/Infrastructure interaction
                                    Container interacts
                                    with other container




                                                  Container interacts with other
                                                 Container Through Infrastructure
                                                              Service




            Middleware (Infrastructure, Framework)
SC2 - Software Core for Computer-based systems
92
    Container/Infrastructure interaction
                                       Component interacts
                                         with container




            Middleware (Infrastructure, Framework)
SC2 - Software Core for Computer-based systems
93
    Container/Infrastructure interaction
                                       Component interacts
                                         with container




                                             Components exchange
                                             information Through
                                            Infrastructure Service




            Middleware (Infrastructure, Framework)
SC2 - Software Core for Computer-based systems
94
  Component based development
        Container Concepts
             Component container Interaction
             Object Deployment
             Separation of concerns
             Container Technical Framework
             Flexible Container Code Generation




SC2 - Software Core for Computer-based systems
95
 Container and object deployment
   A component is a deployable objet

                                                           Object




           Client                          Object          Object



                         Provides
                                                           Object
                                                    uses


SC2 - Software Core for Computer-based systems
96
  Container and Object Deployment
               Client                  Objet     O1   02   03




SC2 - Software Core for Computer-based systems
97
  Container and Object Deployment
               Client                  Objet     O1     02    03




                                                 Spaghetti Plate




SC2 - Software Core for Computer-based systems
98
  Container and Object Deployment
      Client           Objet                     O1     02    03
                                   Container




                                                 Spaghetti Plate




SC2 - Software Core for Computer-based systems
99
  Component based development
        Container Concepts
             Component container Interaction
             Object Deployment
             Separation of concerns
             Container Technical Framework
             Flexible Container Code Generation




SC2 - Software Core for Computer-based systems
100
    Container and separation of concerns : without container
                                  Objet          O1   02   03




                     Technical
                       Code


                     Business
                      Code


                     Technical
                       Code



                     Business
                      Code


                     Technical
                       Code


SC2 - Software Core for Computer-based systems
101
   Container and separation of concerns : with container
              Object               Container     O1   02   03




   Business
    Code

                       Technical
                         Code



                       Technical
                         Code



   Business
    Code


                       Technical
                         Code


SC2 - Software Core for Computer-based systems
102
    Container and separation of concerns : determinism

                                                                 HMI                      Server
                                                 HMI             ???
                                                                 IHM
                                                               Container                  ?????
                                                                                          Server
                                                                                         Container           Server
                                                   Request (Data)
                                                                     Trace (Data)

  • Automation of technical
    services: tracing, recording                                     Request (Data)

                                                                               Trace (Data)

  => Validation Determinism                                                                   Request (Data)




  • Simplification of business                                                                       Reply
    coder’s work                                                             Record (Data)

                                                                                     Reply

                                                                     Record (Data)

                                                       Reply




SC2 - Software Core for Computer-based systems
103
  Component based development
        Container Concepts
             Component container Interaction
             Object Deployment
             Separation of concerns
             Container Technical Framework
             Flexible Container Code Generation




SC2 - Software Core for Computer-based systems
104
  Enterprise computing CCM container


                                                  Business


                          Container




                                                                          Container
                                                 Application




                                Event   Persistence    Security   Transaction




                                            Middleware services



SC2 - Software Core for Computer-based systems
105
  Real Time computing CCM container


                                                  Business


                          Container




                                                                          Container
                                                 Application




                                                          Load        Fault
                             Tracing     Recording
                                                        Balancing   Tolerance




                                           Middleware services



SC2 - Software Core for Computer-based systems
106
  Extended Real Time computing CCM container


                                                  Business


                          Container




                                                                       Container
                                                 Application




                                  DDS       ?                  ?   ?




                                           Middleware services



SC2 - Software Core for Computer-based systems
107
  Component based development
        Container Concepts
             Component container Interaction
             Object Deployment
             Separation of concerns
             Container Technical Framework
             Flexible Container Code Generation




SC2 - Software Core for Computer-based systems
108
  Flexible Container Code Generation

                                        IDL3                    Template
                                                                 Driven
                                                             Code generation




                                     Compiler                   Template




                                                                     Written
                                                                  By middleware
                                                                     Experts
                                                 Container
                             Idl2


SC2 - Software Core for Computer-based systems
109
  Flexible Container Code Generation

                                        IDL3




                                                               C++
                                     Compiler                Template




                                                   C++
                                                 Container
                             Idl2


SC2 - Software Core for Computer-based systems
110
  Flexible Container Code Generation

                                        IDL3




                                                               Ada
                                     Compiler                Template




                                                   Ada
                                                 Container
                             Idl2


SC2 - Software Core for Computer-based systems
111
  Flexible Container Code Generation

                                        IDL3




                                                              Validation
                                     Compiler                 Template




                                                 Validation
                                                 Container
                             Idl2


SC2 - Software Core for Computer-based systems
112
  Infrastructure Interchange




        Validation Container                      Operational Container

     Validation Framework                        Operational Framework


SC2 - Software Core for Computer-based systems
113
  Infrastructure Interchange




                                            Validation template written by
                                                  Validation experts




        Validation Container                                      Operational Container

     Validation Framework                                       Operational Framework


SC2 - Software Core for Computer-based systems
114
  Infrastructure Interchange




                         Operational template written by
                               Validation experts




        Validation Container                                Operational Container

     Validation Framework                                  Operational Framework


SC2 - Software Core for Computer-based systems
115
  System Design and Simulated validation

           System Engineer,
              Architect

                                         Design Model


                                                 MOF/
                                                 XMI


                                                                         Simulation Tools




                                                                               Validation
             Operational Container                Validation Container
                                                                                Pattern

SC2 - Software Core for Computer-based systems
116
  System Design and Simulated validation
                                                 Business
                                                  Model
                Functional                                      Non Functional
                  Model                                             Model
                                             Container

   Functional                                                         Non Functional
   Simulation                                                          Simulation
                                           Deployment

                            =                               =
   Results                                                              Results
                                                 System

SC2 - Software Core for Computer-based systems
117
  Component based development
        Objective
        Large distributed systems
        Tools chain
        Large distributed systems Architecture
             Business Model
             Component Execution Model
        CCM
             Object Deployment
             Container Concepts


SC2 - Software Core for Computer-based systems
118
                                   Component Based
     Fault                                                       Load
     Tolerance
                                     Middleware
                                                                 Balancing


                                 Fault               Load
                                 Tolerance           Balancing
                                                 Real
                                                 Time

                                  DDS                   Events



    DDS                                                            Events

SC2 - Software Core for Computer-based systems

More Related Content

Component Based Distributed System Development

  • 1. Component based development SC2 - Software Core for Computer-based systems
  • 2. 2 Component based development Objective Large distributed systems Tools chain Large distributed systems Architecture Business Model Component Execution Model CCM Object Deployment Container Concepts SC2 - Software Core for Computer-based systems
  • 3. 3 Objective SC2 - Software Core for Computer-based systems
  • 4. 4 Objective Large distributed systems development cost reduction implies: Programming by assembly (manufacturing) rather than development (engineering) Reduced skills requirements Focus expertise on domain problems Improving software quality SC2 - Software Core for Computer-based systems
  • 5. 5 Component based development Objective Large distributed systems Tools chain Large distributed systems Architecture Business Model Component Execution Model CCM Object Deployment Container Concepts SC2 - Software Core for Computer-based systems
  • 6. 6 Component Based development for complex systems Develop large software systems like : Hardware Car Manufacturing rather than engineering Product line Assembly line Product line Tools chain Reuse time Engineering Development Production Phase Phase SC2 - Software Core for Computer-based systems
  • 7. 7 Complex system : ATC centre RADAR AFTN/CIDIN ATFM ADJACENT FIR'S/TWR'S MET Centres Radar Front Radar Data Flight Plan Supervisory Recording Control Simulator Processing Radar Front Processing Radar Data Processing Flight Plan Supervisory Replay Recording Control Simulator Processing Processing Processing Replay Dual LAN FDDI Voice control controller controller controller controller and Voice control Working Working Working Working communications and Position Position Position Position communications • Intercom • Priority ~ 50 • Public • RADIO A/G SC2 - Software Core for Computer-based systems
  • 8. 8 Complex system : Combat Naval System Tracks display Radar detections Detections processed into tracks by the CMS SC2 - Software Core for Computer-based systems
  • 9. 9 Component based development Objective Large distributed systems Tools chain Large distributed systems Architecture Business Model Component Execution Model CCM Object Deployment Container Concepts SC2 - Software Core for Computer-based systems
  • 10. 10 Tool chain : Computer Aided System Design UML Visual Tools SC2 - Software Core for Computer-based systems
  • 11. 11 Hardware Components Analogy Component Library Data Sheet SC2 - Software Core for Computer-based systems
  • 12. 12 Domain Components Component Library ACR RADAR CWP RDP FDP ABS CP FPM AGDC ADS-B TP Data Sheet SC2 - Software Core for Computer-based systems
  • 13. 13 Computer aided design for the whole process Operation Validation Integration Development Design SC2 - Software Core for Computer-based systems
  • 14. 14 From Design, Deployment, Installation, to Validation Visual design Tool Visual Deployment Tool Simulation Tool Validation Tool Sun SPARC IBM Compatible DECstation IBM Compatible IBM RS/6000 Mac SE/Classic System Engineer System Monitor Architect Integrator Design Model Deployment Model SC2 - Software Core for Computer-based systems
  • 15. 15 System Design Visual Tools System Engineer, Architect SC2 - Software Core for Computer-based systems
  • 16. 16 System Design Visual Tools System Engineer, Architect Design Model SC2 - Software Core for Computer-based systems
  • 17. 17 System Design Visual Tools System Engineer, Architect Design Model IDL SC2 - Software Core for Computer-based systems
  • 18. 18 System Design Visual Tools System Engineer, Architect Design Model IDL XML SC2 - Software Core for Computer-based systems
  • 19. 19 System Design Visual Tools System Engineer, Architect Design Model IDL XML SC2 - Software Core for Computer-based systems
  • 20. 20 System Design Visual Tools System Engineer, Architect Design Model IDL XML SC2 - Software Core for Computer-based systems
  • 21. 21 System Design Visual Tools System Engineer, Architect Design Model MOF/ XMI IDL XML SC2 - Software Core for Computer-based systems
  • 22. 22 System Design Visual Tools System Engineer, Architect Design Model MOF/ XMI Simulation Tools IDL XML SC2 - Software Core for Computer-based systems
  • 23. 23 System Design Visual Tools System Engineer, Architect Design Model MOF/ XMI Simulation Tools IDL XML SC2 - Software Core for Computer-based systems
  • 24. 24 System Design Visual Tools System Engineer, Architect Design Model MOF/ XMI Simulation Tools IDL XML Validation patterns SC2 - Software Core for Computer-based systems
  • 25. 25 System Deployment and Integration System Integrator Sun SPARC IBM Compatible DECstation IBM Compatible IBM RS/6000 Mac SE/Classic Monitor COTS Container zipfile zipfile SC2 - Software Core for Computer-based systems
  • 26. 26 System Deployment and Integration System Integrator XMI Sun SPARC IBM Compatible DECstation IBM Compatible IBM RS/6000 Mac SE/Classic Monitor COTS Container zipfile zipfile SC2 - Software Core for Computer-based systems
  • 27. 27 System Deployment and Integration System Integrator XMI Sun SPARC IBM Compatible DECstation IDL IBM Compatible IBM RS/6000 Mac SE/Classic Monitor COTS Container zipfile zipfile SC2 - Software Core for Computer-based systems
  • 28. 28 System Deployment and Integration System Integrator XMI Sun SPARC IBM Compatible DECstation IDL IBM Compatible IBM RS/6000 Mac SE/Classic XML Monitor COTS Container zipfile zipfile SC2 - Software Core for Computer-based systems
  • 29. 29 System Deployment and Integration System Integrator XMI Sun SPARC IBM Compatible DECstation IDL IBM Compatible IBM RS/6000 Mac SE/Classic XML Monitor COTS Container zipfile zipfile SC2 - Software Core for Computer-based systems
  • 30. 30 System Deployment and Integration System Integrator XMI Sun SPARC IBM Compatible DECstation IDL IBM Compatible IBM RS/6000 Mac SE/Classic XML Monitor COTS Container zipfile zipfile SC2 - Software Core for Computer-based systems
  • 31. 31 System Deployment and Integration System Integrator XMI Sun SPARC IBM Compatible DECstation IDL IBM Compatible IBM RS/6000 Mac SE/Classic XML Monitor Validation COTS Container patterns zipfile zipfile SC2 - Software Core for Computer-based systems
  • 32. 32 System Deployment and Integration System Integrator XMI Sun SPARC IBM Compatible DECstation IDL IBM Compatible IBM RS/6000 Mac SE/Classic XML Monitor Validation COTS Container patterns zipfile zipfile SC2 - Software Core for Computer-based systems
  • 33. 33 Component based development Objective Large distributed systems Tools chain Large distributed systems Architecture Business Model Component Execution Model CCM Object Deployment Container Concepts SC2 - Software Core for Computer-based systems
  • 34. 34 Mouse Click Recording Surveillance System Development Flight Management Sup ODS SC2 - Software Core for Computer-based systems
  • 35. 35 Mouse Click Recording Surveillance System Development Flight Management Sup ODS SC2 - Software Core for Computer-based systems
  • 36. 36 Mouse Click Surveillance System Development Recording Flight Management Sup ODS SC2 - Software Core for Computer-based systems
  • 37. 37 Mouse Click System Development Recording Surveillance Flight Management Sup ODS SC2 - Software Core for Computer-based systems
  • 38. 38 Mouse Click System Development Recording Surveillance Flight Management ODS Sup SC2 - Software Core for Computer-based systems
  • 39. 39 Mouse Click System Development Recording Surveillance Flight Management Sup ODS SC2 - Software Core for Computer-based systems
  • 40. 40 System Architecture A business model Domain engineering Domain services specification No assumption on Execution Platform (separation of concerns) SC2 - Software Core for Computer-based systems
  • 41. 41 System Architecture A business model Domain engineering Domain services specification No assumption on Execution Platform (separation of concerns) A component execution model (seamless integration) Components interconnection CORBA component model (CCM) Container SC2 - Software Core for Computer-based systems
  • 42. 42 Component based development Objective Large distributed systems Tools chain Large distributed systems Architecture Business Model Component Execution Model CCM Object Deployment Container Concepts SC2 - Software Core for Computer-based systems
  • 43. 43 A Domain Service = A CORBA Object A service (CORBA Object) is defined by : An Interface Interface A protocol Behavior Described in UML Without any assumptions on : Execution Platform (separation of concerns) SC2 - Software Core for Computer-based systems
  • 44. 44 No assumption on deployment A driver doesn't care of engine's internal working. He only knows the interface Implementation Interface SC2 - Software Core for Computer-based systems
  • 45. 45 No assumption on deployment A driver doesn't care of engine's internal working. He only knows the interface Implementation Interface SC2 - Software Core for Computer-based systems
  • 46. 46 No assumption on deployment A driver doesn't care of engine's internal working. He only knows the interface Implementation Interface SC2 - Software Core for Computer-based systems
  • 47. 47 No assumption on deployment A driver doesn't care of engine's internal working. He only knows the interface Implementation Interface SC2 - Software Core for Computer-based systems
  • 48. 48 No assumption on deployment A driver doesn't care of engine's internal working. He only knows the interface Implementation Interface SC2 - Software Core for Computer-based systems
  • 49. 49 No assumption on deployment A driver doesn't care of engine's internal working. He only knows the interface Implementation Interface SC2 - Software Core for Computer-based systems
  • 50. 50 Component based development Objective Large distributed systems Tools chain Large distributed systems Architecture Business Model Component Execution Model CCM Object Deployment Container Concepts SC2 - Software Core for Computer-based systems
  • 51. 51 What We Service B May Have : Service A Service D Service C Service E SC2 - Software Core for Computer-based systems
  • 52. 52 Spaghetti Plate Syndrome SC2 - Software Core for Computer-based systems
  • 53. 53 Spaghetti Plate Named Syndrome Pipe SC2 - Software Core for Computer-based systems
  • 54. 54 Spaghetti Reliable Plate Multicast Syndrome SC2 - Software Core for Computer-based systems
  • 55. 55 Spaghetti Plate Syndrome Spaghetti Plate SC2 - Software Core for Computer-based systems
  • 56. 56 Spaghetti Plate Syndrome System Architect Spaghetti Plate SC2 - Software Core for Computer-based systems
  • 57. 57 Spaghetti Plate Syndrome System Integrator System Architect Spaghetti Plate SC2 - Software Core for Computer-based systems
  • 58. 58 What We Want ! Recording Surveillance Recording Surveillance Flight Management Sup ODS Sup Seamless Integration ODS SC2 - Software Core for Computer-based systems
  • 59. 59 Container Model Technical Middleware (Framework) SC2 - Software Core for Computer-based systems
  • 60. 60 Container Model Technical Middleware (Framework) SC2 - Software Core for Computer-based systems
  • 61. 61 Object Container Model IDL Technical Middleware (Framework) SC2 - Software Core for Computer-based systems
  • 62. 62 Object Container Model IDL Container Technical Middleware (Framework) SC2 - Software Core for Computer-based systems
  • 63. 63 Object Container Model IDL Automatically generated Container from Object IDL Container Technical Middleware (Framework) SC2 - Software Core for Computer-based systems
  • 64. 64 Object Container Model IDL Automatically generated Container from Object IDL Container Container Technical Middleware (Framework) SC2 - Software Core for Computer-based systems
  • 65. 65 Object Container Model IDL Automatically generated Container from Object IDL Container Container Container Technical Middleware (Framework) SC2 - Software Core for Computer-based systems
  • 66. 66 Object Container Model IDL Automatically generated Generated Typed Container Local Interfaces from Object IDL Container Container Container Technical Middleware (Framework) SC2 - Software Core for Computer-based systems
  • 67. 67 Object Container Model IDL Automatically generated Generated Typed Container Local Interfaces from Object IDL Container Container Container Container Technical Middleware (Framework) SC2 - Software Core for Computer-based systems
  • 68. 68 Object Container Model IDL Automatically generated Generated Typed Container Local Interfaces from Object IDL Container Container Container Container Container Technical Middleware (Framework) SC2 - Software Core for Computer-based systems
  • 69. 69 Object Container Model IDL Automatically generated Generated Typed Container Local Interfaces from Object IDL Container Container Container Container Container Technical Middleware (Framework) SC2 - Software Core for Computer-based systems Spaghetti Plate
  • 70. 70 Component based development Objective Large distributed systems Tools chain Large distributed systems Architecture Business Model Component Execution Model CCM Object Deployment Container Concepts SC2 - Software Core for Computer-based systems
  • 71. 71 Component and CORBA object A component is a deployable objet Object As specified Client Object Object Provides Object uses SC2 - Software Core for Computer-based systems
  • 72. 72 Component and object A component is a deployable objet ? As deployed Client Object ? Provides ? uses SC2 - Software Core for Computer-based systems
  • 73. 73 Object Interface (IDL CORBA 2) interfaces Usual CORBA object .. SC2 - Software Core for Computer-based systems
  • 74. 74 Component Interface (IDL CORBA 3) Provides { interfaces Usual CORBA object .. } SC2 - Software Core for Computer-based systems
  • 75. 75 Component Interface (IDL CORBA 3) Provides { interfaces Usual CORBA object .. } Connection to a Usual uses { CORBA Object interfaces .. } SC2 - Software Core for Computer-based systems
  • 76. 76 Object Composition IDL CORBA 2 IDL Server IDL CORBA 2 IDL Object Client Server IDL CORBA 2 IDL Server Provides Uses SC2 - Software Core for Computer-based systems
  • 77. 77 Object Composition IDL CORBA 3 IDL IDL CORBA 2 IDL Server IDL CORBA 2 IDL Object Client Server IDL CORBA 2 IDL Server Provides Uses SC2 - Software Core for Computer-based systems
  • 78. 78 Object Composition IDL CORBA 3 IDL Provides { interfaces .. Server } uses { interfaces .. } Object Client Server Server Provides Uses SC2 - Software Core for Computer-based systems
  • 79. 79 CORBA Component Model (CCM) CCM IDL “IDL3” Extension to IDL (IDL2 Meta Type) «packaging» language Define a component in terms of... Offered functionality (Server role) interfaces provided events emitted Dependencies (Client role) distant interfaces required events consumed Configuration attributes SC2 - Software Core for Computer-based systems
  • 80. 80 CCM : Code Generation IDL3 “IDL3” is parsed, producing : An IDL2 interface Defining interface between component and container Compiler Middleware, Framework independent Container code Idl2 Container Provides the glue between application and infrastructure SC2 - Software Core for Computer-based systems
  • 81. 81 CORBA Component Model IDL IDL3 provides : • logical architecture • logical connectivity • dependency visibility SC2 - Software Core for Computer-based systems
  • 82. 82 CORBA Component Model (CCM) CCM Container Container handles, Component interconnection Event issues Config / packaging issues Other functions Local IDL (local service ie no IOR) Component is isolated from the underlying architecture (framework). This is a standard & formal way of creating wrappers. SC2 - Software Core for Computer-based systems
  • 83. 83 Component based development Objective Large distributed systems Tools chain Large distributed systems Architecture Business Model Component Execution Model CCM Object Deployment Container Concepts SC2 - Software Core for Computer-based systems
  • 84. 84 Component based development Container Concepts Component container Interaction Object Deployment Separation of concerns Container Technical Framework Flexible Container Code Generation SC2 - Software Core for Computer-based systems
  • 85. 85 Component/Container interaction Component interacts with container SC2 - Software Core for Computer-based systems
  • 86. 86 Component/Container interaction Container interacts with other container SC2 - Software Core for Computer-based systems
  • 87. 87 Component/Container interaction Components exchange information SC2 - Software Core for Computer-based systems
  • 88. 88 Component/Container interaction Container interacts with Component SC2 - Software Core for Computer-based systems
  • 89. 89 Container Model Clear separation of the application component the technical middleware Middleware container Component container protects the Infrastructure component container offers simple interfaces to component SC2 - Software Core for Computer-based systems
  • 90. 90 Container/Infrastructure interaction Container interacts with other container Middleware (Infrastructure, Framework) SC2 - Software Core for Computer-based systems
  • 91. 91 Container/Infrastructure interaction Container interacts with other container Container interacts with other Container Through Infrastructure Service Middleware (Infrastructure, Framework) SC2 - Software Core for Computer-based systems
  • 92. 92 Container/Infrastructure interaction Component interacts with container Middleware (Infrastructure, Framework) SC2 - Software Core for Computer-based systems
  • 93. 93 Container/Infrastructure interaction Component interacts with container Components exchange information Through Infrastructure Service Middleware (Infrastructure, Framework) SC2 - Software Core for Computer-based systems
  • 94. 94 Component based development Container Concepts Component container Interaction Object Deployment Separation of concerns Container Technical Framework Flexible Container Code Generation SC2 - Software Core for Computer-based systems
  • 95. 95 Container and object deployment A component is a deployable objet Object Client Object Object Provides Object uses SC2 - Software Core for Computer-based systems
  • 96. 96 Container and Object Deployment Client Objet O1 02 03 SC2 - Software Core for Computer-based systems
  • 97. 97 Container and Object Deployment Client Objet O1 02 03 Spaghetti Plate SC2 - Software Core for Computer-based systems
  • 98. 98 Container and Object Deployment Client Objet O1 02 03 Container Spaghetti Plate SC2 - Software Core for Computer-based systems
  • 99. 99 Component based development Container Concepts Component container Interaction Object Deployment Separation of concerns Container Technical Framework Flexible Container Code Generation SC2 - Software Core for Computer-based systems
  • 100. 100 Container and separation of concerns : without container Objet O1 02 03 Technical Code Business Code Technical Code Business Code Technical Code SC2 - Software Core for Computer-based systems
  • 101. 101 Container and separation of concerns : with container Object Container O1 02 03 Business Code Technical Code Technical Code Business Code Technical Code SC2 - Software Core for Computer-based systems
  • 102. 102 Container and separation of concerns : determinism HMI Server HMI ??? IHM Container ????? Server Container Server Request (Data) Trace (Data) • Automation of technical services: tracing, recording Request (Data) Trace (Data) => Validation Determinism Request (Data) • Simplification of business Reply coder’s work Record (Data) Reply Record (Data) Reply SC2 - Software Core for Computer-based systems
  • 103. 103 Component based development Container Concepts Component container Interaction Object Deployment Separation of concerns Container Technical Framework Flexible Container Code Generation SC2 - Software Core for Computer-based systems
  • 104. 104 Enterprise computing CCM container Business Container Container Application Event Persistence Security Transaction Middleware services SC2 - Software Core for Computer-based systems
  • 105. 105 Real Time computing CCM container Business Container Container Application Load Fault Tracing Recording Balancing Tolerance Middleware services SC2 - Software Core for Computer-based systems
  • 106. 106 Extended Real Time computing CCM container Business Container Container Application DDS ? ? ? Middleware services SC2 - Software Core for Computer-based systems
  • 107. 107 Component based development Container Concepts Component container Interaction Object Deployment Separation of concerns Container Technical Framework Flexible Container Code Generation SC2 - Software Core for Computer-based systems
  • 108. 108 Flexible Container Code Generation IDL3 Template Driven Code generation Compiler Template Written By middleware Experts Container Idl2 SC2 - Software Core for Computer-based systems
  • 109. 109 Flexible Container Code Generation IDL3 C++ Compiler Template C++ Container Idl2 SC2 - Software Core for Computer-based systems
  • 110. 110 Flexible Container Code Generation IDL3 Ada Compiler Template Ada Container Idl2 SC2 - Software Core for Computer-based systems
  • 111. 111 Flexible Container Code Generation IDL3 Validation Compiler Template Validation Container Idl2 SC2 - Software Core for Computer-based systems
  • 112. 112 Infrastructure Interchange Validation Container Operational Container Validation Framework Operational Framework SC2 - Software Core for Computer-based systems
  • 113. 113 Infrastructure Interchange Validation template written by Validation experts Validation Container Operational Container Validation Framework Operational Framework SC2 - Software Core for Computer-based systems
  • 114. 114 Infrastructure Interchange Operational template written by Validation experts Validation Container Operational Container Validation Framework Operational Framework SC2 - Software Core for Computer-based systems
  • 115. 115 System Design and Simulated validation System Engineer, Architect Design Model MOF/ XMI Simulation Tools Validation Operational Container Validation Container Pattern SC2 - Software Core for Computer-based systems
  • 116. 116 System Design and Simulated validation Business Model Functional Non Functional Model Model Container Functional Non Functional Simulation Simulation Deployment = = Results Results System SC2 - Software Core for Computer-based systems
  • 117. 117 Component based development Objective Large distributed systems Tools chain Large distributed systems Architecture Business Model Component Execution Model CCM Object Deployment Container Concepts SC2 - Software Core for Computer-based systems
  • 118. 118 Component Based Fault Load Tolerance Middleware Balancing Fault Load Tolerance Balancing Real Time DDS Events DDS Events SC2 - Software Core for Computer-based systems