120 likes | 292 Views
Inputs to SOIS EDS Schema. F. Torelli CCSDS SOIS WG, Darmstadt 17/04/2012. Outline. Objectives of SEDS Schema Main sections of SEDS XML technology and SEDS Schema Open points Status of ESA activities. Objectives of SEDS Schema. One CCSDS book What target color ?
E N D
Inputs to SOIS EDS Schema F. TorelliCCSDS SOIS WG, Darmstadt17/04/2012
Outline • Objectives of SEDS Schema • Main sections of SEDS • XML technology and SEDS Schema • Open points • Status of ESA activities
Objectives of SEDS Schema • One CCSDS book What target color? • One XML Schema As part of the same book? • The XML Schema shall be the template for all the SOIS EDS instances. • The XML Schema shall be “modular”, to allow different entities to fill different sections if necessary. • The XML Schema shall be built using SOIS DoT and SOIS C&DA Services Primitives.
Main sections of SEDS • DVS (functional) I/F • Mapping (bidirectional) between DVS I/F and DAS I/F • DAS I/F • Mapping (bidirectional) between DAS I/F and Subnetwork I/F • Subnetwork I/F SOIS DVS Service Primitives (API, arguments, configuration parameters) SOIS DVS SOIS DAS Service Primitives (API, arguments, configuration parameters) SOIS DAS SOIS Subnetwork Service Primitives (API, arguments, configuration parameters) SOIS Subnetwork
XML and SEDS Schema - Technology • Interface sections XSD • Mapping sections SCXML + MathML • XSD describes in XML the static interfaces.http://www.w3.org/XML/Schema • SCXML describes in XML state machines, allowing to represent protocols and operations sequences.http://www.w3.org/TR/scxml/ • MathML describes in XML mathematical functions, allowing to represent transfer and calibration functions.http://www.w3.org/Math/
SCXML Example 1/2Source: http://commons.apache.org/scxml/usecases/scxml-stopwatch.html
SCXML Example 2/2Source: http://svn.apache.org/repos/asf/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml/env/stopwatch.xml <?xml version="1.0" ?> - <!-- [...] --> - <scxmlxmlns="http://www.w3.org/2005/07/scxml" version="1.0" initialstate="reset"> - <state id="reset"> <transition event="watch.start" target="running" /> </state> - <state id="running"> <transition event="watch.split" target="paused" /> <transition event="watch.stop" target="stopped" /> </state> - <state id="paused"> <transition event="watch.unsplit" target="running" /> <transition event="watch.stop" target="stopped" /> </state> - <state id="stopped"> <transition event="watch.reset" target="reset" /> </state> </scxml>
XML and SEDS Schema - Sections • Service I/F sections should describe the service primitives and the related parameters. • The mapping I/F sections should use as inputs the service interface of one layer and as output the service interface of the layer above (or below). • The types and terms used inside the schema should belong to the SOIS DoT. • The actual device SOIS EDS shall contain multiple instantiations of the sections above if multiple (syntactic or semantic) types are supported as input parameters.
SOIS Primitives Recap 1/2 Device Virtualisation Service: • ACQUIRE_FROM_DEVICE.request(DVSAP Address, Transaction Identifier, Virtual Device Identifier, Value Identifier) • ACQUIRE_FROM_DEVICE.indication(DVSAP Address, Transaction Identifier, Value, Result Metadata, Timestamp (optional)) • COMMAND_DEVICE.request(DVSAP Address, Transaction Identifier, Virtual Device Identifier, Value Identifier, Value) • COMMAND_DEVICE.indication(DVSAP Address, Transaction Identifier, Result Metadata) Device Access Service: • ACQUIRE_FROM_DEVICE.request(DVSAP Address, Transaction Identifier, Virtual Device Identifier, Value Identifier) • ACQUIRE_FROM_DEVICE.indication(DVSAP Address, Transaction Identifier, Value, Result Metadata, Timestamp (optional)) • COMMAND_DEVICE.request(DVSAP Address, Transaction Identifier, Virtual Device Identifier, Value Identifier, Value) • COMMAND_DEVICE.indication(DVSAP Address, Transaction Identifier, Result Metadata)
SOIS Primitives Recap 2/2 SubNetwork Memory Access Service: • READ.request(MASAP Address, Destination Address, Transaction ID, Memory ID, Start Memory Address, Size, Priority, Channel, Authorisation (optional)) • READ.indication (MASAP Address, Destination Address, Transaction ID, Memory ID, Start Memory Address, Size, Priority, Channel, Data, Result Metadata) • WRITE.request(MASAP Address, Destination Address, Transaction ID, Memory ID, Start Memory Address, Size, Priority, Channel, Data, Acknowledge (optional), Authorisation(optional), Verification (optional)) • READ/MODIFY/WRITE.request(MASAP Address, Destination Address, Transaction ID, Memory ID, Memory Address, Size, Mask, Priority, Channel, Data, Acknowledge (optional), Authentication (optional), Verification (optional)) • MEMORY_ACCESS_RESULT.indication (MASAP Address, Destination Address, Transaction ID, Memory ID, Start Memory Address, Size, Result Metadata) Packet Service: • PACKET_SEND.request(PSSAP Address, PDSAP Address, Service Class, Priority, Channel, Data) • PACKET_RECEIVE.indication(PSSAP Address, PDSAP Address, Service Class, Channel, Data) • PACKET_FAILURE.indication (PSSAP Address, PDSAP Address, Failure Metadata)
Open points • DoT starting point • SPA Ontology • Mapping between SOIS service • 1-to-1? • 1-to-N? • N-to-1? • N-to-N? • Constrains/rules for state machines and math functions • Framework/template? • Open?
Status of ESA activities • EDS TRP “Adoption of Electronic Data Sheets and Device Virtualisation for onboard devices” at TEC-ED proposal from Scisys under evaluation.(Stuart knows the status better) • Young Graduate Trainee at TEC-SW has been selected for 1 year of research on the SOIS EDS topics.Starting date September 2012. Both activities should feedback the results in the next SOIS WG meeting.