33 lines
1.6 KiB
Plaintext
33 lines
1.6 KiB
Plaintext
|
This file is used to describe what needs to be implemented and how:
|
||
|
|
||
|
Design for embedded agent
|
||
|
-------------------------
|
||
|
|
||
|
1. Absolutely NO USE of big libraries (glib!) or even unnecessary small ones, like libpopt, because porting could be a problem (and crosscompiling!). Issues about dependencies and size are key factors in embedded system.
|
||
|
|
||
|
2. All memory management should be dynamic, just to have the smallest impact on system performance / resources. Forget to reserve big arrays instead using malloc() :-)
|
||
|
|
||
|
3. Disk usage / access should be minimal and I/O operations on disk shoud be configurable to let user choose a I/O media not critical (NAND disk devices should be avoided).
|
||
|
|
||
|
4. When we talk "embedded" devices we are assuming systems using embedded Linux with Busybox. This is the "easier" enviroment, but we could use any other enviroment in the future.
|
||
|
|
||
|
Todo
|
||
|
----
|
||
|
|
||
|
1. Read a complete .conf file (remote mode, and other parameters (group, description...).
|
||
|
|
||
|
2. Read a complete module especification, using a linked list (yes, forget to do using a big array :-), and supporting the parsing of vales with blank spaces in lines (forget to use an external library). This includes normal modules AND plugin modules.
|
||
|
|
||
|
3. Implement the remote configuration mode.
|
||
|
|
||
|
4. Implement file collection operations
|
||
|
|
||
|
5. Implement post-condition rules (in order to actuate from the agent to a attached serial device, for example).
|
||
|
|
||
|
6. Implement a "native" module in Pandora Embedded agent to read from a given device (i.e /dev/ttyUSB0) with a given parameters, with a timeout.
|
||
|
|
||
|
7. Implement the full drone mode (needs to implement the tentacle server first).
|
||
|
|
||
|
|
||
|
|