Roadmap 2012 December

From OpenM++
Jump to: navigation, search

OpenM++ Roadmap (phase1)

OpenM++ design details, components and priorities are defined on OpenM++ design page. Due to research nature of the project OpenM++ components, specific technologies and sequence of development must be periodically reviewed and can be changed.


Following results expected to be delivered at the end of the phase1 project (enumeration corresponds to OpenM++ design):

  • OpenM++ compiler (2.1 priority1)
  • OpenM++ controller for MPI cluster (2.2 priority1)
  • OpenM++ modelling library (3.1 priority1)
  • OpenM++ model data storage design (3.2 priority1)
  • OpenM++data library (3.3. priority1)
  • OpenM++ execute library (3.4 priority1)


Items above should allow to:

  • create simple OpenM++ model
  • compile model
  • run model on (3.4 priority1) platforms (Windows and Linux, 32 and 64 bit, single PC and cluster)
  • read parameters from and write results into OpenM++ model data storage


If time and resources permits following items also going to be delivered as result of the project:

  • OpenM++ result viewers for Excel (1.2 priority1)
  • OpenM++ basic web UI sample pages for ASP.NET (1.2 priority2)
  • OpenM++ presenation libraries for .NET (3.5 priority1)
  • compatibility convertor for Modgen parameters .dat files (2.3 priority1)
  • compatibility convertor for Modgen source model code .mpp files (2.3 priority2)


Results of OpenM++ phase1 project effectively would cover:

  • most existing Modgen desktop functionality, except of GUI
  • ModgenWeb functionality on a prototype level (optional result)

Overall phase1 steps

  1. Requirements and infrastructure stage (see step 1 below). Time: one calendar month
  2. Compiler and runtime prototype stage (steps 2 and 3). Time: 2-3 months
  3. Compiler and runtime alpha version stage (steps 4 and 5). Time: 4-6 months
  4. Optional OpenM++ phase1 components (steps 8-11). Time: 6-16 weeks
  5. OpenM++ public beta release stage (step 12). Time: 6-8 weeks

Total Time: one year, excluding optional steps

Detailed phase1 roadmap

  1. Requirements, risks and technologies evaluation, tools, platforms and infrastructure setup
    Time: one calendar month
    Result: publically available design documents and development infrastructure
    • Establish OpenM++ roadmap, licensing terms, evaluate targeted platforms (i.e. versions of Linux, cluster environments, etc.)
    • Create OpenM++ controller for MPI cluster (2.2 priority1)
    • Evaluate open source project hosting service and development tools required
    • Create OpenM++ project by publishing roadmap and licence(s)
  2. OpenM++ data storage design and libraries prototyping
    Time: 2-3 months (must be done together with step 3 below)
    Result: Prototype of OpenM++ compiler and runtime libraries
    • Prototype of OpenM++ modelling library (3.1 priority1) to be used by step 3
    • OpenM++ model data storage design (3.2 priority1)
    • Initial version of OpenM++data library (3.3. priority1)
    • Initial version of OpenM++execute library (3.4. priority1)
  3. Initial version of OpenM++ modeling library
    Time: 2-3 months (must be done together with step 2 above)
    Result: Prototype of OpenM++ compiler and runtime libraries
    • Initial version of OpenM++ modelling library (3.1 priority1)
    • Initial version of OpenM++ compiler (2.1 priority1)
  4. OpenM++ compiler and modeling library
    Time: 4-6 months?? (must be done together with step 5 below)
    Result: Alpha version of OpenM++ compiler and runtime libraries
    • First release of OpenM++ compiler (2.1 priority1), sufficient to compile simplest model
    • First release of OpenM++ modelling library (3.1 priority1)
  5. OpenM++ execute and data libraries
    Time: 4-6 months?? (must be done together with step 4 above)
    Result: Alpha version of OpenM++ compiler and runtime libraries
    • First release of OpenM++ execute library (3.4. priority1)
    • First release of OpenM++data library (3.3. priority1)
    • First release of OpenM++ model data storage design (3.2 priority1)
    • First release of OpenM++ cluster controllers (2.2 priority1)
  6. Results review, roadmap adjustment
    Time: one calendar week
    Result: Updated roadmap document and adjusted project plan
  7. (optional) Initial version of OpenM++ presentation library(s) for .NET (3.5 priority1)
    Time: 2-4 weeks
    Result: Alpha version of OpenM++ presenation libarary for .NET
  8. (optional, depends on step 7) OpenM++ for Excel (1.2 priority1)
    Time: 2-4 weeks
    Result: Beta version of OpenM++ for Excel
    • First release of OpenM++ result viewers for Excel (1.2 priority1)
    • First release of OpenM++ presentation library for .NET (3.5 priority1) (it may be Excel-specific library)
    • OpenM++ compiler and runtime libraries bug fixes discovered during development
  9. (optional, depends on step 7) OpenM++ basic web UI sample pages for ASP.NET (1.2 priority2)
    Time: 2-4 weeks
    Result: Beta version of OpenM++ web UI primer for ASP.NET
    • First release of OpenM++ basic web UI sample pages for ASP.NET (1.2 priority2)
    • First release of OpenM++ presentation library(s) for .NET (3.5 priority1) (this is may be ASP.NET specific)
    • OpenM++ compiler and runtime libraries bug fixes discovered during development
  10. (optional, depends on step 7) First release of compatibility convertor for Modgen parameters .dat files (2.3 priority1)
    Time: 2-4 weeks
    Result: Beta version of OpenM++ convertor for Modgen parameters .dat files
  11. (optional) First release of compatibility convertor for Modgen source model code .mpp files (2.3 priority2)
    Time: 2-4 weeks
    Result: Beta version of OpenM++ convertor for Modgen source code .mpp files
  12. First public release
    Time: 6-8 weeks
    Result: Public beta version of OpenM++
    • Project documentation
    • Final testing and bug fixes
    • Project review and roadmap adjustment
    • First public release

<metadesc>OpenM++: open source microsimulation platform</metadesc>