21
ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

Embed Size (px)

Citation preview

Page 1: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

ESA UNCLASSIFIED – For Official Use

Workshop #23Pasadena, USA25rd March 2015

Sam Cooper

Common services update (part 2)

Page 2: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 2ESA UNCLASSIFIED – For Official Use

Overview

Common services are being updated in line with latest COM Expanding to cover the automatic configuration use case

Common services are: Directory

• Service lookup

Login

• Operator log in

Replay

• Replay session management and control

Interaction

• Application and Operator interaction

Configuration

• Service provider configuration management

Part 1

Part 2

Page 3: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 3ESA UNCLASSIFIED – For Official Use

Configuration service

The Configuration service allows a service consumer to activate pre-defined configurations of a service provider

Configuration definition originally outside of scope Only activation of pre-defined configurations

Expansion of service based on MOSSG “plug’n’play” use case to support standardised configuration information Extra operations to list, add, remove, etc

Concept of a standardised XML configurationArea Identifier Service Identifier Area

NumberService Number

Area Version

Common Configuration 3 5 1Interaction Pattern Operation Identifier Operation

NumberSupport in

ReplayCapability

SetINVOKE activate 1 No 1

REQUEST list 2 Yes 2REQUEST getCurrentConfiguration 3 YesREQUEST getXMLConfiguration 4 Yes 3REQUEST add 5 No 4SUBMIT remove 6 NoREQUEST storeCurrentConfiguration 7 No 5REQUEST storeXMLconfiguration 8 No 6

Area Identifier Service Identifier Area Number

Service Number

Area Version

Common Configuration 3 5 1Interaction Pattern Operation Identifier Operation

NumberSupport in

ReplayCapability

SetINVOKE activate 1 No 1

Page 4: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 4ESA UNCLASSIFIED – For Official Use

Concepts: Types of configuration

There are 3 supported types of Configuration: Hard-coded configurations

• Identifiable but have no visible definition

• Their definition is represented by code rather than a configuration file

• Example: camera preset modes

Non-COM compliant configurations

• Do not use the COM object model

• Definition may be held in COM Archive but as a file

• Example: Non-MO service configuration

COM compliant configurations

• Use the COM object model for configuration information

• Definition objects are COM objects

• Example: Aggregation service configuration

Page 5: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 5ESA UNCLASSIFIED – For Official Use

Concepts: Levels of configuration

There are also 3 levels of Configuration: Service Configuration

• Configuration of a single service in a provider

• Includes all the attribute values of its definition objects

Provider Configuration

• The set of “Service Configurations” of a single provider

• Will include zero to many Service Configurations

Composite Configuration

• The set of several “Provider Configurations”

• Used for mission/agency etc level configurations

Page 6: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 6ESA UNCLASSIFIED – For Official Use

Concepts: Configuration representation

There are 3 supported ways of representing a Configuration: No representation

• i.e. hard-coded configurations such as camera preset modes

Implementation-specific representation

• i.e. existing service provider configuration file

COM Standardised representation

• XML representation of COM objects that represent a service’s configuration

• i.e. AggregationDefinition COM objects– But not AggregationValue COM objects

The Configurations shall use the COM object concept for configuration identification Use of the COM Archive service for configuration storage should be optional

COM based services should add a new section to each service specification to define its configuration object

Page 7: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 7ESA UNCLASSIFIED – For Official Use

Operation: list

Inputs: <Service/Provider/Composite>

Outputs: Object ids of configurations

Description: Returns a list of known configurations

Returned object ids can be used by the activate and get operations

Page 8: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 8ESA UNCLASSIFIED – For Official Use

Operation: activate

Inputs: Configuration object id

Outputs: <none>

Description: The activate operation allows a service consumer to active the

designated Configuration for the respective service(s).

The operation causes the Configuration service provider to publish a “Configuration Switch Request” event containing the selected service to be reconfigured

The service provider that implements the selected service shall, after the reception of the event, reconfigure itself and publish a “Configuration Switch Success/Failure” event

Page 9: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 9ESA UNCLASSIFIED – For Official Use

Operation: getCurrentConfiguration

Inputs: <Service/Provider/Composite>

Outputs: Object Ids

Description: The getCurrent operation returns the current configuration of a

<Service/Provider/Composite>

Probably only returns ObjectId (type & key)

Page 10: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 10ESA UNCLASSIFIED – For Official Use

Operation: getXMLConfiguration

Inputs: Object Id, Boolean flag for compact/complete version

Outputs: File/XML

Description: The getXMLConfiguration operation returns the actual Configuration

information in the XML format from the objId stored in the Archive

The Configuration shall be in the Standardised format and one of two levels of detail, compact or complete, can be selected

• Compact contains just the COM object instance identifiers with the respective domains and object types

• Complete augments the compact with the additional set of values inside the respective service objects

Page 11: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 11ESA UNCLASSIFIED – For Official Use

Operation: add

Inputs: <Service/Provider/Composite>, Object Ids

Outputs: <none>

Description: Adds a new Configuration to the list of available configurations in

the Configuration Service

The Configuration must already exist in the COM archive to be added to the Configuration Service

There needs to consideration of how this will work with non-COM compliant services though

Page 12: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 12ESA UNCLASSIFIED – For Official Use

Operation: remove

Inputs: Object Ids

Outputs: <None>

Description: Removes a Configuration from the list of available configurations in

the configuration service

The Configuration shall not be removed from the COM Archive

Page 13: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 13ESA UNCLASSIFIED – For Official Use

Operation: storeCurrentConfiguration

Inputs: <Service/Provider/Composite>, Boolean for auto-add

Outputs: Object Id

Description: Generates a new Configuration object with the current

Configuration of a specific <Service/Provider/Composite>

Stores the new Configuration object in the COM archive

Can be optionally added to the list of available configurations

Page 14: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 14ESA UNCLASSIFIED – For Official Use

Operation: storeXMLConfiguration

Inputs: File(XML) Optional Name, Boolean for auto-add

Outputs: Object Id

Description: Reads a configuration held in the standardised XML representation from supplied file

The StoreXMLConfiguration generates a new Configuration object from the objects held in the XML file

• It stores the Configuration objects in the COM archive

• Optionally added to the list of available configurations

The newly generated Configuration object should be checked for consistency

• An error shall be raised if the configuration is not valid

For every COM object present within the XML file

• If it does not exist in the COM Archive– A new object shall be created with the same content and stored in the COM Archive

• If it already exists in the COM Archive– Nothing shall be created and the existing object shall be referenced

Page 15: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 15ESA UNCLASSIFIED – For Official Use

Standardised XML Representation

Features: Standardised representation is optional

Only supports COM based services

Multi-level (COM && then service specific)

There must be a way to relate aspects of one service configuration of a specific provider to aspects of another service configuration of that provider COM object identifiers can do this

Gives configuration coherency

For a Composite configuration, each Provider section must be uniquely identifiable The standardised representation must support a way for the configuration to

indicate which parts apply to which providers

A merge with the Directory Service should produce a Space System Model Implies the same tree organisation

Means Directory service output should have a standard representation too

This is in fact the configuration of the Directory Service provider

Page 16: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 16ESA UNCLASSIFIED – For Official Use

Use case: Service client

Service client needs to get the current Provider Configuration: Find Directory service

Perform lookup on Directory service

• Returns response which contains some provider objects

• Work out which providers we want to talk to

• Find Configuration service in Directory service

Get current configuration of providers from configuration service

• Configuration::getCurrentConfiguration operation

The configuration can then be retrieved from the Archive (using the COM Archive operations)

• Or requested as a XML file with getXMLConfiguration

Can choose to get it as either:

• A large XML file containing references and definition values

• A small XML file containing just references

• Or a set of COM object references (in MAL format rather than XML directly) from the COM Archive

Page 17: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 17ESA UNCLASSIFIED – For Official Use

Use case: Provider reconfigure

Sequence for reconfiguring service provider: … find Configuration service in Directory service

Get list of possible Provider Configurations

• Select one from list and call activate on Configuration service provider

First case is when the Configuration service provider is the same application as the Parameter service provider

• In this mode the activate request results in a COM event being published announcing the configuration change request

• Provider should publish a matching event giving the success or failure result

Second case is when the Configuration service provider is shared between many applications

• In this mode the activate request results in a COM event being published announcing the configuration change request

• Any affected providers should publish a matching event giving their success or failure result

Page 18: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 18ESA UNCLASSIFIED – For Official Use

Use case: Service provider start-up

Two possible sequences for this: First is where provider loads in last or default configure

automatically

• Expanded below

Second is where provider starts up without a configuration and waits to have one activated for it

• See “Provider reconfigure” sequence

Sequence for service provider start-up: … find Configuration service in Directory service

Get list of possible configurations from Configuration service provider

• Need to be able to represent “default” or “last state” configuration

Load in configuration and reconfigure internally

Page 19: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 19ESA UNCLASSIFIED – For Official Use

Use case: Store current configuration

Sequence to store the current service Provider Configuration for reuse on start-up: … find Configuration service in Directory service

Call storeCurrentConfiguration on the Configuration Service provider passing in the provider/service object identifiers

• The actual service configuration objects are not duplicated as they are already in the archive

• The new configuration is added to the list of available configurations for that service/provider

• … ???

The configuration is marked as the current/latest configuration

Page 20: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 20ESA UNCLASSIFIED – For Official Use

Summary

Work to do is:

Define how the Configuration service represents the COM configuration objects

Complete the specification of how the activation and store operations work

Define what details each COM based service must list

Update the book!

Page 21: ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)

CCSDS Common services| 25Mar15| ESA | Slide 21ESA UNCLASSIFIED – For Official Use

End