|

SmartKernel
Introduction
SmartKernel™ is an embedded Kernel built from the
ground up to support: hard real-time, safety, security
and mission critical applications. By specifically
targeting support for these application areas it
provides full support for their needs in terms of
performance and determinism. As an embedded Kernel it is
designed to be both smaller and faster than a general
purpose embedded operating system. SmartKernel has built
in support for safety and security standards with
certification to the FAA's DO-178B standard Level A. It
supports time and memory partitioning for multiple
safety or security levels. SmartKernel then also
supports multiple programming languages with
off-the-shelf support for: C/C++, Ada95 and
execution of Java™ platform applications in embedded
systems. SmartKernel is a complete solution for any
embedded application development where reliability is
important.
SmartKernel
Architectural Overview
SmartKernel is an embedded Kernel built from the
ground up to support: hard real-time, safety, security
and mission critical applications. At its core is a
very small enabling core kernel called the
Enabler. The Enabler provides just those
capabilities necessary to implement higher level kernels
or language specific operating systems, such as an Ada
run-time-system (RTS) or virtual-machine supporting the
execution of Java™ platform applications. By only
implementing these capabilities the Enabler may be kept:
small, fast and absolutely deterministic.

The Enabler provides support for those features
necessary to implement higher level kernels. These
include:
- Process Threads
- Process Scheduling
- Time Related Services
- Memory Management
- Basic IO Services and
- System Health Monitoring
Lastly the Enabler is based on proven technology. The
Enabler is based on the Aonix ObjectAda RAVEN™ certified
kernel. Thus although SmartKernel is a new technology
configuration, it is built on a well tested and proven
technology base.
SmartKernel Safety
and Security
SmartKernel is an embedded Kernel built from the
ground up to support: hard real-time, safety, security
and mission critical applications. For Safety this means
that it is certified to the FAA's DO-178B
standard Level A. Aonix has a vast amount of experience
in the safety and security area. Our embedded kernels
were some of the first to ever be certified to DO-178B
Level A with our: C-SMARTT, T-SMARTT and RAVEN™ product
line kernels. SmartKernel is built using the previously
certified RAVEN kernel as its core Enabler kernel and
thus inherits this proven history. Certification
packages are available for DO-178B Level A the
commercial avionics safety standard, EN50128 SIL 4 high
speed rail safety standard, and mappings to other safety
standards in other high integrity application areas.
SmartKernel
Partitioning
SmartKernel is an embedded Kernel built from the
ground up to support: hard real-time, safety, security
and mission critical applications. For safety and
security this also means support for application
partitioning. This is the core capability of protecting
one resident application from the failure of another.
SmartKernel supports both Time and Memory partitioning
by implementing and supporting the ARINC-653
application-programming-interface (API).
|
|
Memory Based
Partitioning Support
|
Time Based
Partitioning
Support
|
SmartKernel Memory Partitioning Support prevents one
application partition from accidentally corrupting the
memory of another. This protects from rouge memory
access across partitions and also from the crashing of
an application in one partition from effecting the
execution of an application in another. Time
Partitioning support prevents the execution of an
application in one partition from starving CPU time away
from another. At a lower level of granularity it
sets the specific allotment of CPU execution time for
each partition and across all partitions.
SmartKernel
Configuration Tool
SmartKernel configuration and partition specifics are
defined by the SmartKernel configuration tool. This tool
allows for the selection of memory size and location per
partition as well as time allotments. It also defines
the criticality of a specific partition or its security
level. This allows the tool to automatically check the
legality of a specific partition settings or its
legality in relation to the total set of defined
partitions. Language support and other relevant settings
are defined via the configuration tool as well.
The configuration tool takes as input the fields
specified above as a set of "Required" features and
"Forbidden" features. These clearly define the
configuration for each partition. The configuration
tool then also validates the total set of configurations
to make sure the combined set, forms a legal collection.
A simple example is that it will check to make sure
memory partition definitions do not overlap. A more
interesting example is, for a partition defined as being
certifiable to DO-178B Level A, that all listed
"required" features are in fact supplied in certified
libraries.
The configuration tool both defines applications and
partitions, but allows them to be separately statically
built. This allows simpler, faster download and
development time. More importantly it guarantees
that a change to one partition build will not effect
another. This has huge cost benefits where a development
team can guarantee that changes in one partition will
not effect another. Thus eliminating any need for costly
retesting of a certified partition.
SmartKernel
Multi-Language Support
SmartKernel supports multiple languages in general
and different languages within or across partitions.
SmartKernel supports:
- SmartKernel C-C++/Embedded
- SmartKernel
Ada95/Embedded
- SmartKernel Java™/Embedded
- SmartKernel Ada95/Certified
- SmartKernel Java™/Certified
C/C++/Embedded support is provided via the
industry standard GNU tool set.
Ada95/Embedded support is provided
by the popular ObjectAda® Real-Time development
environments.
.
Ada95/Certified is supported by the already
certified ObjectAda® Real-Time RAVEN™ development
environments.
Java™/Embedded is supported by the Aonix JRTK™
(Java™ Real-Time Kernel) a hard real-time version of the
mission critical PERC® development environment and
VM.
Java™/Certified support is provided by the
JRaven™ (Java™ Ravenscar standard) certified development
environment and VM supporting the execution of Java™
platform applications.. These are available as a
complete set or as a slice of SmartKernel language
specific capabilities.
SmartKernel is available as a complete multi-language
kernel and environment or as single slices for specific
language.
SmartKernel
Summary
SmartKernel is an embedded Kernel built from the
ground up to support: hard real-time, safety, security
and mission critical applications. It is a new
technology based on the already proven and certified
ObjectAda Real-Time RAVEN™ embedded kernel. It
supports time and memory protection across partitions
and applications. Thus protecting one application from
the potential failure of another. It provides advanced
build and configuration capabilities to save development
time and greatly reduce safety and security testing
costs. Finally it supports development environments
for the most important embedded development languages
of: C/C++, Ada95 and Java™. It is truly the best Kernel
and development environment for: hard real-time, safety,
security and mission critical applications!
Other
Related Aonix Products
Aonix offers other environments and kernels for bare
embedded target development with safety and security
requirements.
Related Aonix Products for Bare Embedded
Target
Development |
|
|
| |