[Nfd-dev] plan and assignments

Beichuan Zhang bzhang at cs.arizona.edu
Mon Feb 3 15:14:47 PST 2014


Hi All,

As I mentioned in a previous email, Alex and Junxiao have done a mockup implementation, which will serve as a starting point towards a complete NFD first release. We’re now ready to engage all programmers in this effort. Here I’ll give a time table, a tentative assignment list, and how to get started. However, many things are still in flux and I’m sure there will be a lot of questions. Please, communicate with Alex, Junxiao, and me as early as possible when there is an issue or any confusion. 

If you go to redmine site and click on the “Issues” tab, there’re already many tasks, which belong to a few categories. I’m assigning names to each category based on my understanding of people’s research work and interest:

- Management: Steve/Susmit (CSU)
- PIT and FIB: Haowei (WashU), Tian (BIT)
- CS: Ilya (UCLA)
- Forwarding: Junxiao (Arizona)
- Faces: Davide/Giulio (UCLA)
- Core: Alex (UCLA), Junxiao (Arizona)
- Build: Yi Huang (Arizona)
- Tools: Jerald (Arizona), Hila (WashU)
- Library: Alex/Yingdi/Wentao (UCLA)
- Routing (nrd): Obaid (Memphis)

If you see any problem with this assignment, please let us know asap.

For the category assigned to you, please start working on the design, specification, and implementation. There’re a few things to note:

- We use the redmine site for project management. 

The unit of management is a task, which is a relatively self-contained piece of work that can be done in a couple of hours or at most a few days. Too big a task may block other people’s progress. The work can be design, specification, and/or coding. 

Anyone can create a task, spell out dependency, assign it to self or other people, update the status, make comments, report progress in %, etc. You can also configure redmine to send you emails regarding your tasks or any tasks you’re interested.

We rely on your timely report to redmine to keep track of who’s doing what and the progress. So when you work on something, please create the task, make the assignment, update regularly, and respond to redmine comments timely.

- We use Gerrit for code review. 

Unit tests are required for every code submission. Please make sure to write unit tests with reasonable code coverage.

- The wiki tab on the redmine site has links to some resources, especially protocol specification and ccnx documents. In a number of cases (e.g., tables), you should take ccnx design as the starting point. There may be some isolated improvements, but if there’re major structural changes, we need discuss first. 

- If you’re not familiar with the design and code structure yet, I’d suggest to start with getting ping working.

Jerald has migrated ndnping (https://github.com/jeraldabraham/ndn-tlv-ping) to use TLV format, and Alex has done ndnd-tlv which translates between TLV and ccnb. You may want to (1) install and setup ndnping with ndnd-tlv, make sure it work, and then (2) on the client side use the mockup NFD to replace the ndnd-tlv. Once this is done, it gives you a minimally functioning NFD, so you can play with it and figure out how it works and where your code should fill in.

We’re operating under a tight timeline. After the mockup, we want the actual implementation done by March 1, and leave about two weeks in March for tests on the NDN testbed. So we have about 4 weeks in February for major coding and debugging. It’s tight, but  with all the research and preparation this group has done in the past few years, I think we can pull it off. If you have any questions, please contact Alex/Junxiao/me ASAP.

Thanks!

—
beichuan


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/nfd-dev/attachments/20140203/b3b42d17/attachment.html>


More information about the Nfd-dev mailing list