Geeks With Blogs

News

Charles Young

I've been engaged in some debate in the last few days with Jean-Jacques Dubray and Doug Purdy with regard to Oslo.   See:

http://www.ebpml.org/blog/182.htm

http://www.douglaspurdy.com/2009/04/09/where-is-oslo-going-part-ii/

Jean-Jacques has questioned aspects of Microsoft's strategy.   Following some issues with posting anything but the shortest of comments on the ebPML web site, I'll follow Doug's lead and post a response here.

I strongly agree with Jean-Jacques' statement that 'M3 exists'.   It seems a little strange to feel the need to state this emphatically, but the existence of M3 has sometimes been challenged.   Today, 'Oslo' does little to call out or underline the existence of M3.  'Oslo' really isn't expressed in terms of 'classic' metamodel architecture.  I would expect this to be unnerving to some people in the MOF community, and my interest, in a previous post, has been to attempt to show that, despite appearances, there is actually an underlying and solid foundation of common ground between OMG specifications and Oslo.  There is also a lot of history to this.

It seems to me that multiple metamodel layers exist regardless of technology or specification.   However, the degree to which we need to express them within any given context, and the way we choose to do so, is absolutely a matter of pragmatics.   I'm schooled in the old linguistic philosophy that languages (including modelling languages) are built on the 'trinity' of syntax, semantics and pragmatics.   It is these three areas that Oslo so directly calls out and emphasises.   To date, it has, if anything, overly-separated these distinct concerns and I suggest that a lot of the feedback Microsoft has received from the CTP is, in reality, asking them to look for more effective and practical interaction between these different aspects of their emerging technology.   These requests are absolutely driven by pragmatic considerations.  So, while I appreciate Jean-Jacques' comments about pragmatics, I think that this is potentially the area of greatest strength in terms of what Microsoft is doing.   If they get it right (and there is no guarantee of that), they will succeed in providing a set of tools that add real and significant value to their platform and support far more effective use of models in both architecture and development.

In terms of the technology, Oslo offers one language - 'M', founded on graph theory and expressed through MSchema and MGrammar.   M is designed to be used at any level within a metamodel architecture.   I've always found it difficult to imagine any practical need for M4 or above, but I guess you could extend this indefinitely!   What Microsoft doesn't do in the current CTP is to provide any pre-canned M3 meta-metamodels (actually, that is not entirely true - there is the beginning of some M3 support in the repository).   Given that they plan to deliver fulsome support for UML, and have committed themselves publically to XMI, and given their OMG membership, it is possible that we might even see Microsoft exploit MOF.   If they don't do this, themselves, it will only be a matter of time before others do within the Oslo ecosystem.   What I don't expect to see is any attempt to promote MOF as a one-size-fits-all M3 specification in the world of Oslo.   That should not be interpreted as some conspiratorial (and completely pointless) attempt to undermine well-accepted standards.   It is simply the natural consequence of remaining agnostic with regard to the number of metamodel layers needed, pragmatically, within any given context.

Jean-Jacques engages is an interesting argument about 'defining M3 properly' for implementational purposes.   There is a lot in what he is saying.   MOF was originally bound to CORBA IDL, and Microsoft's RTIM (an ancient specification that was roughly equivalent to MOF) was similarly bound to COM IDL.  The first thing that happened when Microsoft put their specifications into the hands of a standards organisation was that RTIM was rejected as being too proprietary.   Similarly, but more positively, the OMG has rigorously decoupled MOF 2 from CORBA.  Jean-Jacques is, I think, suggesting that MOF still fails to adequately handle the kind of impedance mismatches that can occur when creating bindings to very different run-time representations.   I will leave it to others to argue the finer points of MOF, but in terms of Oslo, the stated intention is to reduce the barrier between models and runtimes to the point of near-invisibility.   The Oslo goal is to promote the direct consumption of models (including metamodels and meta-metamodels) within a wide variety of runtimes.   No doubt, as Oslo evolves, we will see the advent of tooling and technologies that help developers to build the widest variety of model-driven run-times.   I have a suspicion that XAML will end up being central to much of this effort.

To summarise, M3 is always there in some sense, but doesn't always need to be represented explicitly within a given context.   Microsoft's historic experience of building multi-level metamodel architecture and repository technology strongly indicates that if you try to force explicit representation of M3 on your development and ISV communities, they will often ignore what you offer.   Oslo does not require MOF compliance or any alternative, but is perfectly capable of supporting this as required.   The ability to bind model representation at any appropriate layer of a metamodel architecture to runtime environments in a thoroughly pragmatic fashion is likely to be a core decider in terms of Oslo's future success.

I’ll take this opportunity to share an initial attempt I made earlier this year to relate, rather broadly, the core ‘M’ language artefacts to multi-level metamodel architecture and also to the ‘syntax-semantics-pragmatics’ trinity.    This diagram is entirely of my own making and is in no way ‘official’ (I don’t work for Microsoft).   One major weakness is that it suggests a highly repository-centric emphasis in regards to pragmatics.   In reality, I expect that the use of the repository will only be one of many aspects of pragmatics.  Consider, for example, the role of MGraph is enabling pragmatics at the M0 layer or, indeed, the use of ‘Quadrant’.    This diagram is very much a work in progress and I will wait until future iterations before revisiting and refining this.   Another issue is that, on the left-hand side, I have suggested the existence of MSchema and MGrammar grammars.   These may not necessarily be made public by Microsoft, but do appear to exist.

Expreressing Oslo in UML: draft 1.0

Posted on Monday, April 13, 2009 1:27 PM 'Oslo' & Modelling | Back to top


Comments on this post: Where is Oslo Going?

# re: Where is Oslo Going?
Requesting Gravatar...
I'm totally bias, but I have mixed feelings about UML and MOF. Having used IBM's and other modeling tools in the java space, current tools are quite disappointing.

One of the things that annoys me with UML tools is the lack of analysis functionality. Most of the tools out there give you the ability to define entities, constraints, uni-directional and bi-directional references, but often times that isn't sufficient. It might be enough for an enterprise architect to draw out the basic model, but understanding it often is a pain. When I worked at aetna, the model was over 500 entities. Without analysis and navigation functionality, it still ends up being garbage in/garbage out. In theory I like the idea of model driven development, but many of the existing tools flat out suck. At the top of the suck list is IBM rational.

I look forward to see what OSLO becomes. I hope it brings some fresh ideas to the table.
Left by Peter Lin on Apr 13, 2009 2:34 PM

# re: Where is Oslo Going?
Requesting Gravatar...
Good post Charles.

Two quick things:

(1) Your comment on http://www.ebpml.org/blog/182.htm to link to here is broken.

(2) "I have suggested the existence of MSchema and MGrammar grammars."

Do you mean the M definitions of things like this or something else?: http://msdn.microsoft.com/en-us/library/dd129869.aspx

One longer thing:

In general I agree with what you have written re:M3. I think the difference between the approach Oslo is taken and some other previous (or ongoing!) approaches is one of where to get the 'soonest gratification' as possible. If Oslo has goals of 'LOC' reductions for consumers of the DSL then I see the energy put in currently for M1 driven to ease the M0.

Anything higher than M2 can exist in Oslo (and potentially be very beneficial, even just from a sanity/organizational perspective on any non-trivial domain) but then starts to get a non-Microsoft smell of strategy/architecture or even (gasp) a 'top down' approach. It's probably just a question of emphasis to make the concept of the 'little languages' something more practical and immediately productive. The introduction of modeling to the core Microsoft community isn't a trivial endeavor.

As for run-times, I'd expect a bit of churn on this side. The Data=Code=Data is at the heart of XAML but I still see it as something that is currently too hard, i.e. I'm helped in terms of syntax, but semantics not so much. The pragmatics of what's 'in or out' of the repository is also something that'll churn for a while too I'll guess.
Left by David Ing on Apr 13, 2009 5:56 PM

# re: Where is Oslo Going?
Requesting Gravatar...
Not a bad guess, although we are less database centric that you outline -- but you foresaw that :-)

You can see the grammars for MSchema and MGrammar in the SDK (.\Program Files\Microsoft Oslo SDK 1.0\Samples\MGrammar\Languages)

We now have a unified grammar that will be in the next SDK.

We will also have the M4M models in the next version of the SDK.

I tend to think of this layer as the M3 with the ability to go to Mn.

There is also the "escape" in the Row|Table|Sys.Table model (at least for the repository backend)
Left by douglasp on Apr 13, 2009 7:13 PM

# re: Where is Oslo Going?
Requesting Gravatar...
Thanks for the feedback. Looks like the ebPML site interpreted the period at the end of my comment as part of the URL. I've posted a comment with a working link.

Thanks, Doug, for pointing out that the grammars for MSchema and MGrammar are available. I'm obviously not keeping up to speed:-)

I like the idea of a 'non-Microsoft smell' to M3 ;-) But, joking aside, I also agree with what you are saying, David. To achieve widespread acceptance and adoption of Oslo, the emphasis has to be on great tooling for M0/M1. However, failure to support full multi-level metamodel architectures where and when appropriate would, I believe, consign a technology like Oslo to doom in the longer term. With improved support at the platform level, people’s expectations of technology will gradually increase to the point where a naive approach would not be adequate. We won't know if the Microsoft strategy will work for quite some time, but I continue to believe it has a very good chance of doing so.

Doug, yes the diagram is certainly too repository-centric. At some point, when the shape of Oslo is more complete, I’ll revisit.

Doug, by M4M, do you mean the Language.Schema reflection stuff? This is what I was thinking of when I said there were signs of M3 support in the repository. M4M may not be a good term to use. It already has certain...er... connotations which I doubt are well-aligned to Microsoft’s corporate image. Try googling 'M4M modeling' to see what I mean. I think Jean-Jacques may have been hinting at this problem as well. Your comment about Row|Table|Sys.Table is interesting. This same thought had occurred to me previously, and I think it serves to suggest two things:

a) abstraction layers ‘exist’ in their own right, without respect to way we choose to represent models within them

b) within any layer, we may create multiple models to represent aspects of the same ‘thing’. Hence it can be perfectly acceptable to have multiple M3 meta-metamodels of the same metamodel.
Left by Charles Young on Apr 13, 2009 9:19 PM

# re: Where is Oslo Going?
Requesting Gravatar...
Charles,

Here is some feedback: http://www.ebpml.org/blog/183.htm

I need to spend some more time on the figure that you have provided.

JJ-
Left by Jean-Jacques Dubray on Apr 14, 2009 4:08 AM

# re: Where is Oslo Going?
Requesting Gravatar...
Interesting. I'm curious about it automating common scenarios that are too painful with large, complex apps, e.g. http://bengillis.wordpress.com/2009/04/14/where-is-microsoft-oslo-going/.


Left by Ben Gillis on Apr 15, 2009 7:34 AM

# re: Where is Oslo Going?
Requesting Gravatar...

> One major weakness is that it suggests a highly repository-centric emphasis in regards to pragmatics.
how so? vs. what alternatives and why?

> Microsoft's historic experience of building multi-level metamodel architecture and repository technology
You mind pointing out what experience?

> Oslo is taken ... 'soonest gratification' as possible
Exactly. Microsoft will lower the skills barrier to be productive with reusable artifacts in solutions development. That they do well.

> UML, MOF, et.al.
Microsoft will get a significant jump over these if these don't lower the skills barrier, too.

Left by Ben Gillis on Apr 15, 2009 11:31 PM

# re: Where is Oslo Going?
Requesting Gravatar...
> One major weakness is that it suggests a highly repository-centric emphasis in regards to pragmatics.
how so? vs. what alternatives and why?
[cy] Oslo is not just about hanging a bunch of tools off the repository. Indeed, this move away from a Repository-centric viewpoint has been a significant part of the Oslo story internally - originally, when MS first started talking privately to their customers about their plans, they tended to promote the idea that the repository would be at the centre of everything. Currently, the public emphasis is much more creation and pragmatic use of textual DSLs in runtime environments, and will probably remain so until more work has been done on the repository and Quadrant. The Oslo team are clearly keen to describe Oslo in terms of a suite of useful tools and technologies, only some of which cluster around the use of the repository.

> Microsoft's historic experience of building multi-level metamodel architecture and repository technology
You mind pointing out what experience?
[cy] I talked about this at http://geekswithblogs.net/cyoung/archive/2009/01/05/128369.aspx

> Oslo is taken ... 'soonest gratification' as possible
Exactly. Microsoft will lower the skills barrier to be productive with reusable artifacts in solutions development. That they do well.
[cy] Yes, absolutely true, and I believe this is of fundamental importance in injecting 'Oslo' into the bloodstream of Microsoft's developer and ISV communities. However, I think it is important also to recognise that Oslo is perfectly capable of providing a foundation for supporting advanced/complex requirements in which 'soonest gratification' is not an important consideration. We can easily imagine a roadmap for 'Oslo' that includes future support for full-scale enterprise-level modelling.

> UML, MOF, et.al.
Microsoft will get a significant jump over these if these don't lower the skills barrier, too.
[cy] I really don't believe Microsoft is attempting to compete with the OMG. They have recently joined the OMG and are publically committed to provide fulsome support for UML and XMI in 'Oslo'. Although their UML story has been dire over the last few years, don't forget that historically (more than a decade ago, now) they invested significantly in UML, to the level of integrating a 'light' version of Rational Rose into their development environments and providing something approximating to round-trip engineering with integrated repository support in the platform. That all died a death, but MS has always stated that they remain pro-UML and heavy users internally of UML. Also, more broadly, I detect a degree of convergence around an understanding of the role and function of metamodelling between the OMG and Microsoft. Parts of the MOF 2 spec, for example, read almost like an explanation of the thinking behind 'Oslo'. The OMG (and by implication, a large swathe of the IT industry) and Microsoft need each other. Sorry, IBM, but that’s what I think!
Left by Charles Young on Apr 16, 2009 1:36 PM

Your comment:
 (will show your gravatar)


Copyright © Charles Young | Powered by: GeeksWithBlogs.net