![]() |
![]() |
![]() |
![]() |
![]() |
Integration
The purpose of the integration task is to select (and implement if no predefined integration exists) a generic integration mechanism that makes it possible to execute a generated application in a target hardware/software environment. There are three different strategies available for this integration:
- Making an integration using the SDL run-time system, where the SDL application directly runs on a micro processor without any additional operating system support.
- Making a light integration to an operating system, where an SDL system (together with a run-time system) is treated as one task in the operating system.
- Making a tight integration to a real-time operating system, where each SDL process instance (or set of instances of a specific type) results in a task in the operating system.
Both the integration using the SDL run-time system and the light integration use a supplied run-time system to execute the SDL system that takes care of the SDL semantics including scheduling of processes etc.
A tight OS integration consists of a set of files that define how the SDL semantics is mapped to the operating system in question. The main categories are:
- Macro definitions that define the macros in the generated code
- Functions that handle constructs that cannot be used directly in the operating system (i.e. saving of signals)
- Functions that are dependent on the specific operating system (i.e. allocate/free memory)
- Definitions and handling of SDL predefined data types
- Identifiers for signals, timers and remote procedure calls
- Post processing utilities to enumerate signal and process types
An existing integration for an operating system is highly reusable and several predefined integrations are available.
http://www.ibm.com/rational |
![]() |
![]() |
![]() |
![]() |