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:* 01/07/2015 25/06/2015
*Person who did the review:* Ivan Herrero
*Result of review:* PASS
FAIL
*List of non-conformities:* N/A
* Source/Core/L0Portability/BasicConsole.cpp
OK
* Source/Core/L0Portability/BasicConsole.h
OK
* 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 documentation for parameter buffer, but the tag lacks the "@" symbol.
The method SetCursorPosition has documentation for its first parameter, but it has not name for it (it should be "con").
The method GetCursorPosition has no documentation.
* Source/Core/L0Portability/OperatingSystem/Windows/GeneralDefinitionsOS.h
OK
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:* 01/07/2015 25/06/2015
*Person who did the review:* Ivan Herrero
*Result of review:* PASS
FAIL
*List of non-conformities:* N/A
* Source/Core/L0Portability/BasicConsole.cpp
OK
* Source/Core/L0Portability/BasicConsole.h
OK
* 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 documentation for parameter buffer, but the tag lacks the "@" symbol.
The method SetCursorPosition has documentation for its first parameter, but it has not name for it (it should be "con").
The method GetCursorPosition has no documentation.
* Source/Core/L0Portability/OperatingSystem/Windows/GeneralDefinitionsOS.h
OK