AMS Advanced Air Mobility Sensors UG
Loading...
Searching...
No Matches
Design decisions

Runtime environment

Port access protection

  1. SWC ports shall be private members of the CRte class.
  2. Software components shall be friends of the CRte class.

Software component port data types

Port data types shall inherit from NLibCommon::CSerializable and implement its virtual methods NLibCommon::CSerializable::ToByteVector() and NLibCommon::CSerializable::FromByteVector(). Rationale: Easy serialization/deserialization of data stored in software component ports streamlines development process by simplifiying debugging and defect analyses.

Auto-generation of runtime environment

The CRte class, which implements the runtime environment (RTE), is automatically generated based on an RTE description provided in JSON format, alongside template source and header files. Software component port data types can either be defined by the user or automatically generated by the RTE generator utility. Additionally, the RTE generator can produce several supplementary source and header files required for the development tools used by the team.

Rationale: The runtime environment is subject to frequent changes, such as the addition or removal of ports, modification of existing port data types, and the integration of new software components. These modifications can involve tedious manual work and require high attention to ensure adherence to the RTE design principles. Utilizing a code generation tool helps streamline the development process by automating these tasks, minimizing the risk of errors or deviations from the established design principles, and ensuring consistent compliance with the project's architectural guidelines.