{
  "informationServiceDescription": {
    "title": "CCS TechnicalSupervisionDistribution",
    "referenceDate": "2022-06-14",
    "edition": "2.0.0",
    "serviceAbstract": "<p>This Service is part of Coflight Cloud Services (CCS), which are primarily designed to support the Virtual Centre concept. As such, these CCS Services support the interactions between the CCS ATM Data Service Provider (ADSP) and Virtual Centre Air Traffic Service Units (ATSUs). The CCS TechnicalSupervisionDistribution service is consistent with the other CCS services. It allows a CCS Customer Technical Supervisor</p><p>- to monitor CCS, by distributing the status of the global CCS Service each time it is updated;.</p><p>- to monitor the status of each CCS individual service;</p><p>- to retrieve information about CCS external interfaces statuses and resource utilisation.</p><p>This version of the service is intended to be used in \"test mission\", which aims at providing services and support to the Customer(s) to enable them to test any version of their ATM system during development</p><p>&nbsp;</p><p>Service retired from 20/03/2023</p>",
    "serviceIdentification": {
      "name": "CCS TechnicalSupervisionDistribution",
      "version": "2.0.0"
    },
    "serviceProvider": {
      "name": "DSNA&ENAV",
      "description": "<p>DSNA: the French air navigation service provider</p><p>ENAV; the Italian air navigation service provider</p>",
      "type": [
        "CIVIL_AIR_NAVIGATION_SERVICE_PROVIDER"
      ]
    },
    "serviceCategorisation": {
      "businessActivityType": [
        "INFORMATION_MANAGEMENT"
      ],
      "intendedConsumer": [
        "CIVIL_AIR_NAVIGATION_SERVICE_PROVIDER"
      ],
      "informationCategory": [
        "FLIGHT_INFORMATION_EXCHANGE"
      ],
      "lifeCycle": [
        {
          "lifeCycleStage": "RETIRED"
        }
      ]
    },
    "generalDescription": {
      "operationalEnvironment": {
        "operationalNeeds": [
          {
            "name": " 1 General operational need",
            "description": "CCS Technical Supervision Distribution supports the distribution of the service status of the whole CCS seen as a global Service.The global service encompasses the Services \"Coordination & Transfer Management\", \"Correlation Distribution\", \"Correlation Management\", \"Flight Data Management\", \"Flight Data Distribution\", \"Airspace Status Distribution\" , \"Operational Configuration Management\", \"Operational Configuration Distribution\" , \"Datalink Management\", \"Monitoring Aids Distribution\" and \"SSR Code Management\", also named CCS individual services in this document."
          }
        ]
      },
      "functionality": [
        {
          "name": "Publish Service status",
          "description": "Publish Service status",
          "realWorldEffect": "The subscriber is informed of any change on the status of CCS seen as a global Service and the individual status of each CCS service."
        },
        {
          "name": "Get Technical Supervision status",
          "description": "Get Technical Supervision status",
          "realWorldEffect": "On request, a subscriber gets the CCS global status and all the individual services statuses, in particular to get the initial statuses before subscribing to the statuses updates."
        },
        {
          "name": "Publish service appliance status",
          "description": "Publish service appliance status",
          "realWorldEffect": "The subscriber is informed of any change on the CCS external interfaces statuses."
        },
        {
          "name": "Publish service resource utilisation",
          "description": "Publish service resource utilisation",
          "realWorldEffect": "The subscriber is informed of any change on the resource utilisation (Disk, CPU, Network) relative to service appliances of the subscribed services."
        }
      ],
      "accessAndUseConditions": [
        {
          "name": "Information ownership",
          "type": "LEGAL_CONSTRAINT",
          "description": "<bold>IPR</bold>In accordance with their internal contractual rules on IPRs, DSNA, ENAV and skyguide retain exclusive ownership of the information contained in this document, which is to be deemed as foreground of the Coflight Cloud Services project (aiming at delivering remote flight data processing).<bold>Access to the Service</bold>This service is provided to Service Consumers under a contractual basis signed between the CCS Service Provider and the Service Consumer."
        },
        {
          "name": "Dependencies with other CCS Services",
          "type": "SERVICE_CONSUMPTION_CONSTRAINT",
          "description": "If the service consumer also consumes other CCS services, this Service shall be consumed simultaneously with the other CCS SWIM Services that are part of the contractual agreement between the service consumer and CCS service provider."
        },
        {
          "name": "Alignment to SESAR Virtual Centre activity",
          "type": "SERVICE_POLICY",
          "description": "This service will be updated to be as much as possible in line with the Service Definition produced by SESAR Virtual Centre activities"
        },
        {
          "name": "Service versioning",
          "type": "SERVICE_POLICY",
          "description": "Both the SWIM Service Description documents / Protobuf files and the CCS Services are versioned.The version assigned to SSDs and to Protobuf files is composed by four digits in the form x.y.z.w.New releases are numbered according to the following rule (compared to the previous version): -w increased by one: means that some content that could be ignored by the developers changed and the changes do not affect the protobuf files generation. For example, changes in the comments or in the descriptions of services, fields and data structures.-z increased by one: means that some content is changed by adding (but not changing or removing) some messages and/or data types. The generated protobuf files are expected to be an extension of the previous one and as result they are backward compatible.-y increased by one: means that the file is changed by changing or removing some operations. The generated protobuf files are not expected to be compatible with the previous one.-x increased by one: means that the file contains a new baseline. Major changes are expected to be present.The service version is composed by 3 digits a.b.c assigned according to the following rule:- a could be 0,1,2 depending on the status of the service with respect to the SWIM registration phase:0: before the service application (as candidate)1: if candidate2: if compliant- b Increments if major changes have been done with respect to the previous version (modify/remove). No backward compatibility.- c Increments if minor changes have been done with respect to the previous version (addition/description modified). Full backward compatibility."
        },
        {
          "name": "KPIs monitoring",
          "type": "SERVICE_POLICY",
          "description": "Services management review are regularly organized with CCS customers to monitor the usability of the services and the KPI related to the quality of service described in the SLA."
        },
        {
          "name": "Confidentiality and integrity",
          "type": "SECURITY_CONSTRAINT",
          "description": "The interface of CCS business services is accessible from outside DSNA premises through Internet using IPV4. An IPSEC link (IKE v1 or IKE v2) is used between CCS provider and CCS customer terminal network equipment."
        },
        {
          "name": "Authentication and authorisation",
          "type": "SECURITY_CONSTRAINT",
          "description": "The CCS provider acts as a certificate authority to provide and validate X.509 certificates. Before service operation, a package including X509 certificate and private key, will be delivered to the customer using the PKCS#12 archive file format. Mutual authentication with X509 certificates is used between the AMQP broker and its client. Prior to any exchanges of AMQP Messages, the CCS customer shall establish with CCS Provider a TLS session using TLS 1.2 version. -CCS customer shall provide its certificates when establishing the connection. The certificates shall be valid (nor corrupted, nor revoked). The certificates of the CCS customer allow its identification for the use of the different CCS services (CCS business services at lower level).-The CCS provider transmit its complete certificate during the connection phase and allow OCSP stapling to allow the CCS customer to check if it is valid or not.-For the cryptographic algorithms, the authorized cipher suites must be agreed between the CCS provider and the customer based on the standards.As an ATSU, the CCS business services customer, once identified, has access to all CCS services.In the case of a Customer that would fail to authenticate 3 times in less than 3 minutes, the IP address would be ban and has to trigger the incident management procedure."
        }
      ],
      "dateInOperation": "2020-07-01",
      "abbreviations": [
        {
          "name": "ACC",
          "description": "Area Control Centre"
        },
        {
          "name": "ADSP",
          "description": "ATM Data Service Provider"
        },
        {
          "name": "AMQP",
          "description": "Advanced Message Queuing Protocol"
        },
        {
          "name": "ANSP",
          "description": "Air Navigation Service Provider"
        },
        {
          "name": "ATCS",
          "description": "Air Traffic Control Services"
        },
        {
          "name": "ATM",
          "description": "Air Traffic Management"
        },
        {
          "name": "ATS",
          "description": "Air Traffic Services"
        },
        {
          "name": "ATSU",
          "description": "Air Traffic Service Unit"
        },
        {
          "name": "CCS",
          "description": "Coflight Cloud Services"
        },
        {
          "name": "CWP",
          "description": "Controller Working Position"
        },
        {
          "name": "DSNA",
          "description": "Direction des Services de la Navigation A0xC3 0xA9rienne (French ANSP)"
        },
        {
          "name": "ENAV",
          "description": "Ente Nazionale Assistenza al Volo (Italian ANSP)"
        },
        {
          "name": "FDD",
          "description": "Flight Data Distribution"
        },
        {
          "name": "FDO",
          "description": "Flight Data Operator"
        },
        {
          "name": "FP",
          "description": "Flight Plan"
        },
        {
          "name": "ID",
          "description": "Identifier"
        },
        {
          "name": "IER",
          "description": "Interface Exchange Requirement"
        },
        {
          "name": "IKE",
          "description": "Internet Key Exchange"
        },
        {
          "name": "IP",
          "description": "Internet Protocol"
        },
        {
          "name": "IPSEC",
          "description": "Internet Protocol Security protocol"
        },
        {
          "name": "JU",
          "description": "Joint Undertaking"
        },
        {
          "name": "KPI",
          "description": "Key Performance Indicator"
        },
        {
          "name": "MB",
          "description": "MegaByte"
        },
        {
          "name": "NTP",
          "description": "Network Time Protocol"
        },
        {
          "name": "OCSP",
          "description": "Online Certificate Status Protocol"
        },
        {
          "name": "OE",
          "description": "Operational Entity"
        },
        {
          "name": "PKCS",
          "description": "Public Key Cryptography Standards"
        },
        {
          "name": "SDD",
          "description": "Service Definition Document"
        },
        {
          "name": "SESAR",
          "description": "Single European Sky Air Traffic Management Research"
        },
        {
          "name": "SFPL",
          "description": "System Flight Plan"
        },
        {
          "name": "SLA",
          "description": "Service Level Agreement"
        },
        {
          "name": "SSD",
          "description": "SWIM Service Description"
        },
        {
          "name": "SSI",
          "description": "Synchronous Serial Interface"
        },
        {
          "name": "SSR",
          "description": "Secondary Surveillance Radar"
        },
        {
          "name": "SWIM",
          "description": "System Wide Information Management"
        },
        {
          "name": "TCP",
          "description": "Transfer Control Protocol"
        },
        {
          "name": "TI",
          "description": "Technical Infrastructure"
        },
        {
          "name": "TLS",
          "description": "Ttransport Level Security"
        },
        {
          "name": "UTC",
          "description": "Coordinated Universal Time"
        }
      ]
    },
    "informationDescription": {
      "informationDefinition": [
        {
          "name": "Service Information Definition",
          "definition": "",
          "airmCorrespondence": ""
        }
      ]
    },
    "technicalDescription": {
      "technicalConstraint": [
        {
          "name": "Time synchronisation",
          "description": "CCS provider and CCS customer use the date and time for the operation of each service and they must be able to date the traces and the information passed to the SSI log collector. NTP is the standard solution to synchronize time accurately. So, CCS Provider and CCS Customer should use, each of them, at least one NTP server (stratum N), integrated in a NTP network containing a stratum 0 reference time clock."
        },
        {
          "name": "Provider-Customer interface-Exchange patterns",
          "description": "Each services interface of the CCS business services relies on the concept of AMQP queues and topics. -The CCS customer shall use an implementation of the AMQP 1.0 specification to connect to the CCS provider AMQP 1.0 endpoint. -The CCS provider endpoint is an AMQP 1.0 broker managing queue and topics. The message payloads are encoded following a protobuf format. The message exchange patterns used by the CCS services are request/reply and publish/subscribe. The CCS customer acts as requester and subscriber. The CCS provider acts as responder and publisher.Concerning publish-subscribe, the CCS customer subscribes to a CCS distribution service by directly listening to an appropriate AMQP topic, which name follows the CCS derivation rules.The subscription to CCS Distribution Services is not performed via subscription operations, but by connecting to the appropriate AMQP Topic described in the .protobuf files as topic://<NameSpaceName>.<ServiceInterfaceName>.<LogicalOperation>The subscribers can filter the messages they want to receive by using the filter parameters defined for each subscription operation.Please note that, after subscribing to a CCS Distribution Service, the current repository of messages needs to be obtained from CCS via the get<MessageRepository> operation defined for each CCS Distribution Service (see \"Subscription\" section of the distribution operation of the service).N.B:- If the CCS platform restarts while the Customer is connected to the AMQP Broker, the current repository of messages is published again.- The acknowledgement that a Customer receives to his request (\"RequestReport\") may be received after the data distribution that this request has triggered, as these two messages are managed asynchronously by AMQP Queues and TopicsConcerning request-reply the CCS customer sends a request by sending a message to an appropriate AMQP queue, which name follows the CCS derivation rules, to make a request. The request message contains the name of the queue into the CCS customer listens and in which the reply from the CCS provider is expected."
        },
        {
          "name": "Provider-Customer interface-Connection management",
          "description": "The Customer is the one that initiates the TCP connection and in case of a Network / Connection failure, it is the responsibility of the CCS customer to try to reconnect regularly."
        },
        {
          "name": "Provider-Customer interface-Queue management",
          "description": "The AMQP broker creates the physical resources associated with a destination (queue, topic) on demand when messages are actually sent to them.Permissions on queues and topics (read/write access) are granted based on intended usage. The CCS customer will have: -Write access on the request queue-Read access on the reply queue -Read access on the topic for distribution service"
        }
      ]
    },
    "references": {
      "serviceDocument": [
        {
          "documentType": "AIRM_TRACE",
          "title": "CCS AIRM mapping TSUPD service",
          "version": "1.0",
          "description": "AIRM traceability for CCS Technical Supervision Distribution service payload"
        },
        {
          "documentType": "SERVICE_VALIDATION_REPORT",
          "title": "CCS Validation evidence document - TechnicalSupervisionDistribution",
          "version": "1.0",
          "description": "Validation evidence for CCS Technical Supervision Distribution service"
        },
        {
          "documentType": "MACHINE_READABLE_SERVICE_DESCRIPTION",
          "title": "CCS_technicalSupervisionDistribution.proto",
          "version": "2.2.0.1",
          "description": "Protobuf files describing the exchanged information"
        },
        {
          "documentType": "MACHINE_READABLE_SERVICE_DESCRIPTION",
          "title": "CCS_common.proto",
          "version": "5.5.1.2",
          "description": "Protobuf file describing the exchanged information common to two or more CCS Services"
        },
        {
          "documentType": "MACHINE_READABLE_SERVICE_DESCRIPTION",
          "title": "metadata.proto",
          "version": "v1.2.0.0",
          "description": "Protobuf file describing the metadata used by the CCS Services"
        },
        {
          "documentType": "SERVICE_SPECIFICATION",
          "title": "CCS Technical Supervision Distribution Service  Description",
          "version": "2.2.0.3",
          "description": "Complete service specification"
        },
        {
          "documentType": "SERVICE_SPECIFICATION",
          "title": "CCS Errors Management Document",
          "version": "2.0",
          "description": "Document that includes the list of all applicable error messages for CCS services"
        }
      ],
      "implementedStandard": [
        {
          "title": "EUROCONTROL Specification for SWIM - Service Description ",
          "version": "2.0",
          "description": "This specification contains requirements for describing information services in the context ofInitial System Wide Information Management (iSWIM). The requirements prescribe the minimum set of elements a service descriptionhas to contain",
          "standardType": "EUROCONTROL_SPECIFICATION_FOR_SWIM_SERVICE_DESCRIPTION",
          "conformanceStatement": "Description of Service according to EUROCONTROL specifications"
        },
        {
          "title": "EUROCONTROL Specification for SWIM - Information Definition",
          "version": "1.0",
          "description": "This specification contains requirements forinformation definitions, meaning the formal descriptions of exchanged information, in the context of Initial System Wide Information Management (iSWIM). This contributes to semantic interoperability of information. ",
          "standardType": "EUROCONTROL_SPECIFICATION_FOR_SWIM_INFORMATION_DEFINITION",
          "conformanceStatement": "Information definition according to EUROCONTROL specifications"
        },
        {
          "title": "EUROCONTROL Specification for SWIM - Technical Infrastructure (TI) Yellow Profile",
          "version": "1.0",
          "description": "This specification contains requirements for system interfaces (e.g. protocols) and for IT infrastructure capabilities required to enable a reliable, secure and efficient exchange of information in the context of Initial System Wide Information Management (iSWIM).This contributes to technical interoperability",
          "standardType": "EUROCONTROL_SPECIFICATION_FOR_SWIM_TECHNICAL_INFRASTRUCTURE",
          "conformanceStatement": "Implementation of service and network bindings"
        }
      ]
    },
    "serviceInterface": [
      {
        "name": "TechnicalSupervisionProvider",
        "description": "This Service Interface exposes the technical operation that allows the consumer to get the status of each individual service and the global CCS  Service on request. It is typically used when starting the Service, for initialisation",
        "provisionSide": "PROVIDER_SIDE",
        "operations": [
          {
            "name": "requestServiceStatus",
            "description": "Allows a consumer to get the status of each individual service and the global CCS service one.. ",
            "messages": [
              {
                "name": "ServiceStatusRepositoryRequest",
                "direction": "IN"
              },
              {
                "name": "ServiceStatusList",
                "direction": "OUT"
              }
            ]
          }
        ],
        "endpoints": [
          {
            "name": "TechnicalSupervisionProvider",
            "url": "For security reasons, the addresses will be communicated only to Customers"
          }
        ],
        "messageExchangePattern": "SYNCHRONOUS_REQUEST_RESPONSE"
      },
      {
        "name": "TechnicalSupervisionSubscriber",
        "description": "This Service Interface exposes the operations for publishing:- on-line updates of the status of CCS;- updates of service appliance status;- updates of service resource utilisation.",
        "provisionSide": "PROVIDER_SIDE",
        "operations": [
          {
            "name": "publishServiceStatus",
            "description": "This operation sends to the subscribed consumers both the specific CCS services statuses and the CCS global one. For each CCS individual service, the possible statuses are:-INITIATING: CCS individual service is starting up and is not ready to provide its functionalities;-AVAILABLE_RUNNING: CCS individual service is running in nominal mode and is able to provide its functionalities;-REDUCED_RESILIENCE: redundance loss;-SERVICE_NOT_AVAILABLE: CCS individual service is not available;The CCS global status is the result of the combination of the statuses of the CCS gateway, its AMQP broker and the individual CCS services. Its possible values are:-INITIATING: the CCS Gateway is starting up regardless the status of the CCS individual services. CCS is not ready to provide its services;-AVAILABLE_RUNNING: CCS service is running in nominal mode and is able to provide a service; -REDUCED_RESILIENCE: redundance loss (at least one CCS individual service is REDUCED_RESILIENCE and the other ones are AVAILABLE_RUNNING); -SERVICE_PARTIAL_FAILURE: at least one CCS individual service is SERVICE_NOT_AVAILABLE;-SERVICE_NOT_AVAILABLE: either CCS Gateway or its AMQP broker is not available, regardless the status of the CCS individual services;-SHUTTING_DOWN: CCS Gateway is shutting down following an issued command or unplanned failure.The subscribed consumers are informed of any change regarding the status of CCS (seen as a global Service) and the status of a CCS individual service. When the CCS global status is published, the reason attribute is used to list all the individual service statuses separated by \";\".Each time the status of an individual service is updated, it would trigger the publication of the global CCS status (even if unchanged), with an updated reason.Note: the status of SIMULM and SIMULD services is not provided if the platform state is OPERATIONAL.. ",
            "messages": [
              {
                "name": "ServiceAvailabilityStatus",
                "direction": "IN"
              },
              {
                "name": "void",
                "direction": "OUT"
              }
            ]
          },
          {
            "name": "publishServiceApplianceStatus",
            "description": "This operation sends to the subscribed consumers the various status relative to CCS external interfaces (OLDI, AFTN, METEO, RADAR).The subscribed consumers are informed of any change regarding the status of CCS external interfaces. The status of each external interface is notified separately; the externalInterfaceName field is used to distinguish what interface the status is related to. . ",
            "messages": [
              {
                "name": "ServiceApplianceStatus",
                "direction": "IN"
              },
              {
                "name": "void ",
                "direction": "OUT"
              }
            ]
          },
          {
            "name": "publishServiceResourceUtilisation",
            "description": "This operation sends to the subscribed consumers clients the various resource utilisation (Disk, CPU, Network) related to service appliances of CCS as a global Service.The publication is triggered by the following events:- cpuUtilisation exceeds 95% (alarm start) - cpuUtilisation decreases under 80% (alarm end)- storageCapacityUtilisation changes its status (from OK to NOK or vice-versa)Note: if no cpu start of alarm is notified, no publication is made when the cpu decreases under the 80% threshold.. ",
            "messages": [
              {
                "name": "ApplianceResourceStatus",
                "direction": "IN"
              },
              {
                "name": "void ",
                "direction": "OUT"
              }
            ]
          }
        ],
        "endpoints": [
          {
            "name": "TechnicalSupervisionSubscriber",
            "url": "For security reasons, the addresses will be communicated only to Customers"
          }
        ],
        "messageExchangePattern": "FIRE_AND_FORGET"
      }
    ]
  }
}
