D.1.1 Main changes in Modelica 3.5
The following Modelica Change Proposals are backward compatible extensions added in 3.5:
-
•
Change of specification format (MCP-0018). The development of the specification was changed to use LaTeXfor formatting; and https://github.com/modelica/ModelicaSpecification for issue-tracking.
-
•
Annotations for Predefined Plots (MCP-0033), section 18.2.2. Ticket #2710.
-
–
Generalize links in text markup, section 18.2.2.3. Ticket #2692.
-
–
Mandate that Axis.unit is for tick labels, section 18.2.2.1. Ticket #2633.
-
–
Define meaning of empty Axis.unit, section 18.2.2.1. Ticket #2632.
-
–
Elaborate on inheritance of figures, section 18.2.2. Ticket #2588.
-
–
Clarified that leading and ending newline is ignored, section 18.2.2.5. Ticket #2581.
-
–
Made figure title optional, section 18.2.2. Ticket #2580.
-
–
Clarified curves and units for figures, section 18.2.2.1 and section 18.2.2.2. Ticket #2579.
-
–
Clarified uniqueness of Figure and Plot identifiers, section 18.2.2. Ticket #2544.
-
–
Relaxed uniqueness of Plot identifiers, section 18.2.2. Ticket #2537.
-
–
Updated to have HTML-caption, sub-plot title and identifier. Ticket #2363.
-
–
Other issues resolved were:
-
•
Overall improvements of the document, made easier by the switch to LaTeX.
-
–
A real bibliography was added, but excluding papers in this chapter; #2740.
-
–
Dead links in the bibliography were removed and DOI used when possible. Ticket #2502.
-
–
Chapter introductions are now non-normative, #2366.
-
–
The index was updated to reference the main definition of the term, and the glossary removed to avoid duplicated effort; #2726.
-
–
Hyphens and dashes were cleaned up, #2628.
- –
-
–
Moved non-normative text to separate paragraphs. Ticket #2536.
-
–
Consistent use of different quote symbols. Ticket #2508.
-
–
The minor issues related to change of formatting, continuous integration, examples, and maintenance of repository are not listed here.
-
–
-
•
Improved functions, chapter 12.
-
–
Clarified impure function as function arguments, section 12.3. Ticket #2756.
-
–
Clarified that public variables in functions must be input or output, section 12.2. Ticket #2730.
-
–
Changed inputs to C functions to be const-correct, section 12.9.1.2. Ticket #1955.
-
–
Clarified that external object is a class, section 12.9.7. Ticket #2705.
-
–
Deprecate ”builtin” external language, section 12.9. Avoid reference to Modelica.Math section 3.7.3. Ticket #2662.
-
–
Clarified functions with no outputs, section 12.4.7. Ticket #2692.
-
–
Replace use of outdated grammar-construct class-name, section 13.5, section 12.4.2, and section 18.7. Ticket #2598.
-
–
Updated example for function as argument to function, section 12.4.2. Ticket #2563.
-
–
Extend function inverses and clarify them, section 12.8. Ticket #2478.
-
–
Clarify consequence of using impure functions in binding equations for parameters, section 12.3. Ticket #2475.
-
–
Removed deprecated assignments from function declaration template, section 12.1. Ticket #2439.
-
–
Corrected regression in example specifying the second derivative of a function, section 12.7.1. Ticket #2401.
-
–
Clarified variability restrictions of inputs in functions, section 3.8.2. Ticket #2243.
-
–
Clarified handling of lib/dll on Windows, section 12.9.4. Ticket #2252.
-
–
Clarified function component, section 12.4.2. Ticket #2255.
-
–
Clarified that object-files are not library-files, section 12.9.4. Ticket #2257.
-
–
Clarified ModelicaAllocateString, section 12.9.6. Ticket #2279.
-
–
Clarified memory management for external objects, section 12.9.7. Ticket #2524.
-
–
Introduced ModelicaDuplicateString for C-code, section 12.9.6.2. Ticket #2417.
-
–
Improved ModelicaAllocateString for C-code, section 12.9.6.2. Ticket #2403.
-
–
-
•
Clarified synchronous Modelica, chapter 16
-
–
Clarified that clock operators are not callable in functions and that functions may not contain Clock-variables and that they do not vectorize, section 16.2.3. Ticket #2177 and Ticket #2269.
-
–
Clarified that clocks are not valid inputs for hold, section 16.5.1. Ticket #2174.
-
–
Clarified rational clock to only have translation-time clock inference, operator 16.2. Ticket #2386.
-
–
Clarified that different clock partitions should be separate, section 16.7.4. Ticket #2365.
-
–
Rewrote rationale to be positive, section 16.1. Ticket #2512.
-
–
Clarified terminology for discrete states, section 16.4. Ticket #2651.
-
–
Clarified that clocked signals are extrapolated using hold, not constant section 16.2.1. Ticket #2607.
-
–
Clarified that clock constructors can take named arguments and that clock partioning must be parametric, section 16.3; Ticket #2394.
-
–
Restricted noClock to not take a Clock as input, section 16.5.2. Ticket #2355.
-
–
Consistently use ”Event Clock”. Ticket #2356.
-
–
Clarified that Boolean clock is considered for clock partitioning, section 16.7.3. Ticket #2179.
-
–
Clarified Real Clock constructor interval argument, section 16.3. Ticket #2180.
-
–
Clarified inferencing of solverMethod by rewriting algorithm, section 16.8.4. Ticket #2182.
-
–
Clarified wording of solver method for clock constructor, section 16.3. Ticket #2194.
-
–
Clarify that clocked operators cannot be differentiated, section 16.5.2. Ticket #2236.
-
–
Clarified that hold and backSample only take component expressions, section 16.7.1. Ticket #2270.
-
–
-
•
Clarified state-machines, chapter 17.
-
–
Removed color recommendation for state machines, section 17.2. Ticket #2650.
-
–
Clarified connecting multiple outputs (for state-machines), section 17.3.6. Ticket #2735.
-
–
Clarified inactive equations, section 17.3.3. Ticket #2734.
-
–
Defined hierarchical ticksInState and timeInState, section 17.1. Ticket #2407.
-
–
Correct both variants of nextResetStates to clarify reset handling, section 17.3.2. Ticket #2209.
-
–
-
•
Conversions, section 18.8.2.1, were used for Modelica Standard Library 4.0.0, and were thus clarified and slightly extended for the future.
-
–
Extend convertMessage to elements of classes, section 18.8.2.1. Ticket #2516.
-
–
Clarify convertClassIf for enumerations and strings and restrict allowed types, section 18.8.2.1. Ticket #2451.
-
–
Further clarify conversion rules, section 18.8.2.1. Ticket #2522.
-
–
Avoid ambiguity by giving precedence to convertModifiers, section 18.8.2.1. Ticket #2409.
-
–
Clarified inheritance for conversions, section 18.8.2.1. Ticket #2178.
-
–
-
•
Added and clarified other specific annotations, chapter 18.
-
–
Annotation SourceDirectory which is a starting point for exporting sources, section 12.9.4. Ticket #2145.
-
–
Clarified Evaluate annotation for hierarchical components, section 18.3. Ticket #2288.
-
–
Added test-case annotation for incorrect models, section 18.4.1. Ticket #2340.
-
–
Clarified choicesAllMatching, section 7.3.4. Ticket #2693.
-
–
Clarified HTML encoded contents, section 18.2. Ticket #2593.
-
–
Allow restricted form of Dialog annotation for classes, section 18.7. Ticket #2617.
-
–
Clarified connectorSizing, section 18.7. Ticket #2599.
-
–
Improved description for Documentation annotation (included with MCP-0033), section 18.2. Ticket #2594.
-
–
Clarified order in parameter dialog, section 18.7. Ticket #2310.
-
–
Clarify URI fragments, section 18.2. Ticket #2445.
-
–
Specify that Dialog group does not have a default, section 18.7. Ticket #2476.
-
–
Clarify aspect ratio for lines with arrows, section 18.6.5.1. Ticket #2528.
-
–
Clarify that protection of classes prevent ”copying”, section 18.9.1. Ticket #2260.
-
–
Extended bitmaps to allow svg-format, section 18.6.5.6. Ticket #174.
-
–
Clarified macros for text, section 18.6.5.5. Ticket #2416.
-
–
State that changing default name for inner/outer component is not good, section 18.7. Ticket #2398.
-
–
Clarified that preserveAspectRatio is a hint, section 18.6.1.1. Ticket #2268.
-
–
Clarified that include-files provide prototypes, section 12.9. Ticket #2278.
-
–
Clarified visibility of encrypted contents, section 18.9.1. Ticket #2318.
-
–
Clarified that missingInnerMessage is a literal string, section 18.7. Ticket #2334.
-
–
Clarified text-macros including %class, section 18.7. Ticket #2335.
-
–
Clarified that obsolete is not inherited, section 18.7. Ticket #2338.
-
–
Added unit for %par, section 18.7. Ticket #2339.
-
–
Clarified text-annotations on connections, section 18.6.4. Ticket #2170.
-
–
Add iconVisible to be able to show/hide connectors in icon layer for public connectors, section 18.6.2. Ticket #2200.
-
–
Correct grammar for experiment and give default for startTime, section 18.4.1. Ticket #2224.
-
–
Clarified that versionBuild and dateModified can be used for uses annotation, section 18.8.2. Ticket #2239.
-
–
Clarified that image backgrounds are assumed to be white/transparent with light color, section 18.7. Ticket #2244.
-
–
Clarified that IconMap is also allowed on short class definitions, section 18.6.3. Ticket #2281.
-
–
Clarify that some protection annotations have no effect (not merely no ”meaningful effect”), section 18.9.1. Ticket #2193.
-
–
-
•
Minor updates of syntax, appendix A.
-
–
Update grammar to use description instead of non-existent comment, section A.2. Ticket #2620.
-
–
Allow empty quoted identifier, section 2.3.1. Ticket #2612.
-
–
Allow .13 as floating point number, section 2.4.1. Ticket #2122.
-
–
Factor out function-partial application, section A.2.7. Ticket #2250.
-
–
Reverted regression for function arguments, section A.2.7. Ticket #2176.
-
–
Renamed string-comment to description-string, section 2.2. Ticket #2467.
-
–
Clarified quoted identifiers, section 2.3.1. Ticket #2408.
-
–
Correct grammar to allow ”.*” as one token for import, section A.2.2. Ticket #2430.
-
–
Removed redundant parentheses in syntax rules, section A.2. Ticket #2434.
-
–
Removed old underscores in syntax rule, section A.2.7. Ticket #2431.
-
–
Corrected use of annotation-comment, section A.2.3. Ticket #2428.
-
–
-
•
Improved DAE-chapter to be a complete description, appendix B.
-
•
Improved stream connector formulation, appendix C
-
–
Updated notation to use mass-flows as derivatives, appendix C. Ticket #2644.
-
–
Further clarify inStream simplifications, section C.3.3. Ticket #2242.
-
–
Clarified inStream to make it clear that positive mass-flow is assumed, section C.2. Ticket #2253.
-
–
-
•
Stated that disable conditional components are ignored for inner/outer, section 5.4. Ticket #2499.
-
•
Clarify some use of heterogenous record arrays, chapter 10. Ticket #2282.
-
•
Allow end for non-integer indexed arrays, section 10.5.2. Ticket #2204.
-
•
Improved encapsulated short class to be consistent with encapsulation, section 4.5.1. Ticket #2743.
-
•
Clarified that array declarations cannot be scalar, section 10.1. Ticket #2753.
-
•
Clarified acyclic rule for non-fixed parameters, section 4.4.3. Ticket #2742.
-
•
Clarified final for classes, section 7.2.6. Ticket #2676.
-
•
Made when-descriptions more similar, section 8.3.5.2 and section 8.3.5.3. Ticket #2635.
-
•
Make assertion level a structural parameter, section 8.3.7. Ticket #2642.
-
•
Deprecate byte order mark, section 13.4.1. Ticket #2675.
-
•
State that matrix/vector algebra functions return Real, section 10.3.5. Ticket #2673.
-
•
Clarified each, section 7.2.5. Ticket #2630.
-
•
Clarified elsewhen initial, section 8.6. Ticket #2636.
-
•
Consistently use ”discrete-time variable”. Ticket #2640.
-
•
Clarified use of expandable connector, section 9.1.3. Ticket #2606.
-
•
Made ndims constant, section 3.8.1. Ticket #2605.
-
•
Restrict use of size of components of expandable connectors, section 9.1.3. Ticket #2560.
-
•
Clarify scoping for component names, section 5.3.2. Ticket #2547.
-
•
Extend promote to be allowed in Modelica, and not only internally in the specification, section 10.3. Ticket #2568.
-
•
Clarify that iterator ranges cannot be deduced from expandable connector variables, section 11.2.2.1. Ticket #2560.
-
•
Restructure description of Real and Integer types to keep details together, section 4.8.1. Ticket #2552.
-
•
Clarify pre for arrays, section 3.7.5. Ticket #2566.
-
•
Clarify variability guarantee, section 4.4.4. Ticket #2553.
-
•
Corrected errors in example of over-determined connectors for power system, section 9.4.3.1. Ticket #2564.
-
•
Cleanup of example of over-determined connectors for power system, section 9.4.3.1. Ticket #2565.
-
•
Correct so that normal connector cannot inherit from expandable connector, section 7.1.3. Ticket #2298.
-
•
Clarify that locally non-singular models can be combined to a globally singular model, section 4.7. Ticket #2510.
-
•
Clarify interaction between variability and perfect matching, section 3.8. Ticket #2525.
-
•
In examples change SIunits to Units.SI following MSL 4.0.0. Ticket #2504.
-
•
Remove outdated statement that model and class are the same, section 4.6. Ticket #1345.
-
•
Remove outdated statement that constants cannot be modified, section 12.6. Ticket #2492.
-
•
Revert regressions for lookup, section 5.3. Ticket #2175.
-
•
Clarify handling of equations involving connectors, section 4.6. Ticket #2235.
-
•
Clarified some builtin array functions, section 10.3.5. Ticket #2295.
-
•
Clarified when initial() for algorithms, section 8.6. Ticket #2436.
-
•
Clarify differentiability of expressions, section 4.4.4. Ticket #2464.
-
•
Clarified standard type coercion, section 10.6.13. Ticket #2326.
-
•
Fully renamed declaration assignments to binding equations, section 12.4.4. Ticket #2249.
-
•
Restrict left-hand sides to not be components of models and blocks, section 11.2.1.2. Ticket #2385.
-
•
Correct order in example of short-circuit logic, section 3.3.1. Ticket #2442.
-
•
Clarified evaluation of for-equations, section 8.3.2.1. Ticket #2205.
-
•
Clarify how sizes can be deduced from binding equations, section 10.1. Ticket #2212.
-
•
Clarify that component declarations allow indexing with types, section 4.4.1. Ticket #2221.
-
•
Corrected formulation of synchronous data-flow principle, section 8.4. Ticket #2348.
-
•
Restrict functions to not have connectors - later clarified, section 12.2. Ticket #2308.
-
•
Clarified sample, section 3.7.5. Ticket #2118.
-
•
Clarified that presentation of units is not restricted to ASCII, section 19.1. Ticket #2142.
-
•
Clarified array variants for short classes, section 4.4.2. Ticket #2159.
-
•
Clarified examples for external libraries, section 12.9.4. Ticket #2192.
-
•
Clarified over-determined connector handling by renaming ”breakable branch” to ”optional spanning tree edge”, section 9.4.1. Ticket #2201.
-
•
Improved pseudo-code spatialDistribution, section 3.7.4.2. Ticket #2202.
-
•
Clarified reinit, section 3.7.5. Ticket #2203.
-
•
Allow sum and product of matrix with non integer index, section 10.3.4. Ticket #2204.
-
•
Correct spelling of units to be consistent with SI, chapter 19. Ticket #2232.
-
•
Clarify that description string of modifier replaces existing one, section 7.2. Ticket #2237.
-
•
Clarified that first argument to cat is an integer parameter expression, section 10.4.2. Ticket #2273.
-
•
Clarified illegal modification of outer element, section 5.4. Ticket #2283.