E.1.1 Main changes in Modelica 3.4
The following Modelica Change Proposals are backward compatible extensions added in 3.4:
-
•
Automatic conversions between different versions (MCP-0014), section 18.8.2. Ticket #1622.
-
•
Flattening is clearly specified (MCP-0019), section 5.3.1 and section 5.6. Ticket #1829.
-
•
Convert from Integer to Enumeration (MCP-0022), primarily section 4.8.5.3. Ticket #1842.
-
•
Explicitly casting a Model to Record (MCP-0023), section 12.6.1. Ticket #1953.
-
•
Initialization of Clocked Continuous States (MCP-0024), section 16.8.1, section 16.9 and section 16.10. Ticket #2007.
-
•
An added option to Ellipse Annotation to draw only an arc (MCP-0026), section 18.6.5.4. Ticket #2045.
-
•
Allowing mixed Real and non-Real Record Derivatives (MCP-0028), section 12.7.1. Ticket #2134.
The definition of pure functions was refined, in particular to restore backwards compatibility with Modelica 3.2, section 12.3. Ticket #1937.
The following minor improvements were made (starting from 3.3 Revision 1):
-
•
Clarified simulation model, section 1.2. Ticket #730.
-
•
Clarified structural analysis, section 1.2. Ticket #588.
-
•
Clarified meta-symbols, section 1.4 and 2.3.1. Ticket #1616.
-
•
Typo, section 2.3.1. Ticket #1702.
-
•
Clarified newline, section 2.4.4. Ticket #1479.
-
•
Allow ’”’ and define it to be equal to ’\”’ (and similarly for ’\?’), section 2.3.1. Ticket #1176.
-
•
Clarified that built-in functions in the specification, section 3.7 and 12.5. Ticket #1608.
-
•
Clarified named arguments for builtin operators, in particular spatialDistribution, section 3.7.2 and section 12.4.1. Ticket #2002.
-
•
Clarified that semiLinear is continuous, section 3.7.2. Ticket #112.
-
•
Corrected spelling, section 3.7.2. Ticket #1828.
-
•
Corrected typo in code and reformulated description, section 3.7.2.2. Ticket #1588, #1729, and #2166.
-
•
Corrected typo for events, section 3.7.3.2. Ticket #1657.
-
•
Clarified sample operator, section 3.7.3. Ticket #677.
-
•
Additional functions give parameter expression, section 3.8.2. Ticket #1082.
-
•
Clarified ExternalObject, section 4.4.2.2. Ticket #1546.
-
•
Simplified rules type prefixes for structured components, section 4.4.2.2. Ticket #1686.
-
•
Clarified that unexpanded bindings shall be unexpanded, section 4.4.3. Ticket #2153.
-
•
Clarified conditional components, section 4.4.5. Ticket #2057.
-
•
Improved example to avoid using class, section 4.5.3. Ticket #553.
-
•
Clarify inheritance from predefines types, section 4.6. Ticket #1250.
-
•
Allow connector inheriting from operator record, section 4.6. Ticket #1714.
-
•
Clarify restrictions on record components, section 4.6. Ticket #1615.
-
•
Clarify that only functions may have external clause, section 4.6 and section 12.2. Ticket #2014.
-
•
Clarified equation count for operator record, section 4.7. Ticket #866.
-
•
Clarified restriction on attributes, section 4.8. Ticket #1426.
-
•
Clarified how reserved the different built-in types are, section 4.8. Ticket #1538.
-
•
Removed restriction on nominal and explained purpose, section 4.8.1. Ticket #1445.
-
•
Added unbounded to Real, section 4.8.1 and section 4.8.7. Ticket #926.
-
•
Added fixed-attribute for String, section 4.8.4. Ticket #1797.
-
•
Clarified and corrected example in section 4.8.5. Ticket #1849 and #2150.
-
•
Clarified nominal attribute, section 4.8.7 and section 15.2. Ticket #1877.
-
•
Added that Connections is builtin package, section 4.8.8.4. Ticket #1883.
-
•
Clarified lookup-order regarding import, section 5.3.1. Ticket #1573.
-
•
Extend calling functions through component to array case, section 5.3.2 and section 3.1. Ticket #1613.
-
•
Clarified existing use of automatic inner declarations, section 5.4 and section 18.7. Ticket #1551 and #1749.
-
•
Removed restriction on array size for modifiers, section 6.3. Ticket #1432.
-
•
Clarified that 2/3 and 2^(-3) are Real, section 6.6. Ticket #1647.
-
•
Clarified that external declaration is inherited, section 7.1. Ticket #789.
-
•
Further clarified order for multiple inheritance, section 5.6.1 and section 7.1. Ticket #2015.
-
•
Clarified inheritance restrictions, section 7.1.3. Ticket #1451.
-
•
Restricted merging of modifiers, section 7.2.3. Ticket #791.
-
•
Clarified each especially for nested arrays, section 7.2.4 and section 7.2.5. Ticket #1596.
-
•
Clarified replaceable with array sizes on types, section 7.3. Ticket #1251.
-
•
Corrected and moved example, section 7.3 and section 7.3.2. Ticket #1034.
-
•
Clarified ”redeclare class extends B”, section 7.3.1. Ticket #462 and #709.
-
•
Corrected example, section 7.3.2. Ticket #1725.
-
•
Clarified description and annotation on constraining-clause, section 7.3.2.1. Ticket #512.
-
•
Corrected typo, section 7.3.4. Ticket #1770.
-
•
Clarified for-equation with types, section 8.3.2. Ticket #915.
-
•
Clarified event generation, section 8.5. Ticket #2114.
-
•
Further clarified initial() for when-clauses, section 8.6 – and indicated that this appendix is not normative. Ticket #1852.
-
•
Clarified using start-attribute for parameters, section 8.6. Ticket #2136.
-
•
Clarified that states for first order ODE, section 8.6.1. Ticket #937.
-
•
Clarified adding input/output prefix for expandable connector variables, section 9.1.3. Ticket #829.
-
•
Clarified creating elements in expandable connectors, section 9.1.3. Ticket #428.
-
•
Corrected expandable connector example, section 9.1.3. Ticket #1763.
-
•
Clarified that stream-variables do not generate equations, section 9.2. Ticket #1584.
-
•
Restrict that stream only connects to stream, section 9.3. Ticket #796.
-
•
Clarified section heading, section 9.3.1. Ticket #727.
-
•
Clarified vector arguments for operators in section 9.4.1. Ticket #1590.
-
•
Corrected example, section 9.4.3.1. Ticket #2143.
-
•
Clarified return type for reduction expressions, section 10.3.4. Ticket #981.
-
•
Extended reduction expression sum to operator records, section 10.3.4. Ticket #1897.
-
•
Clarified table in section 10.3.4.1. Ticket #1722.
-
•
Match parenthesis, section 10.4.1.2. Ticket #1558.
-
•
Recommend better alternative for generating vector, section 10.4.3. Ticket #1837.
-
•
Defined unary operators, section 10.6.2. Ticket #2027.
-
•
Allow missing trailing indices, sections section 10.5 and section 10.6.9. Ticket #1603.
-
•
Clarified that element-wise division gives real result, section 10.6.6. Ticket #1119.
-
•
Removed misleading comment, section 11.1.2. Ticket #938.
-
•
Clarified how assignment works for multi-returning functions, section 11.2.1.1. Ticket #1921.
-
•
Clarified no equations and initial algorithms in functions, section 12.2. Ticket #2160.
-
•
Clarified assigning to record variables with bindings in functions, section 12.2. Ticket #2016.
-
•
Clarified initialization of variables in functions, section 12.4.4. Ticket #1708.
-
•
Standarize current practice of using = instead of := for bindings in functions, section 12.2. Ticket #1595.
-
•
Clarified function partial evaluation, section 12.4.2.1. Ticket #647.
-
•
Clarified initialization of record components in functions, section 12.4.4. Ticket #1230.
-
•
Clarified flexible array sizes, section 12.4.5. Ticket #2158.
-
•
Clarified name of output for record constructor in section 12.6. Ticket #366.
- •
-
•
Clarified that using C89 and added possibility for C89, C99, and C11 , section 12.9. Ticket #1088.
-
•
Clarified input/output to external functions, section 12.9. Ticket #775.
-
•
Clarified handling of Boolean variables for external C, section 12.9.1.1. Ticket #1846.
-
•
Added that Strings can be sent to FORTRAN 77, section 12.9.1.1. Ticket #1971.
-
•
Allow multiple include directories, section 12.9.4. Ticket #2103.
-
•
Allow specific libraries for different compiler versions, section 12.9.4. Ticket #1316.
-
•
Added external warning functions, section 12.9.6. Ticker #1967.
-
•
Clarified that pointers are only valid during each call, section 12.9.7. Ticket #1611.
-
•
Clarified constructor and destructor, section 12.9.7. Ticket #1907.
-
•
Clarified ’structured entity’ to be ’directory’, section 13.2.2. Ticket #922.
-
•
Clarified handling of incorrect package.order, section 13.2.2.1. Ticket #1858.
-
•
Restricted use of files with multiple classes, section 13.2.2.2. Ticket #1854.
-
•
Clarified storing resources in a file-system, section 13.2.3. Ticket #685, #1623.
-
•
Used correct font, section 13.2.3. Ticket #2061.
-
•
Clarified that inStream optimizations are allowed, section 15.2. Ticket #1766.
-
•
Corrected actualStream example in section 15.3. Ticket #1652.
-
•
Corrected non-periodic rational clocks, section 16.3. Ticket #2022.
-
•
Clarified initialization of clocked discretized continuous-time partitions, section 16.8.2. Ticket #1528.
-
•
Defined rendering order, section 18.6. Ticket #1750.
-
•
Clarified rotation direction, section 18.6.1. Ticket #1830.
-
•
Clarified coordinate system definition, section 18.6.1.1. Ticket #1831.
-
•
Defined coordinate system inheritance to be less suprising, section 18.6.1.1 and section 18.6.3. Ticket #1978.
-
•
Clarified lineThickness and borderPattern, section 18.6.5 section 18.6.1.2. Ticket #1896.
-
•
Corrected formatting, section 18.6.1.2. Ticket #1825.
-
•
Made the different Text-annotations more similar, section 4.8.8.4. Ticket #1621.
-
•
Clarified LinePatterns in section 18.6.5. Ticket #1483.
-
•
Corrected flipping of components and bitmaps, and clarified various aspects of bitmaps, section 18.6.2 and section 18.6.5.6. Ticket #1923.
-
•
Clarified arrows, section 18.6.5.1. Ticket #1894.
-
•
Clarified existing use of zero-width texts, section 18.6.5.5. Ticket #1636.
-
•
Added specific fontnames, section 18.6.5.5. Ticket #1986.
-
•
Added alternative for macro-expansion, section 18.6.5.5. Ticket #2148.
-
•
Corrected example in section 18.6.7.1. Ticket #2111.
-
•
Placed annotation last in classes, in particular section 18.7. Ticket #1009.
-
•
Cleaned up code and formatting in section 18.7. Ticket #2041, #2042, and #2125.
-
•
Added missing nano-prefix, section 19.1. Ticket #1261.
-
•
Replaced the outdated contents of chapter 20 by a hyperlink. Ticket #2130.
-
•
Added ModelicaServices to chapter 20. Ticket #2132.
-
•
Restrict grammar to avoid modifiers with leading dot, section B.2. Ticket #1027.
-
•
Restrict grammar for base-prefix, section B.2.2. Ticket #917.
-
•
Restrict grammar for arrays, section 3.1. Ticket #809.
-
•
Restrict grammar for function arguments (replacing semantic restriction), section 3.1. Ticket #1634.
-
•
Corrected typo in section D.2. Ticket #1317.