Skip to content

2012 December Roadmap

amc1999 edited this page May 12, 2021 · 3 revisions

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

Home

Getting Started

Model development in OpenM++

Using OpenM++

Model Development Topics

OpenM++ web-service: API and cloud setup

Using OpenM++ from Python and R

Docker

OpenM++ Development

OpenM++ Design, Roadmap and Status

OpenM++ web-service API

GET Model Metadata

GET Model Extras

GET Model Run results metadata

GET Model Workset metadata: set of input parameters

Read Parameters, Output Tables or Microdata values

GET Parameters, Output Tables or Microdata values

GET Parameters, Output Tables or Microdata as CSV

GET Modeling Task metadata and task run history

Update Model Profile: set of key-value options

Update Model Workset: set of input parameters

Update Model Runs

Update Modeling Tasks

Run Models: run models and monitor progress

Download model, model run results or input parameters

Upload model runs or worksets (input scenarios)

Download and upload user files

User: manage user settings

Model run jobs and service state

Administrative: manage web-service state

Clone this wiki locally