OSLO Video Comments: A Lap Around Oslo
I just (finally!) started watching the OSLO videos from PDC. I started with the over view session A Lap around OSLO
. Here are some thoughts:
I don't like the message that "you've done this for years, it's just like XML and [Attributes] and all that..." Why on the one hand side talk about how new, important and ground-breaking OSLO is, and then say that it's all just XML, SQL and other stuff everybody has done for a long time?
Quadrant is actually all the tooling; part of it is the visual DSL designers as well as the textual ones
Why the heck show the SQL that works with the DSL definition when the "database is just a repository"? Seems like an unimportant implementation detail to me. They even say "M is a way to describe stuff stored in a repository". Sounds to me that's beside the point - isn't M about defining languages??
The longer I watch the video, the more all the stuff seems to me like a new database tool ... I know that's not the idea, but it is presented in that way.
I really like that everything is interpeted. Even the grammar/parsing facilties are interpreted. Very nice.
So it seems that the ability to customize editors is really still limited, they "aspire" to making intellisense and all that available to any DSL.
Wow, this Quadrant tool itself is built to interpret models, it is itself defined via M-stuff. Nice!
Hm... but it again looks like a database tool ("Model-Driven Access"). I don't understand how the textual models interact/relate with the graphical Quadrant stuff? Can I get the textual representation out of the database again? Or can I just use it to put stuff "into" the repo?
Somehow the Quadrant stuff also reminds me of Naked Objects...
As I watch the video, I feel like, while it is not yet finished, it looks very promising. However, I have no idea why they don't also include a code generation. Yes, interpretation is useful, no question, but so is code generation. The only explanation I can come up with is to "deconflict" OSLO with the MS DSL Tools.
When they are showing this MService example DSL where they embed (what looks like) C# code into new abstractions for Service description, I wonder what the means of modularization are. Is C# described in M? Can I easily embed "pieces of" C# code in an M DSL? Sure looks like it... very interesting! Actually, it seems like some workflow stuff that's invoked. But then, at least those need to be combinable. And at some point, I am sure C# will be available, too.
Wow! They have a debugger for their DSLs. VERY NICE! I wonder how much of that is automatic (i.e. somehow derived from the grammar) as opposed to having it written manually.
All in all, this stuff really looks nice and I am looking forward to more ... stay tuned for my comments on the other PDC videos :-)
Labels: eclipse, openarchitectureware, OSLO