Real-time/embedded systems development RESD
The architecture, design and development of reliable real time software, operating systems, tools and embedded systems. Embedding computer systems with a dedicated function within a larger mechanical or electronic system, often with real-time, safety, security, and reliability constraints. Typically includes interfacing with hardware, mechanical sensors and actuators for monitoring and control in applications such as industrial, automotive, aerospace and medical machinery, robots and equipment including IoT (Internet of Things) devices.
Provides overall direction in the conception and design of real-time/embedded systems. Develops real-time/embedded software architectures in order to exploit new technologies or new uses for existing technologies. Develops effective implementation and procurement strategies, consistent with specified requirements, systems architectures and constraints of performance, cost and feasibility. Sets organisational policies and standards for, and leads on, the development of real-time/embedded systems including how critical non-functional requirements such as performance, safety, security, and reliability are achieved. Drives adoption of and adherence to relevant strategies, policies, standards.
Develops real-time/embedded software architectures and designs to meet agreed systems specifications within resource constraints due to power, cost, physical space, response time and reliability. Selects programming languages, models, techniques, specialised tools and hardware to enable the design, development, debugging and validation of real-time/embedded software. Plans and manages real- time/embedded systems developments. Undertakes impact analysis on major design options and trade-offs between hardware and software, makes recommendations and assesses and manages associated risks. Validates and verifies other’s designs to ensure selection of appropriate components and efficient use of resources. Investigates the impact of software requirements with complementary hardware and other related disciplines such as electrics, electronics, mechanics, acoustics, physiology and optics.
Designs and develops complex real-time/embedded systems components often incorporating fail-safe characteristics or graceful degradation. Develops and implements software to operate in embedded systems. Develops prototypes or simulations of real time/embedded systems to support decision-making. Designs physical layouts reflecting connections between the components of real-time/embedded systems to test and optimise performance. Contributes to validation and verification activities. Uses specialised tools and hardware (such as logic analysers, in-circuit emulators or digital storage oscilloscopes) for developing, testing, debugging and troubleshooting of embedded software to ensure high levels of integrity and reliability.
Designs the interactions between medium-complexity embedded systems components with hardware and the physical world through sensors, actuators and I/O ports. Selects and uses appropriate programming languages (high and low-level) and scripting languages to develop medium complex real-time/embedded components as part of an overall systems design typically requiring high levels of reliability or integrity. Applies a range of approaches to perform extensive testing of real-time/embedded systems, using specialised tools such as logic analysers, in-circuit emulators or digital storage oscilloscopes to demonstrate that high levels of systems integrity and reliability are addressed.
Designs the interactions between simple embedded systems components with hardware and the physical world, through sensors, actuators and I/O ports. Uses low level programming languages to develop simple real-time/embedded components as part of an overall systems design. Applies standard approaches to perform extensive testing of real-time/embedded systems, using specialised tools such as logic analysers, in-circuit emulators or digital storage oscilloscopes.