slerena 8708292061 2011-01-22 Sancho Lerena <slerena@artica.es>
* pandora_agent.c: Uses pandora_types.h instead module_types.h. Now delete
	the XML after sent.

	* configure.in: Change version.

	* pandora_config.c: Read remote_config variable and other small changes.

	* pandora_util.c: New function to produce timestamp strings, now report
	timestamp in XML.

	* TODO: Small doc about design goals and pending things to implement.

	* pandora_type.h: Renamed file with contains all structs.

	* util/pandora_agent_installer: Specific installer for Busybox.

	* util/pandora_agent_daemon: Specific daemon launcher for Busybox.



git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3763 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-01-22 20:29:06 +00:00

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).