Perhaps this discussion has been hammered to death over the years on other sites and at workshops, but I'm still interested in thoughts about this subject and I think its a great discussion point for the site anyhow.
1. When is a textual model preferable to a graphical model and vice versa?
I think in general there has always been a big push for graphical models over textual ones. Graphical models often look better, are more sexy and probably improve your publication rate :D.
But textual models are still highly prevalent. Many component languages still use a textual format, domain specific languages and so forth..
Textual models allow for a different kind of expressivity and detail... whereas graphical models provide overview often at the expense of detail. Often graphical models are used in situations which impede the usage... for example there was a push for VR driven databases a decade or so back.. the user would wear a helmet and then point at data items in their 3D universe which would generate queries on the back end. I don't think it worked as well as your regular desktop database client.
But then again textual models are often used in the wrong way too... for example I've seen pure textual DSLs for input of data that would be best suited to being in a form (e.g. medical records, reservation systems, etc.).
Some interesting links I've been to over the past day or two
Object mentor
TextUML
The final one interesting as it mentions generating UML models from code rather then the other way around. It also mentions how its often faster to create those models textually than graphically.
2. Are there other kinds of models that are somewhere in between?
Talking about graphical and textual models... what other types of input models are often used? I've often seen models expressed in spreadsheet like form, or of course form based models (using text boxes combo boxes and the like). Then of course there are hybrid cases where graphical and textual models are used (which could probably include the cases I just mentioned).
What other kinds of input models are there for expressing a model?
Best regards
Neil