<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>TSD=</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Towards Integration of Adaptability and Non-Intrusive Runtime Verification in Avionic Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>José Rufino jmrufino@ciencias.ulisboa.pt</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>LaSIGE</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Faculdade de Ciências</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Universidade de Lisboa</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Portugal</string-name>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2015</year>
      </pub-date>
      <volume>0</volume>
      <issue>00015</issue>
      <abstract>
        <p>Unmanned autonomous systems (UAS) avionics call for advanced computing system architectures ful lling strict size, weight and power consumption (SWaP) requisites, decreasing the vehicle cost and ensuring the safety and timeliness of the system. The AIR (ARINC 653 in Space Real-Time Operating System) architecture de nes a partitioned environment for the development and execution of aerospace applications, following the notion of time and space partitioning (TSP), preserving application timing and safety requisites. The plan for a UAS mission may vary with the passage of time, according to its mode/phase of operation, and the vehicle may be exposed to unpredictable (environmental) events and failures, calling for the advanced adaptability and recon gurability features included in the AIR architecture. This paper explores the potential of non-intrusive runtime veri cation (RV) mechanisms, currently being included in AIR, to improve system safety and to decrease the computational cost of timeliness adaptability and of the corresponding overhead on the system.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;dependability</kwd>
        <kwd>timeliness</kwd>
        <kwd>adaptability</kwd>
        <kwd>runtime veri cation</kwd>
        <kwd>time and space partitioning</kwd>
        <kwd>integrated modular avionics</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Categories and Subject Descriptors</title>
      <p>C.4 [Computer System Organisation]: [Fault tolerance];
C.3 [Special-Purpose and Application Based Systems]:
Real-time and embedded systems; D.4.7 [Operating
systems]: Organization and Design|Real-time systems and
embedded systems
This work was partially supported by FCT, through project
PTDC/EEI-SCR/3200/2012 (READAPT) and through LaSIGE
Strategic Project PEst-OE/EEI/UI0408/2014. This work
integrates the activities of COST Action IC1402 - Runtime Veri
cation beyond Monitoring (ARVI).</p>
    </sec>
    <sec id="sec-2">
      <title>2. AIR TECHNOLOGY FOR TSP SYSTEMS</title>
      <p>
        The AIR Technology evolved from a proof of feasibility for
adding ARINC 653 functional support to the Real-Time
Executive for Multiprocessor Systems (RTEMS) to a multi-OS
(operating system) TSP architecture [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. The AIR modular
design aims at high levels of exibility, hardware- and
OSindependence, easy integration and independent component
veri cation, validation and certi cation.
      </p>
    </sec>
    <sec id="sec-3">
      <title>2.1 System architecture</title>
      <p>The AIR modular architecture is pictured in Figure 1. The
AIR Partition Management Kernel (PMK) is the basis of
a core software layer, enforcing robust TSP properties and
hosting crucial functionality such as partition scheduling and
dispatching, low-level interrupt management, and
interpartition communication support. Temporal partitioning
ensures that the real-time requisites of the di erent functions
executing in each partition are guaranteed. Spatial
partitioning relies on having dedicated addressing spaces for the
functions executing on di erent partitions.</p>
      <p>Each partition can host a di erent OS (the partition
operating system, POS), which in turn can be either a real-time
operating system (RTOS) or a generic non-real-time one. The
AIR POS Adaptation Layer (PAL) encapsulates the POS
of each partition, providing an adequate POS-independent
interface to the surrounding components.</p>
      <p>
        The Portable Application Executive (APEX) interface [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]
provides a standard programming interface derived from the
ARINC 653 speci cation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], with the possibility of being
subsetted and/or adding speci c functional extensions for
certain partitions [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
      <p>
        The organization of vehicle functions in di erent partitions
requires interpartition communication facilities, since a
function hosted in a partition may need to exchange information
with other partitions. Interpartition communication consists
of the authorized transfer of information between partitions
without violating neither spatial separation constrains nor
information security properties [
        <xref ref-type="bibr" rid="ref20 ref21 ref5">21, 20, 5</xref>
        ].
      </p>
    </sec>
    <sec id="sec-4">
      <title>2.2 Two-level scheduling</title>
      <p>The AIR technology employs a two-level scheduling scheme,
as illustrated in Figure 2. The rst level corresponds to
partition scheduling and the second level to process scheduling.
Partitions are scheduled on a cyclic basis, through the
partition scheduling and dispatching components (Figure 2),
ac</p>
      <p>Native POS
Process Scheduler</p>
      <p>Native POS
Process Scheduler</p>
      <p>Native POS
Process Scheduler
. . .
cording to a partition scheduling table (PST) repeating over
a major time frame (MTF). The PST assigns execution time
windows to partitions. Inside each partition's time windows,
its processes compete for processing resources according to
the POS's native process scheduler.</p>
    </sec>
    <sec id="sec-5">
      <title>2.3 Health monitoring and error handling</title>
      <p>The AIR architecture incorporates Health Monitor (HM)
functions that aim to contain faults within their domains of
occurrence and to provide the corresponding error handling
capabilities. Support to these functions is spread throughout
virtually all of the AIR architectural components.
The HM plays an important role in achieving system safety
given it prevents/mitigates ill-e ects of process and/or
partition level errors in the remaining partitions. The action
to be performed in the event of an error is de ned by the
application programmer through an appropriate error
handler. This may comprise adaptability features such as the
rede nition of timing and control parameters or the issue
of a di erent schedule request. If no handler is provided, a
response action de ned by the partition's HM ARINC 653
con guration table is executed, as shown in Figure 3.</p>
      <p>Application</p>
      <p>EH: event
handler</p>
      <p>POS Process
Exception!</p>
      <p>Interrupt
traps
others
AIR PMK/POS interrupt handling
Activate (event-driven)</p>
      <p>no</p>
      <sec id="sec-5-1">
        <title>System level? no EH defined? yes EH running?</title>
        <p>yes no yes</p>
      </sec>
      <sec id="sec-5-2">
        <title>Action defined? yes</title>
        <p>no
AIR Health Monitor Default Action</p>
        <p>Ignore
Restart
Shutdown
The design of AIR allows HM handlers to simply replace
existing exception handlers or to be added to existing ones,
in pre- and/or post-processing modes.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>3. ADAPTABILITY</title>
      <p>
        The adaptation to changing environmental or operating
conditions is crucial for unmanned space and aerial missions
survivability, which can be signi cantly improved through
software recon gurability, as studied in [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ].
      </p>
      <p>
        The design of AIR integrates special-purpose mechanisms
to address speci c adaptation requirements, thoroughly
described in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and summarised next.
      </p>
    </sec>
    <sec id="sec-7">
      <title>3.1 Mode-based schedules</title>
      <p>
        Timing requirements may change according to a mission's
phase since certain functions should only execute during
certain phases. The original ARINC 653 notion of a single xed
PST [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], de ned o ine, is limited in terms of timeliness
adaptability, as well as safety and fault-tolerance control,
and surely contributes to some degree of resource utilization
waste. To address this primary limitation, the AIR design
incorporates the notion of mode-based partition schedules,
inspired by the optional service de ned within the scope of
ARINC 653 Part 2 speci cation [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        Instead of one xed PST, the system can be con gured with
multiple PSTs, which may di er in terms of the MTF
duration, of which partitions are scheduled, and of how much
processor time is assigned to them, as shown in Figure 2.
The system can then switch between these PSTs; selection
of the active PST is performed through a service call issued
by an authorized and/or dedicated partition. To avoid
violating temporal requirements, a PST switch request is only
e ectively granted at the end of the ongoing MTF.
Hosting multiple PSTs aboard autonomous vehicles opens
room for the (self-)adaptability of unmanned missions, in
function of passage of time and of changing
environmental and operational conditions. Pre-generation of di
erent partition schedules can be aided by a tool that applies
rules and formulas to the temporal requirements of
processes/partitions, taking into account the functions' needs in
di erent anticipated conditions [
        <xref ref-type="bibr" rid="ref20 ref8">20, 8</xref>
        ]. Unforeseeable
conditions can be handled thorough the mechanisms for remote
update of PSTs and onboard software described in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
    </sec>
    <sec id="sec-8">
      <title>3.2 Process deadline violation monitoring</title>
      <p>
        During runtime execution, it may be the case that a process
exceeds its deadline. In the AIR architecture, the PAL
component monitors, at each POS clock tick, if some process in
the active partition has violated its deadline (Figure 2). In
addition, it is also possible that a process exceeds its
deadline while the partition in which it executes is inactive. This
violation will only be detected when the partition is being
dispatched, just before the PAL component invokes the POS
process scheduler, as shown in the diagram of Figure 2.
The use of o ine tools that verify the ful lment of
timing requirements [
        <xref ref-type="bibr" rid="ref20 ref8">20, 8</xref>
        ], should rule out deadline violations
due to faulty system planning (e.g., time windows not
satisfying the partitions' timing requirements). However, such
tools cannot cope with process deadline violations caused by
a runtime malfunction, by transient overload (e. g., due to
abnormally high event occurrence rates), or by the
underestimation of a process's worst case execution time (WCET)
at system con guration and integration time.
      </p>
    </sec>
    <sec id="sec-9">
      <title>4. MECHANISMS FOR NON-INTRUSIVE</title>
    </sec>
    <sec id="sec-10">
      <title>RUNTIME VERIFICATION</title>
      <p>
        Runtime veri cation (RV) obtains and analyses data from
the execution of a system to detect and possibly react to
behaviours, either satisfying or violating the system
specication. RV implies that small components, which are not
part of the functional system, acting as observers, are added
to monitor and assess the state of the system in runtime.
The usage of recon gurable logic supporting versatile
platform designs (e.g., soft-processors) enables innovative
approaches to RV [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], herein explored in the context of TSP
systems. An enhanced AIR architecture makes use of an
AIR Observer (AO) featuring: non-intrusiveness, meaning
system operation is not adversely a ected and code
instrumentation with RV probes is not required; con gurable,
being able to accommodate di erent event observations.
s
e
s
u
B
      </p>
      <p>Bus</p>
      <sec id="sec-10-1">
        <title>Interfaces</title>
      </sec>
      <sec id="sec-10-2">
        <title>Mgmt.</title>
      </sec>
      <sec id="sec-10-3">
        <title>Interface</title>
      </sec>
      <sec id="sec-10-4">
        <title>Time Base</title>
        <p>currentTicks</p>
      </sec>
      <sec id="sec-10-5">
        <title>Observer</title>
      </sec>
      <sec id="sec-10-6">
        <title>Configuration</title>
      </sec>
      <sec id="sec-10-7">
        <title>System Clock</title>
        <p>The AO is plugged to the platform where the AIR software
components execute, and comprises the modules depicted in
Figure 4: Bus Interfaces, capturing all physical bus activity,
such as bus transfers or interrupts; Management Interface,
enabling AO con guration; Con guration, storing the
patterns of the events to be detected; Observer, detecting events
of interest based on the registered con gurations.
Though RV concepts can be applied to both time and space
partitioning, this paper is restricted to temporal issues. Thus,
it is assumed that a robust time base1 accounts for, in
the AO hardware (Figure 4), the number of POS-level clock
ticks elapsed so far, to which AIR components have access,
through the read only currentT icks variable/register.</p>
      </sec>
    </sec>
    <sec id="sec-11">
      <title>5. INTEGRATING ADAPTABILITY AND</title>
    </sec>
    <sec id="sec-12">
      <title>NON-INTRUSIVE RUNTIME VERIFI</title>
    </sec>
    <sec id="sec-13">
      <title>CATION</title>
      <p>The integration of RV features in the AIR architecture uses
a dual approach, as follows:
operation enforced in hardware, either totally or with
some degree of assistance from software components,
being the runtime veri cation actions performed in
software;
operation achieved through the execution of software
components, with runtime veri cation actions enforced
in hardware.</p>
    </sec>
    <sec id="sec-14">
      <title>5.1 Mode-based schedules</title>
      <p>
        In the generic and highly exible AIR architecture design
presented in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], the handling of mode-based schedules is
entirely integrated within a software-based AIR Partition
Scheduler, as illustrated in the diagram of Figure 2.
In a hardware-assisted approach, partition scheduling switch
decisions from the AO hardware are complemented with
software RV and partition switch actions: when a partition
1The design and engineering AIR robust timers is out of the
scope of this paper. It will be addressed in a future work.
Algorithm 1 AIR Partition Scheduler with Runtime
Verication featuring adaptation through mode-based schedules
1: Entered upon exception: partition preemption point detected
2: Runtime veri cation actions
3: if schedulescurrentSchedule :tabletableIterator :tick 6=
(currentTicks lastScheduleSwitch) mod
schedulescurrentSchedule :mtf then
4: HealthMonitor(activePartition)
5: else Partition switch actions
6: if currentSchedule 6= nextSchedule ^
(currentTicks lastScheduleSwitch) mod
schedulescurrentSchedule :mtf = 0 then
7: currentSchedule nextSchedule
8: lastScheduleSwitch currentTicks
9: tableIterator 0
10: end if
11: heirP artition
      </p>
      <p>schedulescurrentSchedule :tabletableIterator :partition
12: tableIterator (tableIterator + 1) mod</p>
      <p>
        schedulescurrentSchedule :numberPartitionPreemptionPoints
13: end if
is dispatched, the absolute value (in POS-level clock ticks)
of its partition preemption point is inserted in the AO
conguration; when this instant is reached, an AO's hardware
exception triggers the execution of Algorithm 1.
The RV actions of Algorithm 1 check, from the active PST,
if the current instant is a partition preemption point (line 3).
If that is not the case, a severe system level error has
occurred and the HM is noti ed (line 4) to handle the situation.
The remaining lines (6-12) implement the partition switch
actions of [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], checking (line 6) if there is a pending
scheduling switch to be applied and the current instant is the end
of the MTF. If these conditions apply, a di erent PST will
be used henceforth (line 7). The processing resources are
assigned to the heir partition, obtained (line 11) from the
PST in use, until the next partition preemption point. The
AIR Partition Scheduler is set (line 12) to access the heir
partition parameters.
      </p>
      <p>
        This hardware/software co-design allows to maintain some
degree of AIR architectural exibility with advantages in
terms of improved safety and timeliness. This is particularly
useful for running AIR in platforms integrating processor
cores (e.g., dual-core ARM) and FPGA logic [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
The partition switch actions are followed by the execution
of the AIR Partition Dispatcher speci ed in Algorithm 2.
Two signi cant di erences from [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] do exist: suppression
of speci c elapsed clock ticks setting, which are no longer
required because the partition dispatcher is always invoked
after a partition switch; insertion of the next partition
preemption point in the AO con guration (line 6). The
remaining actions in Algorithm 2 are related to saving and restoring
the execution context (lines 2 and 7) and evaluation of the
elapsed clock ticks (line 4). Line 8 enforces the execution
of pending actions the rst time after a PST change the
partition is executed [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
      <p>
        Compared with the equivalent speci cation in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], the
design of Algorithm 3 was greatly simpli ed since all the
actions concerning process deadline violation monitoring were
removed. The needed actions are now restricted to the
signalling of the elapsed clock ticks (line 2) and to the
instantiation of the POS native process scheduler (line 4).
Algorithm 2 AIR Partition Dispatcher
1:
      </p>
      <p>Entered from the AIR Partition Scheduler after partition switch
actions
2: SaveContext(activePartition:context)
3: activePartition:lastTick currentTicks 1
4: elapsedTicks currentTicks heirPartition:lastTick
5: activePartition heirPartition
6: ReplacePreemptionPoint(heirPartition:tick)
7: RestoreContext(heirPartition:context)
8: PendingScheduleChangeAction(heirPartition)
Algorithm 3 AIR PAL { pre POS process scheduler
1:</p>
      <sec id="sec-14-1">
        <title>Executed immediately after AIR Partition Dispatcher and at every POS-level clock tick</title>
        <p>2: PAL ClockTickAnnounce(elapsedTicks)
3: elapsedTicks = 1
4: POS ProcessScheduler()</p>
      </sec>
    </sec>
    <sec id="sec-15">
      <title>5.2 Process deadline violation monitoring</title>
      <p>
        Process deadline violation monitoring, a RV action, was
made non-intrusive in the AIR hardware-assisted design.
Each process issues, when required, system calls through the
APEX interface. For those listed in Table 1, AIR PAL
encapsulation provides the registering of the process' deadline
in the AO (updating the process' entry, or creating a new
one, if not con gured yet) or its unregistering (removing
the process' entry from the AO con guration). If a process'
deadline instant is reached, the AO detects the timeliness
violation and issues a hardware exception that once caught
activates the process level event handler de ned by the
application programmer, as illustrated in Figure 3. The APEX
primitive RAISE APPLICATION ERROR is used for that
purpose, with PAL encapsulating a software-based RV
action con rming the process deadline violation.
The occurrence of process-/partition-level errors may be
signalled through interpartition communication to a (system
partition) process performing a Fault Detection, Isolation
and Recovery (FDIR) function. A system-wide recon
gurability logic should be included in FDIR [
        <xref ref-type="bibr" rid="ref20 ref7">7, 20</xref>
        ].
      </p>
    </sec>
    <sec id="sec-16">
      <title>5.3 Analysis and discussion</title>
      <p>Critical software, namely that developed to go aboard an
aerial or space vehicle, goes through a strict process of
veri cation, validation and certi cation.</p>
      <p>
        Code complexity a ects the e ort required for that process,
being one relevant metric for code complexity its size, in
lines of source code. Towards the usage of standardized
accounting methods one employ the logical source lines of code
(logical SLOC) metric of the Uni ed CodeCount tool [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
The C implementation of fundamental AIR software
components is assessed in Table 2, which shows its logical SLOC
count along with the entity instantiating the component,
and implicitly, the instantiation frequency.
      </p>
      <p>Most AIR software components have linear complexity, O(1):
accesses to multielement structures are made by index,
being independent of the number and position of the elements.
The exception concern process deadline veri cation in the
software-based approach, which in the worst case wields
O(n), being n the number of processes in the partition.
Similar considerations apply to timing issues. The AIR
observer and the non-intrusive hardware-assisted approach has
reduced the number and code complexity of software
components in the path of POS-level clock tick processing. This is
specially true for Algorithm 3 and its software-based
counterpart code complexity and worst case timing, though in the
normal and most frequent case where no process deadlines
occur, both components exhibit similar execution times.
Comparing the normalised processing time overheads of AIR
Partition Scheduler and Dispatcher (TSD), in the
softwarebased and hardware-assisted approaches, along a full
normalised MTF period (TMT F ):
=</p>
      <p>TSD Soft</p>
      <p>TSD Hard</p>
      <p>TMT F
TSD Soft</p>
      <p>Ttick</p>
      <p>TSD Hard : nppp</p>
      <p>TMT F
(1)
(2)
where, nppp is the number of partition preemption points in
the MTF and Ttick is the normalised POS-level clock tick.
The normalisation of timing parameters in Figure 5 take
the experimental values TSD Soft = 150 ns and Ttick = 1 ms
as references, making TSD Hard TSD Soft for
hardwareassisted and TSD Hard = 0 for a full hardware
implementation of the AIR Partition Scheduler/Dispatcher.
The di erence to software-based processing overheads ( )
in function of MTF duration is represented in Figure 5.
For the full hardware implementation, that di erence is
independent from the MTF value being, in any case,
upper bounded by the TSD Soft=Ttick ratio, which typically
have quite small values due to the e cient coding of AIR
Partition Scheduler and Dispatcher components. For the
hardware-assisted approach the processing overhead di
erence is smaller, dependent on the number/frequency of
partition preemption points and only asymptotically approaches
the TSD Soft=Ttick limit.</p>
      <p>Though POS-level hardware-assisted mechanisms are also
deemed to bene t partition/process scheduling timeliness
and jitter, those issues have not been addressed so far.</p>
    </sec>
    <sec id="sec-17">
      <title>6. RELATED WORK</title>
      <p>
        To the best of our knowledge, contemporary approaches
to exible scheduling in TSP systems are restricted to the
mode-based scheduling feature of the commercial Wind River
VxWorks 653 product [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]. Previous research on other TSP
solutions [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and works on scheduling analysis for avionic
systems [
        <xref ref-type="bibr" rid="ref11 ref14">14, 11</xref>
        ] do not foresee mechanisms for timeliness
adaptation. Alternatives to TSP/IMA are compared in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ],
      </p>
      <p>Full hardware AIR Partition Scheduler/Dispatcher</p>
      <p>Hardware-assisted AIR Partition Scheduler/Dispatcher
10
30
50
70
90 110 130 150 170 190</p>
      <p>
        TMTF (time units)
which includes recommendations for adaptation of IMA-like
architectures. Some results on recon gurable IMA [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and
UAS adaptive and recon gurable control [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] do exist.
A hardware/software co-design approach and the concept of
system observer is present in the Simplex Architecture [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
Emergence of non-intrusive runtime veri cation techniques
for embedded systems in general is addressed in [
        <xref ref-type="bibr" rid="ref18 ref26">26, 18</xref>
        ],
while its applicability to complex safety-critical systems is
presented in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. However, no previous work have applied
such techniques to the realm of TSP systems.
      </p>
    </sec>
    <sec id="sec-18">
      <title>7. CONCLUSION</title>
      <p>
        This paper addressed fundamental mechanisms providing
support for adaptive and self-adaptive behaviour to
applications based on the AIR architecture for time- and
spacepartitioned systems. The usage of hybrid platforms
combining processor cores and programmable logic makes
advantageous the use of a hardware-assisted design
complemented with some simple software-based components. The
computational cost of such components decreases and the
non-intrusive runtime veri cation of the system enables
improvements in both safety and timeliness properties.
Non-intrusive runtime veri cation is a relevant contribution
with respect to veri cation, validation and certi cation
efforts of TSP systems that will be extended in future research.
Additional works aim to taking advantage of multicore
platforms in AIR [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], which include adaptation/recon guration
features and, in the near future, RV capabilities.
      </p>
      <sec id="sec-18-1">
        <title>POS-level clock tick</title>
      </sec>
      <sec id="sec-18-2">
        <title>APEX call</title>
      </sec>
      <sec id="sec-18-3">
        <title>APEX call</title>
      </sec>
      <sec id="sec-18-4">
        <title>POS-level clock tick</title>
        <p>POS-level clock tick
12
8
4
6
4
&gt;190
partition preemption point
partition preemption point</p>
      </sec>
      <sec id="sec-18-5">
        <title>APEX call</title>
      </sec>
      <sec id="sec-18-6">
        <title>APEX call</title>
      </sec>
      <sec id="sec-18-7">
        <title>POS-level clock tick</title>
        <p>
          POS-level clock tick
aSpeci ed and analysed in [
          <xref ref-type="bibr" rid="ref20 ref7">20, 7</xref>
          ]
bSpeci ed in Algorithm 1
cSpeci ed in Algorithm 2
dSpeci ed in Algorithm 3; software-based approach speci ed and analysed in [
          <xref ref-type="bibr" rid="ref20 ref7">20, 7</xref>
          ]
eRTEMS 4.9 [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] C code only; plus &gt;182 assembly instructions in the POS-level clock interrupt service routine (ISR)
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>AEEC (Airlines Electronic Engineering Committee</surname>
          </string-name>
          <article-title>)</article-title>
          .
          <source>Avionics Application Software Standard Interface, Part</source>
          <volume>1</volume>
          -
          <string-name>
            <given-names>Required</given-names>
            <surname>Services</surname>
          </string-name>
          , Mar.
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>AEEC (Airlines Electronic Engineering Committee</surname>
          </string-name>
          <article-title>)</article-title>
          .
          <source>Avionics Application Software Standard Interface, Part</source>
          <volume>2</volume>
          -
          <string-name>
            <given-names>Extended</given-names>
            <surname>Services</surname>
          </string-name>
          , Dec.
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S.</given-names>
            <surname>Bak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Chivukula</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Adekunle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Caccamo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Sha</surname>
          </string-name>
          .
          <article-title>The System-level Simplex Architecture for improved real-time embedded system safety</article-title>
          .
          <source>In 15th IEEE Real-Time and Embedded Tech. and Applications Symposium</source>
          , pages
          <volume>99</volume>
          {
          <fpage>107</fpage>
          ,
          <string-name>
            <surname>Apr</surname>
          </string-name>
          .
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Bieber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Noulard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Pagetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Planche</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Vialard</surname>
          </string-name>
          .
          <article-title>Preliminary design of future recon gurable IMA platforms</article-title>
          .
          <source>In Second Int. Workshop on Adaptive and Recon gurable Embedded Systems</source>
          , pages
          <fpage>21</fpage>
          {
          <fpage>24</fpage>
          , Grenoble, France, Oct.
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Carraca</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. C.</given-names>
            <surname>Pinto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Craveiro</surname>
          </string-name>
          , and J. Ru no.
          <article-title>Information security in time- and space-partitioned architectures for aerospace systems</article-title>
          .
          <source>In Proc. 6th Simposio de Informatica (INForum</source>
          <year>2014</year>
          ), pages
          <fpage>457</fpage>
          {
          <fpage>472</fpage>
          ,
          <string-name>
            <surname>Porto</surname>
          </string-name>
          , Portugal, Sept.
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Craveiro</surname>
          </string-name>
          .
          <article-title>Real-Time Scheduling in Multicore Time-</article-title>
          and
          <string-name>
            <surname>Space-Partitioned Architectures</surname>
          </string-name>
          .
          <source>PhD thesis</source>
          , Universidade de Lisboa, Portugal, Aug.
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Craveiro</surname>
          </string-name>
          and
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Ru no. Adaptability support in time- and space-partitioned aerospace systems</article-title>
          .
          <source>In Proc. 2nd Int. Conf. on Adaptive and Self-adaptive Systems and Applic</source>
          ., Lisbon, Portugal, Nov.
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Craveiro</surname>
          </string-name>
          and
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Ru no. Schedulability analysis in partitioned systems for aerospace avionics</article-title>
          .
          <source>In Proc. 15th IEEE Int. Conf. on Emerging Technologies and Factory Automation</source>
          , Bilbao, Spain, Sept.
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Crespo</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Ripoll</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Masmano</surname>
          </string-name>
          .
          <article-title>Partitioned embedded architecture based on hypervisor: the XtratuM approach</article-title>
          .
          <source>In Proc. 8th European Dependable Computing Conf., Valencia</source>
          , Spain, Apr.
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>DILIGENT. ZYBO Reference</surname>
            <given-names>Manual</given-names>
          </string-name>
          , Feb.
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>A.</given-names>
            <surname>Easwaran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Sokolsky</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Vestal</surname>
          </string-name>
          .
          <article-title>A compositional scheduling framework for digital avionics systems</article-title>
          .
          <source>In Proc. 15th IEEE Int. Conf. Embedded Real-Time Computing Systems and Applications</source>
          , Beijing, China, Aug.
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>B.</given-names>
            <surname>Ford</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Bull</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Grigg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Guan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and I.</given-names>
            <surname>Phillips</surname>
          </string-name>
          .
          <article-title>Adaptive architectures for future highly dependable, real-time systems</article-title>
          .
          <source>In Proc. 7th Ann. Conf. on Systems Engineering Research</source>
          , Loughborough,
          <string-name>
            <surname>UK</surname>
          </string-name>
          , Apr.
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>A.</given-names>
            <surname>Kane</surname>
          </string-name>
          .
          <article-title>Runtime Monitoring for Safety-Critical Embedded Systems</article-title>
          .
          <source>PhD thesis</source>
          , Carnegie Mellon University, USA, Feb.
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Younis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Zhou</surname>
          </string-name>
          .
          <article-title>Partition scheduling in APEX runtime environment for embedded avionics software</article-title>
          .
          <source>In Proc. 5th Int. Conf. on Real-Time Computing Systems and Applications</source>
          , pages
          <volume>103</volume>
          {
          <fpage>109</fpage>
          ,
          <string-name>
            <surname>Hiroshima</surname>
          </string-name>
          , Japan,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>V.</given-names>
            <surname>Nguyen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Deeds-Rubin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Tan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Boehm</surname>
          </string-name>
          .
          <article-title>A SLOC counting standard</article-title>
          .
          <source>In The 22nd Int. Ann. Forum on COCOMO and Systems/Software Cost Modelling</source>
          , Los Angeles, USA,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>On-Line Applications Research Corporation. RTEMS C User</surname>
          </string-name>
          <article-title>'</article-title>
          s
          <source>Guide, 4.9.4 edition</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>R. C.</given-names>
            <surname>Pinto</surname>
          </string-name>
          and
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Ru no. Towards non-invasive run-time veri cation of real-time systems</article-title>
          .
          <source>In 26th Euromicro Conf. on Real-Time Systems - WIP Session</source>
          , pages
          <volume>25</volume>
          {
          <fpage>28</fpage>
          , Madrid, Spain,
          <year>July 2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>T.</given-names>
            <surname>Reinbacher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Fugger</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Brauer</surname>
          </string-name>
          .
          <article-title>Runtime veri cation of embedded real-time systems</article-title>
          .
          <source>Formal Methods in System Design</source>
          ,
          <volume>24</volume>
          (
          <issue>3</issue>
          ):
          <volume>203</volume>
          {
          <fpage>239</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>J.</given-names>
            <surname>Rosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Craveiro</surname>
          </string-name>
          , and J. Ru no.
          <article-title>Safe online recon guration of time- and space-partitioned systems</article-title>
          .
          <source>In Proc. 9th IEEE Int. Conf. on Industrial Informatics (INDIN</source>
          <year>2011</year>
          ), Caparica, Lisbon, Portugal,
          <year>July 2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20] J. Ru no,
          <issue>J</issue>
          . Craveiro, and
          <string-name>
            <given-names>P.</given-names>
            <surname>Verissimo</surname>
          </string-name>
          .
          <article-title>Architecting robustness and timeliness in a new generation of aerospace systems</article-title>
          . In A. Casimiro, R. de Lemos, and C. Gacek, editors,
          <source>Architecting Dependable Systems VII</source>
          , volume
          <volume>6420</volume>
          <source>of LNCS</source>
          . Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>J.</given-names>
            <surname>Rushby</surname>
          </string-name>
          .
          <article-title>Partitioning in avionics architectures: Requirements, mechanisms and assurance</article-title>
          .
          <source>Technical Report NASA CR-1999-209347</source>
          , SRI International, California, USA,
          <year>June 1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>S.</given-names>
            <surname>Santos</surname>
          </string-name>
          , J. Ru no,
          <issue>T</issue>
          . Schoofs,
          <string-name>
            <given-names>C.</given-names>
            <surname>Tatibana</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Windsor</surname>
          </string-name>
          .
          <article-title>A portable ARINC 653 standard interface</article-title>
          .
          <source>In Proc. 27th Digital Avionics Systems Conf., St</source>
          . Paul, MN, USA, Oct.
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>M.</given-names>
            <surname>Tafazoli</surname>
          </string-name>
          .
          <article-title>A study of on-orbit spacecraft failures</article-title>
          .
          <source>Acta Astronautica</source>
          ,
          <volume>64</volume>
          (
          <issue>2-3</issue>
          ):
          <volume>195</volume>
          {
          <fpage>205</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24] TSP Working Group.
          <article-title>Avionics time and space partitioning user needs</article-title>
          .
          <source>Technical Note</source>
          TEC-SW/
          <fpage>09</fpage>
          -247/JW, ESA, Aug.
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>B.</given-names>
            <surname>Vanek</surname>
          </string-name>
          .
          <article-title>Future trends in UAS avionics</article-title>
          .
          <source>In Proc. 10th Int. Symp. of Hungarian Researchers on Computational Intelligence and Informatics</source>
          , Budapest, Hungary, Nov.
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>C.</given-names>
            <surname>Watterson</surname>
          </string-name>
          and
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>He ernan. Runtime veri cation and monitoring of embedded systems</article-title>
          .
          <source>Software, IET</source>
          ,
          <volume>1</volume>
          (
          <issue>5</issue>
          ):
          <volume>172</volume>
          {
          <fpage>179</fpage>
          ,
          <year>October 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>Wind</given-names>
            <surname>River</surname>
          </string-name>
          .
          <source>Wind River VxWorks 653 Platform 2.4 and 2.5</source>
          ,
          <year>2015</year>
          . Retrieved Jun 29,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>