22
Luigi Briguglio luigi.briguglio@eng .it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Best Practices in CBSE Report from the ECO-ADM project Report from the ECO-ADM project Extended Component Architecture Design and Extended Component Architecture Design and Maintenance Maintenance IST PROGRAMME 1999-20771 IST PROGRAMME 1999-20771 Marcel Ubach [email protected]

Luigi Briguglio [email protected] Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

Embed Size (px)

Citation preview

Page 1: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

Luigi [email protected]

Fourth Workshop 19-21 November 2003, London

Best Practices in CBSEBest Practices in CBSEReport from the ECO-ADM projectReport from the ECO-ADM projectExtended Component Architecture Design and MaintenanceExtended Component Architecture Design and MaintenanceIST PROGRAMME 1999-20771IST PROGRAMME 1999-20771

Marcel [email protected]

Page 2: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 2

Presentation Plan

ECO-ADM Project OverviewECO-ADM Project Overview ECO-ADM Best Practices ManualECO-ADM Best Practices Manual Case Study: Remote BackupCase Study: Remote Backup Future WorksFuture Works ConclusionsConclusions

Page 3: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 3

ECO-ADM Project OverviewCOTS-based Software Development

COTS A COTS Bconnector

Applications can be developed from a set of reusable COTSCOTS componentscomponents assembled for the specific needs of the application by means of connectorsconnectors

Assembling existing components, providing specific functionalities, in new and different ways raises two main issues:

RetrievalRetrieval of suitable components; OvercomingOvercoming potential mismatchesmismatches between components

Page 4: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 4

ECO-ADM Project OverviewCADL – Component Architecture Description Language

Use of CADLCADL (Component Architecture Description Language) for describing componentscomponents and their compositioncomposition.

CADLCADL is specifically intended to provide mechanisms for: mapping requirementsrequirements to component architectures; designingdesigning and verifyingverifying component architectures; searching and verifying plug-compatibleplug-compatible components; mediating and validating component changechange.

Page 5: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 5

ECO-ADM Project OverviewAbstract & Concrete Components

Concrete ComponentsConcrete Components CADL descriptions of software artefacts

Abstract ComponentsAbstract Components CADL descriptions of software artefacts abstracting technology-

specific aspects

Concrete SW artefactAbstract

COTS<concrete>

COTS<concrete>

Page 6: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 6

ECO-ADM Project OverviewCOMPOSE Methodology and RDCIM model

M1.0

D

C1

I1

C2

I2 I3

M2.0

M1.1

Verification Negotiate

Define system requirements

Design system architecture

Compose system

-Elicit requirements -Scope requirements -Model requirements

-Design abstract architecture

-Partition/assign requirements -Analyse architecture

Dev

elop

men

t -Establish availability of COTS software

-Establish viability of COTS-based solution

-Perform regression testing

-Test COTS software

-Test subsystem assembly

-Perform non-functional testing M

anagem

ent

-Replace abstract component

-Define connector

Plan

Negotiation and planning

[G. Kotonya et al. “A Method for Component-based Software Development”]

R

Page 7: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 7

ECO-ADM Best Practices Manual

Classification Items Architecture Patterns Requirements Designing System Architecture Composition Management Verification Process Support Tool

message of slideIf you are interested to one of these items we invite you to:•read Best Practices Manual•visit ECO-ADM web-sitehttp://ecoadm.ccs.biz

Page 8: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 8

ECO-ADM Best Practices Manual

DD

CC II MM

RR

Page 9: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 9

ECO-ADM Best Practices ManualManaging Components

ECO-ADM RepositoryECO-ADM Repository

ECO-ADMCOMPOSERECO-ADM

COMPOSERECO-ADMDESIGNERECO-ADMDESIGNER

COTS ComponentsCOTS Components

jar

.war.cab

.tgz

ECO-ADMAdminTools

<Concrete>

ConcreteArchitecture

(CADL)

ConcreteArchitecture

(CADL)

D

AbstractArchitecture

(CADL)

AbstractArchitecture

(CADL)

C

Page 10: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 10

ECO-ADM Best Practices ManualConnector Model - 1

“A link that enables communication between two or more instances. The link may be realized by something as simple as a pointer or by something as complex as a network connection.”

[UML 2.0 Superstructure Specifications (August 2003)]

COTS A COTS Bconnector

““D230-Composer Specifications v.1.0” (July 2001D230-Composer Specifications v.1.0” (July 2001))

Page 11: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 11

ECO-ADM Best Practices ManualConnector Model - 2

Glue Code

Role A Role B

Communication Model

Data Link Layer

Physical Layer

Template GeneratorTemplate Generator

Glue Code

ECO-ADM RepositoryECO-ADM Repository

Glue CodeTemplateGlue CodeTemplate

Plug-compatibility

ConnectorTypeAB

PortTypeA

RoleTypeA

RoleType B

PortTypeB

Connector Structure

Filtering Queuing Mapping Routing

Page 12: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 12

ECO-ADM Best Practices ManualManaging Complex Design with Layers

Layers: Reducing Complexity of Design

Containers:Promoting Component Type

Page 13: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 13

ECO-ADM Best Practices ManualManaging Complex Design with Layers: Example!

Without Layering (only 14 components!)

With Layering

Page 14: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 14

ECO-ADM Best Practices ManualModelling Integration: Client-Server Model

Page 15: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 15

ECO-ADM Best Practices ManualModelling Web Application

Page 16: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 16

ECO-ADM Best Practices ManualModelling Web Application

Web Connection – HTTP Comm. ChannelWeb Connection – HTTP Comm. Channel

OS - WebClientOS - WebClient OS - WebServerOS - WebServer

WebBrowserWebBrowser WebServerWebServer

WebContainerWebContainer

Script EngineScript Engine

DataSourceDataSource

ContentContent

DataDataConnectionConnection

SCRIPTSCRIPT

Page 17: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 17

ECO-ADM Best Practices ManualModelling Web Application

DD

C1C1 C2C2

Replacement operation

Page 18: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 18

Case StudyRemote Backup

Time is TyranSo we’ll focus on…

RequirementsRequirements Verify Constraints Verify Constraints LayeringLayering ContainerContainer PatternPattern CommunicationCommunication ReplacementReplacement Impact AnalysisImpact Analysis

Page 19: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 19

ECO-ADM Web-Site

http://ecoadm.ccs.biz

•Documentation•Tutorials•Papers•Demo•Downloads

Page 20: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 20

Future Works

Optimise the process to define an abstract design from a abstract design from a set of requirementsset of requirements, using containers and patterns

Extension to Web ServicesWeb Services Integration with external::

Tools supporting UML diagrams; Repository; Tools supporting code generation.

Page 21: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 21

Conclusions

CADL supports Component Architecture DesignCADL supports Component Architecture Design Abstract & Concrete ComponentsAbstract & Concrete Components Connector & Glue Code StructureConnector & Glue Code Structure Layers, Containers & PatternsLayers, Containers & Patterns Requirements & Impact AnalysisRequirements & Impact Analysis

Page 22: Luigi Briguglio luigi.briguglio@eng.it Fourth Workshop 19-21 November 2003, London Best Practices in CBSE Report from the ECO-ADM project Extended Component

L.Briguglio and M.Ubach, CBSEnet 4° Workshop – 20 November 2003, London Slide 22

THANK YOU !!!

We invite you to visit ECO-ADM web-site:

http://ecoadm.ccs.biz

Luigi [email protected]

Marcel Ubach [email protected]

Contacts