openETCS / SRS-Analysis

WP3 Repositories for SysML modelling of the SRS
3 stars 6 forks source link

SRS-Analysis: Modelling_Guidelines: Review #7

Open UweSteinkeFromSiemens opened 10 years ago

UweSteinkeFromSiemens commented 10 years ago

@VNuhaan:

Dear Vincent, below you will find your review remarks and my responses to them of https://github.com/openETCS/SRS-Analysis/blob/master/System%20Analysis/GuideLines/Modelling_Guidelines.docx.

=>>> Dear Uwe, here is my review comment.

Overall: When I read the title I expect more. The document only describes the data types. Not a guide how to analyse and/or model. UweSteinkeFromSiemens: I agree, the document addresses mainly (but not only) the handling of the ETCS language and their internal representation within the OBU software.

Per section:

REQ-SRS-Analysis-ETCS-Language-002#DEF

Mapping of basic data types:

If we decide to work with fixed point value's then we probely can work with only 32 bit variables. UweSteinkeFromSiemens: fixed point arithmetic requires less CPU resources, but requires more care on resolution and overflow issues during implementation. Since we are actually focused on an analysis model, floating point arithmetic seems more convenient for this purpose. Nevertheless, we have to agree on a balance between both options.

REQ-SRS-Analysis-ETCS-Language-003#DEF

Mapping of type names:

A mistake is easely made if there are two variables with the same name. Even when they are in different name spaces. And the variabeles used in the OBU will normaly be 32 bits and in the communication with the OBU will normaly not be 32bits, so there is a difference. The variables/packets/messages can have spare values, we don't need spare value's in the OBU.
UweSteinkeFromSiemens: If variables with the same name in different name spaces should be error-prone, this could be solved by using different names and an apprpriate name convention. There is no need to transfer spare values to the internal name space.

REQ-SRS-Analysis-Basic-Concepts-002#DEF

“Valid”-Flags and “Valid”-Strobes:

a valid flag is usefull but there is more, see 4.11.1.1. And we need to store information when a level transition is anounced and use this information when the transition is made. In this case the information could also be marked with a flag ('not valid jet') UweSteinkeFromSiemens: We are free to define more flags if needed.

REQ-SRS-Analysis-Basic-Concepts-003#DEF

Time Stamps:

We want to know the excact moment in time when the data/information is measured/captured. The OBU does not measure/capture data, it will receive this from other devices. These devices must time stamp the data to the moment the data is measured/captured. The onboard must not time stamp the data, in this case the time stamps are always to late. So the timestamp must not be related to the earliest moment, but the moment where the information must be related to. UweSteinkeFromSiemens: I agree completely.

REQ-SRS-Analysis-Basic-Concepts-004#DEF

Synchronism, Interdependencies and execution order of functions:

The models may need to know the time duration between two clock pulses of the synchronous clocked excecution. UweSteinkeFromSiemens: Yes, this could be provided by applying the actual system time to each clock.

UweSteinkeFromSiemens commented 10 years ago

@MariellePetitDoche : Dear Marielle, below you will find your review remarks and my responses:

=>>>

I understand of your proposition, you plan to define at least one type for each of the 174 "Variables" of §7.5. By the way as they are going to have different types, I do not see how we can compare the different items of this § (for example how to compare two acceleration). I think it will be better to define a small set of "generic" types as "Acceleration", "Distance", "Speed",... and define some variables or attributes of structure according this set. Maybe I am wrong on my understanding of you proposal, but then we have to give a clear definition of what is a "variable", a "data type", a "packet", a "message",... Especially concerning ETCS language, "data type" appeared in §2.1, "Native ETCS languages types" appeared in §2.1.2 (which looks far from "Variables" of SRS §7.5) UweSteinkeFromSiemens: I agree, §7.5 of SRS specifies fields in the packages, that there not neccessarily must be taken as types. But if you want to process the information in the fields in an implementation, you will need to assign types to them practically. Indeed, several kinds of information (like distances expressed by a distance and a scaling value) have a representation that is inconvenient in an implementation; therefore, I see it as you, we have to define a a small set of "generic" types additionally. Referring to clear defintions of data types: The ETCS language specifies the data formats as exchanged between track and train. For modelling within the OBU, we have to find a proper representation as data types.

-§2.3.4 : I am in favour of two separate requirements according the two items. UweSteinkeFromSiemens: No problem, I will split it into 2 requirements.

In the whole, I think some example under each requirement table, will help to understand the requirements. UweSteinkeFromSiemens: Yes, I agree.