The SequenceStack Open Specification (SSOS) is a structured, JSON-based standard for defining business- and context-aware sequence diagrams. It is designed for interoperability, enabling industries and government to integrate and utilize sequence diagrams seamlessly within their workflows. The goal of SSOS is to provide a comprehensive format that supports exportability, importability, and extensibility.
SSOS is composed of the following primary sections:
The Info
object contains metadata about the sequence diagram specification.
Field | Type | Description | Required |
---|---|---|---|
title |
String | A brief title for the specification. | Yes |
description |
String | A detailed description of the sequence diagram's purpose. | Yes |
version |
String | The version of the specification being used. | Yes |
contact |
Object | Contact information for the specification owner. | No |
Defines the entities involved in the sequence diagram. Each entity must have a unique identifier and type.
Field | Type | Description | Required |
---|---|---|---|
id |
String | A unique identifier for the actor. | Yes |
type |
Enum | The type of actor (actor , participant , database , etc.). |
Yes |
name |
String | The display name of the actor. | Yes |
metadata |
Object | Business and context-specific metadata (e.g., roles, systems). | No |
Defines the interactions between actors, specifying the direction, type, and content of each message.
Field | Type | Description | Required |
---|---|---|---|
from |
String | ID of the sending actor. | Yes |
to |
String | ID of the receiving actor. | Yes |
message |
String | The content of the message. | Yes |
style |
Enum | The type of line (solid , dashed , lost , etc.). |
No |
metadata |
Object | Additional context about the message (e.g., timestamps). | No |
A general-purpose object for embedding additional information, such as business rules, context, or custom attributes.
Field | Type | Description | Required |
---|---|---|---|
key |
String | The metadata key (e.g., priority ). |
Yes |
value |
String | The value associated with the metadata key. | Yes |
Custom properties can be added via extensions to accommodate use cases not covered by the core specification. Extensions must use the prefix x-
.
Field | Type | Description | Required |
---|---|---|---|
x-<key> |
Any | User-defined property with the prefix x- . |
No |
Below is an example of how a sequence diagram could be defined using the SSOS format.