# Structured Representations¶

We provide below examples of JSON-based structured representation for an application, and for each of its possible components (executables and flavors) and classification categories. This structured representation is based upon the Exabyte Data Convention implemented throughout our platform.

Work in progress

Some applications are yet to be fully integrated into our platform to have a structured representation. These are only available via Command Line Interface.

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 { "title": "application schema (base)", "schemaId": "software-application", "required": [ "name" ], "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "build": { "type": "string", "description": "Application build. e.g. VTST" }, "shortName": { "type": "string", "description": "The short name of the application. e.g. qe" }, "version": { "type": "string", "description": "Application version. e.g. 5.3.5" }, "name": { "type": "string", "description": "The name of the application. e.g. espresso" }, "summary": { "type": "string", "description": "Application's short description." } } }   1 2 3 4 5 6 { "shortName": "qe", "version": "5.1.1", "name": "espresso", "summary": "Quantum Espresso" }  ## Executable¶   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 { "required": [ "name", "applicationId" ], "allOf": [ { "schemaId": "workflow-unit-runtime-runtime-items", "type": "object", "properties": { "postProcessors": { "items": { "schemaId": "workflow-unit-runtime-runtime-item", "oneOf": [ { "schemaId": "workflow-unit-runtime-runtime-item-name-object", "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string", "description": "The name of this item. e.g. scf_accuracy" } }, "title": "result schema" } ], "description": "currently using named onlject only b/c of problems using oneOf, but can be any on _runtime_item*", "title": "runtime item schema" }, "type": "array", "description": "names of the post-processors for this calculation" }, "results": { "items": { "schemaId": "workflow-unit-runtime-runtime-item", "oneOf": [ { "schemaId": "workflow-unit-runtime-runtime-item-name-object", "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string", "description": "The name of this item. e.g. scf_accuracy" } }, "title": "result schema" } ], "description": "currently using named onlject only b/c of problems using oneOf, but can be any on _runtime_item*", "title": "runtime item schema" }, "type": "array", "description": "names of the results for this calculation" }, "preProcessors": { "items": { "schemaId": "workflow-unit-runtime-runtime-item", "oneOf": [ { "schemaId": "workflow-unit-runtime-runtime-item-name-object", "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string", "description": "The name of this item. e.g. scf_accuracy" } }, "title": "result schema" } ], "description": "currently using named onlject only b/c of problems using oneOf, but can be any on _runtime_item*", "title": "runtime item schema" }, "type": "array", "description": "names of the pre-processors for this calculation" }, "monitors": { "items": { "schemaId": "workflow-unit-runtime-runtime-item", "oneOf": [ { "schemaId": "workflow-unit-runtime-runtime-item-name-object", "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string", "description": "The name of this item. e.g. scf_accuracy" } }, "title": "result schema" } ], "description": "currently using named onlject only b/c of problems using oneOf, but can be any on _runtime_item*", "title": "runtime item schema" }, "type": "array", "description": "names of the monitors for this calculation" } }, "title": "runtime items schema (pre-/post-processors, monitors, results" } ], "schemaId": "software-executable", "title": "executable schema", "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "applicationId": { "items": { "type": "string" }, "type": "array", "description": "_ids of the application this executable belongs to" }, "name": { "type": "string", "description": "The name of the executable. e.g. pw.x" } } } 
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 { "name": "pw.x", "results": [ { "name": "atomic_forces" } ], "postProcessors": [], "preProcessors": [], "advancedComputeOptions": true, "applicationId": [ "eaJepm4AWfqpaCw59" ], "monitors": [ { "name": "standard_output" } ], "isDefault": true } 

## Flavor¶

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 { "required": [ "name", "executableId" ], "allOf": [ { "schemaId": "workflow-unit-runtime-runtime-items", "type": "object", "properties": { "postProcessors": { "items": { "schemaId": "workflow-unit-runtime-runtime-item", "oneOf": [ { "schemaId": "workflow-unit-runtime-runtime-item-name-object", "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string", "description": "The name of this item. e.g. scf_accuracy" } }, "title": "result schema" } ], "description": "currently using named onlject only b/c of problems using oneOf, but can be any on _runtime_item*", "title": "runtime item schema" }, "type": "array", "description": "names of the post-processors for this calculation" }, "results": { "items": { "schemaId": "workflow-unit-runtime-runtime-item", "oneOf": [ { "schemaId": "workflow-unit-runtime-runtime-item-name-object", "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string", "description": "The name of this item. e.g. scf_accuracy" } }, "title": "result schema" } ], "description": "currently using named onlject only b/c of problems using oneOf, but can be any on _runtime_item*", "title": "runtime item schema" }, "type": "array", "description": "names of the results for this calculation" }, "preProcessors": { "items": { "schemaId": "workflow-unit-runtime-runtime-item", "oneOf": [ { "schemaId": "workflow-unit-runtime-runtime-item-name-object", "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string", "description": "The name of this item. e.g. scf_accuracy" } }, "title": "result schema" } ], "description": "currently using named onlject only b/c of problems using oneOf, but can be any on _runtime_item*", "title": "runtime item schema" }, "type": "array", "description": "names of the pre-processors for this calculation" }, "monitors": { "items": { "schemaId": "workflow-unit-runtime-runtime-item", "oneOf": [ { "schemaId": "workflow-unit-runtime-runtime-item-name-object", "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string", "description": "The name of this item. e.g. scf_accuracy" } }, "title": "result schema" } ], "description": "currently using named onlject only b/c of problems using oneOf, but can be any on _runtime_item*", "title": "runtime item schema" }, "type": "array", "description": "names of the monitors for this calculation" } }, "title": "runtime items schema (pre-/post-processors, monitors, results" } ], "schemaId": "software-flavor", "title": "flavor schema", "\$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "input": { "items": { "schemaId": "workflow-unit-input-inputitemid", "required": [ "templateId" ], "type": "object", "properties": { "name": { "type": "string", "description": "name of the resulting input file, if different than template name" }, "templateId": { "type": "string" } }, "title": "execution unit input item schema for physics-based simulation engines" }, "type": "array", "title": "execution unit input schema" }, "executableId": { "type": "string", "description": "_id of the executable this flavor belongs to" }, "name": { "type": "string", "description": "The name of the executable flavor. e.g. pw_scf" } } } 
 1 2 3 4 5 6 7 8 9 { "input": [ { "templateId": "dJ7HYz5pQ4AuN5qc9" } ], "executableId": "4987JFJ3kKbwvFSG7", "name": "pw_scf" }