Skip to content

Commit c13db3d

Browse files
committed
Schemas for a more fine-grained representation of services (digital or physical)
1 parent 95df82f commit c13db3d

File tree

4 files changed

+188
-0
lines changed

4 files changed

+188
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"_type": "computation:DeployedInterface",
3+
"required": [
4+
"accessibility",
5+
"interface",
6+
"location"
7+
],
8+
"properties": {
9+
"accessibility": {
10+
"_instruction": "Add the accessibility of this deployed interface.",
11+
"_linkedTypes": ["controlledTerms.ProductAccessibility"]
12+
},
13+
"interface": {
14+
"_linkedTypes": [
15+
"computation.Interface"
16+
]
17+
},
18+
"location": {
19+
"_instruction": "Add the location (for physical services) or URL (for digital services) where this deployed interface may be accessed.",
20+
"_linkedTypes": [
21+
"core.Location",
22+
"core.WebResource"
23+
]
24+
}
25+
}
26+
}

schemas/interface.schema.tpl.json

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
{
2+
"_type": "computation:Interface",
3+
"required": [
4+
"communicationProtocol",
5+
"definition",
6+
"name",
7+
"type",
8+
"versionIdentifier"
9+
],
10+
"properties": {
11+
"communicationProtocol": {
12+
"_instruction": "Enter the communication protocol used by this interface.",
13+
"_linkedTypes": [
14+
"controlledTerms:CommunicationProtocol"
15+
]
16+
},
17+
"custodian": {
18+
"type": "array",
19+
"minItems": 1,
20+
"uniqueItems": true,
21+
"_instruction": "Add all parties that fulfill the role of a custodian for the definition of this interface.",
22+
"_linkedCategories": [
23+
"legalPerson"
24+
]
25+
},
26+
"definition": {
27+
"_instruction": "Enter a web resource that defines this interface, e.g., an OpenAPI.json document.",
28+
"_linkedTypes": [
29+
"core.WebResource"
30+
]
31+
},
32+
"description": {
33+
"type": "string",
34+
"_instruction": "Enter a description of this interface."
35+
},
36+
"developer": {
37+
"type": "array",
38+
"minItems": 1,
39+
"uniqueItems": true,
40+
"_instruction": "Add all parties that developed this interface definition.",
41+
"_linkedCategories": [
42+
"legalPerson"
43+
]
44+
},
45+
"name": {
46+
"type": "string",
47+
"_instruction": "Enter the name of this interface."
48+
},
49+
"type": {
50+
"_instruction": "Enter the type of this interface.",
51+
"_linkedTypes": [
52+
"controlledTerms:InterfaceType"
53+
]
54+
},
55+
"userDocumentation": {
56+
"_instruction": "Add the publication or file that acts as the full documentation of this interface.",
57+
"_linkedTypes": [
58+
"core:DOI",
59+
"core:File",
60+
"core:ISBN",
61+
"core:WebResource"
62+
]
63+
},
64+
"versionIdentifier": {
65+
"type": "string",
66+
"_instruction": "Enter the version identifier of this interface version."
67+
},
68+
"versionInnovation": {
69+
"type": "string",
70+
"_instruction": "Enter a short description (or summary) of the novelties/peculiarities of this interface version in comparison to its preceding versions."
71+
}
72+
}
73+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"_type": "computation:InterfaceDependency",
3+
"required": [
4+
"failureImpact",
5+
"fulfilledBy"
6+
],
7+
"properties": {
8+
"failureImpact": {
9+
"_instruction": "Add the impact(s) on the software if the service interface is unavailable.",
10+
"_linkedTypes": [
11+
"controlledTerms.Impact"
12+
]
13+
},
14+
"fulfilledBy": {
15+
"_instruction": "Add the service interface that fulfills this dependency.",
16+
"_linkedTypes": [
17+
"computation.Interface"
18+
]
19+
}
20+
}
21+
}
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
{
2+
"_type": "computation:ServiceDeployment",
3+
"required": [
4+
"name",
5+
"provides",
6+
"service",
7+
"startTime"
8+
],
9+
"properties": {
10+
"endTime": {
11+
"type": "string",
12+
"_formats": [
13+
"datetime"
14+
],
15+
"_instruction": "Enter the date and time at which this deployment ended, formatted acoording to ISO-8601."
16+
},
17+
"dependsOn": {
18+
"_instruction": "Add the software that was deployed.",
19+
"type": "array",
20+
"minItems": 1,
21+
"uniqueItems": true,
22+
"_linkedTypes": [
23+
"core:SoftwareVersion"
24+
]
25+
},
26+
"deployedBy": {
27+
"_instruction": "Add the provenance of the deployment workflow.",
28+
"_linkedTypes": ["computation:WorkflowExecution"]
29+
},
30+
"deploymentType": {
31+
"_instruction": "Enter the type of deployment environment, for example, 'productionù or 'integration'.",
32+
"_linkedTypes": ["controlledTerms:DeploymentEnvironmentType"]
33+
},
34+
"name": {
35+
"type": "string",
36+
"_instruction": "Enter a label for this deployment"
37+
},
38+
"provides": {
39+
"_instruction": "Add the interfaces that have been deployed.",
40+
"type": "array",
41+
"minItems": 1,
42+
"uniqueItems": true,
43+
"_embeddedTypes": [
44+
"computation.DeployedInterface"
45+
]
46+
},
47+
"service": {
48+
"_instruction": "Add the service that has been deployed.",
49+
"_linkedTypes": ["core.Service"]
50+
},
51+
"startTime": {
52+
"type": "string",
53+
"_formats": [
54+
"datetime"
55+
],
56+
"_instruction": "Enter the date and time at which this deployment was started, formatted acoording to ISO-8601."
57+
},
58+
"uses": {
59+
"_instruction": "Add the deployed interfaces that are used by this deployment.",
60+
"type": "array",
61+
"minItems": 1,
62+
"uniqueItems": true,
63+
"_embeddedTypes": [
64+
"computation.DeployedInterface"
65+
]
66+
}
67+
}
68+
}

0 commit comments

Comments
 (0)