This page identifies a possible issue, inconsistency, concern, error, or bug!
One of the ways Webel IT Australia helps promote tools, technologies, and languages is by donating a lot of time identifying, tracking, and reporting potential issues, in order to help vendors and developers improve the tools and technologies. In some cases, we also offer workarounds and advice for users. All issues tracked on our public site are offered most constructively and with sincerest gratitude to the tool vendors and technology developers.
DISCLAIMER: Vendors do not officially endorse issue analysis by Webel IT Australia.
It's not clear whether this is a bug, but it would be nice to be able to do what is shown in the diagram, which attempts to reproduce via SysPhS a classic Lotka-Volterra System from Modelica University, which has:
model ClassicModel "This is the typical equation-oriented model"
parameter Real alpha=0.1 "Reproduction rate of prey";
parameter Real beta=0.02 "Mortality rate of predator per prey";
parameter Real gamma=0.4 "Mortality rate of predator";
parameter Real delta=0.02 "Reproduction rate of predator per prey";
parameter Real x0=10 "Start value of prey population";
parameter Real y0=10 "Start value of predator population";
Real x(start=x0) "Prey population";
Real y(start=y0) "Predator population";
equation
der(x) = x*(alpha-beta*y);
der(y) = y*(delta*x-gamma);
end ClassicModel;
Note how the 'start' for x
is set via a parameter x0
.
In the attached SysPhS attempt x0
is assigned via the MagicDraw-specific ElementValue as the default for x
, but the export to Modelica does not see it:
model ClassicModel
parameter Real alpha(start=0.1,fixed=true);
parameter Real beta(start=0.02,fixed=true);
parameter Real gamma(start=0.4,fixed=true);
parameter Real delta(start=0.02,fixed=true);
parameter Real x0(start=10.0,fixed=true);
parameter Real y0(start=10.0,fixed=true);
Real x;
Real y;
equation
der(x)=x*(alpha-beta*y);
der(y)=y*(delta*x-gamma);
end ClassicModel;