Roadmap

Bugfix release for 1.17.0. Scrapped in favour of 1.18.0

Bugfix release for 1.18.0

The main goal of release 2.0.0 is to provide uncompromised performance for end users. This means in particular:

  • achieving full coverage of Modelica Standard library 3.2.3 and 4.0.0, including conversion scripts
  • achieving full or nearly full coverage of open source Modelica libraries
  • providing full support of replaceable classes and models from the OMEdit GUI
  • provide full-fledged duplicate feature in OMEdit
  • providing much faster response of the OMEdit GUI
  • allowing to inspect and modify parameters and replaceable classes and models in hierarchically built system model

The main enabler of release 2.0.0 will be the new front-end, which has been under active development since 2016, and is nearly complete. You can check the coverage status of the Modelica Standard Library 3.2.3 and follow the coverage history over time in the figure below. As you can see, the frontend coverage of MSL has already reached 100%. The coverage of many other open-source libraries is available from this page.

https://libraries.openmodelica.org/branches/history/newInst/Modelica_3.2.3.svg

There are many issues that need to be addressed to release 2.0.0, see in particular the list of blocker tickets

#1929
Multibody USR and SSR joints have wrong initialization values
#2152
Handle time events efficiently
#2157
Automatic generation of HTML documentation from Modelica packages
#2173
simulate API function does not complain on wrong parameters
#2247
Policy for the treatment of Modelica nonconformances in OMC
#2275
Move SCode.IMPORT
#2282
Dynamic State Selection doesn't work on simple planar pendulum model
#2312
Array dimensions on the type in a redeclare modification should not be allowed
#2385
Missing variable declarations in instantiated model when using expandable connectors
#2387
Operator overloading fails for matrices
#2484
Expandable connector resolution misses components
#2565
Problems with code generation - package constants in ExternalMedia
#2689
mapping of zero crossings to equations does not work properly
#2850
Redeclared models use wrong icon
#2856
expression simplify affects unit check module
#2891
Hierarchical editing of models
#2894
Summary of improvements for OMEdit GUI usability
#3074
Insufficient information about assertion violations
#3186
Partial binding of record sub-components in functions are lost
#3221
Equation count of models containing expandable connectors
#3661
Add a resimulate() function to the API
#3675
Add interactive simulation support (e.g., DynamicSelect display)
#3695
removeSimpleEquations is slow on large models
#3844
Unnecessary array instantiations
#3853
Clean up OpenModelica base libraries
#3869
3d-trajectories in OMEdit
#3915
Rename feature missing in OMEdit
#3925
Protected variables are incorrectly written to the result file
#3977
Better diagnostics for non-balanced models
#4050
Array of component: Too many equations.
#4069
Unify init.xml files of C and Cpp runtime
#4120
Out-of-bounds array elements undetected by front-end
#4141
Important missing feature: Allow save and opening of Modelica files containing syntax errors
#4143
Initialization of systems with dynamic state selection is not handled properly
#4174
OMNotebook: change in text in LaTeX cell does not show the star (*) in the filename
#4293
Bad strategy to solve rational equations
#4389
Improve warnings and diagnostics for missing start attributes in nonlinear systems
#4442
Incorrect evaluation of inner/outer and record dependencies
#4451
Unspecific error message: The given system is mixed-determined.
#4481
Artifacts in plotting discrete simulation using synchronous Clock feature
#4496
Complex 'sum' does not work
#4515
Automatic inference of nominal attributes for scaling
#4536
OMEdit fails to update relative class names to absolute ones upon duplicate
#4565
Model building statistics in Omedit
#4596
Document the symbolic transformation carried out by the various back-end modules
#4598
OMEdit should not hang for more than a few seconds
#4611
Processing arrays of records fails
#4633
[MetaModelica] skip cases for partial matches
#4756
Clock partitioning should be skipped in systems without clock partitions
#4829
Windows installers fail SmartScreen checks
#4835
Get Complex numbers to work without compromises
#4839
Badly wrong visualization in OMEdit in a simple case
#4870
Do not evaluate parameter-dependent assertions at each time step.
#4871
Avoid using DIVISION macros in the dynamic equations if the denominator is a parameter-dependent expression
#4960
Evaluate all parameters except some
#5005
Issue with DASSL/IDA and implicit systems with non-smooth functions
#5036
Better code generation for constant arrays
#5045
Allow to check functions (and other types of classes?) in OMEdit
#5051
OM accepts in a model a parameter with no value
#5061
[NF] Are public parameters allowed in functions by the Modelica spec?
#5240
NFEvalFunction.evaluateExternal is not yet implemented
#5245
Trim or possibly remove library patch files
#5252
Misleading and incomplete output regarding conflicting start and nominal attributes
#5288
Achieve successful simulation of 100% MSL 3.2.3 models with NF
#5300
Support the inverse annotation
#5302
PowerSystems models with redundant intial conditions cannot be handled by backend
#5344
Duplicate of model causes incomplete code
#5345
omc-based FMI import in OMEdit
#5346
Duplicate model function in OMEdit should work without compromises
#5350
MSL 3.2.3 FFT function does not work correctly
#5351
HRSG Cloned Library Component / re-occuring pump error
#5370
Modelica compiler should issue warnings when clocked equations appear outside of the when equations
#5394
Perform CI testing on OMEdit
#5395
OMEdit generates invalid displayUnit modifiers for arrays of parameters
#5407
Make the input of array parameters a humane experience
#5408
GUI annotations are not inherited correctly
#5418
Avoid confusing error messages from the solvers
#5426
Compiler fails when model name is too long in OMEdit
#5427
Proper handling of library versions in OMEdit
#5442
Sorting classes
#5448
OMEdit fails to open model, previously Totally Saved
#5462
Inaccurate simulation of systems with noEvent and saturations using the C runtime
#5473
AST_BatchPlant test case fails
#5482
Further speed up of NF API
#5489
Allow setting each and final prefixes via the API
#5509
Make Simulation Setup dependent of target language
#5529
Insufficient precision when storing sine phases
#5531
Implicit cast from Real to Integer
#5535
Inheritence of classes with same elements results in doubling
#5543
OMEdit does not check if added connections are valid
#5547
Including c-files from external_solvers for nonlinearSolverHomotopy
#5549
Cross compilation of FMUs for Win64 on Ubuntu is broken for some models working with files
#5552
OpenModelica FMUs seem to not report exact continuous states
#5560
Make it clearer who are the candidate states in dynamic state selection sets
#5581
FMU - ME accuracy
#5593
DXF shapes in animations are not displayed correctly
#5594
Some Model C-files are not included in modelDescription.xml
#5597
Two examples of the new Modelica.Electrical.Batteries package do not work with the new frontend
#5600
removeEqualFunctionCalls should be better documented and merged with comSubExp
#5605
Parameter with only start value not accepted
#5616
Handling of indexing in arrays of records
#5626
Linearize should be available from the OMEdit GUI
#5635
Multi(---) connection issue
#5644
OMEdit (nearly) deletes comments
#5645
Bad quality of SVG export of diagram view
#5664
Reload feature in OMEdit
#5708
OM erroneously prompts saving options in annotations
#5759
Support Modelica.Utilities.Strings.* functions directly
#5767
Issues with BranchingDynamicPipes and homotopy-based initialization
#5768
Model HeatExchangerSimulation fails when using homotopy
#5776
Allow to include in-package dependencies when duplicating
#5779
Enable/disable root finding
#5784
Problems displaying text on menus and other elments
#5788
Cannot input parameters redefined in child models using OMEdit
#5837
Unit checking is not performed on operator record equations
#5843
Make sure daeMode works in a reliable way
#5847
Constant is used without having been given a value
#5855
Achieve successful simulation of 100% MSL 4.0.0 models
#5857
MSL OpAmp simulation results in OM
#5860
Provide correct and efficient event handling in --daeMode
#5866
Update Save Total to NF
#5885
Sliced subscripts in Modelica.ComplexMath.sum fails at code generation
#5891
getEnvironmentVariable does not return any output
#5917
New Backend proposal
#5926
Save a proper result file when interrupting a simulation
#5940
MSL example model AIMC_InverterDrive fails to simulate
#5943
Get rid of OPENMODELICAHOME (and OPENMODELICALIBRARY)
#5981
OMEdit does not handle correctly modified inherited parameters
#5985
Code foldings for ssp source code
#5986
Can't open wsl path from OMEdit under Windows
#5996
Graphical support to propagate parameters
#5997
Improve CVODE in C-runtime to production-grade
#6047
The NF incorrectly infers the variability of a function call in Modelica.Media
#6114
Unit checking scales with O(2^N) in case of large expressions involving +-*/ operators
#6135
Support of Visual Studio in OMEdit on Windows
#6149
The NF accepts illegal type declarations?
#6176
Display multi-dimensional arrays under collapsible trees as 1D arrays
#6240
Extend overconstrained connector semantics to handle dynamic branches
#6340
Automatically recognize if a model is best run with daeMode
#6350
OMEdit cannot handle simulations with more than 10000 variable comfortably
#6383
Omc doesn't check correctly the constraining-clause
#6386
Better diagnostics for over- and under-determined systems
#6411
Improve zero crossing functions by using continuous expressions

This release will further consolidate the quality of the tool after the 2.0.0 release, by addressing remaining long-standing issues and adding new features.

This milestone collects issues that do not have a definite target release version (yet).

These are tickets which need more external input in order to decide on further actions/progress.

Use this milestone for tickets that are invalid, duplicates or wontfix.

Note: See TracRoadmap for help on using the roadmap.