.NET Framework Bookmark and Share   
 index > Microsoft Codename 'Oslo' > MGrammar & Modeling: A Tale of Two Cities?
 

MGrammar & Modeling: A Tale of Two Cities?

I don't even know how modeling is called in Oslo (MGraph is common to both); certainly not Quadrant! (come on, in a textual environment!)

But modeling seems to get the upper-hand, with much lesser interest in DSLs; we love T-SQL and can do anything with it, thank you very much.

But higher-profile people in MS seem to be on the modeling side! (safer side?).

On the other hand, we never used the visual DSL tools in VS; it ain't now that we will start doing it.

If textual DSLs are going to be ditched, we all deserve to know about this eventuality (better sooner than later).

-Ciper

Ceyhun Ciper
I'm not sure why you're suggesting that textual DSLs are going to be ditched. Microsoft has made it clear since early on (especially at the PDC in October) that "M" was for textual modeling and the creation of textual DSLs, and that "Quadrant" was intended to be a more visual environment. The two work together. The fact that "Quadrant" isn't all that "visual" at this time simply reflects it's early stage of development when a more text-based presentation can be implemented.

Seriously, I don't understand your claim that Microsoft has more interest in modeling than in DSLs. If you look at this forum, most of the questions about about textual DSLs as the "M" language makes possible. The majority of content on the "Oslo" Developer's Center is about "M" as well.

I have to ask, then, what is your point, exactly?

.Kraig

P.S. I changed the type of this post to a discussion since you're really not asking a specific question, by the way.

Also deleted your other "What I hate about 'Quadrant'" post because it was very negative and not constructive for this forum. I'm simply not going to allow such posts here. If, on the other hand, you can restate what you'd like to see in "Quadrant" that would solve your issues with it, we're certainly very open to those suggestions.

I've also deleted your response to another post for a similar reason, in that you personally insulted the original poster. That kind of personal attack has no place on this forum. If, on the other hand,you have something positive to contribute to that conversations, I certainly welcome it.

Perhaps you've just had a rough day, in which case I send you my all my best.

Kraig Brockschmidt
My point is that modeling seems to be more important than language processing.

On all other accounts, you are right andI apologize for being out-of-band in my posts.

-Ciper

ps: Language processing is what we have been looking forward to in the MS world (as opposed to the maturity of the domain in the Java world); sticking with the MS platform won't harm us in the long run, I hope.
Ceyhun Ciper

What you're really just seeing is that the language facilities of "M" just so happen to find a home within the overall "modeling" efforts. This is often the case in a corporation like Microsoft, that really interesting technologies that don't warrant being a product in and of themselves need to find a larger project that can effectively host them.

The language facilities of "M" are relatively new within the whole "Oslo" sphere and came about as a solution to various problems in that modeling space. And yet we've found that "M" has really gained traction in the developer community at large. With that, I highly doubt that "M" would be buried anywhere. The fact that Microsoft expanded involvement with the "M" Specification Community shows a longer-term dedication to the project as well as the expectation that "M" will become a more expanded project in and of itself. (If you're not involved in the spec community, you should be :) )

So yes, modeling is important to Microsoft at this time, but that doesn't mean that language processing is not. Both are important in their own ways and will continue to evolve as everything in this dynamic industry tends to do.

And thanks for your understanding witht the other posts; it's a good thing we can clean up that kind of stuff lest it become immortalized to one's ongoing embarrasment.

.Kraig

Kraig Brockschmidt
I've felt the same way as Ceyhun Cipher and specifically I"m worried about the future of "MGrammar", which to me is the most interesting part of Oslo in general. When he talks about DSLs and being more textual I think what he's talking about is MGrammar. I hear lots of talk of M and modeling but what about custom textual DSLs? I've even heard discussion about M and MGrammar merging somehow? Which seems to me to be more evidence of what Ceyhun is saying, which I interpret as meaning Oslo seems to be moving away from arbitrary textual DSLs and more into the specific DSL "M" which is about arbitrary modeling.

THere was another post on this forum that I think is directly related to this discussion.

Here the main point, as I understand it, is that a bi-directional scenario for writing your DSLs isn't a first class concern, which is probably why Ceyhun is feeling like the textual DSL concept is secondary to the visual modeling and is maybe even disregarded to an extent that it would be dropped completely. The ideal workflow:

1 Author textual DSL grammar
2 Author DSL code conforming to this grammar
3 The DSL Code is "compiled" either in a traditional sense or into a repository.

- The DSL Code IS the source of truth, not the repository.
- Which means that either:
A) the only way to change the repository is by steps 1 - 3
B) The DSL is a bidirectional projection of the repository metadata

If you don't support the bidirectional projection of the metadata then what you end up with is multiple sources of truth, which is a flawed by design anti-pattern. If I had a wishlist it would be:

- Keep MGrammar as it's own distinctly separate product from M, where M is simply a specific DSL implementation.
- If quadrant is to be the single source of truth, it must have the ability to allows arbitrary textual DSLs to be defined and authorable directly in quadrant itself (bidirectional).

As an aside, since I'm not sure on the details, how will the repository deal with change history, conflicts and security (and other standard source control features)?
justncase80
And I sincerely thank you for your timely intervention.

-Ciper
Ceyhun Ciper
As far as whether the grammar part of "M" is a separate product...well, it's still too early to know what the final v1 products will look like, exactly.

With your last question, "Quadrant" will be getting conflict resolution features in the next CTP; with source-control features, that's something that we've been hearing from the community as a very important consideration. As usual, I suggest taking that matter as well as the "source of truth" question to the Connect site, since we're really talking design/feature requests here.

.Kraig
Kraig Brockschmidt

You can use google to search for other answers

Custom Search

More Threads

• CaseInsensitive Problem in the May CTP release
• One to many relationship
• OsloTool, a must have for Oslo Developers!
• Generation of comments in T-SQL output
• Alternatives to instanciating the concrete tree with Mg
• Grammar Editing in May CTP
• Where can I get Quadrant?
• Example from MIX09 presentation issue
• MGrammar: compiling modules separately
• Why don't you build a Grammar Repository?