Poseidon CORBA IDL Code Generation Plug-in Guide

» PDF PDF Version =>

General Rules

  • Everything is modeled using the standard UML 'Class' with an appropriate stereotype as defined by the UML Profile for CORBA
  • For details about modeling CORBA IDL, refer to the UML Profile for CORBA v1.0

CORBA Interface

  • Uses the standard UML 'Class' with the <<CORBAInterface>> stereotype
  • Interface member has to be 'public'

CORBA Value

  • Uses the standard UML 'Class' with the <<CORBAValue>> stereotype
  • Can only specialize one other concrete CORBA Value
  • CORBA Value can only have 'public' or 'private' attributes and navigable opposite association ends
  • CORBA Value's 'Factory' method is modeled using the <<CORBAValueFactory>> stereotype with an Operation
  • CORBA Value can have only 0 or 1 <<CORBAValueFactory>>-stereotyped operations
  • CORBA Value can only have 'public' operations

CORBA Struct

  • Uses the standard UML 'Class' with the <<CORBAStruct>> stereotype
  • CORBA Struct cannot participate in generalizations or specifications
  • CORBA Struct can have only 'public' attribute and navigable opposite association end of single multiplicity
  • CORBA Struct cannot have operations

CORBA Enum

  • Uses the standard UML 'Class' with the <<CORBAEnum>> stereotype
  • CORBA Enum cannot participate in generalizations or specifications
  • CORBA Enum can have only 'public' attributes
  • CORBA Enum cannot have navigable opposite association ends
  • CORBA Enum cannot have operations

CORBA Exception

  • Uses the standard UML 'Class' with the <<CORBAException>> stereotype
  • Due to current Poseidon limitations, CORBA Exception names must end in the string 'Exception'
  • CORBA Exception cannot participate in generalizations or specifications
  • CORBA Exception can have only 'public' attributes with single multiplicity
  • CORBA Exception cannot be an end of a navigable association end
  • CORBA Exception cannot have operations

CORBA Union

  • Uses the standard UML 'Class' with the <<CORBAUnion>> stereotype
  • CORBA Union cannot participate in generalizations or specifications
  • CORBA Union can not have operations
  • There are two ways to model CORBA Union as specified in UML Profile for CORBA:
    • Using a composition relationship that points to a 'switcher' and has the <<switchEnd>> stereotype. Every attribute must have a tagged value with 'Case' as the key and the switch condition as the value.
    • Using an attribute with the <<switch>> stereotype attribute acting as the 'switcher' in conjunction with a composition relationship. The navigable opposite association ends must have tagged values with 'Case' as the key and the switch condition as the value.

Please see the UML Profile for CORBA v1.0 §3.5.15 for more details.



© 2000 - 2010 Gentleware AG
         
                        
 support  documentation  corba