Personal tools
You are here: Home For Developers LANDIS-II Iteration 1

Iteration 1

  • Phase: Elaboration
  • Dates: July 19 - Aug 6, 2004 (3 weeks)
  • Finished: August 26, 2004

Tasks to be Completed

+ Architecture

  • Design, code & test these core elements
  • Landscape object
    • Focus on the portion of its interface that a component uses to add a site variable to the landscape.
  • SiteSequence class
    • Represents a sequence of site on the landscape.
    • Used by a component to create a sequence and to add sites to it.
  • SiteIterator class
    • Responsibile for iterating over a SiteSequence.
  • SiteVariable class
    • Represents a particular site variable associated with a SiteIterator.

+ Tools

  • Setup Subversion repository on maple
  • Setup MetaMill on either maple or home PC

+ Unified Process

  • Start the list of project risks

Assessment

+ Code Demonstration

  • Code was compiled and ran from a command prompt.
  • Format of log entries needs to be more readable for users.

+ Code Walk-thru

  • Code is a work-in-progress; some cleanup necessary.
  • More in-code commenting of critical statements needed.
  • Looked in detail at main, AgeOnlySuccession, ComponentManager, Controller - all are very clean, easy to follow.

+ Iteration 1 Hits and Misses

  • Miss: Out of four classes scheduled for completion, only SiteSequence was not completion, although it has been designed. The design includes an additional class for iterating through active sites (ActiveSiteIterator) that was not fully completed.
  • Miss: Subversion not installed yet.
  • Miss: Mapping grid locations to the landscape vector has been designed, but not implemented. The pseudo-code is written. This will be optimized at a later date.
  • Miss/Hit: More classes and elements of the architecture completed than the 4 classes initially targeted. Did not anticipate that designing the interface for those 4 classes would require work on the other classes that use them. This took time away from stated objectives. However, some code is now completed ahead of schedule.
  • Hit: Logging and Boost libraries (that are open source code) have been a huge time-savings and have added extra functionality.
  • Hit: Using Remote Desktop has been very smooth; Jimm's had no problems accessing workstation in Madison from St Paul.
  • Huge Hit: Architecture for allowing each component to define variables on the landscape very successful.
  • Huge Hit: Architecture for active vs. non-active sites: only active sites contain data. In landscapes with many non-forested sites, this will save large (huge) amounts of memory.

+ Iteration 1 Lessons Learned

  • Due Date vs. Scheduled Tasks: Rather than attempt to finish all of the scheduled tasks, we should stick to the iteration due date for a couple reasons. First, Unified Process experts recommend this approach. Second, Rob's schedule will not be as flexible going into the semester and assessment meetings in Madison need to be planned weeks in advance.
  • Estimating Time: Need to allocate time for classes that will interface with the classes scheduled for completion.
  • Sequence Diagrams: We decided that we will not produce sequence diagrams at this time because: a) the source code will not be released in the near term; b) creating seq diagrams would require a huge time commitment from Jimm; and c) the audience for these diagrams is very small. Other related forms of programmer documentation (e.g., class documentation) can be generated much quicker.
  • Metamill: At this time, Jimm will not use Metamill. Using a CASE (computer-aided software engineering) tool like Metamill would be valuable in the long term. However, Jimm hasn't used MetaMill, and in the short term, he will focus his efforts on finishing the architecture. Metamill can be introduced at a later point because it has a reverse-engineering feature where it reads in existing source code and produces class diagrams for the code.
  • The Darn Things Works! The model already demonstrates considerable high-level functionality. The architecture has quickly advanced and demonstrates the ability to achieve most of the stated objectives.
Document Actions