Opened 5 years ago

Closed 3 years ago

#5726 closed enhancement (fixed)

Categorize open-source libraries in OpenModelica for different uses

Reported by: Francesco Casella Owned by: Francesco Casella
Priority: critical Milestone: 1.19.0
Component: Third-Party Libraries Version:
Keywords: Cc: Dietmar Winkler

Description (last modified by Francesco Casella)

During the Board meeting of 2 Dec 2019, we decided to classify the available open-source Modelica libraries (see e.g. https://github.com/modelica-3rdparty/) into four categories:

  1. Production-grade libraries, full or nearly full OMC support
  2. Production-grade libraries, partial OMC support, commitment to get to full support ASAP
  3. Libraries under development or lacking proper maintenance (a.k.a. "experimental")
  4. Obsolete or otherwise unsupported libraries

The first category includes all production-grade libraries which are actively maintained by their authors, which are responsive to feedback from OSMC in case of issues such as use of illegal Modelica code that hampers the compilation by OMC, and where 100% or nearly 100% available library tests pass successfully.

The second category is the same, except that the ratio of tests passing with OMC is still not close to 100%, but we have a commitment to eventually get there, and we state it explicitly.

With the goal of promoting OMC, we should publish reports on the web that only include models from those two sets, declaring explicitly that we are working to improve the coverage in the case of set no. 2.

The goal of OSMC regarding these two categories is to get to 100% green lights everywhere.

The third category is interesting for developers, which may find it helpful to get continuous testing of their libraries with OpenModelica, and also interesting for the Consortium to promote and increase the use of OMC among new library developers. For example, it could include master/HEAD revision of libraries whose latest release(s) belong to sets 1 and 2, or libraries under early development such as OpenHPL.

It also provides useful information for people who may consider picking up the development of open-source libraries whose development has been discontinued by their original authors, e.g. ElectricalEnergyStorage.

However, any failure in this category is not OSMC's responsibility, so we should prepare separate web reports for these libraries, whose purpose is to help their development, not to judge on the quality of implementation of OMC.

The fourth and last category includes libraries that are obsolete, because they have been superseded by more recent ones. For example, the Annex60 library is no longer developed, because it has been ported and merged into the IBPSA library, so it makes no sense to still refer to it, paricularly if there are any broken models. I would also consider very old versions of production-grade libraries in this set (e.g. Buildings prior to 5.1.0), since they most likely contain bugs that may lower the test passing ratio, but will never be fixed because the libraries have been superseded by more recent versions.

It also includes libraries that we may decide not to support because they are not conforming to the Modelica standard and their authors are not responding to pull requests or other kind of request for proper fixes.

This classification will provide the basis for web reports. It also provides the basis for the choice of libraries that we ship with the OMC installer, and that will be managed in the future by the Modelica package manager, which will only belong to sets 1. and 2., since 3. is best managed directly using a GIT tool, and 4. should never been considered in the first place.

We should probably provide some feedback in the installation procedure regarding the level of support, by linking each library of categories 1. and 2. to the corresponding web reports.

For some libraries, it seems that the authors have continued the development for a while without having a proper release. If the master version is clearly better than the latest released version, we are provisionally including that as the reference one; in the meantime, we are contacting all authors to make sure that the latest improvements are included in an official release.

I am tentatively scheduling this task for 1.15.0.

1. Production-grade libraries, full OMC support

Library Version Report URL
FastBuildings latest Report https://github.com/open-ideas/FastBuildings/releases/tag/master
HanserModelica 1.1.0 Report https://github.com/christiankral/HanserModelica/releases/tag/v1.1.0
KeyWordIO 0.9.0 Report https://github.com/christiankral/KeyWordIO
MessagePack latest Report https://github.com/modelica-3rdparty/msgpack-modelica
ModelicaByExample 0.6.0 Report https://github.com/mtiller/ModelicaBook/tree/master/ModelicaByExample
Modelica 3.2.2 Report https://github.com/modelica/ModelicaStandardLibrary/releases/tag/v3.2.2
Modelica 3.2.3 Report https://github.com/modelica/ModelicaStandardLibrary/releases/tag/v3.2.3%2Bbuild.3
OpenIPSL 1.5.0 Report https://github.com/OpenIPSL/OpenIPSL/releases/tag/v1.5.0
PNLib 2.2. Report https://github.com/AMIT-FHBielefeld/PNlib/releases/tag/v2.2
PlanarMechanics 1.4.1 Report https://github.com/dzimmer/PlanarMechanics/releases/tag/v1.4.1
ScalableTestSuite 1.11.5 Report https://github.com/casella/ScalableTestSuite/releases/tag/v1.11.5
SolarTherm master Report https://github.com/SolarTherm/SolarTherm
SystemDynamics 2.1.1 Report https://github.com/modelica-3rdparty/SystemDynamics/releases/tag/v2.1.1
VehicleInterfaces 1.2.5 Report https://github.com/modelica/VehicleInterfaces/releases/tag/v1.2.5
iPSL 1.1.1 Report https://github.com/itesla/ipsl/releases/tag/v1.1.1

2. Production-grade libraries, partial OMC support

Library Version URL
AdvancedNoise 1.0.1-rc.1 https://github.com/DLR-SR/AdvancedNoise/releases/tag/v1.0.1-rc1
BuildSysPro 3.3.0 https://github.com/EDF-TREE/BuildSysPro/releases/tag/v3.3.0
BuildingSystems TBD TBD
Buildings 5.1.0 https://github.com/lbl-srg/modelica-buildings/releases/tag/v5.1.0
Buildings 6.0.0 https://github.com/lbl-srg/modelica-buildings/releases/tag/v6.0.0
Chemical 1.2.0-alpha https://github.com/MarekMatejak/Chemical
ExternData 2.5.0 https://github.com/modelica-3rdparty/ExternData/releases/tag/v2.5.0
HelmholtzMedia 0.9.8 https://github.com/thorade/HelmholtzMedia/releases/tag/v0.9.8
IBPSA 3.0.0 https://github.com/ibpsa/modelica-ibpsa/releases/tag/v3.0.0
IDEAS 2.1.0 https://github.com/open-ideas/IDEAS/releases/tag/v2.1.0
IndustrialControlSystems 1.1.0 https://github.com/looms-polimi/IndustrialControlSystems/releases/tag/v1.1.0
LibRAS latest https://github.com/FishSim/LibRAS/commits/master
ModelicaTestOverdetermined 3.2.2 https://github.com/modelica/ModelicaStandardLibrary/blob/maint/3.2.2/ModelicaTestOverdetermined.mo
ModelicaTestOverdetermined 3.2.3 https://github.com/modelica/ModelicaStandardLibrary/blob/maint/3.2.3/ModelicaTestOverdetermined.mo
ModelicaTest 3.2.2 https://github.com/modelica/ModelicaStandardLibrary/tree/maint/3.2.2/ModelicaTest
ModelicaTest 3.2.3 https://github.com/modelica/ModelicaStandardLibrary/tree/maint/3.2.3/ModelicaTest
Modelica_DeviceDrivers 1.7.1 https://github.com/modelica-3rdparty/Modelica_DeviceDrivers/releases/tag/v1.7.1
Modelica_LinearSystems2 latest https://github.com/modelica/Modelica_LinearSystems2/releases/tag/v2.3.5-rc.1
Modelica_Synchronous 0.93.0 https://github.com/modelica/Modelica_Synchronous
OpenIPSL master Report https://github.com/OpenIPSL/OpenIPSL
PhotoVoltaics 1.4.1 https://github.com/christiankral/PhotoVoltaics/releases/tag/v1.4.1
PhotoVoltaics_TGM 1.4.1 https://github.com/christiankral/PhotoVoltaics/releases/tag/v1.4.1
Physiolibrary 2.3.1 https://github.com/MarekMatejak/Physiolibrary/releases/tag/v2.3.1
Physiomodel 1.0.0 https://github.com/physiology/Physiomodel/releases/tag/v1.0.0
PowerSystems 1.0.0 https://github.com/modelica-3rdparty/PowerSystems/releases/tag/v1.0.0
TILMedia 1.4.1 (master) https://github.com/ClaRaLibrary/TILMedia
ThermalSeparation master (no release) https://github.com/modelica-3rdparty/ThermalSeparation
ThermoPower master (3.1 with fixes) https://github.com/casella/ThermoPower
ThermoSysPro 3.2 no link

3. Development, experimental, no longer maintained libraries

Library Version URL
Buildings latest https://github.com/lbl-srg/modelica-buildings
ExternData latest https://github.com/modelica-3rdparty/ExternData
IBPSA latest https://github.com/ibpsa/modelica-ibpsa
IDEAS master https://github.com/open-ideas/IDEAS
ModelicaTest latest https://github.com/modelica/ModelicaStandardLibrary/tree/master/ModelicaTest
Modelica_DeviceDrivers latest https://github.com/modelica-3rdparty/Modelica_DeviceDrivers
Modelica master https://github.com/modelica/ModelicaStandardLibrary
OpenHPL master https://github.com/simulatino/OpenHPL
PhotoVoltaics master https://github.com/christiankral/PhotoVoltaics
PhotoVoltaics_TGM master https://github.com/christiankral/PhotoVoltaics
Physiolibrary master https://github.com/MarekMatejak/Physiolibrary/
Physiomodel master https://github.com/physiology/Physiomodel
PlanarMechanics master https://github.com/dzimmer/PlanarMechanics
PowerSystems master https://github.com/modelica-3rdparty/PowerSystems

4. Obsolete or discontinued

Library Version Report URL Reason
ConPNLib master https://github.com/lochel/ConPNlib/commits/master Superseded by PNLib
ElectricalEnergyStorage latest https://github.com/modelica-3rdparty/ElectricalEnergyStorage Discontinued by the authors
FCSys 0.2.6 https://kdavies4.github.io/FCSys/ Development Currently obsolete (old MSL dependency), development could resume in 2020
IdealizedContact N/A https://github.com/tbeu/IdealizedContact No longer maintained
ModelicaTest 3.2.1 https://github.com/modelica/ModelicaStandardLibrary/tree/maint/3.2.1/ModelicaTest Superseded by MSL 3.2.2, no longer maintained
Modelica_Noise 1.0 Beta 1 https://github.com/DLR-SR/Noise Obsolete, merged in to MSL 3.2.2
Modelica_StateGraph2 2.0.2 https://github.com/HansOlsson/Modelica_StateGraph2 Not fully Modelica compliant
ObjectStab 1.0.3 https://github.com/modelica-3rdparty/ObjectStab Marked as discontinued on GitHub
OpenHydraulics master https://github.com/cparedis/OpenHydraulics/commits/master No longer maintained by the authors
SiemensPower master ? No longer maintained by the authors

Change History (40)

comment:1 by Francesco Casella, 5 years ago

Description: modified (diff)

comment:2 by Francesco Casella, 5 years ago

Description: modified (diff)

comment:3 by Francesco Casella, 5 years ago

Description: modified (diff)

comment:4 by Francesco Casella, 5 years ago

Description: modified (diff)

comment:5 by Dietmar Winkler, 5 years ago

MSL 3.2.2 is also no longer maintained.

in reply to:  5 comment:6 by Francesco Casella, 5 years ago

Replying to dietmarw:

MSL 3.2.2 is also no longer maintained.

That is true, but there are still many libraries out there that have a annotation(uses(Modelica(version="3.2.2"))); annotation, so if we want to support them we need to include 3.2.2 in the "good libraries" list for a while. I think keeping the last and one but last version active is a reasonable compromise (we were asked to do so with Buildings, for example).

I am contacting library owners to make sure they update the uses annotation, but that would take some time.

How would you suggest to proceed?

comment:7 by Francesco Casella, 5 years ago

Description: modified (diff)

comment:8 by Dietmar Winkler, 5 years ago

Since MSL 3.2.3 is backward compatible the user libraries could be loaded with 3.2.3 silently (just warning about it) without having to update the uses annotation. Good luck with getting the upstream to update the libs ;-)

comment:9 by Francesco Casella, 5 years ago

Description: modified (diff)

in reply to:  8 comment:10 by Francesco Casella, 5 years ago

Replying to dietmarw:

Since MSL 3.2.3 is backward compatible the user libraries could be loaded with 3.2.3 silently (just warning about it) without having to update the uses annotation.

This is probably the right way to go, but I suspect there are different opinions in the community and this is not really standardized. Maybe it's time to build a consensus on what is the right way to manage this. I will work on that within MAP-LIB.

Good luck with getting the upstream to update the libs ;-)

Thank you!

comment:11 by Francesco Casella, 5 years ago

@dietmarw, I've updated the description with an explanation of the rationale of choosing master vs. latest release as the reference implementation. I hope you are fine with that.

comment:12 by Christoph Buchner <buchner@…>, 5 years ago

I think FCSys should go into set 4) - it hasn't seen a commit since 2014, and does not even claim compatibility with OM.

Also, I would like to propose a refinement to formulation:
Coverage, afaik from my software testing experience, refers to the fraction of source code that your test suite covers/executes. I.e., "100% coverage" means 100% of your source code is covered by tests.

What I think you mean with "100% coverage" is that 100% of your test suite passes, which is a completely different thing, and should not be confused.

An illustrative example: You have a package with 10k lines of code, but only 5 tests that cover a single model. All your tests pass down to the reference results (so "100% green" as you say above), but your "[code|test] coverage" is probably in the range of 1%.

in reply to:  12 comment:13 by Francesco Casella, 5 years ago

Replying to Christoph Buchner <buchner@…>:

I think FCSys should go into set 4) - it hasn't seen a commit since 2014, and does not even claim compatibility with OM.

The library seems well done, so I am trying to contact the authors to see if they are interested in an update. Hence the TBD comments. I'll move it to Cat 4 if I don't get feedback anytime soon.

Regarding compatibility with OM, of course it's not mentioned, as running this library in 2014 with omc would have been science fiction :)

My personal position is that a Modelica library should first and foremost be Modelica compliant. There are maybe a few gray areas, since the only formal part of the specification is the grammar, while the semantics is given by plain English text, which is subject to interpretation and ambiguity. However, in many cases libraries contain clearly illegal code, which is accepted by other tools. This is a big problem in terms of conflict of interest.

One one side, selfish tool vendors may wonder, why do I need to bug my users by making previously functional models fail compilation, just because of Modelica compliance, which could make my customers more easily move to the competition in the future?

On the other side, if you sell a Modelica tool or a Modelica library, you are benefitting from community work and are favoured by the Modelica ecosystem, so it's your interest to keep that healthy and growing.

In general, I believe there is a consensus that tools should be stricter, though the transition may take time. OpenModelica has the goal to become the golden standard in term of Modelica Specification compliance, of course it's still some way to go before we get there, but I think we should be firm in trying not to lure in users by accepting illegal Modelica code that they run in other tools. Of course there are cases where the Modelica specification is really bad, and then the idea is to change the specification with the due process. If there is consensus on Modelica changes, we can of course test implement them and accept the code even if the specification is still not officially approved.

That said, there's plenty of excellent libraries out there which are 100% Modelica compliant and don't work with OMC, which are currently placed in Cat. 2. Our goal is to make OMC support them, not to have their authors find workarounds to make them work with OMC.

Also, I would like to propose a refinement to formulation:
Coverage, afaik from my software testing experience, refers to the fraction of source code that your test suite covers/executes. I.e., "100% coverage" means 100% of your source code is covered by tests.

What I think you mean with "100% coverage" is that 100% of your test suite passes, which is a completely different thing, and should not be confused.

An illustrative example: You have a package with 10k lines of code, but only 5 tests that cover a single model. All your tests pass down to the reference results (so "100% green" as you say above), but your "[code|test] coverage" is probably in the range of 1%.

Sure. When we say 100% coverage we mean 100% library coverage, i.e., we simulate 100% of executable models with the experiment(StopTime) annotation in a library successfully. Mind you, it's not our testsuite, it's the entirety of a library contents.

Of course that doesn't mean that the tool is perfect. It just means that all publicly available models within that library work as expected, i.e. they simulate and, in case we are provided with reference results, they produce the same results, within numerical tolerances.

Is "100% library coverage" fine for you, or what would you prefer?

comment:14 by Christoph Buchner <buchner@…>, 5 years ago

Of course that doesn't mean that the tool is perfect. It just means that all publicly available models within that library work as expected, i.e. they simulate and, in case we are provided with reference results, they produce the same results, within numerical tolerances.

If I understand correctly, you'd typically have an experiment annotation in library examples, right?
If so, then effectively the set of library examples comprise the "test suite".

Then we are back in the situation where, if there are only few examples in a given library, which execute (successfully) only a part of the library, we have low "coverage" (in software engineering lingo), but a "fully passing test suite" (again, SWE lingo).
As an example, you surely have seen "build passing" badges in Readmes of projects on Github, e.g. here.

The tests that are typically run in a Modelica context, where the simulation output is compared to a "known-good" reference results, are typically called regression tests.

Where the whole comparison stops being fully clear is that, in my experience, you normally don't merge PRs where the test suite fails any tests (that are not known as flaky/failing) - you either fix your code or the test suite. Of course, in this situation, the test suite is actually out of your hands, so you can't fix that without going upstream to the library author.

However, giving an indication of how much of their tests are passing is of course very useful!

Is "100% library coverage" fine for you, or what would you prefer?

"100% (library) tests passing" is the most acurate thing I could come up with.

in reply to:  14 comment:15 by Francesco Casella, 5 years ago

Replying to Christoph Buchner <buchner@…>:

If I understand correctly, you'd typically have an experiment annotation in library examples, right?

Yes. We may actually consider to skip some of them in some situations. For example, if you take the ScalableTestSuite report, there are 29/263 tests failing. However, this is due to the insufficient resource that are allocated on the test server for each test run. All these tests run fine on my server, given enough juice, except the ones mentioned in #4845. In this case it makes sense to exclude some tests, giving a good motivation on why they are not included.

If so, then effectively the set of library examples comprise the "test suite".

Yes

Then we are back in the situation where, if there are only few examples in a given library, which execute (successfully) only a part of the library, we have low "coverage" (in software engineering lingo), but a "fully passing test suite" (again, SWE lingo).

OK.

The tests that are typically run in a Modelica context, where the simulation output is compared to a "known-good" reference results, are typically called regression tests.

I'm aware of this. In this case I understand the main focus is to catch commits that break previously successful tests (a.k.a. regressions)

Where the whole comparison stops being fully clear is that, in my experience, you normally don't merge PRs where the test suite fails any tests

This is actually the case for the "core" OpenModelica testsuite. Developers file pull requests, which can only be merged if there are no regressions.

However, we cannot run the full testuite on each commit because it simply takes too much time. Also, it may depend on the library code, which is outside our control. We run the full testsuite a few times a day and report regressions here:

https://libraries.openmodelica.org/branches/history/

e.g. the regressions for the newInst job, using the new frontend, is here

https://libraries.openmodelica.org/branches/history/newInst/

These are inspected manually and if necessary the appropriate course of action is taken, e.g. fixing bugs in omc, contacting external library developers, or filing PR's for the external libraries.

Is "100% library coverage" fine for you, or what would you prefer?

"100% (library) tests passing" is the most acurate thing I could come up with.

Excellent, I'll use that from now on.

Thanks!

comment:16 by Francesco Casella, 5 years ago

Description: modified (diff)

comment:17 by Francesco Casella, 5 years ago

Description: modified (diff)

comment:18 by Francesco Casella, 5 years ago

Description: modified (diff)

comment:19 by Francesco Casella, 5 years ago

Description: modified (diff)

comment:20 by Francesco Casella, 5 years ago

Description: modified (diff)

comment:21 by Francesco Casella, 5 years ago

Description: modified (diff)

comment:22 by Francesco Casella, 5 years ago

Description: modified (diff)

First list complete. Some libraries are undergoing a release process after some years with just a few minor fixes, will need to update that accordingly.

comment:23 by Francesco Casella, 5 years ago

Description: modified (diff)

comment:24 by Francesco Casella, 5 years ago

Description: modified (diff)

comment:25 by Francesco Casella, 5 years ago

Description: modified (diff)

comment:26 by Francesco Casella, 5 years ago

Description: modified (diff)

comment:27 by Dietmar Winkler, 5 years ago

Description: modified (diff)

comment:28 by massimo ceraolo, 5 years ago

It seems to me that on mac OM still installs unsupported libraries. Here follows the full list.
For instance we see buildings 1.4, 1.5, 1.6, ect. this makes installation through macports huge in time and size.
Is this intentional?

omlib-adgenkinetics

omlib-admsl
omlib-advancednoise-1.0.1
omlib-aixlib-0.4.0
omlib-aixlib-0.9.1
omlib-algebratestsuite
omlib-annex60-1.0.0
omlib-approxspline-1.0.0
omlib-arduino-0.1.0
omlib-biochem-1.0.1
omlib-bondgraph
omlib-bondlib-2.3
omlib-brineprop-0.5.5
omlib-buildingcontrollib-0.1.0
omlib-buildings-1.4
omlib-buildings-1.5
omlib-buildings-1.6
omlib-buildings-2.0.0
omlib-buildings-2.1.0
omlib-buildings-3.0.0
omlib-buildings-4.0.0
omlib-buildings-5.0.1
omlib-buildings-5.1.0
omlib-buildings-6.0.0
omlib-buildings-latest
omlib-buildingsystems-2.0.0-beta
omlib-buildsyspro-3.3.0
omlib-chemical-1.2.0
omlib-complex-3.2.1
omlib-complex-3.2.2
omlib-complex-3.2.3
omlib-complex-trunk
omlib-complexlib
omlib-conpnlib
omlib-deploystructlib
omlib-deslib-1.6.1
omlib-disheatlib-1.2
omlib-drivecontrol-3.1.0
omlib-electricalenergystorage-3.2.2
omlib-electromechanicaldrives-2.2.0
omlib-emoth-1.4.0
omlib-extendedpetrinets-1.0
omlib-externalmemorylib
omlib-externdata-2.5.0
omlib-failuremodes-1.2.1
omlib-fastbuildings-0.0
omlib-faulttriggering-0.6.6
omlib-fcsys-0.2.6
omlib-fcsystest
omlib-feeddrivelibrary
omlib-flight
omlib-fmitest
omlib-fractionalorder
omlib-fuzzycontrol
omlib-gnu-scientificlibrary
omlib-greenhouses
omlib-hansermodelica-1.1.0
omlib-helmholtzmedia
omlib-ibpsa-3.0.0
omlib-ibpsa-latest
omlib-idealizedcontact-0.2.0
omlib-industrialcontrolsystems-1.1.0
omlib-instantaneoussymmetricalcomponents
omlib-ipsl-1.1.0
omlib-keywordio-0.9.0
omlib-libras
omlib-linearmpc-1
omlib-manualtracking
omlib-messagepack-0.1.1
omlib-modelica-1.6
omlib-modelica-2.2.2
omlib-modelica-3.1
omlib-modelica-3.2.2
omlib-modelica-3.2.3
omlib-modelica-devicedrivers-1.8.0
omlib-modelica-linearsystems2-2.3.5
omlib-modelica-noise-1.0-beta.1
omlib-modelica-requirements-0.6
omlib-modelica-stategraph2-2.0.3
omlib-modelica-synchronous-0.93.0
omlib-modelica-trunk
omlib-modelicaadditions-1.5
omlib-modelicaads
omlib-modelicabyexample-0.5.0
omlib-modelicacompliance-3.2
omlib-modelicadevs-1
omlib-modelicareference
omlib-modelicareference-trunk
omlib-modelicaservices-1.0
omlib-modelicaservices-3.2.1
omlib-modelicaservices-3.2.2
omlib-modelicaservices-3.2.3
omlib-modelicaservices-trunk
omlib-modelicatest-3.2.1
omlib-modelicatest-3.2.2
omlib-modelicatest-3.2.3
omlib-modelicatest-trunk
omlib-modelicatestoverdetermined-3.2.2
omlib-modpowersystems
omlib-motorcycledynamics
omlib-mvemlib-1.0.1
omlib-ncdatareader2-2.5.0
omlib-neuralnetwork-1.0
omlib-nuclear
omlib-objectstab-1.1-dev
omlib-obsoletemodelica3
omlib-openbldc
omlib-openfdm
omlib-openhpl-1.1.1
omlib-openhydraulics-1.0
omlib-openipsl-2.0.0-dev
omlib-optimisers-0.1
omlib-photovoltaics-1.5.0
omlib-photovoltaics-tgm-1.5.0
omlib-physiolibrary-2.3.2-beta
omlib-physiomodel-1.0.1-beta
omlib-planarmechanics-1.4.1
omlib-planarmechanicstest
omlib-pnlib-2.2
omlib-powerflow-0.3
omlib-powersystems-1.0.0
omlib-powersystems-latest
omlib-praxissimulationstechnik
omlib-pvsystems-0.6.3
omlib-qssfluidflow-1.0
omlib-realtimecoordinationlibrary-1.0.4
omlib-scalabletestsuite-1.11.4
omlib-servomechanisms-1.0
omlib-siemenspower-2.1-beta
omlib-siemenspower-2.2
omlib-siemenspower-omctest
omlib-smps
omlib-solartherm-0.2
omlib-soltermica
omlib-spot-0.706.1
omlib-spotexamples-0.706.1
omlib-streamconnectors
omlib-systemdynamics-2.1.1
omlib-test
omlib-testderivative
omlib-thermalseparation-0.2
omlib-thermopower-3.1
omlib-thermosyspro-3.1
omlib-thermosyspro-3.2
omlib-thermosysprologo
omlib-vehicleinterfaces-1.2.2
omlib-vehicleinterfaces-1.2.4
omlib-vvdrlib
omlib-wastewater-2.1.0
omlib-wavelet
omlib-wbehptlib
omlib-wbehvpkg

comment:29 by Francesco Casella, 5 years ago

@ceraolo, the actions of this ticket still need to be implemented.

Our current top priority is to release 1.15.0 with replaceable support, this will come next.

comment:30 by massimo ceraolo, 5 years ago

ok (and I totally agree with this choice).

comment:31 by Martin Sjölund, 5 years ago

There are two parts to this:

  • Further break up the reports into supported and non-supported lists (manually done). Some libraries are tested with C++/FMI runtime, etc that do not have the same level of support, too.
  • OMEdit/etc needs to be able to categorize the libraries (and perhaps a tooltip saying why it goes in this category). This should just need us to create a package.omc-category file or something that we can look for (similar to the package.encoding we put on some old libraries).

Note: The MacOS installer includes all libraries because the realistic alternative is no library and manually downloading the ones you prefer. In the long term, we want a package manager instead (so you can choose any library and any tagged version to download for best flexibility and lowest download size).

comment:32 by Francesco Casella, 5 years ago

Description: modified (diff)

comment:33 by Francesco Casella, 5 years ago

Description: modified (diff)

comment:34 by Francesco Casella, 5 years ago

For the record, I add the links to

Last edited 5 years ago by Francesco Casella (previous) (diff)

comment:35 by Francesco Casella, 5 years ago

Milestone: 1.15.01.16.0

Release 1.15.0 was scrapped, because replaceable support eventually turned out to be more easily implemented in 1.16.0. Hence, all 1.15.0 tickets are rescheduled to 1.16.0

comment:36 by Francesco Casella, 4 years ago

Milestone: 1.16.01.17.0

Retargeted to 1.17.0 after 1.16.0 release

comment:37 by Francesco Casella, 4 years ago

Milestone: 1.17.01.18.0

Retargeted to 1.18.0 because of 1.17.0 timed release.

comment:38 by Francesco Casella, 3 years ago

Milestone: 1.18.0

Ticket retargeted after milestone closed

comment:39 by Francesco Casella, 3 years ago

Milestone: 1.19.0
Status: newassigned

comment:40 by Francesco Casella, 3 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.