Undertake real-time software solution development
Overview
This standard covers the competences needed to undertake real-time software solution development. It covers the principles of real-time software solutions design, implementation, testing and deployment. It incorporates how to create the desired functionality and real-time data operation of a software system. This includes programming, communication and synchronisation.
Your underpinning knowledge and understanding of the principles of real-time software development will enable you to undertake programming tasks including for example; scheduling, asynchronous events, real-time threads, asynchronous transfer of control and resource control.
This type of activity is likely to be undertaken by someone whose work role involves delivering real-time software solutions and the development of associated tools and methods. This includes people working as Real-Time Software Developers, Real-Time Programmers, Real-Time Data Engineers, Embedded Systems Software Engineers etc. You will likely work within a team of developers and in a sector or organisation that works with real-time data, such as real-time financial trading, building control, transport and logistics, manufacturing processes, chemical processing, health monitoring systems or on-line gaming.
Performance criteria
You must be able to:
Knowledge and Understanding
You need to know and understand:
- the design parameters in which real-time software system designers operate
- the requirements placed on real-time systems
- the essential features and functionality developed in real-time systems to achieve real-time operation
- the behaviour, major states and characteristics of real-time systems
- the implementation of real-time software on single processor systems, including interrupts, real-time clock, pre-emption and time-slicing
- the main features of high-level languages used for programming real-time systems and how to apply these
- models of temporal and logical control in real-time systems
- software architecture design patterns used in the development of real-time systems
- the principles of scheduling and timing analysis used in the design of real-time software systems
- the application of fixed priority pre-emptive scheduling (FPPS) and earliest-deadline first (EDF) scheduling approaches for real-time systems
- the industry standard design approaches for modular real-time software development
- the application of real-time modelling techniques
- real-time scheduling methods and how to apply them
- software testing and verification techniques for real time software and how to apply them