uml profile for corba components - object management … · metamodel concepts using uml extension...

21
Third Workshop on UML for Enterprise Applications, October 2002 UML Profile for CORBA Components Dr. Marc Born, Julia Reznik Fraunhofer Fokus {born, reznik}@fokus.fhg.de

Upload: lamtruc

Post on 17-Apr-2018

250 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

Third Workshop on UML for Enterprise Applications, October 2002

UML Profile forCORBA Components

Dr. Marc Born, Julia Reznik

Fraunhofer Fokus{born, reznik}@fokus.fhg.de

Page 2: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

2Third Workshop on UML for Enterprise Applications, October 2002

What‘s it about?

• It’s about Model Driven Architecture…

• It’s about the UML Profile for EDOC …• It’s about the CORBA Components …• It’s about the UML Profile for the CORBA Components …• It’s about the application of the UML Profile for the CORBA

Components …• At the end…

Page 3: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

3Third Workshop on UML for Enterprise Applications, October 2002

It’s about Model Driven Architecture…

• Model Driven Architecture (MDA) is the new OMG basic architecture (first announced Nov 2000)

• MDA extends the OMA (Object Management Architecture) by integrating modeling standards

• MDA defines an approach to separate system functionality specification from specification of implementation of that functionality on a specific platform

• MDA basic terms– Model– Specification– Platform

Page 4: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

4Third Workshop on UML for Enterprise Applications, October 2002

MDA Ingredients

• Meta Object Facility– Foundation for OMG Metadata and Modeling architecture

• XML Metadata Interchange (XMI)– Use W3C Extensible Markup Language (XML) for the transfer

syntax and interchange format for models• Unified Modeling Language

– The UML is a graphical language for specifying, visualizing, constructing, documenting the artifacts of software systems

• Platforms and Mappings– CORBA, CORBA Component Model, .NET, J2EE

Page 5: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

5Third Workshop on UML for Enterprise Applications, October 2002

Models, Platforms, Mappings and Repositories

<<realize>>

enterprise specificconfiguration

OMG domain modelsEnterprise models

Artifacts for CORBA, CCM,COM/Net,J2EE/EJB…

modelrepositories

configuration

Platform Independent Model (PIM)

Platform Specific Model (PSM)

Enterprise Deployment Model (EDM)

maps

maps

maps

Page 6: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

6Third Workshop on UML for Enterprise Applications, October 2002

It’s about the UML Profile for EDOC …

• EDOC - Enterprise Distributed Object Computing• A modeling framework for the development of component

based systems• Standard in the context of a MDA and based on UML 1.4• Mappable to different platforms (UML Profiles)

TRANSFORMATION RULES

Entreprise DistributedObject Computing

(EDOC)

CORBA 2 J2EE/EJB

…COM/Net

UML Profiles

CORBA Components

Page 7: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

7Third Workshop on UML for Enterprise Applications, October 2002

It’s about the CORBA Components …

• CORBA Components or CORBA Component Model (CCM) is the component infrastructure based on CORBA 2x

• CCM extends CORBA IDL modeling concepts– Component IDL (extended concepts for component modeling)– Component Implementation Framework (concepts for modeling a

component implementation

– Packaging & Deployment• CCM comes with programming model

– Container architecture

attributes

facets

component facet receptacles

event source

event sink

Page 8: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

8Third Workshop on UML for Enterprise Applications, October 2002

It’s about the UML Profile for the CORBA Components …

• Graphical modeling support for the existing CCM metamodel concepts using UML Extension mechanisms:- Stereotypes: Sub-classifications of an existing UML element- Tagged Values: new kinds of properties that may be attached to

model elements- Constrains: Conditions and restrictions, that apply to model

elements• MDA development environments can target different up-to-

date component platforms.• The UML profile for CORBA is extended to allow the

modeling of additional concepts of IDL 3.0 and Component IDL (CIDL)

• Interoperability between various analysis and design tools is ensured

Page 9: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

9Third Workshop on UML for Enterprise Applications, October 2002

UML Profile for CORBA Components: Stereotypes (1)

Stereotype UML Construct Description

<<CORBAComponent>> Class Indicates the class represents a CORBA component.

<<CORBAInterface>> Class Indicates the class represents a CORBA Interface that can be provided or used from CORBA components.

<<CORBAEvent>> ClassIndicates the class represents a CORBA Event that can be published or emitted to components, or consumed from components.

<<CORBAStream>> Class Indicates the class represents a CORBA Stream Type.

<<CORBAHome>> ClassIndicates the class represents a component Home, meta-type that acts as a manager for instances of a specified component type.

<<CORBAEmits>> Association Indicates the association represents a CORBA event-emitting side of an event connection relationship.

Page 10: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

10Third Workshop on UML for Enterprise Applications, October 2002

UML Profile for CORBA Components: Stereotypes (2)

Stereotype UML Construct Description

<<CORBAPublishes>> Association Indicates the association represents a CORBA event-publishing side of an event connection relationship.

<<CORBAConsumes>> Association Indicates the association represents a CORBA event-consuming side of an event connection relationship.

<<CORBAProvides>> AssociationIndicates the association represents a CORBA interface-providing side of a connection between an interface and component.

<<CORBAUses>> AssociationIndicates the association represents a CORBA interface-using side of a connection between an interface and component.

Page 11: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

11Third Workshop on UML for Enterprise Applications, October 2002

UML Profile for CORBA Components: Stereotypes (3)

<<CORBASink>> AssociationIndicates the association represents a CORBA stream-sinking side of a stream-based connection between components.

<<CORBASource>> AssociationIndicates the association represents a CORBA stream-sourcing side of a stream-based connection between components.

<<CORBASinkSource>> AssociationIndicates the association represents a CORBA sinking-sourcing side of a stream-based connection between components.

<<CORBAFinder>> Operation

Indicates the operation represents a CORBA finder operation for obtaining homes for particular component types, of particularly home types, or homes that are bound to specific names in a naming service.

Stereotype UML Construct Description

Page 12: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

12Third Workshop on UML for Enterprise Applications, October 2002

UML Profile for CORBA Components: Stereotypes (4)

Stereotype UML Construct Description

<<CORBAFactory>> OperationIndicates the operation represents a CORBA factory operation for creating and destroying a component instance.

<<CORBAComposition>> Package Indicates the package represents a CORBA Composition what is a unit of a CORBA component implementation.

<<CORBAHomeExecuter>> Class Indicates the class represents a CORBA Home Implementation.

<<CORBAImplements>> AssociationIndicates the association represents a CORBA relationship between the executor and the component, or home executor and component home.

Page 13: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

13Third Workshop on UML for Enterprise Applications, October 2002

UML Profile for CORBA Components: Stereotypes (5)

Stereotype UML Construct Description

<<CORBAManages>> AssociationIndicates the association represents a CORBA relationship between the home and the home executer, or component and component home.

<<CORBAExecuter>> Class Indicates the class represents a CORBA component executor.

<<CORBASegment>> ClassIndicates the class represents a CORBA segmented implementation structure for a component implementation.

<<CORBAArtifact>> ClassIndicates the class represents a CORBA Artifact that can be used for modeling abstractions from programming language constructs like classes.

Page 14: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

14Third Workshop on UML for Enterprise Applications, October 2002

UML Profile for CORBA Components: Stereotypes (6)

<<CORBAEnum>> Class Indicates that the class represents a CORBA Enumeration Type.

<<CORBAExeption>> Class Indicates that the class represents a CORBA Exception.

<<CORBAModule>> Subsystem Indicates a package is a CORBA Module, as opposed to a logical abstraction.

Stereotype UML Construct Description

Page 15: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

15Third Workshop on UML for Enterprise Applications, October 2002

UML Profile for CORBA Components: Tagged Values (1)

Applies to: Property Definition Value Definition

Class:<<CORBAComponent>>

ContainerType “Transient”, “Persistent”

ContainerImplType “Stateless“, “Conversational“, “Durable“

ServantLifetimePolicy “Method”, “Transaction”, “Component”, “Container“

TransactionPolicy “NOT_SUPPORTED”, “REQUIRED”, “SUPPORTS”, “REQUIRES_NEW”, “MANDATORY”, “NEVER”

SecurityPolicy User specific

EventPolicy “Normal”, “Default”, “Transaction”

PersistenceMechanism “CORBA”, “User”

Page 16: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

16Third Workshop on UML for Enterprise Applications, October 2002

UML Profile for CORBA Components: Tagged Values (2)

Applies to: Property Definition Value Definition

Package <<CORBAComposition>> Category

“entity”•persistent state•identity.

“process”•persistent state •persistent identity •behavior

“service”•no state•no identity•behavior.“session”•transient state•identity which is not persistent•behavior.

Page 17: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

17Third Workshop on UML for Enterprise Applications, October 2002

It’s about the application of the UML Profile for the CORBA Components …

• RIN System – Resource Information Network System- is supposed to answer demands for an increased resource-

awareness of today’s applications, e.g. in the deployment process of CORBA-Components

- consists of RIN-Client, RIN-Server and RIN-PlugIn- XML strings as a system interchange format between RIN-Client,

RIN-Server and RIN-PlugIn

Net

RIN-Server 2

RIN-Client

RIN-Server 1RIN-PlugIn

RIN-PlugIn

Page 18: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

18Third Workshop on UML for Enterprise Applications, October 2002

RIN System: Components and their interfaces

RINClient<<CORBAComponent>>

RINSystemPlugIn<<CORBAComponent>>

RINServerCallBack<<CORBAInterface>>

rin_callb_plugin<<CORBAUses>>

RINServerAccess<<CORBAInterface>>

rin_serv<<CORBAUses>>

RINClientCallBack<<CORBAInterface>>

rin_callb_serv<<CORBAProvides>>

RINSystem<<CORBAInterface>>

rin_sys_plugin<<CORBAProvides>>

RINServer<<CORBAComponent>>

rin_callb_plugin<<CORBAProvides>>

rin_serv<<CORBAProvides>>

rin_callb_serv<<CORBAUses>>

rin_sys_plugin<<CORBAUses>>

Page 19: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

19Third Workshop on UML for Enterprise Applications, October 2002

RIN System: Components and their compositions

• Composition - unit of component implementation

• A composition definition specifies the following elements:- Component home- Home executer- Component executer- Component

Client_compo<<CORBAComposition>>

Server_compo<<CORBAComposition>>

Plugin_compo<<CORBAComposition>>

Page 20: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

20Third Workshop on UML for Enterprise Applications, October 2002

RIN System: Composition description of Client_compo

• Composition - unit of component implementation

Client_compo<<CORBAComposition>>

home executor RINClientHome_exec {implements RINClientHome;manages RINClient_exec; };

CIDL

RINServerHome<<CORBAHome>>

RINServer<<CORBAComponent>>

RINServerHome_exec<<CORBAHomeExecuter>>

RINServer_exec<<CORBACompImpl>>

server_home_impl<<CORBAImplements>>

server_comp_impl<<CORBAImplements>>

server_exec<<CORBAManages>>

server_home_exec<<CORBAManages>>

Page 21: UML Profile for CORBA Components - Object Management … · metamodel concepts using UML Extension mechanisms: ... Indicates the association represents a CORBA sinking-sourcing side

21Third Workshop on UML for Enterprise Applications, October 2002

At the end ...

• Graphical support for CORBA Components in form of UML Profiles

• New component models could be designed with MDA and mapped to CCM

• Possibility to automatic generation of CIDL- and Deployment-XML Specifications for the Deployment process

• Transformation rules should be defined to declare how EDOC specifications can be transformed to CCM specifications