Upload
bernard-potter
View
212
Download
0
Embed Size (px)
Citation preview
1
Tools for Commercial Component Assembly
Francis Bordeleau, Zeligsoft/Carleton University
Mark Vigder, National Research Council Canada
2
Context: Component-Based Distributed Applications
Application Engineer
Target-independent Component Assembly
Implementations
A2A6
A5
A3 A4
A1
Platform 1
Node1Node2
Deployment 1
Platform 2
Node2
Node1
Node4
Deployment 3
Node3
Node1Node2
Deployment 2
Application C1C1
C3C3 C4C4
C2C2
A1A6
A5A3
A2A6
A5A3
A1A4
A5A3
A1A4
A5 A3A2
A6A5
A3
A1
A6
A5
A3
3
Roles for Component-Based Application Engineering
Application Engineer(COTS
Component)
Target-independent Component Assembly
Implementations
A2A6
A5
A3A4
A1
Platform 1
Node1Node2
Deployment 1
Platform 2
Node2
Node1
Node4
Deployment 3
Node3
Node1Node2
Deployment 2
C1C1
C3C3 C4C4
C2C2
A1A6
A5A3
A2A6
A5A3
A1A4
A5A3
A1A4
A5 A3A2
A6A5
A3
A1
A6
A5
A3
COTSComponent Implementer
Application Deployer
4
Component elements
C1C1
C3C3 C4C4
C2C2
Components consist of: Interface
–Inputs, outputs, ports, attributes Configuration options
–Local tailoring
Provided by COTS component implementer:
Implementation(s)–One or more implementations per component, possibly from different vendors
Deployment requirements/constraints–Platform, environment, etc.
Implementations
A6A5
A3 A4A2
A1
5
COTS Component Market Requirements
Developing a viable COTS component market requires two key aspects to be addressed:
1. Component• Industry agreed interfaces (APIs, protocols, configurations)• Industry standards for describing components and component
artefacts
2. Deployment framework• Infrastructure services• Management of deployment, runtime components, etc.• Industry standards for describing platforms
• Descriptor files required for:• Application/component• Deployment platform• Deployment plan
6
Problem: Descriptor Generation
Application Engineer
Component-Based Application
Application
C1C1
C3C3 C4C4
C2C2
Descriptor Files (XML)
• Conventional UML tools
• VISIO
Manual
• Labor intensive
• Error prone
Validation ?
7
Currently
To build a new application, an Application Engineer must:
• Assemble and configure components • Validate component configurations and assemblies• Create the descriptor files to deploy• Validate the descriptor files
Issues• The work is very labor intensive and error prone• It requires highly-skilled engineers• As the number of components and application complexity increase,
application maintenance will become extremely difficult and costly
8
Solution: Automatic generation and validation
Application Engineer
Component-Based Application
Application
C1C1
C3C3 C4C4
C2C2
Descriptor Files (XML)
Validation?
Automated
9
Industry Standards
Deployment and Configuration Standards are defined within the context of a component framework:
• J2EE and .NET• CORBA Component Model• OMG Deployment and Configuration Standard• Domain specific standards
• Software Defined Radio (SCA)• Automotive Open System Architecture (AUTOSAR)
10
Questions
•Technical issues?• Definition of concrete deployment platforms• Appropriate Deployment and Configuration standards
•Business issues?• Industry buy-in• Standards processes
•Development approaches?• UML and MDA• Tool support