Model-driven development of recursive CORBA component assemblies

Share Embed


Descripción

30th EUROMICRO CONFERENCE Rennes, September 1st-3rd, 2004

COMPONENT-BASED SOFTWARE ENGINEERING

Model-Driven Development of Recursive CORBA Component Assemblies Gernot Schmoelzer, Egon Teiniker, Stefan Mitterdorfer, Christian Kreiner, Zsolt Kovacs, Reinhold Weiss

Institute for Technical Informatics Graz University of Technology AUSTRIA

Overview • • • • • • • •

Motivation Related Work Component Modeling Component Development Process CCM Metamodel Extension Transformation Process Example Implementation Conclusion and Future Work

Institute for Technical Informatics Graz University of Technology

http://www.iti.tu-graz.ac.at

Motivation • Requirements for CBD – Granularity of Components – Encapsulation and Abstraction – MDA Approach – Extensibility Mechanism – Use of standards

Institute for Technical Informatics Graz University of Technology

http://www.iti.tu-graz.ac.at

Motivation • Requirements for CBD – – – –

Granularity of Components Encapsulation and Abstraction MDA Approach Extensibility Mechanism

• Solution – Hierarchical Component Composition – Modeling Process according to MDA – CCM Implementation

Institute for Technical Informatics Graz University of Technology

http://www.iti.tu-graz.ac.at

Related Work - MDA

Business model

PSM

Platform−independent Components Platform−specific Components

Institute for Technical Informatics Graz University of Technology

Cross−model Refinement

PIM

MDA Layers

http://www.iti.tu-graz.ac.at

Related Work – Component Modeling UML 1.4 • Component Diagram • Deployment Diagram

+f1

+f1

C1

C2 +f2

+f2

I1

+r1

+r1

I6 I3 +f2

• Possible: – components, dependencies, compositions, etc.

I4 +r1 +f3

+f1

+r2

I2

I7

I5

• Difficult:

C3

– provided vs. required interfaces – external/internal parts and relationships – component attribute definition Institute for Technical Informatics Graz University of Technology

C1

C2

http://www.iti.tu-graz.ac.at

Related Work – Component Modeling UML 2.0 I1

• Composite Structure D. • Component Diagram

I2

I4

C1

I5

I6

I2

I3

C2

I7

I4

• Possible: – external and internal structure of classifier – external and internal relationships

Institute for Technical Informatics Graz University of Technology

I1

C3

I1 :C1

I2 I3

I6

I4

I6

:C2

http://www.iti.tu-graz.ac.at

I3

Component Development Process PIM UML 2.0 Model

Model Transformations:

t1

t2 UML 1.4 Model (CCM Profile)

Extended CCM Model

PSM

t3

t2: ext. CCM → UML 1.4

XML CAD

IDL

t1: UML 2 → ext. CCM

Model Implementation Home

Home

Component

Component

t3: ext. CCM → IDL / XML

Home Component

Home Component

Component Assembly

Institute for Technical Informatics Graz University of Technology

http://www.iti.tu-graz.ac.at

CCM Metamodel Extensions Interface Connector: • connecting one receptacle with one or more facets

Delegation Connector:

CCM_Metamodel

• connecting either multiple facets or multiple receptacles

ComponentDef

ConnectorKind 1

ExtComponentDef

+DelegationConnector +InterfaceConnector

+isInstance : boolean * +members

1

1

+component +ends

* ConnectorEndDef +ifaceName : String +navigable : boolean

+ends

+connectorKind

1 ConnectorDef

+connector ...

2..*

Institute for Technical Informatics Graz University of Technology

1

http://www.iti.tu-graz.ac.at

Model Transformation: UML 2 → ext. CCM

UML2_Metamodel *

0..1 Component

*

*

0..1 +ownedAttribute 0..1 +part * 0..1

+provided

+required

+definingEnd Property 0..1

+opposite 2..* * +ownedEnd0..1 +memberEnd +owningAssociation 0..1 0..1 +association

ExtCCM_Metamodel represents ProvidesDef

Interface

represents represents represents

Association

+required *

0..1 +type *

+provided +ownedConnector

* Connector

*1

+facet +component

1

*

+end 2..* 1 +ownedPort

Port

*

+end * +role 0..1 * * +redefinedPort

* +members

1

Institute for Technical Informatics Graz University of Technology

ConnectorEndDef

*

+component +receptacle

ConnectorEnd *

+ends

+component

* *

1

ExtComponentDef

+ends 2..* +connector 1

* UsesDef

ConnectorDef

http://www.iti.tu-graz.ac.at

Transformation Process Example UML 2.0

UML 1.4 – CCM Profile

C2 I1

1

1 C1

+facetA

:C1

I2

+recA

I2

1

I2



1

I1

I1

1

+facetB 1 C2

1

1

+facetB

1

+recB

1

+facetA

1

+recA

1

+recB



I4





:C1

Institute for Technical Informatics Graz University of Technology

http://www.iti.tu-graz.ac.at

Implementation Model I1

f1

I4

f2 C1

I5

I2

f3

I6

I2

r1

Component IDL Definition f1 C2 f2

r1

I3

r2

I7

I4

I1

f1

I1

C3 f1 :C1

I2 r1

I6

f2

f1 I4

I3

r1

:C2 r1

I6 f2

Institute for Technical Informatics Graz University of Technology

Component C1 { provides I1 f1; provides I4 f2; provides I5 f3; uses I2 r1 }

Component C2 { provides I2 f1; provides I6 f2; uses I3 r1; uses I7 r2 }

Component C3 { provides I1 f1; provides I6 f2; I3 provides I3 f3; // private port uses I3 r1; uses I1 r2; // private port uses I6 r3; // private port } http://www.iti.tu-graz.ac.at

Implementation Model I1

f1

I4

f2 C1

I5

I2

f3

I6

I2

r1 I4

I1

f1

I1 f1 :C1

I2 r1

I6

f2

I4

I6

Component Assembly Descriptor (XML)

f1 … I3 C2 r1 f2 r1 I7 r2 r1 C3 f1 f1 f1 I3 I3 r1 :C2 r1 f2 … …

Institute for Technical Informatics Graz University of Technology

http://www.iti.tu-graz.ac.at

Component Assembly Implementation UML 2.0 Model

Assembly Configuration Assembly Manager

I1

C3 Home

I2

I4

C1

I5

I6

I2

C1 Home

C2 Home

I3

C2

I7

I1

:C3_AssyMgr

I4

I1 I1

I4

C3

I1

I4

I6 :C1

:C3

I2 I3

I6

I4

I6

I3

I3

:C1

I2

I5 I6

:C2

I4

I3

:C2

I7

Public ports Private ports

Institute for Technical Informatics Graz University of Technology

http://www.iti.tu-graz.ac.at

Component Assembly Implementation Sequence Diagram Client

C3

Assembly

C1

C2

1: create 2: build 3: create 4: create 5: provide_I3 6: provide_I1 7: provide_I2 8: provide_I6 9: connect_I1 10: connect_I6 11: connect_I2 12: connect_I3

Institute for Technical Informatics Graz University of Technology

http://www.iti.tu-graz.ac.at

Results C2

– Reusability and extension mechanism • wrapping reusable components • adding additional functionality

C1

– Continous test-concept • reusing test cases (mirror components) • adding additional functionality

Institute for Technical Informatics Graz University of Technology

C2 C1

C2 C1

http://www.iti.tu-graz.ac.at

Results – Reduce of complexity • hiding complex compontent interconnections • automatic assembling • different roles in the development process require different abstraction levels C3 C1 C2

Institute for Technical Informatics Graz University of Technology

http://www.iti.tu-graz.ac.at

Conclusion and Future Work • Conclusion – Approach of modeling recursive component compositions in UML 2.0 (PIM) – Mapping of UML 2.0 modeling constructs to CCM Profile (PSM) – Implementation

• Future Work – Use in large business applications – Applying the concept to local/remote components (http://ccmtools.sourceforge.net) – Dynamic assembling – Deployment and Configuration Institute for Technical Informatics Graz University of Technology

http://www.iti.tu-graz.ac.at

Discussion

Thank You!

Institute for Technical Informatics Graz University of Technology

http://www.iti.tu-graz.ac.at

Model Transformation: ext. CCM → UML 1.4 CCM_Metamodel 1

CCM_Profile represents

ExtComponentDef

CCMConnect

-isInstance : boolean * +members

1 +component

CCMDelegate

* +ends ConnectorEndDef +ifaceName : String +navigable : boolean 2..*

+ends

+connector 1 ConnectorDef +connectorKind : ConnectorKind

Institute for Technical Informatics Graz University of Technology

CCMComponent



UML Association

http://www.iti.tu-graz.ac.at

Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.