Introduction
The Pulsar Executor Framework is a sophisticated system designed to simplify the development and execution of tasks in embedded applications, particularly for automotive microcontrollers. It provides a set of APIs enabling developers to create and manage tasks that are triggered by specific configurations, such as time or events, without the need to write complete POSIX applications. This framework is ideal for developers accustomed to legacy automotive application development and seeks to streamline the transition to more modern methodologies while maintaining familiarity with traditional systems.
Please note that from runtime perspective both stand alone application and Executor based application are similar. Only difference is that in an executor based application, when the application is launched the executor takes the control of application lifecycle and execute user defined tasks based on user defined configurations.
Key Features
Task Management:
- Time-Triggered Tasks: Allows the execution of tasks at predefined time intervals.
- Event-Triggered Tasks: Enables tasks to run in response to specific events or conditions.
- Configurable Execution: Tasks can be easily configured and scheduled based on system requirements.
APIs for Developers:
- Ease of Use: Intuitive APIs that simplify the process of task creation and management.
- Flexibility: Supports a wide range of task types and execution conditions.
- Legacy Support: Designed to be compatible with developers’ existing knowledge of automotive microcontroller applications.
Abstraction Layer:
- Simplified Development: Developers can focus on the core logic of their applications without worrying about low-level POSIX details.
- Consistency: Ensures consistent execution behavior across different microcontroller platforms.
Benefits
- Reduced Development Time: By providing ready-to-use APIs and a framework for task management, developers can significantly reduce the time required to develop and deploy applications.
- Enhanced Reliability: The framework ensures that tasks are executed as per the defined configurations, leading to more reliable and predictable application behavior.
- Scalability: The framework supports scaling from simple to complex task management requirements, making it suitable for a wide range of automotive applications.
- Legacy Integration: Developers familiar with traditional automotive development practices can easily adapt to the framework, facilitating a smoother transition to modern development practices.
How to Use the Pulsar Executor Framework
The steps explained here are explained in detail in the tutorial Building your First App
- Create tasks:
- Use the provided APIs to create tasks. See Task API
- Define the logic for each task, focusing on the core functionality without worrying about underlying system details.
- Managing Task Execution:
- Schedule tasks using time-based or event-based configurations. See PeriodicTask API and DataTriggeredTask API
- Monitor and manage the execution of tasks, making adjustments as needed to ensure optimal performance.
- Integration with Existing Systems:
- Integrate the framework with existing automotive systems and microcontroller platforms.
- Leverage legacy code and knowledge to enhance new applications using the framework's capabilities.
Example
The tutorial Building your First App explains the usage of Executor framework for developing comm application. In that the publisher app use time triggered task execution and the subscriber use event triggered task execution.