This section details each example and the services they use.
These examples are available in each release of POK.
- arinc653-blackboard :
test the blackboard service
of the ARINC653 layer. This test relies on an AADL
model that describe a blackboards between two tasks.
- arinc653-buffer:
test the buffer service of ARINC653.
It uses AADL models.
- arinc653-queueing:
test ARINC653 queuing ports with AADL.
- arinc653-sampling:
test ARINC653 sampling ports with AADL.
- arinc653-threads:
test ARINC653 processes instanciation.
Uses AADL models.
- case-study-aerotech09:
An ARINC653 examples case study
for the AEROTECH09 conference. It uses two partitions
that communication temperature across inter-partitions
communications.
- case-study-sigada09: a system that contain three partitions
with different design patterns (non-preemptive scheduler,
ravenscar partition, queued buffers). This example was used
as use-case for a publication in the SIGAda conference (SIGAda09).
- case-study-mils: a distributed with two nodes that communicate
data at different security levels. Data are encrypted using cipher
algorithms provided by the libpok layer.
- case-study-ardupilot: a case-study made from application code
found in the ardupilot project. See.
http://code.google.com/p/ardupilot/ for documentation about this
application code.
- case-study-integrated: a case-study that shows we can use POK for
real avionics architecture. For that, we define an avionics architecture
using AADL and generates code for POK using Ocarina. The initial model is
defined by the Software Engineering Instute (SEI). See
http://www.aadl.info/aadl/currentsite/examplemodel.html#Family
for more information about this initial model. Note that we convert this
model from AADLv1 to AADLv2 to make it working with Ocarina/POK.
- data-arrays
Test the use of array types and their use
in communication with queuing ports. Use AADL
models to describe types.
- data-arrays2
Test the use of array types and their use
with sampling ports. Use AADL model to describe types.
- esterel
Use of a third-party language as application-layer.
In this case, we use Esterel generated code. Use
AADL models.
- events
Test the use of events ports between threads located
in the same partition. DO NOT use AADL models.
- exceptions-handled:
Test the exceptions catching (recovery
handlers). Use AADL models.
- heterogeneous-partitions:
Define two partitions with
different architectures. Demonstrate that the build
system can generate, build and run different modules
that have different architectures.
- libmath:
Test the inclusion of the libmath library in the libpok layer.
Use AADL model.
- lustre-academic:
Test the inclusion of Lustre application code
inside partition. Use AADL models.
- middleware-blackboard:
Test the use of blackboard service. Use AADL models.
- middleware-buffer:
Test the use of buffer service. Use AADL models.
- middleware-buffer-timed:
Test the use of buffer service with timeout.
Use AADL models.
- middleware-queueing:
Test the use of queuing port service. Use AADL models.
- middleware-queueing-timed:
Test the use of queuing port service with timeout.
Use AADL models.
- middleware-sampling:
Test the use of sampling port service.
Use AADL models.
- mutexes:
Test mutex service (POK layer).
Use AADL models.
- mutexes-timed:
Test mutex service with timeout. Use AADL models.
- network:
Test network driver (rtl8029) on x86 architecture.
Use AADL models.
- partitions-scheduling:
Example with different schedulers.
Use AADL models.
- partitions-threads:
Test thread instanciation (POK layer). Use AADL models.
- semaphores:
Test the use of semaphors (POK layer). Do not use AADL
models.
- simulink: Test the inclusion of simulink code. Do not
work since it needs a dedicated runtime to work. It needs additional
services in the libpok layer to work. This additional work is not so
difficult to provide, we just need time !
Copyright 2009 POK Team