Component Based Distributed System Development - Presentation Transcript
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
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
0 comments
Post a comment