Next:
Contents
Contents
POK User Guide
POK Team
19 February 2014
Contents
List of Figures
Introduction
What is POK?
Purpose of this document
Supported platforms
x86
PowerPC
LEON3
Supported standards
ARINC653 support
MILS
About the POK team
Installation
Supported development platforms
Get more information
Linux/MacOS
Pre-requires
Note for MacOS users
Running POK
Windows
Pre-requires
Getting started
First experience with POK
Development cycle
Configure POK: the
conf-env.pl
script
Automatic and manual configuration
Kernel configuration with ARINC653 XML files
How to write my manual code ?
Using Ada for partitions
Run POK on Leon3
Automatic configuration and configuration with AADL models
Proposed development process
Use the pok toolchain for model analysis, validation, code generation, compilation and execution (the
pok-toolchain.pl
script)
Use the
pok-toolchain.pl
script
Example of use
Model validation
POK properties for the AADL
Modeling patterns
Kernel
Scheduling
Device drivers
Partitions
Scheduling
Memory requirements
Additional features
Threads (ARINC653 processes)
Inter-partitions channels
Queuing ports
Sampling ports
Intra-partitions channels
Buffers
Blackboards
Events
Semaphores
Protocols
POK AADL library
Examples
Configuration directives
Automatic configuration from ARINC653 XML files
Common configuration
Kernel configuration
Services activation
General configuration
Number of threads
Number of lockobjects
Partitions configuration
Number of partitions
Threads allocation across partitions
Number of nodes
Lockobjects allocation across partitions
Scheduler of each partition (level 1 of scheduling)
Scheduler of partitions (level 0 of scheduling)
Partitions size
Inter-partitions ports communication
Current node identifier
Number of global ports
Number of local ports
Local ports identifiers
Global ports identifiers
Node identifiers
Associate local ports with global ports
Specify local ports routing (local ports to global ports)
Convert local port to global ports
Convert global port to local port
Location of each global port
Specify the port type
Specify ports names
Specify port usage for each partition
Libpok (partition runtime)
Configuration
Services activation
Examples
Assurance Quality
List of provided examples
Architecture
Directories hierarchy
"Schyzophrenic" architecture
Partitioned architecture
Executive architecture
Kernel services
Partitioning service
Thread service
Time service
Communication service
Communication using network
Scheduling service
libpok services
Thread management
Communication service
Memory allocator
Mathematic library service
Protocols
POK API
Core C
Error values
Memory Allocation
Threads
Error handling
Inter-partitions communication
Intra-partitions communications
Configuration
Blackboards
Buffers
Events
Semaphores
C-library
Standard Input/Output
Standard Lib
String functions
Math functions
Protocol functions
ARINC653 C
APEX types and constants
Partition management
Time management
Error handling
Process management
Blackboard service (intra-partition communication)
Buffer service (intra-partition communication)
Event service (intra-partition communication)
Queuing ports service (inter-partition communication)
Sampling ports service (inter-partition communication)
ARINC653 Ada
APEX types and constants
Blackboards
Buffers
Events
Health monitoring
Module schedules
Partitions
Processes
Queuing ports
Sampling ports
Semaphores
Timing
Instrumentation
Instrumentation purpose
Output files
Use cheddar with produces files
Annexes
Terms
Resources
POK property set for the AADL
AADL library
ARINC653 property set for the AADL
Network example, modeling of device drivers
About this document ...
Copyright 2009 POK Team