// ////////////////////////////////////////////////////////////////
// TOC
// ////////////////////////////////////////////////////////////////

1. Ongoing.
2. Todo.
3. Soon FTodo.
4. FTodo.
5. Open Issues.

// ////////////////////////////////////////////////////////////////
// 1. ONGOING
// ////////////////////////////////////////////////////////////////

Have to integrate tracing:
- Channels: Uni, Half, Full, Shared
- Utils
- Using tracing facilities also in tests. At the moment it is integrated
  only in test_unidirectional_tlm.


When the received packet ack for 802.15.4. is not the expected ack,
the protocol shall conclude that the sent packet has been lost.

// ////////////////////////////////////////////////////////////////
// 2. TODO LIST
// ////////////////////////////////////////////////////////////////

- Check corner cases in transmission (e.g. 1 pck, concurrent pcks, cpk's sequs, etc. )
- Check communicator stack implementation

- Install also tests/README.txt in bin/

- Insert regression with memchecker.

- Test node on/off.

- Check exceptions and assert().

- Create a multiplexing communicator.

- Fix dependencies in CMake for headers.

- Improve the EventsQueue: currently used sort().

- Traffic models: gilber, bilber elliot, etc.

// ////////////////////////////////////////////////////////////////
// 3. SOON FTODO
// ////////////////////////////////////////////////////////////////

- Implement other channel models: abstract

- Implementing some wireless & wired protocols.

- Testing plugin system.

- Create methods to easily instantiate regular topologies.

- Check the instantation methods: how to set a communicator chain? Alaways with commmunicator stack?

- Find better default values for fields in CoreChannelSetup.

- Check if it is possible to use a simpler standard TLM interface.

// ////////////////////////////////////////////////////////////////
// 4. FTODO
// ////////////////////////////////////////////////////////////////

- Topologies.
- Tracing.
- Is it possible to avoid an initial wait() in tasks threads?

- Remove isValid from Packet & add general infos (src task, src node, dst node, dst task, label, is ack, is ack required).
- Integrate the new packet in tasks RTL & TLM.
- Bind task-to-task? --> automatic routing...

- Remove packet validity from Packet_t.

// ////////////////////////////////////////////////////////////////
// 5. OPEN ISSUES
// ////////////////////////////////////////////////////////////////

- How to activate selected sub-modules for tracing?

- Throw some exceptions from the creation methods of scnsl and extensions?
  --> Fix assert() and throw().

- Missing blocking and non blocking send.

- Add parameters like the ones derived from the paper? No, seems unuseful.

- How to integrate AME?
  * Specialized task and taskproxy for MW intefaces
  * Specialized communicator "AME" to hide pck's encodings?.
  * Task for MW resources, like DB's.

<EOF>
