Download presentation
Presentation is loading. Please wait.
Published byBethanie Rodgers Modified over 9 years ago
1
ESA UNCLASSIFIED – For Official Use SOIS EDS & Toolchain ESA YGT Study F. Torelli & P. Skrzypek CCSDS Fall Meeting 2013 28/10/2013
2
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 2 ESA UNCLASSIFIED – For Official Use Outline EDS study overview Interface description Process description Software framework and toolchain Recap and open points Credit for the onion diagram: S. Fowell
3
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 3 ESA UNCLASSIFIED – For Official Use EDS study overview
4
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 4 ESA UNCLASSIFIED – For Official Use EDS study timeline Sep Aug Oct NovDec Jan Feb Mar Apr May Jul Aug INTRODUCTION TO SOIS INTRODUCTION TO ATB DEFINING EDS REQUIREMENTS ANALYSIS OF NPAL ICD RESEARCHING DRIVER GENERATION STUDY VARIOUS DESCRIPTION FORMATS SEARCHING FOR SUITABLE CODE GENERATORS LEARNING ASN.1 AND SDL EXTENSIVE TESTING OF ASN1SCC TOOL FIRST EDS SCHEMA MAPPING BETWEEN EDS AND ASN.1 IMPLEMENTING EDS TO ASN.1 TRANSLATOR UPDATE SCHEMA AND MAPPING IMPLEMENTING NPAL EDS PREPARATION FOR SOIS WG MEETING EXTENDING EDS TO ASN.1 TRANSLATOR MAPPING BETWEEN EDS AND SDL IMPLEMENTING DVS SERVICE IN ADA TRYING TO LINK EVERYTHING TOGETHER IMPLEMENT EDS TO SDL TRANSLATOR SOIS WG MEETING TASTE TRAINING MID-TERM PRESENTATION FINAL PRESENTATION SOIS WG MEETING
5
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 5 ESA UNCLASSIFIED – For Official Use SOIS Services Overview & key features EDS Interface data types based on ASN.1 Protocol description based on SDL Transactions connecting service primitives between layers Different service models Software framework & toolchain Threads and queues Code generation based on intermediate formats to leverage existing open source tools SOIS EDS DVS Service Interface DACP Description DAS Service Interface DAP Description SubNet Service Interface DVS Interface DACP Implementation DAS Interface DAP Implementation SubNet Interface
6
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 6 ESA UNCLASSIFIED – For Official Use Interface description
7
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 7 ESA UNCLASSIFIED – For Official Use Data types Integer number value constraints binary encoding rules Enumeration field value constraints binary encoding rules Floating point number value constraints binary encoding rules Bit string value constraints binary encoding rules dynamic length Array dynamic length Sequence up to one component of dynamic length can put additional constraints on member types binary encoding rules
8
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 8 ESA UNCLASSIFIED – For Official Use Integer Value constraints: Interval with open or closed boundaries Constant value Multiple constraints result in an union Binary encoding rules: Required if the type is used as a packet or memory field Supported representations: positive and two’s-complement Size expressed in bits Little-endian encoding available only for sizes: 16b, 32b, 64b, etc. 1. 2. 3. 4. <interval lbound="closed" lvalue="-10" 5. rbound="open" rvalue="10"/> 6. 7. 8. 9. <encoding representation="positive" 10. size="16" endianness="big"/> 11. 12. 13.
9
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 9 ESA UNCLASSIFIED – For Official Use Enumeration Value constraints: Finite set of options It is possible to assign integer number to the option if necessary Binary encoding rules: Required if the type is used as a packet or memory field Assumed positive encoding Size expressed in bits Little-endian encoding available only for sizes: 16b, 32b, 64b, etc. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
10
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 10 ESA UNCLASSIFIED – For Official Use Floating point number Value constraints: Interval with open or closed boundaries Multiple constraints result in an union Binary encoding rules: Required if the type is used as a packet or memory field Assumed IEEE754-1985 encoding Size expressed in bits, but only 32 or 64 bits allowed Support for endianness 1. 2. 3. 4. <interval lbound="closed" lvalue="0" 5. rbound="open" rvalue="3.14"/> 6. 7. 8. 9. 10. 11.
11
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 11 ESA UNCLASSIFIED – For Official Use Bit string Value constraints: Not required Useful to describe a constant bit pattern within a packet Binary encoding rules: Support for endianness For little-endian encoding, word_size attribute is required Dynamic length: For variable length, min and max attributes should be provided For static length, only size attribute is required 1. 2. 3. 4. 5. 6. 7. <encoding dynamic="false" size="4" 8. word_size="4" endianness="big"/> 9. 10. 11.
12
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 12 ESA UNCLASSIFIED – For Official Use Array Dynamic length: For variable length, min and max attributes should be provided For static length, only count attribute is required 1. 2. 3. 4. 5. 6. 7. 8.
13
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 13 ESA UNCLASSIFIED – For Official Use Sequence Dynamic length: Sequence may have maximum one member of dynamic size Constraints on member types: Constraints given here will be intersected with type’s original constraints Great tool for packet decoding! Binary encoding rules: Support for endianness For little-endian, word_size attribute is required 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. <interval lbound="closed" lvalue="2" 15. rbound="closed" rvalue="255"/> 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
14
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 14 ESA UNCLASSIFIED – For Official Use Example of functional interface this section lists all possible relations relation which can be aquired relation which can be commanded relation is identified by value_id type value_id may contain many fields structure of exchanged data structure of associated metadata this section defines all data types used 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
15
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 15 ESA UNCLASSIFIED – For Official Use Process description
16
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 16 ESA UNCLASSIFIED – For Official Use Instructions Data handling immediate values aliases variables: declaring, accessing moving data arithmetic operations Calibration linear calibration Flow control loops conditional statements Using SOIS services Device Access Service Packet Service Memory Access Service
17
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 17 ESA UNCLASSIFIED – For Official Use Data handling Immediate values 1. 2. Aliases 1. 2. Declaring variables 1. 2. Accessing variables 1. 2. Moving data 1. 2. 3. 4. 5. 6. 7. 8. 9. Arithmetic operations 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
18
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 18 ESA UNCLASSIFIED – For Official Use Calibration Linear calibration 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. More calibrations could be supported
19
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 19 ESA UNCLASSIFIED – For Official Use Flow control Loops 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Conditional statements 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
20
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 20 ESA UNCLASSIFIED – For Official Use Using SOIS Services 1/3 Device Access Service 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. Memory Access Service 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
21
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 21 ESA UNCLASSIFIED – For Official Use Using SOIS Services 2/3 Packet service - sending 1. 2. 3. 4. 5. 6. 7. 8. 9. Packet service - receiving 1. 2. 3. 4. 5. 6. 7. 8. 9. Packet service – receiving multiple packets 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
22
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 22 ESA UNCLASSIFIED – For Official Use Using SOIS Services 3/3 Transaction model 1:1 Transaction model Save Transaction model Passthrough request load DAS/DVS save save save DAS/DVS
23
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 23 ESA UNCLASSIFIED – For Official Use Example of DACP implementation 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
24
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 24 ESA UNCLASSIFIED – For Official Use Example of DACP attachment to service interface 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Declares variables used inside process description connects id variable to value_id contents connects data variable to the value of relation connects meta data variable to meta data information description of the process
25
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 25 ESA UNCLASSIFIED – For Official Use Software framework and toolchain
26
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 26 ESA UNCLASSIFIED – For Official Use Software framework Low-level High-level System THREAD Queues for primitives Dispatcher thread Auto-generated DACP/DAP processes
27
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 27 ESA UNCLASSIFIED – For Official Use Translation tools asn1Scc Open source ASN.1 compiler developed by Semantix. The compiler generates C and Ada source code with the proper data type declaration, encoding/decoding functions, initialization procedures and validation of constraints. OpenGeode Open source SDL editor developed by ESA. The program also converts SDL process description into Ada source code. Custom translator Dedicated application developed within the EDS study to convert XML interface in ASN.1 sources.
28
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 28 ESA UNCLASSIFIED – For Official Use DVS framework DAS framework Supporting library Generated code Code generation from EDS EDS device_dacp_iv.pr device_dacp.pr device_dap_iv.pr device_dap.pr device_fi.asn1 device_ds.asn1 device_ps.asn1 device_mas.asn1 fi.asn1 ds.asn1 dacp.asn1 sys.asn1 ps.asn1 mas.asn1 dap.asn1 EDS Conv Documentation DataView.py Ada source code for encoding, decoding, etc. asn1Scc Documentation Ada source code of the processes Ada package with instantiation of all processes according to assembly information assembly information Man EDS Conv Other devices.asn1 files OpenGeode Other devices.pr files Man
29
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 29 ESA UNCLASSIFIED – For Official Use Toolchain – step 1 Translate XML file into series of: ASN.1 files – interface view PR files –SDL process Translation is performed by a dedicated program developed for this purpose. Translator also performs consistency-checks hard to implement in XSD file (e.g. that maximum one member of a sequence is dynamic). device_dacp_iv.pr device_dacp.pr device_dap_iv.pr device_dap.pr device_fi.asn1 device_ds.asn1 device_ps.asn1 device_mas.asn1 EDS
30
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 30 ESA UNCLASSIFIED – For Official Use Toolchain – step 2 Create ASN.1 files describing complete interfaces: fi – functional interface ds – device-specific interface ps – packet interface mas – memory interface Create ASN.1 files enumerating processes in the system: dacp – device abstraction control procedures dap – device-specific access protocols EDS device_dacp_iv.pr device_dacp.pr device_dap_iv.pr device_dap.pr device_fi.asn1 device_ds.asn1 device_ps.asn1 device_mas.asn1 device_dacp_iv.pr device_dacp.pr device_dap_iv.pr device_dap.pr device_fi.asn1 device_ds.asn1 device_ps.asn1 device_dacp_iv.pr device_dacp.pr device_dap_iv.pr device_dap.pr device_fi.asn1 device_ds.asn1 device_ps.asn1 fi.asn1 ds.asn1 dacp.asn1 device_mas.asn1 sys.asn1 ps.asn1 mas.asn1 dap.asn1
31
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 31 ESA UNCLASSIFIED – For Official Use Toolchain – step 3 device_fi.asn1 device_ds.asn1 device_ps.asn1 fi.asn1 ds.asn1 dacp.asn1 device_mas.asn1 sys.asn1 ps.asn1 mas.asn1 dap.asn1 device_mas.asn1 Documentation DataView.py Ada source code for encoding, decoding, etc. Using asn1Scc program, process all ASN.1 files. On output, we get: Documentation on data types in HTML format Ada source code for handling those data types DataView.py – a Python source code with all information on data types. This file is used by OpenGeode to validate the SDL code
32
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 32 ESA UNCLASSIFIED – For Official Use Toolchain – step 4 Using OpenGeode program, process all PR files. On output, we get: Documentation (SDL code expressed by grahpical blocks according to ITU-T Z.106 standard) Ada source code device1_dacp_iv.pr device1_dacp.pr device1_dap_iv.pr device1_dap.pr device2_dacp_iv.pr device2_dacp.pr device2_dap_iv.pr device2_dap.pr device3_dacp_iv.pr device3_dacp.pr device3_dap_iv.pr device3_dap.pr DataView.py Documentation Ada source code of a process
33
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 33 ESA UNCLASSIFIED – For Official Use Toolchain – step 5 Using assembly information, another package is created. This package instantiates generic Ada processes. Each process is assigned with a process id. Each device is assigned with a value id. At the moment, this is done manually. Ada process code dacp.ads dap.ads Ada package with instantiation of all processes according to assembly information assembly information EDS ADDR 48 49 50 51 52
34
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 34 ESA UNCLASSIFIED – For Official Use Toolchain – step 6 Final step is to link together the generated code with the static source code of the services. DVS and DAS implementation can be considered as a framework, that handles primitive queueing and calls auto-generated processes. Ada package with instantiation of all processes according to assembly information Implementation of supporting procedures (e.g. calibration) Implementation of DAS service Implementation of DVS service
35
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 35 ESA UNCLASSIFIED – For Official Use Recap and open points
36
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 36 ESA UNCLASSIFIED – For Official Use Recap Achieved in the EDS study Data types and interface definition based on ASN.1 Process description based on SDL Transaction-level model for services “Informal” EDS XML Schema Mapping between XML and ASN.1 Translator from XML to ASN.1 Mapping between XML and SDL Code generation using custom and open source tools DVS service implementation
37
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 37 ESA UNCLASSIFIED – For Official Use Future work? Potential future work 1.To implement the translator from XML to SDL 2.To convert EDS Schema to XSD file 3.To implement DAS service 4.To automation the assembly process 5.To test generated code in mission context
38
SOIS EDS - YGT Study | F. Torelli & P. Skrzypek | CCSDS Fall Meeting 2013 | 28/10/2013 | TEC-SWS | Slide 38 ESA UNCLASSIFIED – For Official Use Open points Open Points Should EDS interface promote ASN.1? State machines vs. transactional model Service models as part of the EDS or of the framework?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.