Task Scheduling Application for VxWorks Fire Control Consoles
This guide details the design and implementation of a task scheduling application component for weapon fire control consoles under the VxWorks 5.5 embedded operating system. The component enables automatic mode switching, supports concurrent execution of multiple application modules, and enhances software flexibility and standardization.
⚡ Introduction #
Modern military platforms may deploy multiple fire control devices on a single carrier. Dedicated consoles per model lead to duplicated design effort, wasted resources, and limited extensibility.
Solution Overview:
- Generalized design scheme for fire control consoles
- Standardized hardware platform and reusable application components
- Dynamic deployment of mode-specific functionality
The approach consolidates common functionality across models and allows downward compatibility for multiple device types.
🛠 System Overview #
Terminology #
- Application Component: A software module implementing a specific function.
- Mode: A configuration organizing related components to satisfy a specific device model’s functionality.
- Deployment Scheme: Rules for dynamically configuring the console to achieve specified functions using available modes.
Functional Description #
The task scheduling component provides:
- Dynamic loading/unloading of user components
- Task management (load, unload, suspend, resume)
- Real-time monitoring of task execution
Tasks are scheduled according to pre-configured deployment schemes. Users can switch modes dynamically, prompting the scheduler to load/unload components and recombine functionality seamlessly.
Development Environment:
C/C++ with Tornado 2.2.1 on VxWorks 5.5
🔧 Component Architecture #
The task scheduler consists of four modules:
-
Deployment Scheme Dynamic Parsing
Reads and parses deployment scheme files to map modes to components. -
User Component Dynamic Loading
Loads components into memory during initialization to ensure rapid task response. -
Mode Switching Module
Handles user-triggered mode changes:- Unloads previous mode tasks
- Loads new mode tasks
-
Task Monitoring Module
Tracks task states in real time and provides user interfaces for inspection.
⚙️ Data Flow and File Structure #
Key files and relationships:
- Deployment Scheme File: Lists all modes and corresponding configuration files.
- Mode Configuration Files: Define which user components belong to each mode.
- User Component Files: Executables implementing specific functions, each exposing standardized interfaces:
- Task load
- Task unload
- Task suspend
- Task resume
This structure ensures dynamic reconfiguration based on mode selection.
💻 Program Flow Analysis #
Initialization:
- Load deployment scheme and mode configuration files
- Load all user components into memory
- Start mode switching and monitoring tasks
- Activate default mode
Mode Switching:
- Listens for commands in real time
- Verifies target mode components
- Unloads current mode tasks, then loads new mode tasks
Task Monitoring:
- Auxiliary clock ISR collects CPU usage data
- Computes occupancy rates and task states
- Provides monitoring interfaces for users
✅ Conclusion #
The generalized task scheduling design for VxWorks-based fire control consoles:
- Enables dynamic mode switching and component recombination
- Achieves hardware platform standardization
- Reduces development costs
- Improves operational flexibility and software extensibility
Testing confirms compatibility across multiple fire control device models and operational efficiency gains.
Reference: Task Scheduling Application for VxWorks Fire Control Consoles