Platform Qualification

Introduction

A MicroEJ Platform integrates one or more Foundation Libraries with their respective Abstraction Layers.

Platform Qualification is the process of validating the conformance of the Abstraction Layer that implements the Low Level APIs of a Foundation Library.

../_images/overview-platform-qualification.png

Platform Qualification Overwiew

For each Low Level API, an Abstraction Layer implementation is required. The validation of the Abstraction Layer implementation is performed by running tests at two-levels:

  • In C, by calling Low Level APIs (usually manually).
  • In Java, by calling Foundation Library APIs (usually automatically using Platform Test Suite).

The following figure depicts an example for the FS Pack:

../_images/overview-platform-qualification-test-suite-fs.png

Platform Qualification Example for FS Pack

MicroEJ provides a set of tools and pre-defined projects aimed at simplifying the steps for validating Platforms in the form of the Platform Qualification Tools (PQT).

Platform Qualification Tools Overview

The Platform Qualification Tools provide the following components:

Please refer to the Platform Qualification Tools README for more details and the location of the components.

Platform Test Suite

The purpose of a MicroEJ Platform Test Suite is to validate the Abstraction Layer that implements the Low Level APIs of a Foundation Libraries by automatically running Java tests on the device.

The MicroEJ Test Suite Engine is used for building, running a Test Suite, and providing a report.

A Platform Test Suite contains one or more tests. For each test, the Test Suite Engine will:

  1. Build a MicroEJ Firmware for the test.
  2. Program the MicroEJ Firmware onto the device.
  3. Retrieve the execution traces.
  4. Analyze the traces to determine whether the test has PASSED or FAILED.
  5. Append the result to the Test Report.
  6. Repeat until all tests of the Test Suite have been executed.
Platform Test Suite on Device Overview

Platform Test Suite on Device Overview

Test Suite Versioning

Foundation Libraries are integrated in a MicroEJ Platform by MicroEJ Packs (see Pack Import). Use the Test Suite version compliant with the API version provided by the Foundation Library to validate the Abstraction Layer implementation. For example, the Test Suite FS module 3.0.3 should be used to validate the Abstraction Layer implementation of the Low Level API FS provided by the FS Pack 5.1.2.

Note

A MicroEJ Pack can provide several Foundation Libraries.

Core Engine

Core Engine Validation
Architecture Test Suite
7.0.0 or higher Core Engine Test Suite

UI Pack

UI Validation
UI Pack C Test Suite
13.0.0 or higher (UI3) Graphical User Interface Test Suite
[6.0.0-12.1.5] (UI2) Graphical User Interface Test Suite

FS Pack

FS API Implementation and Validation
FS Pack FS API Java Test Suite
[6.0.0-6.1.0[ 2.1.1 3.0.8
[5.1.2-5.2.0[ 2.0.6 3.0.3
[4.0.0-4.1.0[ 2.0.6 On demand [1]

BLUETOOTH Pack

BLUETOOTH API Implementation and Validation
BLUETOOTH Pack BLUETOOTH API Java Test Suite
2.1.0 2.1.0 2.0.0
2.0.1 2.0.0 2.0.0

NET Pack

NET, SSL and SECURITY APIs Implementations and Validations
NET Pack NET API SSL API SECURITY API NET Java Test Suite SSL Java Test Suite SECURITY Java Test Suite
[8.1.2-8.2.0] 1.1.0 2.1.0 N/A 3.4.0 (On demand [1]) 3.0.1 (On demand [1]) N/A
9.0.0 1.1.0 2.2.0 1.3.1 3.4.0 (On demand [1]) 3.1.4 (On demand [1]) 1.1.0 (On demand [1])
[9.0.1-9.4.1] 1.1.1 2.2.0 1.3.1 3.5.2 (On demand [1]) 3.1.4 (On demand [1]) 1.1.0 (On demand [1])
[10.0.0-10.5.0] 1.1.4 2.2.3 1.4.2 4.1.1 4.0.1 1.3.1
[1](1, 2, 3, 4, 5, 6, 7, 8, 9) Test Suite available on demand, please contact MicroEJ Support.