Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

JOSIF Main Page | Framework Guidebook | Modeling | Interface Meta-Model

Table of Contents
outlinetrue
indent20px
stylenone
printablefalse

Introduction

JOSIF interface specifications include data and operation aspects.

...

The different meta-model objects related to the Information Model are described in this section.

ABE (Aggregated Business Entity)

A ABE or Aggregated Business Entity is the grouping mechanism used in SID. The properties of an ABE are high cohesion within the ABE and loose coupling among ABEs.

...

and the one below the structure of the same packages as implementation packages in Tigerstripe

Modeling Rules

Use all the SID patterns defined in Appendix 2 of the SID Model: Addendum 0 – SID Primer.

...

  • No multiple inheritance, not supported at implementation level.
  • All attributes should have a data type

    Panel

    Only diagrams in “figure” folders, marked*doNotImplement. Same for instances or examples.

  • No operations on entities. This is only part of the Operational Model, described later and defined in Tigerstripe.
  • Associations should be navigable in at least one direction.
  • Associations should have names and association roles should also have names, as those names will be used as attribute names if the association is navigable.
  • Avoid special characters in names and description, like <, &... Use plain text for all descriptions.
  • Avoid nested classes.

UML 2.0 adds “pointer” attributes in both entities when adding a bidirectional association this means that cross ABE associations must be closely managed.

Entity

TIP calls for each of the components to be managed within the OSS/BSS application to be modeled as an entity; entities (instances) are classified into entity types (classes).

...

    • RSM: maps to Documentation
    • Tigerstripe : maps to Description

      Panel

      *inherits_from : indicates this entity class extends or inherits from another one.

    • RSM: corresponds to a Generalization association
    • Tigerstripe: maps to Extends

      Panel

      *isAbstract : indicates that this entity class is abstract, i.e. cannot be instantiated.

    • RSM: maps to Abstract checkbox
    • Tigerstripe: maps to isAbstract checkbox

      Panel

      *objectCreationNotification : Indicates of an Object Creation Notification should be generated. This is mapped to the attribute objectCreationNotification of the tipClass stereotype.
      *objectDeletionNotification : Indicates of an Object Deletion Notification should be generated. This is mapped to the attribute objectDeletionNotification of the tipClass stereotype.
      *objectDiscoveryNotification : Indicates of a Discovery Notification should be generated. This is mapped to the attribute objectDiscoveryNotification of the tipClass stereotype.
      *support : Indicates whether the identified entity must be represented in TIP interface or not. If the entity is required to be represented in all cases then the value should be set to "M" (Mandatory) otherwise it should be set to "O" (Optional) indicating that a choice will be made on some other basis at some other point in the process. This is mapped to the attribute support of the tipClass stereotype.

Attribute

An attribute represents some characteristic of an object type.

...

    • RSM: maps to Documentation
    • Tigerstripe : maps to Description

      Panel

      *readOnly : indicates the attribute is read-only, i.e. cannot be set.

    • RSM: Read Only is a checkbox in the "Qualifiers" group.
    • Tigerstripe: present as a checkbox.

      Panel

      *isInvariant : Indicates if the attribute is invariant. This is mapped to the attribute isInvariant of the tipAttribute stereotype.
      *multiplicity : multiplicity of the attribute. Defined as Multiplicity for both RSM and Tigerstripe. The possible values are

    • 1
    • 0 to 1 (0..1)
    • N (0..N)
    • 1 to N (1..N)

      Panel

      *defaultValue : Indicates the default value of the attribute. When a default value is defined, the "creator" do not have to provide a value.
      *ordered : Applicable for list of attributes (multiplicity of N or 1 to N). Indicates if the values of this attribute are ordered.

    • RSM: Ordered is a checkbox in the "Qualifiers" group.
    • Tigerstripe: Ordered present as a checkbox if the multiplicity is multiple.

      Panel

      *unique: for a multi-valued multiplicity, this specifies whether the values in an instantiation of this attribute are unique (i.e., no duplicate attribute values are allowed); a set has unique values, while a bag can have non unique values. A sequence has both ordered and unique values.
      *notificationDefinition : Indicates if a common notification (AVC) will be generated for this object. Default value is false, meaning no notification generated. This is mapped to the attribute notificationDefinition of the tipAttribute stereotype.
      *passedById : Applicable when the datatype of the attribute is an Entity.

      Indicated if this entity is passed by value (False) or by Id (true). This is mapped to the attribute passedById of the tipAttribute stereotype.

      Panel

      *support : Indicates whether the identified attribute must be represented in TIP interface or not. If the attribute is required to be represented in all cases then the value should be set to "M" (Mandatory) otherwise it should be set to "O" (Optional) indicating that a choice will be made on some other basis at some other point in the process. This is mapped to the attribute support of the tipAttribute stereotype.

Datatype

Datatypes are usually complex components designed to become attributes of entities.

...

A complex datatype includes attributes. However, a datatype is completely different from an entity as it does not have any lifecycle, nor can it be used as basis for notifications. It is simply carrying data.

Association

Associations are characterized by their cardinality and the roles at each association end.

...

    • RSM: maps to Documentation
    • Tigerstripe : maps to Description

      Panel

      *inherits_from : indicates this association extends or inherits from another one.

    • RSM: corresponds to a Generalization association
    • Tigerstripe: maps to Extends

Association Class

An Association Class has all the characteristics of an Association with the addition of the support of attributes.
From a meta-model point of view, an Association Class extends an Association.

...

    • RSM: maps to Documentation
    • Tigerstripe : maps to Description

      Panel

      *inherits_from : (Inherited from Association) indicates this association class extends or inherits from another one.

    • RSM: corresponds to a Generalization association
    • Tigerstripe: maps to Extends

      Panel

      *support : Indicates whether the identified association class must be represented in TIP interface or not. If the association class is required to be represented in all cases then the value should be set to "M" (Mandatory) otherwise it should be set to "O" (Optional) indicating that a choice will be made on some other basis at some other point in the process. This is mapped to the attribute support of the tipAssociationClass stereotype.

Association End

An association end has some unique set of properties, making it a separate meta-model object.

...

    • RSM: maps to Documentation
    • Tigerstripe : maps to Description

      Panel

      *navigable : Navigable association ends will lead to an attribute in the remote object class. At least one end of an association should be navigable.
      *readOnly : indicates the association eend is read-only, i.e. cannot be set.

    • RSM: Read Only is a checkbox in the "Qualifiers" group.
    • Tigerstripe: present as a checkbox.

      Panel

      *isInvariant : Indicates if the association end is invariant. This is mapped to the attribute isInvariant of the tipAttribute stereotype.
      *multiplicity : multiplicity of the association end. Defined as Multiplicity for both RSM and Tigerstripe. The possible values are

    • 1
    • 0 to 1 (0..1)
    • N (0..N)
    • 1 to N (1..N)

      Panel

      *defaultValue : Indicates the default value of the aassociation end. When a default value is defined, the "creator" do not have to provide a value.
      *ordered : Applicable for list of attributes (multiplicity of N or 1 to N). Indicates if the values of this attribute are ordered.

    • RSM: Ordered is a checkbox in the "Qualifiers" group.
    • Tigerstripe: Ordered present as a checkbox if the multiplicity is multiple.

      Panel

      *unique: for a multi-valued multiplicity, this specifies whether the values in an instantiation of this attribute are unique (i.e., no duplicate attribute values are allowed); a set has unique values, while a bag can have non unique values. A sequence has both ordered and unique values.
      *notificationDefinition : Indicates if a common notification (AVC) will be generated for this object. Default value is false, meaning no notification generated. This is mapped to the attribute notificationDefinition of the tipAttribute stereotype.
      *passedById : Applicable when the datatype of the attribute is an Entity.

      Indicated if this entity is passed by value (False) or by Id (true). This is mapped to the attribute passedById of the tipAttribute stereotype.

      Panel

      *support : Indicates whether the identified association end must be represented in TIP interface or not. If the association end is required to be represented in all cases then the value should be set to "M" (Mandatory) otherwise it should be set to "O" (Optional) indicating that a choice will be made on some other basis at some other point in the process. This is mapped to the attribute support of the tipAttribute stereotype.

...

The different meta-model objects related to the Operational Model are described in this section.

Service Interface

A Service Interface is the basis building block of the operation modeling part.
Each Interface Package contains at least one Interface Service.
The Service Interface wil lcontain operations.

...

    • RSM: maps to Documentation
    • Tigerstripe : maps to Description

      Panel

      *inherits_from : indicates this service interface extends or inherits from another one.

    • RSM: corresponds to a Generalization association
    • Tigerstripe: maps to Extends

      Panel

      *isAbstract : indicates that this service interface is abstract, i.e. cannot be instantiated. The operations defined in this interface can only be implemented in derived interfaces.
      *support : Indicates whether the identified service interface must be represented in theTIP interface or not. If the service interface is required to be represented in all cases then the value should be set to "M" (Mandatory) otherwise it should be set to "O" (Optional) indicating that a choice will be made on some other basis at some other point in the process. At least one service interface in a given interface package should be marked Mandatory. This is mapped to the attribute support of the tipServiceInterface stereotype.

Operation

Operations are defined within the scope of a Service Interface.

...

    • RSM: maps to Documentation
    • Tigerstripe : maps to Description

      Panel

      *isIdempotent : The operation can be repeated providing the same result every time.
      *bulkTransferPattern : This attribute allows the selection of the bulk data transfer implementation style. This is applicable when at least one of the parameter's isBulkPotential attribute of the tipParameter stereotype is set to true. Only ITERATOR is supported in JOSIF V1.0. Values:

    • NONE (default)
    • ITERATOR
    • FILE

      Panel

      *emitsEvents : This attribute indicates the capability of the Target OS operation to emit event notifications. If checked, the operation can emit progress events. The events that can be emitted are listed under the emittedEvents attribute.
      *emittedEvents : This attribute lists the events that can be emitted by the operation. It is a list of event names, separated by commas. The event names should be fully qualified valid events defined in the model, e.g org.tmforum.tip.cbe.spm.myEvent.
      *isOneWay : This attribute indicates that the operation is either an input or an output with respect to the service interface. The operation is an input oneWay if it has only input parameters. It is an output oneWay if it has only output parameters.
      *isExtendable : Indicates if the operation is extendable.
      *support : Indicates whether the identified operation must be represented in the TIP interface or not. If the operation is required to be represented in all cases then the value should be set to "M" (Mandatory) otherwise it should be set to "O" (Optional) indicating that a choice will be made on some other basis at some other point in the process. At least one operation in a given service interface should be marked Mandatory. This is mapped to the attribute support of the tipOperation stereotype.

Parameter

Parameter represents the parameters or arguments of the operation. There are 3 types of operation parameters:

...

    • RSM: maps to Documentation
    • Tigerstripe : maps to Description

      Panel

      *direction : This attribute defines the directionality of the operation parameter. Values:

    • in
    • inOut
    • out

      Panel

      *multiplicity : multiplicity of the parameter. Defined as Multiplicity for both RSM and Tigerstripe. The possible values are

    • 1
    • 0 to 1 (0..1)
    • N (0..N)
    • 1 to N (1..N)

      Panel

      *isBulkPotential : This attribute indicates that this parameter can potentially be a very large collection, which will require a bulk data transfer pattern implementation. Atomic definition (unit) is based on the parameter's associated data type. The selection of the bulk data transfer is defined using the tipOperation stereotype bulkTransferPattern attribute. This is mapped to the attribute isBultPotential of the tipParameter stereotype.
      *defaultValue : Indicates the default value of theparameter.

      When a default value is defined, the "creator" do not have to provide a value.

      Panel

      *isOrdered : Applicable for list of parameters (multiplicity of N or 1 to N). Indicates if the values of this parameter are ordered.
      *isUnique : for a multi-valued multiplicity, this specifies whether the values in an instantiation of this attribute are unique (i.e., no duplicate attribute values are allowed); a set has unique values, while a bag cna have non unique values. A sequence has both ordered and unique values.
      *passedById : Applicable when the datatype of the parameter is an Entity.

      Indicated if this entity is passed by value (False) or by Id (true). This is mapped to the attribute passedById of the tipParameter stereotype.

      Panel

      *support : Indicates whether the identified parameter must be represented in TIP interface or not. If the parameter is required to be represented in all cases then the value should be set to "M" (Mandatory) otherwise it should be set to "O" (Optional) indicating that a choice will be made on some other basis at some other point in the process. This is mapped to the attribute support of the tipParameter stereotype.

Notification

Notification represents the notifications explicitly defined in the model.
Generic notifications (Object Creation, AVC...) are defined at Entity and Attribute level directly using the corresponding stereotypes.

...

    • RSM: maps to Documentation
    • Tigerstripe : maps to Description

      Panel

      *inherits_from : indicates this notification extends or inherits from another one.

    • RSM: corresponds to a Generalization association
    • Tigerstripe: maps to Extends

      Panel

      *isAbstract : indicates that this notification is abstract, i.e. cannot be instantiated.

    • RSM: maps to Abstract checkbox
    • Tigerstripe: maps to isAbstract checkbox

      Panel

      *support : Indicates whether the identified notification must be represented in TIP interface or not. If the notification is required to be represented in all cases then the value should be set to "M" (Mandatory) otherwise it should be set to "O" (Optional) indicating that a choice will be made on some other basis at some other point in the process. This is mapped to the attribute support of the tipNotification stereotype.

Exception

Exception represents the exceptions explicitly defined in the model.

There are two types of common exceptions defined in the Interface Framework, i.e., predefined common exceptions and optional common exceptions. Interface developers should try as much as possible to reuse these common exceptions rather than creating new ones. Please refer to General_PatternsPatterns#Exceptions for more details on this pattern.

...

    • RSM: maps to Documentation
    • Tigerstripe : maps to Description

      Panel

      *inherits_from : indicates this exception extends or inherits from another one.

    • RSM: corresponds to a Generalization association
    • Tigerstripe: maps to Extends