Skip to content
pkm-uml-state-model-schema.json 2.11 KiB
Newer Older
{
	"$schema": "http://json-schema.org/draft-07/schema#",
	"$id": "https://gitlab.ow2.org/decoder/pkm-api/-/tree/master/api/pkm-uml-state-model-schema.json",
	"title": "UML State Model Schema - Version 1.0.0 JSON Schema.",
	"type": "object",
	"properties": {
	 "name": {
			"type": "string"
		},
		"id": {
			"type": "string"
		},
		"diagram": {
			"type": "string"
		},
		"regions": {
			"type": "array",
			"items": {
				"type": "object",
				"properties": {
					"subvertexes": {
						"type": "array",
						"items": {
							"type": "object",
							"properties": {
								"isSourceOfTransition": {
									"type": "boolean"
								},
								"previousSubvertexes": {
									"type": "array",
									"items": {
											"type": "string"
									}
								},
								"isTargetOfTransition": {
									"type": "boolean"
								},
								"name": {
									"type": "string"
								},
								"nextSubvertexes": {
									"type": "array",
									"items": {
											"type": "string"
										}
								},
								"id": {
									"type": "string"
								}, 
								"type": {
									"type": "string"
								}
							},
							"required": [
								"isSourceOfTransition",
								"previousSubvertexes",
								"isTargetOfTransition",
								"name",
								"nextSubvertexes",
								"id",
								"type"
							]
						}
					},
					"name": {
						"type": "string"
					},
					"id": {
						"type": "string"
					},
					"transitions": {
						"type": "array",
						"items": {
							"type": "object",
							"properties": {
								"sourceID": {
									"type": "string"
								},
								"targetName": {
									"type": "string"
								},
								"targetID": {
									"type": "string"
								},
								"id": {
									"type": "string"
								},
								"sourceName": {
									"type": "string"
								}
							},
							"required": [
								"sourceID",
								"targetName",
								"targetID",
								"id",
								"sourceName"
							]
						}
					}
				},
				"required": [
					"subvertexes",
					"name",
					"id",
					"transitions"
				]
			}
		}
	},
	"required": [
		"regions",
		"name",
		"id"
	]
}