3.3.1: "... the Basic Software is in charge of calling all services of the Application SW
(through the API)" : Previously, it was stated that the API provides services for the application SW. Here it sounds the other way around. What is meant?
3.3.2: Main phase "Failure : the normal working cycles shall be interrupted in case of failure (HW failure, System failure,…) detected by the Basic or the Application SW" : Which impact does this have on the application SW? What are the application SW requirements for this phase?
3.3.3: Diagram "API services": Each of the "WRITE" functions must provide a consistent set of input data, that can be evaluated by the application software independently and - if neccessary - with usage of the input data stored from previous WRITE-functions within the same or former cycles, but without the need for the application to wait for subsequent "WRITE" calls.
3.3.3: The Basic SW and the API must not require the application SW to sort its input data received via the "WRITE_" functions and to reconstruct the correct sequential and chronological order.
3.3.3: The Basic SW and the API must not require the application to store more than one input data set of the same "WRITE" function type or more than one output data set of the same "READ" function type within one cycle. Instead, the Basic SW and API are responsible for providing the appropriate FIFO buffers for input and output data.
3.3.3: "The order into which the inputs and output services of the Application Software are called is NOT defined.": This is acceptable only, if the order of the input and output datagrams to and from the application software is not relevant. Does this comply with the required OBU functionality? In any case, the duties of the application software and the guarantees of the basic software and API should be specified more clearly.
3.3.3: "The total execution time taken by the OpenETCS Application SW in one cycle shall be limited to 100ms." This requirement is useless as long the execution platform for the application SW has not been defined. Additionally, the number of input events applied by the basic SW to the applicaton SW is unlimited; a execution load limitation for the application SW is unfeasible due to unlimited inputs within one cycle.