Project

General

Profile

User story #184

Updated by André Neto over 9 years ago

Refactor the original MARTe smart pointer infrastructure (aka GCReference).
This would satisfy requirements:
* MARTe-EX-F-2.1.1: The framework shall offer developers a smart pointer infrastructure..
* MARTe-EX-F-2.1.3: The framework shall offer to developers the possibility of getting a reference to any object instantiated by the framework.

h1. Source code files modified

* Source/Core/L0Portability/Heap.cpp
* Source/Core/L0Portability/Heap.h
* Source/Core/L1Objects/ClassProperties.cpp
* Source/Core/L1Objects/ClassProperties.h
* Source/Core/L1Objects/ClassRegistryDatabase.cpp
* Source/Core/L1Objects/ClassRegistryDatabase.h
* Source/Core/L1Objects/ClassRegistryItem.cpp
* Source/Core/L1Objects/ClassRegistryItem.h
* Source/Core/L1Objects/Introspection.h
* Source/Core/L1Objects/Iterator.h
* Source/Core/L1Objects/IteratorT.h
* Source/Core/L1Objects/LinkedListable.cpp
* Source/Core/L1Objects/LinkedListable.h
* Source/Core/L1Objects/LinkedListHolder.cpp
* Source/Core/L1Objects/LinkedListHolder.h
* Source/Core/L1Objects/Object.cpp
* Source/Core/L1Objects/Object.h
* Source/Core/L1Objects/Reference.cpp
* Source/Core/L1Objects/Reference.h
* Source/Core/L1Objects/ReferenceT.cpp
* Source/Core/L1Objects/ReferenceT.h
* Source/Core/L1Objects/SearchFilter.h
* Source/Core/L1Objects/SearchFilterT.h
* Source/Core/L1Objects/SortFilter.h
* Source/Core/L1Objects/SortFilterT.h
* Source/Core/L1Objects/StructuredData.h

h1. Architecture & design review

*Date of the review:* 31/07/2015

*Person who did the review:* Andre' Neto

*Version of architecture & design document:* No design document was produced but this was thoroughly discussed in several meetings and reported in #191. This should be captured in EA (see #192).

*Result of review:* N/A

*List of non-conformities:* N/A

h1. Code and documentation review

*Date of the review:* 12/08/2015

*Person who did the review:* Riccardo Vitelli

*Result of review:* PASS (with LINT)

*List of non-conformities:*
* MARTe2-dev/Source/Core/L1Objects/Object.cpp:95:29: Warning 1502: defined object 'ObjectHeap_' of type 'Heap' has no nonstatic data members
(accepted as the Heap interface is not yet complete)

h1. Unit test review

*Date of the review:* 19/08/2015

*Person who did the review:* Andre' Neto

*Result of coverage tests review:* FAIL

*Result of functional tests review:* PASS

*Result of review:* FAIL

*List of non-conformities:*
The tests for the following functions are missing:
* <code>ClassRegistryItem::ClassRegistryItem() </code>
* <code>ClassRegistryItem *ClassRegistryDatabase::Find </code> does not test the case with a DLL (*to be left for a later sprint*)
*
<code>Object *Object::Clone() const </code>
* <code>void Object::GetClassPropertiesCopy Object::GetIntrospectionCopy </code> (see macro)
* <code>ReferenceT<T>* ReferenceT<T>::operator&() </code>

*To
(*to be left for a later sprint when introspection, configuration and DLL support will be available*: introspection is implemented*)
* <code>void Object::GetIntrospectionCopy Object::GetClassPropertiesCopy </code> (see macro)
* <code>bool Reference::Initialise </code>
(*to be left for a later sprint when introspection is implemented*)
* <code>bool ReferenceT<T>::Initialise </code>
(*to be left for a later sprint when configuration is implemented*)
* <code>ClassRegistryItem *ClassRegistryDatabase::Find <code>ReferenceT<T>* ReferenceT<T>::operator&() </code> does not test the case with a DLL

Back