Private:sharangi

From NMSL
Revision as of 22:55, 24 May 2010 by Ssa121 (talk | contribs)

Summary of accomplishments by Somsubhra Sharangi.

24 May 2010

  • Configuration Manager: I propose the following changes in the current directory structure for configuration manager.
    • Class ConfMgr to have a constructor which takes a string as input param. The string will be the XML file name of the default parameter setting.
    • The class ConfMgr to have public get() and set() methods for each of the configuration parameters. As and when required, these methods will delegate the accessor or mutator functions to the property classes.
    • A new property class SystemConf to be added to handle the system parameters like NUM_ETH_THREADS. These parameters are currently defined as constant in the mtv.hpp and some other files.
  • Use of XML schema: To simplify the process of adding a new configuration parameter we can use XML schema instead of simple XML. We define a structure for the config parameters using XML schema and then synthesize the classes directly from the xsd file using XMD data binding technique. I used the open source package [CodeSynthesys] to accomplish this. The distinct advantage of using this method are following.
    • We do not have to deal with the XML specific routines. The classes are constructed from the property names given in the XSD file. For example If we have a root-level element config in the XSD file we can create object of a class named config_t directly, without bothering to populate the class with values parsed from a XML DOM tree.
    • Each class also has the mutator and accessor methods generated which make it easier to manipulate the indivisual config parameters.
    • The root element is serializable. That makes it very easy to implement the load() and save() methods in the CongMgr class.
  1. Continue working on the new directory structure (svn structure and design). Document the changes or new additions. (Deadline: 1 week)
  2. Continue working on the Configuration Manager. (Deadline: 1 week)
  3. Integrate all modules and build them together. (Deadline: 2 weeks)
  4. Investigate how the web-interface for the testbed will modify configuration using XML configuration files. 

17 May 2010

  • INFO: XML to be used for the managing configuration parameters for MTV. It can be used also in generating ESG files or HTML code for the GUI later on. Xerces library from Apache group is selected for XML processing.
  • The current code needs the following header file changes to be able to compile with Ubuntu 9.10(2.6.31), gcc 4.4.1

timeslicer.hpp: <algorithm> mpe_pkt.hpp:<string.h> psisi.hpp: <stdio.h>, <stdlib.h> transmitter.hpp: change #elif to #else Svc_reader.hpp:<limits.h> esg_reader.hpp: <stdio.h>,<algorithm>,<cstring>,<limits.h> ts_pkt,hpp:<stdio.h>, <cstring>, <algorithm> FEC is not compiling after these changes.

  • libargtable2 is not available as part of standard distro. Considering bundling it with the source at a later point.
  • Created two new classes XMLUtil and TestConf for the generating the XML processing API and testing it. Some compilation problems with xml document synthesis.
  • Basic implementation with the elements of NetworkConf completed. Unit Testing underway.
  • Basic implementation of the ProgramConf class underway.
  • TODO:
    • Discuss design of a development environment with feedback from others on what softwares they are using and how to bundle it into a common dev environment.
    • Design point regarding initializing the XML processor module.
    • Integration testing with rest of the MTV code.