<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Bill Gibson's Blog : Oslo</title><link>http://blogs.msdn.com/billgibson/archive/tags/Oslo/default.aspx</link><description>Tags: Oslo</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Oslo CTP update; Data Modeling Design Patterns in M</title><link>http://blogs.msdn.com/billgibson/archive/2009/01/28/modeling-patterns.aspx</link><pubDate>Thu, 29 Jan 2009 01:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9381956</guid><dc:creator>Bill Gibson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/billgibson/comments/9381956.aspx</comments><wfw:commentRss>http://blogs.msdn.com/billgibson/commentrss.aspx?PostID=9381956</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;As modelers, one of the things we're doing all the time is&amp;nbsp;looking for patterns - trying to distinguish what in each model is truly unique to the domain from that which is more broadly applicable, and then either using&amp;nbsp;or adapting existing patterns or harvesting new patterns to put in our back pocket.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;T&lt;/SPAN&gt;he January Oslo&amp;nbsp;CTP update (&lt;EM&gt;&lt;STRONG&gt;woohoo!!&lt;/STRONG&gt;)&lt;/EM&gt;&amp;nbsp;on the &lt;A href="http://msdn.microsoft.com/en-us/oslo/default.aspx" mce_href="http://msdn.microsoft.com/en-us/oslo/default.aspx"&gt;Oslo Dev Center&lt;/A&gt; includes an initial set of &lt;A href="http://msdn.microsoft.com/en-us/library/dd326765.aspx" mce_href="http://msdn.microsoft.com/en-us/library/dd326765.aspx"&gt;data modeling design patterns&lt;/A&gt;.&amp;nbsp; These patterns, described and illustrated in M, include patterns for modeling&amp;nbsp;&lt;SPAN style="mso-spacerun: yes"&gt;enumerations and relationships, &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;including closed type-based enumerations, open extent-based enumerations, and&amp;nbsp;one-to-many, many-to-many and one-to-one relationships.&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;While this may seem like pretty basic stuff&amp;nbsp;you'll likely find some or all of it useful, particularly if you're new to M and coming at&amp;nbsp;it and repository modeling with an OO rather than relational mindset.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The patterns&amp;nbsp;all have code samples so you may find it&amp;nbsp;useful to have the patterns open&amp;nbsp;while you're coding.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;We'll add &lt;/SPAN&gt;more&amp;nbsp;patterns as&amp;nbsp;our experience grows and the language evolves and is more fully implemented.&amp;nbsp; In&amp;nbsp;the pipeline are patterns for vertical partitioning, including patterns that help when mapping a generalization hierarchy&amp;nbsp;in a conceptual model to a relational&amp;nbsp;design.&amp;nbsp;&amp;nbsp; You can see some early exploration of these kinds of patterns in the domain schemas included in the CTP.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;As always, we'd love to get your&amp;nbsp;feedback.&amp;nbsp; If you have any comments on the patterns and the usefulness of this kind of material let us know.&amp;nbsp; And if you have any broadly useful patterns&amp;nbsp;in your back pocket&amp;nbsp;that&amp;nbsp;might map nicely into M they would be great to hear about also.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9381956" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/billgibson/archive/tags/Modeling/default.aspx">Modeling</category><category domain="http://blogs.msdn.com/billgibson/archive/tags/Oslo/default.aspx">Oslo</category><category domain="http://blogs.msdn.com/billgibson/archive/tags/Patterns/default.aspx">Patterns</category></item><item><title>Domain Modeling</title><link>http://blogs.msdn.com/billgibson/archive/2009/01/27/domain-modeling.aspx</link><pubDate>Wed, 28 Jan 2009 07:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9379728</guid><dc:creator>Bill Gibson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/billgibson/comments/9379728.aspx</comments><wfw:commentRss>http://blogs.msdn.com/billgibson/commentrss.aspx?PostID=9379728</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;My focus within the Olso team&amp;nbsp;is on &lt;STRONG&gt;&lt;EM&gt;domain modeling&lt;/EM&gt;&lt;/STRONG&gt; – creating models for specific problem domains using the Oslo modeling platform’s languages and tools.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; Let me describe&amp;nbsp;why we think of this as more than just data modeling.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;At the center of an Oslo&amp;nbsp;domain &lt;EM&gt;is&lt;/EM&gt; a data model authored in M.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;The &lt;/SPAN&gt;primary purpose of this model or schema is to describe repository storage, defined in terms of &lt;EM&gt;extents.&amp;nbsp;&lt;/EM&gt;This domain schema defines data integrity constraints and may also define&amp;nbsp;reusable data definitions or &lt;EM&gt;types&lt;/EM&gt;, as well as&amp;nbsp;&lt;EM&gt;computed values&lt;/EM&gt; that describe interesting ways to retrieve and compute data from the model.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; The schema&amp;nbsp;is compiled into SQL, resulting in tables, views, constraints&amp;nbsp;and functions which are loaded into a SQL Server database primed with some simple Repository patterns.&amp;nbsp; The result is a simple and easy-to-query and otherwise normal SQL database, which can be queried using&amp;nbsp;any SQL data access API or tools.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;Surrounding this data model and considered part of the domain may be any number of domain specific languages, which if developed using Oslo may be textual, authored in MGrammar, or visual, authored with Quadrant.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;These DSLs define ways in which domain information (instance data) can be created or presented.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Any number of textual&amp;nbsp;and visual languages may be defined for the same domain, each customized to provide some specific perspective.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;A domain can also reference other domains, so models and languages may also reference (and in due course, embed) other models and languages.&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;Accompanying each&amp;nbsp;DSL may be utilities that map or import/export language 'documents'&amp;nbsp;to and from repository storage.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; For textual DSLs described in MGrammar s&lt;/SPAN&gt;imple transformations can be expressed in the grammar itself - more complex transformations need to be&amp;nbsp;described separately.&amp;nbsp;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;A key Oslo scenario will involve cataloging and potentially creating/editing pre-defined artifacts that might otherwise be created and/or consumed externally by other tools.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;Collectively, the domain schema, textual and visual&amp;nbsp;DSLs, and their accompanying&amp;nbsp;import/export tools&amp;nbsp;define what we think of as a domain from an Oslo standpoint and will typically be&amp;nbsp;evolved as a unit.&amp;nbsp; This&amp;nbsp;whole-domain perspective is an important part of the way we think about modeling with Oslo and&amp;nbsp;strongly influences how you can expect the Oslo&amp;nbsp;platform to be developed.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;You can see some early examples of domain schemas included with the CTP on the &lt;A href="http://msdn.microsoft.com/en-us/oslo/default.aspx" mce_href="http://msdn.microsoft.com/en-us/oslo/default.aspx"&gt;Oslo Dev Center&lt;/A&gt;.&amp;nbsp; Take a look if you can.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;Next up, data modeling design patterns in M...&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9379728" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/billgibson/archive/tags/Modeling/default.aspx">Modeling</category><category domain="http://blogs.msdn.com/billgibson/archive/tags/Oslo/default.aspx">Oslo</category></item><item><title>Getting Back in the Saddle (although no longer on a Whitehorse)</title><link>http://blogs.msdn.com/billgibson/archive/2009/01/27/getting-back-in-the-saddle-although-no-longer-on-a-whitehorse.aspx</link><pubDate>Wed, 28 Jan 2009 05:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9379573</guid><dc:creator>Bill Gibson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/billgibson/comments/9379573.aspx</comments><wfw:commentRss>http://blogs.msdn.com/billgibson/commentrss.aspx?PostID=9379573</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;Long time no blog!&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In the meantime I've changed jobs within Microsoft;&amp;nbsp;I've been&amp;nbsp;working for the last several years on the modeling platform known as “Oslo” which&amp;nbsp;'came out' at PDC in&amp;nbsp;October.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;You can f&lt;/SPAN&gt;ind out more about Oslo at the &lt;A href="http://msdn.microsoft.com/en-us/oslo/default.aspx" mce_href="http://msdn.microsoft.com/en-us/oslo/default.aspx"&gt;Oslo Dev Center&lt;/A&gt;.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;I was amazed to find my blog still accessible after being dormant for so long.&amp;nbsp; While it was with some nostalgia that I freshened up the links to the Whitehorse tech notes below, you should follow this&amp;nbsp;link to get the latest on &lt;A href="http://msdn.microsoft.com/en-gb/vsts2008/arch/default.aspx" mce_href="http://msdn.microsoft.com/en-gb/vsts2008/arch/default.aspx"&gt;Visual Studio Team System Architect Edition&lt;/A&gt;.&amp;nbsp; &lt;/P&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9379573" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/billgibson/archive/tags/Oslo/default.aspx">Oslo</category></item></channel></rss>