Project

General

Profile

User story #142

Updated by Ivan Herrero almost 10 years ago

Implement requirement MARTe-EX-F-1.1.15 based on the original MARTe implementation.

Note: Basic is intended as with no streaming support. Expected functionality (as minimum) is I/O to/from stdin/stdout. This implementation should be portable and delegated to the different operating systems console implementation.

h1. Source code files modified

* Source/Core/L0Portability/BasicConsole.cpp
* Source/Core/L0Portability/BasicConsole.h
* Source/Core/L0Portability/OperatingSystem/Linux/BasicConsoleOS.h
* Source/Core/L0Portability/OperatingSystem/Linux/GeneralDefinitionsOS.h
* Source/Core/L0Portability/OperatingSystem/Windows/BasicConsoleOS.h
* Source/Core/L0Portability/OperatingSystem/Windows/GeneralDefinitionsOS.h

h1. Architecture & design review

*Date of the review:* 23/06/2015

*Person who did the review:* André Neto

*Version of architecture & design document:* N/A. As per the original MARTe implementation, this is a support function and does not require formal design in UML.

*Result of review:* N/A

*List of non-conformities:* N/A

h1. Code and documentation review

*Date of the review:* 25/06/2015

*Person who did the review:* Ivan Herrero

*Result of review:*
FAIL

*List of non-conformities:*

* Source/Core/L0Portability/BasicConsole.cpp
OK

* Source/Core/L0Portability/BasicConsole.h
OK It seems that the parameter row of the GetCursorPosition method should be "out", shouldn't it?

* Source/Core/L0Portability/OperatingSystem/Linux/BasicConsoleOS.h
Some methods are not implemented, so they are tagged with a @brief tag "Not implemented". It should be better to use @brief as intended (to explain the purpose of the method) an signal that the method is not implemented in an another way (perhaps using a @warning tag). => All "@brief Not implemented" corrected, except for Show. Anyway, the standard documentation expects always a @brief (we could copy the brief text from the windows version).

* Source/Core/L0Portability/OperatingSystem/Linux/GeneralDefinitionsOS.h
OK

* Source/Core/L0Portability/OperatingSystem/Windows/BasicConsoleOS.h
The method Read has lacks documentation for parameter buffer, but the tag lacks the "@" symbol. buffer.
The method methods GetSize and SetCursorPosition has documentation for its first parameter, but it has not name for it (it should be "con").
The method GetCursorPosition has no documentation.
document the parameter "con" as "console".

* Source/Core/L0Portability/OperatingSystem/Windows/GeneralDefinitionsOS.h
OK

Back