System Architect (Second Edition) Study Notes - Embedded Systems and Software

[Original link] System Architect (Second Edition) Study Notes - Embedded Systems and Software

1. Embedded system

1.1 Composition of embedded systems

  • embedded processor
  • Related supporting hardware
  • embedded operating system
  • Support software
  • application

1.2 Characteristics of embedded systems

  • Strong specificity
  • Technology integration
  • Software-based integration of hardware and software
  • Less than general computing resources
  • Program code is solidified in non-volatile memory
  • Requires specialized development tools and environment
  • Small size, low interval, advanced technology, high cost performance, low system configuration requirements, and strong real-time performance
  • High requirements for safety and reliability

1.3 Classification of embedded systems

  • real time system
  • safety critical systems

Furthermore, combinations between them produce a systematic classification as shown below

2. Embedded software

2.1 Embedded system software layering

  • hardware layer
  • abstraction layer
  • operating system layer
  • middleware layer
  • Application layer

2.2 Main features of embedded software

  • Tailorability
  • Configurability
  • Strong real-time performance
  • safety
  • reliability
  • High certainty

3. Security design of safety-related software

3.1 The relationship between software security levels and goals in the DO-178B standard

3.2 Division of software life cycle in DO-178B

  • software planning process
  • software development process
  • software synthesis process

3.3 DO-178B data requirements

  • document
  • code
  • report
  • Record

3.4 Software development process breakdown of software life cycle in DO-178B

  • software requirements process
  • software design process
  • software coding process
  • integration process

3.4 Subdivision of software integration process in software life cycle in DO-178B

  • Software Verification Process
  • Software Configuration Management Process
  • Software Quality Assurance Process
  • Validation Liaison Process

3.5 Differences between DO-178B and CMMI

  • From the perspective of process improvement, CMMI puts forward requirements for the technology and management of software development, covering three levels of requirements from individuals, projects and organizations, and pays more attention to the improvement of the overall software capabilities of the organization. DO-178 puts forward requirements for the technology and management process of software development from the perspective of airworthiness certification, and pays more attention to the impact of project software quality on safety. Therefore, DO-178 covers fewer processes than CMMI. For example, DO-178C does not have clear requirements for project monitoring process, risk management process, training process, etc.
  • CMMI is mainly composed of practice, which is the abstraction (removing the environment, method) of best practice in various industries, while the DO-178C process is mainly composed of goals, activities and data. Although the activities do not represent specific work steps, the activity requirements are more specific , and puts forward clear requirements for process output (data). Combined with the configuration management process of DO-178, the requirements for data management and control are also relatively specific.
  • CMMI integrates the perspectives of systems, software, and hardware, so multiple scenarios must be considered in content and wording, which can easily lead to ambiguity. DO-178 focuses on software and is easier for software engineers to understand (it does not mean it is easy to do).

Guess you like

Origin blog.csdn.net/redrose2100/article/details/132758119