Extensibility

JOSIF Main Page | JOSIF Guidebook | Modeling | General Patterns | Extensibility

 

Extensibility is provided through the attribute extensionInfo.
This attribute has a datatype Any that is described in Extensibility in Internal Framework Model Note that this datatype is different from the primitive any datatype, as it includes a list of any.

Entities and notifications are extensible by default. So an extensionInfo attribue is added for all entities and notifications.

Association classes, Enumerations and Exceptions are not extensible.

Limited extensibility is available for Exceptions by using the details attribute present in all exceptions (See details in Internal Framework Model#Pre-defined Exceptions).

For datatypes and operations, extensibility is controlled at the model level.
For datatype, if the attribute isExtendable of the stereotype tipDatatype is set, then the extensionInfo will be added as an attribute of the datatype.
For operations, if the attribute isExtendable of the stereotype tipOperation is set, then the extensionInfo will be added as an inOut parameter of the o