V1.1 with updated JSON and XMF types and proper references.
Showing
7 changed files
with
396 additions
and
0 deletions
Tensor/V1.1/ApiBase.xid.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8" ?> | ||
2 | |||
3 | <!-- | ||
4 | Copyright (c) 2018, TeleCommunication Systems, Inc., | ||
5 | a wholly-owned subsidiary of Comtech Telecommunications Corp. | ||
6 | and/or affiliates of TeleCommunication Systems, Inc. | ||
7 | All rights reserved. | ||
8 | TeleCommunication Systems, Inc. PROPRIETARY/CONFIDENTIAL. | ||
9 | Use is subject to license terms included in the distribution. | ||
10 | --> | ||
11 | |||
12 | <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
13 | xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
14 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
15 | xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
16 | identity="ApiBase.xid.xml"> | ||
17 | |||
18 | <title>Tensor Microservices API Base Definitions</title> | ||
19 | <comment> | ||
20 | This document defines the common types API service interface (input and output base structures) for the Tensor microservices definitions. | ||
21 | </comment> | ||
22 | <import ref="https://xid.location.studio/Tensor/V1.1/Common.xid.xml" local="Common.xid.xml" /> | ||
23 | |||
24 | <namespace name="Tensor"> | ||
25 | |||
26 | <!-- | ||
27 | ******************************* | ||
28 | *InputBase Type Definition | ||
29 | ******************************* | ||
30 | --> | ||
31 | <struct name="InputBase" > | ||
32 | <comment>Base input fields for operations supporting asynchronous transaction information.</comment> | ||
33 | <elem name="devid" multiplicity="0..1" type="string" ord="64"> | ||
34 | <comment> | ||
35 | Optional device identifier, that provides a consistent multi-transaction identifier | ||
36 | for a device or equivalent (e.g. service identifier) providing the data. Any errors or issues resulting from processing the data will include this identifier | ||
37 | in the system logs, providing traceability. Identifier should be unique. | ||
38 | </comment> | ||
39 | </elem> | ||
40 | <elem name="etid" multiplicity="0..1" type="string" ord="65"> | ||
41 | <comment> | ||
42 | Optional external transaction identifier for the caller to uniquely identify and track | ||
43 | the transaction and corresponding results. These identifiers will appear in the | ||
44 | service logs for traceability analysis. The format of the transaction identifier is up to the caller | ||
45 | and can be anything: e.g. [uuid], [id1.subid0], [numerical], etc. This data is never interpreted by | ||
46 | the service. | ||
47 | </comment> | ||
48 | </elem> | ||
49 | <elem name="directive" multiplicity="0..*" type="NameValue" ord="66"> | ||
50 | <comment> | ||
51 | A set of directives to influence processing. | ||
52 | </comment> | ||
53 | </elem> | ||
54 | </struct> | ||
55 | |||
56 | |||
57 | <!-- | ||
58 | ******************************* | ||
59 | *OutputBase Type Definition | ||
60 | ******************************* | ||
61 | --> | ||
62 | <struct name="OutputBase" > | ||
63 | <comment>Base output fields common to operations supporting asynchronous returning transaction information.</comment> | ||
64 | <elem name="devid" multiplicity="0..1" type="string" ord="64"> | ||
65 | <comment> | ||
66 | Device identifier provided at operation input, provides a consistent identifier | ||
67 | for a device or equivalent (e.g. service identifier) providing the data. Any errors or issues resulting from processing the data will include this identifier | ||
68 | in the service logs, providing traceability. | ||
69 | </comment> | ||
70 | </elem> | ||
71 | |||
72 | <elem name="etid" multiplicity="0..1" type="string" ord="65"> | ||
73 | <comment> | ||
74 | Optional external transaction identifier for the caller to uniquely identify and track | ||
75 | the transaction and corresponding results. These identifiers appear in the | ||
76 | ILP system logs for traceability analysis. The format of the transaction identifier is up to the caller | ||
77 | and can be anything: e.g. [uuid], [id1.subid0], [numerical], etc. This data is never interpreted by | ||
78 | the ILP system. | ||
79 | </comment> | ||
80 | |||
81 | </elem> | ||
82 | |||
83 | <elem name="resultcode" type="ResultCode" multiplicity="1" ord="66"> | ||
84 | <comment>Result of the operation.</comment> | ||
85 | </elem> | ||
86 | |||
87 | <elem name="errinfo" type="Tensor.string" multiplicity="0..1" ord="67"> | ||
88 | <comment>Error information if result was not success.</comment> | ||
89 | </elem> | ||
90 | |||
91 | </struct> | ||
92 | |||
93 | </namespace> | ||
94 | </specification> |
Tensor/V1.1/Command.xid.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8" ?> | ||
2 | |||
3 | <!-- | ||
4 | Copyright (c) 2017, TeleCommunication Systems, Inc., | ||
5 | a wholly-owned subsidiary of Comtech Telecommunications Corp. | ||
6 | and/or affiliates of TeleCommunication Systems, Inc. | ||
7 | All rights reserved. | ||
8 | TeleCommunication Systems, Inc. PROPRIETARY/CONFIDENTIAL. | ||
9 | Use is subject to license terms included in the distribution. | ||
10 | --> | ||
11 | |||
12 | <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
13 | xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
14 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
15 | xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
16 | identity="Command.xid.xml"> | ||
17 | <title>Tensor Command</title> | ||
18 | <comment></comment> | ||
19 | <artifact></artifact> | ||
20 | |||
21 | <import ref="https://xid.location.studio/Tensor/V1.1/Common.xid.xml" local="Common.xid.xml" /> | ||
22 | |||
23 | <namespace name="Tensor"> | ||
24 | |||
25 | <!-- | ||
26 | ************************************ | ||
27 | * Command API Implementation | ||
28 | ************************************ | ||
29 | --> | ||
30 | <struct name="Command"> | ||
31 | <comment>A TPF command structure compatible with the TPF Framework Commander Component.</comment> | ||
32 | <elem name="name" type="Tensor.string" multiplicity="1" ord="64"> | ||
33 | <comment>The command name including scope specifiers. Convention is to use a '.' as a scope separator | ||
34 | such as[component name].[command name].</comment> | ||
35 | </elem> | ||
36 | |||
37 | <elem name="etid" type="Tensor.string" multiplicity="0..1" ord="65"> | ||
38 | <comment> | ||
39 | Optional external transaction identifier for the caller to uniquely identify and track | ||
40 | the command and corresponding results. | ||
41 | </comment> | ||
42 | </elem> | ||
43 | |||
44 | <elem name="argument" type="NameValue" multiplicity="0..*" ord="66"> | ||
45 | <comment> | ||
46 | Each command may have zero or more arguments. | ||
47 | They may be name/value or oridinal/value arguments. | ||
48 | Both name and value are required. | ||
49 | </comment> | ||
50 | </elem> | ||
51 | </struct> | ||
52 | |||
53 | <struct name="CommandResponse"> | ||
54 | <comment> | ||
55 | The command response structure containing information resulting from executing the | ||
56 | command (success or failure). Check the result code for details on status of executing the | ||
57 | command a value of 1 means success, value of 0 is undefined, See ResultCode for other standard | ||
58 | result codes. Each operation may define additional codes. | ||
59 | </comment> | ||
60 | <elem name="name" type="Tensor.string" multiplicity="1" ord="64"> | ||
61 | <comment> | ||
62 | The command name including scope specifiers. Convention is to use a '.' as a scope separator | ||
63 | such as[component name].[command name]. | ||
64 | </comment> | ||
65 | </elem> | ||
66 | |||
67 | <elem name="etid" type="Tensor.string" multiplicity="0..1" ord="65"> | ||
68 | <comment> | ||
69 | Optional external transaction identifier for the caller to uniquely identify and track | ||
70 | the command and corresponding results. | ||
71 | </comment> | ||
72 | </elem> | ||
73 | |||
74 | <elem name="result" type="Tensor.int8" multiplicity="1" ord="66"> | ||
75 | <comment>The processing result code. 1 is success, 0 is undefined, -1 is a failure.</comment> | ||
76 | </elem> | ||
77 | |||
78 | <elem name="output" type="Tensor.string" multiplicity="0..1" ord="67"> | ||
79 | <comment> | ||
80 | Optional command output stored as a string. Interpeting the output data is dependent upon the | ||
81 | command function executed and what data formats are as an encodded string. | ||
82 | </comment> | ||
83 | </elem> | ||
84 | </struct> | ||
85 | |||
86 | <interface name="CommandApi"> | ||
87 | <comment>Interface executing commands inside TPF Containers.</comment> | ||
88 | |||
89 | <operation name="Execute"> | ||
90 | <comment> | ||
91 | Executes the specified command elements. Can specify whether to return responses (default true) or not using wantresponses. | ||
92 | </comment> | ||
93 | <input name="input" sid="0x0100"> | ||
94 | <elem name="commands" multiplicity="1..*" type="Command" ord="64"/> | ||
95 | <elem name="wantresponses" multiplicity="1" type="Tensor.bool" ord="65" default="true"/> | ||
96 | </input> | ||
97 | <output name="output" sid="0x0101"> | ||
98 | <elem name="lastcommand" type="Tensor.int8" multiplicity="1" ord="64"> | ||
99 | <comment>The index of the last command executed. If this is less than the total number of commands a failure occurred.</comment> | ||
100 | </elem> | ||
101 | <elem name="lastresult" type="Tensor.int8" multiplicity="1" ord="65"> | ||
102 | <comment>The last processing result code. 1 is success, 0 is undefined, -1 is a failure.</comment> | ||
103 | </elem> | ||
104 | <elem name="responses" type="CommandResponse" multiplicity="1..*" ord="66"> | ||
105 | <comment>A command response for each command executed.</comment> | ||
106 | </elem> | ||
107 | </output> | ||
108 | </operation> | ||
109 | </interface> | ||
110 | </namespace> | ||
111 | </specification> |
Tensor/V1.1/Common.xid.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8" ?> | ||
2 | |||
3 | <!-- | ||
4 | Copyright (c) 2017, TeleCommunication Systems, Inc., | ||
5 | a wholly-owned subsidiary of Comtech Telecommunications Corp. | ||
6 | and/or affiliates of TeleCommunication Systems, Inc. | ||
7 | All rights reserved. | ||
8 | TeleCommunication Systems, Inc. PROPRIETARY/CONFIDENTIAL. | ||
9 | Use is subject to license terms included in the distribution. | ||
10 | --> | ||
11 | |||
12 | <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
13 | xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
14 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
15 | xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
16 | identity="Common.xid.xml"> | ||
17 | <title>Tensor Common Definitions</title> | ||
18 | <comment></comment> | ||
19 | <artifact></artifact> | ||
20 | |||
21 | <import ref="https://xid.location.studio/Tensor/V1.1/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
22 | |||
23 | <namespace name="Tensor"> | ||
24 | <struct name="NameValue" > | ||
25 | <comment>A string base name value pair entry.</comment> | ||
26 | <elem name="name" type="Tensor.string" ord="64"/> | ||
27 | <elem name="value" type="Tensor.string" ord="65"/> | ||
28 | </struct> | ||
29 | |||
30 | <enum name="ResultCode" type="Tensor.int8" default="undefined"> | ||
31 | <comment>General processing result codes.</comment> | ||
32 | <literal name="success" value="1"/> | ||
33 | <literal name="undefined" value="0"/> | ||
34 | <literal name="failure" value="-1" /> | ||
35 | <literal name="busy" value="-2" /> | ||
36 | <literal name="processingError" value="-3"/> | ||
37 | <literal name="parsingError" value="-4"/> | ||
38 | <literal name="malformedRequest" value="-5"/> | ||
39 | <literal name="encodingError" value="-6"/> | ||
40 | |||
41 | </enum> | ||
42 | |||
43 | <struct name="VoidType"> | ||
44 | <comment>Reserved type used in various translations to preserve translation. It has no purpose but as a placeholder. This is different from type "void" in Definitions.xid</comment> | ||
45 | <elem name="reserved" type="Tensor.uint16" multiplicity="1" ord="64"/> | ||
46 | </struct> | ||
47 | |||
48 | <enum name="WirelineFormat" type="Tensor.uint8" default="undefined"> | ||
49 | <comment>Enum defines the wireline data format of XID interactions. These are defined to facilitate standard definitions within XID interactions independent of the | ||
50 | specific transport protocol or XID conduit.</comment> | ||
51 | <literal name ="undefined" value = "0"/> | ||
52 | <literal name ="raw" value = "1"/> | ||
53 | <literal name ="base64" value = "2"/> | ||
54 | <literal name ="hex" value = "3"/> | ||
55 | </enum> | ||
56 | |||
57 | <enum name="ContentType" type="Tensor.uint8" default="undefined"> | ||
58 | <comment>Enum defines the content type of XID interactions. These are defined to facilitate standard definitions within XID interactions independent of the | ||
59 | specific transport protocol or XID conduit.</comment> | ||
60 | <literal name ="undefined" value = "0"/> | ||
61 | <literal name ="dataobject" value = "1"/> | ||
62 | <literal name ="xmf" value = "2"/> | ||
63 | <literal name ="json" value = "3"/> | ||
64 | </enum> | ||
65 | |||
66 | <enum name="InteractionRole" type="Tensor.uint8" default="undefined"> | ||
67 | <comment>InteractionRole defines the role of the conduit in a XID interaction. | ||
68 | A Conduit port must adopt either the target or initiator role to preserve | ||
69 | interaction continuity and conventions.</comment> | ||
70 | <literal name ="undefined" value = "0"/> | ||
71 | <literal name ="target" value = "1"/> | ||
72 | <literal name ="initiator" value = "2"/> | ||
73 | </enum> | ||
74 | |||
75 | </namespace> | ||
76 | </specification> |
Tensor/V1.1/Definitions.xid.xml
0 → 100644
This diff is collapsed.
Click to expand it.
Tensor/V1.1/Logging.xid.xml
0 → 100644
This diff is collapsed.
Click to expand it.
Tensor/V1.1/README.md
0 → 100644
1 | # Tensor XIDs # | ||
2 | Tensor XIDs have all their ordinals (i.e. tags) specified and do not use packed data types. Therefore, XIDData.prop is not strictly needed but is supplied as a check-n-balance. | ||
3 | |||
4 | ## Generate / Verify XIDData.prop ## | ||
5 | |||
6 | ~~~sh | ||
7 | $ java -Xnoclassgc -jar $XIDSDK/bin/xidcg.jar \ | ||
8 | -v \ | ||
9 | -prop https://xid.location.studio/Tensor/V1.1/XIDData.prop \ | ||
10 | https://xid.location.studio/Tensor/V1.1/ApiBase.xid.xml \ | ||
11 | https://xid.location.studio/Tensor/V1.1/Command.xid.xml \ | ||
12 | https://xid.location.studio/Tensor/V1.1/Common.xid.xml \ | ||
13 | https://xid.location.studio/Tensor/V1.1/Definitions.xid.xml \ | ||
14 | https://xid.location.studio/Tensor/V1.1/Logging.xid.xml | ||
15 | |||
16 | OR | ||
17 | |||
18 | $ java -Xnoclassgc -jar $XIDSDK/bin/xidcg.jar \ | ||
19 | -v \ | ||
20 | -prop XIDData.prop \ | ||
21 | ApiBase.xid.xml \ | ||
22 | Command.xid.xml \ | ||
23 | Common.xid.xml \ | ||
24 | Definitions.xid.xml \ | ||
25 | Logging.xid.xml | ||
26 | ~~~ | ||
27 | |||
28 | If xidcg reports: | ||
29 | |||
30 | ~~~ | ||
31 | Generating: xidout/meta/XID/XIDData.prop | ||
32 | ~~~ | ||
33 | |||
34 | Then something has changed and XIDData.prop needs to get updated. | ||
35 |
Tensor/V1.1/XIDData.prop
0 → 100644
1 | Ord.Logging.ActionMsg.category=98 | ||
2 | Ord.Logging.ActionMsg.id=96 | ||
3 | Ord.Logging.ActionMsg.iid=99 | ||
4 | Ord.Logging.ActionMsg.severity=97 | ||
5 | Ord.Logging.AppMetrics.currentCount=81 | ||
6 | Ord.Logging.AppMetrics.failureCount=86 | ||
7 | Ord.Logging.AppMetrics.peakCount=82 | ||
8 | Ord.Logging.AppMetrics.peakTime=84 | ||
9 | Ord.Logging.AppMetrics.successCount=85 | ||
10 | Ord.Logging.AppMetrics.totalCount=80 | ||
11 | Ord.Logging.AppMetrics.totalTime=83 | ||
12 | Ord.Logging.DebugInfo.file=64 | ||
13 | Ord.Logging.DebugInfo.line=65 | ||
14 | Ord.Logging.DebugInfo.thid=66 | ||
15 | Ord.Logging.MessageBase.data=68 | ||
16 | Ord.Logging.MessageBase.date=65 | ||
17 | Ord.Logging.MessageBase.debug=69 | ||
18 | Ord.Logging.MessageBase.info=67 | ||
19 | Ord.Logging.MessageBase.source=66 | ||
20 | Ord.Logging.MessageBase.type=64 | ||
21 | Ord.Logging.Metric.metricType=64 | ||
22 | Ord.Logging.Metric.name=65 | ||
23 | Ord.Logging.MetricMsg.duration=81 | ||
24 | Ord.Logging.MetricMsg.metrics=82 | ||
25 | Ord.Logging.MetricMsg.start=80 | ||
26 | Ord.Logging.PegCount.value=80 | ||
27 | Ord.Logging.TaskReport.duration=114 | ||
28 | Ord.Logging.TaskReport.start=113 | ||
29 | Ord.Logging.TaskReport.result=115 | ||
30 | Ord.Logging.TaskReport.taskid=112 | ||
31 | Ord.Logging.TraceMsg.level=96 | ||
32 | Ord.Logging.TransactionMsg.acctid=82 | ||
33 | Ord.Logging.TransactionMsg.appid=84 | ||
34 | Ord.Logging.TransactionMsg.devid=83 | ||
35 | Ord.Logging.TransactionMsg.etid=81 | ||
36 | Ord.Logging.TransactionMsg.tid=80 | ||
37 | Ord.Logging.UsageMsg.uri=96 | ||
38 | Ord.Tensor.Command.argument=66 | ||
39 | Ord.Tensor.Command.etid=65 | ||
40 | Ord.Tensor.Command.name=64 | ||
41 | Ord.Tensor.CommandApi.Execute.Input.commands=64 | ||
42 | Ord.Tensor.CommandApi.Execute.Input.wantresponses=65 | ||
43 | Ord.Tensor.CommandApi.Execute.Output.lastcommand=64 | ||
44 | Ord.Tensor.CommandApi.Execute.Output.lastresult=65 | ||
45 | Ord.Tensor.CommandApi.Execute.Output.responses=66 | ||
46 | Ord.Tensor.CommandResponse.etid=65 | ||
47 | Ord.Tensor.CommandResponse.name=64 | ||
48 | Ord.Tensor.CommandResponse.output=67 | ||
49 | Ord.Tensor.CommandResponse.result=66 | ||
50 | Ord.Tensor.InputBase.devid=64 | ||
51 | Ord.Tensor.InputBase.directive=66 | ||
52 | Ord.Tensor.InputBase.etid=65 | ||
53 | Ord.Tensor.NameValue.name=64 | ||
54 | Ord.Tensor.NameValue.value=65 | ||
55 | Ord.Tensor.OutputBase.devid=64 | ||
56 | Ord.Tensor.OutputBase.errinfo=67 | ||
57 | Ord.Tensor.OutputBase.etid=65 | ||
58 | Ord.Tensor.OutputBase.resultcode=66 | ||
59 | Ord.Tensor.VoidType.reserved=64 | ||
60 | SID.Tensor.CommandApi.Execute.Input=256 | ||
61 | SID.Tensor.CommandApi.Execute.Output=257 | ||
62 | Size.Logging.ActionMsg=-1 | ||
63 | Size.Logging.AppMetrics=-1 | ||
64 | Size.Logging.DebugInfo=-1 | ||
65 | Size.Logging.MessageBase=-1 | ||
66 | Size.Logging.Metric=-1 | ||
67 | Size.Logging.MetricMsg=-1 | ||
68 | Size.Logging.PegCount=-1 | ||
69 | Size.Logging.TaskReport=-1 | ||
70 | Size.Logging.TraceMsg=-1 | ||
71 | Size.Logging.TransactionMsg=-1 | ||
72 | Size.Logging.UsageMsg=-1 | ||
73 | Size.Tensor.Command=-1 | ||
74 | Size.Tensor.CommandApi.Execute.Input=-1 | ||
75 | Size.Tensor.CommandApi.Execute.Output=-1 | ||
76 | Size.Tensor.CommandResponse=-1 | ||
77 | Size.Tensor.InputBase=-1 | ||
78 | Size.Tensor.NameValue=-1 | ||
79 | Size.Tensor.OutputBase=-1 | ||
80 | Size.Tensor.VoidType=-1 |
-
Please register or sign in to post a comment