Project

General

Profile

Meeting #337

Updated by André Neto almost 7 years ago

The v0.16 is dedicated to the release of a complete user manual (based on sphinx).

h1. Requirements review

*Date of the review:* 02/05/2018

*Person who did the review:* André Neto

*Version of requirements:* N/A

*Result of review:* N/A

*List of non-conformities:* N/A

*Comments*: No new requirements were added w.r.t. to v0.14.

h1. Architecture & design review

*Date of the review:* 02/05/2018

*Person who did the review:* André Neto

*Version of architecture & design document:* 0.16

*Result of review:* N/A

*List of non-conformities:* N/A

*Comments*: No updates related to the architecture.

h1. Code and documentation review

*Date of the review:* 02/05/2018

*Person who did the review:* André Neto

*Version of source code:* 0.16

*Result of review:* PASS

*List of non-conformities:*
<pre>
Note 974: Worst case function for stack usage: 'MARTe::ConfigurationDatabase::Copy' is recursive, loop contains call to 'MARTe::ConfigurationDatabase::Copy'. See +stack for a full report. [MISRA C++ Rule 7-5-4]
</pre>

*List of warnings reported by Doxygen:*
<pre>
Source/Core/BareMetal/L3Streams/AdvancedErrorManagement.h:4: Warning: Found unknown command `\copyright'
Source/Core/BareMetal/L3Streams/AdvancedErrorManagement.h:136: Warning: argument 'code' of command @param is not found in the argument list of REPORT_ERROR(...)
Source/Core/BareMetal/L3Streams/AdvancedErrorManagement.h:136: Warning: argument 'message' of command @param is not found in the argument list of REPORT_ERROR(...)
Source/Core/BareMetal/L3Streams/AdvancedErrorManagement.h:79: Warning: argument 'code' of command @param is not found in the argument list of REPORT_ERROR_STATIC(...)
Source/Core/BareMetal/L3Streams/AdvancedErrorManagement.h:79: Warning: argument 'message' of command @param is not found in the argument list of REPORT_ERROR_STATIC(...)
Source/Core/BareMetal/L3Streams/BitSetToInteger.h:4: Warning: Found unknown command `\copyright' (Repeated many times)
Source/Core/BareMetal/L4Logger/Logger.cpp:43: Warning: Member LoggerErrorProcessFunction(const MARTe::ErrorManagement::ErrorInformation &errorInfo, const char8 *const errorDescription) (function) of namespace MARTe is not documented
Source/Core/BareMetal/L0Types/Matrix.h:576: Warning: Member Determinant(float32 &det) const (function) of class MARTe::Matrix is not documented.
Source/Core/BareMetal/L0Types/Matrix.h:618: Warning: Member Determinant(float64 &det) const (function) of class MARTe::Matrix is not documented.
Source/Core/BareMetal/L0Types/Matrix.h:659: Warning: Member Inverse(Matrix< float32 > &inverse) const (function) of class MARTe::Matrix is not documented.
Source/Core/BareMetal/L0Types/Matrix.h:706: Warning: Member Inverse(Matrix< float64 > &inverse) const (function) of class MARTe::Matrix is not documented.
Source/Core/BareMetal/L4Configuration/XMLParser.h:68: Warning: Unsupported xml/html tag <STRING> found
Source/Core/BareMetal/L4Configuration/XMLParser.h:68: Warning: Unsupported xml/html tag </STRING> found
Source/Core/BareMetal/L4Configuration/XMLParser.h:69: Warning: Unsupported xml/html tag <STRING> found
Source/Core/BareMetal/L4Configuration/XMLParser.h:69: Warning: Unsupported xml/html tag </STRING> found
Source/Core/BareMetal/L4Configuration/XMLParser.h:70: Warning: Unsupported xml/html tag <STRING> found
Source/Core/BareMetal/L4Configuration/XMLParser.h:70: Warning: Unsupported xml/html tag </STRING> found
Source/Core/Scheduler/L3Services/ExecutionInfo.h:160: Warning: argument 'context' of command @param is not found in the argument list of MARTe::ExecutionInfo::SetThreadSpecificContext(void *const &contextIn)
Source/Core/Scheduler/L3Services/ExecutionInfo.h:160: Warning: The following parameters of MARTe::ExecutionInfo::SetThreadSpecificContext(void *const &contextIn) are not documented: parameter 'contextIn'
Source/Core/Scheduler/L3Services/MultiThreadService.h:159: Warning: argument 'priorityLevelIn' of command @param is not found in the argument list of MARTe::MultiThreadService::SetStackSize(uint32 stackSizeIn)
Source/Core/Scheduler/L3Services/MultiThreadService.h:159: Warning: The following parameters of MARTe::MultiThreadService::SetStackSize(uint32 stackSizeIn) are not documented: parameter 'stackSizeIn'
</pre>
_Disclaimer: Some warnings might be to due a bug of Doxygen (https://bugzilla.gnome.org/show_bug.cgi?id=406027), fixed on version 1.8.10 (we use 1.6.1 on vcis-jenkins.f4e.europa.eu)._

*Remark*
The documentation of DataSourceI has to be revisited.

*Remark*
The SquareRoot template methods for float32 and float64 need to be provided.
<pre>
template<typename Type>
inline Type SquareRoot(const Type x) {

Type tmp = x;

if (tmp < (Type) 0) {
REPORT_ERROR_STATIC_0(ErrorManagement::Warning, "SquareRoot<Type> of negative number");
tmp *= -1;
}

return sqrt(tmp);
}
</pre>
It is only valid for Type being float64. In case of float32, there would be an implicit casting to satisfy the sqrt method. Two implementations shall be provided to call sqrt and sqrtf, as appropriate

*Remark*
The following classes have non-virtual destructors. As long they are not base classes of any derived class, it is safe, but they need to be monitored (flexlint will check and signal this as error code 1509).
<pre>
Matrix, Vector, GlobalObjectsDatabase, LoadableLibrary, MemoryArea, StaticListHolder, CharBuffer, AnyTypeCreator, LexicalAnalyzer, Token, TokenInfo, Directory, MutexSem, ThreadInformation.
</pre>

h1. Unit test review

*Date of the review:* 02/05/2018 13/06/2017

*Person who did the review:* André Neto

*Version of unit tests:* 0.16

*Result of coverage tests review:* PASS

*Result of functional tests review:* PASS

*Result of review:* PASS

*List of non-conformities:*

_LCOV report (files containing functions not executed at all):_
Note: execute with <pre>lcov -l Build/MARTe2.coverage.info</pre>
<pre>
|Lines |Functions|Branches
Filename |Rate Num|Rate Num|Rate Num
================================================================================
L1Portability/Environm...Linux/BasicConsole.cpp|79.4% 223|76.2% 42| - 0
L1Portability/FastResourceContainer.cpp |83.5% 97|71.4% 7| - 0
L1Portability/MemoryArea.cpp |91.2% 57|91.7% 12| - 0
L2Objects/ClassProperties.cpp |92.9% 28|87.5% 8| - 0
L2Objects/Introspection.cpp |73.3% 15|85.7% 7| - 0
L2Objects/IntrospectionEntry.cpp |88.3% 111|93.3% 15| - 0
L2Objects/Object.cpp |88.8% 250|96.8% 31| - 0
L5GAMs/GAM.cpp |98.0% 349|94.6% 37| - 0
ExceptionHandler.h | 0.0% 2| 0.0% 2| - 0
QueuedMessageI.cpp |95.9% 49|90.0% 10| - 0
</pre>

_LCOV report (files containing functions with coverage < 90%):_
<pre>
|Lines |Functions|Branches
Filename |Rate Num|Rate Num|Rate Num
================================================================================
L1Portability/Environm...Linux/BasicConsole.cpp|79.4% 223|76.2% 42| - 0
L1Portability/Environment/Linux/Sleep.cpp |76.3% |76.1% 93| 92| 100% 8| - 0
L1Portability/FastResourceContainer.cpp |83.5% 97|71.4% 7| - 0
L2Objects/ClassRegistryDatabase.cpp |81.9% 127| 100% 15| - 0
L2Objects/Introspection.cpp |73.3% 15|85.7% 7| - 0
L2Objects/IntrospectionEntry.cpp |88.3% 111|93.3% 15| - 0
L2Objects/Object.cpp |88.8% 250|96.8% 31| - 0
L2Objects/ReferenceCon...erFilterReferences.cpp|84.6% 13| 100% 5| - 0
L3Streams/BufferedStreamIOBuffer.cpp |86.0% 50| 100% 8| - 0
L3Streams/DoubleBufferedStream.cpp |82.7% 110|84.0% 25| - 0
L3Streams/IOBufferFloatPrint.cpp |84.5% 464| 100% 29| - 0
L3Streams/IOBufferIntegerPrint.cpp |85.2% 460|93.5% 93| - 0
L3Streams/SingleBufferedStream.cpp |84.1% 176|83.3% 24| - 0
L3Streams/StreamString.cpp |89.9% 149|88.9% 36| - 0

[/home/aneto/Projects/MARTe2-dev/Source/Core/FileSystem/L1Portability/Environment/Linux/]
BasicFile.cpp |87.8% 278|93.9% 33| - 0
BasicTCPSocket.cpp |85.5% 234| 100% 25| - 0
BasicUDPSocket.cpp |88.1% 118|95.7% 23| - 0
Directory.cpp |86.2% 80| 100% 15| - 0
DirectoryScanner.cpp |88.0% 92|90.0% 10| - 0

[/home/aneto/Projects/MARTe2-dev/Source/Core/FileSystem/L6App/Environment/Linux/]

Bootstrap.cpp |41.9% 31|60.0% File.cpp |71.4% 7|57.1% 5| 7| - 0

[/home/aneto/Projects/MARTe2-dev/Source/Core/Scheduler/L1Portability/]

ExceptionHandler.h | 0.0% 2| 0.0% EventSem.cpp |87.2% 2| 141| 100% 15| - 0

[/home/aneto/Projects/MARTe2-dev/Source/Core/Scheduler/L5GAMs/]

GAMScheduler.cpp |87.1% MutexSem.cpp |86.8% 132| 121| 100% 15| 13| - 0
================================================================================
Total:|94.0% 19608|88.1% 7k|
ExceptionHandler.h | 0.0% 2| 0.0% 2| - 0


</pre>

_GTest report_
<pre>
[----------] Global test environment tear-down
[==========] 3912 3865 tests from 147 143 test cases ran. (208611 (211109 ms total)
[ PASSED ] 3909 3864 tests.
[ FAILED ] 1 tests, listed below:
[ FAILED ] IOBufferGTest.TestPrintStructuredDataInterface
</pre>

h1. Integration test review

*Date of the review:* 02/05/2018 13/06/2017

*Person who did the review:* André Neto

*Version of integration tests:* 0.16 0.14

*Result of review:* N/A

*List of non-conformities:* N/A

*Comments*: Not performed.

h1. Acceptance test review

*Date of the review:* 02/05/2018 13/06/2017

*Person who did the review:* André Neto

*Version of acceptance tests:* 0.16 0.14

*Result of review:* N/A

*List of non-conformities:* N/A

*Comments*: Not performed.

Back