Tigerstripe Workbench implements a Model-Driven Design approach to designing Service Contracts. The specifics of a target Service Contract are captured within a model that is further used as input by the Tigerstripe engine in Tigerstripe Workbench to generate the corresponding Service Contract integration profile and documentation.
In order to provide a successful means to model business requirements to be implemented in a Service Contract, Tigerstripe has defined a set of artifacts that provide the appropriate granularity to capture, detail, and document these requirements in a model. Tigerstripe artifacts are built on top of UML as specific stereotypes to address Service Contract modeling.
Within a Tigerstripe model, you can implement UML concepts such as associations, inheritance, specific visibility of the components of each artifact.
The Tigerstripe meta-model provides a model for Tigerstripe artifacts. All standard specific meta-models (e.g. the Tigerstripe OSS/J meta-model) are derived from this model.
Tigerstripe Abstract Artifacts
All Tigerstripe artifact definitions derive from the Tigerstripe abstract artifact definition. As a result a Tigerstripe artifact:
- may contain Field Definitions. An artifact Field Definition is used to capture specific properties attached to that artifact. For example, the Tigerstripe OSS/J meta-model defines Notification Artifacts. The fields defined on a Notification artifact represent specific properties of the modeled notification. For example, the payload to be carried by the notification itself. Artifact fields may be of either primitive types or any other known artifact type.
- may contain Constant Definitions. An artifact Constant Definition allows you to capture scoped values for any artifact field or artifact method input/output parameter. For example, in a Notification Artifact, constants can be used to define fixed states to be carried by a field of that notification (For example, FAILED, COMPLETE).
- may contain Method Definitions. An artifact Method Definition allows you to specify operations allowed on the target artifact. For example, in the context of an OSS/J Managed Entity Artifact, a reset() operation can be defined as a way to reset all fields of the target managed entity to factory defaults. For example, artifact methods may take typed arguments as input and may return a typed result.
Each of these elements on an artifact can be further qualified by a textual description that is propagated in the generated code and documentation where appropriate.
When triggering the generation of the corresponding Service Contract, Tigerstripe applies the generation rules for each artifact type, field, method and constant, and produce the corresponding code.
Relationships between Tigerstripe Abstract Artifacts
The support for relationships between artifacts includes UML2-type relationships:
- Inheritance between artifacts of the same type. For example, a Tigerstripe OSS/J Managed Entity Artifact can only inherit a Tigerstripe OSS/J Managed Entity Artifact.
- Associations between artifacts are available through association artifacts. This type of Tigerstripe artifact is similar to a UML2 association and captures details such as multiplicity, and navigability.
- Association Classes between artifacts are available through association class artifacts. This type of artifact is similar to a UML2 association class.
- Dependencies between artifacts are available through dependency artifacts. This type of artifact is similar to a UML2 dependency.
- References between artifacts are implemented through attributes of non-primitive types. For example, for a reference between two Tigerstripe OSS/J Managed Entity Artifacts, fields of the target managed entity artifact type is used. The multiplicity can be further specified in the model.
Refer to Service Contract Modeling Tasks for more examples on how to model relationships in a Tigerstripe model.
Note: Associations, Association Classes, and Dependencies are not used in any of the current modeling for OSS/J APIs. These artifacts are ignored by the OSS/J plug-ins.
Tigerstripe Projects
Tigerstripe Artifacts for Service Contracts
Tigerstripe Profiles
Generated Elements