41
IMA Kernel Qualification preparation Mark Hann, Fabrice Cros, Regis De Ferluc – Final Presenation SCISYS, AIRBUS, TAS, Trinity College Dublin 9 th June 2016

IMA Kernel Qualification preparation

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IMA Kernel Qualification preparation

IMA Kernel Qualification preparation Mark Hann, Fabrice Cros, Regis De Ferluc – Final Presenation

SCISYS, AIRBUS, TAS, Trinity College Dublin 9th June 2016

Page 2: IMA Kernel Qualification preparation

• Define Partitioning Kernel Requirements for the European Space Domain.

• Define how the Partitioning Kernel will be qualified in European Space Domain » ESA Study

• Consortium:

• Supported by:

Kernel Qualification Preparation Objectives

IMA-SP Kernel Qualification Preparation 2 9th June 2016

Trinity College Dublin

Project Lead:

Phase 1:

Phase 2:

Phase 3:

Page 3: IMA Kernel Qualification preparation

Scope of Qualification

IMA-SP Kernel Qualification Preparation 3 12 May 2016

Partitioning Kernel (PK)

Hardware Node

System Partition

Application Partition

Application Partition

I/O Drivers

Application Software

I/O Devices

Processor

Operating System

TSP Abstraction Layer

System Support Services

Operating System

TSP Abstraction Layer

Operating System

TSP Abstraction Layer

Application Software

Page 4: IMA Kernel Qualification preparation

• Phase 1: Consolidation of requirements baseline, for IMA Partitioning Kernels » Conformance assessment of shortlisted kernels, against requirements

baseline.

• Phase 2: Overall qualification strategy and detailed test plan for qualification of IMA Separation Kernels » Identification of suitable methods and techniques for verification and

validation. › Formal Methods Activities Described in Separate Presentation

• Phase 3: Experimentation and evaluation of the defined qualification strategy » Evaluation of adequacy and appropriateness of the selected methods

and techniques.

Kernel Qualification Preparation

IMA-SP Kernel Qualification Preparation 4 9th June 2016

Page 5: IMA Kernel Qualification preparation

• Phase 1: Consolidation of requirements baseline, for IMA Partitioning Kernels

» Conformance assessment of shortlisted kernels, against requirements baseline.

Kernel Qualification Preparation

IMA-SP Kernel Qualification Preparation 5 9th June 2016

Presenter:

Page 6: IMA Kernel Qualification preparation

Requirement Baseline • Requirements are segregated between:

» CORE Requirement: requirement specifying an essential functionality of the partitioning kernel under specification

» EXTENDED Requirements: requirement specifying a non-essential or highly specific functionality of the partitioning kernel under specification. These requirements are second priority requirements that can be de-scoped in a qualification process.

• Multi-Core Requirements:

» Defined in annex of the document » Most (>95%) of the single-core requirement are also multi-core

requirements

• EXTENDED and Multi-Core Requirements have not been considered for the next phase » Targets are only single core processors » Only core requirements are mandatory in the follow-up project

9th June 2016 6 IMA-SP Kernel Qualification Preparation

Page 7: IMA Kernel Qualification preparation

• Input documents » ARINC 653 standard

» IMA-SP requirements baseline

» LVCUGEN software System Specification

• Additional concepts » Authorized partition

» Synchronization on external interrupts

» Zero copy IPC

» Virtualized interrupts

9th June 2016 7

Requirement Baseline

IMA-SP Kernel Qualification Preparation

Page 8: IMA Kernel Qualification preparation

• Space partitioning » Using hardware MMU to enforce memory segregation

» Memory areas authorized (or not) by configuration at design time

• Time partitioning » Cyclic Scheduling plan

» Major Frame (MAF)

• Inter-partition communication » Queuing ports

» Sampling ports

9th June 2016 8

Major Frame (MAF)

MAF

P1 P2 P3 P4 P2 P4 P1

P3P1

P4P2Timestep

Timeslot

Basic Time and Space Partitioning concepts

IMA-SP Kernel Qualification Preparation

Page 9: IMA Kernel Qualification preparation

• Special rights granted » Start/stop/restart a partition

» Change scheduling plan

» Access the mode of a partition

» Read access to the configuration of all ports

» Read access to the Health monitoring logs

• Benefits » Allow centralized FDIR in a partition

» Avoid complexity for the configuration of kernel services

» Transfer of Health Monitoring event log to ground segment

9th June 2016 9

Authorized partition

IMA-SP Kernel Qualification Preparation

Page 10: IMA Kernel Qualification preparation

• Feature » Avoid desynchronization after some time

» Small jitter window need to be handled by kernel

• Benefits

» Resynchronization of on-board time with ground and equipments

» Very precise signal if PPS from GPS is used

9th June 2016 10

Synchronization on external interrupt

IMA-SP Kernel Qualification Preparation

Page 11: IMA Kernel Qualification preparation

• Extended requirement

• Benefits

» Avoid copying three times the message to exchange

» Useful for large messages

• Write sequence

» On request kernel provides a memory buffer address

» The partition writes its data in the memory buffer in user mode

» The partition informs the kernel the writing operation is finished

• Read sequence

» On request kernel provides a memory buffer address

» Partition reads the data from the buffer

» The partition informs the kernel the reading operation is finished

9th June 2016 11

Zero copy inter-partition communication

IMA-SP Kernel Qualification Preparation

Page 12: IMA Kernel Qualification preparation

• External interrupts allowed » During the execution of the authorised partition » Only through virtual interrupts (kernel service) » No access to the actual hardware registers » Integrator responsibility to avoid interrupt sharing » Each partition can mask/unmask/clear interrupts

• Extended interrupts

» Created by the kernel » Avoid polling communication ports » Extended requirement

9th June 2016 12

Virtualized interrupts

IMA-SP Kernel Qualification Preparation

Page 13: IMA Kernel Qualification preparation

• Evaluated separation kernels » Xtratum from FentiSS » PikeOS from SYSGO » AIR from GMVIS

• Compliance to

» The requirement baseline » ECSS E40 and Q80

• Auto evaluation by kernel suppliers

» Not possible to cross check for closed source hypervisors » Partially cross checked for Xtratum as it is open source

• Results provided under NDAs

9th June 2016 13

Evaluation of compliance from existing kernels

IMA-SP Kernel Qualification Preparation

Page 14: IMA Kernel Qualification preparation

• Specify a Qualification Strategy and Plan » Qualification to Category B Software

• Explore Methods and Techniques » Classical Methods » Model Based Testing » Formal methods

• Specify a Test Plan

Phase 2: Qualification Approach

IMA-SP Kernel Qualification Preparation 14 9th June 2016

Presenter:

Page 15: IMA Kernel Qualification preparation

• Qualification objectives:

9th June 2016 IMA-SP Kernel Qualification Preparation 15

Objective is to provide adequate confidence to the customer and to the supplier that the PK software satisfies its requirements throughout the system

lifetime.

Qualification Strategy and Plan

Page 16: IMA Kernel Qualification preparation

• Qualification strategy: » Analysis of the ECSS standards

› ECSS-E-ST-40C › ECSS-Q-ST-80C

» Analysis of qualification/certification process in other domains » Definition of the qualification perimeter » Definition of a quality model » Definition of a Test Plan » Definition of the Qualification Plan

» ITT requirements :

› Qualification criticality level B (ECSS)

9th June 2016 IMA-SP Kernel Qualification Preparation 16

Qualification Strategy and Plan

Page 17: IMA Kernel Qualification preparation

PK binary image

• Partitioning Kernel Qualification perimeter:

9th June 2016 IMA-SP Kernel Qualification Preparation 17

PK

PK core SW

PK Board Dependent

SW

Compilation options / switches

Configuration variables /

options

Qualification Strategy and Plan

Page 18: IMA Kernel Qualification preparation

• Partitioning Kernel Qualification credits

9th June 2016 IMA-SP Kernel Qualification Preparation 18

PK binary image

Target board

Usage domain

Qualification Credits

Qualification activities

Qualification Strategy and Plan

Page 19: IMA Kernel Qualification preparation

• Quality Model

• Derived and tailored from ECSS-Q-HB-80-04A, March 2011, Space Product Assurance Handbook

• Example of applicable metrics: V&V coverage, Adherence to coding standards, Suitability of development documentation, code complexity metrics, Process Assessment, …

• Example of non-applicable metrics : efficiency metrics, reliability metrics, Project Management effectiveness, …

9th June 2016 IMA-SP Kernel Qualification Preparation 19

PK software quality

requirements

PK software characteristics

PK software sub-

characteristics

PK software metrics + target values

Qualification Strategy and Plan

Page 20: IMA Kernel Qualification preparation

• Qualification of existing PK software in the frame of ECSS standards

» For software products whose life cycle data from previous

development are not available and reverse engineering techniques are not fully applicable, the following methods are applied:

› 1. generation of validation and verification documents based on the available user documentation (e.g. user manual) and execution of tests in order to achieve the required level of test coverage;

› 2. use of the product service history to provide evidence of the product’s suitability for the current application.

SPEC Method improvement

» If additional development are required to upgrade the PK to reach compliance to [D02] prior the qualification, it should be done according to ECSS process unless modification impact less than 20% of the code. In this case, the Software Reuse File approach is followed.

9th June 2016 IMA-SP Kernel Qualification Preparation 20

Qualification Strategy and Plan

Page 21: IMA Kernel Qualification preparation

» Safety assessment › A dependability analysis for aspects related to time and space

partitioning shall be performed. › This provides inputs to System and Software Safety assessment

when PK is used in a project.

9th June 2016 IMA-SP Kernel Qualification Preparation 21

Qualification Strategy and Plan

Page 22: IMA Kernel Qualification preparation

• Qualification Process overview

9th June 2016 IMA-SP Kernel Qualification Preparation 22

Qualification Strategy and Plan

Page 23: IMA Kernel Qualification preparation

• Qualification Process overview: new target board

9th June 2016 IMA-SP Kernel Qualification Preparation 23

Qualification Strategy and Plan

Page 24: IMA Kernel Qualification preparation

• State of the art: » Test generation from behavioural model of the system

» Test script (code) generation from models of the tests (abstract test specification).

• Proposed approach » Capture the System Under Test interfaces as models

› PK API › HW platform interfaces

» Propose a formal Abstract Test Specification language › Textual syntax › Reference to the models by names

» Elaborate a test script production process

» Identification of expected benefits

9th June 2016 IMA-SP Kernel Qualification Preparation 24

Model Based Testing techniques and Investigations

Page 25: IMA Kernel Qualification preparation

9th June 2016 IMA-SP Kernel Qualification Preparation 25

1. SUT modelling

2. Abstract test specifciation

3. Code generation

4. Test execution

Model Based Testing techniques and Investigations

Page 26: IMA Kernel Qualification preparation

• Expected Benefits

» Test specification is aligned with system high level specification

» Test scripts development effort saving

» Test scripts aligned with test specification

» 3 PKs to test from a unique test plan

» Easier to adapt to a new target platform / CPU architecture

• Pre-requisite:

» Tooling !

9th June 2016 IMA-SP Kernel Qualification Preparation 26

Model Based Testing techniques and Investigations

Page 27: IMA Kernel Qualification preparation

• Generic Test plan (not PK specific) • Single Core requirements only

» Core and Extended

• 117/132 Requirements are validated by test » 15 by Review & Inspection

• SW Under test is PK and its Configuration, therefore 2 types of test: » Execution of PK test » Configuration tests (allowed/not allowed)

• 37 Tests Specified

Test Plan

IMA-SP Kernel Qualification Preparation 27 9th June 2016

Presenter:

Page 28: IMA Kernel Qualification preparation

• Validation of Requirements

• Fault Injection Tests » Invalid API errors » Configuration Errors

• Load/Stress Tests » Worse case configuration » Long duration

• Robustness Tests » Handling of exception traps » Partition Overrun

• Time and Space Partitioning Requirements » Fault Tree Analysis performed » Failures Tested or by Inspection/Review performed

Types of Tests

IMA-SP Kernel Qualification Preparation 28 9th June 2016

Page 29: IMA Kernel Qualification preparation

Space Partitioning Analysis

IMA-SP Kernel Qualification Preparation 29 9th June 2016

Partition Memory is Modified by External Entity

PK Executes Wrong

interrupt Handler

PK Modifies Partition Context

Unauthorised Partition modifies

partition RAM

PK Writes data to wrong Address given

by other partition

PK Corrupts Data when writing to Partition Memory

PK Corrupts Data when Performing Save and Restore

MMU has bad configuration

Page 30: IMA Kernel Qualification preparation

Time Partitioning Analysis

IMA-SP Kernel Qualification Preparation 30 9th June 2016

Allocated Partition CPU is Modified by External

Entity

Partition not scheduled

according to scheduling

Plan

PK uses Partition CPU

time

Delayed Context Switch

Hypercall WCET

greater than Specified

Context switch

Duration exceeded

Wrong Timing Events

Page 31: IMA Kernel Qualification preparation

• The Objectives were to:

» Define the Environment

» Define all Test Artefacts

» Explore benefits and limitations of selected methods: › By Executing a subset of the test plan

Phase 3: Case Study

IMA-SP Kernel Qualification Preparation 31 9th June 2016

Presenter:

Page 32: IMA Kernel Qualification preparation

SW Under Test Context

IMA-SP Kernel Qualification Preparation 32 9th June 2016

Partitioning Kernel

LEON2 or LEON3 FT

Test Harness

Test Agent

Test Agent

Test Agent

PK API

MMU Registers

DSU

RAM

Test Script

Page 33: IMA Kernel Qualification preparation

• Test Target is:

» LEON2 or LEON3FT (both with MMU)

» Particular Processors identified: › SCOC3 › UT699 › COLE

• LEON2 & 3 processors which have non-intrusive Debug Support Unit (DSU). » Full access to all processor registers (e.g. PSR, TBR, ITP, etc.); » Full access to AMBA bus memory; » Breakpoint management; » Instruction level run control (break, step, continue etc.)

• Java Environment for Test Harness

» Test Agent in C

• Bare Partition (no Guest OS).

Test Environment

IMA-SP Kernel Qualification Preparation 33 9th June 2016

Page 34: IMA Kernel Qualification preparation

Host Computer

Test Setup

IMA-SP Kernel Qualification Preparation 34 9th June 2016

Host Computer Script Utilities

Java Test Scripts

Test Manager

Com

man

der I

nter

face

Partitioning Kernel

Partition/Test

Agent 2

Partition/Test Agent 1

Partition Messages

DSU Control

DSU Support Software

Partition Messages

Partition Messages Partition Messages

DSU Control

Target Board

TSIM

DSU Control

Partition Messages

Partition Messages

Page 35: IMA Kernel Qualification preparation

• Test Target was Xtratum

• Case 1 : Test Environment Checkout;

• Case 2 : Memory Access test;

» Demonstrates the memory permissions for each region.

» Test the MMU configuration using a DSU command

• Case 3 : Context switch test; » Demonstrate test of context save and restore » Demonstrate low level break-pointing and control using DSU

• The experimentation was performed on an emulator but the test environment has been designed to allow all the tests to be executed on the hardware.

Test Cases

IMA-SP Kernel Qualification Preparation 35 9th June 2016

Page 36: IMA Kernel Qualification preparation

• DSU can interrogate the memory status of all 4KB pages

Memory Access Test

IMA-SP Kernel Qualification Preparation 36 9th June 2016

Partition 1 Partition 2

DSU

DSU Support Software

Target Board

Page 37: IMA Kernel Qualification preparation

• Most registers need to be included in context

• Registers read and then compared

• Halting processor at precise time difficult. » Breakpoint set on

Xtratum function • Unexpected behaviour

when floating point registers restored

Context Switch Test

IMA-SP Kernel Qualification Preparation 37 9th June 2016

Read Context Read Context

Partition 1

Partition 2

Partition 1

Time

Compare Context

Page 38: IMA Kernel Qualification preparation

• Test approach proposed in Test Plan is feasible;

• 11 Test techniques identified and 8 techniques were experimented

• The test environment has been demonstrated;

• Use of DSU helps porting between different boards;

• Access to source code important.

• Updates to test plan from lessons learnt during case study

Case Study Results

IMA-SP Kernel Qualification Preparation 38 9th June 2016

Page 39: IMA Kernel Qualification preparation

• Partition Kernel Requirements Baseline defined

» Specific for needs for European Space

• Plan and Strategy for Qualification Approach Defined

• Test Plan and Test Environment defined

• Case study on a subset of the Tests performed.

» The validation approach and techniques are feasible

Conclusion

IMA-SP Kernel Qualification Preparation 39 9th June 2016

Page 40: IMA Kernel Qualification preparation

• Qualification of one or more PK (Xtratum, PikeOs, AIR)

• Explore/prototype tools to apply FM/MBT for other kind of software parts (ASW, EP, …)

• Consolidate requirement baseline for multi-core processors

• Extend qualification strategy/plan and test plan to multi-core processors

Next Steps

IMA-SP Kernel Qualification Preparation 40 9th June 2016

Page 41: IMA Kernel Qualification preparation

Any Questions?

IMA-SP Kernel Qualification Preparation 41 9th June 2016

Régis De Ferluc Thales Alenia Space France T: +33 49 228 9945 [email protected]

Julien Galizzi CNES T: +33 561281515 [email protected]

Fabrice CROS Alexandre Cortier Airbus Defence and Space T: +33 56 219 8203 [email protected] [email protected]

Andrew Butterfield Trinity College, University of Dublin T: +353 1 896 2517 [email protected]

Mark Hann SCISYS UK Ltd Clothier Road, Bristol BS4 5SS, UK Direct: +44 1179 916 5144 [email protected] www.scisys.co.uk

ESA TO: Maria Hernek [email protected]