diff --git a/docs/modules/baselibs/bitmanipulation/docs/requirements/index.rst b/docs/modules/baselibs/bitmanipulation/docs/requirements/index.rst index f80902c7c6..d41d990dd1 100644 --- a/docs/modules/baselibs/bitmanipulation/docs/requirements/index.rst +++ b/docs/modules/baselibs/bitmanipulation/docs/requirements/index.rst @@ -72,5 +72,53 @@ Non-Functional Requirements The bit manipulation API shall be header-only and not require external dependencies. -.. needextend:: "__bitmaipulation__" in id +Assumptions of Use (AoU) +======================== + +.. aou_req:: Valid Bit Positions and Ranges + :id: aou_req__bitmanipulation__valid_bit_positions + :reqtype: Functional + :security: NO + :safety: ASIL_B + :status: valid + + The user shall assume that the API performs bound checking to validate bit positions and ranges provided to the bit manipulation functions. + +.. aou_req:: Integral Type Constraints + :id: aou_req__bitmanipulation__type_constraints + :reqtype: Functional + :security: NO + :safety: ASIL_B + :status: valid + + The user shall only use bit manipulation functions with integral types (integers, enumerations) as specified in the library's type constraints. Operations on floating-point or non-integral types are not supported. + +.. aou_req:: Enum Class Type Safety + :id: aou_req__bitmanipulation__enum_type_safety + :reqtype: Functional + :security: NO + :safety: ASIL_B + :status: valid + + The user shall use scoped enumeration types (enum class) whose enumerators are defined as non-zero power-of-two values (1, 2, 4, 8, 16, etc.) + +.. aou_req:: No Side Effects on Concurrent Access + :id: aou_req__bitmanipulation__concurrent_access + :reqtype: Non-Functional + :security: NO + :safety: ASIL_B + :status: valid + + The user shall implement external synchronization mechanisms (e.g., mutexes, atomic operations, or locks) when accessing or modifying the same integral value from multiple threads concurrently, as the library provides no internal thread safety guarantees. + +.. aou_req:: Bit Extraction Index Validation + :id: aou_req__bitmanipulation__bit_validation + :reqtype: Functional + :security: NO + :safety: ASIL_B + :status: valid + + The user shall validate byte and half-byte extraction indices to ensure they correspond to valid positions within the target integral type to prevent accessing invalid memory ranges. + +.. needextend:: "__bitmanipulation__" in id :+tags: baselibs