diff --git a/spec/ExecutionAndTraceLog+config.json b/spec/ExecutionAndTraceLog+config.json index 3c4f654..8d10c3e 100644 --- a/spec/ExecutionAndTraceLog+config.json +++ b/spec/ExecutionAndTraceLog+config.json @@ -236,7 +236,7 @@ "integer-profile-1-0:integer-profile-pac": { "integer-profile-capability": { "integer-name": "maximumWaitTimeToReceiveOperationKey", - "purpose": "Limit the waiting for an event to happen", + "purpose": "Creating a Link in ALT was successful if an OperationKey could be received. This attribute limits waiting for the OperationKey to be received.", "unit": "millisecond", "minimum": 0, "maximum": 5000 @@ -245,6 +245,22 @@ "integer-value": 500 } } + }, + { + "uuid": "eatl-2-1-0-integer-p-001", + "profile-name": "integer-profile-1-0:PROFILE_NAME_TYPE_INTEGER_PROFILE", + "integer-profile-1-0:integer-profile-pac": { + "integer-profile-capability": { + "integer-name": "maximumNumberOfAttemptsToCreateLink", + "purpose": "Creating a Link in ALT may fail because background processes are not finished. This attribute limits the number of attempts to create the Link.", + "unit": "attempt", + "minimum": 0, + "maximum": 20 + }, + "integer-profile-configuration": { + "integer-value": 5 + } + } } ] }, @@ -2649,6 +2665,11 @@ "port-direction": "core-model-1-4:PORT_DIRECTION_TYPE_INPUT", "logical-termination-point": "eatl-2-1-0-op-s-bm-013" }, + { + "local-id": "101", + "port-direction": "core-model-1-4:PORT_DIRECTION_TYPE_INPUT", + "logical-termination-point": "eatl-2-1-0-op-s-is-002" + }, { "local-id": "200", "port-direction": "core-model-1-4:PORT_DIRECTION_TYPE_OUTPUT", @@ -2970,7 +2991,7 @@ }, { "value-name": "ForwardingName", - "value": "RegardApplicationCausesSequenceForInquiringServiceRecords.CreateLinkForSendingServiceRecords" + "value": "RegardApplicationCausesSequenceForInquiringServiceRecords.CreateLinkForReceivingServiceRecords" } ], "fc-port": [ diff --git a/spec/ExecutionAndTraceLog+forwardings.yaml b/spec/ExecutionAndTraceLog+forwardings.yaml index ea521d1..9d927ce 100644 --- a/spec/ExecutionAndTraceLog+forwardings.yaml +++ b/spec/ExecutionAndTraceLog+forwardings.yaml @@ -275,6 +275,8 @@ forwardings: initiating-requests: - server-name: /v1/dispose-remainders-of-deregistered-application uuid: eatl-2-1-0-op-s-bm-013 + - server-name: /v1/disregard-application + uuid: eatl-2-1-0-op-s-is-002 consequent-requests: - client-name: ApplicationLayerTopology://v1/delete-ltp-and-dependents uuid: eatl-2-1-0-op-c-bm-alt-2-1-0-002 @@ -471,7 +473,7 @@ forwardings: - client-name: OperationKeyManagement://v1/redirect-service-request-information uuid: eatl-2-1-0-op-c-im-okm-2-1-0-004 - - forwarding-name: RegardApplicationCausesSequenceForInquiringServiceRecords.CreateLinkForSendingServiceRecords + - forwarding-name: RegardApplicationCausesSequenceForInquiringServiceRecords.CreateLinkForReceivingServiceRecords uuid: eatl-2-1-0-op-fc-is-003 forwarding-type: InvariantProcessSnippet management-requests: diff --git a/spec/ExecutionAndTraceLog+profileInstances.yaml b/spec/ExecutionAndTraceLog+profileInstances.yaml index 9e9f636..799ecbd 100644 --- a/spec/ExecutionAndTraceLog+profileInstances.yaml +++ b/spec/ExecutionAndTraceLog+profileInstances.yaml @@ -118,13 +118,25 @@ profile-instances: configuration: value-reference: '/core-model-1-4:control-construct/logical-termination-point=eatl-2-1-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-list=1/changes' + - profile-name: 'IntegerProfile' uuid: 'eatl-2-1-0-integer-p-000' capability: integer-name: 'maximumWaitTimeToReceiveOperationKey' - purpose: 'Limit the waiting for an event to happen' + purpose: 'Creating a Link in ALT was successful if an OperationKey could be received. This attribute limits waiting for the OperationKey to be received.' unit: 'millisecond' - minimum: '0' - maximum: '5000' + minimum: 0 + maximum: 5000 + configuration: + integer-value: 500 + + - profile-name: 'IntegerProfile' + uuid: 'eatl-2-1-0-integer-p-001' + capability: + integer-name: 'maximumNumberOfAttemptsToCreateLink' + purpose: 'Creating a Link in ALT may fail because background processes are not finished. This attribute limits the number of attempts to create the Link.' + unit: 'attempt' + minimum: 0 + maximum: 20 configuration: - integer-value: '500' + integer-value: 5 diff --git a/spec/ExecutionAndTraceLog.yaml b/spec/ExecutionAndTraceLog.yaml index fb656f4..4cad984 100644 --- a/spec/ExecutionAndTraceLog.yaml +++ b/spec/ExecutionAndTraceLog.yaml @@ -646,7 +646,7 @@ paths: properties: successfully-connected: type: boolean - - description: 'IF ( (NOT (200 OR 204)) OR (successfully-connected==false) )' + - description: 'IF ( (NOT (200 OR 204)) OR (successfully-connected==false) OR (waiting>maximumWaitTimeToReceiveOperationKey) )' type: object required: - successfully-connected @@ -811,7 +811,9 @@ paths: default: $ref: '#/components/responses/responseForErroredServiceRequests' RequestForInquiringServiceRecords: #[/core-model-1-4:control-construct/logical-termination-point=eatl-2-1-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=eatl-2-1-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=eatl-2-1-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=eatl-2-1-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=eatl-2-1-0-op-c-im-*-*-*-*-004/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] - description: 'This request is initiated by receiving /v1/update-operation-key of {$request.body#application-name}://v1/redirect-service-request-information' + description: > + 'This request is initiated by receiving /v1/update-operation-key of {$request.body#application-name}://v1/redirect-service-request-information + Process shall be terminated, if /v1/update-operation-key is not received within time period defined in [/core-model-1-4:control-construct/profile-collection/profile=eatl-2-1-0-integer-p-000/integer-profile-1-0:integer-profile-pac/integer-profile-configuration/integer-value]' post: parameters: - $ref: '#/components/parameters/user' @@ -910,7 +912,10 @@ paths: $ref: '#/components/responses/responseForErroredServiceRequests' default: $ref: '#/components/responses/responseForErroredServiceRequests' - CreateLinkForSendingServiceRecords: #[/core-model-1-4:control-construct/logical-termination-point=eatl-2-1-0-tcp-c-alt-2-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=eatl-2-1-0-tcp-c-alt-2-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=eatl-2-1-0-tcp-c-alt-2-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=eatl-2-1-0-tcp-c-alt-2-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=eatl-2-1-0-op-c-is-alt-2-1-0-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + CreateLinkForReceivingServiceRecords: #[/core-model-1-4:control-construct/logical-termination-point=eatl-2-1-0-tcp-c-alt-2-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=eatl-2-1-0-tcp-c-alt-2-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=eatl-2-1-0-tcp-c-alt-2-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=eatl-2-1-0-tcp-c-alt-2-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=eatl-2-1-0-op-c-is-alt-2-1-0-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: > + 'This request shall be repeated as it may fail because background processes are not finished. + Process shall be terminated, if number of attempts is exceeding the maximum defined in [/core-model-1-4:control-construct/profile-collection/profile=eatl-2-1-0-integer-p-001/integer-profile-1-0:integer-profile-pac/integer-profile-configuration/integer-value]' post: parameters: - $ref: '#/components/parameters/user' diff --git a/spec/diagrams/is001_regardApplicationCausesInquiringServiceRecords.plantuml b/spec/diagrams/is001_RegardApplicationCausesSequenceForInquiringServiceRecords.plantuml similarity index 93% rename from spec/diagrams/is001_regardApplicationCausesInquiringServiceRecords.plantuml rename to spec/diagrams/is001_RegardApplicationCausesSequenceForInquiringServiceRecords.plantuml index dd36bd9..df829b7 100644 --- a/spec/diagrams/is001_regardApplicationCausesInquiringServiceRecords.plantuml +++ b/spec/diagrams/is001_RegardApplicationCausesSequenceForInquiringServiceRecords.plantuml @@ -1,8 +1,8 @@ -@startuml is001_regardApplicationCausesInquiringServiceRecords +@startuml is001_RegardApplicationCausesSequenceForInquiringServiceRecords skinparam responseMessageBelowArrow true title -is001_regardApplicationCausesInquiringServiceRecords +is001_RegardApplicationCausesSequenceForInquiringServiceRecords end title participant "RO" as ro @@ -139,8 +139,21 @@ note over eatlRegardApplication #LightCoral EATL does not know, whether ALT already contains an updated EATL client at NewApp end note + +note over eatlRegardApplication #Orange +attempts = 0 +end note + +note over eatlRegardApplication #Orange +mark#1 +end note + +note over eatlRegardApplication #Orange +attempts = attempts + 1 +end note + note over eatlRegardApplication -CreateLinkForSendingServiceRecords +CreateLinkForReceivingServiceRecords Request for automatically creating the Link: newApplication => EaTL://v1/record-service-request end note @@ -149,12 +162,13 @@ eatlRegardApplication -> altAddOperClient2Link : { servingApplicationName == Exe eatlRegardApplication <-- altAddOperClient2Link : {client-successfully-added, reason-of-failure} note left eatlRegardApplication #Orange -IF ( (client-successfully-added==false) +IF ( (attempts<=maximumNumberOfAttemptsToCreateLink) AND + (client-successfully-added==false) + AND ( (reason-of-failure==ALT_SERVING_APPLICATION_NAME_UNKNOWN) OR (reason-of-failure==ALT_SERVING_APPLICATION_RELEASE_NUMBER_UNKNOWN) - ) - Restart the entire Connecting Process + Return to mark#1 ) end note diff --git a/spec/diagrams/is001_RegardApplicationCausesSequenceForInquiringServiceRecords.png b/spec/diagrams/is001_RegardApplicationCausesSequenceForInquiringServiceRecords.png new file mode 100644 index 0000000..7a213d9 Binary files /dev/null and b/spec/diagrams/is001_RegardApplicationCausesSequenceForInquiringServiceRecords.png differ diff --git a/spec/diagrams/is001_regardApplicationCausesInquiringServiceRecords.png b/spec/diagrams/is001_regardApplicationCausesInquiringServiceRecords.png deleted file mode 100644 index fd87878..0000000 Binary files a/spec/diagrams/is001_regardApplicationCausesInquiringServiceRecords.png and /dev/null differ