29
June 20, 2022 Philipp Spliethoff Overview of my student placement

Overview of my student placement

Embed Size (px)

DESCRIPTION

Overview of my student placement. Philipp Spliethoff. 31 October 2014. Agenda. SOIS Proof of Concept – File Store Service Basic Overview Specific implementations Documentation XtratuM Context Analyser. Spacecraft Onboard Interface Services (SOIS). SOIS – Overview. - PowerPoint PPT Presentation

Citation preview

Page 1: Overview of my student placement

April 20, 2023

Philipp Spliethoff

Overview of my student placement

Page 2: Overview of my student placement

Placement Overview2

Agenda

SOIS Proof of Concept – File Store ServiceBasic OverviewSpecific implementationsDocumentation

XtratuMContext Analyser

Page 3: Overview of my student placement

Placement Overview3

Spacecraft Onboard Interface Services (SOIS)

Page 4: Overview of my student placement

Placement Overview4

SOIS – Overview

Standardised Interfaces of spacecraft equipment by specifying well-defined serviceAbstracting subnetworks of the spacecraftThree service layers:

Application Support Layer servicesProvide common capabilities needed onboardUse subnetwork layer services (locally or remotely)

Transfer Layer servicesSubnetwork Layer services

Associated with one underlying data linkMapped to best possible extend (using convergence functions)

Defined by the Consultative Committee for Space Data System (CCSDS)

Page 5: Overview of my student placement

Placement Overview5

Spacecraft Onboard Interface Services

Com

munication M

anagement

Cmd & DataAcquisitionServices

TimeAccessService

File &Packet Store

Services

MessageTransferService

DeviceEnumeration

Service

PacketService

MemoryAccessService

SynchronisationService

DeviceDiscoveryService

TestService

Datalink Convergence Protocols

ApplicationLayer

ApplicationSupport Layer

TransferLayer

SubnetworkLayer

Network Protocol

Transport Protocol

Milbus SpaceWire CAN Wireless

MissionSpecific

Applications

Page 6: Overview of my student placement

Placement Overview6

SOIS – Benefit

Reusability of user-applicationsIndependent development of s/w and h/w (stable subnetworks)Core servicesPorting subsystems and payload across missions

reduced development time and cost

Page 7: Overview of my student placement

Placement Overview7

Spacecraft Onboard Interface Services Proof of Concept

File Store Service

Page 8: Overview of my student placement

Placement Overview8

SOIS File Store Service

The SOIS File Store Services provide a standard interface to allow onboard software to request:

access to files resident in a file storemodifications to files in a file storemanagement of files within a file store (e.g., create, delete, rename)

Split into File Access Service and File Management Service

Page 9: Overview of my student placement

Placement Overview9

SOIS FSS – File Access Service Primitives

Open a fileClose a fileRead from a fileWrite to a fileOptional:

Seek to an Offset of a file

Easy to implement

One-to-one wrapping on POSIX system calls (open, close, lseek etc.)

Page 10: Overview of my student placement

Placement Overview10

SOIS FSS – File Management Service Primitives

list the contents of a directorycopy and move filescreate and delete files.Optional features:

create, rename and delete directoriesget and change the user entity’s current directoryrename fileslock or unlock fileslist the currently locked filesfind a file within a file storeget the status of a file

Page 11: Overview of my student placement

Placement Overview11

SOIS File Store Service

SSMMproviding flat Memory I/FOBC

File andPacketStoreServices

Remote File System

UserApplications

Subnetwork Packet Service

Network File and Packet Store Access Protocols

File and PacketStore System

Subnetwork Packet Service

Network File and Packet Store Access Protocols

Subnetwork-Specific Packet Protocol

Subnetwork-Specific Packet Protocol

Service Primitives

SSMMproviding flat Memory I/F

Remote BlockStorage Protocol

Subnetwork Packet Service

Subnetwork-Specific Packet Protocol

Remote BlockStorage Protocol

Subnetwork Packet Service

Subnetwork-Specific Packet Protocol

Data Storage

Block Access

Example Deployment of the SOIS File Store Service using multiple Distributed Mass Memories

Page 12: Overview of my student placement

Placement Overview12

SOIS FSS – My Implementation

RTEMS LibraryHighly Configurable (at build time) through pre-processor directivesImplements all features defined by the SOIS (minimal and optional)AVL Tree added to global utility repositorynon-deterministic state machine to evaluate wildcard expressionsDocumented using Doxygen

Page 13: Overview of my student placement

Placement Overview13

SOIS FSS – Implementation

Based on:RTEMS 4.8RTEMS In Memory File System (IMFS)Direct Function Calls

Can easily be advanced to use network protocol

OBC

FileStoreServices

UserApplications

Network File Store Access Protocols

File Store System

Direct Function Call acting as Underlying Transport

Network File Store Access Protocols

Service Primitives

Data Storage

Block Access

IMFS

Page 14: Overview of my student placement

Placement Overview14

SOIS FSS – Function Implementation

Direct wrapper functions to all POSIX compatible FSOpen, Close, Read, Write, Seek, CreateFile, DeleteFile, CreateDir, DeleteDir

Implementation through combination of existing POSIX function

ListDirectory, CopyFile, MoveFile, MoveDir

Additional mechanism neededGetWorkingDirectory, RenameDir, FindFile, FileLocks(Lock/UnlockFile, ListLockedFiles…)

MoveDir is not defined by SOIS FSS, implements RenameDir through use of POSIX calls (rename() is broken in RTEMS 4.8)

Page 15: Overview of my student placement

Placement Overview15

SOIS FSS – Locking

Lock unopened filesLocks restrict access to the fileLock types:

lock-owner read-only access, all other user entities no accesslock-owner read-only access, all other user entities read-only accesslock-owner read-write access, all other user entities no access

No native locking from file systemNo way to check if a file is opened

Possible Solutions:1. POSIX chmod() to change access rights according to the lock2. Create lock files on the file system3. Use a internal structure to store information about locks

Page 16: Overview of my student placement

Placement Overview16

SOIS FSS – Locking Design

Page 17: Overview of my student placement

Placement Overview17

Util – AVL Tree

Self balancing binary search treeSearch in log(n) timeFast lookupBalancing done when item is inserted/deleted (log(n) time)

Operations:InsertDeleteFindInorder Walk (e.g. print content sorted

A

E

B

D

C

E

A

E

B

D

C

E

A

EB

D

C F

Insert Sequence: A, B, C, D, E, F

Binary Tree AVL Tree

A

E

B

D

C

E

A

E

B

D

C

E

A

EB

D

C F

Page 18: Overview of my student placement

Placement Overview18

SOIS FSS - FindFile

SOIS recommends using wildcards to match file namesnon-deterministic finite state machine to evaluate wild card characters to represent the expressionComparison between a filename and the machine in linear timePossible characters: *, +, ?, {, }

Page 19: Overview of my student placement

Placement Overview19

State machine

State machine for “a*c?d+e”

Page 20: Overview of my student placement

Placement Overview20

Documentation

Doxygen

Page 21: Overview of my student placement

Placement Overview21

Doxygen

Generate documentation from comments in source filesLanguages: C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D Output as HTML, Latex, rtf, PS, PDF, Man-PagesHighly configurableOpen Source and licensed under GNU GPL

Documentation is not affected by GPL

Internal PreprocessorEasy switch between different Documentation version (e.g. customer and internal version)

Page 22: Overview of my student placement

Placement Overview22

Doxygen – HTML Output Sample

Page 23: Overview of my student placement

Placement Overview23

XtratuM

Page 24: Overview of my student placement

Placement Overview24

XtratuM - Overview

Hypervisor for embedded systems enabling partitioningFree and Open Source (GPLv2)

Applications on top don’t derive that

Developed for leon2Able to run RTOS like RTEMS or Linux

Target:Get it working on leon3Test features

Page 25: Overview of my student placement

Placement Overview25

XtratuM - Conclusion

Easy to set upHardware and partitions are defined in a XML fileDocumentation is availablecreated Detailed xml file description

<CyclicPlanTable><Plan id="0" majorFrame="10s">

<Slot id="0" start="0ms" duration= "5s" partitionId="0"/><Slot id="1" start="5s" duration= "1s" partitionId="1"/><Slot id="2" start="6s" duration= "500ms" partitionId="2"/><Slot id="3" start="6500ms" duration= "100ms" partitionId="3"/><Slot id="4" start="6700ms" duration= "50ms" partitionId="4"/><Slot id="5" start="6800ms" duration= "10ms" partitionId="5"/><Slot id="6" start="6900ms" duration= "5ms" partitionId="6"/><Slot id="7" start="6950ms" duration= "1ms" partitionId="7"/><Slot id="8" start="7000ms" duration= "2s" partitionId="8"/>

</Plan></CyclicPlanTable>

Page 26: Overview of my student placement

Placement Overview26

XtratuM - Conclusion

Features:IPC restricted by Partition hierarchy and definition

XAL – Basic C supportRTEMS – is available, but I didn’t test itAltenatives:

LithOSPaRTiKle (GPLv2)

Page 27: Overview of my student placement

Placement Overview27

Context Analyser

Page 28: Overview of my student placement

Placement Overview28

Context Analyser

Get real timing information about RTEMS tasks running on hardware

Approach:Output Task ID to IO pins of the RASTA/FPGA-Board

Inserted code into the RTEMS source code to output the ID

Page 29: Overview of my student placement

Placement Overview29

Context Analyser

Result:Works with OscilloscopeLogic Analyser is ordered