component based distributed system development

Post on 12-Jan-2015

2.701 Views

Category:

Business

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Component Based Distributed System Development

TRANSCRIPT

SC2 - Software Core for Computer-based systems

Component based development

SC2 - Software Core for Computer-based systems

2Component 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

3Objective

SC2 - Software Core for Computer-based systems

4Objective

� 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

5Component 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

6Component Based development for complex systems

� Develop large software systems like :

� Hardware

� Car

� Manufacturing rather than engineering

� Product line

� Assembly line

� Tools chain

DevelopmentPhase

ProductionPhase

timeEngineering

Product line

Reuse

SC2 - Software Core for Computer-based systems

7Complex system : ATC centre

Flight PlanProcessingFlight Plan

Processing

SupervisoryControlSupervisory

Control

SimulatorSimulator

RecordingReplayRecording

Replay

controllerWorkingPosition

controllerWorkingPosition

Radar Data ProcessingRadar Data

Processing

Radar FrontProcessingRadar Front

Processing

Dual LANFDDI

AFTN/CIDINATFM

ADJACENTFIR'S/TWR'S

MET Centres

Voice control and

communicationsVoice control

and communications

• Intercom• Priority• Public• RADIO A/G

controllerWorkingPosition

controllerWorkingPosition

~ 50

RADAR

SC2 - Software Core for Computer-based systems

8Complex system : Combat Naval System

Radar detections

Tracks display

Detections processed into tracks by the CMS

SC2 - Software Core for Computer-based systems

9Component 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

UML

Visual Tools

Tool chain : Computer Aided System Design

SC2 - Software Core for Computer-based systems

11Hardware Components Analogy

Component Library

Data Sheet

SC2 - Software Core for Computer-based systems

12Domain Components

Component Library

Data Sheet

CWP

RDP

FDP

CP

FPM

TP

RADAR

ADS-B

AGDC

ACR

ABS

SC2 - Software Core for Computer-based systems

13Computer aided design for the whole process

Integration

Validation

Operation

Development

Design

SC2 - Software Core for Computer-based systems

14From Design, Deployment, Installation, to Validation

IBM Compatible

IBM Compatible

Mac SE/Classic

Sun SPARC

Monitor

DECstation

IBM RS/6000

System EngineerArchitect

Visual design ToolSimulation Tool

System Integrator

Visual Deployment ToolValidation Tool

Design Model Deployment Model

SC2 - Software Core for Computer-based systems

15System Design Visual Tools

System Engineer,Architect

SC2 - Software Core for Computer-based systems

16System Design Visual Tools

System Engineer,Architect

Design Model

SC2 - Software Core for Computer-based systems

17System Design Visual Tools

IDL

System Engineer,Architect

Design Model

SC2 - Software Core for Computer-based systems

18System Design Visual Tools

IDL XML

System Engineer,Architect

Design Model

SC2 - Software Core for Computer-based systems

19System Design Visual Tools

IDL XML

System Engineer,Architect

Design Model

SC2 - Software Core for Computer-based systems

20System Design Visual Tools

IDL XML

System Engineer,Architect

Design Model

SC2 - Software Core for Computer-based systems

21System Design Visual Tools

IDL XML

System Engineer,Architect

MOF/XMI

Design Model

SC2 - Software Core for Computer-based systems

22System Design Visual Tools

IDL XML

System Engineer,Architect

MOF/XMI

Simulation Tools

Design Model

SC2 - Software Core for Computer-based systems

23System Design Visual Tools

IDL XML

System Engineer,Architect

MOF/XMI

Simulation Tools

Design Model

SC2 - Software Core for Computer-based systems

24System Design Visual Tools

IDL XML

System Engineer,Architect

Validationpatterns

MOF/XMI

Simulation Tools

Design Model

SC2 - Software Core for Computer-based systems

25System Deployment and Integration

Container

IBM Compatible

IBM Compatible

Mac SE/Classic

Sun SPARC

Monitor

DECstation

IBM RS/6000

System Integrator

COTS

zipfile zipfile

SC2 - Software Core for Computer-based systems

26System Deployment and Integration

Container

IBM Compatible

IBM Compatible

Mac SE/Classic

Sun SPARC

Monitor

DECstation

IBM RS/6000

System Integrator

COTS

zipfile

XMI

zipfile

SC2 - Software Core for Computer-based systems

27System Deployment and Integration

IDL

Container

IBM Compatible

IBM Compatible

Mac SE/Classic

Sun SPARC

Monitor

DECstation

IBM RS/6000

System Integrator

COTS

zipfile

XMI

zipfile

SC2 - Software Core for Computer-based systems

28System Deployment and Integration

IDL

Container

XML

IBM Compatible

IBM Compatible

Mac SE/Classic

Sun SPARC

Monitor

DECstation

IBM RS/6000

System Integrator

COTS

zipfile

XMI

zipfile

SC2 - Software Core for Computer-based systems

29System Deployment and Integration

IDL

Container

XML

IBM Compatible

IBM Compatible

Mac SE/Classic

Sun SPARC

Monitor

DECstation

IBM RS/6000

System Integrator

COTS

zipfile

XMI

zipfile

SC2 - Software Core for Computer-based systems

30System Deployment and Integration

IDL

Container

XML

IBM Compatible

IBM Compatible

Mac SE/Classic

Sun SPARC

Monitor

DECstation

IBM RS/6000

System Integrator

COTS

zipfile

XMI

zipfile

SC2 - Software Core for Computer-based systems

31System Deployment and Integration

IDL

Container

XML

IBM Compatible

IBM Compatible

Mac SE/Classic

Sun SPARC

Monitor

DECstation

IBM RS/6000

System Integrator

COTS

zipfile

Validationpatterns

XMI

zipfile

SC2 - Software Core for Computer-based systems

32System Deployment and Integration

IDL

Container

XML

IBM Compatible

IBM Compatible

Mac SE/Classic

Sun SPARC

Monitor

DECstation

IBM RS/6000

System Integrator

COTS

zipfile

Validationpatterns

XMI

zipfile

SC2 - Software Core for Computer-based systems

33Component 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

FlightManagement

Surveillance

ODSSup

RecordingMouse Click

System Development

SC2 - Software Core for Computer-based systems

35

FlightManagement

Surveillance

ODSSup

RecordingMouse Click

System Development

SC2 - Software Core for Computer-based systems

36

FlightManagement

Surveillance

ODSSup

Recording

Mouse ClickSystem Development

SC2 - Software Core for Computer-based systems

37

FlightManagement

ODSSup

Recording Surveillance

Mouse ClickSystem Development

SC2 - Software Core for Computer-based systems

38

FlightManagement

Sup

Recording Surveillance

ODS

Mouse ClickSystem Development

SC2 - Software Core for Computer-based systems

39

FlightManagement

Recording Surveillance

ODSSup

Mouse ClickSystem Development

SC2 - Software Core for Computer-based systems

40System 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

� A component execution model

(seamless integration)

� Components interconnection

� CORBA component model (CCM)

� Container

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

42Component 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

43A 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

44No assumption on deployment

Implementation Interface

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

SC2 - Software Core for Computer-based systems

45No assumption on deployment

Implementation Interface

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

SC2 - Software Core for Computer-based systems

46No assumption on deployment

Implementation Interface

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

SC2 - Software Core for Computer-based systems

47No assumption on deployment

Implementation Interface

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

SC2 - Software Core for Computer-based systems

48No assumption on deployment

Implementation Interface

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

SC2 - Software Core for Computer-based systems

49No assumption on deployment

Implementation Interface

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

SC2 - Software Core for Computer-based systems

50Component 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

51What We May Have :

Service DService C

Service A

Service B

Service E

SC2 - Software Core for Computer-based systems

52Spaghetti PlateSyndrome

SC2 - Software Core for Computer-based systems

53Spaghetti PlateSyndrome

NamedPipe

SC2 - Software Core for Computer-based systems

54Spaghetti PlateSyndrome

ReliableMulticast

SC2 - Software Core for Computer-based systems

55Spaghetti PlateSyndrome

Spaghetti Plate

SC2 - Software Core for Computer-based systems

56Spaghetti PlateSyndrome

Spaghetti Plate

System Architect

SC2 - Software Core for Computer-based systems

57Spaghetti PlateSyndrome

Spaghetti Plate

System ArchitectSystem Integrator

SC2 - Software Core for Computer-based systems

58

FlightManagement

Surveillance

ODSSup

Recording

Recording Surveillance

ODSSup

What We Want !

Seamless Integration

SC2 - Software Core for Computer-based systems

59Container Model

Technical Middleware (Framework)

SC2 - Software Core for Computer-based systems

60Container Model

Technical Middleware (Framework)

SC2 - Software Core for Computer-based systems

61Container Model

Technical Middleware (Framework)

ObjectIDL

SC2 - Software Core for Computer-based systems

62Container Model

Technical Middleware (Framework)

Container

ObjectIDL

SC2 - Software Core for Computer-based systems

63Container Model

Technical Middleware (Framework)

Container

Automaticallygenerated

Containerfrom Object IDL

ObjectIDL

SC2 - Software Core for Computer-based systems

64Container Model

Technical Middleware (Framework)

ContainerContainer

Automaticallygenerated

Containerfrom Object IDL

ObjectIDL

SC2 - Software Core for Computer-based systems

65Container Model

Technical Middleware (Framework)

ContainerContainerContainer

Automaticallygenerated

Containerfrom Object IDL

ObjectIDL

SC2 - Software Core for Computer-based systems

66Container Model

Technical Middleware (Framework)

ContainerContainerContainer

Automaticallygenerated

Containerfrom Object IDL

ObjectIDL

Generated Typed Local Interfaces

SC2 - Software Core for Computer-based systems

67Container Model

Technical Middleware (Framework)

ContainerContainerContainerContainer

Automaticallygenerated

Containerfrom Object IDL

ObjectIDL

Generated Typed Local Interfaces

SC2 - Software Core for Computer-based systems

68Container Model

Technical Middleware (Framework)

ContainerContainerContainerContainerContainer

Automaticallygenerated

Containerfrom Object IDL

ObjectIDL

Generated Typed Local Interfaces

SC2 - Software Core for Computer-based systems

69Container Model

Technical Middleware (Framework)

ContainerContainerContainerContainerContainer

Automaticallygenerated

Containerfrom Object IDL

ObjectIDL

Generated Typed Local Interfaces

Spaghetti Plate

SC2 - Software Core for Computer-based systems

70Component 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

71Component and CORBA object

A component is a deployable objet

Client Object Object

Object

Object

Provides

uses

As specified

SC2 - Software Core for Computer-based systems

72Component and object

A component is a deployable objet

Client Object ?

?

?

Provides

uses

As deployed

SC2 - Software Core for Computer-based systems

73Object Interface (IDL CORBA 2)

interfaces..

UsualCORBA object

SC2 - Software Core for Computer-based systems

74Component Interface (IDL CORBA 3)

Provides {interfaces..

}

UsualCORBA object

SC2 - Software Core for Computer-based systems

75

Provides {interfaces..

}

uses {interfaces..

}

Component Interface (IDL CORBA 3)

Connection toa Usual

CORBA Object

UsualCORBA object

SC2 - Software Core for Computer-based systems

76

Client Server

Server

Server

Provides Uses

Object

Object Composition

IDL

IDL CORBA 2IDL

IDL CORBA 2

IDL

IDL CORBA 2

SC2 - Software Core for Computer-based systems

77

IDL

IDL CORBA 2IDL

IDL CORBA 2

IDL

IDL CORBA 2

IDLIDL CORBA 3

Client Server

Server

Server

Provides Uses

Object

Object Composition

SC2 - Software Core for Computer-based systems

78

Client Server

Server

Server

Provides Uses

Object

Object CompositionIDL

Provides {interfaces..

}

uses {interfaces..

}

IDL CORBA 3

SC2 - Software Core for Computer-based systems

79CORBA Component Model (CCM)

� Extension to IDL (IDL2 Meta Type)

� «packaging» language

� Offered functionality (Server role)interfaces providedevents emitted

� Configuration attributes

� Define a component in terms of...

� Dependencies (Client role)distant interfaces requiredevents consumed

CCM IDL “IDL3”

SC2 - Software Core for Computer-based systems

80CCM : Code Generation

Compiler

Idl2

� An IDL2 interface

� Defining interface between component and container

� Middleware, Framework independent

Container

� Container code

� Provides the glue between application and infrastructure

“ IDL3” is parsed, producing :IDL3

SC2 - Software Core for Computer-based systems

81CORBA Component Model IDL

IDL3 provides :• logical architecture

• logical connectivity

• dependency visibility

SC2 - Software Core for Computer-based systems

82CORBA Component Model (CCM)

� 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.

CCM Container

SC2 - Software Core for Computer-based systems

83Component 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

84Component 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

85Component/Container interaction

Component interacts with container

SC2 - Software Core for Computer-based systems

86Component/Container interaction

Container interacts with other container

SC2 - Software Core for Computer-based systems

87Component/Container interaction

Components exchange information

SC2 - Software Core for Computer-based systems

88Component/Container interaction

Container interacts with Component

SC2 - Software Core for Computer-based systems

89Container Model

� Clear separation of � the application component

� the technical middleware

container protects the component

container offers simpleinterfaces to component

ComponentMiddleware

Infrastructurecontainer

SC2 - Software Core for Computer-based systems

90Container/Infrastructure interaction

Middleware (Infrastructure, Framework)

Container interacts with other container

SC2 - Software Core for Computer-based systems

91Container/Infrastructure interaction

Middleware (Infrastructure, Framework)

Container interacts with other container

Container interacts with other Container Through Infrastructure

Service

SC2 - Software Core for Computer-based systems

92Container/Infrastructure interaction

Middleware (Infrastructure, Framework)

Component interacts with container

SC2 - Software Core for Computer-based systems

93Container/Infrastructure interaction

Middleware (Infrastructure, Framework)

Component interacts with container

Components exchange information Through Infrastructure Service

SC2 - Software Core for Computer-based systems

94Component 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

95Container and object deployment

A component is a deployable objet

Client Object Object

Object

Object

Provides

uses

SC2 - Software Core for Computer-based systems

96Container and Object Deployment

03Client Objet O1 02

SC2 - Software Core for Computer-based systems

97

Spaghetti Plate

Container and Object Deployment

03Client Objet O1 02

SC2 - Software Core for Computer-based systems

98

Spaghetti Plate

Container and Object Deployment

03Container O1 02Client Objet

SC2 - Software Core for Computer-based systems

99Component 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

100Container and separation of concerns : without container

03Objet O1 02

BusinessCode

BusinessCode

TechnicalCode

TechnicalCode

TechnicalCode

SC2 - Software Core for Computer-based systems

101Container and separation of concerns : with container

03Container O1 02

BusinessCode

BusinessCode

TechnicalCode

TechnicalCode

TechnicalCode

Object

SC2 - Software Core for Computer-based systems

102

IHM Server ServerHMI ??? ?????

Container and separation of concerns : determinism

• Simplification of business coder’s work

• Automation of technical services: tracing, recording

=> Validation Determinism

Request (Data)

Reply

Trace (Data)

Trace (Data)

Record (Data)

Record (Data)

Request (Data)

Reply

Request (Data)

Reply

ServerContainer

HMIContainer

SC2 - Software Core for Computer-based systems

103Component 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

Container C

ontainer

Middleware services

Enterprise computing CCM container

BusinessApplication

Event Persistence Security Transaction

SC2 - Software Core for Computer-based systems

105

Container C

ontainer

Middleware services

Real Time computing CCM container

BusinessApplication

Tracing RecordingLoad

BalancingFault

Tolerance

SC2 - Software Core for Computer-based systems

106

Container C

ontainer

Middleware services

Extended Real Time computing CCM container

BusinessApplication

DDS ? ? ?

SC2 - Software Core for Computer-based systems

107Component 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

108Flexible Container Code Generation

Compiler

Idl2Container

IDL3

Template

TemplateDriven

Code generation

WrittenBy middleware

Experts

SC2 - Software Core for Computer-based systems

109Flexible Container Code Generation

Compiler

Idl2

IDL3

C++Template

C++Container

SC2 - Software Core for Computer-based systems

110Flexible Container Code Generation

Compiler

Idl2

IDL3

AdaTemplate

AdaContainer

SC2 - Software Core for Computer-based systems

111Flexible Container Code Generation

Compiler

Idl2

IDL3

ValidationTemplate

ValidationContainer

SC2 - Software Core for Computer-based systems

112Infrastructure Interchange

Validation Container

Validation Framework

Operational Container

Operational Framework

SC2 - Software Core for Computer-based systems

113Infrastructure Interchange

Validation Container

Validation Framework

Operational Container

Operational Framework

Validation template written by Validation experts

SC2 - Software Core for Computer-based systems

114Infrastructure Interchange

Validation Container

Validation Framework

Operational Container

Operational Framework

Operational template written by Validation experts

SC2 - Software Core for Computer-based systems

115System Design and Simulated validation

System Engineer,Architect

Simulation Tools

Design Model

Validation Container

MOF/XMI

Operational ContainerValidationPattern

SC2 - Software Core for Computer-based systems

116

BusinessModel

FunctionalModel

Non FunctionalModel

FunctionalSimulation

Results

Non FunctionalSimulation

Results

Container

= =

System

Deployment

System Design and Simulated validation

SC2 - Software Core for Computer-based systems

117Component 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

RealTime

LoadBalancing

EventsDDS

FaultTolerance

FaultTolerance

LoadBalancing

DDS

Component Based Middleware

Events

top related