Page tree
Skip to end of metadata
Go to start of metadata

NOTE:

  • The format described below is based on the assumption that the Deployment Model (the annotated domain model) can be serialized as a directed graph.
  • At the moment, only elements from the LinkSmart model (the Deployment Model) are serialized/extracted, but this format can also be used to serialize classes and objects from the Domain Model that don't have LinkSmart counterparts (i.e. no stereotypes defined)

Model:

{
  "name": "string",
  "version": "string",
  "model": []
}

where:

  • name is the name of the model
  • version is the model version (e.g., timestamp)
  • model is an array of directed graphs as described below

Node:

{
  "ls_id": "string",
  "ls_name": "string",
  "ls_stereotype": "string",
  "ls_attributes": {},
  "domain_class": "string",
  "domain_attributes": {},
  "children": []
}

where:

  • ls_id and ls_name are attributes from the LinkSmart model
  • ls_stereotype is a class from LinkSmart model: "Device" or "Resource"
  • ls_attributes are the attributes of classes from the LinkSmart model
  • domain_class is the class name from the application domain model
  • domain_attributes are the attributes of classes from the application domain model
  • children is an array of children nodes in the same format

Device Node:

{
  "ls_id": "string",
  "ls_name": "string",
  "ls_stereotype": "Device",
  "ls_attributes": {
        "description": "string",
        "meta": {},
        "ttl": "number"
    },
  "domain_class": "string",
  "domain_attributes": {},
  "children": [...]
}


Resource node:

{
  "ls_id": "string",
  "ls_name": "string",
  "ls_stereotype": "Resource",
  "ls_attributes": {
        "meta": {},
        "representation": {},
        "ext_protocol": {},
        "int_protocol": {}
    },
  "domain_class": "string",
  "domain_attributes": {},
  "children": [...]
}


Example:

simple_deployment.json


  • No labels