TIP Profile
JOSIF Main Page | JOSIF Framework | TIP Profile
Introduction
Tigerstripe uses a profile to define the global settings, the stereotypes and the primitive datatypes applicable to a project.
TIP has defined a unique TIP Profile (tip_profile.wbp) that is applicable to all Projects. The Getting Started page explains how to set up this profile.
This section explains the detailed contents of the TIP Profile.
The information in this profile that are specific to JOSIF V1.1 are marked explicitely.
Stereotypes
TIP is using stereotypes to provide implementation-level decoration on the model that can be used by the generators.
The pattern used in TIP is to define 1 stereotype per type of object, named tipXxxx, where Xxxx is the type of object. This stereotype will contain a number of attributes where each attribute will contain a specific decoration. This is further explained in the section Stereotypes of the General Patterns.
The top level stereotypes defined in TIP are:
*tipClass for Entities
*tipDatatype for Datatypes
*tipAttribute for Attributes of Entitities and Association ends
*tipAssociationClass for Association Classes
*tipPackage for Packages
*tipServiceInterface for Service Interfaces
*tipOperation for Operations
*tipParamter for Parameters of Operations
*tipNotification for Notifications
tipClass
This stereotype provides the enhanced definitions for classes that are relevant for application in a TM Forum interface.
It contains the following attributes:
*objectCreationNotification : Indicates if an Object Creation Notification should be generated for this Entity. Possible values:
- NA : Not Applicable. No Object Creation Notification will be generated.
- NO : No Object Creation Notification will be generated.
YES : An Object Creation Notification will be generated.
*objectDeletionNotification : Indicates if an Object Deletion Notification should be generated for this Entity. Possible values:
- NA : Not Applicable. No Object Deletion Notification will be generated.
- NO : No Object Deletion Notification will be generated.
YES : An Object Deletion Notification will be generated.
*objectDiscoveryNotification : Indicates if an Object Discovery Notification should be generated for this Entity. Possible values:
- NA : Not Applicable. No Object Discovery Notification will be generated.
- NO : No Object Discovery Notification will be generated.
YES : An Object Discovery Notification will be generated.
*support : This property 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. Possible values:
- O : Optional (default).
- M : Mandatory
tipDatatype
This stereotype provides the enhanced definitions for datatypes that are relevant for application in a TM Forum interface.
It contains the following attributes:
*isExtendable : Indicates if the class is extendable. Extensibility is described in the Extensibility section of the General Patterns. Boolean attribute with default being false.
tipAttribute
This stereotype provides the enhanced definitions for attributes that are relevant for application in a TM Forum interface.
It contains the following attributes:
*isInvariant : This property indicates whether an attribute value will change through the life of the object or not. If the value will not change throught the life of the object the value of this property will be set to TRUE. If the value may change this property should be set to FALSE. Boolean attribute with default being false.
*notificationDefinition : This property indicates whether a notification is to be raised on change of an attribute or not. If a notification is required to be raised on change of value of the attribut this property should be set to YES otherwise it should be set to NO. Possible values:
- NA : Not Applicable. No AVC Notification will be generated for this attribute.
- NO : No AVC Notification will be generated for this attribute.
YES (default): An AVC Notification will be generated for this attribute.
*passedById : Indicate if an attribute is passed by Id (True) or by value (False). If passed by Id, then only an EntityId will be passed, otherwise the whole object will be provided. Boolean attribute with default being false.
*support : This property 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. Possible values:- O : Optional (default).
M : Mandatory
*settableAtCreation : Only in JOSIF V1.1. This property indicates if this attribute is settable at creation. If true, it indicates that this attribute can be part of the create data of a create directive if one is provided. Boolean attribute with default being true.
*usedForNotificationFiltering : Only in JOSIF V1.1. This property indicates that this attribute is used for notification filtering. It means that this attribute will be added to all common notifications. Boolean attribute with default being false.
tipAssociationClass
This stereotype provides the enhanced definitions for association classes that are relevant for application in a TM Forum interface.
It contains the following attributes:
*support : This property 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. Possible values:
- O (default) : Optional
- M : Mandatory
tipPackage
This stereotype provides the enhanced definitions for Packages that are relevant for application in a TM Forum interface.
This stereotype is MANDATORY for all packages in the SID and relevant values should be provided for all properties for all packages in the SID.
It is kept to avoid warnings when importing from RSM. It will be removed at some later stage when SID Import tool has been enhanced.
It contains the following attributes:
*implementationPackage : define in RSM the package name that will be used in Tigerstripe. It allows to do the mapping from RSM package name to Tigerstripe package names. Package names are local with the top layer being org.tmforum.tip. Java-style package names should be used, with short names to keep the overall package name short enough for the implementation. Reserved eclipse words should be avoided. String datatype.
*SIDPackage : Only in JOSIF V1.1. Defines in Tigerstripe the package name that is used in SID. It allows to do the mapping from SID package name to Tigerstripe package names. This is not used in RSM but is filled by the SID_Import tool when both profiles in RSM and Tigerstripe contain this attribute. String datatype.
tipServiceInterface
This stereotype provides the enhanced definitions for service interfaces that are relevant for application in a TM Forum interface.
It contains the following attributes:
*support : This property indicates whether the identified service interface must be represented in TIP 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. Possible values:
- O (default) : Optional
- M : Mandatory
tipOperation
This stereotype provides the enhanced definitions for operations that are relevant for application in a TM Forum interface.
It contains the following attributes:
*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. Possible values :
- FILE : this operation uses a file transfer pattern for bulk attributes. This is not implemented in JOSIF V1.0 or in JOSIF V1.1.
- ITERATOR : this operation uses an iterator transfer pattern for bulk attributes. This pattern is described in the Interaction Patterns section of the General Patterns.
NONE (default) : this operation does not require any bulk transfer pattern.
*emitEvents : 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. The event type that better matches the operation process tracking capability must be selected. The operation response (if any defined) shall be returned as soon as it is validated by the Target OS. Boolean attribute with default being false.
*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 valid events defined in the model. Fully qualified event names in form org.tmforum.tip.service.problem.myEvent should be used. Array of Strings.
*isExtendable : Indicates if the operation is extendable. Extensibility is described in the Extensibility section of the General Patterns). Boolean attribute with default being false.
*isIdempotent : Indicates if checked, that the operation can be repeated provided the same result every time. Boolean attribute with default being false.
*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. Boolean attribute with default being false.
*support : This property indicates whether the identified operation must be represented in 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. Possible values:- O : Optional (default).
- M : Mandatory
tipParameter
This stereotype provides the enhanced definitions for parameters that are relevant for application in a TM Forum interface.
It contains the following attributes:
*isBulkPotential : This attribute indicates that this parameter can potentially be a very large collection, which will require a bulk data transfer patern 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. Boolean attribute with default being false.
*passedById : Indicate if a parameter is passed by Id (True) or by value (False). If passed by Id, then only an EntityId will be passed, otherwise the whole object will be provided. Boolean attribute with default being false.
*support : This property 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. Possible values:
- O : Optional (default).
- M : Mandatory
tipNotification
This stereotype provides the enhanced definitions for notifications that are relevant for application in a TM Forum interface.
It contains the following attributes:
*support : This property 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. Possible values:
- O : Optional (default).
- M : Mandatory
Common Operation Stereotypes
In JOSIF V1.1, new stereotypes have been added for the Common Operations. These stereotypes are used to generate automatically, if applicable, create, delete, get and set operations. This is further explained in the Common Operations section of the General Patterns.
The stereotypes defined in TIP for common operations are:
*tipEntityCreate for the common create operation
*tipEntityDelete for the common delete operation
*tipEntityGet for the common get operation on a single object
*tipEntityGetMultipe for the common get operation on multiple objects using a filter
*tipEntitySet for the common set operation on a single object
*tipEntitySetMultipe for the common set operation on multiple objects using a filter
tipEntityCreate
Only in JOSIF V1.1.
This stereotype defines the configuration information needed for the common create directive. Assuming this stereotype is applied on the Thing entity artifact, it will define the operation createThing in any service interface having Thing as managed entity. This is further explained in the Common Operations section of the General Patterns.
It contains the following attributes:
*description : This attribute provides the description of the directive that will be used in the documentation. String datatype.
*exceptions : This attribute lists all the specific exceptions for this directive. The exception names should be valid exceptions defined in the model. Fully qualified event names in form org.tmforum.tip.service.problem.myException should be used. These exceptions are additional to the pre-defined exceptions and the common exceptions defined as default for this operation. Array of Strings.
*isExtendable : This attribute indicates if the operation is extendable. It is equivalent to the isExtendable attribute of the tipOperation stereotype. Boolean attribute with default being false.
*support : This property indicates whether the create operation must be represented in 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. It is equivalent to the support attribute of the tipOperation stereotype. Possible values:
- O : Optional (default).
M : Mandatory
*useAutoNaming : This attribute indicates if the operation uses auto-naming for the creation of the identifier. extendable. If true, the id of the object will be provided by the server and must not be provided by the client. Boolean attribute with default being false.
tipEntityDelete
Only in JOSIF V1.1.
This stereotype defines the configuration information needed for the common delete directive. Assuming this stereotype is applied on the Thing entity artifact, it will define the operation deleteThing in any service interface having Thing as managed entity. This is further explained in the Common Operations section of the General Patterns.
It contains the following attributes:
*description : This attribute provides the description of the directive that will be used in the documentation. String datatype.
*exceptions : This attribute lists all the specific exceptions for this directive. The exception names should be valid exceptions defined in the model. Fully qualified event names in form org.tmforum.tip.service.problem.myException should be used. These exceptions are additional to the pre-defined exceptions and the common exceptions defined as default for this operation. Array of Strings.
*support : This property indicates whether the delete operation must be represented in 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. It is equivalent to the support attribute of the tipOperation stereotype. Possible values:
- O : Optional (default).
M : Mandatory
tipEntityGet
Only in JOSIF V1.1.
This stereotype defines the configuration information needed for the single instance common get directive. It allows getting the values of a single instance. Assuming this stereotype is applied on the Thing entity artifact, it will define the operation getThing in any service interface having Thing as managed entity. This is further explained in the Common Operations section of the General Patterns.
It contains the following attributes:
*description : This attribute provides the description of the directive that will be used in the documentation. String datatype.
*exceptions : This attribute lists all the specific exceptions for this directive. The exception names should be valid exceptions defined in the model. Fully qualified event names in form org.tmforum.tip.service.problem.myException should be used. These exceptions are additional to the pre-defined exceptions and the common exceptions defined as default for this operation. Array of Strings.
*support : This property indicates whether the get operation must be represented in 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. It is equivalent to the support attribute of the tipOperation stereotype. Possible values:
- O : Optional (default).
- M : Mandatory
tipEntityGetMultiple
Only in JOSIF V1.1.
This stereotype defines the configuration information needed for the multiple instances common get directive. It allows getting all the entities matching a filter, returning either the ids or the values. Assuming this stereotype is applied on the Thing entity artifact, it will define either the operation getThings or getThingIds or both in any service interface having Thing as managed entity. This is further explained in the Common Operations section of the General Patterns..
It contains the following attributes:
*description : This attribute provides the description of the directive that will be used in the documentation. String datatype.
*exceptions : This attribute lists all the specific exceptions for this directive. The exception names should be valid exceptions defined in the model. Fully qualified event names in form org.tmforum.tip.service.problem.myException should be used. These exceptions are additional to the pre-defined exceptions and the common exceptions defined as default for this operation. Array of Strings.
*filteringType : This attribute indicates the type of filter supported by the operation. 2 styles of filtering are possible. Template-based filtering uses a combination of attributes of the entity. Query-based filtering uses an xpath query. Possible values :
- template : uses template-based filtering (Default)
template + query : Provides a choice of template or query filtering. Each instance of a get request might use a different form of filtering
*getType : This attribute indicate what get operations should be generated: the one returning the object values, the one returning the object ids, or both operations. If both get operations are selected, then the other attributes of the stereotype (description, support, exceptions) are applicable to each one of the 2 operations. Possible values :
- both : provides both*GetThingIds and GetThings to return the Thing objects matching the criteria by id or value (Default)
- id : defines a*GetThingIds operation returning the Thing objects matching the criteria by identifier
value : defines a*GetThings operation returning the Thing objects matching the criteria by value
*support : This property indicates whether the get operation must be represented in 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. It is equivalent to the support attribute of the tipOperation stereotype. Possible values:
- O : Optional (default)
- M : Mandatory
tipEntitySet
Only in JOSIF V1.1.
This stereotype defines the configuration information needed for the single instance common set directive. It allows setting a single instance where all attributes should be set in an atomic way. Assuming this stereotype is applied on the Thing entity artifact, it will define the operation setThing in any service interface having Thing as managed entity. This is further explained in the Common Operations section of the General Patterns.
It contains the following attributes:
*description : This attribute provides the description of the directive that will be used in the documentation. String datatype.
*exceptions : This attribute lists all the specific exceptions for this directive. The exception names should be valid exceptions defined in the model. Fully qualified event names in form org.tmforum.tip.service.problem.myException should be used. These exceptions are additional to the pre-defined exceptions and the common exceptions defined as default for this operation. Array of Strings.
*isExtendable : This attribute indicates if the operation is extendable. It is equivalent to the isExtendable attribute of the tipOperation stereotype. Boolean attribute with default being false.
*support : This property indicates whether the set operation must be represented in 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. It is equivalent to the support attribute of the tipOperation stereotype. Possible values:
- O : Optional (default).
- M : Mandatory
tipEntitySetMultiple
Only in JOSIF V1.1.
This stereotype defines the configuration information needed for the multiple instances common set directive. It allows setting all entities matching a filter. Assuming this stereotype is applied on the Thing entity artifact, it will define either the operation setThings or setThingsAtomic in any service interface having Thing as managed entity. This is further explained in the Common Operations section of the General Patterns.
It contains the following attributes:
*description : This attribute provides the description of the directive that will be used in the documentation. String datatype.
*exceptions : This attribute lists all the specific exceptions for this directive. The exception names should be valid exceptions defined in the model. Fully qualified event names in form org.tmforum.tip.service.problem.myException should be used. These exceptions are additional to the pre-defined exceptions and the common exceptions defined as default for this operation. Array of Strings.
*filteringType : This attribute indicates the type of filter supported by the operation. 2 styles of filtering are possible. Template-based filtering uses a combination of attributes of the entity. Query-based filtering uses an xpath query. Possible values :
- template : uses template-based filtering (Default)
template + query : Provides a choice of template or query filtering. Each instance of a get request might use a different form of filtering
*isAtomic : This attribute defines if the set on multiple instances will use the atomic form (setThingsAtomic) or not (setThings). Boolean attribute with default being false.
*isExtendable : This attribute indicates if the operation is extendable. It is equivalent to the isExtendable attribute of the tipOperation stereotype. Boolean attribute with default being false.
*support : This property indicates whether the set operation must be represented in 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. It is equivalent to the support attribute of the tipOperation stereotype. Possible values:- O : Optional (default)
- M : Mandatory
Primitives datatypes
A primitive datatype is one that cannot be decomposed at model level.
These datatypes exist both at RSM and Tigerstripe level.
TIP defines the following primitives datatypes:
*any : allow at implementation level to be replaced by any datatype.
*boolean
*byte
*char
*date
*double
*float
*int
*long
*objectName : will be replaced at interface level by an EntityIdentifier (please refer to Entity Identifier section of the Internal Framework Model) allowing to input any entity. When the entity to provide has a known type, then an explicit association should be preferred.
*short
*String : not that in Tigerstripe, this is String with a capital S.
*time : correspond to ITU-T time.
*unknown : this datatype should not be directly used in models. It wil lbe present in Tigerstripe models if an unknown RSM datatype is used. In this case, it will be replaced by this unknown datatype. Note that generators will fail and stop with an explicit error when meeting such datatype in a model.
*void : only present as return type for operations. In TIP, all operations return void and use output parameters to return data. Please refer to Interface Meta-Model for details.