I predict (or at least would like to see) some questions will be raised about the new platform for general symbolic modelling. A lot of us use Mathematica for modelling simple or complex systems, and this new software might make it easier to develop such models. So, should questions related to SystemModeler be answered/encouraged here?
Let me first state that I think SystemModeler looks like a very impressive product, tying the modeling language Modellica to Mathematica, providing a very nice graphical user interface to model development and simulation, the ability to generate standalone executables and a link to Mathematica to enable further analysis.
As far as marketing Mathematica is concerned this is a very strong move. The combination of Matlab and Simulink has always had an enormous appeal to the engineering world and I believe that the Mathematica/SystemModeler combination may finally break open this world and cause an influx of its user base. Mind you, this will take years, since curricula won't be changed in a few weeks, and there is a large amount of vested interest involved in Matlab/Simulink that will resist change.
I believe it will be important for many of us to learn this new stuff, perhaps from a job-security point of view. If this takes off, being a front-runner could be a definite advantage.
Opening up MMA.SE to SystemModeler and providing them a warm and cozy environment will contribute (for what it's worth) to the acceptance of SystemModeler and Mathematica and will, at the same time, improve our own understanding of the system.
From a Mathematica language perspective, SystemModeler is perhaps less of an paradigm shift. I may be mistaken here, but it looks like we can fire-up a model simulation from MMA, get back data and analyze that. They are not strongly integrated as a quick-scan by Szabolcs shows. Arguing from this perspective, one might say that SystemModeler questions should not be asked here except for questions related to interfacing MMA and SystemModeler.
The specific expertise on this area seems to be not very high either (as perhaps demonstrated by this control system question that is still open). So, asking questions here wouldn't be very useful to the asker, at least, not in the beginning. As I said in my comments above, I wouldn't mind if WRI would distribute some licenses to the avid users here to alleviate this specific problem.
Weighing the pros and the cons I'd say we pick a wait-and-see approach. People who would be annoyed by seeing SystemModeler questions appear here could easily add the systemmodeler tag to their "ignored" list. And people only interested in SystemModeler questions could gather under this tag like many of us gathered under the mathematica tag at StackOverflow.
I strongly disagree with the opinion of @Szabolcs. While his arguments are formally in complete accordance with (and enforcing the) rules of SE, and Mathematica SE in particular, I think that banning Modeler-related questions will harm our community in many ways. Here are my arguments:
- Since the Modeler is a result of WRI, being a re-branded and evolved version of MathModelica from MathCore (bought by WRI), it clearly shows the long-term intention of WRI to have the Modeler and Mathematica deeply intergated. If this integration is not so strong now, I am sure this is just because the work in that direction just started. In other words, I expect that in time, the percentage of questions involving the Modeler and not at all Mathematica will drop to a pretty low value.
One can argue that by the same token, we should also allow all WolframAlpha questions, because WA is another system integrated with (and written in) Mathematica. But there are several important differences:
- WA has its own, and pretty powerful, deployment channel - through the web. SystemModeler does not have such a deployment channel. So, while formally it is true that it can be used without Mathematica, realistically one can expect it to be used with Mathematica most of the time.
- While WA can be used from Mathematica, its purpose is, in some sense, the opposite of what Mathematica does. The Modeler, however, can be seen as a component extending and empowering Mathematica in a certain wide domain (modeling of Physical and Engineering systems), which is precise and quantitative, just as Mathematica itself.
Modeler is, compared to Mathematica, a more specialized application, and people who are interested in it currently have no place to go (except WRI tech.support). By banning the Modeler-related questions, we basically show the door to all these folks, while they could become a sub-community on Mathematica SE. There is no chance for Modeler to get a separate SE site in the near future. So what we do then is to destroy the future synergies we all may have with the emerging (or existing for prior MathModelica) Modeler community. This is harmful for everybody, since we don't give the emerging Modeler community a chance to use M SE infrastructure to get stronger, while we don't give ourselves a chance to learn about the Modeler and get an additional job security, mentioned by @Sjoerd.
Let us keep in mind also that Modeler is pretty much the first large-scale industrial application tied closely to Mathematica and produced by WRI. Crippling its emerging community, we also reduce its potential adoption in the industry, which, to an extent, reduces the potential adoption of Mathematica itself in the industry. Such an adoption for Mathematica is sorely needed, since IMO Mathematica is heavily underused in the industry currently.
What we risk is an increase in the number of unanswered questions. I don't know how much a problem this is for our community, and I also hope that once we get here some folks with some knowledge of the Modeler (and I would encourage WRI employees with such knowledge to take the lead), this will become less of a problem. Usually, a demand leads to a supply, so I hope that such people would naturally appear here after a while, if Modeler is any good (and I believe it is).
What we also risk (and this is IMO more important) is to lose, to some extent, the sharp focus on Mathematica, and somwehat dilute our pure Mathematica discussions with those about another system which has a large non-Mathematica component following different logic. How big of a problem is this? I think, this depends on how we would like to view Mathematica SE, and also on the degree to which WRI will be able to integrate Modeler and Mathematica into a single smooth workflow in the future. My own opinion is that restricting Mathematica SE to only strictly Mathematica questions is a rather limited way of developing our community. StackOverflow, for example, benefits a lot from having tags for various programming languages co-exist in one place - so why can't we also? In some sense, Mathematica SE can become a hub for Mathematica-related technologies (living in different tags) just as StackOverflow became a hub for various programming languages. And those who don't want to see any Modeler-related questions, can just set up a simple tag filter.
So, banning Modeler-related questions may look like a right decision tactically, but I think it will be a wrong decision strategically for our community, and for general Mathematica adoption as a platform.
I completely agree with Leonid. Besides we already have a resident expert in WSM : Malte Lenz, who appears to be ready and willing to help newcomers sort out problems with WSM. Please also cosider that WRI has probably heavily invested in WSM and if it flops, this might have negative ripercussions even on MMA develpment. I have tested WSM and will likely buy it soon. With WSM you can easily model a system, but if you want to control it, you basically need MMA. So no serious user of WSM will go a long way without MMA. Thus these WSM users will end up here probably with questions relating to the control system sub-language in MMA. I therefore strongly advise to welcome ALL kinds of questions on WSM.
I have (very) briefly tried the trial version of SystemModeler. In its current state, it seems to be a program completely separate from Mathematica, which has a Mathematica interface. It does not require Mathematica to functions. Using the interface, simulations can be run from Mathematica and the values of all variables (and their time dependence) can be retrieved.
Because SystemModeler is separate and independent from Mathematica, and because it is based on a separate and unrelated programming language, my opinion is that SystemModeler should not be any more on topic than any other system that also has a Mathematica interface. Questions about the Mathematica integration and interface should be on topic, but questions about SystemModeler that don't require Mathematica to solve should not. (Just like Java questions are off-topic but JLink questions are on-topic.)
My experience with SystemModeler's trial version was very very brief, so I may be wrong about some points.
Here's the first SystemModeler question that triggered this answer. The question seems to be about SystemModeler only (not Mathematica), so I'd consider it off topic.
For the context: I was planning to post this as a comment to Leonid's answer, but it got too long, so I'm posting as an additional answer.
To rehearse first:
If I understand you correctly, your argument for allowing SystemModeler-questions is that 1. SM is a technology closely tied to Mathematica and 2. that people are likely to use them together. For 1., from what I have seen during the few hours I played with SM is that currently it is not really tied closely to Mathematica. Mathematica simply has an interface to it, just like it has an interface to TetGen or to Java (which doesn't make TetGen or Java questions unrelated to Mma on-topic). You are correct that the WRI blog posts on SM suggest that a much tighter integration is planned in the future---this integration is not here yet though. 2. Is it true that SM users typically use the Mma interface to it? I really don't know, the fact that SM is also a WRI product now makes it possible. And questions about the Mma-SM interface can of course be on topic. Is this a good reason to make SM questions not related to Mma on-topic?
Another thing to consider is that SM is an implementation of Modelica. From what I read about Modelica, one of the motivations behind its development (as a standard language) was to make different modelling systems interoperable. If we do allow non-Mathematica-related SystemModeler questions, shouldn't we allow all Modelica-questions, regardless of which system the asker is using? Especially is these systems are interoperable or the code can be transferred between them with no or minimal modification ... Several of the questions would be valid not only for SystemModeler, but for other Modelica implementations as well. Note that the library mentioned in this question is not for SystemModeler specifically---it's a generic library that can be used with any Modelica system.
My updated suggestion: Let's allow any question which is clearly related to Mathematica---e.g. requires using Mathematica or writing Mathematica code. But let's not allow SystemModeler questions which are only about SM, which can be solved without making use of Mathematica, which are mainly about Modelica, or could be valid for other Modelica implementations too. (Without exaggeration, I think this is not that different from not allowing purely Excel questions just because WRI sells an Excel link.)
If SystemModeler and Mathematica will really get a tight integration in the future, that will automatically and naturally make more SystemModeler questions on-topic here. Until then, let's not open up the site to Modelica-the-language, and restrict SystemModeler questions to the interface between it and Mathematica.