Designing and developing reliable real-time software typically within embedded systems.
Embedded systems provide a dedicated function within a more extensive mechanical or electronic system with real-time, safety, security, and reliability constraints. Typically, it involves interfacing with hardware, sensors, and actuators for monitoring and control in industrial, automotive, aerospace, medical or robotic equipment, including IoT (Internet of Things) devices and intelligent systems.
These systems typically perform critical functions and have demanding requirements including - but not limited to - integrity, reliability, safety, security or power consumption.
Activities may include - but are not limited to:
defining non-functional system requirements such as performance, reliability, safety, and security, including requirements for power, cost, physical space or response time
building in fail-safe/secure characteristics for graceful degradation
using specialist techniques to define systems and to assure essential attributes are achieved
applying comprehensive verification, validation and testing methods and techniques
using specialised tools such as in-circuit emulators, logic analysers and digital oscilloscopes.
Designs, builds and tests simple real-time/embedded components as part of an overall larger systems design.
Uses appropriate programming languages to drive simple sensors and actuators.
Learns to use specialised tools such as in-circuit emulators, logic analysers and digital oscilloscopes.
Designs, builds and integrates medium-complexity real-time/embedded components as part of an overall larger systems design.
Follows agreed standards and uses specialist tools such as in-circuit emulators and logic analysers.
Drives specialist hardware, typically sensors and actuators, and optimises component code for performance.
Applies a range of approaches to the verification and testing of real-time components.
Designs, builds and integrates complex real-time/embedded components and sub-systems.
Designs physical layouts that reflect the connection between system components to test and optimise performance.
Builds system prototypes and simulations to aid development and enable debugging, testing and troubleshooting of embedded software.
Applies a range of approaches to the validation, verification and testing of real-time components and sub-systems. Is fully familiar with a range of specialist tools.
Designs and develops real-time/embedded architectures and systems to meet agreed system requirements.
Plans and manages the development of complex real-time/embedded systems and selects the approaches and techniques to be used.
Analyses design options and trade-offs between hardware and software, makes recommendations and assesses and manages associated risks. Ensures that effective validation, verification and testing is undertaken throughout development.
Oversees the integration of multiple sub-systems into the overall system.
Provides overall direction and leadership in the development of real-time/embedded systems.
Develops organisational policies, standards and guidelines for real-time/embedded systems architectures and designs.
Plans and leads strategic, large and complex real-time/embedded system developments. Identifies opportunities to exploit new technologies and improve existing technologies and practices.
Drives adherence to technical strategies, systems architectures and the implementation of risk-based verification, validation and testing. Develops effective implementation and procurement strategies.
No notes added yet.