<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>.Net Braindrops &#187; MGrammar</title>
	<atom:link href="http://startbigthinksmall.wordpress.com/tag/mgrammar/feed/" rel="self" type="application/rss+xml" />
	<link>http://startbigthinksmall.wordpress.com</link>
	<description>... where thoughts become excecutable.</description>
	<lastBuildDate>Fri, 13 Nov 2009 19:26:11 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='startbigthinksmall.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/48f9c77eeb6e0e94151481ef285fe3a1?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>.Net Braindrops &#187; MGrammar</title>
		<link>http://startbigthinksmall.wordpress.com</link>
	</image>
			<item>
		<title>Updates on what Oslo is and Quadrant not is (September 2009)</title>
		<link>http://startbigthinksmall.wordpress.com/2009/08/19/updates-on-what-oslo-is-and-quadrant-not-is-september-2009/</link>
		<comments>http://startbigthinksmall.wordpress.com/2009/08/19/updates-on-what-oslo-is-and-quadrant-not-is-september-2009/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 07:12:11 +0000</pubDate>
		<dc:creator>Lars Corneliussen</dc:creator>
				<category><![CDATA[mdsd]]></category>
		<category><![CDATA[oslo]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[M]]></category>
		<category><![CDATA[mdsd+.net]]></category>
		<category><![CDATA[MGrammar]]></category>
		<category><![CDATA[MGraph]]></category>
		<category><![CDATA[MSchema]]></category>
		<category><![CDATA[Oslo Repository]]></category>
		<category><![CDATA[Quadrant]]></category>

		<guid isPermaLink="false">http://startbigthinksmall.wordpress.com/?p=358</guid>
		<description><![CDATA[It has been more quiet around “Oslo” the last month. Maybe just about everybody is on vacations. Or people feel that everything will change with the PDC in November and are afraid of publishing nonsense. 
Nonetheless, I felt it’s time for an update on what I think, heard and read about “Oslo”.
I divided my post [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=startbigthinksmall.wordpress.com&blog=3405597&post=358&subd=startbigthinksmall&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>It has been more quiet around “Oslo” the last month. Maybe just about everybody is on vacations. Or people feel that everything will change with the PDC in November and are afraid of publishing nonsense. </p>
<p>Nonetheless, I felt it’s time for an update on what I think, heard and read about “Oslo”.</p>
<p>I divided my post in two sections:</p>
<ul>
<li>Information about “Oslo” </li>
<li>What I think about “Oslo” today </li>
</ul>
<p>have fun!</p>
<h2><a name="info">Some Information about “Oslo”</a></h2>
<p>For those who don’t know, “Oslo” is the current codename for Microsoft&#8217;s forthcoming modeling platform, which is available as CTP Download since back in October 2008.</p>
<p>If you want to read more about what Oslo is about, I recommend those Resources:</p>
<ul>
<li><a href="http://www.douglaspurdy.com/2008/09/06/what-is-oslo/">What is Oslo? at Douglas Purdy</a> </li>
<li><a href="http://startbigthinksmall.wordpress.com/2008/11/07/post-pdc-again-what-is-oslo-m-mgrammar-quadrant-repository-textual-dsls-dsl-tools-uml-modeling-november-2008/">What &quot;Oslo&quot; is and is not (November 2008) « .Net Braindrops</a> </li>
<li><a href="http://msdn.microsoft.com/en-us/oslo/default.aspx">&quot;Oslo&quot; Developer Center</a> </li>
<li><a href="http://www.eweek.com/c/a/Windows/The-Origins-of-Microsofts-Oslo-Software-Modeling-Platform/">The Origins of Microsoft&#8217;s Oslo Software Modeling Platform</a> </li>
</ul>
<p>Well, since then Microsoft has released two more CTP releases (<a href="http://www.sellsbrothers.com/news/showTopic.aspx?ixTopic=2245">January</a> and <a href="http://startbigthinksmall.wordpress.com/2009/05/27/microsoft-oslo-may-ctp-available-including-quadrant/">May</a>), written a lot of <a href="http://msdn.microsoft.com/en-us/library/dd857488%28VS.85%29.aspx">documentation</a> and posted quite some <a href="http://msdn.microsoft.com/en-us/oslo/videos.aspx">videos</a> and <a href="http://msdn.microsoft.com/en-us/oslo/cc748654.aspx">samples</a>. If you ask me, it’s yet too much for such a young and undone technology. Oslo’s modeling language “M” has and <a href="http://msdn.microsoft.com/en-us/library/dd285282.aspx">The &quot;Oslo&quot; Modeling Language Specification</a>, which yet has been implemented in JavaScript by <a href="http://diakopter.blogspot.com/">Mathew Wilson</a> (<a href="http://code.google.com/p/jsmeta/">jsmeta</a>).</p>
<p>The <a href="http://msdn.microsoft.com/en-us/oslo/default.aspx">community</a> did also <a href="http://startbigthinksmall.wordpress.com/2008/11/19/oslo-blog-roll/">care a lot</a>, and there are even companies investing in tools around “Oslo”. Telrik published two projects on their Labs Site. A tool for <a href="http://www.telerik.com/community/labs/telerik-oslo-comparison-and-migration-tool.aspx">comparing and migrating M</a> as well as <a href="http://www.telerik.com/community/labs/telerik-linq-to-m.aspx">LINQ to M</a>. There are even trainings offered by <a href="https://agilitrain.com/Workshop/Info/Model_Driven_Development_with_Oslo">Agilitrain</a> and <a href="http://www.pluralsight.com/main/ilt/Course.aspx?id=AP31">PluralSight</a>.</p>
<p>Some recommended links:</p>
<ul>
<li><a href="http://dvanderboom.wordpress.com/2009/01/17/why-oslo-is-important/">Why Oslo is Important « Critical Development</a> </li>
<li><a href="http://blog.jclark.com/2008/11/some-thoughts-on-oslo-modeling-language.html">James Clark&#8217;s Random Thoughts: Some thoughts on the Oslo Modeling Language</a> </li>
<li><a href="http://martinfowler.com/bliki/Oslo.html">MF Bliki: Oslo</a> </li>
<li><a href="http://ayende.com/Blog/archive/2009/03/23/m-is-to-dsl-as-drag-amp-drop-is-to.aspx">M is to DSL as Drag &amp; Drop is to programming</a>&#160; <br />(Read the comments here, too!) </li>
<li><a href="http://codebetter.com/blogs/jeremy.miller/archive/2008/11/07/time-to-slow-down-the-oslo-hype.aspx">Time to slow down the Oslo hype &#8211; Jeremy D. Miller</a>&#160; <br />+ follow up: <a href="http://tinyfinger.blogspot.com/2008/11/oslo-is-that-all-it-is.html">Pinky&#8217;s: Oslo &#8211; is that all it is?</a> </li>
</ul>
<h2>What I think about Oslo today    <br />(May CTP + Announcements)</h2>
<p>First of all I want to say, that I’m happy Microsoft released Oslo in such an early state. I think they know the pros and cons of such an open process. The community can help with forming the product, and companies can start to invest early in what they think might be valuable for the future. But It also means more friction for any changes that are made.</p>
<p>I have used M for defining schemas and languages and also played around with the Repository and Quadrant. As Microsoft also states, it’s early Alpha. I stumbled over many bugs which I still plan to report and blog about. But that is OK, no one ever said it was production ready.</p>
<h3>“M”</h3>
<p>So far I like the <strong>schema</strong> part of M, also called MSchema. It has a very concise (compared to XSD) c-style syntax and covers a lot of what I want to express when modeling information structures. The M-<strong>graph</strong> (for values) syntax is also OK, while I don’t like the <a href="http://startbigthinksmall.wordpress.com/2008/11/12/open-letter-to-douglas-purdy-eclipse-oslo-and-how-to-invent-the-future-together/">MGraph API</a>. M-<strong>constraints</strong> let you restrict your types in a nice way. What I don’t like here, is the missing support for weak constraints. Named M-<strong>queries</strong> (similar to LINQ syntax), are a nice way to query M structures. </p>
<p>M-<strong>grammar</strong> is useful for DSLs. I think it could be more opinionated. I feel MS is striving for an expressiveness that let you describe all computer languages in the world using MGrammar. This makes it more complex than necessary for covering DSLs. At the same time it doesn’t support nesting of languages, which would be especially useful for DSLs, because you often need to talk to external models (e.g. pinvoke). The support for editor customizing (crucial language workbench feature) as it is today is not sufficient and too hard to configure.</p>
<p>Another feature I miss here is referencing between nodes and even across files (linking + scoping). For now all references are just values (ids), and the output of a DSL program will be a tree model, no graphs!</p>
<h3>The Repository</h3>
<p>The Repository basically offers some features on-top of SQL server as are row-level security, hierarchies, localization, versioning, additional constraints. All those features are plain SQL “libraries” in conjunction with M-models which also are compiled down to SQL. I don’t yet know what to think about the Repository. </p>
<h3>Naming / Packaging</h3>
<p>In the last couple of weeks the Oslo team published two posts that confirmed some of my speculations.</p>
<p>Let’s start with Doug’s Post: <a href="http://www.douglaspurdy.com/2009/08/17/on-oslo/">On “Oslo” at Douglas Purdy</a></p>
<p>In this post he basically makes two statements:</p>
<blockquote><p>The only thing that I feel bad about is that we kept the “Oslo” name around so long (you will see that change at the next PDC), which has continued to be a confusing point for customers (“I thought Oslo was your new SOA platform”).</p>
<p><strong>Douglas Purdy</strong></p>
</blockquote>
<p>I agree. It was confusing. Although people slowly start to accept “Oslo” as for “Modeling”.</p>
<h3>Oslo and EF / Data Programmability</h3>
<blockquote><p>With this in mind, we made a decision to merge the Data Programmability team (EDM, EF, Astoria, XML, ADO.NET, and tools/designers) and the “Oslo” team (“Quadrant”, Repository, “M”) together.</p>
<p><font color="#333333"><strong>Douglas Purdy</strong></font></p>
</blockquote>
<p>I don’t yet know what to think about this. “Oslo” is not and should not evolve to an O/R-Mapper. M’s type system is structural and doesn’t map well to strongly typed objects as used by EF. I can see this choice limiting the modeling capabilities of Oslo. But I guess we have to wait and see.</p>
<h3>Quadrant. A graphical Editor?</h3>
<p>The other post, confirming my fears about Quadrant was <a href="http://blogs.msdn.com/modelcitizen/archive/2009/07/31/what-s-so-compelling-about-quadrant-anyway.aspx">Model Citizen : What&#8217;s So Compelling about &quot;Quadrant&quot; Anyway?</a>.</p>
<p>Back in November last year, when I wrote a sum-up post about “Oslo” I concluded Quadrant:</p>
<blockquote><p>Yes. Quadrant lets you interact with models graphically. It’s highly generic, customizable and it looks great.</p>
<p>Lars Corneliussen, November 2008, <a href="http://startbigthinksmall.wordpress.com/2008/11/07/post-pdc-again-what-is-oslo-m-mgrammar-quadrant-repository-textual-dsls-dsl-tools-uml-modeling-november-2008/">What &quot;Oslo&quot; is and is not</a></p>
</blockquote>
<p>I concluded this from the official statement about Oslo plus some videos and screenshots I had seen.</p>
<blockquote><p>A tool that helps people define and interact with models in a rich and visual manner</p>
<p>Doulas Purdy, September 2008, <a href="http://www.douglaspurdy.com/2008/09/06/what-is-oslo/">What is Oslo?</a></p>
</blockquote>
<p><strong>But here is the smackdown:</strong></p>
<blockquote><p>Microsoft code name &quot;Quadrant&quot; is a ‘tool for viewing and editing SQL data,&#8217; but&#8230; so what? </p>
<p>Michael Murray, July 2009, <a href="http://blogs.msdn.com/modelcitizen/archive/2009/07/31/what-s-so-compelling-about-quadrant-anyway.aspx">What&#8217;s So Compelling about &quot;Quadrant&quot; Anyway?</a></p>
</blockquote>
<p>As I understand today, and as it shows up in the May CTP, <strong>it is not a graphical editor or graphical editing toolkit</strong> but rather a light WPF-version of Microsoft Office Access that understands Oslo Modeling concepts and relationships and builds up default editors in a generic manner. This is still useful (if it is free), but not far as useful as what I hoped Quadrant to be.</p>
<p>Please, Microsoft, make Quadrant a graphical editing toolkit with good support for configurable diagramming and any custom WPF editors. It should also have the plug-in model VS2010 offers for sharing any extensions.</p>
<h3>The “Oslo” Story</h3>
<p>Microsoft tries to sell “Oslo” as if it was all one story. It’s a lie. </p>
<p>There is tons of impedance mismatches that restrict you in many ways. </p>
<p><strong>Modeling Structure</strong></p>
<ul>
<li>M in general uses structural typing (duck typing, supports mix-ins) and supports real graphs (including references)</li>
<li>MGrammar ASTs are hierarchal (tree structure) and for now only supporting nodes and strings. </li>
<li>Databases store flat relational data, </li>
<li>and objects in the .NET world are typed nominally (no multiple inheritance). </li>
</ul>
<p><strong>DSLs + Repository</strong></p>
<p>There is no story for “DSLs and the repository”, and there is not yet a good story for any runtime support off the repository or DSL files. It’s basically what you had before. You can either access the database via ADO.NET or an O/R-Mapper or you run directly off the parsed MGraph-AST representing your DSL-Script, which feels like visiting xml documents. M has a nice LINQ-ish query language, but that doesn’t work in memory against a graph.</p>
<p><strong>Querying</strong></p>
<p>M has good support for complex data structures. As said there is no support for in-memory queries. But even the database implementation is limited by it’s relational backend. Even though queries can consult complex properties for sorting or filtering, it can only return rows with a list of scalar fields.</p>
<p><strong>Constraints</strong></p>
<p>Most constraints on types are only implemented in the SQL-Mapping. Also here there is no in-memory implementation that would validate your model against a schema. Basically the M-compiler generates a database schema including checks that would not let you insert invalid data into the database.</p>
<p><strong>Data and schema evolution</strong></p>
<p>There is this dream about capturing requirements in quite fuzzy ways and then piece for piece add details to them – until they have reached some formal state that might be executable. This sounds nice in theory, but there is no chance to implement this stuff. M is very easy to change, and it is easy to add constraints and refactor schema structures. But there is no story around how to let your data evolve together with your schemas using the Repository. So, besides nice theories, Oslo doesn’t help here.</p>
<h2>More to come</h2>
<p>There will be new content and Chris Sells also <a href="http://twitter.com/CSells/statuses/3197431741">announced</a> a fresh CTP around this years <a href="http://www.microsoftpdc.com">PDC</a> in November.</p>
<p>So far, only one session has been scheduled, but watch this list for more sessions to come: <a href="http://microsoftpdc.com/Sessions/Tags/Modeling">Microsoft PDC09 &#8211; Modeling Sessions</a></p>
<p>Hope to see you in LA in November!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/startbigthinksmall.wordpress.com/358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/startbigthinksmall.wordpress.com/358/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/startbigthinksmall.wordpress.com/358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/startbigthinksmall.wordpress.com/358/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/startbigthinksmall.wordpress.com/358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/startbigthinksmall.wordpress.com/358/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/startbigthinksmall.wordpress.com/358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/startbigthinksmall.wordpress.com/358/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/startbigthinksmall.wordpress.com/358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/startbigthinksmall.wordpress.com/358/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=startbigthinksmall.wordpress.com&blog=3405597&post=358&subd=startbigthinksmall&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://startbigthinksmall.wordpress.com/2009/08/19/updates-on-what-oslo-is-and-quadrant-not-is-september-2009/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d4c4e1781dd63e3b41bd5309878d7d06?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">larscorneliussen</media:title>
		</media:content>
	</item>
		<item>
		<title>dotnetpro 08/2009 &#8211; Nordische Grammatik: Dom&#228;nenspezifische Sprachen mit Microsoft Oslo M</title>
		<link>http://startbigthinksmall.wordpress.com/2009/07/28/dotnetpro-082009-nordische-grammatik-domnenspezifische-sprachen-mit-microsoft-oslo-m/</link>
		<comments>http://startbigthinksmall.wordpress.com/2009/07/28/dotnetpro-082009-nordische-grammatik-domnenspezifische-sprachen-mit-microsoft-oslo-m/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 07:22:14 +0000</pubDate>
		<dc:creator>Lars Corneliussen</dc:creator>
				<category><![CDATA[Publikationen]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[oslo]]></category>
		<category><![CDATA[domain-specific-language]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[dotnetpro]]></category>
		<category><![CDATA[DSL]]></category>
		<category><![CDATA[MGrammar]]></category>
		<category><![CDATA[MGraph]]></category>
		<category><![CDATA[weblayout]]></category>
		<category><![CDATA[yaml]]></category>

		<guid isPermaLink="false">http://startbigthinksmall.wordpress.com/2009/07/28/dotnetpro-082009-nordische-grammatik-domnenspezifische-sprachen-mit-microsoft-oslo-m/</guid>
		<description><![CDATA[Abstract des Artikels: Mehrspaltige Layouts für Webseiten sind komplex und stellen hohe Ansprüche an den Webprogrammierer. Warum nicht eine Sprache entwickeln, die solche Layouts vereinfacht? Mit Oslo M und dem ASP.NET MVC Framework lässt sich so eine Sprache realisieren.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=startbigthinksmall.wordpress.com&blog=3405597&post=355&subd=startbigthinksmall&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Soeben ist der dritte Artikel der DSL-Serie von <a href="http://voelter.de">Markus</a> und mir bei der <a href="http://www.dotnetpro.de">dotnetpro</a> erschienen.</p>
<p><a href="http://startbigthinksmall.files.wordpress.com/2009/07/bild11.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="Bild 11" border="0" alt="Bild 11" src="http://startbigthinksmall.files.wordpress.com/2009/07/bild11_thumb.png?w=555&#038;h=97" width="555" height="97" /></a> </p>
<p><strong>Abstract:</strong> Mehrspaltige Layouts für Webseiten sind komplex und stellen hohe Ansprüche an den Webprogrammierer. Warum nicht eine Sprache entwickeln, die solche Layouts vereinfacht? Mit Oslo M und dem ASP.NET MVC Framework lässt sich so eine Sprache realisieren. </p>
<h2>Inhalt</h2>
<p>Hauptsächlich dreht sich der Artikel um <a href="http://msdn.microsoft.com/en-us/library/dd857654%28VS.85%29.aspx">MGrammar</a>, den Teil der Sprache Microsoft M (Teil von <a href="http://msdn.microsoft.com/en-us/oslo/default.aspx">Microsoft Oslo</a>) mit dem andere Sprachen definiert werden können. Zuerst wird die MGrammar (Arbeitstitel) anhand einer simplen “Hello, World”-Sprache erklärt.</p>
<p>Danach erstellen wir eine DSL zur Beschreibung mehrspaltiger Layouts und bringen diese mittels <a href="http://www.asp.net/mvc/">ASP.NET MVC</a> und <a href="http://www.yaml.de">YAML</a> ans laufen.</p>
<p>Das Beispiel im Artikel basiert auf der Oslo January CTP, der Quelltext für das Oslo May CTP kann aber bei mir angefragt werden.</p>
<h2>Beispiel</h2>
<p>Typisches dreispaltiges Portal-Layout.</p>
<p><a href="http://startbigthinksmall.files.wordpress.com/2009/07/konkreteslayoutdreispalter.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="Konkretes Layout - dreispalter" border="0" alt="Konkretes Layout - dreispalter" src="http://startbigthinksmall.files.wordpress.com/2009/07/konkreteslayoutdreispalter_thumb.png?w=418&#038;h=474" width="418" height="474" /></a> </p>
<p>* Die Berechnung der Restbreite stimmt hier nicht. Richtig wäre:</p>
<p><em>Rest = (75%* Gesamtbreite) –400px</em></p>
<p>Dies mag aber von CSS-Framework zu CSS-Framework variieren.</p>
<h2>DSL zur Beschreibung</h2>
<p>Die Syntaxhervorhebung ergibt sich aus der Grammatik und ein wenig Konfiguration.</p>
<p><a href="http://startbigthinksmall.files.wordpress.com/2009/07/intellipadsyntaxhervorhebung.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="intellipad - Syntaxhervorhebung" border="0" alt="intellipad - Syntaxhervorhebung" src="http://startbigthinksmall.files.wordpress.com/2009/07/intellipadsyntaxhervorhebung_thumb.png?w=233&#038;h=195" width="233" height="195" /></a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/startbigthinksmall.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/startbigthinksmall.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/startbigthinksmall.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/startbigthinksmall.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/startbigthinksmall.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/startbigthinksmall.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/startbigthinksmall.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/startbigthinksmall.wordpress.com/355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/startbigthinksmall.wordpress.com/355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/startbigthinksmall.wordpress.com/355/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=startbigthinksmall.wordpress.com&blog=3405597&post=355&subd=startbigthinksmall&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://startbigthinksmall.wordpress.com/2009/07/28/dotnetpro-082009-nordische-grammatik-domnenspezifische-sprachen-mit-microsoft-oslo-m/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d4c4e1781dd63e3b41bd5309878d7d06?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">larscorneliussen</media:title>
		</media:content>

		<media:content url="http://startbigthinksmall.files.wordpress.com/2009/07/bild11_thumb.png" medium="image">
			<media:title type="html">Bild 11</media:title>
		</media:content>

		<media:content url="http://startbigthinksmall.files.wordpress.com/2009/07/konkreteslayoutdreispalter_thumb.png" medium="image">
			<media:title type="html">Konkretes Layout - dreispalter</media:title>
		</media:content>

		<media:content url="http://startbigthinksmall.files.wordpress.com/2009/07/intellipadsyntaxhervorhebung_thumb.png" medium="image">
			<media:title type="html">intellipad - Syntaxhervorhebung</media:title>
		</media:content>
	</item>
		<item>
		<title>Microsoft &#8220;Oslo&#8221; May CTP available (Including Quadrant)</title>
		<link>http://startbigthinksmall.wordpress.com/2009/05/27/microsoft-oslo-may-ctp-available-including-quadrant/</link>
		<comments>http://startbigthinksmall.wordpress.com/2009/05/27/microsoft-oslo-may-ctp-available-including-quadrant/#comments</comments>
		<pubDate>Wed, 27 May 2009 15:00:23 +0000</pubDate>
		<dc:creator>Lars Corneliussen</dc:creator>
				<category><![CDATA[mdsd]]></category>
		<category><![CDATA[oslo]]></category>
		<category><![CDATA[intellipad]]></category>
		<category><![CDATA[M]]></category>
		<category><![CDATA[mdsd+.net]]></category>
		<category><![CDATA[MGrammar]]></category>
		<category><![CDATA[Microsoft "M"]]></category>
		<category><![CDATA[Microsoft Oslo]]></category>
		<category><![CDATA[msoslo]]></category>

		<guid isPermaLink="false">http://startbigthinksmall.wordpress.com/2009/05/27/microsoft-oslo-may-ctp-available-including-quadrant/</guid>
		<description><![CDATA[The &#34;Oslo” team has released the third CTP of Microsoft’s forthcoming modeling platform. 
Some of the&#160; changes are:

Quadrant is included (Q&#38;A) 
MGrammar and M are partially merged. One tool, one specification, but still *.mg and *.m files. The goal is, to have one language one day. Awaiting more information here. 
Some rather minor language changes [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=startbigthinksmall.wordpress.com&blog=3405597&post=327&subd=startbigthinksmall&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The <a href="http://msdn.microsoft.com/en-us/oslo/default.aspx">&quot;Oslo”</a> team has released the third <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=827122a5-3ca0-4389-a79e-87af37cbf60d&amp;displaylang=en">CTP</a> of <a href="http://www.microsoft.com">Microsoft’s</a> forthcoming modeling platform. </p>
<p><strong>Some of the&#160; changes are:</strong></p>
<ul>
<li><a href="http://msdn.microsoft.com/da-dk/library/dd857491(en-us,VS.85).aspx">Quadrant</a> is included (<a href="http://msdn.microsoft.com/da-dk/library/dd578306(en-us).aspx">Q&amp;A</a>) </li>
<li>MGrammar and M are partially merged. One <a href="http://msdn.microsoft.com/en-us/library/dd129517(VS.85).aspx">tool</a>, <a href="http://msdn.microsoft.com/en-us/library/dd285282.aspx">one specification</a>, but still *.mg and *.m files. The goal is, to have <strong>one</strong> language one day. Awaiting more information here. </li>
<li>Some rather minor <a href="http://wildermuth.com/2009/05/22/M_Language_Changes_Coming_in_Next_CTP">language changes</a> </li>
<li><a href="http://msdn.microsoft.com/da-dk/library/dd857485(en-us,VS.85).aspx">Meta models for UML2</a>, no quadrant customization yet + other <a href="http://msdn.microsoft.com/en-us/library/dd129494(VS.85).aspx">&quot;Oslo&quot;-Provided Domains</a> </li>
<li><strong>Tons of improvements in </strong><a href="http://msdn.microsoft.com/en-us/library/dd861709(VS.85).aspx"><strong>Intellipad</strong></a> including a new “DSL Grammar Mode” with much easier handling of grammars, input and output.       <br /><strong>And intellipad got much faster.</strong> </li>
<li>Lots of new contents on <a href="http://msdn.microsoft.com/en-us/library/cc709420.aspx">MSDN</a> and the <a href="http://msdn.microsoft.com/en-us/oslo/default.aspx">“Oslo” Dev Center</a>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/oslo/learn.aspx">&quot;Oslo” Learning Center</a> </li>
<li><a href="http://msdn.microsoft.com/da-dk/library/dd129514(en-us).aspx">&quot;Oslo&quot; and Model-Driven Applications</a> </li>
<li><a href="http://msdn.microsoft.com/da-dk/library/dd857488(en-us,VS.85).aspx">Getting Started with &quot;Oslo&quot; Tutorial</a> </li>
<li>Documentation on <a href="http://msdn.microsoft.com/da-dk/library/dd129586(en-us,VS.85).aspx">&quot;Oslo&quot; Repository</a> </li>
</ul>
</li>
</ul>
<p>For more detailed information check out the <a href="http://blogs.msdn.com/modelcitizen/archive/2009/05/27/about-the-oslo-may-2009-ctp.aspx">team announcement</a> and the <a href="http://msdn.microsoft.com/en-us/oslo/releasenotes.aspx">release notes</a>.</p>
<h2>New Installer</h2>
<p><img style="display:block;float:none;margin-left:auto;margin-right:auto;border-width:0;" title="oslo setup" border="0" alt="oslo setup" src="http://startbigthinksmall.files.wordpress.com/2009/05/oslosetup_thumb.png?w=484&#038;h=358" width="484" height="358" /></p>
<h2>Empty Quadrant Workspace</h2>
<p><a href="http://startbigthinksmall.files.wordpress.com/2009/05/emptyquadrant.png"><img style="display:block;float:none;margin-left:auto;margin-right:auto;border-width:0;" title="empty quadrant" border="0" alt="empty quadrant" src="http://startbigthinksmall.files.wordpress.com/2009/05/emptyquadrant_thumb.png?w=484&#038;h=637" width="484" height="637" /></a></p>
<h2>Intellipad Splitting</h2>
<p><a href="http://startbigthinksmall.files.wordpress.com/2009/05/intellipadmultisplit.png"><img style="display:block;float:none;margin-left:auto;margin-right:auto;border-width:0;" title="intellipad-multisplit" border="0" alt="intellipad-multisplit" src="http://startbigthinksmall.files.wordpress.com/2009/05/intellipadmultisplit_thumb.png?w=484&#038;h=465" width="484" height="465" /></a> And yes, I’ll be blogging about my web-layout DSL <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
</p>
<p><a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fstartbigthinksmall.wordpress.com%2f2009%2f05%2f27%2fmicrosoft-oslo-may-ctp-available-including-quadrant%2f"><img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fstartbigthinksmall.wordpress.com%2f2009%2f05%2f27%2fmicrosoft-oslo-may-ctp-available-including-quadrant%2f" /></a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/startbigthinksmall.wordpress.com/327/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/startbigthinksmall.wordpress.com/327/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/startbigthinksmall.wordpress.com/327/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/startbigthinksmall.wordpress.com/327/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/startbigthinksmall.wordpress.com/327/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/startbigthinksmall.wordpress.com/327/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/startbigthinksmall.wordpress.com/327/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/startbigthinksmall.wordpress.com/327/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/startbigthinksmall.wordpress.com/327/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/startbigthinksmall.wordpress.com/327/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=startbigthinksmall.wordpress.com&blog=3405597&post=327&subd=startbigthinksmall&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://startbigthinksmall.wordpress.com/2009/05/27/microsoft-oslo-may-ctp-available-including-quadrant/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d4c4e1781dd63e3b41bd5309878d7d06?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">larscorneliussen</media:title>
		</media:content>

		<media:content url="http://startbigthinksmall.files.wordpress.com/2009/05/oslosetup_thumb.png" medium="image">
			<media:title type="html">oslo setup</media:title>
		</media:content>

		<media:content url="http://startbigthinksmall.files.wordpress.com/2009/05/emptyquadrant_thumb.png" medium="image">
			<media:title type="html">empty quadrant</media:title>
		</media:content>

		<media:content url="http://startbigthinksmall.files.wordpress.com/2009/05/intellipadmultisplit_thumb.png" medium="image">
			<media:title type="html">intellipad-multisplit</media:title>
		</media:content>

		<media:content url="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fstartbigthinksmall.wordpress.com%2f2009%2f05%2f27%2fmicrosoft-oslo-may-ctp-available-including-quadrant%2f" medium="image">
			<media:title type="html">kick it on DotNetKicks.com</media:title>
		</media:content>
	</item>
		<item>
		<title>Scott Hanselman about Oslo</title>
		<link>http://startbigthinksmall.wordpress.com/2009/03/13/scott-hanselman-about-oslo/</link>
		<comments>http://startbigthinksmall.wordpress.com/2009/03/13/scott-hanselman-about-oslo/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 10:38:28 +0000</pubDate>
		<dc:creator>Lars Corneliussen</dc:creator>
				<category><![CDATA[oslo]]></category>
		<category><![CDATA[M]]></category>
		<category><![CDATA[MGrammar]]></category>
		<category><![CDATA[REST]]></category>

		<guid isPermaLink="false">http://startbigthinksmall.wordpress.com/2009/03/13/scott-hanselman-about-oslo/</guid>
		<description><![CDATA[Doug and Chris will talk about Developing RESTful Services and Clients with &#34;M&#34; at MIX . Scott had a chance to see a preview and posted about it:
Mix: Getting my head around Oslo, M and MGrammar
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=startbigthinksmall.wordpress.com&blog=3405597&post=293&subd=startbigthinksmall&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.douglaspurdy.com/">Doug</a> and <a href="http://www.sellsbrothers.com/">Chris</a> will talk about <a href="https://content.visitmix.com/2009/speakers/default.aspx?speaker=Douglas+Purdy">Developing RESTful Services and Clients with &quot;M&quot;</a> at <a href="https://content.visitmix.com/2009/speakers/default.aspx?speaker=Douglas+Purdy">MIX</a> . Scott had a chance to see a preview and posted about it:</p>
<p><a href="http://www.hanselman.com/blog/MixGettingMyHeadAroundOsloMAndMGrammar.aspx">Mix: Getting my head around Oslo, M and MGrammar</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/startbigthinksmall.wordpress.com/293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/startbigthinksmall.wordpress.com/293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/startbigthinksmall.wordpress.com/293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/startbigthinksmall.wordpress.com/293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/startbigthinksmall.wordpress.com/293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/startbigthinksmall.wordpress.com/293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/startbigthinksmall.wordpress.com/293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/startbigthinksmall.wordpress.com/293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/startbigthinksmall.wordpress.com/293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/startbigthinksmall.wordpress.com/293/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=startbigthinksmall.wordpress.com&blog=3405597&post=293&subd=startbigthinksmall&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://startbigthinksmall.wordpress.com/2009/03/13/scott-hanselman-about-oslo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d4c4e1781dd63e3b41bd5309878d7d06?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">larscorneliussen</media:title>
		</media:content>
	</item>
		<item>
		<title>Fowler&#8217;s DSL example with MGrammar (Draft!)</title>
		<link>http://startbigthinksmall.wordpress.com/2008/11/26/fowlers-dsl-example-with-mgrammar-draft/</link>
		<comments>http://startbigthinksmall.wordpress.com/2008/11/26/fowlers-dsl-example-with-mgrammar-draft/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 18:16:20 +0000</pubDate>
		<dc:creator>Lars Corneliussen</dc:creator>
				<category><![CDATA[mdsd]]></category>
		<category><![CDATA[oslo]]></category>
		<category><![CDATA[DSL]]></category>
		<category><![CDATA[M]]></category>
		<category><![CDATA[mdsd+.net]]></category>
		<category><![CDATA[MGrammar]]></category>
		<category><![CDATA[MGraph]]></category>
		<category><![CDATA[MSchema]]></category>
		<category><![CDATA[statemachine]]></category>

		<guid isPermaLink="false">http://startbigthinksmall.wordpress.com/2008/11/26/fowlers-dsl-example-with-mgrammar-draft/</guid>
		<description><![CDATA[I drafted Fowlers state-machine example with MGrammar. While doing so I found a few things I would like to see optimized or find better solutions for.

New line handling. I would like to express one required new line, when it is required, but then ignore all the others. Forum discussion.I could make new lines part of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=startbigthinksmall.wordpress.com&blog=3405597&post=215&subd=startbigthinksmall&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I drafted <a href="http://martinfowler.com/dslwip/Intro.html#TheStateMachineFramework" target="_blank">Fowlers state-machine example</a> with MGrammar. While doing so I found a few things I would like to see optimized or find better solutions for.</p>
<ul>
<li>New line handling. I would like to express one required new line, when it is required, but then ignore all the others. <a href="http://social.msdn.microsoft.com/Forums/en-US/oslo/thread/b48e7dff-e671-48d4-bdea-b182df569dc6/" target="_blank">Forum discussion.</a><br />I could make new lines part of some tokens and then just interleave other tokens. But I don&#8217;t think this would be a nice solution. Any ideas?</li>
<li>The blocks <em>events</em>, <em>resetEvents</em>, <em>commands</em> and <em>state</em>+ have to be written in order. It is possible to describe a grammar where unordered blocks would be allowed, but it&#8217;s not trivial.<br />Ordered and unordered &#8220;Lists&#8221; of syntaxes, separated somehow should IMHO be supported directly: <a href="http://social.msdn.microsoft.com/Forums/en-US/oslo/thread/3d5cb0ce-ac57-47e0-a17c-55e977f2b56b" target="_blank">forum discussion</a>.</li>
<li>I wrote the Grammar using <a href="http://blogs.msdn.com/intellipad/" target="_blank">Intellipad</a> and the three-pane input/grammar/AST view. It&#8217;s great! But I&#8217;d like to define the <a href="http://martinfowler.com/dslwip/SemanticModel.html" target="_blank">Semantic Model</a> (using MSchema) along with the grammar and directly validate my AST against it: <a href="http://social.msdn.microsoft.com/Forums/en-US/oslo/thread/420722da-4a94-4a51-9fbb-bd7bdae9e075" target="_blank">forum discussion</a>.</li>
<li>References are not directly supported by MGrammar/MSchema. Forum discussion.</li>
<li><a href="http://wiki.eclipse.org/Xtext" target="_blank">Xtext</a>, which is quite comparable to MGrammar has a much more compact syntax. But I haven&#8217;t done a more deep comparison yet.<br /><a href="http://blog.efftinge.de/2008/06/fowlers-dsl-example-with-xtext.html">Sven Efftinge&#8217;s Blog: Fowler&#8217;s DSL example with Xtext</a></li>
</ul>
<p>Still missing:</p>
<ul>
<li>A schema that represents the structure of the AST and validates it using constraints.</li>
<li>An adapter to <a href="http://www.codeplex.com/SimpleStateMachine">Simple State Machine on CodePlex</a> or a generating a state machine framework using <a href="http://blog.devarchive.net/2008/11/generating-code-using-ms-codename-t4.html" target="_blank">T4</a>.</li>
</ul>
<p>Would love your feedback&#8230;</p>
<h2>Grammar definition</h2>
<p>
<div class="wlWriterSmartContent" id="scid:4CF65DF0-5960-450c-B43D-AE27EAE72175:e6e9ff48-9232-4b39-ba4b-62250e5f04ea" style="display:inline;float:none;margin:0;padding:0;">
<pre>
<pre class="brush: csharp;">
module MGrammar.Net.Sample {

  // This is my first try, to parse the state machine
  // dsl syntax proposed by Martin Fowler
  language Statemachine
  {
    interleave Ignore = &quot; &quot;;

    syntax Main =
        NewLines? e:Block(Events, NameAndCode)
        NewLines+ r:Block(ResetEvents, Name)
        NewLines+ c:Block(Commands, NameAndCode)
        NewLines+ s:List(StateBlock)
        NewLines?
        =&gt; Statemachine
        {
          Events { valuesof(e) },
          ResetEvents { valuesof(r) },
          Commands { valuesof(c) },
          valuesof(s)
        };

    // list of syntax &quot;Item&quot; separated by one or more
    // new lines
    syntax List(Item) = n:Item =&gt; {n}
        | list:List(Item) NewLines+ n:Item
            =&gt; {valuesof(list), n};

    // lists of tokens separated by whitespaces
    syntax TokenList(Item) = n:Item =&gt; {n}
        | list:List(Item) n:Item
            =&gt; {valuesof(list), n};

    // a block consisting of a keyword, new-line-
    // separated &quot;Item&quot;s and end
    syntax Block(Keyword, Item) = Keyword
            NewLines items:List(Item)
            NewLines End =&gt; {valuesof(items)};

    // a word projected as a name
    // grouped into a separate successor
    // for extensibility reasons
    syntax Name = n:Word
        =&gt; { Name {n} };

    // a word plus a code, separated by spaces
    syntax NameAndCode = n:Word c:Word
        =&gt; {Name {n}, Code{c}};

    // special block and subsyntaxes for states
    syntax StateBlock = State n:Word
            actions:(NewLines a:Actions =&gt; a)?
            NewLines+ items:List(Transition)
            NewLines+ End
            =&gt; State
            {
                Name { n },
                actions,
                Transitions { valuesof(items) }
            };

    syntax Transition = e:Word &quot;=&gt;&quot; s:Word
        =&gt; { Event {e}, ToState{s} };

    syntax Actions = tActions &quot;{&quot; l:TokenList(Word) &quot;}&quot;
        =&gt; Actions [ valuesof(l) ];

    // keyword specification for strong formatting
    @{Classification[&quot;Keyword&quot;]} final token Events = &quot;events&quot;;
    @{Classification[&quot;Keyword&quot;]} final token Commands = &quot;commands&quot;;
    @{Classification[&quot;Keyword&quot;]} final token ResetEvents = &quot;resetEvents&quot;;
    @{Classification[&quot;Keyword&quot;]} final token State = &quot;state&quot;;
    @{Classification[&quot;Keyword&quot;]} final token End = &quot;end&quot;;
    @{Classification[&quot;Keyword&quot;]} final token tActions = &quot;actions&quot;;

    // Some whitespace characters
    token NewLineCharacter
            = 'u000A'  // New Line
            | 'u000D'  // Carriage Return
            | 'u0085'  // Next Line
            | 'u2028'  // Line Separator
            | 'u2029'; // Paragraph Separator

    token NewLines = NewLineCharacter#2..;

    token Letter = 'a'..'z' | 'A'..'Z';
    token Digit = '0'..'9';
    token Word = (Letter (Letter | Digit)*);
  }
}
</pre>
</pre>
</div>
<h2>Input Text</h2>
<div class="wlWriterSmartContent" id="scid:4CF65DF0-5960-450c-B43D-AE27EAE72175:77f2d3ce-0e69-408f-bf48-bb37bbb92e83" style="display:inline;float:none;margin:0;padding:0;">
<pre>
<pre class="brush: css;">
events
  doorClosed  D1CL
  drawOpened  D2OP
  lightOn     L1ON
  doorOpened  D1OP
  panelClosed PNCL
end

resetEvents
  doorOpened
end

commands
  unlockPanel PNUL
  lockPanel   PNLK
  lockDoor    D1LK
  unlockDoor  D1UL
end

state idle
  actions {unlockDoor lockPanel}
  doorClosed =&gt; active
end

state active
  drawOpened =&gt; waitingForLight
  lightOn    =&gt; waitingForDraw
end

state waitingForLight
  lightOn =&gt; unlockedPanel
end

state waitingForDraw
  drawOpened =&gt; unlockedPanel
end

state unlockedPanel
  actions {unlockPanel lockDoor}
  panelClosed =&gt; idle
end
</pre>
</pre>
</div>
<h2>Output AST</h2>
<div class="wlWriterSmartContent" id="scid:4CF65DF0-5960-450c-B43D-AE27EAE72175:946b9dcc-83ab-4cb4-a081-a7eb8b2cc162" style="display:inline;float:none;margin:0;padding:0;">
<pre>
<pre class="brush: jscript;">
Statemachine{
  Events{
    {
      Name{&quot;doorClosed&quot;},
      Code{&quot;D1CL&quot;}
    },
    {
      Name{&quot;drawOpened&quot;},
      Code{&quot;D2OP&quot;}
    },
    {
      Name{&quot;lightOn&quot;},
      Code{&quot;L1ON&quot;}
    },
    {
      Name{&quot;doorOpened&quot;},
      Code{&quot;D1OP&quot;}
    },
    {
      Name{&quot;panelClosed&quot;},
      Code{&quot;PNCL&quot;}
    }
  },
  ResetEvents{
    {
      Name{&quot;doorOpened&quot;}
    }
  },
  Commands{
    {
      Name{&quot;unlockPanel&quot;},
      Code{&quot;PNUL&quot;}
    },
    {
      Name{&quot;lockPanel&quot;},
      Code{&quot;PNLK&quot;}
    },
    {
      Name{&quot;lockDoor&quot;},
      Code{&quot;D1LK&quot;}
    },
    {
      Name{&quot;unlockDoor&quot;},
      Code{&quot;D1UL&quot;}
    }
  },
  State{
    Name{&quot;idle&quot;},
    Actions[
      &quot;unlockDoor&quot;,
      &quot;lockPanel&quot;
    ],
    Transitions{
      {
        Event{&quot;doorClosed&quot;},
        ToState{&quot;active&quot;}
      }
    }
  },
  State{
    Name{&quot;active&quot;},
    Transitions{
      {
        Event{&quot;drawOpened&quot;},
        ToState{&quot;waitingForLight&quot;}
      },
      {
        Event{&quot;lightOn&quot;},
        ToState{&quot;waitingForDraw&quot;}
      }
    }
  },
  State{
    Name{&quot;waitingForLight&quot;},
    Transitions{
      {
        Event{&quot;lightOn&quot;},
        ToState{&quot;unlockedPanel&quot;}
      }
    }
  },
  State{
    Name{&quot;waitingForDraw&quot;},
    Transitions{
      {
        Event{&quot;drawOpened&quot;},
        ToState{&quot;unlockedPanel&quot;}
      }
    }
  },
  State{
    Name{&quot;unlockedPanel&quot;},
    Actions[
      &quot;unlockPanel&quot;,
      &quot;lockDoor&quot;
    ],
    Transitions{
      {
        Event{&quot;panelClosed&quot;},
        ToState{&quot;idle&quot;}
      }
    }
  }
}
</pre>
</pre>
</div>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/startbigthinksmall.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/startbigthinksmall.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/startbigthinksmall.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/startbigthinksmall.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/startbigthinksmall.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/startbigthinksmall.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/startbigthinksmall.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/startbigthinksmall.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/startbigthinksmall.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/startbigthinksmall.wordpress.com/215/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=startbigthinksmall.wordpress.com&blog=3405597&post=215&subd=startbigthinksmall&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://startbigthinksmall.wordpress.com/2008/11/26/fowlers-dsl-example-with-mgrammar-draft/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d4c4e1781dd63e3b41bd5309878d7d06?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">larscorneliussen</media:title>
		</media:content>
	</item>
		<item>
		<title>What &quot;Oslo&quot; is and is not (November 2008)</title>
		<link>http://startbigthinksmall.wordpress.com/2008/11/07/post-pdc-again-what-is-oslo-m-mgrammar-quadrant-repository-textual-dsls-dsl-tools-uml-modeling-november-2008/</link>
		<comments>http://startbigthinksmall.wordpress.com/2008/11/07/post-pdc-again-what-is-oslo-m-mgrammar-quadrant-repository-textual-dsls-dsl-tools-uml-modeling-november-2008/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 14:11:21 +0000</pubDate>
		<dc:creator>Lars Corneliussen</dc:creator>
				<category><![CDATA[dotnet]]></category>
		<category><![CDATA[mdsd]]></category>
		<category><![CDATA[oslo]]></category>
		<category><![CDATA[DSL]]></category>
		<category><![CDATA[mdsd+.net]]></category>
		<category><![CDATA[MGrammar]]></category>
		<category><![CDATA[MGraph]]></category>
		<category><![CDATA[Modeling]]></category>
		<category><![CDATA[MSchema]]></category>
		<category><![CDATA[Oslo Repository]]></category>
		<category><![CDATA[PDC08]]></category>
		<category><![CDATA[Quadrant]]></category>
		<category><![CDATA[Textual DSL]]></category>

		<guid isPermaLink="false">http://startbigthinksmall.wordpress.com/2008/11/07/post-pdc-again-what-is-oslo-m-mgrammar-quadrant-repository-textual-dsls-dsl-tools-uml-modeling-november-2008/</guid>
		<description><![CDATA[See also: Open Letter to Douglas Purdy: Eclipse, Oslo, and how to invent the future together
The PDC is over, and most contents including the Oslo SDK (without Quadrant) and all PDC Session Videos on channel9. Thanks! But where are we now? If you want a &#8220;brief&#8221; overview, you should at least have a look at [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=startbigthinksmall.wordpress.com&blog=3405597&post=180&subd=startbigthinksmall&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>See also: <a href="http://startbigthinksmall.wordpress.com/2008/11/12/open-letter-to-douglas-purdy-eclipse-oslo-and-how-to-invent-the-future-together/" target="_blank">Open Letter to Douglas Purdy: Eclipse, Oslo, and how to invent the future together</a></p>
<p>The PDC is over, and most contents including the <a href="http://code.msdn.microsoft.com/oslo">Oslo SDK (without Quadrant)</a> and all <a href="http://startbigthinksmall.wordpress.com/2008/10/27/microsoft-pdc-2008-sessions-on-oslo-mquadrant-netwfwcf-40-and-dublin/">PDC Session Videos</a> on channel9. Thanks! But where are we now? If you want a &#8220;brief&#8221; overview, you should at least have a look at <a href="http://channel9.msdn.com/pdc2008/TL23/">A Lap around &#8220;Oslo&#8221;</a>.</p>
<p><a href="#whatOsloIs">Jump to &#8220;What Oslo definitely is!&#8221;</a></p>
<h2>Oslo Resources</h2>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/oslo/default.aspx">Oslo Developer Center</a>
<li><a href="http://msdn.microsoft.com/en-us/library/dd129873.aspx">Microsoft &#8220;Oslo&#8221; Frequently Asked Questions</a>.
<li><a href="http://msdn.microsoft.com/en-us/library/dd129514.aspx">The &#8220;Oslo&#8221; Modeling Platform</a>
<li><a href="http://martinfowler.com/bliki/Oslo.html">Martin Fowler Bliki: Oslo</a> </li>
</ul>
<h2>What Oslo is not!</h2>
<p>I&#8217;ll start with correcting some of my former assumptions in <a href="http://startbigthinksmall.wordpress.com/2008/09/19/dsl-tools-software-factories-and-oslo-model-driven-the-microsoftnet-way/">DSL Tools, T4, the Software Factories</a> and <a href="http://startbigthinksmall.wordpress.com/2008/10/27/microsoft-buzzword-bingo-with-oslo-m-quadrant-dublin-and-some-facts-about-net-framework-40-and-visual-studio-2010-october-2008-pre-pdc/">&#8220;Facts&#8221; Rumors about Oslo</a>.</p>
<p><strong>Built upon DSL Tools?</strong></p>
<p>No, Oslo (M and Quadrant) is not built upon DSL Tools, T4 and the UML Tooling in Visual Studio 2010. It&#8217;s totally apart. The DSL Tools are the here and now, while Oslo still is &#8220;Pre-Pre-Pre-Alpha&#8221; (Douglas Purdy).</p>
<p>Douglas promised that his team is working tight with the VSTX team in order to bring this together. He mentioned the possibility of using M as the backing metamodel format for the DSL Toolkit. Graphically edited DSLs could then be converted, described in MSchema and stored into the Oslo Repository or MGraph files. <strong>Update (12.Nov):</strong> Later in his talk &#8220;a lap around Oslo&#8221; Doug also said his the team is discussing to schematize the DSL Toolkit, and let the graphical DSLs live within Oslo.</p>
<ul>
<li>Oslo Forum Discussion: <a href="http://social.msdn.microsoft.com/Forums/en-US/oslo/thread/3dc54671-89b8-4cc3-a42c-8ecf7e078dff/">Oslo and the DSL Toolkit</a>
<li><a href="http://blogs.msdn.com/stuart_kent/archive/2008/11/05/dsl-tools-in-visual-studio-2010.aspx">stuart kent&#8217;s blog : DSL Tools in Visual Studio 2010</a>
<li><a href="http://blogs.msdn.com/keith_short/archive/2008/11/06/oslo-and-the-dsl-toolkit.aspx">Keith Short&#8217;s Blog : Oslo and the DSL Toolkit</a> </li>
</ul>
<p><strong>A move towards UML/OMG?</strong></p>
<p>No. I don&#8217;t think so. Microsoft joined the OMG and they support some UML Diagrams in Visual Studio 2010. But so far this has not to do much with Oslo.</p>
<p><strong>Update (12.Nov): </strong>Someone asked about how Oslo relates to XMI and UML. Doug&#8217; promised that they will model the UML-Domain and let the UML Designers in Visual Studio live within Oslo.</p>
<p>Talking of Model-driven Architecture (MDA) it seems that Microsoft avoids this abbreviation. They rather talk about Model-driven Development and Model-driven Applications &#8211; I&#8217;ll write more on this in a separate post.</p>
<p><strong>A Application/Process Server?</strong></p>
<p><a href="http://www.microsoft.com/net/dublin.aspx">Dublin</a> is announced to be Model-driven, but it is not a part of &#8220;Oslo&#8221;, but rather related to <a href="http://www.microsoft.com/azure/">Windows Azure</a> and <a href="http://www.microsoft.com/Windowsserver2008/en/us/iis.aspx">IIS</a>. The plan is to host cloud-enabled services both locally on Dublin and in the cloud on Windows Azure with maximal control and minimal effort for deployment and configuration.</p>
<p>Read <a href="http://msdn.microsoft.com/en-us/library/dd200919.aspx">Workflows, Services, and Models</a> by David Chappell to see how Dublin relates to Oslo.</p>
<p><strong>A new Version of WF and WCF?</strong></p>
<p>WCF and WF were model-driven right from the beginning, but in the next versions the source for the models that drive Workflows and Services might come from Oslo.</p>
<p>MService is a textual DSL that combines service configuration, implementation and workflow definition into one resource.</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/dd200919.aspx">Workflows, Services, and Models</a> </li>
</ul>
<h2><a name="whatOsloIs">What Oslo definitely is</a></h2>
<p><strong>A new Modeling Language <span style="text-decoration:underline;">Family</span></strong></p>
<p>Yes, it&#8217;s definitely about a new modeling language family &#8220;M&#8221;, consisting of three core languages. These languages do all have similar Syntax and a shared type system.</p>
<ul>
<li><strong>MSchema</strong><br />Defines schemas for data instances. Quite comparable to XSD and DTD.
<li><strong>MGraph</strong><br />JSON-like format for capturing concrete data instances.
<li><strong>MGrammar</strong><br />Defines grammars for textual DSLs. Could also be looked at as a Unicode-to-MGraph-tranformation language. </li>
</ul>
<p>There are other languages planned for some horizontal domains as Database, Services and Web. But here you can even put some more &#8220;Pre&#8221;s before the &#8220;Alpha&#8221;.</p>
<p><strong>A Language Workbench for textual DSLs!</strong></p>
<p>Well, I&#8217;ll just copy Martin on that.</p>
<blockquote><p>At some point I really need to rethink what I consider the defining elements of a Language Workbench to be. For the moment let&#8217;s just say that <a href="http://wiki.eclipse.org/Xtext">Xtext</a> and Oslo feel like Language Workbenches and until I revisit the definition I&#8217;ll treat them as such.</p>
<p><a href="http://martinfowler.com/bliki/Oslo.html">Martin Fowler Bliki: Oslo</a></p>
</blockquote>
<p><strong>A new Storage Repository!?</strong></p>
<p><a href="http://msdn.microsoft.com/en-us/library/dd129551(VS.85).aspx">Oslo Repository</a> is a tool and a framework that allows storing models into SQL Server.&nbsp; I&#8217;m still quite torn on this idea.</p>
<ul>
<li><span style="text-decoration:underline;">Design-time story:</span> Many tool vendors tried backing repositories supporting simultaneous changes. But sharing them in files is just easier. If it was on the web &#8211; ok, then we had to talk about security and stuff &#8211; But as it is tied to SQL Server 2008, it looses a lot of my attention.
<li><span style="text-decoration:underline;">Runtime story:</span> Having models in a database at runtime at least seams more natural in my opinion. What then to store there is another thing to figure out. Is it meant to store operational data or configurations and application definitions? That&#8217;s what is left to the customer to decide. </li>
</ul>
<p>The repository compiler (mx.exe) generates T-SQL code out of your models, while it supports two modes:</p>
<ul>
<li><span style="text-decoration:underline;">Plain T-SQL:</span> Mapps your explicit MSchema definitions or implicitely &#8220;guessed&#8221; schemas from MGraph data to data tables.
<li><span style="text-decoration:underline;">Repository SQL:</span> A Repository is a database pre-populated with tons of schemas describing the &#8220;Microsoft IT world&#8221;. It also supports some core services, as are:
<ul>
<li><span style="text-decoration:underline;">Deployment:</span> Import and Export from and to M + Webservice Deployment to Dublin
<li><span style="text-decoration:underline;">Security:</span> Tables hidden behind views, claims-based security
<li><span style="text-decoration:underline;">Catalog:</span> Keeps the semantics you have in your MSchema as not everything maps directly to T-SQL.
<li><span style="text-decoration:underline;">Versioning:</span> Sadly not instance data versioning. But you got full SQL Server 2008 capabilities including SSIS, Change Tracking, Replication, &#8230; + Due to the separation of views and tables you can support backward-compatible schema evolution.</li>
</ul>
</li>
</ul>
<p>Oslo does not come with a own data-access technology stack. It rather gives you a generator for EF-Models.</p>
<p><strong>A Graphical Modeling Toolkit!</strong></p>
<p>Yes. Quadrant lets you interact with models graphically. <span style="text-decoration:underline;">It&#8217;s highly generic, customizable and it looks great.</span></p>
<p>But as I&#8217;ve understand, Quadrant only works on models stored in the Repository, hence SQL Server. Really interested to see how this works together with your textual definitions you might rather store in Version Control.</p>
<h2>Release Dates, Packaging and Pricing</h2>
<blockquote><p><strong>From <a href="http://msdn.microsoft.com/en-us/library/dd129873.aspx">Microsoft &#8220;Oslo&#8221; Frequently Asked Questions</a></strong></p>
<p><strong>Q: What is the timeline for shipping &#8220;Oslo&#8221;?</strong></p>
<p>A:&nbsp; We are not disclosing the release schedule at this time. We are committed to releasing regular Community Technology Previews (CTPs) after PDC and will engage with the developer community on an on-going basis. The Oslo Development Center (<a href="http://msdn.microsoft.com/oslo)">http://msdn.microsoft.com/oslo)</a> will also be the place to learn about the latest Oslo-related downloads.</p>
<p><strong>Q: Is &#8220;Oslo&#8221; shipping with the rest of the Visual Studio 2010 product line?</strong></p>
<p>A: We are not currently disclosing schedules or packaging.</p>
</blockquote>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/startbigthinksmall.wordpress.com/180/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/startbigthinksmall.wordpress.com/180/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/startbigthinksmall.wordpress.com/180/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/startbigthinksmall.wordpress.com/180/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/startbigthinksmall.wordpress.com/180/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/startbigthinksmall.wordpress.com/180/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/startbigthinksmall.wordpress.com/180/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/startbigthinksmall.wordpress.com/180/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/startbigthinksmall.wordpress.com/180/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/startbigthinksmall.wordpress.com/180/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=startbigthinksmall.wordpress.com&blog=3405597&post=180&subd=startbigthinksmall&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://startbigthinksmall.wordpress.com/2008/11/07/post-pdc-again-what-is-oslo-m-mgrammar-quadrant-repository-textual-dsls-dsl-tools-uml-modeling-november-2008/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d4c4e1781dd63e3b41bd5309878d7d06?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">larscorneliussen</media:title>
		</media:content>
	</item>
		<item>
		<title>Oslo CTP available!</title>
		<link>http://startbigthinksmall.wordpress.com/2008/10/28/oslo-ctp-available/</link>
		<comments>http://startbigthinksmall.wordpress.com/2008/10/28/oslo-ctp-available/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 00:04:48 +0000</pubDate>
		<dc:creator>Lars Corneliussen</dc:creator>
				<category><![CDATA[mdsd]]></category>
		<category><![CDATA[oslo]]></category>
		<category><![CDATA[M]]></category>
		<category><![CDATA[MGrammar]]></category>
		<category><![CDATA[Oslo Repository]]></category>
		<category><![CDATA[Quadrant]]></category>

		<guid isPermaLink="false">http://startbigthinksmall.wordpress.com/2008/10/28/oslo-ctp-available/</guid>
		<description><![CDATA[The Oslo SDK is available for download: Oslo Developer Center
Microsoft also did a good job writing a lot of examples, documentation and tutorials about Oslo, M and MGrammar and the Oslo Repository.

Microsoft Modeling Platform (code named &#8220;Oslo&#8221;)
Model-Driven Development in &#8220;Oslo&#8221;

M vs. MGrammar
MGrammar looks quite interesting. As I can see, M is defined using MGrammar while [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=startbigthinksmall.wordpress.com&blog=3405597&post=139&subd=startbigthinksmall&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The Oslo SDK is available for download: <a href="http://msdn.microsoft.com/en-us/oslo/default.aspx#">Oslo Developer Center</a></p>
<p>Microsoft also did a good job writing a lot of examples, documentation and tutorials about <a href="http://msdn.microsoft.com/en-us/library/cc709420.aspx">Oslo</a>, <a href="http://msdn.microsoft.com/en-us/library/dd129519(VS.85).aspx">M</a> and <a href="http://msdn.microsoft.com/en-us/library/dd129869.aspx">MGrammar</a> and the <a href="http://msdn.microsoft.com/en-us/library/dd129586(VS.85).aspx">Oslo Repository</a>.</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/cc709420.aspx">Microsoft Modeling Platform (code named &#8220;Oslo&#8221;)</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/dd129513(VS.85).aspx">Model-Driven Development in &#8220;Oslo&#8221;</a></li>
</ul>
<h2>M vs. MGrammar</h2>
<p>MGrammar looks quite interesting. As I can see, M is defined using MGrammar while MGrammar itself is self-describing.</p>
<p>M just seems to be a general-purpose modeling DSL. This is where &#8220;building textual DSLs&#8221; comes in. When you want to define a model you can either define it with M, or create an own more specific DSL using MGrammar. MGrammar will then generate a parser and hopefully a good intellisense-enabled editor.</p>
<h2>Screenshots</h2>
<p>I&#8217;m really to tired to run all of the samples and tutorials and come up with good conclusions. But I got some screenshots <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>That&#8217;s what &#8220;M&#8221; looks like. Unfortunately I could not find any examples or screenshots about Quadrant, which should show the same data just graphically.</p>
<p><a href="http://startbigthinksmall.files.wordpress.com/2008/10/tmp201.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="435" alt="tmp201" src="http://startbigthinksmall.files.wordpress.com/2008/10/tmp201-thumb.png?w=644&#038;h=435" width="644" border="0"></a></p>
<p>&nbsp;</p>
<p>More than 300 built-in models.</p>
<p><a href="http://startbigthinksmall.files.wordpress.com/2008/10/tmp1ff.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="416" alt="tmp1FF" src="http://startbigthinksmall.files.wordpress.com/2008/10/tmp1ff-thumb.png?w=644&#038;h=416" width="644" border="0"></a></p>
<p>&nbsp;</p>
<p>The Intellipad helps writing Models with M or defining textual DSLs with MGrammar.</p>
<p><a href="http://startbigthinksmall.files.wordpress.com/2008/10/tmp20d.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="484" alt="tmp20D" src="http://startbigthinksmall.files.wordpress.com/2008/10/tmp20d-thumb.png?w=496&#038;h=484" width="496" border="0"></a></p>
<p>&nbsp;</p>
<p>A part of MGrammar defined in MGrammar</p>
<p><a href="http://startbigthinksmall.files.wordpress.com/2008/10/tmp213.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="484" alt="tmp213" src="http://startbigthinksmall.files.wordpress.com/2008/10/tmp213-thumb.png?w=593&#038;h=484" width="593" border="0"></a></p>
<p>&nbsp;</p>
<p>A part of M defined in MGrammar</p>
<p><a href="http://startbigthinksmall.files.wordpress.com/2008/10/tmp215.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="484" alt="tmp215" src="http://startbigthinksmall.files.wordpress.com/2008/10/tmp215-thumb.png?w=593&#038;h=484" width="593" border="0"></a></p>
<p>&nbsp;</p>
<p>A textual DSL built with MGrammar</p>
<p><a href="http://startbigthinksmall.files.wordpress.com/2008/10/tmp217.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="772" alt="tmp217" src="http://startbigthinksmall.files.wordpress.com/2008/10/tmp217-thumb.png?w=612&#038;h=772" width="612" border="0"></a></p>
<p>&nbsp;</p>
<p>An instance of this DSL</p>
<p><a href="http://startbigthinksmall.files.wordpress.com/2008/10/tmp219.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="484" alt="tmp219" src="http://startbigthinksmall.files.wordpress.com/2008/10/tmp219-thumb.png?w=440&#038;h=484" width="440" border="0"></a></p>
<p>&nbsp;</p>
<h2>More tomorrow!</h2>
<p>It&#8217;s 01:42 am here in Germany, and I just want to sleep now <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/startbigthinksmall.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/startbigthinksmall.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/startbigthinksmall.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/startbigthinksmall.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/startbigthinksmall.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/startbigthinksmall.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/startbigthinksmall.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/startbigthinksmall.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/startbigthinksmall.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/startbigthinksmall.wordpress.com/139/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=startbigthinksmall.wordpress.com&blog=3405597&post=139&subd=startbigthinksmall&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://startbigthinksmall.wordpress.com/2008/10/28/oslo-ctp-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d4c4e1781dd63e3b41bd5309878d7d06?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">larscorneliussen</media:title>
		</media:content>

		<media:content url="http://startbigthinksmall.files.wordpress.com/2008/10/tmp201-thumb.png" medium="image">
			<media:title type="html">tmp201</media:title>
		</media:content>

		<media:content url="http://startbigthinksmall.files.wordpress.com/2008/10/tmp1ff-thumb.png" medium="image">
			<media:title type="html">tmp1FF</media:title>
		</media:content>

		<media:content url="http://startbigthinksmall.files.wordpress.com/2008/10/tmp20d-thumb.png" medium="image">
			<media:title type="html">tmp20D</media:title>
		</media:content>

		<media:content url="http://startbigthinksmall.files.wordpress.com/2008/10/tmp213-thumb.png" medium="image">
			<media:title type="html">tmp213</media:title>
		</media:content>

		<media:content url="http://startbigthinksmall.files.wordpress.com/2008/10/tmp215-thumb.png" medium="image">
			<media:title type="html">tmp215</media:title>
		</media:content>

		<media:content url="http://startbigthinksmall.files.wordpress.com/2008/10/tmp217-thumb.png" medium="image">
			<media:title type="html">tmp217</media:title>
		</media:content>

		<media:content url="http://startbigthinksmall.files.wordpress.com/2008/10/tmp219-thumb.png" medium="image">
			<media:title type="html">tmp219</media:title>
		</media:content>
	</item>
		<item>
		<title>Microsoft PDC 2008 &#8211; Sessions on Oslo (M+Quadrant), .NET/WF/WCF 4.0 and Dublin</title>
		<link>http://startbigthinksmall.wordpress.com/2008/10/27/microsoft-pdc-2008-sessions-on-oslo-mquadrant-netwfwcf-40-and-dublin/</link>
		<comments>http://startbigthinksmall.wordpress.com/2008/10/27/microsoft-pdc-2008-sessions-on-oslo-mquadrant-netwfwcf-40-and-dublin/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 13:30:01 +0000</pubDate>
		<dc:creator>Lars Corneliussen</dc:creator>
				<category><![CDATA[mdsd]]></category>
		<category><![CDATA[oslo]]></category>
		<category><![CDATA[Dublin]]></category>
		<category><![CDATA[M]]></category>
		<category><![CDATA[MGrammar]]></category>
		<category><![CDATA[MGraph]]></category>
		<category><![CDATA[MSchema]]></category>
		<category><![CDATA[Oslo Repository]]></category>
		<category><![CDATA[PDC08]]></category>
		<category><![CDATA[Quadrant]]></category>

		<guid isPermaLink="false">http://startbigthinksmall.wordpress.com/2008/10/27/microsoft-pdc-2008-sessions-on-oslo-mquadrant-netwfwcf-40-and-dublin/</guid>
		<description><![CDATA[Update: Post-PDC: Again, what is &#8220;Oslo&#8221;? M, MGrammar, Quadrant, Repository, textual DSLs, DSL Tools, UML-Modeling (November 2008)
I just &#8220;scanned&#8221; the PDC Session Timeline and the Sessions I would have liked to attend if I were in LA. 
As soon as I find resources like videos or blog entries regarding these sessions, I&#8217;ll add the links [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=startbigthinksmall.wordpress.com&blog=3405597&post=134&subd=startbigthinksmall&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong><u>Update:</u></strong> <a href="http://startbigthinksmall.wordpress.com/2008/11/07/post-pdc-again-what-is-oslo-m-mgrammar-quadrant-repository-textual-dsls-dsl-tools-uml-modeling-november-2008/">Post-PDC: Again, what is &#8220;Oslo&#8221;? M, MGrammar, Quadrant, Repository, textual DSLs, DSL Tools, UML-Modeling (November 2008)</a></p>
<p>I just &#8220;scanned&#8221; the <a href="https://sessions.microsoftpdc.com/public/timeline.aspx">PDC Session Timeline</a> and the Sessions I would have liked to attend if I were in LA. </p>
<p>As soon as I find resources like videos or blog entries regarding these sessions, I&#8217;ll add the links below each session.</p>
<h2>Monday, October 27, 2008 <strong><font color="#ff0000">(updated video links)</font></strong></h2>
<p><strong><a href="http://channel9.msdn.com/pdc2008/KYN01/">Keynote &#8211; Cloud Computing Takes Center Stage</a><br /></strong>08:30 AM PST (LA) / 16:30 CET (Berlin) &#8211; <a href="http://channel9.msdn.com/pdc2008/KYN01/">Video</a></p>
<p><strong><a href="http://channel9.msdn.com/pdc2008/TL02/">TL02 Under the Hood: Advances in the .NET Type System</a></strong><br />Misha Shneerson, Andrew Whitechapel<br />11:00 AM PST / 19:00 CET
<p>Enhancements to the type system in the next version of .NET Framework allow for loose type-coupling of components comprising your application. This talk is an in-depth examination of the changes in the Common Language Runtime and managed languages. See how these changes help to simplify versioning and deployment of components targeting either COM based and/or fully managed applications. For Office developers, learn how to eliminate the need to redistribute primary interop assemblies.
<p><strong><a href="http://channel9.msdn.com/pdc2008/TL40/">TL40 &#8220;Dublin&#8221; and .NET Services: Extending On-Premises Applications to the Cloud</a><br /></strong>Jacob Avital, 12:45 PM / 20:45 CET
<p>Would you like to extend your existing SharePoint and .NET applications both on-premises and to the cloud in a non-intrusive way? This session will show you real-world examples of how to harness .NET Services workflow, access control and service bus to enhance business processes and add new capabilities to your application. We will demonstrate the use of &#8220;Dublin&#8221; Windows Application Server technologies to build extended application functionality. Lastly, you will see how workflow can be used to integrate across multiple organizations and the cloud. For ISVs, this session will provide a blueprint for how to sell more products to your installed base without requiring them to upgrade.
<p><strong><a href="http://channel9.msdn.com/pdc2008/PC20/">PC20 ASP.NET 4.0 Roadmap</a></strong><br />Scott Hunter, 1:45 PM / 21:45 CET
<p>Take a walk through the 4.0 landscape from ASP.NET and learn how you can get involved in shaping ASP.NET future. This talk focuses on the next release of ASP.NET including web forms and MVC. Do you love web forms? See how you can taking control of your control IDs, display images using the new DynamicImage control, learn about better ViewState managment in GridView and ListView, and get more control over the CSS markup of ASP.NET server controls. See how Dynamic Data makes building you data-driven apps easy. If you&#8217;re interested in AJAX, we show you further advancements in client rendering and binding. If you&#8217;re considering MVC, we look at the feature set and understand how to create applications with this technology.
<p><strong><a href="http://channel9.msdn.com/pdc2008/PC21/">PC21 ASP.NET MVC: A New Framework for Building Web Applications</a></strong><br />Phil Haack, 3:30 PM / 23:30 CET
<p>Learn how the new ASP.NET MVC framework differs from the current ASP.NET Web Forms framework. Learn to take advantage of ASP.NET MVC to build loosely coupled, highly testable, agile applications. See how ASP.NET MVC provides you with fine-grained control over HTML and JavaScript.
<p><u><strong><a href="http://channel9.msdn.com/pdc2008/TL17/">TL17 WF 4.0: A First Look</a></strong><br /></u>Kenny Wolf, 5:15 PM / Oct 28th, 1:15 CET
<p>Programs coordinate work. The code for coordination and state management often obscures a program&#8217;s purpose. Learn how programming with Windows Workflow Foundation (WF) 4.0 provides clarity of intent while preserving the functional richness of the .NET framework. See how easy it is to build workflows with the new Visual Studio workflow designer. Learn about text-based authoring options for WF. Hear how WF integrates well with other Microsoft technologies (WCF, WPF, ASP.NET). If you&#8217;ve looked at WF before, come and see the changes to data flow, composition, and new control flow styles. Significant improvements to usability, composability, and performance make Workflow a great fit for a broad range of solutions on both the client and the server.<br />
<h2>Tuesday, October 28, 2008 <strong><font color="#ff0000">(updated video links)</font></strong></h2>
<p><strong>Keynote &#8211; Building the Next Generation of User Experiences</strong><br />08:30 AM / 16:30 MET &#8211; <a href="http://channel9.msdn.com/pdc2008/KYN02/">Video</a></p>
<p><u><strong><a href="http://channel9.msdn.com/pdc2008/TL38/">TL38 WCF: Zen of Performance and Scale</a></strong><br /></u>Nicholas Allen, 12:45 PM / 20:45 CET
<p>Join us for an interactive lunch discussion about different kinds of performance and scale requirements that are a crucial part of any distributed systems development life cycle. Learn the principles of Windows Communication Foundation (WCF) throughput and responsiveness optimization. Hear about WCF scalability improvements in the next version of the Microsoft .NET Framework.
<p><u><strong><a href="http://channel9.msdn.com/pdc2008/TL23/">TL23 A Lap around &#8220;Oslo&#8221;</a></strong><br /></u>Douglas Purdy, Vijaye Raji, 1:45 PM / 21:45 CET
<p>&#8220;Oslo&#8221; is the family of new technologies that enable data-driven development and execution of services and applications. Come and learn how to capture all aspects of an application schematized in the &#8220;Oslo&#8221; repository and use &#8220;Oslo&#8221; directly to drive the execution of deployed applications.
<p><u><strong><a href="http://channel9.msdn.com/pdc2008/TL27/">TL27 &#8220;Oslo&#8221;: The Language</a></strong><br /></u>Don Box, David Langworthy, 3:30 PM / 23:30 CET&nbsp;
<p>The &#8220;Oslo&#8221; language, at the heart of the Oslo modeling platform, allows developers to quickly and efficiently express domain models that power declarative systems, such as Windows Workflow Foundation and &#8220;Dublin.&#8221; In this session, we&#8217;ll get you started writing models for your own domains by introducing you to key features of the language, including its type system, instance construction, and query. You&#8217;ll learn to author content for the Oslo repository and understand how to programmatically construct and process the content to target your own specific runtime environment.
<p><strong><a href="http://channel9.msdn.com/pdc2008/TL20/">TL20 Entity Framework Futures</a></strong><br />Tim Mallalieu , 5:15 PM / Oct 29th, 1:15 CET
<p>The next version of the Entity Framework adds scenarios in the areas of model driven development, domain driven development, simplicity, and integration. See a preview of production and prototype code for the next version of the Entity Framework as well as a candid discussion with members of the development team.<br />
<h2>Wednesday, October 29, 2008 <strong><font color="#ff0000">(updated video links)</font></strong></h2>
<p><strong>Keynote &#8211; From the Lab<br /></strong>08:30 AM / 16:30 CET &#8211; <a href="http://channel9.msdn.com/pdc2008/KYN03/">Video</a>
<p><u><strong><a href="http://channel9.msdn.com/pdc2008/TL06/">TL06 WCF 4.0: Building WCF Services with WF in Microsoft .NET 4.0</a></strong><br /></u>Ed Pinto, 10:30 AM / 18:30 CET
<p>Eliminate the tradeoff between ease of service authoring and performant, scalable services. Hear about significant enhancements in Windows Communication Foundation (WCF) 4.0 and Windows Workflow Foundation (WF) 4.0 to deal with the ever increasing complexity of communication. Learn how to use WCF to correlate messages to service instances using transport, context, and application payloads. See how the new WF messaging activities enable the modeling of rich protocols. Learn how WCF provides a default host for workflows exposing features such as distributed compensation and discovery. See how service definition in XAML completes the union of WF and WCF with a unified authoring experience that simplifies configuration and is fully integrated with IIS activation and deployment.
<p><strong><a href="http://channel9.msdn.com/pdc2008/TL61/">TL61 Panel: The Future of Unit Testing</a></strong><br />Euan Garden, Jim Newkirk, Peter Provost, Nikolai Tillmann <br />12:00 PM / 20:00 CET
<p>Unit testing means different things to different people. To Agile developers, it enables Test Driven Development. To researchers, it enables test generation from static and dynamic analysis. To others, it&#8217;s a means to test protocols, APIs, and other functionality below the presentation layer. Others still see it as a means to do conformance testing. Hear four experts debate the perspectives on the advances of the last decade and the trends of the next. Audience participation is encouraged.
<p><strong><u><a href="http://channel9.msdn.com/pdc2008/TL18/">TL18 &#8220;Oslo&#8221;: Customizing and Extending the Visual Design Experience</a></u></strong><br />Don Box, Florian Voss, 1:15 PM / 21:15 CET
<p>&#8220;Oslo&#8221; provides visual tools for writing data-driven applications and services. Learn how to provide a great experience over domain-specific schemas, and explore the basic user model, data-driven viewer construction, user-defined queries, and custom commands. See how the design experience itself is an &#8220;Oslo&#8221; application and is driven by content stored in the &#8220;Oslo&#8221; repository.
<p><strong><u><a href="http://channel9.msdn.com/pdc2008/BB18/">BB18 &#8220;Dublin&#8221;: Hosting and Managing Workflows and Services in Windows Application Server</a><br /></u></strong>Dan Eshner, 3:00 PM / 23:00 CET
<p>Hear about extensions being made to Windows Server to provide a feature-rich middle-tier execution and deployment environment for Windows Workflow Foundation (WF) and Windows Communication Foundation (WCF) applications. Learn about the architecture of this new extension, how it works, how to take advantage of it, and the features it provides that simplify deployment, management, and troubleshooting of workflows and services.
<p><u><strong><a href="http://channel9.msdn.com/pdc2008/TL28/">TL28 &#8220;Oslo&#8221;: Repository and Models</a></strong><br /></u>Chris Sells, 3:00PM / 23:00 CET <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />
<p>&#8220;Oslo&#8221; is making news. We&#8217;re taking silos of proprietary, platform, and application data and opening it up for sharing. What gets shared? Deployment configuration, web services definitions, workflow definitions, and that&#8217;s just a start. Learn how to utilize platform models, how to extend models, and how to add your own models to the repository using the &#8220;Oslo&#8221; modeling language. Also learn how to version, secure, and deploy models.
<p><strong><a href="http://channel9.msdn.com/pdc2008/ES15/">ES15 Web Application Packaging and Deployment</a></strong><br />Saad Ladki, 4:45 PM / Oct 30th, 0:45 CET
<p>In this session, you will learn how to use powerful new UI and command line tools for Web application packaging and deployment, and you&#8217;ll dive under the hood of Visual Studio 10 to see how it will support one-click deployment to IIS. You&#8217;ll learn how to transform your development settings to make them production ready and how a real world shared hosting environment may be securely connected to a developer web application in VS10. You will also hear best practices for setting up your server and development environment to get huge productivity gains.<br />
<h2>Thursday, October 30, 2008 <strong><font color="#ff0000">(updated video links)</font></strong></h2>
<p><strong><u><a href="http://channel9.msdn.com/pdc2008/TL35/">TL35 WCF: Developing RESTful Services</a></u></strong><br />Steve Maine, 8:30 AM / 16:30 CET
<p>Learn the latest features in Windows Communication Foundation (WCF)for building Web 2.0-style services that use URIs, HTTP GET, and other data formats beyond XML. See how these features can be applied to AJAX web sites, &#8220;REST&#8221; applications, and data feeds.
<p><strong><u><a href="http://channel9.msdn.com/pdc2008/BB12/">BB12 .NET Services: Messaging Services &#8211; Protocols, Protection, and How We Scale</a></u><br /></strong>Clemens Vasters, 10:15 AM / 18:15 CET
<p>Look under the hood of the Microsoft .NET Services service bus, the protocols we use, and how to use the services from non-Microsoft platforms and languages. Learn which part of the messages and requests the Building Block service inspects, which parts are not inspected, and how you can verify this. Also, learn how to work through NAT and Firewall limitations Last, hear about the architecture on the Data Center side that enables &#8220;Internet scale.&#8221;
<p><u><strong><a href="http://channel9.msdn.com/pdc2008/TL31/">TL31 &#8220;Oslo&#8221;: Building Textual DSLs</a></strong><br /></u>Chris Anderson, Giovanni Della-Libera,&nbsp; 12:00 PM / 20:00 CET
<p>The &#8220;Oslo&#8221; modeling language can define schemas and transformations over arbitrary text formats. This session shows you how to build your own Domain Specific Language using the &#8220;Oslo&#8221; SDK and how to apply your DSL to create an interactive text editing experience.</p>
<p><strong><a href="http://channel9.msdn.com/pdc2008/TL11/">TL11 An Introduction to Microsoft F#</a></strong><br />Presenter: Luca Bolognese, 1:45 PM / 21:45 CET
<p>Learn about Microsoft&#8217;s new language, F#, a typed functional programming language for the Microsoft .NET Framework. F# combines functional programming with the runtime support, libraries, tools, and object model of .NET. Understand how F# asynchronous workflows help tame the complexity of parallel and asynchronous I/O programming and how to use F# in conjunction with tools such as Parallel Extensions for .NET.  </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/startbigthinksmall.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/startbigthinksmall.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/startbigthinksmall.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/startbigthinksmall.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/startbigthinksmall.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/startbigthinksmall.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/startbigthinksmall.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/startbigthinksmall.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/startbigthinksmall.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/startbigthinksmall.wordpress.com/134/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=startbigthinksmall.wordpress.com&blog=3405597&post=134&subd=startbigthinksmall&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://startbigthinksmall.wordpress.com/2008/10/27/microsoft-pdc-2008-sessions-on-oslo-mquadrant-netwfwcf-40-and-dublin/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d4c4e1781dd63e3b41bd5309878d7d06?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">larscorneliussen</media:title>
		</media:content>
	</item>
	</channel>
</rss>