Upload
jonathan-shaw
View
220
Download
0
Tags:
Embed Size (px)
Citation preview
ESA UNCLASSIFIED – For Official Use
Workshop #23Pasadena, USA25rd 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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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!
CCSDS Common services| 25Mar15| ESA | Slide 21ESA UNCLASSIFIED – For Official Use
End