Version 4 (modified by 15 years ago) (diff) | ,
---|
EMSO Language Changes Suggestions
ext keyword for global parameters
Currently the ext keyword is used to obtain a global parameter. I've observed that this keyword is not well suited for its meaning.
The idea from http://www.modelica.org is to have outer parameters, which means a parameter from one of the parents. Then the simulator will look for the parameter in the parent tree until it finds it (maybe it is found only on the FlowSheet? but it can be matched before).
Usage example:
Then when feed is instantiated on the FlowSheet? feed.NComp will be a reference for NComp on the FlowSheet?. But if the stream is used in a model this model can have a NComp parameter and this will be referenced.
Who | Opinion | Why |
Rafael | agreed | proposed the change |
Paula | agreed | because this change gives more flexibility to the user |
CalcObject's
This is another example of keyword which is not directly understood by the users. I suggest to use just Plugin instead of CalcObject.
Usage:
Another problem with the Plugin's is that each Plugin call (e.g. PP.LiquidEnthalpy?(T, P, z)) generates a units of measurement warning. In order to solve this problem I suggest the specification of the File attribute even for outer Plugins (as exemplified above). Then the simulator can check the units of measurement and number of arguments when checking the model and not only when the simulation is run.
Who | Opinion | Why |
Rafael | agreed | proposed the change |
Paula | agreed | because the warnings about unit checked in models cause a bad impression |
Repository Directory Layout
This is not exactly a change on the language, but in order to support a change on the language we will need a branch on the models repository.
Usually, SVN repositories follow the layout:
- trunk (the main development)
- branches (the branches for parallel development with the trunk)
- branch1
- branch2
- etc
In order to implement this change we could just rename the mso directory on the repository to trunk and create another top folder called branches.
Who | Opinion | Why |
Rafael | agreed | proposed the change |
Model Attributes
Currently only types have attributes, examples:
In the above type declarations, Brief, Lower, etc are attributes. We are planning to add attributes also for Models and we need to define a syntax for their declaration.
Option 1
Something similar to the types declaration:
Option 2
A new section for setting the attributes:
Who | Opinion | Why |
Rafael | agreed | proposed the change, but not sure about the option to be adopted |
Attachments (1)
-
PluginsConfiguration.png (21.0 KB) - added by 15 years ago.
Plugins Configuration screenshot
Download all attachments as: .zip